384 lines
43 KiB
Plaintext
384 lines
43 KiB
Plaintext
|
{
|
||
|
"cells": [
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 74,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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
|
||
|
"text/plain": [
|
||
|
"<Figure size 432x288 with 1 Axes>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {
|
||
|
"needs_background": "light"
|
||
|
},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"name": "stdout",
|
||
|
"output_type": "stream",
|
||
|
"text": [
|
||
|
"Balerinki: 6.47%\n",
|
||
|
"Botki: 3.45%\n",
|
||
|
"Creepersy: 7.02%\n",
|
||
|
"Czolenka: 3.83%\n",
|
||
|
"Domowe: 11.32%\n",
|
||
|
"Espadryle: 5.27%\n",
|
||
|
"Glany: 4.10%\n",
|
||
|
"Kalosze: 1.63%\n",
|
||
|
"Klapki: 8.62%\n",
|
||
|
"Kozaki: 0.00%\n",
|
||
|
"Mokasyny: 8.28%\n",
|
||
|
"Polbuty: 5.79%\n",
|
||
|
"Pozostale: 6.90%\n",
|
||
|
"Sandaly: 7.30%\n",
|
||
|
"Sniegowce: 3.05%\n",
|
||
|
"Sportowe: 6.44%\n",
|
||
|
"Tenisowki: 6.18%\n",
|
||
|
"Trekkingowe: 4.36%\n",
|
||
|
"biel: 3.80%\n",
|
||
|
"czern: 13.46%\n",
|
||
|
"inny-kolor: 10.42%\n",
|
||
|
"odcienie-brazu-i-bezu: 6.71%\n",
|
||
|
"odcienie-czerwieni: 2.75%\n",
|
||
|
"odcienie-fioletu: 8.17%\n",
|
||
|
"odcienie-granatowego: 13.61%\n",
|
||
|
"odcienie-niebieskiego: 11.62%\n",
|
||
|
"odcienie-pomaranczowego: 4.03%\n",
|
||
|
"odcienie-rozu: 0.00%\n",
|
||
|
"odcienie-szarosci-i-srebra: 9.14%\n",
|
||
|
"odcienie-zieleni: 5.95%\n",
|
||
|
"odcienie-zoltego-i-zlota: 1.45%\n",
|
||
|
"wielokolorowy: 8.89%\n",
|
||
|
"Domowe odcienie-granatowego\n"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAPsAAAD5CAYAAADhukOtAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAYmUlEQVR4nO3dbWyc1ZUH8P/xeMYvYydOYjsxdmKTF2hDNgQyzaZtRHhpC6VoA1JV0Q8tH6qmaou0legHxEqF1VarvtGKbXdpA0lJu5SXvqlol92WDahst0uoKeDECbQ0OBDHsZ3ETuzYnvHYZz/ME8lh77l2PG8J9/+Totj3+PFz/djHM37OnHtFVUFE734V5Z4AEZUGk50oEEx2okAw2YkCwWQnCgSTnSgQlfkcLCI3AXgAQAzAw6r6Nd/HNzY2akdHRz6nJCKPnp4eHD9+XFyxeSe7iMQA/DOADwM4AuAPIvKUqh6wjuno6EBnZ+d8T0lEs0ilUmYsn6fxmwC8oaqHVDUD4HEA2/L4fERURPkkeyuAt2e8fyQaI6ILUNFv0InIdhHpFJHOwcHBYp+OiAz5JHsvgOUz3m+Lxs6hqjtUNaWqqaampjxOR0T5yCfZ/wBgjYhcKiIJALcDeKow0yKiQpv33XhVzYrInQB+jVzpbZeqdhdsZkRUUHnV2VX1aQBPF2guRFREfAUdUSCY7ESBYLITBYLJThQIJjtRIJjsRIFgshMFgslOFAgmO1EgmOxEgWCyEwWCyU4UCCY7USCY7ESBYLITBYLJThQIJjtRIJjsRIFgshMFgslOFAgmO1EgmOxEgWCyEwWCyU4UCCY7USDy2hFGRHoAjACYApBVVXsneLooZbNZM5bJZMxYTU2Nc1xE8p4TzU9eyR65TlWPF+DzEFER8Wk8USDyTXYF8BsReUlEthdiQkRUHPk+jd+iqr0i0gzgGRF5TVWfn/kB0S+B7QCwYsWKPE9HRPOV1yO7qvZG/w8A+CWATY6P2aGqKVVNNTU15XM6IsrDvJNdRJIiUn/2bQAfAbC/UBMjosLK52n8UgC/jEoplQB+oqr/WZBZlVE6nTZj3d3dzvHKSvsyWiUoAFi5cqUZi8ViZqzQjh49asb27HnOjA0PDZmxj33sZuf4ylX210zFNe9kV9VDAK4s4FyIqIhYeiMKBJOdKBBMdqJAMNmJAsFkJwpEIRph5mxychJ9x/qcseamZvO4QpehVNWM/f5/fm/GHnviSef45Zddbh4zNnbGjK274r1m7INbtpixxsZGM1ZR4f79nU5PmMc8/PDDZuzlV7rMWCJRZcaGhoed4zfccJ15TEdHhxlb1rLMjMUqSlemvJjxkZ0oEEx2okAw2YkCwWQnCgSTnSgQ4rszXWgNDQ269Zqtztgtt9xiHveRG290jre1tZrHWHelAaB7v92ct+OhnWbsxMmTzvEVy9vNYxJVCTPWe+SQGWtstKsT69atN2NXX73BOX78uL1y2De/db8Zm542Q/CtJndm3H33f2LCrgq0XtJixr7whc+bseuvu9Yzk7CkUil0dnY6vzV8ZCcKBJOdKBBMdqJAMNmJAsFkJwoEk50oECUtvS1ckNQt71vnjA2P2fNYfdla5/g1W91lPAC4Yq3dZPL440+YsYFBu0SVzkw6xycn3eMAMOHZIulYn7spCAAScbtHaXLS/pyJeNw5Pm6UwgBg2lNfW7rUbkCpSthz7O8fcI7XJheYx4yOnjZj73vfRjN2371fMWNtbW1m7N2IpTciYrIThYLJThQIJjtRIJjsRIFgshMFYtY16ERkF4BbAAyo6rpobDGAJwB0AOgB8AlVtfcCiiRrqrDxrzrc54nZ65m9fuiIc/wHD/6LecyiJfNb0y4et7vU6upqneMjp4fNY/qO9Zsx9fSN+UplGc96cocHB53jvvJgba376wKA6mp7+6ply+yyXF1dnXNcYZf5amrseTz/2+fN2K6du8zYXV++yzmeTCbNY96t5vLI/giAm94xdjeAPaq6BsCe6H0iuoDNmuzRfuvvbOTeBmB39PZuALcWdlpEVGjz/Zt9qaqeffnXMeR2dCWiC1jeN+g093pb87WuIrJdRDpFpHNs3N4OmYiKa77J3i8iLQAQ/e9+ITQAVd2hqilVTdXW2DfhiKi45pvsTwG4I3r7DgC/Ksx0iKhY5lJ6ewzAtQAaReQIgHsBfA3AkyLyGQCHAXxiLicbHcvghZffcsZqaqvN4zJT7vGKmLvDCwCmp+0uumTSLidlPF1q1nZHDQsbzGMmJuySl+9cQ0PuxS1zn3PcjNUYZbQJY7FMABgdHTVjvb29ZqwuWW/GFi5wx04cN58EornZXkDUV5Z74qc/M2MLFrq77LZv324e4ytFXsxmTXZV/aQRuqHAcyGiIuIr6IgCwWQnCgSTnSgQTHaiQDDZiQIx6934QprMTuPoCXfZqPKUXaJKVLlLXslad2cVAExN2d1VIyMjZmzhwoVm7MyZMed41nOurGdxyEzafkVhc7PdUXbK02U3anxt49V2aTPtmceZM56y3FG7LFezerVzXMUulw4N2wtOZibtOU5M2LEdP/i+c7x9xXLzmG233mbGfHsIXugu3pkT0XlhshMFgslOFAgmO1EgmOxEgWCyEwWipKU3wF7lQsT+vSPiXpgx41lEsbra7p33lU98ZShrT7TaGrus1bikwYyNp7OeeXi65TxzHB8/4xyvq7PnODVttBUCUE/34NiY+1wAcPq0u4yW8Czo2T9oL87Z1maXytasWWPGXjuw3zn+g+/bi5W2r1hhxq7amDJj1s/phYKP7ESBYLITBYLJThQIJjtRIJjsRIEo6d14EUFlpfuUsUp7SyZru6ZE3J6+787o1JR993nS07hi/W6MG2vTAcDwKbu541i/vR5bbY29Tt769VeaMesO+Z9e22ceI2o38pwYspuGxsfttfCsZqPFDQ3mMda6dTl2VWDt2ivsz2msD/jySy+ax3zve981Y1/7xjfNWHPzhb19Ah/ZiQLBZCcKBJOdKBBMdqJAMNmJAsFkJwrEXLZ/2gXgFgADqrouGrsPwGcBDEYfdo+qPj3b51JVTGXdzR++5hSrVJb2bJ8ETyyesJsxcpvSumWNRpjJzIR9TNaex4J699ZEANDQYK+Ft3XrVjNmbXtV7VmD7rUDr5qxsXF7/uMTdmx4eMg5bm2hBQCxmF0uraqyv2dNTU1mrLmp2TlebaxrCACvHew2Y9/9p++ZsU/f8WkztmrVKjNWqnXt5nKWRwDc5Bj/jqpuiP7NmuhEVF6zJruqPg/A3hWQiC4K+Tx/uFNEukRkl4gsKtiMiKgo5pvsDwJYBWADgD4A91sfKCLbRaRTRDqnpuzFGoiouOaV7Krar6pTqjoN4CEAmzwfu0NVU6qaisVKvjAOEUXmlewi0jLj3dsAuNf+IaILxlxKb48BuBZAo4gcAXAvgGtFZANyrUg9AD43l5OpKrJG6c1T8TJLb/G4vZWQ1SkHABUVdsyn0vicvq2m6uvtTq5+T9dbXV3SjC1usG+RVBnr4W3dep15jK8cVmms4QYAPT2HzZjVETc6YncBVnq6GOs9Zcq+o0fN2BpjG6qNKXstucWLF5uxA90HzNhX/+EfzdhHP3qjGfvQhz/kHF+yZIl5zHzWu5s12VX1k47hned9JiIqK76CjigQTHaiQDDZiQLBZCcKBJOdKBAlf5WLVabKZMbMYyqNEpsaXWi+YwDA9+Ieq2sMABJJd+fVyIi9DdK0ZzHH2tpaM7bxqo3zOs7qblve1mYeM/3Xm+d5LntRzDffPOQcPzlkt1k0eBajnJy0X33Z1dVlxqzutvb2DvOY91z+HjPmux77PPP48b/+xIw9++xzzvGtW68xj9m48Wrn+MSE3YHJR3aiQDDZiQLBZCcKBJOdKBBMdqJAMNmJAlHS0lu8Mo5lS1ucsbGxUfO400anVGZy0j6Z2L/HJj3H+brlrMU3slm7vDY5ae+HduX6DWas2lPiSafTZqzKKDXVePaOa72k1YxlPdcq6ymH1da4599zuMc8ZsTTEVdba3cBVni+Z/+7d69z/LSxFx0
|
||
|
"text/plain": [
|
||
|
"<Figure size 432x288 with 1 Axes>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {
|
||
|
"needs_background": "light"
|
||
|
},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"name": "stdout",
|
||
|
"output_type": "stream",
|
||
|
"text": [
|
||
|
"Balerinki: 11.13%\n",
|
||
|
"Botki: 10.93%\n",
|
||
|
"Creepersy: 1.87%\n",
|
||
|
"Czolenka: 16.84%\n",
|
||
|
"Domowe: 0.63%\n",
|
||
|
"Espadryle: 1.21%\n",
|
||
|
"Glany: 6.07%\n",
|
||
|
"Kalosze: 1.64%\n",
|
||
|
"Klapki: 0.00%\n",
|
||
|
"Kozaki: 2.64%\n",
|
||
|
"Mokasyny: 12.56%\n",
|
||
|
"Polbuty: 8.10%\n",
|
||
|
"Pozostale: 7.79%\n",
|
||
|
"Sandaly: 4.03%\n",
|
||
|
"Sniegowce: 1.48%\n",
|
||
|
"Sportowe: 3.63%\n",
|
||
|
"Tenisowki: 5.98%\n",
|
||
|
"Trekkingowe: 3.48%\n",
|
||
|
"biel: 5.27%\n",
|
||
|
"czern: 8.17%\n",
|
||
|
"inny-kolor: 9.55%\n",
|
||
|
"odcienie-brazu-i-bezu: 0.62%\n",
|
||
|
"odcienie-czerwieni: 2.27%\n",
|
||
|
"odcienie-fioletu: 11.20%\n",
|
||
|
"odcienie-granatowego: 13.46%\n",
|
||
|
"odcienie-niebieskiego: 14.54%\n",
|
||
|
"odcienie-pomaranczowego: 7.65%\n",
|
||
|
"odcienie-rozu: 3.07%\n",
|
||
|
"odcienie-szarosci-i-srebra: 5.34%\n",
|
||
|
"odcienie-zieleni: 7.19%\n",
|
||
|
"odcienie-zoltego-i-zlota: 0.00%\n",
|
||
|
"wielokolorowy: 11.67%\n",
|
||
|
"Czolenka odcienie-niebieskiego\n"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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
|
||
|
"text/plain": [
|
||
|
"<Figure size 432x288 with 1 Axes>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {
|
||
|
"needs_background": "light"
|
||
|
},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"name": "stdout",
|
||
|
"output_type": "stream",
|
||
|
"text": [
|
||
|
"Balerinki: 6.88%\n",
|
||
|
"Botki: 1.42%\n",
|
||
|
"Creepersy: 9.72%\n",
|
||
|
"Czolenka: 2.11%\n",
|
||
|
"Domowe: 7.20%\n",
|
||
|
"Espadryle: 5.38%\n",
|
||
|
"Glany: 4.77%\n",
|
||
|
"Kalosze: 0.89%\n",
|
||
|
"Klapki: 7.30%\n",
|
||
|
"Kozaki: 0.00%\n",
|
||
|
"Mokasyny: 5.78%\n",
|
||
|
"Polbuty: 9.16%\n",
|
||
|
"Pozostale: 6.55%\n",
|
||
|
"Sandaly: 5.41%\n",
|
||
|
"Sniegowce: 2.76%\n",
|
||
|
"Sportowe: 9.59%\n",
|
||
|
"Tenisowki: 7.45%\n",
|
||
|
"Trekkingowe: 7.62%\n",
|
||
|
"biel: 4.53%\n",
|
||
|
"czern: 7.76%\n",
|
||
|
"inny-kolor: 9.83%\n",
|
||
|
"odcienie-brazu-i-bezu: 0.31%\n",
|
||
|
"odcienie-czerwieni: 1.39%\n",
|
||
|
"odcienie-fioletu: 12.41%\n",
|
||
|
"odcienie-granatowego: 14.03%\n",
|
||
|
"odcienie-niebieskiego: 14.15%\n",
|
||
|
"odcienie-pomaranczowego: 8.37%\n",
|
||
|
"odcienie-rozu: 3.32%\n",
|
||
|
"odcienie-szarosci-i-srebra: 4.68%\n",
|
||
|
"odcienie-zieleni: 6.95%\n",
|
||
|
"odcienie-zoltego-i-zlota: 0.00%\n",
|
||
|
"wielokolorowy: 12.26%\n",
|
||
|
"Creepersy odcienie-niebieskiego\n"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"data": {
|
||
|
"image/png": "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
|
||
|
"text/plain": [
|
||
|
"<Figure size 432x288 with 1 Axes>"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {
|
||
|
"needs_background": "light"
|
||
|
},
|
||
|
"output_type": "display_data"
|
||
|
},
|
||
|
{
|
||
|
"name": "stdout",
|
||
|
"output_type": "stream",
|
||
|
"text": [
|
||
|
"Balerinki: 3.03%\n",
|
||
|
"Botki: 10.12%\n",
|
||
|
"Creepersy: 5.18%\n",
|
||
|
"Czolenka: 4.62%\n",
|
||
|
"Domowe: 2.23%\n",
|
||
|
"Espadryle: 0.16%\n",
|
||
|
"Glany: 8.46%\n",
|
||
|
"Kalosze: 12.42%\n",
|
||
|
"Klapki: 2.96%\n",
|
||
|
"Kozaki: 11.97%\n",
|
||
|
"Mokasyny: 2.46%\n",
|
||
|
"Polbuty: 2.84%\n",
|
||
|
"Pozostale: 8.41%\n",
|
||
|
"Sandaly: 4.87%\n",
|
||
|
"Sniegowce: 11.06%\n",
|
||
|
"Sportowe: 0.00%\n",
|
||
|
"Tenisowki: 4.89%\n",
|
||
|
"Trekkingowe: 4.31%\n",
|
||
|
"biel: 8.37%\n",
|
||
|
"czern: 4.25%\n",
|
||
|
"inny-kolor: 8.15%\n",
|
||
|
"odcienie-brazu-i-bezu: 0.00%\n",
|
||
|
"odcienie-czerwieni: 1.89%\n",
|
||
|
"odcienie-fioletu: 9.10%\n",
|
||
|
"odcienie-granatowego: 7.77%\n",
|
||
|
"odcienie-niebieskiego: 14.16%\n",
|
||
|
"odcienie-pomaranczowego: 7.08%\n",
|
||
|
"odcienie-rozu: 7.18%\n",
|
||
|
"odcienie-szarosci-i-srebra: 5.30%\n",
|
||
|
"odcienie-zieleni: 10.11%\n",
|
||
|
"odcienie-zoltego-i-zlota: 3.08%\n",
|
||
|
"wielokolorowy: 13.57%\n",
|
||
|
"Kalosze odcienie-niebieskiego\n"
|
||
|
]
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"import requests\n",
|
||
|
"from torch.autograd import Variable\n",
|
||
|
"import torchvision.transforms as transforms\n",
|
||
|
"import torch.nn as nn\n",
|
||
|
"import torch.nn.functional as F\n",
|
||
|
"from PIL import Image\n",
|
||
|
"import torch\n",
|
||
|
"\n",
|
||
|
"import numpy as np\n",
|
||
|
"import os.path\n",
|
||
|
"\n",
|
||
|
"import matplotlib.pyplot as plt\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",
|
||
|
"transform = transforms.Compose(\n",
|
||
|
" [ transforms.Resize(32),\n",
|
||
|
" transforms.Pad(10, fill=255),\n",
|
||
|
" transforms.CenterCrop((32, 32)),\n",
|
||
|
" transforms.ToTensor(),\n",
|
||
|
" transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))\n",
|
||
|
" ]\n",
|
||
|
")\n",
|
||
|
"\n",
|
||
|
"class Net(nn.Module):\n",
|
||
|
" def __init__(self):\n",
|
||
|
" super(Net, self).__init__()\n",
|
||
|
" self.conv1 = nn.Conv2d(3, 6, 5)\n",
|
||
|
" self.pool = nn.MaxPool2d(2, 2)\n",
|
||
|
" self.conv2 = nn.Conv2d(6, 16, 5)\n",
|
||
|
" self.fc1 = nn.Linear(16 * 5 * 5, 120)\n",
|
||
|
" self.fc2 = nn.Linear(120, 84)\n",
|
||
|
" self.fc3 = nn.Linear(84, 18)\n",
|
||
|
"\n",
|
||
|
" def forward(self, x):\n",
|
||
|
" x = self.pool(F.relu(self.conv1(x)))\n",
|
||
|
" x = self.pool(F.relu(self.conv2(x)))\n",
|
||
|
" x = x.view(-1, 16 * 5 * 5)\n",
|
||
|
" x = F.relu(self.fc1(x))\n",
|
||
|
" x = F.relu(self.fc2(x))\n",
|
||
|
" x = self.fc3(x)\n",
|
||
|
" return x\n",
|
||
|
"\n",
|
||
|
"class NetBoss(nn.Module):\n",
|
||
|
" def __init__(self):\n",
|
||
|
" super(NetBoss, self).__init__()\n",
|
||
|
" self.conv1 = nn.Conv2d(3, 6, 5)\n",
|
||
|
" self.pool = nn.MaxPool2d(2, 2)\n",
|
||
|
" self.conv2 = nn.Conv2d(6, 16, 5)\n",
|
||
|
" self.fc1 = nn.Linear(16 * 5 * 5, 120)\n",
|
||
|
" self.fc2 = nn.Linear(120, 84)\n",
|
||
|
" self.fc3 = nn.Linear(84, 14)\n",
|
||
|
"\n",
|
||
|
" def forward(self, x):\n",
|
||
|
" x = self.pool(F.relu(self.conv1(x)))\n",
|
||
|
" x = self.pool(F.relu(self.conv2(x)))\n",
|
||
|
" x = x.view(-1, 16 * 5 * 5)\n",
|
||
|
" x = F.relu(self.fc1(x))\n",
|
||
|
" x = F.relu(self.fc2(x))\n",
|
||
|
" x = self.fc3(x)\n",
|
||
|
" return x\n",
|
||
|
" \n",
|
||
|
"\n",
|
||
|
"# loading exisiting NN's\n",
|
||
|
"if os.path.isfile(\"nn-state-dict.pth\"):\n",
|
||
|
" net_kind = Net()\n",
|
||
|
" net_kind.load_state_dict(torch.load(\"nn-state-dict.pth\"))\n",
|
||
|
" net_kind.eval()\n",
|
||
|
" \n",
|
||
|
"\n",
|
||
|
"if os.path.isfile(\"nn-col-state-dict.pth\"):\n",
|
||
|
" net_col = NetBoss()\n",
|
||
|
" net_col.load_state_dict(torch.load(\"nn-col-state-dict.pth\"))\n",
|
||
|
" net_col.eval()\n",
|
||
|
" \n",
|
||
|
"\n",
|
||
|
"url1 = \"https://chillizet-static.hitraff.pl/uploads/productfeeds/images/99/dd/house-klapki-friends-czarny.jpg\"\n",
|
||
|
"url2 = \"https://e-obuwniczy.pl/pol_pl_POLBUTY-BUT-BAL-VENETTO-635-SKORA-LICOWA-CZARNY-2551_5.jpg\"\n",
|
||
|
"url3 = \"https://bhp-nord.pl/33827-thickbox_default/but-s1p-portwest-steelite-tove-ft15.jpg\"\n",
|
||
|
"url4 = \"https://www.sklepmartes.pl/174554-thickbox_default/dzieciece-kalosze-cosy-wellies-kids-2076-victoria-blue-bejo.jpg\"\n",
|
||
|
"urls = [url1, url2, url3, url4]\n",
|
||
|
"\n",
|
||
|
"# dictionary with names of shoe kinds & shoe colours\n",
|
||
|
"import pickle\n",
|
||
|
"kind = open(\"class-shoe.pkl\", \"rb\")\n",
|
||
|
"colour = open(\"class-col.pkl\", \"rb\")\n",
|
||
|
"shoe_kinds = pickle.load(kind)\n",
|
||
|
"shoe_colours = pickle.load(colour)\n",
|
||
|
"\n",
|
||
|
"for url in urls:\n",
|
||
|
" img = Image.open(requests.get(url, stream=True).raw)\n",
|
||
|
"\n",
|
||
|
" image_tensor = transform(img).float()\n",
|
||
|
" imshow(image_tensor)\n",
|
||
|
" image_tensor = image_tensor.unsqueeze_(0)\n",
|
||
|
" inputi = Variable(image_tensor)\n",
|
||
|
"\n",
|
||
|
" \n",
|
||
|
" # calculating the % probability of the shoe kind\n",
|
||
|
" output_kind = net_kind(inputi)\n",
|
||
|
" \n",
|
||
|
" _, predicted_1 = torch.max(output_kind.data, 1)\n",
|
||
|
" _, predicted_1m = torch.min(output_kind.data, 1)\n",
|
||
|
" \n",
|
||
|
" output_kind.data.add_(-output_kind.data[0][int(predicted_1m)])\n",
|
||
|
" \n",
|
||
|
" percentage_kind = output_kind.data.div(torch.sum(output_kind.data)) * 100\n",
|
||
|
" for i in range(0, len(percentage_kind[0])):\n",
|
||
|
" print(shoe_kinds[i] + \":\", '%.2f' % float(percentage_kind[0][i]) + \"%\")\n",
|
||
|
" \n",
|
||
|
" # calculating the % probability of the shoe colour\n",
|
||
|
" output_col = net_col(inputi)\n",
|
||
|
" #print(output_col)\n",
|
||
|
" _, predicted_2 = torch.max(output_col.data, 1)\n",
|
||
|
" _, predicted_2m = torch.min(output_col.data, 1)\n",
|
||
|
" \n",
|
||
|
" # problem: colour net wrongly built on a net that outputs 18 classes instead of 14; needs fixing\n",
|
||
|
"\n",
|
||
|
" output_col.data.add_(-output_col.data[0][int(predicted_2m)])\n",
|
||
|
" \n",
|
||
|
" percentage_colour = output_col.data.div(torch.sum(output_col.data)) * 100\n",
|
||
|
" #print(hoh)\n",
|
||
|
" #print(torch.sum(hoh[:14]))\n",
|
||
|
" for i in range(0, len(percentage_colour[0])):\n",
|
||
|
" print(shoe_colours[i] + \":\", '%.2f' % float(percentage_colour[0][i]) + \"%\")\n",
|
||
|
" \n",
|
||
|
" # printing the most probable shoe type and colur\n",
|
||
|
" print(shoe_names[int(predicted_1)], shoe_colours[int(predicted_2)])\n",
|
||
|
"\n",
|
||
|
" \n",
|
||
|
"\n"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": null,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": []
|
||
|
}
|
||
|
],
|
||
|
"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.6.9"
|
||
|
}
|
||
|
},
|
||
|
"nbformat": 4,
|
||
|
"nbformat_minor": 4
|
||
|
}
|