How do I start tensorflow docker jupyter notebook

后端 未结 10 2063
时光说笑
时光说笑 2020-12-07 09:15

I\'ve installed the tensorflow docker container on an ubuntu machine. The tensorflow docker setup instructions specify:

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


        
相关标签:
10条回答
  • 2020-12-07 10:02

    To tidy up the things a little bit, I want to give some additional explanations because I also suffered a lot setting up docker with tensorflow. For this I refer to this video which is unfortunately not selfexplanatory in all cases. I assume you already installed docker. The really interesting general part of the video starts at minute 0:44 where he finally started docker. Until there he only downloads the tensorflow repo into the folder, that he then mounts into the container. You can of course put anything else into the container and access it later in the docker VM.


    1. First he runs the long docker command docker run –dit -v /c/Users/Jay/:/media/disk –p 8000 –p 8888 –p 6006 b.gcr.io/tensorflow/tensorflow. The “run” command starts containers. In this case it starts the container “b.gcr.io/tensorflow/tensorflow”, whose address is provided within the tensorflow docker installation tutorial. The container will be downloaded by docker if not already locally available. Then he gives two additional kinds of arguments: He mounts a folder of the hostsystem at the given path to the container. DO NOT forget to give the partition in the beginning (eg. "/c/"). Additionally he declares ports being available later from the host machine with the params -p. From all this command you get back the [CONTAINER_ID] of this container execution! You can always see the currently running containers by running “docker ps” in the docker console. Your container created above should appear in this list with the same id.


    2. Next Step: With your container running, you now want to execute something in it. In our case jupyter notebook or tensorflow or whatever: To do this you make docker execute the bash on the newly created container: docker exec –ti [CONTAINER_ID] bash. This command now starts a bash shell on your container. You see this because the “$” now changed to root@[CONTAINER_ID]:. From here is no way back. If you want to get back to the docker terminal, you have to start another fresh docker console like he is doing in minute 1:10. Now with a bash shell running in the container you can do whatever you want and execute Jupiter or tensorflow or whatever. The folder of the host system, you gave in the run command, should be available now under “/media/disk”.


    3. Last step accessing the VM output. It still did not want to work out for me and I could not access my notebook. You still have to find the correct IP and Port to access the launched notebook, tensorboard session or whatever. First find out the main IP by using docker-machine –ls. In this list you get the URL. (If it is your only container it is called default.) You can leave away the port given here. Then from docker ps you get the list of forwarded ports. When there is written 0.0.0.32776->6006/tcp in the list, you can access it from the hostmachine by using the port given in the first place (Awkyard). So in my case the executed tensorboard in the container said “launched on port 6006”. Then from my hostmachine I needed to enter http://192.168.99.100:32776/ to access it.

    -> And that’s it! It ran for me like this!

    0 讨论(0)
  • 2020-12-07 10:08

    As an alternative to the official TensorFlow image, you can also use the ML Workspace Docker image. The ML Workspace is an open-source web IDE that combines Jupyter, VS Code, TensorFlow, and many other tools & libraries into one convenient Docker image. Deploying a single workspace instance is as simple as:

    docker run -p 8080:8080 mltooling/ml-workspace:latest
    

    All tools are accessible from the same port and integrated into the Jupyter UI. You can find the documentation here.

    0 讨论(0)
  • 2020-12-07 10:09

    My simple yet efficient workflow:

    TL;DR version:

    1. Open Docker Quickstart Terminal. If it is already open, run $ cd
    2. Run this once: $ docker run -it -p 8888:8888 -p 6006:6006 -v /$(pwd)/tensorflow:/notebooks --name tf b.gcr.io/tensorflow/tensorflow
    3. To start every time: $ docker start -i tf

    If you are not on windows, you should probably change /$(pwd) to $(pwd)

    You will get an empty folder named tensorflow in your home directory for use as a persistent storage of project files such as Ipython Notebooks and datasets.

    Explanation:

    1. cd for making sure you are in your home directory.
    2. params:
      • -it stands for interactive, so you can interact with the container in the terminal environment.
      • -v host_folder:container_folder enables sharing a folder between the host and the container. The host folder should be inside your home directory. /$(pwd) translates to //c/Users/YOUR_USER_DIR in Windows 10. This folder is seen as notebooks directory in the container which is used by Ipython/Jupyter Notebook.
      • --name tf assigns the name tf to the container.
      • -p 8888:8888 -p 6006:6006 mapping ports of container to host, first pair for Jupyter notebook, the second one for Tensorboard
    3. -i stands for interactive

    Running TensorFlow on the cloud

    0 讨论(0)
  • 2020-12-07 10:14

    Jupyter now has a ready to run Docker image for TensorFlow:

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

    0 讨论(0)
提交回复
热议问题