From CC Doc
Jump to: navigation, search
This page contains changes which are not marked for translation.

Other languages:
English • ‎français

PyTorch is a Python package that provides two high-level features:

  • Tensor computation (like NumPy) with strong GPU acceleration
  • Deep neural networks built on a tape-based autograd system

PyTorch has a distant connection with Torch, but for all practical purposes you can treat them as separate packages.


Latest available wheels

To see the latest version of PyTorch that we have built:

[name@server ~]$ avail_wheels "torch*"

For more information on listing wheels, see listing available wheels.


The preferred option is to install it using the python wheel that we compile, as follows:

1. Load a python module, either python/2.7, python/3.5, python/3.6 or python/3.7
2. Create and start a virtual environment.
3. Install PyTorch in the virtual environment with pip install.


(venv) [name@server ~] pip install numpy torch_gpu --no-index

CPU only

(venv) [name@server ~] pip install numpy torch_cpu --no-index

Note: Do not install both torch_cpu and torch_gpu.


In addition to torch_cpu or torch_gpu, you can install torchvision, torchtext and torchaudio:

(venv) [name@server ~] pip install numpy six torch_cpu torchvision torchtext torchaudio --no-index

libtorch is included in the wheel. Once Pytorch is installed in a virtual environment, you can find it at: venv/lib/python3.6/site-packages/torch/lib/ where venv is the virtual environment.

Job submission

Once the setup is completed, you can submit a PyTorch job with

[name@server ~]$ sbatch

Here is an example of a job submission script using the python wheel, with a virtual environment in $HOME/pytorch:

File :

#SBATCH --gres=gpu:1       # Request GPU "generic resources"
#SBATCH --cpus-per-task=6  # Cores proportional to GPUs: 6 on Cedar, 16 on Graham.
#SBATCH --mem=32000M       # Memory proportional to GPUs: 32000 Cedar, 64000 Graham.
#SBATCH --time=0-03:00
#SBATCH --output=%N-%j.out
module load python/3.6
source $HOME/pytorch/bin/activate
python ./

The Python script has the form

File :

import torch
x = torch.Tensor(5, 3)
y = torch.rand(5, 3)
# let us run the following only if CUDA is available
if torch.cuda.is_available():
    x = x.cuda()
    y = y.cuda()
    print(x + y)


Dependency torch not found

Other packages that depend on torch will fail to install; you can find instructions here to install such packages.