サブプロセスからparsey mcparsefaceを実行しようとしています。私はPopenと呼出しを実行するときに異なる結果を得て、なぜこれが不思議に思っています。 これは機能します。サブプロセス.Popenはサブプロセスプロセスと異なる方法で.shを実行します
process = subprocess.Popen("./syntaxnet/demo.sh", cwd="/home/kahless/models/syntaxnet")
これはありません。
process = subprocess.call("./syntaxnet/demo.sh", cwd="/home/kahless/models/syntaxnet")
どちらもpythonを実行してもエラーは発生しませんが、実行中は.call parseyが正しく完了しません。これは、Popenで.wait()または.communicate()を使用する場合にも発生します。私がしようとしているのは、パースが終了するまで、自分のコードの実行を一時停止することです。ここで何が起こっているか分かりません。
編集。パーシーが正しく完了しないと言うと、私はdemo.shファイルを実行することとは異なる最終結果を得ていることを意味します。ここには異なる出力があります。
物事が正しく
INFO仕事:tensorflow:加工10の文書 INFO:tensorflow:総処理された文書:10 INFO:tensorflow:NUM正しいトークン:0 INFO:tensorflow:合計トークン:170 INFO :テンソルフロー:評価で経過した秒数:0.18、evalメトリック:0.00% INFO:テンソルフロー:10個のドキュメントを処理しました INFO:テンソルフロー:合計処理ドキュメント:10 INFO:テンソルフロー:num正しいトークン:10 INFO:テンソルフロー:トータルトークン:153 INFO:テンソルフロー:評価で経過した秒数:0.86、e収益金額:6.54%
そうでない場合。
INFO:tensorflow:総処理された文書:0 INFO:tensorflow:総処理された文書:0
communicate()
それが終了するまで。 –もちろん、出力を表示するために私の答えを更新しました。あいまいになるのは残念です。 – Kahless
コールブロックPopenはしません。 –