为所有 python 项目设置种子

Set seed for all python project

提问人:Любовь Пономарева 提问时间:11/17/2023 更新时间:11/17/2023 访问量:26

问:

我在项目中设置种子时遇到了问题。 我的工作 (00_seed.py):

    import numpy as np
    import random
    import os
    import argparse
    import yaml
    

    def seed_everything(config_path):
        config = yaml.safe_load(open(config_path))
        seed = config['model']['seed']
        os.environ['PYTHONHASHSEED'] = str(seed)
        random.seed(seed)
        np.random.seed(seed)  

    if __name__ == '__main__':
        args_parser = argparse.ArgumentParser()
        args_parser.add_argument('--config', dest='config', required=True)
        args = args_parser.parse_args()
        seed_everything(config_path=args.config)

在params.yaml中,我修复seed=7。然后我跑.venv/bin/python3.10 src/pipelines/00_seed.py --config=params.yaml

但返回 None。printenv PYTHONHASHSEED

我哪里犯了错误?

先谢谢你

环境变量 python-venv 随机种子

评论

0赞 Barmar 11/17/2023
环境变量由子进程继承。更改它们不会对父进程产生任何影响。

答: 暂无答案