张量的除法运算为什么一定要把数据转为float?
import torch
# 基础运算
data = torch.randint(1, 10, [2, 3])
print(data)
print(type(data))
print(data.add_(100))
print(type(data))
print(data.mul_(100))
print(type(data))
print(data.sub_(100))
print(type(data))
print(data.div_(100))
print(type(data))
print(data)
print(type(data))
结果报错:
RuntimeError: result type Float can't be cast to the desired output type Long
添加float类型转换后就不报错了
import torch
# 基础运算
data = torch.randint(1, 10, [2, 3])
print(data)
print(type(data))
**data = data.float()**
print(data.add_(100))
print(type(data))
print(data.mul_(100))
print(type(data))
print(data.sub_(100))
print(type(data))
print(data.div_(100))
print(type(data))
print(data)
print(type(data))
求解:为什么加减乘法都不需要转换,只有除法需要,而且数学计算结果也不是浮点数