zoukankan      html  css  js  c++  java
  • pytorch以及tensorflow设置随机数种子seed

    首先设置任意种子:

     SEED=666

    对于pytorch

    torch.manual_seed(SEED)
    torch.cuda.manual_seed_all(SEED)
    np.random.seed(SEED)
    random.seed(SEED)
    torch.backends.cudnn.deterministic = True

    tensorflow在使用gpu时由于cudnn中分配GPU多线程的随机问题,复现结果需要NVIDIA官方的一个tensorflow gpu库,支持tf版本1.14-2.x(参考 https://github.com/NVIDIA/framework-determinism

    先shell安装库:

    pip install tensorflow-determinism

    对于tensorflow 1.14 或 1.15:

    from tfdeterminism import patch
    patch()
    os.environ['PYTHONHASHSEED']=str(SEED)
    random.seed(SEED)
    np.random.seed(SEED)
    tf.set_random_seed(SEED)

    对于tensorflow 2.0:

    from tfdeterminism import patch
    patch()
    os.environ['PYTHONHASHSEED']=str(SEED)
    random.seed(SEED)
    np.random.seed(SEED)
    tf.random.set_seed(SEED)

    对于tensorflow 2.4:

    os.environ['TF_DETERMINISTIC_OPS'] = '1'
    os.environ['PYTHONHASHSEED']=str(SEED)
    random.seed(SEED)
    np.random.seed(SEED)
    tf.random.set_seed(SEED)

     

     

     

  • 相关阅读:
    Redis
    Ajax和JSON
    快速幂
    欧拉函数
    约数
    质数
    二分图相关算法模板
    最小生成树模板
    最短路算法模板
    康托展开和逆康托展开
  • 原文地址:https://www.cnblogs.com/sumuyi/p/13435910.html
Copyright © 2011-2022 走看看