解决pytorch DataLoader num_workers出现的问题
最近在学pytorch,在使用数据分批训练时在导入数据是使用了 DataLoader 在参数 num_workers的设置上使程序出现运行没有任何响应的结果 ,看看代码
import torch #导入模块 import torch.utils.data as Data BATCH_SIZE=8 #每一批的数据量 x=torch.linspace(1,10,10) #定义X为 1 到 10 等距离大小的数 y=torch.linspace(10,1,10) #转换成torch能识别的Dataset torch_dataset = Data.TensorDataset( x,y) #将数据放入 torch_dataset loader=Data.DataLoader( dataset=torch_dataset, #将数据放入loader batch_size=BATCH_SIZE, #每个数据段大小为 BATCH_SIZE=5 shuffle=True , #是否打乱数据的排布 num_workers=2 #每次提取数据多进进程为2 ) for epoch in range(3): for step,(batch_x,batch_y) in enumerate(loader): print('epoch',epoch,'|step:',step," | batch_x",batch_x.numpy(), '|batch_y:',batch_y.numpy())
(以上代码取莫烦python教学视频,教学视频中没有报错)
程序就停止成这样了
上网查询没有得到有用的东西,因为程序没有报错,就是没有任何反应,(没有反应可能跟电脑或者编译器有关,我使用的是anconda spyder)于是决定自己找找
期初我采用在语句后面加 print('1')检测程序停在了什么地方,(其实这是一种笨方法,在这里可以采用断点调试)程序停在了 for step,(batch_x,batch_y) in enumerate(loader):
我以为是enumerate的问题,查资料发现这就是一个可返回列表元素和键值的函数,不存在问题
继续排查,把目光放在了loader,于是查询了DataLoader的参数
DataLoader的函数定义如下:
DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, num_workers=0, collate_fn=default_collate, pin_memory=False, drop_last=False)
1. dataset:加载的数据集(Dataset对象)
2. batch_size:batch size
3. shuffle::是否将数据打乱
4. sampler: 样本抽样,后续会详细介绍
5. num_workers:使用多进程加载的进程数,0代表不使用多进程
6. collate_fn: 如何将多个样本数据拼接成一个batch,一般使用默认的拼接方式即可
7. pin_memory:是否将数据保存在pin memory区,pin memory中的数据转到GPU会快一些
8. drop_last:dataset中的数据个数可能不是batch_size的整数倍,drop_last为True会将多出来不足一个batch的数据丢弃
发现我所定义的几个参数只有num_workers嫌疑最大,于是将参数值改成了默认值 0,程序可以运行了,(一把老泪纵横)
看看进程是什么鬼 发现在这里好像没啥用(具体自己上网查查)
以上这篇解决pytorch DataLoader num_workers出现的问题就是小编分享给大家的全部内容了,希望能给大家一个参考
您可能感兴趣的文章:
- Pytorch源码安装(附加可能出现的问题解决)
- 解决pytorch GPU 计算过程中出现内存耗尽的问题
- Pytorch1.0 与 0.4版的兼容问题解决
- python 安装 ez_setup.py出现的问题及解决办法
- pytorch: AttributeError: 'builtin_function_or_method' object,将dataloader返回值放到cuda再传回到网络结构中出现的问题及解决
- 解决编译opencv3.0时出现的问题undefined reference to `parallel_pthreads_set_threads_num(int)'
- 【问题解决014】Ubuntu16.04下,基于Anaconda+Pycharm,进行Pytorch框架使用
- 问题解决:Pytorch :Trying to backward through the graph a second time, but the buffers。。
- 测试pytorch mask-rcnn python.demo.py时候出现的问题总结一下。
- notepad++编译器保存的python代码出现python:can't open file '**.py' :[error 2] No Such file or directory问题怎么解决
- AMD cpu 下 Pytorch 多卡并行卡死问题解决
- pycharm+pyqt5程序 (解决.ui文件生成的.py文件运行不出现界面问题)
- pytorch实践中module 'torch' has no attribute 'form_numpy'问题的解决
- libsvm进行easy.py调试时出现valueerror的问题解决
- fpn pytorch跑github源码遇到的问题及解决
- 解决IBM Security AppScan扫描出现检测到RC4密码套件问题
- 解决Virtual Box 下安装Mac OS X时出现的“hfs: summary table not allowed on FS with block size of 2048”问题
- win10解决安装Markdown2出现html渲染出错的问题
- 关于QUARTUS调用modelsim仿真时出现的闪退问题解决
- 电脑出现的各种问题解决