Tensorflow: Windowsのサポートとドキュメント

作成日 2015年11月09日  ·  180コメント  ·  ソース: tensorflow/tensorflow

テンソルフローを見て興奮しましたが、他の多くのユーザーと同じように、私たちはWindowsを使用しているので、このサポートが行われるのを見るといいでしょう。 Windowsポートの貢献を受け入れますか?

一方、Microsoftは最近、LinuxとWindowsの両方にGPUを搭載した複数のマシンで拡張できるディープラーニングツールキットをリリースしました。 https://github.com/Microsoft/CNTK

最も参考になるコメント

Windows上のTensorFlowに関心をお寄せいただきありがとうございます。 私たちは2つの主要な面で進歩を遂げています:

  1. TensorFlowのBazel BUILDファイルをWindowsで動作するように適合させます。 @meteorcloudyからその方向への最近のプルリクエスト(#4449など)をいくつか見たことがあるかもしれません。最終的な計画では、WindowsでBazelを使用してTensorFlowを構築するための完全なサポートを提供する予定です。
  2. Visual C++2015コンパイラでビルドするようにTensorFlowランタイムを変更します。 私はこの取り組みに取り組んできましたが、HEADと私の作業部門との差分は毎日小さくなっています。 今のところ、CMakeを使用してVisual Studio / MSBuildを使用してTensorFlowをビルドしていますが、 BUILDファイルがクロスプラットフォームで機能する場合はBazelに切り替える予定です。

バイナリPIPパッケージとWindowsでTensorFlowを構築するための手順を含む、まもなく発表される予定です。 当面の間、共有するニュースがありましたら、この問題を更新します。


@kestrelmからの特定の質問への回答:

  1. 私は現在、CMakeを使用して複数のプロジェクトでVSソリューションを生成しています。これを、上記の項目(2)の一部としてマージします。
  2. 少なくとも、ランタイムとすべてのカーネル( tensorflow/python/_pywrap_tensorflow.soに相当)を含むPython拡張DLLを生成し、静的にリンクされたC ++バイナリ( tensorflow/cc/tutorials/example_trainer.ccに相当)を構築するための手順を提供できます。 )。
  3. これらの機能(C APIの背後にあるDLL内の推論関連カーネルのAndroidサブセットのようなもの)を備えたランタイムのバージョンを簡単に作成できますが、おそらく初期リリースの一部ではありません。 ただし、ビルドファイルを変更して、これらのプロパティを持つターゲットを作成することは可能です。それを実行しようとしている人を喜んでお手伝いします。

全てのコメント180件

それは素晴らしい提案だと思います!

同じように、ダウンロードとインストールのページにWindowsについての言及がないのを見て少しがっかりしました。

誰もが主な非互換性/宿泊施設が何であるかについての考えを持っていますか? それは主にファイルパスなどの問題ですか?

Linux / macのみをサポートするBazelで構築されていますが、幸いなことに、Windowsでのbazelのサポートは今年の終わりまでに終了するようです。

:いいぞ:

Dockerを使用すると、WindowsマシンでTensorFlowをすでに使用できます。
詳細はこのスレッドにあります。
https://github.com/tensorflow/tensorflow/issues/42

GPUコンピューティングを使用するために、Dockerを使用せずにWindowsでTensorFlowを使用したいと思います。 この場合のDockerの使用は、Windowsコンテナーではなく、Hyper-VまたはVirtualBox上のLinux仮想マシンを使用しているため、GPUはパススルーされません。

:+1:

グーグル、私たちにウィンドウズのサポートをお願いします!

+1/0.0

+1

ええ、ウィンドウズのサポートはとてもいいでしょう。

+1
+1
+1

はい、お願いします

WindowsでTensorFlowを使用したい(VMではなくネイティブ)。

Continuumがテンソルフロー用のcondaパッケージを提供できるかどうかを調べます。

ドキュメント全体でバゼルを使用していることから判断すると、バゼルがウィンドウをサポートするのを待つことが問題だと思います。 Windowsをサポートするために対処する必要がある、Tensorflowに固有の何かがありますか、それとも単なるバゼルですか?

私が持っている1つの質問は、Bazelサポートが実際にWindowsに到着するのはいつかということです。 Bazelリポジトリを見ると、WindowsでAndroidをサポートすることを計画しているとのことですが、ネイティブパッケージの構築(私が想定しているもの)への言及は見当たりませんでした。

WindowsのBazelサポートを追跡するために使用しているバグは次のとおりです: https://github.com/bazelbuild/bazel/issues/276。 1か月前、 @dslomovはBazelにWindows上で自身をブートストラップさせることができました。 計画は、今年の終わりまでにWindowsのサポートを終了することです。

@davidzchen私は実際に今日の午後早くにそのリポジトリを使って、運が悪かったので試してみました。それ自体を正常にブートストラップできるかどうかを確認するために、もう少し試してみるかもしれません。

Windowsでの+1ネイティブサポートが利用可能である必要があります

+1

または、より合理的なビルドシステムに移植することもできます。 おそらくcmake。

@ahmadia condaを使用してテンソルフローをインストールする方法に関するヒントはありますか?

TensorFlowのWindowsへの移植がないため、現在、私たちは他のすべての人と同じ船に乗っています。 誰かがWindowsポートをまとめることができれば、バイナリのビルド/展開を喜んでお手伝いします。 誰かがすでにconda install -c memex tensorflowで利用可能なOS X/Linuxのレシピをまとめています。

このための+1

+1

+1
また、cmakeのサポートは素晴らしいでしょう

Dockerを使用してWindowsマシンでTensorFlowを動作させるための手順とスクリーンショットを含む記事をここにまとめました。これは、問題42のヒントを使用して、誰かに役立つ場合に使用します。

TensorFlowがWindowsマシンのVMで実行されている場合でも、GPUをどのように利用できるかはまだわかりません。

+1ネイティブウィンドウのサポートは非​​常に役立ちます

+1

TensorFlow for Windows 7のバージョンが必要な場合は、メールを送信してください。
私のメールアドレス: [email protected]
ありがとう!

+1

Windowsのサポートは少し劇的な努力です。 たぶん、真に標準的なコンパイラ(gcc / tdm-gcc / mingwpy)と最新のPython(3.4?)でのみWindowsをサポートする方が、はるかに簡単なターゲットになるでしょうか。

おそらく、VC ++ CodeGenでClangフロントエンドを使用することは、Windowsビルドを機能させるための最速の経路です-> VS 2015Update1でMicrosoftCodeGenを使用したClang 。 Projectは、主にWindowsを対象とするコードのクロスプラットフォームビルドに一貫して機能するツールチェーンを提供するように設計されていますが、*nixコードがWindowsでコンパイルされるシナリオも同様に興味深いものです。 MSFT C ++チームは、自分たちが書いたコードはLLVMプロジェクトに還元されるため、クロスプラットフォームのサポートを迅速に行うための共同作業が可能になると述べています。

+1

+1

+1

+1

+1

+1

+1

+1。 これは、Windowsで動作しなかったことを思い出した最初のPythonパッケージです。 私の理解では、NVIDIAのドライバーはLinuxよりもWindowsの方が常に優れていて、最近は退屈しているGTX970を持っているので奇妙に思えます。

私はほとんどのテンソルフローc++をWindowsビルドに移植しました。vc2013を使用します。これまでのところ、ほとんどのコードのコンパイルとリンクには独自のソースファイルが使用されています。 私が回避する最大の課題は、静的変数を使用してopとkernelを登録することです。 私はそれらを静的ライブラリとして構築し、それにアプリのリンクはそれらの静的変数をスキップします。 使用済みのopsとカーネルを含めるには、appフォルダーのstub.cppを使用する必要があります。

@ yuanhua8変更をgithubリポジトリにプッシュする可能性はありますか? ところで、私はダンピンを使用してシンボルの好みを強制するヘッダーを生成することにより、カフェの静的登録の問題を解決しました。 詳細については、https ://github.com/BVLC/caffe/pull/2816およびhttps://github.com/willyd/caffe/tree/msvcを参照してください。

Windows用のネイティブTensorflowがすぐに準備できることを願っています。Windows用のバゼルが安定するまで待たなければならない可能性があり、GoogleとUdacityによるディープラーニングコースを試すことにワクワクしています!

参考までに、Bazelに対するWindowsのサポートは、現在、私たちの最優先事項の1つです。 乞うご期待。

ここでも同じように、Googleが提供するディープラーニングコースを開始しましたが、Windowsを実行しているために行き詰まっています。
Windowsのサポートはいつ期待できますか?

多くの人がWindowsでこれを実行する際に問題に直面していることに気づいたので、VagrantとDockerを使用してWindowsでこれを設定する方法について簡単に説明しました。

https://medium.com/@Rapchik/running -google-s-deep-learning-course-material-under-windows-82d468b6d5be

@umarnizガイドをありがとう。 ただし、ここでほとんどの人が期待しているのは、GPUサポートのためにWindows上でネイティブに実行されているTensorFlowだと思います。 残念ながら、私が知る限り、Dockerや仮想化を使用する他のソリューションでは機能しません...

@SeveQ私は完全に同意します。複数の独自のプログラミング環境を簡単にセットアップできるため、すべてのML実験にLinuxを使用することを個人的に好みます。 このガイドは、CPUのみの環境でも実行できるはずの小さなデータセットを使用する初心者向けのトレーニングセットと例として、Googleのコース資料を実行することを目的としています。

@umarnizわかりました、あなたの努力を軽蔑するつもりはありませんでした。 絶対にありません! あなたはそれを書くのに素晴らしい仕事をしました! 再度、感謝します!

ちなみに、これだけを言うと...もうそれほど単純ではないことは確かですが、Deep MNISTの例では、CPUで数時間かかりますが、GPU(GTX 980Ti)はせいぜい数秒でそれを通り抜けます。 ネイティブのUbuntuでは。 USBスティックに1つ設定しました。 それは機能しますが、デュアルブートは非常に面倒で、大きな意欲をそそる要因になる可能性があります。 LinuxからNTFSパーティション上のデータにアクセスする場合、UEFIシステム上の休止状態のWindowsはかなり扱いにくいため、さらにそうです...

