PyTorch: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 8: | Line 8: | ||
= Installation = <!--T:1--> | = Installation = <!--T:1--> | ||
There are two options to install PyTorch. | There are two options to install PyTorch. | ||
* | * You can install PyTorch using Anaconda. First [[Anaconda|install Anaconda]], and then install PyTorch in a conda environment as follows: | ||
::1. Load the Miniconda 2 or Miniconda 3 module. | ::1. Load the Miniconda 2 or Miniconda 3 module. | ||
Line 18: | Line 17: | ||
::2. Create a new conda virtual environment. | ::2. Create a new conda virtual environment. | ||
::{{Command|conda create --name pytorch}} | ::{{Command|conda create --name pytorch}} | ||
::3. | ::3. When conda asks you to proceed, type <code>y</code>. | ||
::4. Activate the newly created conda virtual environment. | ::4. Activate the newly created conda virtual environment. | ||
::{{Command|source activate pytorch}} | ::{{Command|source activate pytorch}} | ||
Line 24: | Line 23: | ||
::{{Command|conda install pytorch torchvision cuda80 -c soumith}} | ::{{Command|conda install pytorch torchvision cuda80 -c soumith}} | ||
::Here, we instruct conda to use the '''soumith''' channel to retrieve the packages from the release channel belonging to the main PyTorch developer, Soumith Chintala. This guarantees you will have the latest version. | ::Here, we instruct conda to use the '''soumith''' channel to retrieve the packages from the release channel belonging to the main PyTorch developer, Soumith Chintala. This guarantees you will have the latest version. | ||
* | |||
::1. | * You can install PyTorch from a Python [https://pythonwheels.com/ wheel], as follows: | ||
::1. Load a SciPy-stack environment module in order to access NumPy. For Python 2, | |||
::{{Command|module load python27-scipy-stack/2017a}} | ::{{Command|module load python27-scipy-stack/2017a}} | ||
:: | ::For Python 3, | ||
::{{Command|module load python35-scipy-stack/2017a}} | ::{{Command|module load python35-scipy-stack/2017a}} | ||
::2. [[Python#Creating_and_using_a_virtual_environment| | ::2. Create and start a [[Python#Creating_and_using_a_virtual_environment|virtual environment]]. | ||
::3. Install PyTorch in virtual environment. For both GPU and CPU support | ::3. Install PyTorch in the virtual environment with <code>pip install</code>. For both GPU and CPU support, | ||
::{{Command|pip install torch_gpu}} | ::{{Command|pip install torch_gpu}} | ||
:: | ::If you only need CPU support, | ||
::{{Command|pip install torch_cpu}} | ::{{Command|pip install torch_cpu}} | ||
:: The default | :: The current default wheel provides PyTorch version 0.2 | ||
= Job submission = <!--T:10--> | = Job submission = <!--T:10--> |
Revision as of 18:21, 17 November 2017
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
Installation
There are two options to install PyTorch.
- You can install PyTorch using Anaconda. First install Anaconda, and then install PyTorch in a conda environment as follows:
- 1. Load the Miniconda 2 or Miniconda 3 module.
-
[name@server ~]$ module load miniconda3
- 2. Create a new conda virtual environment.
-
[name@server ~]$ conda create --name pytorch
- 3. When conda asks you to proceed, type
y
. - 4. Activate the newly created conda virtual environment.
-
[name@server ~]$ source activate pytorch
- 5. Install PyTorch in the conda virtual environment.
-
[name@server ~]$ conda install pytorch torchvision cuda80 -c soumith
- Here, we instruct conda to use the soumith channel to retrieve the packages from the release channel belonging to the main PyTorch developer, Soumith Chintala. This guarantees you will have the latest version.
- You can install PyTorch from a Python wheel, as follows:
- 1. Load a SciPy-stack environment module in order to access NumPy. For Python 2,
-
[name@server ~]$ module load python27-scipy-stack/2017a
- For Python 3,
-
[name@server ~]$ module load python35-scipy-stack/2017a
- 2. Create and start a virtual environment.
- 3. Install PyTorch in the virtual environment with
pip install
. For both GPU and CPU support, -
[name@server ~]$ pip install torch_gpu
- If you only need CPU support,
-
[name@server ~]$ pip install torch_cpu
- The current default wheel provides PyTorch version 0.2
Job submission
Once the setup is completed, you can submit a PyTorch job as
[name@server ~]$ sbatch pytorch-test.sh
The job submission script has the following contents.
File : pytorch-test.sh
#!/bin/bash
#SBATCH --gres=gpu:1 # request GPU "generic resource"
#SBATCH --cpus-per-task=6 #Maximum of CPU cores per GPU request: 6 on Cedar, 16 on Graham.
#SBATCH --mem=32000M # memory per node
#SBATCH --time=0-03:00 # time (DD-HH:MM)
#SBATCH --output=%N-%j.out # %N for node name, %j for jobID
module load miniconda3
source activate pytorch
python ./pytorch-test.py
The Python script pytorch-test.py
has the form
File : pytorch-test.py
import torch
x = torch.Tensor(5, 3)
print(x)
y = torch.rand(5, 3)
print(y)
# let us run the following only if CUDA is available
if torch.cuda.is_available():
x = x.cuda()
y = y.cuda()
print(x + y)