首頁  >  文章  >  後端開發  >  如何讓Eclipse中pydev為此跳過這些編譯error

如何讓Eclipse中pydev為此跳過這些編譯error

巴扎黑
巴扎黑原創
2017-07-22 13:25:561872瀏覽

#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.image_summary###    scalar_summary = tf.image_summary###    scalar_summary = tf.scal_mary###omar_marm scalar_summary = 1 #    merge_summary = tf.merge_summary###    SummaryWriter = tf.train.SummaryWriter###except:###    #如下是 TF的新格式,若TRY中OLD格式失敗則以新格式;# = tf.summary.image###    scalar_summary = tf.summary.scalar###    histogram_summary = tf.summary.histogram###    merge_summary = tf.summary.histogram###    merge_summary = tf.summary.histogram###    merge_summary = tf.summary.histogram###    merge_summary = tf.summary.m. ##if "concat_v2" in dir(tf):###    def concat(tensors, axis, *args, **kwargs):###      def concat(tensors, axis, *args, **kwargs):###        return tf.concat_v2(tensors, axis, *args, **kwargs) *args, **kwargs# ##else:###    def concat(tensors, axis, *args, **kwargs):###        return tf.concat(tensors, axis, *args, **kwargs)##### #### #### #### #### #### #### #### ####....後續邏輯程式碼忽略,和本文主題無關...###

以上是如何讓Eclipse中pydev為此跳過這些編譯error的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn