Pytorch如何使用shuffle打乱数据
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,这篇文章主要介绍Pytorch如何使用shuffle打乱数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!首先我得告诉你一件事,那就是pytorch中的tensor,如果直接使
千家信息网最后更新 2025年11月12日Pytorch如何使用shuffle打乱数据
这篇文章主要介绍Pytorch如何使用shuffle打乱数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
首先我得告诉你一件事,那就是pytorch中的tensor,如果直接使用random.shuffle打乱数据,或者使用下面的方式,自己定义直接写。
def Shuffle(self, x, y,random=None, int=int): if random is None: random = self.random for i in range(len(x)): j = int(random() * (i + 1)) if j<=len(x)-1: x[i],x[j]=x[j],x[i] y[i],y[j]=y[j],y[i] retrun x,y那你就会收获一堆的混乱数据,因为使用这种交换的方式对tensor类型的数据进行操作,会导致里面的数据出现重复复制的问题。
比如我y中的数据为【0,1,0,1,0,1】
在经过几次shuffle,其中的数据就变成了【1,1,1,1,1,1】。
数据顿时出现混乱。
正确的方式是先转成numpy,再进行交换数据
比如:
def Shuffle(self, x, y,random=None, int=int): """x, random=random.random -> shuffle list x in place; return None. Optional arg random is a 0-argument function returning a random float in [0.0, 1.0); by default, the standard random.random. """ if random is None: random = self.random #random=random.random #转成numpy if torch.is_tensor(x)==True: if self.use_cuda==True: x=x.cpu().numpy() else: x=x.numpy() if torch.is_tensor(y) == True: if self.use_cuda==True: y=y.cpu().numpy() else: y=y.numpy() #开始随机置换 for i in range(len(x)): j = int(random() * (i + 1)) if j<=len(x)-1:#交换 x[i],x[j]=x[j],x[i] y[i],y[j]=y[j],y[i] #转回tensor if self.use_cuda == True: x=torch.from_numpy(x).cuda() y=torch.from_numpy(y).cuda() else: x = torch.from_numpy(x) y = torch.from_numpy(y) return x,y补充:python对训练数据集shuffle(打乱)的一些方式
1.通过数组来shuffle
image_list=[] # list of imageslabel_list=[] # list of labels temp = np.array([image_list, label_list])temp = temp.transpose()np.random.shuffle(temp) images = temp[:, 0] # array of images (N,)labels = temp[:, 1]2.通过索引 Index 来 shuffle
image_list=[] # list of imageslabel_list=[] # list of labels ##如果image_list存的是读取的特征数据,而不是图片路径,不要注释后面两句(list无法索引内部list)#[list indices must be integers or slices, not list]#image_list = np.array(image_list)#label_list = np.array(label_list) index = [i for i in range(len(image_list))]np.random.shuffle(index)images = image_list[index]labels = label_list[index]以上是"Pytorch如何使用shuffle打乱数据"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
数据
方式
混乱
内容
篇文章
索引
价值
兴趣
图片
小伙
小伙伴
就是
数组
更多
注释
特征
知识
类型
行业
资讯
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库的访问怎么做到
二本河南软件开发得多少分
青岛市计算机网络技术龙头企业
疫情期间网络安全教育小学生
利用阿里云服务器犯罪
北京市网络安全产业政策
优秀数据库开发工程师学习哪些
海康服务器如何做系统
数据库显示第8页信息
方舟服务器管理过期
江苏服务器机房厂家供应虚拟主机
网络技术三级大题
智能手机酒坛软件开发
邯郸交互软件开发
周口bim软件开发工程报考
学习360网络安全专业好吗
台式电脑网卡连接无线网络安全吗
网络安全法11条
套接字服务器拒绝访问
做软件开发找不到问题总觉得很难
青少年暑假网络安全
关于网络安全教育的文件
80s数据库
宿松网络安全宣传周
电大web服务器运维管理
网络安全格言大全励志
web前端软件开发如何学习
手机版远古服务器
远程服务器怎么能加速
揭阳网络科技软件开发