【发布时间】:2019-08-12 10:28:03
【问题描述】:
有没有人有使用 tensorflow estimator api 进行混合精度训练的经验?
我尝试将输入转换为 tf.float16,并将网络结果转换回 tf.float32。为了缩放损失,我使用了 tf.contrib.mixed_precision.LossScaleOptimizer。
我得到的错误消息相对来说没有什么信息:“试图将'x'转换为张量并失败。错误:不支持任何值”,
【问题讨论】:
-
错误消息似乎非常有用。
x包含None值,在转换为张量时不支持这些值。x错误地将Nones 获取为值(在这种情况下,您需要定位产生此错误的错误),或者这是预期的,但您需要在将数据转换为张量之前对其进行清理。 -
我很清楚具体错误的含义,但不清楚它为什么会发生以及如何避免它。删除 tf.contrib.mixed_precision.LossScaleOptimizer 装饰器时。一切正常,除了在几次迭代后由于转换为 tf.float16 导致下溢。移除石膏后,训练照常进行。
标签: python tensorflow tensorflow-estimator