2017-09-22 1 views
0

githubリポソームからテンソルフロー(バージョン1.2)をクローニングしました。分散テンソルフローでgrpcに問題があります。基本的には最新のgrpcライブラリでテンソルフロー(1.2)をコンパイルしたい。bazelを使用して既にコンパイルされたgrpcライブラリをリンクするにはtensorflowをコンパイルするには?

私はライブラリファイルとヘッダーを持っているので、grpcライブラリをダウンロードしてコンパイルしました。テンソルフローを構築中に、すでにコンパイルされたライブラリファイルとヘッダをbazelに指示するにはどうすればよいですか?

答えて

2

簡単な方法はありません。これを行う場合は、テンソルフローをクローンし、tensorflow/workspace.bzlを更新してより新しいgrpcバージョンを取得するか、またはnew_http_archiveに置き換えてください。 third_party/grpcからパッチを適用する必要があると思います。次に、デフォルトプロシージャとbazel build --config=opt //tensorflow/tools/pip_package:build_pip_packageを使用してテンソルフローを構築できるはずです。

tensorflow BUILDファイルをすばやくスキャンすると、tensorflowはgrpcのthird_party依存関係(例:nanopb)を使用しているように見えるため、コンパイルされたライブラリとヘッダーを使用するだけでは十分ではありません。あなたがprebuilt grpcの使用を主張したなら、これらの依存関係を提供し、BUILDファイルとWORKSPACEファイルを更新する必要があります。 Bazelには、この機能がまだ組み込まれていません。

+1

最適化だけ:--override_repositoryを使用すると、テンソルフローのワークスペースを変更しないようにできます。 –

+0

私はそれが事であることを知らなかった!クール! – mhlopko

関連する問題