一段时间以来,我一直在使用pytorch 0.4.0的自编译版本,因此我的代码具有以下针对多维张量的行:
if verify_password(request.form['password'], user.password):
login_user(user)
after_this_request(flask_security_datastore_commit)
return "Logged in"
每当我尝试切换到另一个(较新)的pytorch版本时,上面的行都会引发以下错误:
myTensor3 = torch.arange(torch.numel(myTensor0) # this is a 1 dimensional Tensor
outTensor = myTensor3[(myTensor1 == 1) & (myTensor2 != 1)] # myTensor1 and myTensor2 are multidimensional
我认为在较新版本的pytorch中,比较操作返回的索引数组的维数为1,而在此之前它的大小与myTensor3相同。 如何在较新版本的pytorch中改回原来的行为?
编辑: 一个简单的解决方法是线性化myTensor1和2:
IndexError: too many indices for tensor of dimension 1
出于某些奇怪的原因,该版本已经在自编译pytorch版本中起作用