2017-04-11 7 views
1

こんにちはargvを。pudbのデバッグは、私が<a href="https://github.com/tensorflow/models" rel="nofollow noreferrer">https://github.com/tensorflow/models</a>にGoogleが提供/モデル・マスター/チュートリアル/画像/ cifar10例を通じて実行しています

私は仮想ENVでtensorflow-1.0.1とPython 3.5を実行しています。

コマンドラインから、virtualenvで実行中: python3 cifar10_train.py 正常に動作します。

しかし、私は試してみてください。 pudb3のcifar10_train.py

私はこのエラーを取得する:引数をチェック

Traceback (most recent call last):
File "~/interpreters/p35/lib/python3.5/site-packages/tensorflow/python/platform/app.py", line 44, in run
_sys.exit(main(_sys.argv[:1] + flags_passthrough))
TypeError: main() takes 0 positional arguments but 1 was given

が与える:

print (_sys.argv[:1])
['cifar10_train.py']
print (flags_passthrough)
[ ]

私はpudbが同じvirtualenvのである知っていますpudbはテンソルフローインポートの細かい部分を通り、virtualenvはテンソルフローパッケージが存在する唯一の場所であるため、コマンドラインからコードを実行します。

私は、私はちょうどコード:)

感謝をステップ実行したい...これは誰もが、このを通じて取得するための迅速な提案を持っていないいくつかの層pudb紹介...の間を通過すると、いくつかの問題であると仮定しています

はpudbとTensorFlowを使用しているとき、私はこれと同じ問題が発生しました

+0

また、print文をcifar10_train.pyに追加し、コマンドラインから(それを)正常に実行すると、mainはpudbと同じargを受け取ります。 – alphaXed

答えて

0

をNT。それはtf.flagsと関係があります。私はちょうどPythonのArgparseクラスを使用し、tf.flagsは使用しません。

代わりに、テンソルフローのインポート後にコードにfrom pudb import set_trace; set_trace()を追加するだけで、tf.flagsをそのまま残すことができます。あなたのスクリプトをpython script.py wihtout -m pudbと呼びなさい。

0

ベガの提案が働いた...ありがとう。後に:)

はそうあたりベガとして...

は「pudbインポートset_traceから」新しい含まれている他に何...私はあなたのコメントをアップレートと思いますが、私は< 15の担当者を持っています"tfとしてテンソルフローをインポート"ステートメント。次に、()は次のよう...

def main(argv=None): # pylint: disable=unused-argument 
    cifar10.maybe_download_and_extract() 
    if tf.gfile.Exists(FLAGS.train_dir): 
    tf.gfile.DeleteRecursively(FLAGS.train_dir) 
    tf.gfile.MakeDirs(FLAGS.train_dir) 
    train() 


if __name__ == '__main__': 
    set_trace()  
    tf.app.run() 

コマンドラインからスクリプト呼び出されset_traceを追加しました: のpython3のcifar10_train.py

そして、必要に応じて、それが働きました。

PuDBは素晴らしいツールになるようです。

関連する問題

 関連する問題