852 lines
81 KiB
Plaintext
852 lines
81 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "b3cbc7c0-a6d9-4f1b-907a-b7eaa0ce6eab",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Without Data Augmentation\n",
|
|
"\n",
|
|
"This notebook is a baseline for the [./with-autoaugment.ipynb](./with-autoaugment.ipynb) and [./with-trivialaugment.ipynb](./with-trivialaugment.ipynb) notebooks. It's exactly the same code and model but without data augmentation."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "4af58769",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"torch : 1.13.1\n",
|
|
"lightning : 1.9.0\n",
|
|
"torchvision: 0.14.1\n",
|
|
"\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"%load_ext watermark\n",
|
|
"%watermark -p torch,lightning,torchvision"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"id": "d4363916",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import lightning as L\n",
|
|
"import time\n",
|
|
"import torch\n",
|
|
"import torchvision\n",
|
|
"import torch.nn as nn\n",
|
|
"import torch.nn.functional as F\n",
|
|
"import torchmetrics\n",
|
|
"from lightning.pytorch.loggers import CSVLogger\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"import numpy as np\n",
|
|
"import time\n",
|
|
"\n",
|
|
"from helper_utilities import LightningModel,Cifar10DataModule,plot_loss_and_acc"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"id": "1cd186d4",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Global seed set to 123\n",
|
|
"Using bfloat16 Automatic Mixed Precision (AMP)\n",
|
|
"GPU available: True (cuda), used: True\n",
|
|
"TPU available: False, using: 0 TPU cores\n",
|
|
"IPU available: False, using: 0 IPUs\n",
|
|
"HPU available: False, using: 0 HPUs\n",
|
|
"You are using a CUDA device ('NVIDIA A100-SXM4-40GB') that has Tensor Cores. To properly utilize them, you should set `torch.set_float32_matmul_precision('medium' | 'high')` which will trade-off precision for performance. For more details, read https://pytorch.org/docs/stable/generated/torch.set_float32_matmul_precision.html#torch.set_float32_matmul_precision\n",
|
|
"LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0,1,2,3,4,5,6,7]\n",
|
|
"\n",
|
|
" | Name | Type | Params\n",
|
|
"-------------------------------------------------\n",
|
|
"0 | model | ResNet | 11.2 M\n",
|
|
"1 | train_acc | MulticlassAccuracy | 0 \n",
|
|
"2 | val_acc | MulticlassAccuracy | 0 \n",
|
|
"3 | test_acc | MulticlassAccuracy | 0 \n",
|
|
"-------------------------------------------------\n",
|
|
"11.2 M Trainable params\n",
|
|
"0 Non-trainable params\n",
|
|
"11.2 M Total params\n",
|
|
"22.363 Total estimated model params size (MB)\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Sanity Checking: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "e245ca29555e4a90979bac0e313ae5b5",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Training: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Validation: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"`Trainer.fit` stopped: `max_epochs=40` reached.\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"%%capture --no-display\n",
|
|
"\n",
|
|
"L.seed_everything(123)\n",
|
|
"dm = Cifar10DataModule(height_width=(32, 32), batch_size=256, num_workers=4)\n",
|
|
"\n",
|
|
"pytorch_model = torchvision.models.resnet18(weights=None)\n",
|
|
"pytorch_model.fc = torch.nn.Linear(512, 10)\n",
|
|
"\n",
|
|
"lightning_model = LightningModel(model=pytorch_model, learning_rate=0.05)\n",
|
|
"\n",
|
|
"\n",
|
|
"start_1 = time.time()\n",
|
|
"\n",
|
|
"trainer = L.Trainer(\n",
|
|
" max_epochs=40,\n",
|
|
" accelerator=\"gpu\",\n",
|
|
" precision=16,\n",
|
|
" devices=[0],\n",
|
|
" logger=CSVLogger(save_dir=\"logs/\", name=\"baseline\"),\n",
|
|
" deterministic=False,\n",
|
|
")\n",
|
|
"\n",
|
|
"trainer.fit(model=lightning_model, datamodule=dm)\n",
|
|
"\n",
|
|
"end_1 = time.time()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"id": "011bd890",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Training time: 3.44 min\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<Figure size 640x480 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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mT9/PrGxsbWqRURE5GSafuFMnAXwz1bVWtUKNPPlZ99/AILDz7haVFQUI0eOZP78+QwZMgSA9957j5iYGC655BKsVitJSUne9f/+97/z4Ycf8sknnzBlypQal3XnnXeSk5NDZGQkHTp04B//+AeTJk3iueeeA+Cxxx6jf//+3ucAPXv2BCA3N5ennnqKZ599lvHjxwPQsWNHLrjgghrXISIiUhX13ASIcePG8f7771NcXAzAm2++yXXXXYfVaiUvL4977rmH7t2706xZM5o0acLmzZtr3XPz1VdfccUVV5CQkEBERAQ33HADhw8fpqCgADjec1OVzZs3U1xcfMrXRUREzpZ6bs7EHubpQakGt9tNTm4ukRERWK0+yI32sGqvOnr0aAzD4NNPP2XAgAF8++23PPnkkwDcc889LFq0iH/961906tSJ0NBQfve731FSUlLjknbv3s1vf/tbbr75ZmbOnElMTAzLli3jlltuoaSkhLCwMEJDQ0+5/eleExER8QVTe26WLl3K6NGjadWqFRaLhY8++uiM2yxevJi+ffvicDjo1KkTr7zySt0WabF4Dg1V92YPq9n6p7tZLNUuMyQkhKuvvpo333yTt956i65du9K3b1/AM7j3pptu4qqrruKcc84hLi6O3bt31+rrWLt2LW63m3/84x+cd955dOnShQMHKoa/3r17k5aWVuX2nTt3JjQ09JSvi4iInC1Tw01+fj5JSUnMmTOnWuvv2rWLyy+/nEsuuYT169dz11138cc//pEvvviijittGMaNG8enn37KvHnzGDdunHd5586d+eCDD1i/fj0bNmxg7Nixlc6sqq5OnTrhdDp54YUX2LlzJ6+//jpz586tsM7UqVNZvXo1d9xxBxs3bmTLli08//zzHDp0iJCQEP76179y77338tprr7Fjxw6+//57XnrppbNqu4iISDlTD0uNHDmSkSNHVnv9uXPn0r59e5544gkAunfvzrJly3jyyScZMWJEXZXZYFx66aVER0ezdetWxo4d610+a9Ysbr75ZgYNGkRMTAx//etfycnJqdVnJCUl8cQTT/D444/z8MMPc9FFFzFz5kxuvPFG7zpdunThyy+/5P7772fgwIGEhoaSnJzM9ddfD8CDDz5IUFAQDz30EAcOHCA+Pp5JkyadXeNFRETKWAyjmucb1zGLxcKHH37IlVde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\n",
|
|
"text/plain": [
|
|
"<Figure size 640x480 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"print(f\"Training time: {(end_1-start_1)/60:.2f} min\")\n",
|
|
"\n",
|
|
"plot_loss_and_acc(\n",
|
|
" trainer.logger.log_dir, \n",
|
|
" acc_ylim=(0.3, 1.1), \n",
|
|
" save_loss=\"1_baseline-loss.pdf\", \n",
|
|
" save_acc=\"1_baseline-acc.pdf\"\n",
|
|
")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"id": "869ff966-fbac-4ed3-a3b9-6894a17b1ad9",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Files already downloaded and verified\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"You are using a CUDA device ('NVIDIA A100-SXM4-40GB') that has Tensor Cores. To properly utilize them, you should set `torch.set_float32_matmul_precision('medium' | 'high')` which will trade-off precision for performance. For more details, read https://pytorch.org/docs/stable/generated/torch.set_float32_matmul_precision.html#torch.set_float32_matmul_precision\n",
|
|
"LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0,1,2,3,4,5,6,7]\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "c95938ffc923418eb9a4a70f9e99540f",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"Testing: 0it [00:00, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n",
|
|
"┃<span style=\"font-weight: bold\"> Test metric </span>┃<span style=\"font-weight: bold\"> DataLoader 0 </span>┃\n",
|
|
"┡━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n",
|
|
"│<span style=\"color: #008080; text-decoration-color: #008080\"> test_acc </span>│<span style=\"color: #800080; text-decoration-color: #800080\"> 0.6851000189781189 </span>│\n",
|
|
"└───────────────────────────┴───────────────────────────┘\n",
|
|
"</pre>\n"
|
|
],
|
|
"text/plain": [
|
|
"┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n",
|
|
"┃\u001b[1m \u001b[0m\u001b[1m Test metric \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m DataLoader 0 \u001b[0m\u001b[1m \u001b[0m┃\n",
|
|
"┡━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━┩\n",
|
|
"│\u001b[36m \u001b[0m\u001b[36m test_acc \u001b[0m\u001b[36m \u001b[0m│\u001b[35m \u001b[0m\u001b[35m 0.6851000189781189 \u001b[0m\u001b[35m \u001b[0m│\n",
|
|
"└───────────────────────────┴───────────────────────────┘\n"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[{'test_acc': 0.6851000189781189}]"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"trainer.test(model=lightning_model, datamodule=dm)"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3 (ipykernel)",
|
|
"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.10.6"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|