找到网络模型中的inplace操作。
x = x + 1 # not inplace
x += 1 # inplace
把第二种写法,替换成第一种。
但是替换完你会发现,还是报这个错误,因为,relu中也有inplace操作,这时,你需要将relu中的inplace赋为False,for example,
self.embedding_net2[0].inplace = False
如果网络很大,找起来很麻烦,可以在网络的中间变量加一句 x.backward(),看会不会报错,以此debug
ps:找了好久,花了一下午和一晚上
pps:男朋友这么厉害的嘛,什么问题都能解决(●'◡'●)