python - 训练时的位精度如何影响 DNN 的准确性 - 支持量化类型推理的库

标签 python deep-learning

我想检查位精度如何影响 DNN 的准确性。你知道任何 C/C++/Python 库吗 这不需要大量的返工来支持量化类型的推理吗?例如,我想将所有操作数(权重、激活、误差和梯度)设置为 8/16/32 位精度,并在测试后检查每个精度的准确性。

最佳答案

在 PyTorch (Python) 中,您可以设置张量的数据类型,例如:

torch.tensor(np.array([[1, 2, 3], [4, 5, 6]]), dtype=torch.HalfTensor)  # 16 bit FP

它支持大多数数据类型,请参阅文档 here 请注意,并非所有 GPU 都支持所有数据类型,因此您可能应该坚持使用 CPU 执行。

编辑:

转换图层:nn.Linear(10, 10).double() 或设置默认 dtype torch.set_default_dtype() ref

关于python - 训练时的位精度如何影响 DNN 的准确性 - 支持量化类型推理的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58860601/

相关文章:

python - 如何在Python中循环三个变量,同时它们的总和始终等于1?

python - 预测 scikit-learn 分类运行需要多长时间

machine-learning - 如何使用resnet50模型进行微调?

deep-learning - Conda Colab 收集包元数据时出错 (current_repodata.json) : failed InvalidVersionSpec: Invalid version '4.19.112+' :empty version component

python - 找不到 pg_config 可执行文件

python - 使用 Pandas 中的列表沿轴 1 分组

python - Python 中的 plotly : how to highlight a trace on hover?

multithreading - 如何使用 Caffe 启用多线程?

python - 无法设置属性。存在名称为 "keras_version"的组

machine-learning - 神经网络会在不同的运行时间翻译成同一个句子吗?我可以在运行时收到很多翻译的句子吗?