確かに、Linux(Ubuntu)は、ほとんどの人が使用するOSであり、理由がないわけではないため、MLタスクに最適なOSであることに完全に同意します。 しかし、MLを生活のためだけでなく、趣味としてもやっている私のような熱狂的な人々や、たとえばゲームのようにWindowsに依存する他の趣味を並行して持っている愛好家にとってはまだ欠点があります。

それでも、それが解決されることを絶対に望んでいる最初の世界の問題だと思います。

@SeveQ私もそうは思いませんでした:)

デュアルブートが苦痛であることに同意します。数か月間Ubuntuに完全に移行する必要がありました。そうしないと、切り替えるのが非常に面倒になりますが、bashシェルが大規模なデータセットを操作するために提供するパワーが気に入っています。

TensorFlowのWindowsサポートを自分で追加するために何ができるかがわかると思います。

+1

@umarnizいいですね。 残念ながら、今はこれにも専念する時間がありません。 卒業のような他の優先事項...TensorFlowのWindowsサポートは、この問題では非常に役立ちます。 私は、機械学習を考えていたであろう専門のシステムエンジニアである修士号を取得しています...

これに関する更新

C++コードのポートを内部ブランチに作成します。 コードブランチに依存しているため、申し訳ありませんが公開できません。 C++とPythonのギャップを見つけてください。 しかし、コアエンジンは私たちのwindows/Vc環境で機能します。
H y

私のiPhoneから送信された

2016年1月30日午前2時46分、 datashinobinotifications @github.comは次のように書いています。

これに関する更新


このメールに直接返信するか、GitHubで表示してください。

Tensorflowを使用したい、GPUサポートを放棄できるすべての人のために、ここに、Dockerを使用したWindows用のjupyterノートブックサポートを使用したTensorflowのインストールに関するブログ投稿があります。

WindowsでのBazelのサポートに関する更新:BazelをWindowsで動作させるためのパッチの初期セットがマージされ(bazelbuild / bazel#276を参照)、 @dslomovはBazelをWindowsでブートストラップできるようになりました。

Bazel0.3でWindowsの実験的なサポートを計画しています。 進捗状況を確認したい場合は、Bazel課題追跡システムで「Windows」とタグ付けされた課題を参照してください。

C:\ Users \ Desktop> docker run -it b.gcr.io/tensorflow/tensorflow

画像' b.gcr.io/tensorflow/tensorflow:latest 'がローカルに見つかりません

docker:デーモンからのエラー応答:レジストリエンドポイントhttps://bgにpingできません
cr.io/v0/
v2 pingの試行がエラーで失敗しました:Get https://b.gcr.io/v2/:dial tcp 64.233.188
.82:443:i/oタイムアウト

DockerなしでWindowsでTensorFlowを使用できることに関するニュースはありますか?
LinuxとWindowsの両方で機能するCMakeビルドプロセス(MVSプロジェクトの作成)を提供するのはどれほど難しいでしょうか?

CentOS仮想マシンにテンソルフローをインストールするための手順を書きました。 Dockerの操作に問題がある場合は、これが解決策になる可能性があります。

新しい開発者プレビューを使用してWindowsにbashをインストールすると、テンソルフローがインストールされて機能します。 したがって、これを使用して、Dockerを使用せずにWindowsで実行できます。 (そして、より多くの人々がそれを使用しているので、それはおそらくWindowsのbashを改善するでしょう。)

それは素晴らしいです。
Windowsでbashを使用することは、Windowsでテンソルフローを使用することへの私の最大の希望でした。

最大の問題は、GPUドライバーを使用できるかどうかです。

これが、Windowsでのネイティブテンソルフローのインストールを求める人々の主な理由です。 それ以外の場合、CPUサポートはDockerまたはLinux仮想マシンを介して問題ありません

私にはその知識がありませんが、Windowsチームにそれについて尋ねる必要があります。
人々はGUIプログラムをウィンドウで動作させるようになっていますが、CPUを使用していません
GPUなので、現在アクセスできないと思います
2016年4月19日午後5時37分、「hayder78」 [email protected]は次のように書いています。

それは素晴らしいです。
Windowsでbashを使用することは、Windowsでテンソルフローを使用することへの私の最大の希望でした。

最大の問題は、GPUドライバーを使用できるかどうかです。

これが、ネイティブのテンソルフローのインストールを求める人々の主な理由です
Windowsで。 それ以外の場合、CPUサポートはDockerまたはLinuxを介して問題ありません
仮想マシン


コメントしたのでこれを受け取っています。
このメールに直接返信するか、GitHubで表示してください
https://github.com/tensorflow/tensorflow/issues/17#issuecomment -212156142

うん。 Windowsでbashを介して実行されるGUIプログラムは、汎用GPUドライバーを使用することを読みました。 つまり、nvidiaドライバーを使用しません。

Googleが内部でWindowsのテンソルフローに取り組んでいることを祈りましょう。

Windows用のbashは、十分に成熟してバグがないようにするために時間が必要だと思います。 それまでの間、おそらくVMとdockerの方が適しています。

現在、テンソルフローとCNTKのどちらかを選択しています。

GPUを含むWindowsネイティブサポートの+1。

@davidzchenによって提供されたBazelのWindowsの問題をたどるリンクが機能していません。正しいものはhttps://github.com/bazelbuild/bazel/labels/category%3A%20windowsです。

(誰もがWindowsネイティブサポート+ GPUを望んでいることを知っています。私も待っていますが、Bazel for Windowsが安定するまで待たなければなりません。テストを支援し、Bazelに貢献することで、おそらくプロセスがスピードアップします)

GPUをサポートするWindowsの場合はさらに+1。 TFの方が良いオプションのように見えましたが、WindowsでGPUがサポートされていなかったため、結果としてTheanoに切り替える必要がありました。 TFのロードマップに、将来のリリースでサポートが利用可能になるかどうかについての言及があると便利です。これは、多くの研究者の意思決定に役立つためです。

+1

+1

興味深いニュースの1つ: @shanselmanが、BashforWindowsでのTensorFlowの実行に関するブログ投稿を作成しました。

私たちは今でもファーストクラスのWindowsサポートを提供するつもりですが、冒険好きなユーザーは、それまでの間、これを始めるのに良い方法だと思うかもしれません。

@mrryこんにちはデレクマレー、
Googleソフトウェアエンジニアとして、テンソルフローのネイティブWindowsサポートを提供する予定であるとのことで、うれしく思います。 あなたはGoogleのテンソルフロー開発者チームの一員ですか?

少なくとも今は希望があります。

ベータリリースがいつになるかについての大まかな見積もりはありますか?

別の+1、これが起こるのを見るのに非常に興味があります。 Bazelが実際にWindowsで実行されている場合、TFは実際にプラットフォームでコンパイルされますか? または、ネットワーク、ファイルシステムコールなど、他の移植性の問題もありますか?

+1

皆さん、新しいメッセージに「+1」と書くのではなく、 GitHubのリアクションを使用していただけませんか。 現在、このスレッドの更新をサブスクライブしている人々に多くのスパムを生成します。 ありがとう!

GitHubリアクションの+1!

いくつかの名前の誤り(不正な文字や非常に長いコマンド)を除けば、今ではほとんどの場合、bazelはWindowsで機能するようです。 動作するバゼルを使用する以外に、動作するWindowsテンソルフローを取得することには間違いなく問題があります。 私がこれまでに得たすべてのエラーは、次のタイプです。
ERROR: C:/tensorflow-orig/tensorflow/contrib/metrics/BUILD:16:1: in linkshared attribute of cc_binary rule //tensorflow/contrib/metrics:python/ops/_set_ops.so: 'linkshared' used in non-shared library. Since this rule was created by the macro 'tf_custom_op_library', the error might have been caused by the macro implementation in C:/tensorflow-orig/tensorflow/tensorflow.bzl:599:31.
したがって、最初にWindowsのビルドルールを更新する必要があると思います。

テンソルフローの公式ロードマップ:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/resources/roadmap.md

Windowsのサポートは、今後数か月を対象とした近い将来のロードマップの一部です。

@Sabrewarrior bazelを使用してWindowsでテンソルフローを構築しようとしましたが、設定ファイルでエラーが発生します。 Windowsでサポートされるように、そのファイルの一部を変更または追加したかどうか疑問に思います

@Fhrozen https://github.com/Sabrewarrior/tensorflow/blob/test/tf_win_env.txt
これらは、変更なしでconfigureを実行したときにインストールされたパッケージです。 私はこれをWindows10マシン上のpython2.7を使用してmsys2で実行しています。

@Sabrewarrior回答ありがとうございます。 私はそれをチェックしました、フォルダ名のスペースが私の問題でした。
今、私はcudaバージョンでこのエラーが発生しました。

`ホストコンパイラとして使用するgccnvccを指定してください。 [デフォルトは/mingw64/ bin / gcc]:
使用するCudaSDKのバージョン(7.0など)を指定してください。 [システムデフォルトを使用するには空のままにします]:7.5
CUDA7.5ツールキットがインストールされている場所を指定してください。 詳細については、README.mdを参照してください。 [デフォルトは/usr/ local / cuda]:C:/CUDA/v7.5
使用するCudnnバージョンを指定してください。 [システムデフォルトを使用するには空のままにします]:4.0.7
cuDNN4.0.7ライブラリがインストールされている場所を指定してください。 詳細については、README.mdを参照してください。 [デフォルトはC:/CUDA/v7.5]:cuda /
構築するコンマ区切りのCudaコンピューティング機能のリストを指定してください。
デバイスのコンピューティング機能は、 https://developer.nvidia.com/cuda-gpusにあります。
計算機能を追加するたびに、ビルド時間とバイナリサイズが大幅に増加することに注意してください。

Cudaのセットアップには以下が含まれます
Cudaのセットアップ
ln:fallo al crearelenlacesimbólico'../../../third_party/gpus/cuda/extras/visual_studio_integration/MSBuildExtensions/CUDA':そのようなファイルまたはディレクトリはありません
ln:fallo al crearelenlacesimbólico'../../../third_party/gpus/cuda/extras/visual_studio_integration/MSBuildExtensions/7.5.props':そのようなファイルまたはディレクトリはありません
ln:fallo al crearelenlacesimbólico'../../../third_party/gpus/cuda/extras/visual_studio_integration/MSBuildExtensions/CUDA':そのようなファイルまたはディレクトリはありません
ln:fallo al crearelenlacesimbólico'../../../third_party/gpus/cuda/extras/visual_studio_integration/MSBuildExtensions/7.5.targets':そのようなファイルまたはディレクトリはありません
ln:fallo al crearelenlacesimbólico'../../../third_party/gpus/cuda/extras/visual_studio_integration/MSBuildExtensions/CUDA':そのようなファイルまたはディレクトリはありません
ln:fallo al crearelenlacesimbólico'../../../third_party/gpus/cuda/extras/visual_studio_integration/MSBuildExtensions/7.5.xml':そのようなファイルまたはディレクトリはありません
xargs:bash:ステータス255で終了します。 中絶
`

@Fhrozen AFAIKは、Windows上のCUDAのコンパイラとしてgccを使用することはできません。 Visual C ++コンパイラのみがWindows上のCUDAでサポートされています(ここを参照)。

+1

また! 使用しないでください_+1_コメント! 代わりにGITHUBREACTIONSを使用してください!

+1

+1を停止します!!!

繰り返しますが、+ 1を$%{^¥酒で止めてください! この後に+1とコメントする人は誰でもばかです! :-P Githubの反応を使用してください、くそっ!

誰かが私にある種のモデレーターステータスを教えてもらえますか? 無駄な+1コメントからこの問題を一掃したいと思います。

こんにちはチーム。 CUDAを介したGPUサポートを備えたWindows(10、私は推測)でTensorFlowを使用できるようにするために、どのような作業を行う必要があるかを理解しようとしています。 私がこれまでに知っていることから、DockerはホストのGPUにアクセスできないため、Dockerは除外されます。つまり、Visual Studioのcl.exe(Bazel for Windowsが使用するもの)を使用する必要があります。

それから、進歩する必要があるのはWindows用のBazelだけですか? ここで満たされていない依存関係はそれだけですか? いつでも修正できてうれしいです。

WindowsでBashをオンにしたい場合は、 Windows Subsystem for Linux(ベータ版)を確認する必要がありますか? しかし、このメニューがWindowsの[機能]ダイアログに見つかりません。 私はここここのガイドに従っています。
[Windowsの機能]ダイアログで[Hyper-V]チェックボックスをオンにする必要がありますか?
すでに設定で開発者モードもオンにしています。

これらのWindowsベータbash機能を捨てて、Dockerを不本意に使用する必要があるようです。

@ off99555 Windows 10には、最新のプレビューリリース(ファストリング)が必要です。 ビルドを確認してください。ビルドが約14000未満の場合は、まだこの機能を使用していません。 (このアップデートは8月2日GAになります)

こんにちは、

Tensorflow Windowsをサポートするために、msys2バイナリではないWindowsバイナリを構築できるようになりますか? ほとんどのユーザーのマシンで実際の展開を行うことが可能であるため、これは理にかなっています。

これが不可能な場合は、この目的のために、ライブラリの予測パス/フォワードパスの簡略化されたバージョンをデプロイする方法がありますか? Linuxで問題なくトレーニングできますが、実際の予測プロセスでは、msys2を使用せずに通常のWindowsボックスにデプロイできるようにしたいと思います。 これはロードマップにありますか?

CNTKが何をしているのかを見ると:
https://github.com/Microsoft/CNTK/wiki/Native-Evaluation-Interface

簡素化されたDLLを使用して評価/予測を行うためのはるかに簡単な方法があります。 Windows用のTensorflowでもこのようなものを使用できますか(そして私が想像できる他のプラットフォームでは非常に便利です)。

ありがとう!

WindowsではなくMacOSのサポートが追加された理由がわかりません。 ほとんどのMacでは通常のCUDAGPUを使用できません。 ディープラーニングトレーニングには役に立たないプラットフォームです

チームは、ネイティブWindowsサポートの見積もりについて教えてください。

@mrryはこれに積極的に取り組んでおり、特定の質問がある場合は、これに関する最新情報を提供できます。

@aselle便利なアップデートをありがとう、大いに感謝します!

@mrryこんにちは、Windows実装の詳細はどのように展開されますか?

1)アプリ/ツールを使用して構築できるVS2015ソリューションが(理想的には)ありますか? VSソリューションを生成するcmakeメソッドも機能します。

2)これは静的にリンクされたライブラリまたは動的にリンクされたライブラリになりますか?

