{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%matplotlib inline\n", "from matplotlib import pyplot as plt\n", "import numpy as np\n", "import torch\n", "\n", "torch.set_printoptions(edgeitems=2, linewidth=75)\n", "torch.manual_seed(123)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/usr/local/lib/python3.7/dist-packages/torchvision/io/_video_opt.py:17: UserWarning: video reader based on ffmpeg c++ ops not available\n", " warnings.warn(\"video reader based on ffmpeg c++ ops not available\")\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Files already downloaded and verified\n", "Files already downloaded and verified\n" ] } ], "source": [ "from torchvision import datasets\n", "data_path = '../data-unversioned/p1ch7/'\n", "cifar10 = datasets.CIFAR10(data_path, train=True, download=True) # <1>\n", "cifar10_val = datasets.CIFAR10(data_path, train=False, download=True) # <2>" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "class_names = ['airplane','automobile','bird','cat','deer',\n", " 'dog','frog','horse','ship','truck']\n", "\n", "fig = plt.figure(figsize=(8,3))\n", "num_classes = 10\n", "for i in range(num_classes):\n", " ax = fig.add_subplot(2, 5, 1 + i, xticks=[], yticks=[])\n", " ax.set_title(class_names[i])\n", " img = next(img for img, label in cifar10 if label == i)\n", " plt.imshow(img)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(torchvision.datasets.cifar.CIFAR10,\n", " torchvision.datasets.vision.VisionDataset,\n", " torch.utils.data.dataset.Dataset,\n", " object)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(cifar10).__mro__" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "50000" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(cifar10)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(,\n", " 1,\n", " 'automobile')" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "img, label = cifar10[99]\n", "img, label, class_names[label]" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.imshow(img)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['CenterCrop',\n", " 'CenterCropVideo',\n", " 'ColorJitter',\n", " 'Compose',\n", " 'FiveCrop',\n", " 'Grayscale',\n", " 'Lambda',\n", " 'LinearTransformation',\n", " 'Normalize',\n", " 'NormalizeVideo',\n", " 'Pad',\n", " 'RandomAffine',\n", " 'RandomApply',\n", " 'RandomChoice',\n", " 'RandomCrop',\n", " 'RandomCropVideo',\n", " 'RandomErasing',\n", " 'RandomGrayscale',\n", " 'RandomHorizontalFlip',\n", " 'RandomHorizontalFlipVideo',\n", " 'RandomOrder',\n", " 'RandomPerspective',\n", " 'RandomResizedCrop',\n", " 'RandomResizedCropVideo',\n", " 'RandomRotation',\n", " 'RandomSizedCrop',\n", " 'RandomVerticalFlip',\n", " 'Resize',\n", " 'Scale',\n", " 'TenCrop',\n", " 'ToPILImage',\n", " 'ToTensor',\n", " 'ToTensorVideo',\n", " '__builtins__',\n", " '__cached__',\n", " '__doc__',\n", " '__file__',\n", " '__loader__',\n", " '__name__',\n", " '__package__',\n", " '__path__',\n", " '__spec__',\n", " 'functional',\n", " 'functional_video',\n", " 'transforms',\n", " 'transforms_video']" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from torchvision import transforms\n", "dir(transforms)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "torch.Size([3, 32, 32])" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from torchvision import transforms\n", "\n", "to_tensor = transforms.ToTensor()\n", "img_t = to_tensor(img)\n", "img_t.shape" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "tensor_cifar10 = datasets.CIFAR10(data_path, train=True, download=False,\n", " transform=transforms.ToTensor())" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "torch.Tensor" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "img_t, _ = tensor_cifar10[99]\n", "type(img_t)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(torch.Size([3, 32, 32]), torch.float32)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "img_t.shape, img_t.dtype" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(tensor(0.), tensor(1.))" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "img_t.min(), img_t.max()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.imshow(img_t.permute(1, 2, 0)) # <1>\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "torch.Size([3, 32, 32, 50000])" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "imgs = torch.stack([img_t for img_t, _ in tensor_cifar10], dim=3)\n", "imgs.shape" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "tensor([0.4915, 0.4823, 0.4468])" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "imgs.view(3, -1).mean(dim=1) # <1>" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "tensor([0.2470, 0.2435, 0.2616])" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "imgs.view(3, -1).std(dim=1)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Normalize(mean=(0.4915, 0.4823, 0.4468), std=(0.247, 0.2435, 0.2616))" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "transforms.Normalize((0.4915, 0.4823, 0.4468), (0.2470, 0.2435, 0.2616))" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "transformed_cifar10 = datasets.CIFAR10(\n", " data_path, train=True, download=False,\n", " transform=transforms.Compose([\n", " transforms.ToTensor(),\n", " transforms.Normalize((0.4915, 0.4823, 0.4468),\n", " (0.2470, 0.2435, 0.2616))\n", " ]))" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "transformed_cifar10_val = datasets.CIFAR10(\n", " data_path, train=False, download=False,\n", " transform=transforms.Compose([\n", " transforms.ToTensor(),\n", " transforms.Normalize((0.4915, 0.4823, 0.4468),\n", " (0.2470, 0.2435, 0.2616))\n", " ]))" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers).\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "img_t, _ = transformed_cifar10[99]\n", "\n", "plt.imshow(img_t.permute(1, 2, 0))\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" } }, "nbformat": 4, "nbformat_minor": 2 }