当前位置 博文首页 > pycharm中TensorFlow调试常见问题小结

    pycharm中TensorFlow调试常见问题小结

    作者:呆呆的猫 时间:2021-08-06 18:20

    目录
    • 1. RuntimeError: Attempted to use a closed Session.
    • 2. AttributeError: module ‘tensorflow' has no attribute ‘select'
    • 3. UnicodeDecodeError: ‘utf-8' codec can't decode byte 0xff in position 0: invalid start byte
    • 4. python中用plt.imshow()显示图像之后,程序就停止运行,必须关掉显示的图像才继续运行
    • 5. AttributeError: module ‘tensorflow.python.ops.image_ops' has no attribute ‘per_image_whitening'
    • 6. ValueError: Tried to convert ‘min_object_covered' to a tensor and failed. Error: None values not supported.
    • 7. NameError:name ‘xrange' is not defined
    • 8. tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value matching_filenames

    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())

    jsjbwy
    下一篇:没有了