Pytorch中的int8数据类型

时间:2019-03-21 21:43:41

标签: machine-learning pytorch onnx

在Pytorch中使用int8数据类型运行Qauntized模型的最佳方法是什么?我知道在pytorch中我可以将张量定义为int8,但是,当我实际要使用int8时,我得到:

RuntimeError: _thnn_conv2d_forward is not implemented for type torch.CharTensor

所以我很困惑,当卷积之类的计算块不支持数据类型时,如何在使用int8的pytorch中运行量化模型?我正在使用pytorch版本 1.0.1.post2

1 个答案:

答案 0 :(得分:1)

取决于您的目标。

  1. 如果要模拟量化模型:

您可能会坚持使用现有的float数据类型,仅在需要时才引入截断,即:

 x = torch.floor(x * 2**8) / 2**8

假设x是一个浮点张量。

  1. 如果要有效地模拟量化模型

然后,由于低级卷积运算符仅针对浮点类型实现,因此恐怕PyTorch不会很有用。