Update app.py
Browse files
app.py
CHANGED
|
@@ -23,6 +23,7 @@ DATASET_SPLITS = {
|
|
| 23 |
DATASET_URL = "hf://datasets/somosnlp/NoticIA-it/"
|
| 24 |
BASE_MODEL_NAME = "josmunpen/mt5-small-spanish-summarization"
|
| 25 |
DEFAULT_OUTPUT_DIR = "mt5-resumenes-es-final"
|
|
|
|
| 26 |
SAMPLE_SIZE = 256
|
| 27 |
MAX_INPUT_LENGTH = 256
|
| 28 |
MAX_TARGET_LENGTH = 64
|
|
@@ -220,22 +221,27 @@ def main():
|
|
| 220 |
df = load_dataframe()
|
| 221 |
train_df, val_df, test_df = prepare_splits(df)
|
| 222 |
|
| 223 |
-
if output_dir.exists() and not args.retrain:
|
| 224 |
-
|
| 225 |
-
|
| 226 |
-
|
| 227 |
-
|
| 228 |
-
|
| 229 |
-
|
| 230 |
-
|
| 231 |
-
|
| 232 |
-
|
| 233 |
-
else:
|
| 234 |
-
|
| 235 |
-
|
| 236 |
-
|
| 237 |
-
|
| 238 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 239 |
|
| 240 |
metrics_df = compute_metrics(model, tokenizer, test_tokenized, data_collator, device)
|
| 241 |
metrics_df["valor"] = metrics_df["valor"].apply(lambda value: round(value, 4) if isinstance(value, (float, np.floating)) and np.isfinite(value) else value)
|
|
|
|
| 23 |
DATASET_URL = "hf://datasets/somosnlp/NoticIA-it/"
|
| 24 |
BASE_MODEL_NAME = "josmunpen/mt5-small-spanish-summarization"
|
| 25 |
DEFAULT_OUTPUT_DIR = "mt5-resumenes-es-final"
|
| 26 |
+
DEFAULT_BUCKET = "hf://buckets/AntonioCGF/statetensor_TECP"
|
| 27 |
SAMPLE_SIZE = 256
|
| 28 |
MAX_INPUT_LENGTH = 256
|
| 29 |
MAX_TARGET_LENGTH = 64
|
|
|
|
| 221 |
df = load_dataframe()
|
| 222 |
train_df, val_df, test_df = prepare_splits(df)
|
| 223 |
|
| 224 |
+
# if output_dir.exists() and not args.retrain:
|
| 225 |
+
# tokenizer = AutoTokenizer.from_pretrained(output_dir)
|
| 226 |
+
# model = AutoModelForSeq2SeqLM.from_pretrained(output_dir)
|
| 227 |
+
# train_tokenized, val_tokenized, test_tokenized = tokenize_datasets(tokenizer, train_df, val_df, test_df)
|
| 228 |
+
# device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
| 229 |
+
# model.to(device)
|
| 230 |
+
# data_collator = DataCollatorForSeq2Seq(tokenizer=tokenizer, model=model)
|
| 231 |
+
# train_loss = float("nan")
|
| 232 |
+
# test_loss = float("nan")
|
| 233 |
+
# test_perplexity = float("nan")
|
| 234 |
+
# else:
|
| 235 |
+
# tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL_NAME)
|
| 236 |
+
# model = AutoModelForSeq2SeqLM.from_pretrained(BASE_MODEL_NAME)
|
| 237 |
+
# train_tokenized, val_tokenized, test_tokenized = tokenize_datasets(tokenizer, train_df, val_df, test_df)
|
| 238 |
+
# device, train_loss, test_loss, test_perplexity, data_collator = train_model(model, tokenizer, train_tokenized, test_tokenized)
|
| 239 |
+
# save_model(model, tokenizer, output_dir)
|
| 240 |
+
|
| 241 |
+
tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL_NAME)
|
| 242 |
+
model = AutoModelForSeq2SeqLM.from_pretrained(BASE_MODEL_NAME)
|
| 243 |
+
train_tokenized, val_tokenized, test_tokenized = tokenize_datasets(tokenizer, train_df, val_df, test_df)
|
| 244 |
+
device, train_loss, test_loss, test_perplexity, data_collator = train_model(model, tokenizer, train_tokenized, test_tokenized)
|
| 245 |
|
| 246 |
metrics_df = compute_metrics(model, tokenizer, test_tokenized, data_collator, device)
|
| 247 |
metrics_df["valor"] = metrics_df["valor"].apply(lambda value: round(value, 4) if isinstance(value, (float, np.floating)) and np.isfinite(value) else value)
|