我试图在整个项目中设置相同的种子。以下是我在主文件中设置的参数,其中将导入所有其他模块 -
seed = 42
os.environ['PYTHONHASHSEED'] = str(seed)
# Torch RNG
torch.manual_seed(seed)
torch.cuda.manual_seed(seed)
torch.cuda.manual_seed_all(seed)
# Python RNG
np.random.seed(seed)
random.seed(seed)
我的项目目录如下所示 -
├── Combined_Files_without_label5.csv
├── __pycache__
│ ├── dataset.cpython-37.pyc
│ ├── datasets.cpython-37.pyc
│ └── testing.cpython-37.pyc
├── datasets.py
├── import_packages
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-37.pyc
│ │ ├── dataset.cpython-37.pyc
│ │ ├── dataset_class.cpython-37.pyc
│ │ ├── dataset_partition.cpython-37.pyc
│ │ └── visualising.cpython-37.pyc
│ ├── dataset_class.py
│ ├── dataset_partition.py
│ └── visualising.py
├── main.py
现在的问题是我正在从中导入模块,dataset_partition.py并且该函数需要seed那里的值。例如-
df_train, df_temp, y_train, y_temp = train_test_split(X,
y,
stratify=y,
test_size=(1.0 - frac_train), # noqa
random_state=seed)
现在,我的问题是, 1)如果我只是从上述语句中
删除参数,那么它会从我的主文件中获取种子吗?如果没有,那么如何设置呢? 2)所有其他需要种子的函数(例如 , )是否都会以相同的方式运行?(如果不是,那么如何解决它)random_state
torch.manual.seedtorch.cuda.manual_seed(seed)
慕码人2483693
相关分类