Python 3.x PyTorch运行时错误:参数的类型应为long,但改为CPUType

Python 3.x PyTorch运行时错误:参数的类型应为long,但改为CPUType,python-3.x,pycharm,pytorch,transformer,attention-model,Python 3.x,Pycharm,Pytorch,Transformer,Attention Model,我是PyTorch的新手,正在研究变压器模型。我正在Win10上使用PyCharm。 现在,我基本上只是复制粘贴了示例代码,但出现以下错误: RuntimeError:参数#1“索引”的张量应为标量类型Long;但是得到了CPUType(在检查嵌入参数时) 好像是从这一行来的 def编码(自身、src、src_掩码): 返回self.encoder(self.src\u嵌入(src),src\u掩码) Tbh,我甚至不知道这意味着什么,更不用说我应该如何着手修复它了。 什么是CPUType?我什

我是PyTorch的新手,正在研究变压器模型。我正在Win10上使用PyCharm。 现在,我基本上只是复制粘贴了示例代码,但出现以下错误:

RuntimeError:参数#1“索引”的张量应为标量类型Long;但是得到了CPUType(在检查嵌入参数时)

好像是从这一行来的

def编码(自身、src、src_掩码):
返回self.encoder(self.src\u嵌入(src),src\u掩码)

Tbh,我甚至不知道这意味着什么,更不用说我应该如何着手修复它了。 什么是CPUType?我什么时候创建了这种类型的变量?从代码来看,我只使用张量(或numpy数组)

以下是完整的错误消息:

C:…\Python\Python37\lib\site packages\torch\nn\u reduce.py:46:UserWarning:size\u average和reduce args将被弃用,请改用reduce='sum'。 warning.warn(warning.format(ret)) C:/…/PycharmProjects/Transformer/all__代码.py:263:UserWarning:nn.init.xavier_统一现在被弃用,取而代之的是nn.init.xavier_统一。 nn.初始xavier_均匀(p) 回溯(最近一次呼叫最后一次):
文件“C:/…/PycharmProjects/Transformer/all_the_code.py”,第421行,在
SimpleLosCompute(model.generator、criteria、model_opt))
文件“C:/…/PycharmProjects/Transformer/all_the_code.py”,第297行,运行期
batch.src_掩码,batch.trg_掩码)
文件“C:/…/PycharmProjects/Transformer/all_the_code.py”,第30行,正向
返回self.decode(self.encode(src,src\u掩码),src\u掩码,
文件“C:/…/PycharmProjects/Transformer/all_the_code.py”,第34行,编码
返回self.encoder(self.src\u嵌入(src),src\u掩码)
文件“C:…\Python\Python37\lib\site packages\torch\nn\modules\module.py”,第493行,在调用中 结果=自我转发(*输入,**kwargs)
文件“C:…\Python\Python37\lib\site packages\torch\nn\modules\container.py”,第92行,前进
输入=模块(输入)
文件“C:…\Python\Python37\lib\site packages\torch\nn\modules\module.py”,第493行,在调用中 结果=自我转发(*输入,**kwargs)
文件“C:/…/PycharmProjects/Transformer/all_the_code.py”,第218行,正向
返回self.lut(x)*math.sqrt(self.d_模型)
文件“C:…\Python\Python37\lib\site packages\torch\nn\modules\module.py”,第493行,在调用中 结果=自我转发(*输入,**kwargs)
文件“C:…\Python\Python37\lib\site packages\torch\nn\modules\sparse.py”,第117行,向前
self.norm\u type、self.scale\u grad\u by\u freq、self.sparse)
文件“C:…\Python\Python37\lib\site packages\torch\nn\functional.py”,第1506行,嵌入
返回火炬。嵌入(重量、输入、填充、比例、梯度、稀疏)


实际上,我也收到了IDE发出的警告消息,我很难理解这些消息,但我不确定我是应该在这个问题上问它们,还是应该单独问一个问题。