Tensorflow: Usar um `tf.Tensor` como um` bool` do Python não é permitido.

Criado em 3 jul. 2016  ·  3Comentários  ·  Fonte: tensorflow/tensorflow

Informação do ambiente

Sistema operacional: Linux Mint 17.3 Rosa
$ uname -a

Linux Pabeda 3.19.0-32-generic # 37 ~ 14.04.1-Ubuntu SMP Qui. 22 de outubro 09:41:40 UTC 2015 x86_64 x86_64 x86_64 GNU / Linux

$ python -c "import tensorflow; print (tensorflow. version )"
0.9.0

Passos para reproduzir

$ git clone https://github.com/ilblackdragon/tf_examples.git
$ python titanic.py

O que você tentou?

  1. Estou tentando executar o tutorial em: https://medium.com/@ilblackdragon/tensorflow -tutorial-part-1-c559c63c0cb1 # .1a7hit535

    Erros

/usr/local/lib/python2.7/dist-packages/skflow/io/data_feeder.py:217: VisibleDeprecationWarning: usar um número não inteiro em vez de um inteiro resultará em um erro no futuro
out.itemset ((i, self.y [amostra]), 1.0)
Traceback (última chamada mais recente):
Arquivo "titanic.py", linha 30, em
tflr.fit (X_train, y_train)
Arquivo "/usr/local/lib/python2.7/dist-packages/skflow/estimators/base.py", linha 227, em ajuste
feed_params_fn = self._data_feeder.get_feed_params)
Arquivo "/usr/local/lib/python2.7/dist-packages/skflow/trainer.py", linha 146, em andamento
se resumos:
Arquivo "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", linha 528, em __nonzero__
raise TypeError ("Usar tf.Tensor como Python bool não é permitido."
TypeError: Não é permitido usar tf.Tensor como Python bool . Use if t is not None: vez de if t: para testar se um tensor está definido e use as operações lógicas do TensorFlow para testar o valor de um tensor.

Comentários muito úteis

@ilblackdragon , o que você acha da resposta de @thinxer ?

Todos 3 comentários

Este não é um problema do TensorFlow. Você deve se reportar a https://github.com/ilblackdragon/tf_examples não aqui.

De qualquer forma, para consertar, basta seguir as instruções: substitua if t por if t is not None .

@ilblackdragon , o que você acha da resposta de @thinxer ?

Fechando por agora, como este é o comportamento pretendido. O uso de conversões bool implícitas está sujeito a erros, por isso não é permitido. Obrigado!

Esta página foi útil?
0 / 5 - 0 avaliações