3)ツール/アプリでの展開に使用できる軽量のフォワードパス/評価モジュール/ライブラリはありますか?

C++スタンドアロンアプリでのテンソルフローのデプロイに関して私が見つけた現在のリソースは次のとおりです。
https://medium.com/jim-fleming/loading-a-tensorflow-graph-with-the-c-api-4caaff88463f#.7ejb8h7zk

私の主な関心事はここに述べられていることです:
「この単純な例でも、ビルドは巨大で、103MBになります。これの多くは、TensorFlow、CUDAサポート、および私たちが使用することのない多数の依存関係のためのものです。これは、C ++ APIが現在多くの機能をサポートしていないため、特に当てはまります。 TensorFlow APIの大部分はPythonのみであるため、TensorFlowにリンクするためのより良い方法(共有ライブラリなど)はおそらくありますが、まだ機能していません。」

特にGPUサポートを実際に必要としないフォワードパス/評価の目的で、優れた大規模な静的ライブラリのリンクを回避するためのより良い方法がある場合。

ありがとう!

@mrry他の人はどうやってこれに参加できますか? TensorFlowをWindowsでできるだけ早く実行できるようにするにはどうすればよいですか? 少なくとも、テストとバグ報告を支援することができます。

+1

Windowsの更新はありますか? GPUも利用できるようにしてネイティブに実行するには何が必要ですか?

Windowsのサポートが必要です!!!!
チームは、ネイティブWindowsサポートの見積もりについて教えてください。

窓がない? なぜ? 少なくともCPUのみのバージョン?

これは、このWindowsサポートの問題で起こっていると私が思うことの要約です。

Tensorflowでは、ソースからビルドするためにBazelが必要です。私が間違っていなければ、BazelはGNU Makeのようなビルドシステムですが、コンパイラではありません。

コードを簡単にスキャンしたときに見たものに基づくと、Tensorflow自体のソースコードはスレッド化などにほとんど標準のC ++ライブラリを使用しているため、Windowsでコンパイルしても問題はありません。使用する必須のサードパーティライブラリはすべてWindowsをサポートしています。

したがって、主な問題は、ソースコード自体ではなく、Windowsのビルド方法がないことにあると思います。 Bazelの代わりにCMakeを使用してビルドする作業がありますが、まだ完了していません。 誰かがBazelビルドルールをCMakeに変換できれば、Windowsでビルドできると思います。

Windowsの安定したBazelのサポートには、まだ長い道のりがあります

ここで間違えた場合は訂正してください。

@eiva CPUのみのサポートが必要な場合は、仮想マシンでTensorflowを実行できます。 私は問題なくWindows10ホスト上のUbuntu14でそれを実行しました。

@rongjiecomputerなぜ彼らがBazelを使用したのか正直に疑問に思います...

@eivaWindowsホストで使用できるビルド済みのDockerコンテナもあります。 箱から出して動作します。 GPUをサポートせずにテンソルフローを操作するのはそれほど楽しいことではありません。 クールなものには、少なくとも1つのGPUが必要です。 もちろん、GPUなしで線形回帰やロジスティック回帰などの基本的なものを実行できます。 しかし、それはテンソルフローの長いスーツではありません。 これは、基本的にGPUを必要とするディープラーニングタスク用に作成されています。

@marklit私はすでにこの方法で使用していますが、ほとんどのアプリはWindowsで実行されており、開発のほとんどはWindowsで行われています...システムのさまざまな部分で何かを行うたびにOSを切り替えるのは簡単ではありません...

@Loo Rong
あなたの憶測は正しいです!
https://www.quora.com/Why-did-Google-decide-to-use-Bazel-with-TensorFlow/answer/Derek-Murray-3

2016年9月12日12:17PM、「EugeneIvanchenko」 [email protected]
書きました:

@marklit https://github.com/marklit私はすでにこの方法で使用していますが、ほとんどの場合
私のアプリはWindowsで実行されており、開発のほとんどは進行中です
Windows...何かをするたびにOSを切り替えるのは簡単ではありません
システムのさまざまな部分...


このスレッドにサブスクライブしているため、これを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/tensorflow/tensorflow/issues/17#issuecomment -246239719、
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/AEBIBhhA-t1MrFnddm5k-wER0KAm_p30ks5qpNJTgaJpZM4GexU4

Windows上のTensorFlowに関心をお寄せいただきありがとうございます。 私たちは2つの主要な面で進歩を遂げています:

  1. TensorFlowのBazel BUILDファイルをWindowsで動作するように適合させます。 @meteorcloudyからその方向への最近のプルリクエスト(#4449など)をいくつか見たことがあるかもしれません。最終的な計画では、WindowsでBazelを使用してTensorFlowを構築するための完全なサポートを提供する予定です。
  2. Visual C++2015コンパイラでビルドするようにTensorFlowランタイムを変更します。 私はこの取り組みに取り組んできましたが、HEADと私の作業部門との差分は毎日小さくなっています。 今のところ、CMakeを使用してVisual Studio / MSBuildを使用してTensorFlowをビルドしていますが、 BUILDファイルがクロスプラットフォームで機能する場合はBazelに切り替える予定です。

バイナリPIPパッケージとWindowsでTensorFlowを構築するための手順を含む、まもなく発表される予定です。 当面の間、共有するニュースがありましたら、この問題を更新します。


@kestrelmからの特定の質問への回答:

  1. 私は現在、CMakeを使用して複数のプロジェクトでVSソリューションを生成しています。これを、上記の項目(2)の一部としてマージします。
  2. 少なくとも、ランタイムとすべてのカーネル( tensorflow/python/_pywrap_tensorflow.soに相当)を含むPython拡張DLLを生成し、静的にリンクされたC ++バイナリ( tensorflow/cc/tutorials/example_trainer.ccに相当)を構築するための手順を提供できます。 )。
  3. これらの機能(C APIの背後にあるDLL内の推論関連カーネルのAndroidサブセットのようなもの)を備えたランタイムのバージョンを簡単に作成できますが、おそらく初期リリースの一部ではありません。 ただし、ビルドファイルを変更して、これらのプロパティを持つターゲットを作成することは可能です。それを実行しようとしている人を喜んでお手伝いします。

