Skip to content

Instantly share code, notes, and snippets.

@lidopypy
Created April 12, 2019 05:26
Show Gist options
  • Save lidopypy/27e8404b5f9258a6d59d4d3b17465b84 to your computer and use it in GitHub Desktop.
Save lidopypy/27e8404b5f9258a6d59d4d3b17465b84 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import torch\n",
"import torch.nn as nn\n",
"import torch.utils.data\n",
"import torch.nn.functional as F\n",
"from torch.autograd import Variable\n",
"from sklearn.model_selection import train_test_split\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"cuda:0\n"
]
}
],
"source": [
"device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n",
"print(device)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Using TensorFlow backend.\n"
]
}
],
"source": [
"from keras.datasets import mnist\n",
"(X_train, Y_train), (X_test, Y_test) = mnist.load_data()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"X_train = X_train.astype('float32') / 255\n",
"X_test = X_test.astype('float32') / 255"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"features_train, features_test, targets_train, targets_test = train_test_split(X_train, Y_train, test_size = 0.2, random_state = 42)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"featuresTrain = torch.from_numpy(features_train)\n",
"targetsTrain = torch.from_numpy(targets_train).type(torch.LongTensor) # data type is long\n",
"\n",
"featuresTest = torch.from_numpy(features_test)\n",
"targetsTest = torch.from_numpy(targets_test).type(torch.LongTensor) # data type is long"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"# Pytorch train and test TensorDataset\n",
"train = torch.utils.data.TensorDataset(featuresTrain,targetsTrain)\n",
"test = torch.utils.data.TensorDataset(featuresTest,targetsTest)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"# Hyper Parameters\n",
"# batch_size, epoch and iteration\n",
"LR = 0.01\n",
"batch_size = 100\n",
"n_iters = 10000\n",
"num_epochs = n_iters / (len(features_train) / batch_size)\n",
"num_epochs = int(num_epochs)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"# Pytorch DataLoader\n",
"train_loader = torch.utils.data.DataLoader(train, batch_size = batch_size, shuffle = True)\n",
"test_loader = torch.utils.data.DataLoader(test, batch_size = batch_size, shuffle = True)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"# Create CNN Model\n",
"class CNN_Model(nn.Module):\n",
" def __init__(self):\n",
" super(CNN_Model, self).__init__()\n",
" # Convolution 1 , input_shape=(1,28,28)\n",
" self.cnn1 = nn.Conv2d(in_channels=1, out_channels=16, kernel_size=5, stride=1, padding=0) #output_shape=(16,24,24)\n",
" self.relu1 = nn.ReLU() # activation\n",
" # Max pool 1\n",
" self.maxpool1 = nn.MaxPool2d(kernel_size=2) #output_shape=(16,12,12)\n",
" # Convolution 2\n",
" self.cnn2 = nn.Conv2d(in_channels=16, out_channels=32, kernel_size=5, stride=1, padding=0) #output_shape=(32,8,8)\n",
" self.relu2 = nn.ReLU() # activation\n",
" # Max pool 2\n",
" self.maxpool2 = nn.MaxPool2d(kernel_size=2) #output_shape=(32,4,4)\n",
" # Fully connected 1 ,#input_shape=(32*4*4)\n",
" self.fc1 = nn.Linear(32 * 4 * 4, 10) \n",
" \n",
" def forward(self, x):\n",
" # Convolution 1\n",
" out = self.cnn1(x)\n",
" out = self.relu1(out)\n",
" # Max pool 1\n",
" out = self.maxpool1(out)\n",
" # Convolution 2 \n",
" out = self.cnn2(out)\n",
" out = self.relu2(out)\n",
" # Max pool 2 \n",
" out = self.maxpool2(out)\n",
" out = out.view(out.size(0), -1)\n",
" # Linear function (readout)\n",
" out = self.fc1(out)\n",
" return out"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"CNN_Model(\n (cnn1): Conv2d(1, 16, kernel_size=(5, 5), stride=(1, 1))\n (relu1): ReLU()\n (maxpool1): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n (cnn2): Conv2d(16, 32, kernel_size=(5, 5), stride=(1, 1))\n (relu2): ReLU()\n (maxpool2): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n (fc1): Linear(in_features=512, out_features=10, bias=True)\n)\n"
]
}
],
"source": [
"model = CNN_Model()\n",
"print(model)\n",
"model.to(device) #使用GPU\n",
"optimizer = torch.optim.Adam(model.parameters(), lr=LR) # optimize all cnn parameters\n",
"loss_func = nn.CrossEntropyLoss() # the target label is not one-hotted\n",
"input_shape = (-1,1,28,28)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"def fit_model(model, loss_func, optimizer, input_shape, num_epochs, train_loader, test_loader):\n",
" # Traning the Model\n",
" #history-like list for store loss & acc value\n",
" training_loss = []\n",
" training_accuracy = []\n",
" validation_loss = []\n",
" validation_accuracy = []\n",
" for epoch in range(num_epochs):\n",
" #training model & store loss & acc / epoch\n",
" correct_train = 0\n",
" total_train = 0\n",
" for i, (images, labels) in enumerate(train_loader):\n",
" # 1.Define variables\n",
" train = Variable(images.view(input_shape)).to(device) #使用GPU\n",
" labels = Variable(labels).to(device) #使用GPU\n",
" # 2.Clear gradients\n",
" optimizer.zero_grad()\n",
" # 3.Forward propagation\n",
" outputs = model(train)\n",
" # 4.Calculate softmax and cross entropy loss\n",
" train_loss = loss_func(outputs, labels)\n",
" # 5.Calculate gradients\n",
" train_loss.backward()\n",
" # 6.Update parameters\n",
" optimizer.step()\n",
" # 7.Get predictions from the maximum value\n",
" predicted = torch.max(outputs.data, 1)[1].to(device) #使用GPU\n",
" # 8.Total number of labels\n",
" total_train += len(labels)\n",
" # 9.Total correct predictions\n",
" correct_train += (predicted == labels).float().sum()\n",
" #10.store val_acc / epoch\n",
" train_accuracy = 100 * correct_train / float(total_train)\n",
" training_accuracy.append(train_accuracy)\n",
" # 11.store loss / epoch\n",
" training_loss.append(train_loss.data)\n",
"\n",
" #evaluate model & store loss & acc / epoch\n",
" correct_test = 0\n",
" total_test = 0\n",
" for images, labels in test_loader:\n",
" # 1.Define variables\n",
" test = Variable(images.view(input_shape)).to(device) #使用GPU\n",
" labels = Variable(labels).to(device) #使用GPU\n",
" # 2.Forward propagation\n",
" outputs = model(test)\n",
" # 3.Calculate softmax and cross entropy loss\n",
" val_loss = loss_func(outputs, labels)\n",
" # 4.Get predictions from the maximum value\n",
" predicted = torch.max(outputs.data, 1)[1].to(device) #使用GPU\n",
" # 5.Total number of labels\n",
" total_test += len(labels)\n",
" # 6.Total correct predictions\n",
" correct_test += (predicted == labels).float().sum()\n",
" #6.store val_acc / epoch\n",
" val_accuracy = 100 * correct_test / float(total_test)\n",
" validation_accuracy.append(val_accuracy)\n",
" # 11.store val_loss / epoch\n",
" validation_loss.append(val_loss.data)\n",
" print('Train Epoch: {}/{} Traing_Loss: {} Traing_acc: {:.6f}% Val_Loss: {} Val_accuracy: {:.6f}%'.format(epoch+1, num_epochs, train_loss.data, train_accuracy, val_loss.data, val_accuracy))\n",
" return training_loss, training_accuracy, validation_loss, validation_accuracy"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train Epoch: 1/20 Traing_Loss: 0.02414323017001152 Traing_acc: 94.979164% Val_Loss: 0.03725514933466911 Val_accuracy: 98.150002%\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train Epoch: 2/20 Traing_Loss: 0.013598723337054253 Traing_acc: 98.152084% Val_Loss: 0.030880380421876907 Val_accuracy: 98.375000%\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train Epoch: 3/20 Traing_Loss: 0.15341398119926453 Traing_acc: 98.537498% Val_Loss: 0.08556468039751053 Val_accuracy: 98.474998%\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train Epoch: 4/20 Traing_Loss: 0.045068684965372086 Traing_acc: 98.539581% Val_Loss: 0.05175375938415527 Val_accuracy: 98.258331%\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train Epoch: 5/20 Traing_Loss: 0.13092529773712158 Traing_acc: 98.750000% Val_Loss: 0.07401140034198761 Val_accuracy: 98.608330%\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train Epoch: 6/20 Traing_Loss: 0.057281628251075745 Traing_acc: 98.916664% Val_Loss: 0.06674692034721375 Val_accuracy: 98.150002%\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train Epoch: 7/20 Traing_Loss: 0.10006297379732132 Traing_acc: 98.772919% Val_Loss: 0.13368701934814453 Val_accuracy: 98.250000%\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train Epoch: 8/20 Traing_Loss: 0.18308429419994354 Traing_acc: 98.862495% Val_Loss: 0.13291633129119873 Val_accuracy: 98.074997%\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train Epoch: 9/20 Traing_Loss: 0.05422605574131012 Traing_acc: 98.954163% Val_Loss: 0.017375411465764046 Val_accuracy: 98.308334%\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train Epoch: 10/20 Traing_Loss: 0.021384121850132942 Traing_acc: 99.056252% Val_Loss: 0.04074253514409065 Val_accuracy: 98.433334%\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train Epoch: 11/20 Traing_Loss: 0.10035910457372665 Traing_acc: 99.052086% Val_Loss: 0.07390501350164413 Val_accuracy: 98.183334%\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train Epoch: 12/20 Traing_Loss: 0.009941749274730682 Traing_acc: 99.045830% Val_Loss: 0.10006452351808548 Val_accuracy: 98.299995%\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train Epoch: 13/20 Traing_Loss: 0.019217295572161674 Traing_acc: 99.154167% Val_Loss: 0.06792046874761581 Val_accuracy: 97.983330%\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train Epoch: 14/20 Traing_Loss: 0.009641025215387344 Traing_acc: 99.135414% Val_Loss: 4.461288335733116e-05 Val_accuracy: 98.033333%\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train Epoch: 15/20 Traing_Loss: 0.05726650357246399 Traing_acc: 98.939583% Val_Loss: 0.09188806265592575 Val_accuracy: 98.441666%\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train Epoch: 16/20 Traing_Loss: 0.0004979419754818082 Traing_acc: 99.158333% Val_Loss: 0.0557052344083786 Val_accuracy: 98.383331%\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train Epoch: 17/20 Traing_Loss: 0.002674431772902608 Traing_acc: 99.324997% Val_Loss: 0.0006345939473249018 Val_accuracy: 98.341667%\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train Epoch: 18/20 Traing_Loss: 0.003604097291827202 Traing_acc: 99.216667% Val_Loss: 0.12778456509113312 Val_accuracy: 98.324997%\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train Epoch: 19/20 Traing_Loss: 0.00016458511527162045 Traing_acc: 99.235413% Val_Loss: 0.10129798203706741 Val_accuracy: 98.566666%\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train Epoch: 20/20 Traing_Loss: 6.189346095197834e-06 Traing_acc: 99.283333% Val_Loss: 0.06670743972063065 Val_accuracy: 98.625000%\ntotal time: 70.97504743186205\n"
]
}
],
"source": [
"import time\n",
"start = time.clock()\n",
"training_loss, training_accuracy, validation_loss, validation_accuracy = fit_model(model, loss_func, optimizer, input_shape, num_epochs, train_loader, test_loader)\n",
"end = time.clock()\n",
"print('total time:',str(end-start))"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# visualization\n",
"plt.plot(range(num_epochs), training_loss, 'b-', label='Training_loss')\n",
"plt.plot(range(num_epochs), validation_loss, 'g-', label='validation_loss')\n",
"plt.title('Training & Validation loss')\n",
"plt.xlabel('Number of epochs')\n",
"plt.ylabel('Loss')\n",
"plt.legend()\n",
"plt.show()\n",
"plt.plot(range(num_epochs), training_accuracy, 'b-', label='Training_accuracy')\n",
"plt.plot(range(num_epochs), validation_accuracy, 'g-', label='Validation_accuracy')\n",
"plt.title('Training & Validation accuracy')\n",
"plt.xlabel('Number of epochs')\n",
"plt.ylabel('Accuracy')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment