NGC | Catalog

NVCaffe

Logo for NVCaffe
Description
NVIDIA Caffe, also known as NVCaffe, is an NVIDIA-maintained fork of Berkeley Vision and Learning Center (BVLC) Caffe tuned for NVIDIA GPUs, particularly in multi-GPU configurations.
Publisher
NVIDIA
Latest Tag
20.03-py3
Modified
March 2, 2024
Compressed Size
2.08 GB
Multinode Support
No
Multi-Arch Support
No
20.03-py3 (Latest) Security Scan Results

Linux / amd64

Sorry, your browser does not support inline SVG.

What Is NVCaffe?

Caffe is a deep learning framework made with expression, speed, and modularity in mind. It was originally developed by the Berkeley Vision and Learning Center (BVLC) and by community contributors.

NVIDIA Caffe, also known as NVCaffe, is an NVIDIA-maintained fork of BVLC Caffe tuned for NVIDIA GPUs, particularly in multi-GPU configurations. It includes multi-precision support as well as other NVIDIA-enhanced features and offers performance specially tuned for the NVIDIA DGX-2, DGX-1, and DGX Station.

Running NVCaffe

Before you can run an NGC deep learning framework container, your Docker environment must support NVIDIA GPUs. To run a container, issue the appropriate command as explained in the Running A Container chapter in the NVIDIA Containers And Frameworks User Guide and specify the registry, repository, and tags. For more information about using NGC, refer to the NGC Container User Guide.

The method implemented in your system depends on the DGX OS version installed (for DGX systems), the specific NGC Cloud Image provided by a Cloud Service Provider, or the software that you have installed in preparation for running NGC containers on TITAN PCs, Quadro PCs, or vGPUs.

Procedure

  1. Select the Tags tab and locate the container image release that you want to run.

  2. In the Pull Tag column, click the icon to copy the docker pull command.

  3. Open a command prompt and paste the pull command. The pulling of the container image begins. Ensure the pull completes successfully before proceeding to the next step.

  4. Run the container image. To run the container, choose interactive mode or non-interactive mode.

    a. Interactive mode:

    If you have Docker 19.03 or later, a typical command to launch the container is:

    docker run --gpus all -it --rm -v local_dir:container_dir nvcr.io/nvidia/caffe:xx.xx-py3
    

    If you have Docker 19.02 or earlier, a typical command to launch the container is:

    nvidia-docker run -it --rm -v local_dir:container_dir nvcr.io/nvidia/caffe:xx.xx-py3
    

    b. Non-interactive mode:

If you have Docker 19.03 or later, a typical command to launch the container is: docker run --gpus all --rm -v local_dir:container_dir nvcr.io/nvidia/caffe:xx.xx-py3 caffe train …

If you have Docker 19.02 or earlier, a typical command to launch the container is:
 ```    
nvidia-docker run --rm -v local_dir:container_dir nvcr.io/nvidia/caffe:xx.xx-py3 caffe train …
```

Where:
   - `-it` means run in interactive mode
   - `--rm` will delete the container when finished
   - `-v` is the mounting directory
   - `local_dir` is the directory or file from your host system (absolute path) that you want to access from inside your container.  For example, the `local_dir` in the following path is `/home/jsmith/data/mnist`.  

      ```
      -v /home/jsmith/data/mnist:/data/mnist
      ```
      
      If you are inside the container, for example, `ls /data/mnist`, you will see the same files as if you issued the `ls /home/jsmith/data/mnist` command from outside the container.
      
   - `container_dir` is the target directory when you are inside your container.  For example, `/data/mnist` is the target directory in the example:
    
      ```
      -v /home/jsmith/data/mnist:/data/mnist
      ```
    
   - `xx.xx` is the container version.  For example, `20.01`.

   Note:  In order to share data between ranks, NCCL may require shared system memory for IPC and pinned (page-locked) system memory resources. 
   The operating system’s limits on these resources may need to be increased accordingly. Refer to your system’s documentation for details. 
   In particular, Docker containers default to limited shared and pinned memory resources. When using NCCL inside a container, it is recommended 
   that you increase these resources by issuing:
   
   ```    
   --shm-size=1g --ulimit memlock=-1
   ```
   
   in the command line to:
   ```
   docker run --gpus all
   ```
  1. See /workspace/README.md inside the container for information on customizing your NVCaffe image.

Suggested Reading

For the latest Release Notes, see the NVCaffe Release Notes Documentation website.

For a full list of the supported software and specific versions that come packaged with this framework based on the container image, see the Frameworks Support Matrix.

For more information about NVCaffe, including tutorials, documentation, and examples, see the Caffe website. NVCaffe typically utilizes the same input formats and configuration parameters as Caffe, so community-authored materials regarding and pre-trained models for Caffe usually also can be applied to NVCaffe.