{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# PyTorch Tutorial by Modar\n", "\n", "Basic PyTorch classification tutorial with links and references to useful materials to get started.\n", "This tutorial was presented on the 6th of August 2018 as part of the weekly meetings of IVUL-KAUST research group.\n", "\n", "## Resources\n", " - PyTorch Tutorials Page\n", " - PyTorch Documentation\n", " - PyTorch Examples" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PyTorch as GPU accelerated Numpy\n", "\n", " - Most useful functions\n", " - torch.tensor == np.ndarray\n", " - default types and auto-casting\n", " - shapes and dimensions\n", " - in-place vs output operations\n", " - Moving into any GPU" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " ## PyTorch for Deep Learning\n", " \n", " - Autograd\n", " - Modules (Neural Networks)\n", " - Dealing with Data\n", " - Dataset and ImageFolder\n", " - Transforms\n", " - DataLoader\n", " - Pinned vs. Pageable Memory (for CPU-GPU data transfer)\n", " - Optimizers" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## High-Level PyTorch Wrappers\n", "\n", "There exists high-level APIs for PyTorch analogous to Keras for Tensorflow such as:\n", "\n", " - torchsample\n", " - ignite (the official one)\n", " - torchtools\n", " - beauty-net\n", " \n", "Also, it is not that hard to use tensorboard with PyTorch:\n", "\n", " - simple example\n", " - tensorbaordX" ] }