素晴らしい仕事、@ mrry!

バイナリPIPパッケージとWindowsでTensorFlowを構築するための手順を含む、まもなく発表される予定です。

その発表がいつになるかについて、大まかな見積もりを教えてください。 待ちきれません!

@mrry :Derek、確実な更新。 残りのmakefile/コンパイラフレームワークが固まる前に、バイナリGPUリリース(ベータ版)がありますか? 少なくとも人々はPythonAPIに対して試してみることができます...

親愛なる達人:

Windows 10でソースコードからテンソルフローを構築しようとしました。安定していない可能性がありますが、Windowsではbazelがすでにサポートされていると報告されています。 それにもかかわらず、私は動作するものを手に入れました。
ただし、テンソルフローを構築しようとすると、2つの問題があります。最初は、「bazelclean--expunge_async」がパーミッションの問題で失敗したことを示しています。 それほど深刻ではないに違いない。 次の問題はビルドをブロックするため、少し重要です。 それは報告します:

..。
情報:1つのターゲットが見つかりました...
情報:再構築の説明を「logfile」に書き込んでいます
エラー:入力ファイル'@ local_config_cuda // cuda:lib64/libcublas.so 'がありません。
エラー:C:/tensorflow/tensorflow/tools/pip_package/ BUILD:23 :1:// tensorflow / tools / pip_ package:build_pip_package :欠落している入力ファイル'@ local_config_cuda // cuda:lib64/libcublas.so '。
ターゲット//tensorflow/ tools / pip_ package:build_pip_packageがビルドに失敗しました
エラー:C:/ tensorflow / tensorflow / tools / pip_package / BUILD:23 :11入力ファイルが存在しません。
情報:経過時間:34.644秒、クリティカルパス:1.52秒

実際、構成プロセス中に、GPUサポートを意図的に無効にしましたが、なぜCUDAに関連するダイナミックライブラリをロードしようとするのでしょうか。

GPUサポートを無効にしているため、スタブライブラリはサイズがゼロでDLLファイル拡張子が正しく作成されています。 ただし、エラーメッセージのように、CUDA関連ライブラリをロードする要件がどこから発生したのかわかりません。 いくつかのファイルをチェックしましたが、それでもわかりません。 その間、SOファイルではなくDLLファイルを探す必要があるため、ファイルの書き込みも不十分だと思います。 しかし、私にはまだ手がかりがありません。

誰かがこの問題について何か考えを持っていますか? どうもありがとう。

マージされたPR#4778で見たかもしれませんが、CMakeを使用してWindowsでTensorFlowを構築するための予備的なサポートがあります。 これは、C ++サンプルトレーナープログラムで使用するためのCPUのみのバージョンのTensorFlowと、Pythonで使用するためのPIPパッケージのビルドをサポートします。 WindowsでソースからTensorFlowをビルドする方法の詳細と手順については、 CMakeのreadmeを参照してください。

これはアルファ品質のコードであり、この初期バージョンにはバグがあると予想されます。 見つかった場合は、特定の問題について新しいGitHubの問題を提起してください。

現在、私たちの焦点は、WindowsでのTensorFlowのGPUサポートの取得と、WindowsおよびLinux用の一般的なBazelベースのビルドへの移行に移っています。 他の機能リクエストがある場合は、GitHubの新しい問題を提起してください。

このビルド済みプロジェクトhttps://github.com/shishaochen/TensorFlow-0.8-Winを使用していましたが、GPUをサポートしていません。

@mrryこんにちは、Derek、TensorFlowへの貢献に感謝します。
@cesardelgadofこんにちは、Cesar、情報ありがとうございます。

ただし、WindowsプラットフォームでのTensorFlowのビルドを妨げる以前の障害は、Windowsでbazelが使用できないことだと思います。 現在は利用可能ですが、安定していない可能性があるため、bazelを使用してTensorFlowを構築する場合は、問題を先に解決することをお勧めします。

個人的には、Googleの人たちは、Windowsでのネイティブビルドをサポートする計画がある場合は、おそらくbazelを選択すると思います。 そして、公式の解決策が利用可能になると、人々はcmakeからbazelに切り替えると思います。 それで、そのような日があるなら、なぜ私たちはその日が早く来るように一緒に働くのですか?

それにもかかわらず、私はcmakeバージョンを試してみます。うまくいけば、他の誰かがbazelビルドシステムも試してみるでしょう。 おそらく、厄介なエラーの原因を突き止め、記述が不十分な構成ファイルを見つけることができます。

みなさん、ありがとうございました。

@mrry大きな貢献をありがとう! 私はあなたの指示に従おうとしました。 それが失敗するまで、すべてが完璧に(約45分間)動作するようです:

「C:\ ProgramFiles(x86)\ MSBuild \ Microsoft \ NuGet \ Microsoft.NuGet.targets(186,61)」のBeforeTargets属性にリストされているターゲット「BeforeGenerateProjectPriFile」はプロジェクトに存在しないため、無視されます。
プロジェクトの構築が完了しました"H:\ PycharmProjects \ tensorflow \ tensorflow \ contrib \ cmake \ build \ tf_python_build_pip_package.vcxproj"(デフォルトのターゲット)-失敗しました。

"H:\ PycharmProjects \ tensorflow \ tensorflow \ contrib \ cmake \ build \ tf_python_build_pip_package.vcxproj"(デフォルトのターゲット)(1)->
"H:\ PycharmProjects \ tensorflow \ tensorflow \ contrib \ cmake \ build \ pywrap_tensorflow.vcxproj"(デフォルトのターゲット)(3)->
"H:\ PycharmProjects \ tensorflow \ tensorflow \ contrib \ cmake \ build \ tf_core_cpu.vcxproj"(デフォルトのターゲット)(4)->
"H:\ PycharmProjects \ tensorflow \ tensorflow \ contrib \ cmake \ build \ tf_core_framework.vcxproj"(デフォルトのターゲット)(5)->
(CustomBuildターゲット)->
C:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ V140 \ Microsoft.CppCommon.targets(171,5):エラーMSB6006:「cmd.exe」がコード1で終了しました。[H:\ PycharmProjects \ t
ensorflow \ tensorflow \ contrib \ cmake \ build \ tf_core_framework.vcxproj]

30 Warning(s)
1 Error(s)

@laudney試していただきありがとうございます。エラーが発生していることをお詫び申し上げます。 この問題には多くのサブスクライバーがいるため、この問題の修正を追跡するために問題#4798を作成しました。そこで、そこで議論を続けましょう。

@mingyrできるだけ早くBazelを使用してWindows上にTensorFlowを構築することを望んでいます。 @meteorcloudyはこれを実現するためにスターリング作業を行っており、彼はPR#4796を送信しました。これにより、BazelはWindowsで//tensorflow/cc:tutorials_example_trainerを構築できます。 すぐに統合することを目指します。

@mrry #4798に感謝します。これで、正常にビルドされ、Python whlインストールもテストされましたが、これまでのところ問題は見つかりませんでした。

すぐにコンダでテンソルフローが表示されることを期待しています。

Docker / VirtualBoxは非常に悪いソリューションであるため、仮想化環境でTensorflowを使用してください。 TensorflowはWindowsでネイティブに実行する必要があります。 (そして、ほとんどがPythonでコーディングされているので、Windows用のディストリビューションを作成するのに問題はないはずです。)

皆さんこんにちは! @mrryが述べたように、私はBazelを使用したTensorFlowWindowsビルドに取り組んでいます。 PR#4796とPR#4874がマージされ、C++サンプルトレーナーがBazel0.3.2を使用してWindows上に構築されるようになりました。

