Spaces:
Sleeping
Sleeping
File size: 1,730 Bytes
f62a6a7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | {
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": ["# Attendance CNN — training notebook (demo)"]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import torch\n",
"import torch.nn as nn\n",
"!pip install torchvision -q"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"class AttendanceCNN(nn.Module):\n",
" def __init__(self, num_classes=40):\n",
" super().__init__()\n",
" self.conv1 = nn.Conv2d(3, 16, kernel_size=3, padding=1)\n",
" self.relu1 = nn.ReLU()\n",
" self.pool1 = nn.MaxPool2d(2, 2)\n",
" self.conv2 = nn.Conv2d(16, 32, kernel_size=3, padding=1)\n",
" self.relu2 = nn.ReLU()\n",
" self.pool2 = nn.MaxPool2d(2, 2)\n",
" self.flatten = nn.Flatten()\n",
" self.fc1 = nn.Linear(32 * 32 * 32, 96)\n",
" self.dropout = nn.Dropout(0.25)\n",
" self.fc2 = nn.Linear(96, num_classes)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
" def forward(self, x):\n",
" x = self.pool1(self.relu1(self.conv1(x)))\n",
" x = self.pool2(self.relu2(self.conv2(x)))\n",
" x = self.flatten(x)\n",
" x = self.dropout(self.fc1(x))\n",
" return self.fc2(x)"
]
}
],
"metadata": {
"kernelspec": {"display_name": "Python 3", "language": "python", "name": "python3"},
"language_info": {"name": "python", "version": "3.11"}
},
"nbformat": 4,
"nbformat_minor": 5
}
|