糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > pytorch 固定随机数种子

pytorch 固定随机数种子

时间:2024-06-11 22:39:19

相关推荐

pytorch 固定随机数种子

pytorch随机种子固定:

def setup_seed(seed=0):import torchimport osimport numpy as npimport randomtorch.manual_seed(seed) # 为CPU设置随机种子np.random.seed(seed) # Numpy module.random.seed(seed) # Python random module.if torch.cuda.is_available():# torch.backends.cudnn.benchmark = Falsetorch.backends.cudnn.deterministic = Truetorch.cuda.manual_seed(seed) # 为当前GPU设置随机种子torch.cuda.manual_seed_all(seed) # 为所有GPU设置随机种子#os.environ['PYTHONHASHSEED'] = str(seed)

1、torch.backends.cudnn.benchmark

设置 torch.backends.cudnn.benchmark=True将会让程序在开始时花费一点额外时间,为整个网络的每个卷积层搜索最适合它的卷积实现算法,进而实现网络的加速、增加运行效率。适用场景是网络结构固定(不是动态变化的),网络的输入形状(包括 batch size,图片大小,输入的通道)是不变的。反之,如果卷积层的设置一直变化,会导致 cnDNN 每次都会去寻找一遍最优配置,这样反而会降低运行效率。

2、torch.backends.cudnn.deterministic

将这个 flag 置为True的话,每次返回的卷积算法将是确定的,即默认算法。如果配合上设置 Torch 的随机种子为固定值的话,应该可以保证每次运行网络的时候相同输入的输出是固定的。

如果觉得《pytorch 固定随机数种子》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。