Install on Linux via Docker

Docker is an open source application container engine. Using docker, you can not only isolate the installation and use of paddlepaddle from the system environment, but also share GPU, network and other resources with the host

Environment preparation

Installation steps

  1. Pull PaddlePaddle image

    • CPU version of PaddlePaddle:

      docker pull registry.baidubce.com/paddlepaddle/paddle:[version number]
      
    • CPU version of PaddlePaddle, and the image is pre-installed with jupyter:

      docker pull registry.baidubce.com/paddlepaddle/paddle:[version number]-jupyter
      
    • GPU version of PaddlePaddle:

      docker pull registry.baidubce.com/paddlepaddle/paddle:[version number]-gpu-cuda10.2-cudnn7
      

    If your machine is not in mainland China, you can pull the image directly from DockerHub:

    • CPU version of PaddlePaddle:

      docker pull paddlepaddle/paddle:[version number]
      
    • CPU version of PaddlePaddle, and the image is pre-installed with jupyter:

      docker pull paddlepaddle/paddle:[version number]-jupyter
      
    • GPU version of PaddlePaddle:

      docker pull paddlepaddle/paddle:[version number]-gpu-cuda10.2-cudnn7
      

    After :, please fill in the PaddlePaddle version number, such as the current version 2.1.1. For more details, please refer to image profile.

    In the above example, cuda10.2-cudnn7 is only for illustration, indicating that the GPU version of the image is installed. If you want to install another cuda/cudnn version of the image, you can replace it with cuda11.2-cudnn8 etc.

    You can see DockerHub to get the image that matches your machine.

  2. Build and enter Docker container

    • Use CPU version of PaddlePaddle:

      docker run --name [Name of container] -it -v $PWD:/paddle <imagename> /bin/bash
      

      –name [Name of container] set name of Docker;

      -it The parameter indicates that the container has been operated interactively with the local machine;

      -v $PWD:/paddle specifies to mount the current path of the host (PWD variable in Linux will expand to the absolute path of the current path) to the /paddle directory inside the container;

      <imagename> Specify the name of the image to be used. You can view it through the ‘docker images’ command. /bin/Bash is the command to be executed in Docker

    • Use GPU version of PaddlePaddle:

      nvidia-docker run --name [Name of container] -it -v $PWD:/paddle <imagename> /bin/bash
      

      –name [Name of container] set name of Docker;

      -it The parameter indicates that the container has been operated interactively with the local machine;

      -v $PWD:/paddle specifies to mount the current path of the host (PWD variable in Linux will expand to the absolute path of the current path) to the /paddle directory inside the container;

      <imagename> Specify the name of the image to be used. You can view it through the ‘docker images’ command. /bin/Bash is the command to be executed in Docker

    • Use CPU version of PaddlePaddle:

      mkdir ./jupyter_docker
      
      chmod 777 ./jupyter_docker
      
      cd ./jupyter_docker
      
      docker run -p 80:80 --rm --env USER_PASSWD=[password you set] -v $PWD:/home/paddle <imagename>
      

      –rm Delete the container after closing it;

      –env USER_PASSWD=[password you set] Set the login password for jupyter, [password you set] is the password you set;

      -v $PWD:/home/paddle Specifies to mount the current path (the PWD variable will be expanded to the absolute path of the current path) to the /home/paddle directory inside the container;

      <imagename> Specify the name of the image to be used, you can view it through the docker images command

Now you have successfully used Docker to install PaddlePaddle. For more information about using Docker, seeDocker official documents



Introduction to mirror images

Mirror source Mirror description
registry.baidubce.com/paddlepaddle/paddle:2.1.1 CPU image with 2.1.1 version of paddle installed
registry.baidubce.com/paddlepaddle/paddle:2.1.1-jupyter CPU image of paddle version 2.1.1 is installed, and jupyter is pre-installed in the image. Start the docker to run the jupyter service
registry.baidubce.com/paddlepaddle/paddle:2.1.1-gpu-cuda11.2-cudnn8 GPU image of paddle version 2.1.1 is installed, cuda version is 11.2, cudnn version is 8.1
registry.baidubce.com/paddlepaddle/paddle:2.1.1-gpu-cuda10.2-cudnn7 GPU image of paddle version 2.1.1 is installed, cuda version is 10.2, cudnn version is 7

You can find the docker mirroring of the published versions of PaddlePaddle in DockerHub.

Note

  • Python version in the image is 3.7

补充说明

  • When you need to enter the docker container for the second time, use the following command:

    Container created before startup

    docker start [Name of container]
    

    Enter the starting container

    docker attach [Name of container]
    
  • If you are a newcomer to Docker, you can refer to the materials on the Internet for learning, such as Docker tutorial

How to uninstall

After entering the Docker container, execute the following command:

  • CPU version of PaddlePaddle:

    pip uninstall paddlepaddle
    
  • GPU version of PaddlePaddle:

    pip uninstall paddlepaddle-gpu
    

Or delete the docker container directly through docker rm [Name of container]