WindowsでBazelを使用してTFを構築する方法についての簡単な説明は次のとおりです。

  • WindowsにBazelをインストールする(インストール手順
  • MSVCを使用してC++を構築するためにBazelが必要とする環境をセットアップします
  • TFリポジトリのクローンを作成し、MSYSで./configureを実行します
  • bazel build -c opt --cpu=x64_windows_msvc --host_cpu=x64_windows_msvc //tensorflow/cc:tutorials_example_trainer --verbose_failures実行します

便宜上、ビルドオプションを~/.bazelrcに入れることができます。私のものは次のようになります。

build -c opt
build --cpu=x64_windows_msvc --host_cpu=x64_windows_msvc
build --copt="/w"                  # Suppress some warning messages
build --experimental_ui            # Enable a nice UI 

既知の問題は、BazelのMSVCラッパースクリプトがBazel 0.3.2のpython3をサポートしていないことですが、 https://github.com/bazelbuild/bazel/commit/ce5c33dd7e96aff0cf1eb993edd41a5fe8c423f2ですでに修正されています。 BAZEL_PYTHONをpython 2.7バイナリに設定するか、HEADからBazelをビルドすることで、これを解決できます。

Bazelを使用したC++サンプルトレーナーのビルドには、私のマシン(Windows 7、CPU 2.9GHz、RAM 64G)で約20分かかります。ソースファイル(つまりarray_ops.cc )を変更した後のインクリメンタルビルドは約1分です。

また、Bazelを使用してWindows上でpythonPIPパッケージを構築することについてもある程度の進歩を遂げています。できるだけ早くPRを送信します。

WindowsでBazelを使用してTensorFlowを構築してみて、改善できる点を教えてください。

@meteorcloudy 、こんにちは、ユン:
C ++サンプルトレーナーは、Windowsにインストールされているビルド済みのbazelバイナリでビルドする必要がありますか、それとも最新のgitバージョンのbazelと同期して、カスタムビルドのbazelを使用できますか?

実際、私は2番目の方法を選択し、カスタマービルドバゼルを使用しますが、次のように文句を言います。

エラー:C:/ tensorflow / tensorflow / core / BUILD:108 :1:出力'tensorflow / core / exampl e/example.pb.h'が作成されませんでした。
エラー:C:/ tensorflow / tensorflow / core / BUILD:108 :1:出力'tensorflow / core / exampl e/example_parser_configuration.pb.h'が作成されませんでした。
エラー:C:/ tensorflow / tensorflow / core / BUILD:108 :1:出力'tensorflow / core / exampl e/example.pb.h'が作成されませんでした。
エラー:C:/ tensorflow / tensorflow / core / BUILD:108 :1:出力'tensorflow / core / exampl e/feature.pb.h'が作成されませんでした。
.....。

私が取ったビルドの手順:
$ cd c:/ tensorflow
$ export JAVA_HOME = "$(ls -d C:/ Program \ Files / Java / jdk * | sort | tail -n 1)"
$ export BAZEL_SH = c:/tools/msys64/usr/bin/bash.exe
$ export BAZEL_VS = "C:/ Program Files(x86)/ Microsoft Visual Studio 14.0"
$ export BAZEL_PYTHON = C:/Python27/python.exe
$ export PATH = $ PATH:/ c / Python27:/ c / Python27 / Scripts:/c/tools/swigwin-3.0.10:/c/bazel/output

。/構成、設定

bazel build -c opt --cpu = x64_windows_msvc --host_cpu = x64_windows_msvc // tensorflow / cc:tutorials_example_trainer --verbose_failures

なにか提案を?

ありがとう。

@meteorcloudyこんにちはユン、

同様の手順に従いましたが、次のエラーが発生します。
cd C:/ tools / msys64 / var / tmp / Bazel / V1uFCi $ H / execroot / tensorflow
bazel-out / host / bin / external / protobuf / protoc.exe --cpp_out = bazel-out / vc_14_0_x64-opt / genfiles / --plugin = protoc-gen-grpc = bazel-out / host / bin / external / grpc /grpc_cpp_plugin.exe --grpc_out = bazel-out / vc_14_0_x64-opt / genfiles/-I。 -Iexternal / protobuf / src -Ibazel-out / vc_14_0_x64-opt / genfiles / external / protobuf / src tensorflow / core / debug / debug_service.proto:com.google.devtools.build.lib.shell.BadExitStatusException:プロセスがステータスで終了しました1.1。
azel-out / vc_14_0_x64-opt / genfiles / external / protobuf / src:警告:ディレクトリが存在しません。

フォルダを確認しましたが、protobufにsrcディレクトリがありません。 また、bazel_out / host / bin / external /にはgrpcフォルダーがありません(したがって、grpc_cpp_plugin.exeファイルはありません)。

このエラーの後には、tensorflow/core内のファイルが作成されないという一連のエラーが続きます

それを修正する方法はありますか?

ありがとう

@mingyr @karthiek BazelでTFを構築していただき、ありがとうございます。
残念ながら、 http://ci.bazel.io/job/TensorFlow/によると、TFビルドはLinuxでBazel at HEADを使用しても失敗し、同様のエラーが発生します。 修正中ですが、 Bazel 0.3.2で再試行できますか?

@meteorcloudyこんにちはユン:

「Bazel0.3.2で再試行できますか」とはどういう意味ですか?

公式のビルド済みWindowsバイナリを意味しますか、それとも最新バージョンのbazelに同期して、私のビルドを使用できますか?

実際、私はすでに最新バージョンのbazelに同期して、自分のビルドを使用しています。 問題がまだ解決されていないかどうかを確認するために、公式のビルド済みバイナリを試す必要があることを示した場合は、お知らせください。

BR

@mingyrはい、私は「公式のビルド済みバイナリ」を意味します。 HEADに同期した後、同じエラーが発生します。
https://github.com/bazelbuild/bazel/issues/1929を参照してください

@meteorcloudyこんにちは、ユン

提案をありがとう。 0.3.2のプリコンパイル済みバイナリを使用してみましたが、tutorilas_example_trainer.exeファイルをコンパイルして生成することができました。

@karthiek成功してよかったです! どれくらいかかりましたか? CMakeビルドよりも高速ですか?

@meteorcloudy約15分かかりました(Intel(R)Core(TM)i7-6700 CPU @ 3.40GHz)。 ちょうど昨日、ウィンドウにテンソルフローを構築する必要がありました。 それで、私はあなたが提案した最後の方法を直接試しました。 CMakeを使ってビルドしようとはしませんでした。

こんにちは、私は@meteorcloudyアプローチに従おうとしましたが、以下のようなエラーが発生しました。 誰か助けてもらえますか?

bazel build -c opt --cpu = x64_windows_msvc --host_cpu = x64_windows_msvc // tensorflow / cc:tutorials_example_trainer --verbose_failures
情報:分析されたターゲット// tensorflow / cc:tutorials_example_trainer。
情報:1つのターゲットが見つかりました...
エラー:C:/ Programming / tensorflow / tensorflow / core / BUILD:1064 :1:genruleの実行// tensorflow / core:version_info_genに失敗しました:bash.exeに失敗しました:コマンドの実行中にエラーが発生しました
cd C:/ tools / msys64 / var / tmp / Bazel / s5nfxnhX / execroot / tensorflow
SET PATH = C:\ tools \ msys64 \ usr \ local \ bin; C:\ tools \ msys64 \ usr \ bin; C:\ tools \ msys64 \ usr \ bin; C:\ tools \ msys64 \ opt \ bin; C :\ Windows \ System32; C:\ Windows; C:\ Windows \ System32 \ Wbem; C:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \; C:\ tools \ msys64 \ usr \ bin \ site_perl; C:\ tools \ msys64 \ usr \ bin \ vendor_perl; C:\ tools \ msys64 \ usr \ bin \ core_perl; C:\ Program Files \ Google; C:\ WinPython-64bit-2.7.10.2 \ python-2.7.10.amd64; C:\ WinPython-64bit-2.7.10.2 \ python-2.7.10.amd64 \ Scripts; C:\ tools \ swigwin-3.0.10; C:\ Program Files \ java \ jdk1.8.0_102 \ bin
C:/tools/msys64/usr/bin/bash.exe -c source external / bazel_tools / tools / genrule / genrule-setup.sh; tensorflow / tools / git / gen_git_source.py --generate tensorflow / tools / git / gen / spec.json tensorflow / tools / git / gen / head tensorflow / tools / git / gen / branch_ref "bazel-out / vc_14_0_x64-opt / genfiles / tensorflow / core / util / version_info.cc ":com.google.devtools.build.lib.shell.BadExitStatusException:プロセスがステータス1で終了しました
トレースバック(最後の最後の呼び出し):
ファイル"tensorflow/ tools / git / gen_git_source.py"、行258、
generate(args.generate)
ファイル"tensorflow/ tools / git / gen_git_source.py"、行210、生成
git_version = get_git_version(data ["path"])
get_git_versionのファイル"tensorflow/ tools / git / gen_git_source.py"、行151
"--long"、 "--dirty"、 "--tags"])。strip()
ファイル"C:\ WinPython-64bit-2.7.10.2 \ python-2.7.10.amd64 \ lib \ subprocess.py"、行566、check_output
プロセス=Popen(stdout = PIPE、_popenargs、* _kwargs)
ファイル"C:\ WinPython-64bit-2.7.10.2 \ python-2.7.10.amd64 \ lib \ subprocess.py"、行710、 init
errread、errwrite)
ファイル"C:\ WinPython-64bit-2.7.10.2 \ python-2.7.10.amd64 \ lib \ subprocess.py"、行958、_execute_child
startupinfo)
WindowsError:[エラー2]システムは指定されたファイルを見つけることができません
エラー:C:/tools/msys64/var/tmp/Bazel/s5nfxnhX/external/jpeg_archive/ BUILD:74 :1:宣言された出力'external / jpeg_archive/jconfig.h'はgenruleによって作成されませんでした。 これはおそらく、genruleが実際にこの出力を作成しなかったか、出力がディレクトリであり、genruleがリモートで実行されたためです(宣言されたファイル出力の内容のみが、リモートで実行されるgenruleからコピーされることに注意してください)。
エラー:C:/tools/msys64/var/tmp/Bazel/s5nfxnhX/external/gif_archive/ BUILD:35 :1:宣言された出力'external / gif_archive / windows/unistd.h'はgenruleによって作成されませんでした。 これはおそらく、genruleが実際にこの出力を作成しなかったか、出力がディレクトリであり、genruleがリモートで実行されたためです(宣言されたファイル出力の内容のみが、リモートで実行されるgenruleからコピーされることに注意してください)。
ターゲット//tensorflow/ cc:tutorials_example_trainerのビルドに失敗しました
情報:経過時間:4.967秒、クリティカルパス:0.96秒
失敗:ビルドが正常に完了しませんでした

@bssrdfの症状はhttps://github.com/bazelbuild/bazel/issues/1463に似ているようです。
ワークスペースがC:ドライブ上にない場合に破損するのは、Windowsでのbazelの既知の問題です。

その場合、回避策はジャンクションを作成することです-テンソルフローチェックアウトがd:\src\tensorflowにある場合、以下が機能するはずです

C:\> mklink /j d_src d:\src
C:\> cd c:\d_src\tensorflow
C:\D_SRC\TENSORFLOW> bazel build ...

https://github.com/bazelbuild/bazel/issues/1463#issuecomment-251967323を参照してください
ご不便をおかけして申し訳ありませんが、できるだけ早く修正いたします。

@bssrdfうーん、もう一度見てみると、そうではないかもしれません-PATHにgitがない可能性がありますか?

@meteorcloudyこんにちは、ユン:

また、コンパイル済みのbazelバイナリバージョン0.3.2を使用してC++サンプルトレーナーをコンパイルしても問題がないことを確認します。

私のノートブックは古いものであり、その間他のタスクを実行するため、ベンチマークの観点からはコンパイル時間は意味がありません。

あなたの仕事に感謝し、WindowsでpythonPIPパッケージをコンパイルするための遠い言葉を見てください

BR

