{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "demoTA.ipynb",
"provenance": [],
"collapsed_sections": [],
"toc_visible": true,
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
""
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "hT2sm0_4Ywa8",
"colab_type": "text"
},
"source": [
"# A typically demo to structure basic consepts\n",
"Source: https://pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html"
]
},
{
"cell_type": "code",
"metadata": {
"id": "N7Mpiy75B5RZ",
"colab_type": "code",
"outputId": "0cd85195-537f-4b1b-a8a1-5ff8fd3ac38d",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 85
}
},
"source": [
"import torch\n",
"import torchvision\n",
"import torchvision.transforms as transforms\n",
"transform = transforms.Compose(\n",
" [transforms.ToTensor(),\n",
" transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])\n",
"\n",
"trainset = torchvision.datasets.CIFAR10(root='./data', train=True,\n",
" download=True, transform=transform)\n",
"trainloader = torch.utils.data.DataLoader(trainset, batch_size=4,\n",
" shuffle=True, num_workers=2)\n",
"\n",
"testset = torchvision.datasets.CIFAR10(root='./data', train=False,\n",
" download=True, transform=transform)\n",
"testloader = torch.utils.data.DataLoader(testset, batch_size=4,\n",
" shuffle=False, num_workers=2)\n",
"\n",
"classes = ('plane', 'car', 'bird', 'cat',\n",
" 'deer', 'dog', 'frog', 'horse', 'ship', 'truck')"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"\r0it [00:00, ?it/s]"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"Downloading https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz to ./data/cifar-10-python.tar.gz\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"170500096it [00:04, 42444516.33it/s] \n"
],
"name": "stderr"
},
{
"output_type": "stream",
"text": [
"Extracting ./data/cifar-10-python.tar.gz to ./data\n",
"Files already downloaded and verified\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "B7CrwV7TFurd",
"colab_type": "code",
"outputId": "00989d10-e72a-4e17-a460-062eef913903",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 155
}
},
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"# functions to show an image\n",
"\n",
"\n",
"def imshow(img):\n",
" img = img / 2 + 0.5 # unnormalize\n",
" npimg = img.numpy()\n",
" plt.imshow(np.transpose(npimg, (1, 2, 0)))\n",
" plt.show()\n",
"\n",
"\n",
"# get some random training images\n",
"dataiter = iter(trainloader)\n",
"images, labels = dataiter.next()\n",
"\n",
"# show images\n",
"imshow(torchvision.utils.make_grid(images))\n",
"# print labels\n",
"print(' '.join('%5s' % classes[labels[j]] for j in range(4)))"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\nAAAAAElFTkSuQmCC\n",
"text/plain": [
"