Подтвердить что ты не робот

Tensorflow - литье из int, чтобы плавать странное поведение

Я работаю над tensorflow 0.12, и у меня проблема с литьем. Следующий фрагмент кода делает странную вещь:

sess = tf.InteractiveSession()
a = tf.constant(1)
b = tf.cast(a, tf.float32)
print b.eval()

Получаю значение: 6.86574233e-36

Я также попытался использовать tf.to_float() и tf.saturate_cast. Оба дали тот же результат.

Пожалуйста, помогите.

4b9b3361

Ответ 1

Поскольку я вижу, что этому все еще уделяется некоторое внимание, я должен упомянуть, что более новые версии tenorflow не показывают такого поведения, я предлагаю работать с тензорным потоком версии 1.13 или выше.

Ответ 3

Я проверил код в python3 и python2 для той же версии tensorflow, что и код, кажется, работает правильно, так как в обоих случаях я получил следующий вывод для python2

print b.eval()
1.0

Я бы предложил проверить установку tensorflow или virtualenv.

Ответ 4

В вашей программе нет ошибок.

import tensorflow as tf
sess = tf.InteractiveSession()
a = tf.constant(1)
b = tf.cast(a, tf.float32)
print b.eval()

Это онлайн-среда для TF https://codeenv.com/env/run/gXGpnR/
Проверьте свой код для запуска, используйте

  • нажмите на test_tf.py
  • добавить свой код
  • в CLI левой стороны, введите ipython test_tf.py