TensorFlow调试常见问题(pycharm)

1. RuntimeError: Attempted to use a closed Session.

在 pycharm 下调用 tensorflow 库时,运行出现以下问题:

  • RuntimeError: Attempted to use a closed Session.

    这里写图片描述

  • 解决方法:将STEP=5000开始的程序整体右移,包含在“with”内

    这里写图片描述

可能遇见的问题:python代码如何整体移动

  • 选中代码,按下“Tab”键即可整体右移
  • 选中代码,按下“Shift+Tab”键即可整体左移

2. AttributeError: module ‘tensorflow’ has no attribute ‘select’

调用tf.select出错

这里写图片描述

将 tf.select 替换为 tf.where 即可

3. UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xff in position 0: invalid start byte

利用TensorFlow的tf.gfile.FastGFile读入图像发生上述错误:
这里写图片描述
原始代码:

image_raw_data=tf.gfile.FastGFile('anglababy.jpg','r').read()

将’r’修改为’rb’即可
这里写图片描述

###4. python中用plt.imshow()显示图像之后,程序就停止运行,必须关掉显示的图像才继续运行

可以将show()写在进程里,通过调用进程来打开图片,那么进程的运行状态就不会影响到主程序的往下执行了
#===============================
import threading
import Image
class ThreadClass(threading.Thread):
def run(self):
im=Image.open(‘z.jpg’)
im.show()

print (1)
t = ThreadClass()
t.start()
print (2)
a=input(‘End’)
#===============================
运行结果为:先打印出‘1’,然后显示图片z.jpg,接着再不关闭图片的情况下打印出‘2’。
具体应用的时候你根据需要组织代码。

###5. AttributeError: module ‘tensorflow.python.ops.image_ops’ has no attribute ‘per_image_whitening’
这里写图片描述

TensorFlow对归一化函数tf.image.per_image_whitening(img_data)进行了修改,变为以下形式:

adjusted = tf.image.per_image_standardization(img_data)

这里写图片描述

###6. ValueError: Tried to convert ‘min_object_covered’ to a tensor and failed. Error: None values not supported.
这里写图片描述

  • 解决方法:
 begin, size, bbox_for_draw = tf.image.sample_distorted_bounding_box(
        tf.shape(img_data), bounding_boxes=boxes,min_object_covered=0.1)

###7. NameError:name ‘xrange’ is not defined
这里写图片描述

解决方式:在Python 3中,range()与xrange()合并为range( )

这里写图片描述

##8. tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value matching_filenames

TensorFlow实战google深度学习框架中,输入文件队列的程序中报错
这里写图片描述

原因在于: tf.global_variables_initializer().run()

要改为:sess.run([tf.global_variables_initializer(),tf.local_variables_initializer()])

tf.local_variables_initializer():返回一个初始化所有局部变量的操作(Op)。要是你把图“投放进一个”session中后,你就能够通过run 这个操作来初始化所有的局部变量,本质相当于variable_initializers(local_variables())

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆呆的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值