@mingyrそれは素晴らしいです!
しかし、すべての人への通知です。私の修正が何らかの理由でbe3bc472a52571a83f048479d6a4fa528b5a495eに戻されたため、サンプルトレーナーはTFHEADでビルドできません。
良いニュースは、Bazelを使用したPythonPIPパッケージの構築が間近に迫っていることです。 PR#4942をご覧ください

@dslomov返信ありがとうございます。 あなたが提案したように、私はバゼルnon-c:ドライブワークスペースの問題を解決する必要がありました。 Windows用のgitをインストールしましたが、GitはMSYS2のPATHに表示されます。

bazel buildコマンドを再起動したところ、奇跡のように機能しています。 昨日何が起こったのかわかりません。 とにかく、これはWindows 10ホーム、VS 2015コミュニティエディション、ビルド済みのbazel0.3.2およびWinpython-2.7.10.2での成功のもう1つの確認です。

ユンの仕事に感謝します。

@meteorcloudy 、手順に従ってGPUバージョンをビルドすることは可能ですか(もちろん、bazelビルドを変更します)?

@mrryこんにちはデレク、あなたの貢献に感謝します、しかし私はテンソルボードでこの問題を抱えています、それは機能しません:

C:\Users\Cesar\Documents\Notebooks\DeepLearning>tensorboard --logdir='./my_graph/'
Traceback (most recent call last):
  File "c:\program files\anaconda3\lib\runpy.py", line 184, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\program files\anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Program Files\Anaconda3\Scripts\tensorboard.exe\__main__.py", line 5, in <module>
ImportError: No module named 'tensorflow.tensorboard'

@bssrdfコードはまだWindowsでGPUをサポートしていないため、おそらくそうではありません。 @mrryは、TFコードをMSVCでコンパイルするためのすべての作業を行い、GPUサポートの修正に注力してきました。

実稼働で使用するためのETAについて、ある程度の知識に基づいた推測がありますか?

ここでWindowsでBazelを使用している人に関係があるようです。 インストールを簡単にするためにチョコレートのパッケージを作成しました。 https://chocolatey.org/packages/bazel。 試してみてください。問題がある場合は(_is_ new)、bazelbuild/bazelでツイートまたは問題を提起してください。

@mrryと@guschmueのおかげでGPUサポートが終了しました。
手順はreadmeで更新されます。

誰かがWindowsでコンパイルしてPIPパッケージを作成することができましたか? ありがとう。 :)

マスター(66f979714c9a8582059f383ec1505d13c9e8c523)は、WindowsのCPUとGPUに対して正常にビルドする必要があります。 手順はtensorflow/contrib / cmake / README.mdにあります(今はcmake 3.6を使用してください)。

Tensorboardは機能しないため、含まれていません。

C:\Users\Cesar\Documents\Notebooks\DeepLearning>tensorboard --logdir='./my_graph/'
Traceback (most recent call last):
  File "c:\program files\anaconda3\lib\runpy.py", line 184, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\program files\anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Program Files\Anaconda3\Scripts\tensorboard.exe\__main__.py", line 5, in <module>
ImportError: No module named 'tensorflow.tensorboard'

一部のPythonモジュールがpipから欠落しています。例、一部のcontribおよびtensorboardは、cmakeを使用してビルドするときにホイールにコピーされません。
tf_python.cmakeにオプションを追加して追加するだけの問題か、問題があるかどうかを確認します。

指示に従ってPython用のテンソルフローをコンパイルしましたが、GPUでtf.nn.conv2dを使用すると、 cudnnからクラッシュが発生します。

クラッシュの原因となるサンプルコードは

import tensorflow as tf
import numpy as np
sess = tf.InteractiveSession()
image = tf.placeholder(tf.float32, shape=[None, 10, 10, 1], name='image')
kernel = tf.truncated_normal([5, 5, 1, 1], stddev=0.1)
conv = tf.nn.conv2d(image, kernel, strides=[1, 1, 1, 1], padding='SAME')
sess.run(tf.initialize_all_variables())
sess.run(conv, feed_dict={image: [np.zeros((10, 10, 1))]})

これにより、Pythonプロセスがクラッシュし、jupyterコンソールにこの出力が表示されます

WARNING:root:kernel 800a0f42-d62b-4128-a61a-ba64ee725ca8 restarted
I d:\tensorflow\tensorflow\tensorflow\stream_executor\dso_loader.cc:125] successfully opened CUDA library cublas64_80.dll locally
I d:\tensorflow\tensorflow\tensorflow\stream_executor\dso_loader.cc:125] successfully opened CUDA library cudnn64_5.dll locally
I d:\tensorflow\tensorflow\tensorflow\stream_executor\dso_loader.cc:125] successfully opened CUDA library cufft64_80.dll locally
I d:\tensorflow\tensorflow\tensorflow\stream_executor\dso_loader.cc:125] successfully opened CUDA library nvcuda.dll locally
I d:\tensorflow\tensorflow\tensorflow\stream_executor\dso_loader.cc:125] successfully opened CUDA library curand64_80.dll locally
I d:\tensorflow\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:944] Found device 0 with properties:
name: GeForce GTX 970
major: 5 minor: 2 memoryClockRate (GHz) 1.3165
pciBusID 0000:01:00.0
Total memory: 4.00GiB
Free memory: 3.31GiB
I d:\tensorflow\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:965] DMA: 0
I d:\tensorflow\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:975] 0:   Y
I d:\tensorflow\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1034] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 970, pci bus id: 0000:01:00.0)
E d:\tensorflow\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:662] Could not identify NUMA node of /job:localhost/replica:0/task:0/gpu:0, defaulting to 0.  Your kernel may not have been built with NUMA support.
E d:\tensorflow\tensorflow\tensorflow\stream_executor\cuda\cuda_dnn.cc:385] could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
E d:\tensorflow\tensorflow\tensorflow\stream_executor\cuda\cuda_dnn.cc:392] error retrieving driver version: Permission denied: could not open driver version path for reading: /proc/driver/nvidia/version
E d:\tensorflow\tensorflow\tensorflow\stream_executor\cuda\cuda_dnn.cc:352] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
F d:\tensorflow\tensorflow\tensorflow\core\kernels\conv_ops.cc:532] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)

さまざまなバージョンのcudnn64_5.dllを試してみて、コードを1回動作させることができ、GPUが使用されていることを確認しましたが、 cudnnのすべてのバージョンを試してみた後でもダウンロードした私はそれをもう一度動作させることができませんでした。

あなたのスクリプトを試してみました、そしてそれは私のために働きます。 私たちはcudnn5.1でのみテストしましたが、それより古いものはすべて私にはわかりません。
cudnn5.1のクリーンインストールを取得し、それを使用してビルドし、PATHのcudnn64_5.dllが5.1であることを確認します。
もう1つ確認する必要があるのは、空きメモリが予想よりも少し少ないことです。デバイスを開いている別のPythonが実行されている可能性がありますか?

新鮮なcudnnをダウンロードし、PATH( cudnn-8.0-windows10-x64-v5.1 )でクリーンな再構築を試みましたが、葉巻はありませんでした。 このダウンロードのcudnn64_5.dllは「ファイルバージョン」: 6.14.11.8000で、「ファイルの説明」: NVIDIA CUDA 80.0.29 CUDNN Libraryがあります。

CUDA 8.0パスからのcublas64_80.dllの「ファイルバージョン」は同じですが、「ファイルの説明」: NVIDIA CUDA 80.0.45 BLAS Library

cufft64_80.dllcurand64_80.dllにも一致する「ファイルバージョン」がありますが、「ファイルの説明」では8.0.44です

私がインストールしたGPUドライバーは最新のCUDAドライバーのバージョン369.30 $であり、System32のnvcuda.dllには「ファイルバージョン」: 6.14.13.6930と「ファイルの説明」: NVIDIA CUDA 80.0.44 driverがあります

デバイスメモリが少ないのは、使用可能なメモリが3.5GBしかない970があり、CUDAが最後の0.5GBを使用するのが好きではないからだと思います。

私は同じcudnnバージョンを持っていて、それは私にとってはうまく機能します。 tfツリーにはたくさんのconvpythonテストがあり、それらはすべて合格しています。 私は主にテストに970を使用します。 ログには、cudnnの初期化に問題があることが具体的に示されていました。 initコードを見てみましょう。

OK、問題はドライバーの問題のようです。 ビデオドライバーを再起動するたびに、cudnnと畳み込みを正常に使用できます(デバイスマネージャーを使用して無効にしてから有効にします)。 ただし、1つのプロセスで使用した後は、将来の使用を初期化できません。

さらに、cudnnが初期化されると、他のプロセスでドライバー関連のクラッシュが発生していると思います。


更新:グラフィックスドライバーをアンインストールして再インストールしました。cudnnを使用して1つのプロセス(jupyterカーネル)を正しく動作させることができますが、そのカーネルを閉じるまで、他のカーネルでcudnnを使用しようとすると同じクラッシュが発生します。 動作中のカーネルを再起動すると、ドライバーをリロードしなくても、別のカーネルでコードを実行できます。

コンパイルされましたが、ファイルgen_git_source.pyの150行目にshell=Trueを追加する必要がありました。 そうしないと、次のように表示されるのと同じエラーが発生します。
http://stackoverflow.com/questions/24306205/file-not-found-error-when-launching-a-subprocess

@ synap5eこれを通常のtf.Session()で実行すると、tfがGPU上のすべてのメモリを管理するため、2番目のインスタンスは機能しません。 次のようにSession()の構成を変更できます。
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.4
sessとしてtf.Session(config = config)を使用:
..。
これで、cudnnにヒットするループで2つのスクリプトを実行できます。 これはLinuxでも同じです。
ただし、クラッシュはWindowsでは異なります。LinuxではCUDA_ERROR_OUT_OF_MEMORYを取得し、WindowsではCUDNN_STATUS_NOT_INITIALIZEDを取得します。 これを見ていきます。

ああ、問題は、テンソルフローを初期化する前でさえ、私のシステムがビデオメモリを使いすぎていたことでした。 テンソルフローを適切に初期化できるように、ドライバーは使用済みデバイスのメモリをダウンさせただけだと思います。 ありがとう!

皆さん、MSVSなしでWindows上に構築することは可能ですか? Windows 10SDKにはC++コンパイラが含まれているはずですが、このタスクにはそれで十分ではないでしょうか。

