【问题标题】:Tensorflow - run() and eval() print 'b' before constantsTensorflow - run() 和 eval() 在常量之前打印'b'
【发布时间】:2018-01-12 15:22:44
【问题描述】:

我是 tensorflow 的新手,所以我正在学习一些教程。当我使用 eval() 或 run() 打印变量或常量时,它总是在变量值之前打印一个“b”,例如变量 = 'a',打印“b'a'”。

    import tensorflow as tf

    node1 = tf.constant("a")
    node2 = tf.constant("b")

    with tf.Session():
        print("%r %r"%(node1.eval(), node2.eval()))

结果:b'a' b'b'。

我尝试了不同的编辑器,但问题仍然存在,有人知道出了什么问题吗?

【问题讨论】:

  • 我无法重现该问题,它可能与某些编辑器字节字符串表示有关。
  • 这是 Python 3 的东西,字符串现在有两种类型,字节和 unicode

标签: tensorflow


【解决方案1】:

那是因为编码。尝试解码如下:.decode('utf-8')

【讨论】:

    【解决方案2】:

    在 Python 3 中,通过添加“.decode() 如下所示更改您的打印行并且应该可以工作:

    print("%r %r"%(node1.eval().decode(), node2.eval().decode()))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-15
      • 1970-01-01
      • 2016-12-23
      • 1970-01-01
      • 1970-01-01
      • 2013-06-12
      • 2023-03-23
      • 2020-05-09
      相关资源
      最近更新 更多