【发布时间】:2020-12-21 05:08:29
【问题描述】:
我正在使用 TensorFlow 1.14 并测试 TensorRT;正如我在文档中看到的,TensorRT 支持 3 种精度模式:“FP32”、“FP16”和“INT8”。所以想知道TensorFlow默认的精度模式是什么;我想它是 FP32,但我对此不太确定?
【问题讨论】:
标签: python tensorflow tensorrt
我正在使用 TensorFlow 1.14 并测试 TensorRT;正如我在文档中看到的,TensorRT 支持 3 种精度模式:“FP32”、“FP16”和“INT8”。所以想知道TensorFlow默认的精度模式是什么;我想它是 FP32,但我对此不太确定?
【问题讨论】:
标签: python tensorflow tensorrt
张量流中 weights 的默认精度是 'float32',可以在此处的权重初始化函数文档中看到: https://github.com/tensorflow/tensorflow/blob/6bfbcf31dce9a59acfcad51d905894b082989012/tensorflow/python/ops/init_ops.py#L527
但是,模型中使用的不同层支持的输入可能具有多种精度。
现在,您通常希望在训练后减小模型的大小(由模型权重形成)以便能够部署。在此期间,您可以将模型权重的精度降低到 FP16。
【讨论】:
【讨论】:
float16 非常好。您只需要记住增加实现中使用的每个 epsilon 的大小(例如在 Adam、log 或 div 中),因为某些默认值可能对于基础精度来说太小,导致 0.0 值。