@zandaqo Windows 10 SDKとCMakeを備えたスタンドアロンのMSVCコンパイラのみが必要なため、VisualStudio全体をインストールする必要はありません。 Windows 10 SDKには、dll、静的ライブラリ、ライブラリのヘッダーファイル、ソースコード、およびいくつかの便利なツールが含まれていますが、コンパイラは含まれていません。

こんにちは!

私はPythonとTensorflowの両方に不慣れですが、過去にいくつかのMNISTを実行しました。 tensorflow / contrib / cmake / README.mdの指示に従いましたが、正常に動作しました。GPUも正常に動作しているようです。 WindowsのTensorflowは、予想どおり、一部の場所で破損しているようです。破損についての理解が正しいかどうかを確認したいだけです。

https://www.tensorflow.org/versions/r0.11/tutorials/mnist/beginners/index.htmlをフォローしようとしましたが、このインポートパス(tensorflow.examples.tutorials.mnist)が機能しないため、機能しません。存在。 これは最終的にtf.contribがpipパッケージに含まれていないためですよね?

好奇心から、私は明らかにかなりひどいことをしました。テンソルフローリポジトリのコンテンツをsite-packages \ tensorflowのlibの場所にコピーしました。これにより、多くのものが破損することが予想されました。 これはそれがどのように壊れるかです:

  File "C:\Program Files\Anaconda3\lib\site-packages\tensorflow\contrib\framework\python\ops\variables.py", line 23, in <module>
    from tensorflow.contrib.framework.python.ops import gen_variable_ops
ImportError: cannot import name 'gen_variable_ops'

gen_variable_opsの定義はどこにも見つかりませんでしたが、ドキュメントにはtf.load_op_library()は現在実装されていないと記載されています。 したがって、 gen_variable_opsは別の場所に実装されており、 tf.load_op_library()を使用してロードする必要があります。 それで、tf.load_op_libraryの欠如が問題の原因ですよね?

私はcmakeパスに従ってpipパッケージを正常にビルドし、インストールが成功したことを報告するpip install tensorflow-0.11.0rc1_cmake_experimental-py3-none-any.whlを使用してインストールしました。 ただし、テンソルフローをインポートしようとすると、次のエラーが発生します。

>>> import tensorflow as tf
Traceback (most recent call last):
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 18, in swig_import_helper
    return importlib.import_module(mname)
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 666, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 577, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 906, in create_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
ImportError: DLL load failed: The specified module could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\__init__.py", line 54, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 21, in <module>
    _pywrap_tensorflow = swig_import_helper()
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 20, in swig_import_helper
    return importlib.import_module('_pywrap_tensorflow')
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ImportError: No module named '_pywrap_tensorflow'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\__init__.py", line 23, in <module>
    from tensorflow.python import *
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\__init__.py", line 60, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 18, in swig_import_helper
    return importlib.import_module(mname)
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 666, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 577, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 906, in create_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
ImportError: DLL load failed: The specified module could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\__init__.py", line 54, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 21, in <module>
    _pywrap_tensorflow = swig_import_helper()
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 20, in swig_import_helper
    return importlib.import_module('_pywrap_tensorflow')
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ImportError: No module named '_pywrap_tensorflow'


Error importing tensorflow.  Unless you are using bazel,
you should not try to import tensorflow from its source directory;
please exit the tensorflow source tree, and relaunch your python interpreter
from there.

ここで依存関係を見逃したか、ビルド/インストールに問題がありましたか?

@zandaqo 、Windowsで最初にテンソルフローを実行したときにこの問題が発生しました。 例をコンパイルし、コンパイルされた例を含むフォルダーをパスに追加するだけです。 サンプルコードをコンパイルすると、Tensorflowに必要ないくつかのDLLもコンパイルされます。

@ErivaldoJunior例をコンパイルすると、これはどういう意味ですか: MSBuild /p:Configuration=Release tf_tutorials_example_trainer.vcxproj ? 私はpipパッケージをコンパイルする前にそれを行いました。 .\Releaseにコンパイルされますが、パスに追加するフォルダーですか? 追加してみましたが、今のところ運がありません。

その.\Releaseフォルダのエラーにpywrap_tensorという名前のファイルが表示されていますが、手動でどこかにコピーすると、Pythonがそれらを表示するのに役立つ可能性があります。 でもどこかわからない。

@zandaqo 、そうです。 そのReleaseフォルダーをWindowsパスに追加するだけで、機能しました。 ただし、CMDウィンドウからpythonmy_tensorflow_script.pyを起動してテストしました。 ある種のIDEまたはiPythonを使用した場合に機能するかどうかはわかりません。

@ErivaldoJuniorありがとう、あなたはDLLの欠落について正しかったのですが、私の場合、パッケージと.\Releaseフォルダーの両方から欠落しているのはzlib.dllであることが判明しました。 ここで提案されているように、手動でzlib.dllをフォルダーにコピーし、インポートが機能するようになりました。

テンソルフローの構築に成功しました! ただし、 cmake 3.3.1はビルドエラーを引き起こし、 3.6.3は正常に機能します。

知っておくと良い! 適切な最小バージョンのPRを歓迎します
cmakelistファイルのステートメント。

2016年11月5日(土)久保隆弘[email protected]
書きました:

テンソルフローの構築に成功しました! しかし、cmake3.3.1はビルドエラーを引き起こします、
3.6.3は正常に動作します。


コメントしたのでこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/tensorflow/tensorflow/issues/17#issuecomment -258649999、
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/AAjO_Ys4MI03pcc3tCR_BzsqIXFrQTTcks5q7RVRgaJpZM4GexU4

@martinwickeここにあるように、動作しているCmakeの最小バージョンは3.5のようです。 最小要件を3.5に変更し、readmeを最小3.5から3.6まで更新する必要がありますか?

TensorFlowがGPUを搭載したWindowsで動作できるようになったことをうれしく思います。 ソースからインストールする必要のないバージョンの計画はありますか? もしそうなら、その上のETAはありますか? セットアッププロセスがLinuxの場合と同じくらい簡単であれば、LinuxでTensorFlowを問題なく使用しており、Windowsでも使用したいのですが、readmeに記載されている要件とセットアッププロセスは、現在、それらにとって少し面倒に見えます。時間があまりない私たちの...

やあみんな! Bazel 0.4.0のリリースにより、TensorFlowPIPパッケージはWindows上のBazelでビルドできるようになりました。
@petemounceの貢献のおかげで、 choco install bazel --version 0.4.0を使用してBazelを簡単にインストールできます。

@gunanはすでにciジョブを設定しています: http ://ci.tensorflow.org/job/tensorflow-pr-win-bazel/
基本的に、このスクリプトを使用しています。 したがって、環境変数を適切に変更すると(Visual Studio、Python 3、またはmsysのインストールが標準の場所にない場合)、Bazelを使用してPIPパッケージをビルドすることもできます。

更新:スクリプトを直接実行するのに問題がある場合は、スクリプト内のコマンドを手動で実行することをお勧めします。

@meteorcloudy更新していただきありがとうございます!
バゼルを使ったビルドは私にはうまくいきませんでした。 エラーが発生します:CreateFile(C:\ tmp \ Bazel \ 44EoGNou \ install)
それをデバッグする方法はありますか? 私はローカライズされたウィンドウ(ロシア語)を持っています、多分それが原因です

完全なログ。 管理者としてPowerShellで実行する:

C:\libs\tensorflow>c:\tools\msys64\usr\bin\bash -l C:\libs\tensorflow/tensorflow/tools/ci_build/windows/cpu/pip/build_tf_windows.sh
+ set -e
++ dirname 'C:\libs\tensorflow/tensorflow/tools/ci_build/windows/cpu/pip/build_tf_windows.sh'
+ script_dir='C:\libs\tensorflow/tensorflow/tools/ci_build/windows/cpu/pip'
+ cd 'C:\libs\tensorflow/'
+ export TMPDIR=C:/tmp
+ TMPDIR=C:/tmp
+ export BAZEL_SH=C:/tools/msys64/usr/bin/bash
+ BAZEL_SH=C:/tools/msys64/usr/bin/bash
+ export 'PYTHON_BIN_PATH=C:\tools\Anaconda3/python'
+ PYTHON_BIN_PATH='C:\tools\Anaconda3/python'
+ export 'BAZEL_PYTHON=C:\tools\Anaconda3/python'
+ BAZEL_PYTHON='C:\tools\Anaconda3/python'
+ export 'BAZEL_VS=C:/Program Files (x86)/Microsoft Visual Studio 14.0'
+ BAZEL_VS='C:/Program Files (x86)/Microsoft Visual Studio 14.0'
+ export 'PATH=/c/tools/bazel:/c/Program Files/Anaconda3:/usr/local/bin:/usr/bin:/bin:/opt/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/'
+ PATH='/c/tools/bazel:/c/Program Files/Anaconda3:/usr/local/bin:/usr/bin:/bin:/opt/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/'
+ bazel clean
Extracting Bazel installation...
ERROR: CreateFile(C:\tmp\Bazel\44EoGNou\install): ▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ ▒▒▒▒.
 (2)
.....................................................................................................................................................................................................................................................................................................................................
INFO: Starting clean (this may take a while). Consider using --expunge_async if the clean takes more than several minutes.
++ bazel info output_base
+ output_base=C:/tmp/Bazel/44EoGNou
+ bazel shutdown
+ rm -rf C:/tmp/Bazel/44EoGNou
rm: невозможно удалить 'C:/tmp/Bazel/44EoGNou/server/jvm.out': Device or resource busy

@KhabarlakKonstantinそれは( ERROR: CreateFile(C:\tmp\Bazel\44EoGNou\install) )bazelbuild / bazel#1744だと思います。 これは、bazelがインストールされた後に初めて発生します。 影響はないようです。

@KhabarlakKonstantin @petemounceが指摘したように、そのエラーは無視しても問題ありません。 また、 Device or resource busyエラーが原因でブロックされている場合は、$ rm -rf C:/tmp/Bazel/44EoGNouをスキップすることもできます。 bazel shutdownを呼び出した後、jvmが完全にシャットダウンする前にjvm.outを削除しようとしたためだと思います。

