pytorch出错总结

1、BrokenPipeError: [Errno 32] Broken pipe
该问题的产生是由于windows下多线程的问题,和DataLoader类有关。通过修改***num_works参数为 0*** ,只启用一个主进程加载数据集,避免在windows使用多线程即可。如果要用到并行计算多进程必须在主程序中,需要if name == ‘main’:来运行主程序

2、RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.DoubleTensor) should be the same

//数据转为tensor时候的错误
target = torch.from_numpy(target)#源代码
#解决办法:
target = torch.from_numpy(target).type(torch.FloatTensor)#修改后代码

3、SyntaxError: non-default argument follows default argument

//带有默认值的形参放在了不带默认值形参的前面
def __init__(self, input_size, out_channels=1, num_channels,  max_length=1, kernel_size=3, dropout=0.2, attention=True):
#解决,调换顺序
def __init__(self, input_size, num_channels, out_channels=1, max_length=1, kernel_size=3, dropout=0.2, attention=True):

4、ValueError: not enough values to unpack (expected 4, got 2)
解决:定函数应该有4个输出值,但是在调用时只给了两个,添加即可
5、pandas读取csv时候OSError: Initializing from file failed
解决:原因有二文件位置不对和文件路径和文件名带有中文,加上engine=‘python’
6、不符合same kind问题:TypeError: ufunc ‘subtract’ output (typecode ‘O’) could not be coerced toprovided output parameter (typecode ‘l’) according to the casting rule ‘‘same_kind’’,数据运算的时候出错。
解决办法:读入的数据格式不对,是object而不是int或float。加上traindata=np.array(traindata,dtype=np.float),将数据转为float即可运算。
7、运行Pytorch tutorial代码报错:BrokenPipeError: [Errno 32] Broken pipe
多线程问题:num_works参数改为 0即可
8、jupyter没有pytorch环境的解决办法: conda install nb_conda

你可能感兴趣的:(深度学习,pytorch)