ホームページ  >  記事  >  バックエンド開発  >  Eclipse で pydev にこれらのコンパイル エラーをスキップさせる方法

Eclipse で pydev にこれらのコンパイル エラーをスキップさせる方法

巴扎黑
巴扎黑オリジナル
2017-07-22 13:25:561812ブラウズ

#1. 次のプログラムは tensorflow ニューラル ネットワーク コードの始まりであり、TF バージョンに互換性を持たせる方法と、pydev でコンパイル エラーを無視して実行する方法を説明するために使用されます

#2。まだ利用可能ですが、不安定であり、異なるバージョン間の違いは小さくありません。github には 0.10.0、0.11.0、1.0.1 などのさまざまな TF バージョンの Python プログラムが存在します。 py と tf のセットでは、問題を次々と見つけるのが簡単です。

#3. 以下は簡単な解決策です。この方法では、コード内のすべての関数を変更する必要がなく、いくつかの判断と変換を行うことができます。アクティベーション中。例えば、以下の「scalar_summary」と「concat_v2」関数の判定では、新旧のTFが異なる場合、ここで互換性を持たせることができますが、その後のプログラム本体は基本的に変わりません。

#4. しかし、この try...Except 構造は、Eclipse+pydev でエラー (赤い波線) を報告します。これは、これに対処するための pydev コンパイラーであると簡単に考えられます。は問題を検出し、エラーの赤い波線を使用してプロンプトを表示します。メニュー「ウィンドウ--> 環境設定--> PyDev--> エディタ--> コード分析」に入ったら、右側の「未定義」タブパネルと「インポート」タブパネルで処理レベルを調整します。 , 「エラーを変更するだけ」を「警告」に変更します。最後に、Eclipseで「abc.py」ファイルを選択し、メニューを右クリックして「pydev-->コード分析」を選択してコードを再コンパイルおよび分析すると、赤い波線のエラーが消え、プログラム全体が実行できるようになります。

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

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

#次の試行は、例外を介して TF バージョンの互換性の問題を処理します。 ! !
#ここでは、TF の新旧形式の違いに対応するための、シンプルですが実用的なアイデアを提供します。
try:
#import tensorflow as tf
#古い TF 形式;
image_summary = tf.image_summary
scalar_summary = tf.scalar_summary
histogram_summary = tf.histogram_summary
merge_summ ary = tf.merge_summary
SummaryWriter = tf.train.summaryWリッター
を除く:
#以下は、新しい TF の新しい形式です。TRY の古い形式が失敗した場合、新しい形式が使用されます。
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(tensor, axis, *args, **kwargs):
return tf.concat(tensor, axis, *args, **kwargs)

#....以降のロジックコードは無視され、この記事の主題とは関係ありません...

以上がEclipse で pydev にこれらのコンパイル エラーをスキップさせる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。