alexkueck commited on
Commit
6947b76
·
1 Parent(s): a2e2b64

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -4
app.py CHANGED
@@ -83,12 +83,15 @@ def generate_response(prompt, model, tokenizer):
83
 
84
  #Funktion, die der trainer braucht, um das Training zu evaluieren - mit einer Metrik
85
  def compute_metrics(eval_pred):
 
86
  logits, labels = eval_pred
87
  predictions = np.argmax(logits, axis=-1)
88
  #Call compute on metric to calculate the accuracy of your predictions.
89
  #Before passing your predictions to compute, you need to convert the predictions to logits (remember all Transformers models return logits):
90
  return metric.compute(predictions=predictions, references=labels)
91
 
 
 
92
  #oder mit allen Metriken
93
  def compute_metrics_alle(eval_pred):
94
  metrics = ["accuracy", "recall", "precision", "f1"] #List of metrics to return
@@ -184,7 +187,12 @@ lm_datasets = tokenized_datasets.map(
184
  batch_size=1000,
185
  num_proc=4,
186
  )
187
- print ("lm datasets")
 
 
 
 
 
188
  #die Daten wurden nun "gereinigt" und für das Model vorbereitet.
189
  #z.B. anschauen mit: tokenizer.decode(lm_datasets["train"][1]["input_ids"])
190
 
@@ -210,6 +218,8 @@ training_args = TrainingArguments(
210
  overwrite_output_dir = 'True',
211
  per_device_train_batch_size=batch_size, #batch_size = 2 for full training
212
  per_device_eval_batch_size=batch_size,
 
 
213
  evaluation_strategy = "epoch", #oder steps
214
  logging_strategy="epoch", #oder steps
215
  #logging_steps=10,
@@ -221,18 +231,20 @@ training_args = TrainingArguments(
221
  #logging_steps=2, # set to 1000 for full training
222
  #save_steps=16, # set to 500 for full training
223
  #eval_steps=4, # set to 8000 for full training
224
- #warmup_steps=1, # set to 2000 for full training
225
  #max_steps=16, # delete for full training
226
  # overwrite_output_dir=True,
227
  #save_total_limit=1,
228
  #fp16=True,
229
- #save_strategy = "no",
230
  optim="adamw_torch",
231
  #load_best_model_at_end=False,
232
  #load_best_model_at_end=True
233
  #push_to_hub=True,
234
  )
235
 
 
 
236
  #Trainer zusammenstellen
237
  print ("################################")
238
  print ("trainer")
@@ -242,6 +254,7 @@ trainer = Trainer(
242
  args=training_args,
243
  train_dataset=lm_datasets["train"],
244
  eval_dataset=lm_datasets["test"],
 
245
  #tokenizer=tokenizer,
246
  compute_metrics=compute_metrics,
247
  )
@@ -324,6 +337,12 @@ print("Evaluate:")
324
  trainer.evaluate(eval_dataset=lm_datasets["test"])
325
  print("Done Eval")
326
 
 
 
 
 
 
 
327
  ###################################################
328
  #Save to a place -????? Where????
329
  #print("Save to ???")
@@ -334,7 +353,7 @@ print("Done Eval")
334
  #####################################
335
  #Push to Hub
336
  print ("################################")
337
- print("push to hub")
338
  print("push to hub - Model")
339
  login(token=os.environ["HF_WRITE_TOKEN"])
340
  trainer.push_to_hub("alexkueck/li-tis-tuned-2")
 
83
 
84
  #Funktion, die der trainer braucht, um das Training zu evaluieren - mit einer Metrik
85
  def compute_metrics(eval_pred):
86
+ metric = evaluate.load("glue", "mrpc")
87
  logits, labels = eval_pred
88
  predictions = np.argmax(logits, axis=-1)
89
  #Call compute on metric to calculate the accuracy of your predictions.
90
  #Before passing your predictions to compute, you need to convert the predictions to logits (remember all Transformers models return logits):
91
  return metric.compute(predictions=predictions, references=labels)
92
 
93
+
94
+
95
  #oder mit allen Metriken
96
  def compute_metrics_alle(eval_pred):
97
  metrics = ["accuracy", "recall", "precision", "f1"] #List of metrics to return
 
187
  batch_size=1000,
188
  num_proc=4,
189
  )
190
+
191
+ data_collator = DataCollatorWithPadding(tokenizer=tokenizer)
192
+
193
+
194
+ print ("###############lm datasets####################")
195
+ print (tokenizer.decode(lm_datasets["train"][1]["input_ids"])
196
  #die Daten wurden nun "gereinigt" und für das Model vorbereitet.
197
  #z.B. anschauen mit: tokenizer.decode(lm_datasets["train"][1]["input_ids"])
198
 
 
218
  overwrite_output_dir = 'True',
219
  per_device_train_batch_size=batch_size, #batch_size = 2 for full training
220
  per_device_eval_batch_size=batch_size,
221
+ num_train_epochs=5,
222
+ logging_steps=5000,
223
  evaluation_strategy = "epoch", #oder steps
224
  logging_strategy="epoch", #oder steps
225
  #logging_steps=10,
 
231
  #logging_steps=2, # set to 1000 for full training
232
  #save_steps=16, # set to 500 for full training
233
  #eval_steps=4, # set to 8000 for full training
234
+ warmup_steps=100, # set to 2000 for full training
235
  #max_steps=16, # delete for full training
236
  # overwrite_output_dir=True,
237
  #save_total_limit=1,
238
  #fp16=True,
239
+ save_strategy = "no",
240
  optim="adamw_torch",
241
  #load_best_model_at_end=False,
242
  #load_best_model_at_end=True
243
  #push_to_hub=True,
244
  )
245
 
246
+
247
+
248
  #Trainer zusammenstellen
249
  print ("################################")
250
  print ("trainer")
 
254
  args=training_args,
255
  train_dataset=lm_datasets["train"],
256
  eval_dataset=lm_datasets["test"],
257
+ data_collator=data_collator,
258
  #tokenizer=tokenizer,
259
  compute_metrics=compute_metrics,
260
  )
 
337
  trainer.evaluate(eval_dataset=lm_datasets["test"])
338
  print("Done Eval")
339
 
340
+ print('################ Test Trained Model ###################')
341
+ #predictions = trainer.predict(lm_datasets["test"])
342
+ #preds = np.argmax(predictions.predictions, axis=-1)
343
+
344
+
345
+
346
  ###################################################
347
  #Save to a place -????? Where????
348
  #print("Save to ???")
 
353
  #####################################
354
  #Push to Hub
355
  print ("################################")
356
+ print("###################push to hub###################")
357
  print("push to hub - Model")
358
  login(token=os.environ["HF_WRITE_TOKEN"])
359
  trainer.push_to_hub("alexkueck/li-tis-tuned-2")