From ed29c7a0ee9e289560424dec3f2ee280376197cb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martyna=20Wi=C4=85cek?= <martyna.wiacek@ipipan.waw.pl>
Date: Wed, 14 Feb 2024 11:43:54 +0100
Subject: [PATCH] add setting random seed

---
 combo/main.py | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/combo/main.py b/combo/main.py
index 79e9820..db75cb7 100755
--- a/combo/main.py
+++ b/combo/main.py
@@ -4,8 +4,10 @@ import os
 import pathlib
 import tempfile
 from itertools import chain
+import random
 from typing import Dict, Optional, Any, Tuple
 
+import numpy.random.bit_generator
 import torch
 from absl import app, flags
 import pytorch_lightning as pl
@@ -47,6 +49,7 @@ flags.DEFINE_integer(name="n_cuda_devices", default=-1,
                      help="Number of devices to train on (default -1 auto mode - train on as many as possible)")
 flags.DEFINE_string(name="output_file", default="output.log",
                     help="Predictions result file.")
+flags.DEFINE_integer(name="seed", default=None, help="Random seed.")
 
 # Training flags
 flags.DEFINE_string(name="training_data_path", default="", help="Training data path(s)")
@@ -293,7 +296,17 @@ def read_model_from_config(logging_prefix: str) -> Optional[
     return model, dataset_reader, training_data_loader, validation_data_loader, vocabulary
 
 
+def set_seed(seed: int) -> None:
+    random.seed(seed)
+    numpy.random.seed(seed)
+    torch.manual_seed(seed)
+
+
 def run(_):
+
+    if FLAGS.seed:
+        set_seed(FLAGS.seed)
+
     if FLAGS.mode == 'train':
         model, dataset_reader, training_data_loader, validation_data_loader, vocabulary = None, None, None, None, None
 
-- 
GitLab