• 技术文章 >后端开发 >Python教程

    如何让Eclipse中pydev为此跳过这些编译error

    巴扎黑巴扎黑2017-07-22 13:25:56原创792
    #1.如下程序是一个tensorflow的神经网络代码的开始一小部分,用来说明如何简单的做TF版本兼容及如何在pydev中忽略编译错误来运行

    #2.因为TF版本尚不稳定,不同版本间差别不小,github上有不少0.10.0,0.11.0,1.0.1等不同TF版本的python程序,所以你本地环境是一套py和tf就容易发现此起彼伏的问题。

    #3.如下是一个简单的解决办法,用try...except结构来做tf的版本兼容,这样可以不用到代码中每个函数去修改,在开通做一些判断和转换就可。比如下面对“scalar_summary”和“concat_v2”函数的判断,新老TF如果不同,就可以在这里做兼容,而保持程序后续的主体基本不动。

    #4.但我们遇到一个问题,这种try...except的结构再eclipse+pydev中会报错(红色波浪线),我们容易想到,这是pydev编译器来帮我们处理,它探测到问题,并用error的红色波浪线来提示。只要我们进入菜单“windows-->Perferences-->PyDev-->Editor-->code anaylsis”后,调整右面的“undefined”和“import”的tab面板中的处理级别,将“error”改为“warning”就行。最后,在eclipse中选中“abc.py”文件,右键菜单选择“pydev-->code analysis”来重新编译分析codes,则红色波浪线error不见了,整个程序就可以run了。

    =========================================

    from tensorflow.python.framework import ops
    from utils import *
    import tensorflow as tf
    import math
    import numpy as np

    #如下这个try except,通过异常来处理TF的版本兼容性问题!!!
    #这里提供了一个思路,来兼容TF的新老格式差异问题,简单但实用!
    try:
    #import tensorflow as tf
    #较老的TF的格式;
    image_summary = tf.image_summary
    scalar_summary = tf.scalar_summary
    histogram_summary = tf.histogram_summary
    merge_summary = tf.merge_summary
    SummaryWriter = tf.train.SummaryWriter
    except:
    #如下是较新的TF的新格式,如果TRY中OLD格式失败则用新格式;
    image_summary = tf.summary.image
    scalar_summary = tf.summary.scalar
    histogram_summary = tf.summary.histogram
    merge_summary = tf.summary.merge
    SummaryWriter = tf.summary.FileWriter

    if "concat_v2" in dir(tf):
    def concat(tensors, axis, *args, **kwargs):
    return tf.concat_v2(tensors, axis, *args, **kwargs)
    else:
    def concat(tensors, axis, *args, **kwargs):
    return tf.concat(tensors, axis, *args, **kwargs)

    #....后续逻辑代码忽略,和本文主题无关...

    以上就是如何让Eclipse中pydev为此跳过这些编译error的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:如何 以及 技巧
    上一篇:Python基础点介绍 下一篇:python--DICOM图像的研究
    大前端线上培训班

    相关文章推荐

    • 初步探究Python程序的执行原理• python和shell实现的校验IP地址合法性脚本分享• python实现博客文章爬虫示例• 在Python的Django框架中编写编译函数• 讲解Python中的递归函数

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网