python-pytorch关于next和iter使用时没有效果的笔记

问题

自己写来一个自定义数据集的类,使用dataloader去加载,然后使用next和iter去访问,每次访问到的数据都是一致的

python 复制代码
datas,lables=next(iter(train_dataloader))
print(lables)
datas1,lables1=next(iter(train_dataloader))
print(lables1)

输出

python 复制代码
tensor([9, 0, 0, 3, 0, 2, 7, 2, 5, 5, 0, 9, 5, 5, 7, 9, 1, 0, 6, 4, 3, 1, 4, 8,
        4, 3, 0, 2, 4, 4, 5, 3, 6, 6, 0, 8, 5, 2, 1, 6, 6, 7, 9, 5, 9, 2, 7, 3,
        0, 3, 3, 3, 7, 2, 2, 6, 6, 8, 3, 3, 5, 0, 5, 5])
tensor([9, 0, 0, 3, 0, 2, 7, 2, 5, 5, 0, 9, 5, 5, 7, 9, 1, 0, 6, 4, 3, 1, 4, 8,
        4, 3, 0, 2, 4, 4, 5, 3, 6, 6, 0, 8, 5, 2, 1, 6, 6, 7, 9, 5, 9, 2, 7, 3,
        0, 3, 3, 3, 7, 2, 2, 6, 6, 8, 3, 3, 5, 0, 5, 5])

原因

每次都根据数据集生成了一个迭代器,所以执行结果是一样的

解决

改成同一迭代器,再next就还可以了,问题比较低级

python 复制代码
cc2=iter(train_dataloader)
datas,lables=next(cc2)
print(lables)
datas1,lables1=next(cc2)
print(lables1)

输出

python 复制代码
tensor([9, 0, 0, 3, 0, 2, 7, 2, 5, 5, 0, 9, 5, 5, 7, 9, 1, 0, 6, 4, 3, 1, 4, 8,
        4, 3, 0, 2, 4, 4, 5, 3, 6, 6, 0, 8, 5, 2, 1, 6, 6, 7, 9, 5, 9, 2, 7, 3,
        0, 3, 3, 3, 7, 2, 2, 6, 6, 8, 3, 3, 5, 0, 5, 5])
tensor([0, 2, 0, 0, 4, 1, 3, 1, 6, 3, 1, 4, 4, 6, 1, 9, 1, 3, 5, 7, 9, 7, 1, 7,
        9, 9, 9, 3, 2, 9, 3, 6, 4, 1, 1, 8, 8, 0, 1, 1, 6, 8, 1, 9, 7, 8, 8, 9,
        6, 6, 3, 1, 5, 4, 6, 7, 5, 5, 9, 2, 2, 2, 7, 6])
        ```
相关推荐
查士丁尼·绵7 分钟前
笔试-九宫格三阶积幻方
python·九宫格·三阶积幻方
l1t3 小时前
DeepSeek辅助利用搬移底层xml实现快速编辑xlsx文件的python程序
xml·开发语言·python·xlsx
大飞记Python3 小时前
部门管理|“编辑部门”功能实现(Django5零基础Web平台)
前端·数据库·python·django
递归不收敛3 小时前
大语言模型(LLM)入门笔记:嵌入向量与位置信息
人工智能·笔记·语言模型
冷雨夜中漫步4 小时前
高级系统架构师笔记——数据库设计基础知识(5)Armstrong公理系统、无损连接和有损连接
笔记·系统架构
查士丁尼·绵5 小时前
笔试-羊狼过河
python
摸鱼的老谭5 小时前
构建Agent该选Python还是Java ?
java·python·agent
2301_821919925 小时前
深度学习(四)
pytorch·深度学习
鄃鳕5 小时前
python 字典 列表 类比c++【python】
c++·python
im_AMBER5 小时前
算法笔记 05
笔记·算法·哈希算法