Pytorch matmul - 运行时错误:“addmm_impl_cpu_”未针对“Half”实现

Om *_*ogi 25 pytorch

当我运行 pytorch matmul 时,抛出以下错误:

Traceback (most recent call last):
  File "/home/omrastogi/Desktop/Side/One-Class-Classification-Customer-Complaints/pattern.py", line 71, in <module>
    print(obj.infer(list([df.text[0]]), list([df.reason[0]])))
  File "/home/omrastogi/Desktop/Side/One-Class-Classification-Customer-Complaints/pattern.py", line 45, in infer
    cos_sm = self.batch_cosine_similarity(enc1, enc2)
  File "/home/omrastogi/Desktop/Side/One-Class-Classification-Customer-Complaints/pattern.py", line 51, in batch_cosine_similarity
    dot_prd = torch.matmul(inp1, inp2.transpose(0, 1))
RuntimeError: "addmm_impl_cpu_" not implemented for 'Half'
Run Code Online (Sandbox Code Playgroud)

inp1 --> [1 256]
inp2 --> [1
256]

Om *_*ogi 37

抛出错误是因为操作数的数据类型是 float16。将其改回 float32 解决了问题。我猜 float16 仅适用于 GPU 实现。

  • 你到底是怎么做到的? (4认同)
  • 这会将张量转换为 float32 dtype:`inp1.type(torch.float32)` (4认同)