1.运行Pytorch tutorial代码报错:BrokenPipeError: [Errno 32] Broken pipe
该问题的产生是由于windows下多线程的问题,和DataLoader类有关
解决方案:
修改调用torch.utils.data.DataLoader()函数时的 num_workers 参数。
该参数是指在进行数据集加载时,启用的线程数目。截止当前2018年5月9日11:15:52,如官方未解决该BUG,则可以通过修改num_works参数为 0 ,只启用一个主进程加载数据集,避免在windows使用多线程即可。
2.TypeError: new() received an invalid combination of arguments-got(float, int)
其实代码放到python2.7里面定义是完全没有问题的,问题是现有的python3的环境对于除法的规则和python2不一样。
512/2
,在python3中的结果是256.0
,但是在python2中就是256
,python2和3的这些区别.
解决方法:
把/
换成//
,后者的运算能够保证是int型数据。