## Tutorial 1: Python and tensor basics

Environment setup, jupyter, python, tensor basics with numpy and PyTorch

All tutorial materials will be available on this page.

The tutorial notebooks can be obtained by cloning the course tutorials repo, or viewed in your browser by using nbviewer.

Environment setup, jupyter, python, tensor basics with numpy and PyTorch

Supervised learning framework, binary and multiclass logistic regression, pytorch and autograd basics

MLP model, activations, backprop, loss functions and optimization in PyTorch

Convolutional and pooling layers, architectures, spatial classification, residual nets.

Descent-based methods, backpropagation, automatic differentiation, bi-level optimization, time-series analysis with CNNs.

RNN implementation, sentiment analysis, Temporal Convolution Networks.

Attention mechanisms, sequence-to-sequence models, machine translation.

Transfer learning definition and contexts, fine-tuning pre-trained models, unsupervised domain adaptation via an adversarial approach.

The RL setting, openAI Gym, Deep q-learning for Atari games.

Filters on graphs, graph convolution layers, semi-supervised node classification

The CUDA programming model, numba, implementing CUDA kernels in python, thread synchronization, shared memory