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])
        ```
相关推荐
深藏功yu名15 分钟前
Day27:LangGraph 实战落地|Tool_RAG + 并行子图 + 持久化部署,打造工业级 AI Agent
人工智能·python·ai·pycharm·rag·langgrap
reasonsummer32 分钟前
【办公类-142-04】20260330插班生word转长表EXCLE(4)新表重制
python·word
曲幽33 分钟前
FastAPI + Celery 实战:异步任务里调用 Redis 和数据库的全解析,及生产级组织方案
redis·python·fastapi·web·async·celery·task·queue
2501_9269783340 分钟前
萨特《存在与虚无》听书有感---(理论5.0解读2)
经验分享·笔记·ai写作
程序员三藏1 小时前
软件测试:白盒测试详解
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
chushiyunen1 小时前
llama-index rag框架笔记
chrome·笔记·llama
青梅煮酒与君饮1 小时前
浅谈大模型、Agent、Function Calling、MCP、Skill、Subagent、Langchain、Workflow
人工智能·python·语言模型·langchain·llama
zl_dfq1 小时前
Python学习4 之 【函数】(函数的相关语法、下划线的使用、global与nonlocal关键字)
python·学习