我是靠谱客的博主 魔幻枕头,最近开发中收集的这篇文章主要介绍PyTorch 中遇到的问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  1. 调用 torch.einsum('i, ijk, j->jk', c_ws, u_minus_c, trainCellVol) 时, 提示了如下错误
  File "/Users/yczhang/opt/anaconda3/envs/fealpy/lib/python3.8/site-packages/torch/functional.py", line 241, in einsum
    return torch._C._VariableFunctions.einsum(equation, operands)
RuntimeError: Expected object of scalar type Double but got scalar type Float for argument #2 'mat2' in call to _th_mm_out

根据错误的提示, 可能是 c_ws, u_minus_c, trainCellVol 的数据类型不一致造成的.
并注意, pytorch 中的 Tensor 数据 float64double ,而 float32 是标准的 float.
然后查看下各数据的类型:

c_ws.type()
'torch.DoubleTensor'

u_minus_c.type()
'torch.FloatTensor'

trainCellVol.type()
'torch.DoubleTensor'

那么, 将 c_ws.float(), 或将 u_minus_c.double() 是都可以的, 即下面的两种方式:

a0 = torch.einsum('i, ijk, j->jk', c_ws, u_minus_c.double(), trainCellVol) 
a0 = torch.einsum('i, ijk, j->jk', c_ws.float(), u_minus_c, trainCellVol) 

  1. pytorch 查看模型结构 网络参数

最后

以上就是魔幻枕头为你收集整理的PyTorch 中遇到的问题的全部内容,希望文章能够帮你解决PyTorch 中遇到的问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部