use*_*241 5 python pytorch torchvision
我无法将 int64 分配给 torch 张量。我有以下张量
tempScale = torch.zeros((total, len(scale))).cuda() if useGpu else torch.zeros((nbPatchTotal, len(scale)))
Run Code Online (Sandbox Code Playgroud)
在我的代码中,当我使用以下行时,它会抛出错误消息
tmpScale[:, j] = scale
Run Code Online (Sandbox Code Playgroud)
错误信息是
TypeError: can't assign a numpy.int64 to a torch.cuda.FloatTensor
我缺少什么?
您必须转换scale为与分配之前相同类型和设备的火炬张量tmpScale。
tmpScale[:, j] = torch.from_numpy(scale).to(tmpScale)
Run Code Online (Sandbox Code Playgroud)
scale请注意,这是从 anint64到 a 的转换,如果 in 的值大于 2 24(大约 1600 万),float32则可能会导致精度损失。scale
| 归档时间: |
|
| 查看次数: |
10712 次 |
| 最近记录: |