11
我试图使用:train = optimizer.minimize(loss)
,但标准优化器不适用于tf.float64
。因此我想将我的loss
从tf.float64
截断为仅tf.float32
。TensorFlow:将float64张量施加到float32
Traceback (most recent call last):
File "q4.py", line 85, in <module>
train = optimizer.minimize(loss)
File "/Library/Python/2.7/site-packages/tensorflow/python/training/optimizer.py", line 190, in minimize
colocate_gradients_with_ops=colocate_gradients_with_ops)
File "/Library/Python/2.7/site-packages/tensorflow/python/training/optimizer.py", line 229, in compute_gradients
self._assert_valid_dtypes([loss])
File "/Library/Python/2.7/site-packages/tensorflow/python/training/optimizer.py", line 354, in _assert_valid_dtypes
dtype, t.name, [v for v in valid_dtypes]))
ValueError: Invalid type tf.float64 for Add_1:0, expected: [tf.float32].
所以你想从float64转换成float32吗? –
是的。作为一个临时解决方案,我将浮点数组从float64移动到了float32,这是我的float64张量来自哪里并且解决了我的问题,但是必须有一种在tf本身中进行转换的方法 –