2016-06-24 10 views
0

私はtensorflowからアンドロイドの例を構築しようとしていますが、厄介なビルドエラーに走り続けます。これまでの手順:Tensorflowのアンドロイドの例は構築されません

  • SDKのAndroidスタジオがインストールされています。 (V24)
  • ダウンロードAndroidのNDK部10e(他のバージョンが動作していないようです)
  • aditionallyインストールSDKビルドツールを23.0.1(V24が動作していないようです)
  • はアンドロイドに資産フォルダを追加しました例:開始モデル
  • は、NDK/SDKの場所を指すWORKSPACEファイルを編集しました。

私はTFのいくつかのバージョンを試しましたが、私はエラーが発生し続けます。何か案は?

エラー:

C++ compilation of rule '@protobuf//:protobuf' failed: namespace-sandbox failed: error executing command /home/sander/.cache/bazel/_bazel_sander/577a8dcd97360f56540bc1f3f08ac240/tf-cat-face/_bin/namespace-sandbox ... (remaining 51 argument(s) skipped). 
src/main/tools/namespace-sandbox.c:697: execvp(argv[0], argv): No such file or directory 
Target //tensorflow/examples/android:tensorflow_demo failed to build 
Use --verbose_failures to see the command lines of failed build steps. 
+0

他の例(例:MNIST)をTensorflowで使用できますか?これがAndroidの例、テンソルフローのインストール、またはbazelの問題かどうかは不明です。 –

+0

はい、MNISTの例は正常に構築されているようです。それが私にとって紛らわしいものです。 – Sander

+0

ラベルイメージの例では、開始を使用して、ビルドも行います。私はかなり混乱してここにこだわっています。 – Sander

答えて

0

Bazelは、各コンパイル段階のためのサンドボックスを作成しますので、あなたのビルドが意図しない何も含まれていません。しかし、前回チェックしたとき、TFは完全に気密ではないので、サンドボックスを使用することはできません。あなたが取得しているエラーは、(それがサンドボックス内ことになって何かを見つけることができません)エラーをサンドボックス化されているので、あなたがしている場合は

bazel build --genrule_strategy=standalone --spawn_strategy=standalone //path/to/your:target 
0

--genrule_strategy=standalone--spawn_strategy=standaloneフラグ、例えばとオフサンドボックスを有効にすることができますTensorFlow Androidデモアプリを簡単に作成する方法を探しているのですが、this tutorialと書いてあります。

記事で詳細を説明していますが、私はthis Docker imageを作成しました.Dockerイメージを取得してAndroidのデモアプリケーションを作成するために必要なすべての依存関係が含まれています。

私はそれが(そうでない場合も、16ギガバイトRAMのMacBook Pro私の3.1 GHzの上、メモリが不足する)ドッカーの内側に成功ビルドを確保するために--local_resourcesオプションを渡すために必要なことがわかった1つの落とし穴:

bazel build -c opt --local_resources 4096,4.0,1.0 -j 1 //tensorflow/examples/android:tensorflow_demo 
関連する問題