Sto tentando di utilizzare: train = optimizer.minimize(loss)
ma gli ottimizzatori standard non funzionano con tf.float64
. Pertanto voglio troncare il mio loss
da tf.float64
a solo tf.float32
.TensorFlow: lancia un tensore float64 a 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].
Quindi vuoi convertirlo in float32 da float64? –
sì. Come correzione temporanea ho convertito la matrice numpy da float64 a float32, che è da dove il mio tensore float64 stava arrivando in primo luogo e che ha risolto il mio problema, ma ci deve essere un modo di convertire in tf stessa –