본문 바로가기
파이썬

파이썬 TensorFlow : float64 텐서를 float32로 캐스팅

by º기록 2020. 11. 8.
반응형

train = optimizer.minimize (loss) 를 사용하려고하는데 표준 최적화 프로그램이 tf.float64 에서 작동하지 않습니다. 따라서 tf.float64 에서 tf.float32 로만 loss 를 자르고 싶습니다.

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].

 

해결 방법

 


loss = tf.cast(loss, tf.float32)


 

참조 페이지 https://stackoverflow.com/questions/35725513

 

 

반응형

댓글