welcome to my blog
问题描述
执行torch.log(torch.from_numpy(np.array([1,2,2])))
报错, 错误信息为:RuntimeError: log_vml_cpu not implemented for ‘Long’
原因
Long类型的数据不支持log对数运算, 为什么Tensor是Long类型? 因为创建numpy 数组时没有指定dtype, 默认使用的是int64, 所以从numpy array转成torch.Tensor后, 数据类型变成了Long
解决方法
提前将数据类型指定为浮点型, 重新执行torch.log(torch.from_numpy(np.array([1,2,2],np.float)))
, 没有报错, 成功解决问题