TensorFlow中Hello World程序输出b'Hello, TensorFlow!'是否为错误?
关于TensorFlow Hello World输出
b'Hello, TensorFlow!'的疑问解答 这完全不是错误,放心就好!
你看到的b'Hello, TensorFlow!'里的b是Python用来标识**字节串(bytes)**的前缀,在你使用的TensorFlow 1.x版本(也就是依赖tf.Session()的版本)里,字符串类型的张量默认会以字节串形式返回,这是框架的设计逻辑,不是运行出错。
能不能忽略?
- 如果你只是想验证TensorFlow环境是否安装并正常运行,那这个输出完全可以忽略——它已经明确告诉你,代码成功执行了,TensorFlow环境没问题。
- 如果你需要得到不带
b的普通Python字符串,只需要对结果做一次UTF-8解码就行,修改后的代码如下:
import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Session() print(sess.run(hello).decode('utf-8'))
运行后就能得到你预期的Hello, TensorFlow!了。
根据TensorFlow官方文档的说明,TF1.x中tf.constant创建的字符串张量,其元素在Python层面会被表示为bytes对象,这是为了兼容底层的张量存储机制,属于正常现象。
内容的提问来源于stack exchange,提问作者Aptha Gowda
相关产品推荐
相关产品推荐

