【问题标题】:How to convert FloatTensor to ByteTensor with Pytorch?如何使用 Pytorch 将 FloatTensor 转换为 ByteTensor?
【发布时间】:2025-12-08 22:20:03
【问题描述】:

我是 Pytorch 和神经网络编程的新手,但我遇到了一个问题,我无法自己解决。我的数据是 1 和 0 的 numpy 数组。但是当我尝试训练我的网络时,我得到了这个错误:

RuntimeError: 预期为 torch.ByteTensor 类型的对象,但发现参数 #2 'mat2' 的类型为 torch.FloatTensor

错误出处的行在我的网的forward方法中

x = self.fc1(x)

我已经尝试过这些来转换我的张量,但我仍然收到错误:

x = x.type('torch.ByteTensor')

x.byte()

【问题讨论】:

    标签: pytorch tensor


    【解决方案1】:

    x.byte() 返回您需要的内容,但它不是“就地”方法。尝试做:

    x = x.byte()
    

    【讨论】:

    • 另外,他提出的另一个版本也可以,但没有''标记,即x = x.type(torch.ByteTensor)
    • 你得到了什么?您能否提供更多代码?