In this assignment you will be working on setting up your system and refreshing basic probability theory or basic linear algebra concepts such as Singular Value Decomposition (SVD). You are mandated to use the Pytorch namespace libraries such as pytorch.linalg, pytorch.rand and in general libraries in the pytorch.xyz
namespace but not any derived or any other libraries. The idea is to implement from scratch the following without implementing every minute component such as random number generators etc.
Points:
- Dev Environnment : 25 points
- Custom Torchvision dataset: 25 points
- Transformations: 25 points
- Visualization: 25 points
Development Environment Setup
Ubuntu and MAC users
Install docker in your system and the VSCode docker and remote extensions.
All Users
Following the instructions of the course site with respect to the course docker container
- Install docker on your machine.
- Clone the repo (For windows users ensure that you clone it on the WSL2 filesystem.) Show this by a screenshot below of the terminal where you have cloned the repo.
- Build and launch the docker container inside your desired IDE (if you havent used an IDE before you can start with VSCode).
- Launch the virtual environment with
rye sync
inside the container and then show a screenshot of your IDE and the terminal with the (your virtual env)
prefix.
- Select the kernel of your virtual environment (.venv folder) and execute the following code. Save the output of all cells of this notebook before submitting.
Source: Development Environment Setup
Getting to know the Torchvision library
Numerical computations must be very efficient for any real time system such as computer vision. Pytorch is a popular library for deep learning and it provides a powerful tensor library that can be used for numerical computations and the aim here is to learn and demonstrate the basic operations of the Pytorch tensors library.
Torchvision
Torchvision is a package that provides popular datasets, model architectures, and common image transformations for computer vision. It is a part of the PyTorch project and is widely used in the deep learning community for tasks such as image classification, object detection, and segmentation. Here we will touch upon the basics of Torchvision.
Source: Getting to know the Torchvision library
Back to top