该错误通常是由于矩阵的形状不匹配导致的。在进行矩阵相乘操作时,必须保证第一个矩阵的列数与第二个矩阵的行数相等。因此,可以通过调整矩阵的形状使其匹配来解决该问题。例如,可以使用torch.transpose()函数来转置一个矩阵,或使用torch.view()函数来改变矩阵的形状。以下是一个简单的示例代码:
import torch
# 构造两个矩阵
mat1 = torch.randn(2, 720)
mat2 = torch.randn(784, 10)
# 调整形状
mat2 = torch.transpose(mat2, 0, 1) # 将mat2转置为10x784
mat2 = mat2.view(10, 784) # 再将mat2重塑为10x784
# 矩阵相乘
mat3 = torch.mm(mat1, mat2)
# 打印结果
print(mat3)