Chapter 3: Pytorch, Setting Up a Virtual Environment

by digitaltech2.com
Pytorch setting the environment

Setting up a virtual environment is crucial for managing dependencies and ensuring that your projects do not interfere with each other. Virtual environments allow you to isolate your Python projects, keeping them clean and organized.

Using venv

Python’s built-in venv module can be used to create virtual environments. Here’s how you can set up a virtual environment using venv:

Create a Virtual Environment:

python -m venv myenv

This command creates a directory named myenv containing the virtual environment.

Activate the Virtual Environment:

On Windows:

myenv\Scripts\activate

On macOS and Linux:

source myenv/bin/activate

Install PyTorch in the Virtual Environment:

pip install torch torchvision torchaudio

Deactivate the Virtual Environment:

deactivate
Using Conda

Conda can also be used to create and manage virtual environments. Here’s how:

Create a Conda Environment:

conda create -n myenv python=3.8

This command creates a new environment named myenv with Python 3.8.

Activate the Conda Environment:

conda activate myenv

Install PyTorch in the Conda Environment:

conda install pytorch torchvision torchaudio cpuonly -c pytorch

Deactivate the Conda Environment:

conda deactivate
Example: Using a Virtual Environment for a PyTorch Project

Here’s a simple example demonstrating the creation and activation of a virtual environment for a PyTorch project:

Create and activate the virtual environment:

python -m venv pytorch_project_env
source pytorch_project_env/bin/activate  # or pytorch_project_env\Scripts\activate on Windows

Install PyTorch:

pip install torch torchvision torchaudio

Write and run a simple PyTorch script:

# save this as test_pytorch.py
import torch
print("PyTorch version:", torch.__version__)
print("CUDA available:", torch.cuda.is_available())

Run the script:

python test_pytorch.py

This setup ensures that your PyTorch project is isolated within its own environment, avoiding conflicts with other projects.

Related Posts