Pytorch在dataloader类中设置shuffle的随机数种子方式

yipeiwu_com6年前Python基础

如题:Pytorch在dataloader类中设置shuffle的随机数种子方式

虽然实验结果差别不大,但是有时候也悬殊两个百分点

想要复现实验结果

发现用到随机数的地方就是dataloader类中封装的shuffle属性

查了半天没有关于这个的设置,最后在设置随机数种子里面找到了答案

以下方法即可:

def setup_seed(seed):
   torch.manual_seed(seed)
   torch.cuda.manual_seed_all(seed)
   np.random.seed(seed)
   random.seed(seed)
   torch.backends.cudnn.deterministic = True
# 设置随机数种子
setup_seed(20)

以上这篇Pytorch在dataloader类中设置shuffle的随机数种子方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

使用Python的Twisted框架构建非阻塞下载程序的实例教程

使用Python的Twisted框架构建非阻塞下载程序的实例教程

第一个twisted支持的诗歌服务器 尽管Twisted大多数情况下用来写服务器代码,但为了一开始尽量从简单处着手,我们首先从简单的客户端讲起。 让我们来试试使用Twisted的客户端。...

Python标准模块--ContextManager上下文管理器的具体用法

写代码时,我们希望把一些操作放到一个代码块中,这样在代码块中执行时就可以保持在某种运行状态,而当离开该代码块时就执行另一个操作,结束当前状态;所以,简单来说,上下文管理器的目的就是规定对...

Python3多进程 multiprocessing 模块实例详解

本文实例讲述了Python3多进程 multiprocessing 模块。分享给大家供大家参考,具体如下: 多进程 Multiprocessing 模块 multiprocessing...

设计模式中的原型模式在Python程序中的应用示例

原型模式: 原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 原型模式本质就是克隆对象,所以在对象初始化操作比较复杂的情况下,很实用,能大大降低耗时,提高性能,因为“不用重...

对Django 中request.get和request.post的区别详解

Django 中request.get和request.post的区别 POST和GET差异: POST和GET是HTTP协议定义的与服务器交互的方法。GET一般用于获取/查询资源信息,...