@petemounce@ meteorcloudy助けてくれてありがとう
問題は、ビルドが開始されないことです。 bazel shutdownをコメントアウトしましたが、少し先に進みますが、それでもクラッシュします

INFO: Starting clean (this may take a while). Consider using --expunge_async if the clean takes more than several minutes.
++ bazel info output_base
+ output_base=C:/tmp/Bazel/44EoGNou
+ echo ''
+ ./configure
/c/libs/tensorflow /c/libs/tensorflow
Found possible Python library paths:
  C:\Program Files\Anaconda3\lib\site-packages
  C:\Program Files\Anaconda3
Please input the desired Python library path to use.  Default is [C:\Program Files\Anaconda3\lib\site-packages]
Using python library path: C:\Program Files\Anaconda3\lib\site-packages
Junction created for util\python\python_include <<===>> C:\Program Files\Anaconda3\include
Junction created for util\python\python_lib <<===>> C:\Program Files\Anaconda3\lib\site-packages
Junction created for third_party\py\numpy\numpy_include <<===>> C:\Program Files\Anaconda3\lib\site-packages\numpy\core\include

ここにこれ以上の出力はありません

@KhabarlakKonstantinOpenCL構成が./configureに追加されたばかりですが、Windowsではデフォルトでオフになっていないようです。そのため、手動でそのスクリプトを実行するか、$ echo "" | ./configure $の前に$ export TF_NEED_OPENCL=0を追加してください。

pcloudy@PCLOUDY1-W MSYS ~/workspace/tensorflow
$ ./configure
~/workspace/tensorflow ~/workspace/tensorflow
Please specify the location of python. [Default is /c/Program Files/Anaconda3/python]:
Found possible Python library paths:
  C:\Program Files\Anaconda3\lib\site-packages
  C:\Program Files\Anaconda3
Please input the desired Python library path to use.  Default is [C:\Program Files\Anaconda3\lib\site-packages]

Using python library path: C:\Program Files\Anaconda3\lib\site-packages
Junction created for util\python\python_include <<===>> C:\Program Files\Anaconda3\include
Junction created for util\python\python_lib <<===>> C:\Program Files\Anaconda3\lib\site-packages
Junction created for third_party\py\numpy\numpy_include <<===>> C:\Program Files\Anaconda3\lib\site-packages\numpy\core\include
Do you wish to build TensorFlow with OpenCL support? [y/N] n
No OpenCL support will be enabled for TensorFlow
Configuration finished

Pragmaでこれらのエラーが発生している人は他にいますか(pywrapを無視してください)?

GPUとreadmeに準拠したすべての仕様を使用して構築します。

@Carmezim 、それは私にとってはうまくいきました。 これらのエラーは発生しませんでした。

私はここでこれを修正するためのPRを持っています: https ://github.com/tensorflow/tensorflow/pull/5421

@guschmueいいね! 素早い対応に感謝致します

_Pragmaを修正した後、これは私が同じファイルで取得したものです。

C:/tensorflow/tensorflow/core/kernels/parameterized_truncated_normal_op_gpu.cu.cc(168): error : more than
one operator "/" matches these operands: [C:\tensorflow\tensorflow\contrib\cmake\build\tf_core_gpu_kernels.v
cxproj]

5421もこれを修正します。

bazelを使用してGPUサポートでビルドできますか?

@edwin100394まだbazelを使用しているWindowsでGPUをサポートしていません。
まだ取り組んでいます。

2016年11月7日月曜日午後9時33分、 edwin100394notifications @ github.com
書きました:

bazelを使用してGPUサポートでビルドできますか?


あなたが言及されたので、あなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/tensorflow/tensorflow/issues/17#issuecomment -259049695、
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/AHlCOXNRNoMFmnSPfnkTMLsRHcIcl9TXks5q8AmigaJpZM4GexU4

@meteorcloudy export TF_NEED_OPENCL=0を追加すると、もう少し先に進むことができました

今、私は別のエラーが発生しています:

ERROR: C:/libs/tensorflow/tensorflow/core/BUILD:1115:1: Executing genrule //tensorflow/core:version_info_gen failed: bash failed: error executing command
  cd C:/tmp/Bazel/44EoGNou/execroot/tensorflow
  SET PATH=C:\tools;C:\tools\Anaconda;C:\tools\msys64\usr\local\bin;C:\tools\msys64\usr\bin;C:\tools\msys64\usr\bin;C:\tools\msys64\opt\bin;C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\tools\msys64\usr\bin\site_perl;C:\tools\msys64\usr\bin\vendor_perl;C:\tools\msys64\usr\bin\core_perl
  C:/tools/msys64/usr/bin/bash -c source external/bazel_tools/tools/genrule/genrule-setup.sh; tensorflow/tools/git/gen_git_source.py --generate tensorflow/tools/git/gen/spec.json tensorflow/tools/git/gen/head tensorflow/tools/git/gen/branch_ref "bazel-out/vc_14_0_x64-py3-opt/genfiles/tensorflow/core/util/version_info.cc": com.google.devtools.build.lib.shell.BadExitStatusException: Process exited with status 1
Traceback (most recent call last):
  File "tensorflow/tools/git/gen_git_source.py", line 260, in <module>
    generate(args.generate)
  File "tensorflow/tools/git/gen_git_source.py", line 212, in generate
    git_version = get_git_version(data["path"])
  File "tensorflow/tools/git/gen_git_source.py", line 152, in get_git_version
    str("--work-tree=" + git_base_path), "describe", "--long", "--dirty", "--tags"
  File "C:\tools\Anaconda\lib\subprocess.py", line 626, in check_output
    **kwargs).stdout
  File "C:\tools\Anaconda\lib\subprocess.py", line 693, in run
    with Popen(*popenargs, **kwargs) as process:
  File "C:\tools\Anaconda\lib\subprocess.py", line 947, in __init__
    restore_signals, start_new_session)
  File "C:\tools\Anaconda\lib\subprocess.py", line 1224, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified
Target //tensorflow/tools/pip_package:build_pip_package failed to build
INFO: Elapsed time: 10.997s, Critical Path: 3.44s
FAILED: Build did NOT complete successfully

私はゼロから始め、ソースからバゼルを構築しました。 今ではほぼ最後まで構築されています

最終的にリンク時に失敗します。

ERROR: C:/libs/tensorflow/tensorflow/python/BUILD:1907:1: Linking of rule '//tensorflow/python:_pywrap_tensorflow.so' failed: msvc_link.bat failed: error executing command
  cd C:/tmp/Bazel/44EoGNou/execroot/tensorflow
  SET PATH=external/local_config_cc/wrapper/bin
  external/local_config_cc/wrapper/bin/msvc_link.bat /DLL /WHOLEARCHIVE -pthread -m64 -Xcompilation-mode=opt -Wl,@bazel-out/vc_14_0_x64-py3-opt/bin/tensorflow/python/_pywrap_tensorflow.so-2.params: com.google.devtools.build.lib.shell.BadExitStatusException: Process exited with status 1169
Warning: Unmatched arguments: -ldl -lm -ldl -lm
Warning: Unmatched arguments: -pthread
libversion_lib.a(version_info.o) : error LNK2005: "char const * __cdecl tf_compiler_version(void)" (?tf_compiler_version@@YAPEBDXZ) already defined in libframework_internal.lo(version_info.o)
libversion_lib.a(version_info.o) : error LNK2005: "char const * __cdecl tf_git_version(void)" (?tf_git_version@@YAPEBDXZ) already defined in libframework_internal.lo(version_info.o)
   Creating library bazel-out/vc_14_0_x64-py3-opt/bin/tensorflow/python/_pywrap_tensorflow.lib and object bazel-out/vc_14_0_x64-py3-opt/bin/tensorflow/python/_pywrap_tensorflow.exp
bazel-out/vc_14_0_x64-py3-opt/bin/tensorflow/python/_pywrap_tensorflow.so : fatal error LNK1169: one or more multiply defined symbols found
ERROR: C:/libs/tensorflow/tensorflow/python/BUILD:639:1: output 'tensorflow/python/gen_control_flow_ops_py_wrappers_cc.exe' was not created
ERROR: C:/libs/tensorflow/tensorflow/python/BUILD:698:1: output 'tensorflow/python/gen_resource_variable_ops_py_wrappers_cc.exe' was not created
Target //tensorflow/tools/pip_package:build_pip_package failed to build

こんにちは皆さん、基本的なWindowsサポートが実施されたので、新しいコメントのためにこの問題をロックしますが、安定したリリースができるまで開いたままにしておきます。 今後:

  • 問題がある場合は、TensorFlowに対して新しい問題を開いて問題を説明し、標準の問題テンプレートに記入してください。 これは、TensorFlow-on-Windowsをリリースするために必要な残りの作業を追跡して割り当てるのに役立ちます。
  • この問題は、Windowsサポートに関する(まれな)アナウンスに引き続き使用されるため、TensorFlow-on-Windowsの改善に関するトラフィックの少ないフィードの問題を引き続きサブスクライブできます。

繰り返しになりますが、TensorFlow-on-Windowsに関心をお寄せいただきありがとうございます。これから、作業を再開します。

本日、Python3.5用のパッケージを使用したTensorFlow0.12でのネイティブWindowsサポートを発表しました。 64ビットバージョンのPython3.5(Python.orgまたはAnacondaから)をインストールした場合は、次の1つのコマンドでTensorFlowをインストールできます。

C:\> pip install tensorflow

GPUをサポートするために、CUDA 8.0がインストールされている場合は、代わりに次のパッケージをインストールできます。

C:\> pip install tensorflow-gpu

Windowsがサポートされている構成になったので、この問題を解決します。 これらのパッケージに問題がある場合は、新しい問題を開いてください。 Windowsパッケージと他のプラットフォームの間には、リリースノートで概説されているいくつかの不一致がまだあります。 今後数週間にわたって、これらのギャップを埋めるために取り組んでいきます。

Windows上のTensorFlowに関心をお寄せいただきありがとうございます。

このページは役に立ちましたか?
0 / 5 - 0 評価