在运行 Shawn1993/cnn-text-classification-pytorch的代码时,出现了错误。
Environment:
python:3.5
pytorch: 1.0.0.dev20190122
a.问题:
Traceback (most recent call last):
File "/cnn-text-classification-pytorch/main.py", line 112, in <module>
train.train(train_iter, dev_iter, cnn, args)
File "/cnn-text-classification-pytorch/train.py", line 25, in train
feature.data.t_(), target.data.sub_(1) # batch first, index align
RuntimeError: set_storage_offset is not allowed on Tensor created from .data or .detach()
Process finished with exit code 1
a.解决方法:
feature.data.t_()
: 原地进行转置
target.data.sub_(1)
:把target中的每个值都减1
替换为:
feature = feature.data.t() # x.t() x是不变的,所以重新赋值
target = target.data.sub(1) # x.sub() x是不变的,所以重新赋值
b.问题
Traceback (most recent call last):
File "/cnn-text-classification-pytorch/main.py", line 112, in <module>
train.train(train_iter, dev_iter, cnn, args)
File "/cnn-text-classification-pytorch/train.py", line 43, in train
loss.data[0],
IndexError: invalid index of a 0-dim tensor. Use tensor.item() to convert a 0-dim tensor to a Python number
Process finished with exit code 1
b.解决方法
loss.data[0]
替换为:
loss.item()
参考资料
UserWarning: invalid index of a 0-dim tensor
pytorch tensor 介绍