0

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

RuntimeError: _thnn_conv2d_forward is not implemented for type torch.CharTensor

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

4

1 回答 1

1

取决于你的目标是什么。

  1. 如果你想模拟你的量化模型:

您可能会坚持现有的浮点数据类型,并且只根据需要引入截断,即:

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

假设 x 是一个浮点张量。

  1. 如果你想有效地模拟你的量化模型:

那么,恐怕 PyTorch 不会很有用,因为低级卷积运算符仅针对浮点类型实现。

于 2019-03-22T05:08:36.047 回答