53

ubuntu マシンに tensorflow docker コンテナーをインストールしました。tensorflow docker のセットアップ手順では、次のように指定されています。

docker run -it b.gcr.io/tensorflow/tensorflow

これにより、docker コンテナー ターミナルに移動し、python を実行して Hello World の例を実行できます。.\run_jupyter.sh を手動で実行して、jupyter ノートブックを起動することもできます。ただし、ホストからノートブックにアクセスできません。

ホスト マシンからノートブックを使用できるように、jupyter ノートブックを起動するにはどうすればよいですか? 理想的には、docker を使用してコンテナを起動し、1 つのコマンドで jupyter を起動したいと考えています。

4

10 に答える 10

4

Jupyter には、 TensorFlow のDocker イメージを実行する準備ができています。

docker run -d -v $(pwd):/home/jovyan/work -p 8888:8888 jupyter/tensorflow-notebook

于 2016-09-19T16:00:10.447 に答える
1

少し整理するために、追加の説明をしたいと思います。テンソルフローでドッカーをセットアップするのにも苦労したからです。これについては、残念ながらすべての場合において自明ではないこのビデオを参照してください。docker は既にインストールされていると思います。ビデオの非常に興味深い一般的な部分は、0:44 から始まり、彼はついに docker を開始しました。そこまでは、tensorflow リポジトリをフォルダーにダウンロードするだけで、それをコンテナーにマウントします。もちろん、他のものをコンテナーに入れて、後で docker VM でアクセスすることもできます。


  1. まず、長い docker コマンドを実行しdocker run –dit -v /c/Users/Jay/:/media/disk –p 8000 –p 8888 –p 6006 b.gcr.io/tensorflow/tensorflowます。「run」コマンドはコンテナを起動します。この場合、コンテナー「b.gcr.io/tensorflow/tensorflow」を開始します。そのアドレスは、tensorflow docker インストール チュートリアル内で提供されます。. コンテナーは、まだローカルで利用できない場合、docker によってダウンロードされます。次に、さらに 2 種類の引数を指定します。ホストシステムのフォルダーをコンテナーへの指定されたパスにマウントします。最初にパーティションを指定することを忘れないでください (例: "/c/")。さらに、params -p を使用して、後でホスト マシンから使用できるポートを宣言します。このすべてのコマンドから、このコンテナー実行の [CONTAINER_ID] が返されます! docker コンソールで「docker ps」を実行すると、現在実行中のコンテナーをいつでも確認できます。上記で作成したコンテナは、同じ ID でこのリストに表示されます。


  2. 次のステップ: コンテナが実行されている状態で、コンテナ内で何かを実行したいと考えています。私たちの場合、jupyter ノートブックまたは tensorflow など: これを行うには、docker に新しく作成されたコンテナーで bash を実行させます: docker exec –ti [CONTAINER_ID] bash. このコマンドにより、コンテナーで bash シェルが開始されるようになりました。これは、「$」が root@[CONTAINER_ID]: に変更されたためです。ここからは戻ることはできません。Docker ターミナルに戻りたい場合は、彼が 1:10 で行っているように、別の新しい Docker コンソールを起動する必要があります。コンテナーで実行されている bash シェルを使用すると、Jupiter や tensorflow などを何でも実行できます。実行コマンドで指定したホスト システムのフォルダーは、「/media/disk」の下で使用できるようになります。


  3. VM 出力にアクセスする最後のステップ。それでもうまくいきたくなかったので、ノートブックにアクセスできませんでした。起動したノートブック、テンソルボード セッションなどにアクセスするには、正しい IP とポートを見つける必要があります。まず、 を使用してメイン IP を見つけますdocker-machine –ls。このリストでは、URL を取得します。(それが唯一のコンテナーである場合、それはデフォルトと呼ばれます。) ここで指定されたポートはそのままにしておくことができます。次にdocker ps、転送されたポートのリストを取得します。リストに 0.0.0.32776->6006/tcp と書かれている場合は、最初に指定したポート (Awkyard) を使用してホストマシンからアクセスできます。したがって、私の場合、コンテナで実行されたテンソルボードは「ポート 6006 で起動」と表示されました。次に、ホストマシンからhttp://192.168.99.100:32776/と入力してアクセスする必要がありました。

-> それだけです!このように私のために走った!

于 2016-06-14T09:16:52.093 に答える
0

端末プロンプトが表示されます。

FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd vdocker') DO %i
docker run -it tensorflow/tensorflow:r0.9-devel

また

FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd vdocker') DO %i
docker run -it b.gcr.io/tensorflow/tensorflow:latest-devel

「vdocker」を使用するか、vdocker を「default」に変更する必要があります。

于 2016-06-23T04:19:37.533 に答える