{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from fastai import *\n", "from fastai.vision import *\n", "from fastai.vision.models import efficientnet\n", "from fastai.utils.ipython import *\n", "from fastai.callbacks.tracker import SaveModelCallback\n", "from sklearn.model_selection import StratifiedKFold\n", "import matplotlib.pyplot as plt\n", "from functools import partial" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "%reload_ext autoreload\n", "%autoreload 2\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[PosixPath('../../../Dataset/Herlev Dataset/abnormal_moderate-dysplastic'),\n", " PosixPath('../../../Dataset/Herlev Dataset/normal_superficiel'),\n", " PosixPath('../../../Dataset/Herlev Dataset/abnormal_light-dysplastic'),\n", " PosixPath('../../../Dataset/Herlev Dataset/abnormal_severe-dysplastic'),\n", " PosixPath('../../../Dataset/Herlev Dataset/normal_columnar'),\n", " PosixPath('../../../Dataset/Herlev Dataset/normal_intermediate'),\n", " PosixPath('../../../Dataset/Herlev Dataset/abnormal_carcinoma-in-situ')]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "path = Path(\".\")\n", "data_path = path / \"..\" / \"..\" / \"..\" / \"Dataset\" / \"Herlev Dataset\"\n", "data_path.ls()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "LabelLists;\n", "\n", "Train: LabelList (917 items)\n", "x: ImageList\n", "Image (3, 83, 146),Image (3, 106, 116),Image (3, 129, 119),Image (3, 108, 110),Image (3, 209, 173)\n", "y: CategoryList\n", "abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic\n", "Path: ../../../Dataset/Herlev Dataset;\n", "\n", "Valid: LabelList (0 items)\n", "x: ImageList\n", "\n", "y: CategoryList\n", "\n", "Path: ../../../Dataset/Herlev Dataset;\n", "\n", "Test: None" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_init = (ImageList.from_folder(data_path)\n", " .split_none()\n", " .label_from_folder())\n", "data_init" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "StratifiedKFold(n_splits=5, random_state=0, shuffle=True)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "skf = StratifiedKFold(n_splits=5, shuffle=True, random_state=0)\n", "skf" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "tfms = get_transforms(flip_vert=True, max_warp=0.0, max_rotate=30.0)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[ .new_type at 0x7fa4a4330378>>,\n", " Precision(average='macro', pos_label=1, eps=1e-09),\n", " Recall(average='macro', pos_label=1, eps=1e-09),\n", " FBeta(average='macro', pos_label=1, eps=1e-09, beta=2),\n", " KappaScore(weights='quadratic')]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "our_metrics = [accuracy, Precision(average=\"macro\"), Recall(average=\"macro\"), FBeta(average=\"macro\"), KappaScore(weights=\"quadratic\")]\n", "our_metrics" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "idxs = [[train_idx, val_idx] for train_idx, val_idx in skf.split(data_init.x.items, data_init.y.items)]" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "def model_callback(model, model_name):\n", " return [SaveModelCallback(model, every=\"improvement\", monitor=\"accuracy\", name=model_name)]" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "PosixPath('Models')" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "models_path = path / \"Models\"\n", "models_path" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Fold-1" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "ImageDataBunch;\n", "\n", "Train: LabelList (733 items)\n", "x: ImageList\n", "Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64)\n", "y: CategoryList\n", "abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic\n", "Path: ../../../Dataset/Herlev Dataset;\n", "\n", "Valid: LabelList (184 items)\n", "x: ImageList\n", "Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64)\n", "y: CategoryList\n", "abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic\n", "Path: ../../../Dataset/Herlev Dataset;\n", "\n", "Test: None" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fold_idxs = idxs[0]\n", "fold_data = (ImageList.from_folder(data_path)\n", " .split_by_idxs(fold_idxs[0], fold_idxs[1])\n", " .label_from_folder()\n", " .transform(tfms, size=64)\n", " .databunch(bs=64)\n", " .normalize(imagenet_stats))\n", "fold_data" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Loaded pretrained weights for efficientnet-b3\n" ] } ], "source": [ "learner = Learner(fold_data, efficientnet.EfficientNetB3(fold_data), metrics=our_metrics, model_dir=models_path).to_fp16()\n", "learner = learner.split([learner.model._conv_stem, learner.model._blocks, learner.model._conv_head])" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 70.00% [7/10 00:17<00:07]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
01.997809#na#00:02
12.006682#na#00:02
22.005442#na#00:02
31.991419#na#00:02
41.895473#na#00:02
51.783296#na#00:02
63.746899#na#00:02

\n", "\n", "

\n", " \n", " \n", " 54.55% [6/11 00:01<00:01 6.8303]\n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "learner.lr_find()\n", "learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
01.9746891.9724900.103261nan0.1099420.0728110.07390400:03
11.9476811.9353240.157609nan0.1784140.1462230.12161100:03
21.8683451.8477290.266304nan0.3046570.2669620.26370500:03
31.7574491.7034470.3369570.3557610.3826040.3616160.38561500:03
41.6372031.5340290.4239130.4574320.4520920.4425760.49377700:03
51.5187881.3933610.4293480.4695070.4819570.4727590.52335500:03
61.4140721.2882980.4836960.5634240.5432000.5362650.54145000:03
71.3157451.2660380.4728260.5518180.5129320.5069270.55314900:03
81.2330101.3298600.4565220.5472520.5028060.4962960.54058600:03
91.1645661.3396910.4728260.5910250.5150060.5121050.57300800:03
101.0929471.3366050.5108700.6132780.5514600.5545690.62864700:03
111.0482461.3060390.5217390.6174800.5558110.5571990.64027600:03
120.9945611.3155730.5108700.6011440.5279600.5293700.61707200:03
130.9332901.2124200.5706520.6509350.6007120.6032210.65671600:03
140.8909941.1925930.5652170.6327090.6123520.6109270.70492000:03
150.8508851.1767140.5597830.6236300.6109090.6087050.68786300:03
160.8005081.2079070.5815220.6509850.6278330.6270810.69782600:03
170.7658321.2749590.5652170.6367650.6118690.6111530.69404200:03
180.7250091.2460500.5869570.6501810.6267190.6277660.71885900:03
190.6932581.2286990.5760870.6554820.6146320.6170900.71986500:03
200.6619201.2268250.5815220.6608780.6190870.6185930.68817900:03
210.6385831.1628550.5978260.6840380.6326540.6346910.68737200:03
220.6090501.1058570.6032610.6755310.6359210.6381030.73070700:03
230.5799381.0912730.6195650.6832000.6469100.6488620.74412700:03
240.5571691.0710540.6250000.6836740.6516720.6532660.75601900:03
250.5478391.0518300.6304350.6955270.6555330.6575360.75964600:03
260.5267711.0364610.6250000.6888990.6549540.6571450.75849100:03
270.5161071.0288270.6250000.6832990.6551520.6568190.75929300:03
280.5062561.0198740.6304350.6869910.6664550.6666260.77725800:03
290.5060411.0099880.6413040.7027450.6803220.6805260.78338700:03
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.10326086729764938.\n", "Better model found at epoch 1 with accuracy value: 0.15760870277881622.\n", "Better model found at epoch 2 with accuracy value: 0.2663043439388275.\n", "Better model found at epoch 3 with accuracy value: 0.33695653080940247.\n", "Better model found at epoch 4 with accuracy value: 0.42391303181648254.\n", "Better model found at epoch 5 with accuracy value: 0.42934781312942505.\n", "Better model found at epoch 6 with accuracy value: 0.4836956560611725.\n", "Better model found at epoch 10 with accuracy value: 0.510869562625885.\n", "Better model found at epoch 11 with accuracy value: 0.52173912525177.\n", "Better model found at epoch 13 with accuracy value: 0.570652186870575.\n", "Better model found at epoch 16 with accuracy value: 0.58152174949646.\n", "Better model found at epoch 18 with accuracy value: 0.5869565010070801.\n", "Better model found at epoch 21 with accuracy value: 0.5978260636329651.\n", "Better model found at epoch 22 with accuracy value: 0.60326087474823.\n", "Better model found at epoch 23 with accuracy value: 0.6195651888847351.\n", "Better model found at epoch 24 with accuracy value: 0.625.\n", "Better model found at epoch 25 with accuracy value: 0.6304348111152649.\n", "Better model found at epoch 29 with accuracy value: 0.6413043737411499.\n" ] } ], "source": [ "learner.fit_one_cycle(30, max_lr=slice(2e-03), callbacks=model_callback(learner, \"best-effb3-herlev-multiclass-fold1-stage1\"))\n", "learner.save(\"last-effb3-herlev-multiclass-fold1-stage1\")" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 60.00% [6/10 00:15<00:10]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.429362#na#00:02
10.439111#na#00:02
20.463661#na#00:02
30.460573#na#00:02
40.462196#na#00:02
50.750853#na#00:02

\n", "\n", "

\n", " \n", " \n", " 45.45% [5/11 00:01<00:01 1.2367]\n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "learner.load(\"best-effb3-herlev-multiclass-fold1-stage1\")\n", "learner = to_fp16(learner)\n", "learner.unfreeze()\n", "learner.lr_find()\n", "learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.4697131.0050140.6304350.6950420.6729960.6733620.77642700:03
10.4747050.9997070.6467390.7075330.6843810.6845320.78517000:03
20.4664380.9930670.6358700.6996100.6770550.6772560.77791300:03
30.4587190.9913070.6304350.6952700.6731940.6735830.77674700:03
40.4498130.9883670.6358700.6997250.6772530.6775410.77999500:03
50.4508350.9852910.6358700.6997250.6772530.6775410.77999500:03
60.4437190.9831980.6304350.6949650.6724910.6734670.77809800:03
70.4444960.9792130.6413040.7023560.6834950.6841060.79189600:03
80.4516050.9809520.6467390.7062170.6882570.6886560.80184600:03
90.4523240.9771500.6413040.7023380.6845940.6847460.79533600:03
100.4595200.9780090.6413040.7042310.6854950.6862300.79499700:03
110.4602410.9777470.6467390.7091030.6893560.6893200.78903600:03
120.4656170.9774010.6467390.7083860.6893560.6896140.79461400:03
130.4598630.9750740.6413040.7042550.6845940.6854010.79033900:03
140.4610270.9743610.6467390.7083860.6893560.6896140.79461400:03
150.4683530.9736640.6521740.7133260.6941180.6949970.79414800:03
160.4612580.9723890.6467390.7087150.6882570.6893740.78954000:03
170.4577810.9720540.6576090.7178640.7001620.7011460.79376700:03
180.4576570.9711170.6467390.7081780.6906380.6917050.78893000:03
190.4638070.9703820.6467390.7081780.6906380.6917050.78893000:03
200.4601000.9677280.6467390.7081780.6906380.6917050.78893000:03
210.4571280.9676680.6467390.7103940.6882570.6902810.78079200:03
220.4597630.9683880.6467390.7092250.6873560.6887670.78147900:03
230.4577250.9683560.6467390.7092250.6873560.6887670.78147900:03
240.4514650.9698970.6521740.7143840.6921180.6938760.78197500:03
250.4568630.9715080.6467390.7092250.6873560.6887670.78147900:03
260.4460820.9706870.6467390.7092250.6873560.6887670.78147900:03
270.4454900.9702920.6467390.7092250.6873560.6887670.78147900:03
280.4514920.9719450.6467390.7092250.6873560.6887670.78147900:03
290.4543930.9686810.6521740.7143840.6921180.6938760.78197500:03
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.6304348111152649.\n", "Better model found at epoch 1 with accuracy value: 0.64673912525177.\n", "Better model found at epoch 15 with accuracy value: 0.6521739363670349.\n", "Better model found at epoch 17 with accuracy value: 0.657608687877655.\n" ] } ], "source": [ "learner.fit_one_cycle(30, max_lr=slice(1e-06), callbacks=model_callback(learner, \"best-effb3-herlev-multiclass-fold1-stage2\"))\n", "learner.save(\"last-effb3-herlev-multiclass-fold1-stage2\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Fold-2" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "ImageDataBunch;\n", "\n", "Train: LabelList (733 items)\n", "x: ImageList\n", "Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64)\n", "y: CategoryList\n", "abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic\n", "Path: ../../../Dataset/Herlev Dataset;\n", "\n", "Valid: LabelList (184 items)\n", "x: ImageList\n", "Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64)\n", "y: CategoryList\n", "abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic\n", "Path: ../../../Dataset/Herlev Dataset;\n", "\n", "Test: None" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fold_idxs = idxs[1]\n", "fold_data = (ImageList.from_folder(data_path)\n", " .split_by_idxs(fold_idxs[0], fold_idxs[1])\n", " .label_from_folder()\n", " .transform(tfms, size=64)\n", " .databunch(bs=64)\n", " .normalize(imagenet_stats))\n", "fold_data" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 70.00% [7/10 00:14<00:06]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.618526#na#00:02
10.626408#na#00:01
20.620689#na#00:02
30.618785#na#00:02
40.620621#na#00:02
50.646209#na#00:02
61.266994#na#00:02

\n", "\n", "

\n", " \n", " \n", " 45.45% [5/11 00:01<00:01 2.2279]\n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEGCAYAAABo25JHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3deXhcV33/8fdXu63VtiQvkvfYsZ1gZ1ESQjbzY3NSSpICLYZS9jy0DfygJQVKf0BJ+7RhLZRAcGmaAiFpWGsgJKzBCVlsObGNncRLbMuWZMvarWW0zvf3x4yciS3Jsq07d0bzeT2PHs/ce+be7/FI851zz7nnmLsjIiKZKyvsAEREJFxKBCIiGU6JQEQkwykRiIhkOCUCEZEMlxN2AGeqvLzcFy1aFHYYIiJpZevWrS3uXjHavrRLBIsWLaK2tjbsMERE0oqZ1Y21T5eGREQynBKBiEiGUyIQEclwSgQiIhlOiUBEJMMpEYiIZDglAhGRDBdYIjCzu83smJntPE25y8xsyMzeFFQsIiLp7su/2stje1sCOXaQLYJ7gHXjFTCzbOAO4BcBxiEiktYGhqJ8+dd72HywLZDjB5YI3H0TcLqoPwD8ADgWVBwiIumusSNC1GH+jGmBHD+0PgIzqwJuBr4+gbK3mFmtmdU2NzcHH5yISAo53N4LwIKZ0wM5fpidxf8GfNTdo6cr6O4b3L3G3WsqKkadM0lEZMo63BYBYH5AiSDMSedqgPvNDKAcuMHMhtz9xyHGJCKScg619ZKbbcwuKQjk+KElAndfPPLYzO4BfqokICJyqsPtvVTPmE52lgVy/MASgZndB6wFys2sHvgUkAvg7ncFdV4Rkammvq2X6oA6iiHARODu68+g7DuDikNEJN0dbo+wrqo0sOPrzmIRkRTW3T9EW89AYCOGQIlARCSlHW6LDR2dP0OJQEQkI51IBDOD6yNQIhARSWGH1CIQEcls9e0RivNzKJueG9g5lAhERFLY4bZeqmdOJ37zbSCUCEREUtihtt7AJpsboUQgIpKi3J369kigQ0dBiUBEJGW1dA8QGRwObLK5EUoEIiIpamT66SCHjoISgYhIykrGzWSgRCAikrJGEkG1EoGISGY63BahojifaXnZgZ5HiUBEJEUlY+goKBGIiKSsw+29gQ8dBSUCEZGUNDgc5UhnX+BDRyHARGBmd5vZMTPbOcb+G81sh5ltM7NaM7s6qFhERNLNkY4+hqMe+IghCLZFcA+wbpz9vwbWuPtFwLuBbwYYi4hIWnnxHoI0TgTuvgloG2d/t7t7/Gkh4GOVFRHJNMlYh2BEqH0EZnazmT0P/IxYq2CscrfELx/VNjc3Jy9AEZGQHG7vJSfLmFs6xROBu//I3VcANwG3j1Nug7vXuHtNRUVF8gIUEQnJobYI88qmkZ0V3PTTI1Ji1FD8MtISMysPOxYRkVRwuC05Q0chxERgZudZfKUFM7sEyAdaw4pHRCSV1Lf3JqV/ACAnqAOb2X3AWqDczOqBTwG5AO5+F/BG4C/MbBCIAH+W0HksIpKxevqHaOkeCHyOoRGBJQJ3X3+a/XcAdwR1fhGRdFXfHgGY+peGRERkdC8OHVUiEBHJSCduJkvChHOgRCAiknLqWnspzMtmZmFeUs6nRCAikmIOtfWycFYh8YGVgVMiEBFJMQdbe1g4Kzn9A6BEICKSUoajTn1bhIWzCpN2TiUCEZEUcqQzwsBwlEVqEYiIZKa61tiIoQVKBCIimWkkESzSpSERkcxU19pDXk4Wc0oKknZOJQIRkRRysLWHBTOnk5WE6adHKBGIiKSQutbepHYUgxKBiEjKcHfqWntZMDN5/QOgRCAikjKau/qJDA6zqFwtAhGRjFQXn3U0WdNPj1AiEBFJEQdbeoDkDh2FABOBmd1tZsfMbOcY+99mZjvM7A9m9riZrQkqFhGRdHCorZfsLKMqSdNPjwiyRXAPsG6c/QeA69z9ZcDtwIYAYxERSXkHW3upKptGbnZyL9YEuVTlJjNbNM7+xxOePglUBxWLiEg6qEvyrKMjUqWP4D3Az8faaWa3mFmtmdU2NzcnMSwRkeSpa+3NzERgZq8klgg+OlYZd9/g7jXuXlNRUZG84EREkqSjd4DOyGDSO4ohwEtDE2Fmq4FvAte7e2uYsYiIhOlgfLK5ZK5DMCK0FoGZLQB+CLzd3feEFYeISCqoa40NHQ3j0lBgLQIzuw9YC5SbWT3wKSAXwN3vAj4JzAK+Fl+Xc8jda4KKR0QklZ1YhyDJN5NBsKOG1p9m/3uB9wZ1fhGRdHKwtYc5JQUU5GYn/dyhdxaLiAgcCmnEECgRiIikhIOtvaGMGAIlAhGR0PX0D9HS3Z/UdYoTKRGIiIQsjHWKEykRiIiELMyho6BEICISuhPrECgRiIhkprrWHmYV5lFSkBvK+ZUIRERCdrClN7TWACgRiIiE7lBbeENHQYlARCRUfYPDNHZGQplaYoQSgYhIiPY39+AO51UWhRaDEoGISIj2HusCYPns4tBiUCIQEQnR7qNd5GQZi8vVRyAikpH2NHWxuLyQvJzwPo6VCEREQrSnqZvlc8K7LARKBCIioekdGOJQWy/nh9g/AAEmAjO728yOmdnOMfavMLMnzKzfzD4SVBwiIqlqb1M3AMtnhzdiCIJtEdwDrBtnfxvwQeDzAcYgIpKy9jSFP2IIAkwE7r6J2If9WPuPufsWYDCoGEREUtmepi7ycrJYGOJdxZAmfQRmdouZ1ZpZbXNzc9jhiIhMij1N3ZxXUUR2loUaR1okAnff4O417l5TUVERdjgiIpNiT1MX54c8YgjSJBGIiEw1nZFBjnT2hd4/AEoEIiKh2HdiaolwRwwB5AR1YDO7D1gLlJtZPfApIBfA3e8yszlALVACRM3sQ8Aqdz8eVEwiIqli99GRoaPhtwgCSwTuvv40+48C1UGdX0Qkle1p6mJ6XjZVZdPCDkWXhkREwrCnqYtls4vJCnnEECgRiIiEYk9TF+enQP8AKBGIiCRda3c/Ld0DKdE/AEoEIiJJt6cpdTqKQYlARCTpRuYYSoWbyUCJQEQk6fY0dVFSkENlcX7YoQBKBCIiSTcytYRZ+COGQIlARCSp3J3dR7tSpn8AJpgIzKzQzLLij5eb2RvMLDfY0EREpp5jXf0c7xtKv0QAbAIKzKwK+AXwdmILz4iIyBnYfTQ1FqNJNNFEYO7eC/wJ8DV3fzNwQXBhiYhMTS+uSpYaN5PBGSQCM7sSeBvws/i27GBCEhGZunY2dFJelM+sotQYMQQTTwQfAj4O/Mjdd5nZEuC3wYUlIjL1RKPOY/tauOq8WWGH8hITmn3U3X8H/A4g3mnc4u4fDDIwEZGp5tkjx2npHuDaZam10uJERw1918xKzKwQ2Ak8a2a3BRuaiMjUsmlvbM31a5aXhxzJS0300tDIgjE3AT8HFhMbOTQmM7vbzI6Z2c4x9puZfcXM9pnZDjO75IwiFxFJM7/b3czKuSVUFheEHcpLTDQR5MbvG7gJ2Ojug4Cf5jX3AOvG2X89sCz+cwvw9QnGIiKSdrr7h9ha1851y1PrshBMPBF8AzgIFAKbzGwhMO6Sku6+CWgbp8iNwLc85kmgzMzmTjAeEZG08sQLrQxFnWtT7LIQTDARuPtX3L3K3W+If3DXAa88x3NXAYcTntfHt4mITDmb9jQzPS+bmoUzww7lFBPtLC41sy+aWW385wvEWgdJYWa3jJy7ubk5WacVEZk0m/Y2c+WSWeTlpN4UbxON6G6gC/jT+M9x4L/O8dwNwPyE59Xxbadw9w3uXuPuNRUVqXd9TURkPAdbeqhr7eXaFOwfgAneRwAsdfc3Jjz/RzPbdo7n3gjcamb3A1cAne5+5ByPKSKSckaGjaZ7IoiY2dXu/hiAmV0FRMZ7gZndB6wFys2sHvgUkAvg7ncBDwI3APuAXuBdZ1MBEZFUt2lPMwtmTmfRrOlhhzKqiSaC9wPfMrPS+PN24B3jvcDd159mvwN/PcHzi4ikpYGhKE+80MrNl1SlzEI0J5voFBPbgTVmVhJ/ftzMPgTsCDI4EZF0t7WunZ6B4ZSbViLRGXVfu/vx+B3GAH8TQDwiIlPKpr3N5GQZVy5NrYnmEp3LOKbUbOOIiKSQTXuauWThDIoLUndRx3NJBKebYkJEJKO1dvezq/F4Sk4rkWjcPgIz62L0D3wDpgUSkYjIFHGwtQeAC+aVhBzJ+MZNBO6eOotqioikmYaOPgCqylL7e3Pq3essIjJFHOmI3W41V4lARCQzNXZEKCnIoSh/ordshUOJQEQkIA0dfcxL8dYAKBGIiASmsSOS8v0DoEQgIhKYxs6IWgQiIpmqp3+Ijt5BJQIRkUx1pDM2YmheWWotVD8aJQIRkQCkyz0EoEQgIhKIxo6RFoESgYhIRmrsiJCdZVQW54cdymkFmgjMbJ2Z7TazfWb2sVH2LzSzX5vZDjN7xMyqg4xHRCRZGjoizCkpICc79b9vBxahmWUDdwLXA6uA9Wa26qRinwe+5e6rgc8A/xJUPCIiydTYEUmLjmIItkVwObDP3fe7+wBwP3DjSWVWAb+JP/7tKPtFRNJSY0cfc0tTv38Agk0EVcDhhOf18W2JtgN/En98M1BsZqcs42Nmt5hZrZnVNjc3BxKsiMhkiUadI2lyMxmE31n8EeA6M3sGuA5oAIZPLuTuG9y9xt1rKipSe4EHEZGW7n4Gh52qNLk0FOSUeA3A/ITn1fFtJ7h7I/EWgZkVAW90944AYxIRCVxDGg0dhWBbBFuAZWa22MzygLcAGxMLmFm5mY3E8HHg7gDjERFJisb4zWQZnwjcfQi4FXgYeA54wN13mdlnzOwN8WJrgd1mtgeYDfxzUPGIiCTLi9NLpEciCHS1BHd/EHjwpG2fTHj8feD7QcYgIpJsDR0RivJzKClI7QVpRoTdWSwiMuWM3ENgZmGHMiFKBCIik6wxTVYmG6FEICIyyWItAiUCEZGM1Dc4TGvPQFpMPz1CiUBEZBK9OP10etxMBkoEIiKTauQegnSZZwiUCEREJtVIi0CXhkREMlRDRwQzmF2iS0MiIhmpsSNCZXE+eTnp8/GaPpGKiKSBxjSafnqEEoGIyCRKt5vJQIlARGTSuDsNHZG06igGJQIRkUnT2jPAwFCUeaXp01EMSgQiIpOmMc0WpBmhRCAiMkmUCEREMlxD/K5i9REkMLN1ZrbbzPaZ2cdG2b/AzH5rZs+Y2Q4zuyHIeEREgnSkI8K03GzKpueGHcoZCSwRmFk2cCdwPbAKWG9mq04q9g/ElrC8mNiaxl8LKh4RkaAdaOlJqwVpRgTZIrgc2Ofu+919ALgfuPGkMg6UxB+XAo0BxiMiEpiO3gEe3dvCNcsqwg7ljAWZCKqAwwnP6+PbEn0a+HMzqye2tvEHRjuQmd1iZrVmVtvc3BxErCIi5+SnO44wMBzlTZdWhx3KGQu7s3g9cI+7VwM3AN82s1NicvcN7l7j7jUVFemXbUVk6vvB0/Usn13EBfNKTl84xQSZCBqA+QnPq+PbEr0HeADA3Z8ACoDyAGMSEZl0+5u7eeZQB2+8pDrt+gcg2ESwBVhmZovNLI9YZ/DGk8ocAl4FYGYriSUCXfsRkbTyw6cbyDK46eKTr36nh8ASgbsPAbcCDwPPERsdtMvMPmNmb4gX+1vgfWa2HbgPeKe7e1AxiYhMtmjU+dEzDVy9rCKt1iBIlBPkwd39QWKdwInbPpnw+FngqiBjEBEJ0pMHWmnoiPB3684PO5SzFnZnsYhIWvvh0w0U5efw2lVzwg7lrCkRiIicpd6BIX7+hyPc8LI5TMvLDjucs6ZEICJylh7edZSegWHeeEn63TuQSIlAROQs/fDpBubPnMZli2aGHco5USIQETkLj+1t4bF9Ldx8cTVZWel370CiQEcNiYhMNe09A/zzg8/x/a31LJo1nbddsSDskM6ZEoGIyAS4Oxu3N/KZnzxLZ2SQv1q7lA++ahkFuenbSTxCiUBE5DSO9w3ytw9s55fPNrGmupTvvPcKVs5NvzmFxqJEICIyjheau3nft2o51NrLJ25YybuvXkx2mvcJnEyJQERkDL9+rokP3b+N3JwsvvPeK3j5kllhhxQIJQIRkZO4O1/9zT6++Ks9rJpbwoa/qEm7dYjPhBKBiMhJ7tt8mC/8cg83XTSPf/mT1Wl91/BEKBGIiCTo6hvki7/czeWLZvKlP7soLdcXOFNKBCIiCe763Qu0dA/wn+9YmRFJAHRnsYjICY0dEb756AFuvGgea+aXhR1O0igRiIjEfe7h3Thw2+vSd22BsxFoIjCzdWa228z2mdnHRtn/JTPbFv/ZY2YdQcYjIjKWHfUd/OiZBt5z9WKqZ0wPO5ykCqyPwMyygTuB1wD1wBYz2xhflQwAd/9wQvkPABcHFY+IyFjcnX/62XPMKszjr9YuDTucpAuyRXA5sM/d97v7AHA/cOM45dcTW7dYRCSpfvFsE5sPtPGh1yynuCA37HCSLshEUAUcTnheH992CjNbCCwGfjPG/lvMrNbMapubmyc9UBHJXIPDUe74+fOcV1nE+svmhx1OKFKls/gtwPfdfXi0ne6+wd1r3L2moqIiyaGJyFT2QO1h9rf08NF1K8jJTpWPxOQKstYNQGJ6rY5vG81b0GUhEUmyyMAwX/7VXmoWzuDVKyvDDic0QSaCLcAyM1tsZnnEPuw3nlzIzFYAM4AnAoxFROQU//X4AY519fPR61dkzM1jowksEbj7EHAr8DDwHPCAu+8ys8+Y2RsSir4FuN/dPahYRERO1tE7wNcfeYFXrahM+zWHz1WgU0y4+4PAgydt++RJzz8dZAwiIqP5+iMv0N0/xG3rMuvmsdFkZs+IiGS0I50R7nn8IDdfXMWKOVNnpbGzpUQgIhnn3365F3f48KuXhx1KSlAiEJGMUnuwje9tPczbXr6A+TMzayqJsWgaahHJCJ2RQb7wi918+8k65pQUcOsrzws7pJShRCAiU5q7s3F7I7f/9Dnaevp5x5WL+JvXLqckA6eSGIsSQYKHdh7hH3/yLNdfOJf3X7eEypKCsEMSkbN0tLOPXz57lP/d1khtXTtrqkv5r3dexsuqS8MOLeUoEcT9YGs9t31/O/PKpvHfTxzk3qfqWH/5Av5y7VJmKyGIpIXO3kHu3VzHw7ua2H44Nqv9kvJCbr/xAt56xUKyszL3prHxKBEA33riIJ/8311cdd4sNry9hpbufu787T6+/WQd3918iNevnsuVS2ZxxeJZzJ85LaPvQBRJVd39Q7z97qfYUd/J6upSbnvd+bzugtmcV1kcdmgpz9Ltht6amhqvra2dtOPd+dt9fO7h3bxm1Wz+ff3FFORmn9h3qLWXrz2yj4d3HaW9dxCAOSUF1CyaQVXZNMqm5zGzMJcZ0/OYVZRPVdk0KovzyUqxbx0t3f389b1Pc7xviE/csJKrl5WHHZLIpBoYivLue7bwxP5WvvHnl/LqVbPDDinlmNlWd68ZdV+mJgJ357MP7+brj7zAjRfN4/NvXkPuGDMPRqPOvuZunjrQxuYDbTxd105zdz8DQ9FTyuZmG3NKC6gqm8b6yxfwhjXzQm1B7G3q4l33bKG5q5/yonwaOiK8emUlf3/DSpZUFIUWl8hkiUad//s/2/jJ9kY+96bVvLkmM6eSPh0lgpMMR51/+PFO7tt8iLdesYB/uvHCM/4W7+5EBodp6xmgo3eQY119NHb00dgRoaEjwq7G4+w71s0Vi2dy+00Xsnz2S5unA0NRth3uICfbqC6bRnnR2bckIgPDZGcZeTkvTWS/29PMrfc+TX5uNt98Rw0r5hRzz+MH+epv9tE3OMzbrljAeZVFOLE/JgdmFuZx6cIZE16qb3A4Su3BdvqGhinMy2F6XjbT8rIpL8qndJpGZUiw3J1//Mmz3PP4QT52/Qref13mrS42UUoECfqHhvnw/2zjwT8c5a9fuZSPvPb8QL6xD0ed+7cc4rMP7aanf4h3XbWIt1y+gM0H2vjt88f4/b4WegZeXH4hLyeLqrJpLK0o5PoL5/LaC2afslLScNTZUd/BUwfaONDcw4HWHupae2g63k9eThYr55awuqqU1dWltPcOcMdDu1lWWcR/vvMyqsqmnThOc1c/X/zlbu7fcpix3v55pQXULJrJZYtmsLSyiPkzpjOntIDc7CyGhqM8/kIrP9txhIefPUpH/LJZorzsLN5+5UJufeV5zCjMm5z/1CQb+dtQn1DwIgPDRAaHmTnB3xV3p6EjwnefOsTXHnmB9169mE/80Uq9V+NQIojr6R/i/d/ZyqN7W/iHP1rJe69ZMsnRnaqtZ4DPPvQ89295cbG2eaUFvHJFJdcuryA326hvj9DQHqG+PcK2wx00dETIz8ni1Stn88dr5tI7MMwju5t5dG/zib6KWYV5LCovZNGsQhbNmk5X/xA76jvY2XCc7v4hAF61opIvr7+YovzRxwQc7xukfzCKGRixD7zGjghb69rZfLCNLQfaONbVf6J8lsHc0mn0DgzR3jtIUX4Or1k1m+svnEN5cT69/cP0DgwRGRzmsb0t/ODpegrzc/jLtUt591WLX9L/ArGk3Nk7SEdkkI7eQTojg+RkG+WF+cwsymNWYd4pr5mI/qFhss3OepGR432D/PiZBu598hCH2np546VVvPMVizmvcnIvpTUd72NrXTtP17Wz9VA7+451s6a6jOuWV3Dd+RUsqyw65YPN3WntGeBIRx8NHREaOyI0He/jWFc/x7r6OHa8n9aeARbMnM6lC2dwyYIZXLpwBnNKC060Ynvi71OWGfm5WeTnZFOQm0VedtYp5+sbHOa5I8fZ2XicnfWd1LX1UFyQy4zpsb6xGYV5LK0o4vLFM8dsAbo7w1EnO8tOHH9wOMr2wx38fl8rv3+hhWcOtTM47JQX5XH+nGKWzy5mWWUx+TlZDMdfPxx1mrv62VHfwY76Tlp7BgC4+eIqvvDmNSnXN5dqlAiA9p4B3nnPFnY2dHLHG1fzpkurA4hubNsOd7DtUDtXLi1n+exT/8BHuDtPH+pg47YGfrrjyIlf9vKiPK5dFvuAuPq8cmYV5Y/6+mjU2d/SQ9PxPl6+ZNY5DZdzdxo7+6hr7aG+LUJ9ey/17REweN0Fc7huecW4H9S7j3bx2Yee59fPH2NOSQEr5hbT3jNAa88A7T0DL2kRjaUwL5viglyKCnIoLsihuCCX/Jwsss3IyoIsMxxo6x6gubuf5q5+OiODlBfl8b5rlvDnL19I4SiJsKEjwt6mLrKzLPZjxuCw89MdjfzvtkYig8O8rKqUpRWFPLjzKANDUa5dXsG7rlpEVdk0jh3vP/EBHBkcZtXcYlZXlzG3tGDcb6UDQ1E2bm/kPx87wHNHjgOQn5PFmuoyllQU8syhDnY3dQEwt7SAxeWFdPUN0dU3GP93iIHhl/ZN5WVnUVmST2VxPpXFBcwozGXfsW521HfSH+/Hmp6XTWRweMwW4Ilj5WSRnxNLDnnZRlNXP8PR2ItmTM9lSUURPf1DtPcO0N4zeCIWM7hgXglXLpnFy6rLONoZYW9TN3uPdbPvWPeJLydZBjlZWUTdGYr6idddtbSciuJ89jR1sftoF3uauokMnvr7YQbLKotYXV3GmupSVleXsbq6VC2BCVAiADZub+S2723nq2+9hNekyYiCoeEomw+2UZyfywXzStL2G8+T+1v599/s5XhkiJmFsW/6MwrzmFmYR+m0XMqm51I2LfZ4YDhKW88Ard2xb7ZtPQMnPgS7+4c43jdEf/wDbdidqDt4rG+jojj2YVhelM/mg208ureFGdNzee81S/iLKxfSdLyfh3cd5aGdR/lDQ+eosU7LzebGi+bx1isWsLq6DIDW7n6++9Qhvv1k3UtaSCPMOPEBW16Uz+rqUlbOLWZpRRFLK4pYUlFINAr3bq7jvx8/SNPxflbMKeZNl1ZTs2gmq+aWvKR/50hnhE17mvndnmaajvefSIDFBTmUFOQypySfuWXTqCqbxtzSAmYW5o36QTgwFOW5I8d5+lA7h9siFOZnU5ifQ2FeNtPzcoi60z8UpW9wmP6hKP2Dw/QPRxkYitI/FPt3dkk+L6sq5cKqUqrKXjp02t3pGRhmZ0MnT7zQypP7W3nmUMeJ5FBRnM+yyiKWVRYxszA/9n5FneH4f9bqqlKuXDqLsumnXg6KRp3GzsiJlsTIT1F+DtPzNOr9bCgRxDV2RJiXcK1cpranD7XzlV/v5ZHdzeRlZ534gLpofhnrLpzDpQtnAJy47OAOq+eXjjn1wMBQlN88f4zB4SiVxfnMLimgsiSfLDOeO3KcHfWdbK/v4A/1nexv6TnxTRogJ8sYijrXLCvnfdcs4Zpl5VPyW2zf4DAvNHefGF4tqSO0RGBm64AvA9nAN939X0cp86fApwEHtrv7W8c75mTfRyBT3/bDHXxv62GWzy7mtavmMKc0+DvFB4aiHGrrZX9zNy8099DRO8CNF1Wxap7mvpdwjJcIAmtjmVk2cCfwGqAe2GJmG9392YQyy4CPA1e5e7uZZe7q0RKYNfPLWDO/LKnnzMvJ4rzKoknvYBYJQpDrEVwO7HP3/e4+ANwP3HhSmfcBd7p7O4C7HwswHhERGUWQiaAKOJzwvD6+LdFyYLmZ/d7MnoxfSjqFmd1iZrVmVtvc3BxQuCIimSnsFcpygGXAWmA98B9mdkob3t03uHuNu9dUVFQkOUQRkaktyETQACRO+lEd35aoHtjo7oPufgDYQywxiIhIkgSZCLYAy8xssZnlAW8BNp5U5sfEWgOYWTmxS0X7A4xJREROElgicPch4FbgYeA54AF332VmnzGzN8SLPQy0mtmzwG+B29y9NaiYRETkVBl1Q5mISKYa7z6CsDuLRUQkZGnXIjCzZqAuYVMpMNrEMSdvH+/5WI/LgZZzDHms+M6k3Gj7JrJNdUyd+o21/3TbJlLfVKljpv4tjrY9Feu40N1HH3bp7mn9A2yYyPbxno/zuDao+M6k3Gj7JrJNdUyd+p1tHSdS31SpY6b+LaZjHU/+mQqXhn4ywe3jPR/r8WSY6PHGKzfavolsUx0nx2TUb6z9p9s20XxyrkkAAAZeSURBVPqeq6Dew9G2T7Xf09G2p3odXyLtLg0lk5nV+hidK1PFVK/jVK8fqI5TRZh1nAotgiBtCDuAJJjqdZzq9QPVcaoIrY5qEYiIZDi1CEREMpwSgYhIhsuYRGBmd5vZMTPbeRavvdTM/mBm+8zsK5awxqCZfcDMnjezXWb22cmN+oxinPT6mdmnzazBzLbFf26Y/MjPKM5A3sP4/r81M4/PeRWagN7H281sR/w9/IWZzZv8yM8oziDq+Ln43+EOM/vRaLMYJ0tA9Xtz/DMmamaT36F8ruNW0+UHuBa4BNh5Fq/dDLwcMODnwPXx7a8EfgXkx59XTrH6fRr4SNjvXZB1jO+bT2zeqzqgfKrVEShJKPNB4K4pWMfXAjnxx3cAd0yx+q0EzgceAWomO+aMaRG4+yagLXGbmS01s4fMbKuZPWpmK05+nZnNJfaH9KTH3pFvATfFd/8l8K/u3h8/R2grrAVUv5QSYB2/BPwdsXWzQxVEHd39eELRQkKuZ0B1/IXHJroEeJLYtPehCKh+z7n77qBizphEMIYNwAfc/VLgI8DXRilTRWzdhBGJK60tB64xs6fM7Hdmdlmg0Z65c60fwK3x5vbdZjYjuFDP2jnV0cxuBBrcfXvQgZ6Dc34fzeyfzeww8DbgkwHGerYm43d1xLuJfZtOJZNZv0kX2OL1qc7MioBXAN9LuFycf4aHyQFmEmvKXQY8YGZL4tk8VJNUv68DtxP7Bnk78AVif2Qp4VzraGbTgb8ndlkhJU3S+4i7fwL4hJl9nNj08J+atCDP0WTVMX6sTwBDwL2TE925m8z6BSVjEwGx1lCHu1+UuNHMsoGt8acbiX0YJjYzE1daqwd+GP/g32xmUWITR6XCwsrnXD93b0p43X8APw0y4LNwrnVcCiwGtsf/QKuBp83scnc/GnDsEzUZv6eJ7gUeJIUSAZNURzN7J/B64FWp8GUswWS/h5MvrA6VMH6ARSR04ACPA2+OPzZgzRivO7kD54b49vcDn4k/Xg4cJn6T3hSp39yEMh8G7p9q7+FJZQ4ScmdxQO/jsoQyHwC+PwXruA54FqgIu25B1C9h/yME0Fkc+n9YEt+Y+4AjwCCxb/LvIfZt8CFge/yX6JNjvLYG2Am8AHx15MMeyAO+E9/3NPB/plj9vg38AdhB7BvL3GTVJ1l1PKlM6IkgoPfxB/HtO4hNSlY1Beu4j9gXsW3xn9BGRgVUv5vjx+oHmoCHJzNmTTEhIpLhMn3UkIhIxlMiEBHJcEoEIiIZTolARCTDKRGIiGQ4JQKZEsysO8nne3ySjrPWzDrjM4M+b2afn8BrbjKzVZNxfhFQIhAZlZmNe9e9u79iEk/3qMfuOr0YeL2ZXXWa8jcBSgQyaZQIZMoaa8ZHM/vj+ESBz5jZr8xsdnz7p83s22b2e+Db8ed3m9kjZrbfzD6YcOzu+L9r4/u/H/9Gf2/CHPI3xLdtjc8tP+4UHe4eIXYz1MiEeO8zsy1mtt3MfmBm083sFcAbgM/FWxFLJzKzpch4lAhkKhtrxsfHgJe7+8XA/cSmoB6xCni1u6+PP18BvA64HPiUmeWOcp6LgQ/FX7sEuMrMCoBvEJtP/lKg4nTBxmd3XQZsim/6obtf5u5rgOeA97j748Tu8r7N3S9y9xfGqafIhGTypHMyhZ1mxsdq4H/i87/nAQcSXrox/s18xM88tt5Ev5kdA2bz0qmCATa7e338vNuIzTPTDex395Fj3wfcMka415jZdmJJ4N/8xQnvLjSzfwLKgCJii+ecST1FJkSJQKaqUWd8jPt34IvuvtHM1hJbiW1Ez0ll+xMeDzP638xEyoznUXd/vZktBp40swfcfRtwD3CTu2+Pz6y5dpTXjldPkQnRpSGZkjy2KtcBM3szgMWsie8u5cXpfd8RUAi7gSVmtij+/M9O94J46+FfgY/GNxUDR+KXo96WULQrvu909RSZECUCmSqmm1l9ws/fEPvwfE/8sssu4MZ42U8Tu5SyFWgJIpj45aW/Ah6Kn6cL6JzAS+8Cro0nkP8HPAX8Hng+ocz9wG3xzu6ljF1PkQnR7KMiATGzInfvjo8iuhPY6+5fCjsukZOpRSASnPfFO493Ebsc9Y2Q4xEZlVoEIiIZTi0CEZEMp0QgIpLhlAhERDKcEoGISIZTIhARyXD/H4I3gliufNmbAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "learner.load(\"best-effb3-herlev-multiclass-fold1-stage2\")\n", "learner = to_fp16(learner)\n", "learner.data = fold_data\n", "learner.freeze()\n", "learner = to_fp16(learner)\n", "learner.lr_find()\n", "learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.6971050.2589840.9184780.9375310.9324150.9326190.94870400:03
10.6684400.2591260.9184780.9375310.9324150.9326190.94870400:02
20.6612530.2625590.9184780.9375310.9324150.9326190.94870400:02
30.6551530.2688710.9184780.9375310.9324150.9326190.94870400:02
40.6361070.2696500.9239130.9423320.9362760.9366900.94959700:02
50.6336800.2722810.9239130.9423320.9362760.9366900.94959700:03
60.6279990.2902260.9076090.9292640.9205100.9213180.93771800:02
70.6146890.3074740.8858700.9131250.9005550.9015350.93872500:02
80.6106700.2957450.8858700.9131670.9003570.9012720.94518000:02
90.6031680.3150860.8858700.9117010.9078770.9073630.92844000:02
100.6005540.3292780.8913040.9166830.9073910.9081220.93331000:02
110.5796100.3378770.8913040.9179010.9061090.9060580.94054800:02
120.5771910.3368250.8586960.8868990.8868040.8857690.91776400:02
130.5688610.3289590.8641300.8859570.8839260.8836510.92885600:02
140.5607230.3067500.8967390.9156050.9163210.9161410.95128900:02
150.5490580.3141330.8858700.9071700.9096980.9086580.94987900:03
160.5432870.3236670.8804350.9069820.9052010.9043060.94129400:02
170.5391230.3272630.8858700.9106440.9088640.9081330.94442900:02
180.5361750.3351290.8858700.9117550.9033850.9043730.93465400:02
190.5392860.3405960.8586960.8916930.8807980.8820050.92789500:02
200.5340900.3369690.8695650.8948660.8961830.8952670.93914900:02
210.5380450.3323770.8804350.9076310.9037070.9037160.94076300:02
220.5297720.3355410.8913040.9170940.9124940.9126290.94238600:02
230.5173770.3351120.8858700.9094500.9088310.9079820.93307400:02
240.5102600.3343620.8913040.9137400.9135930.9123320.94060600:02
250.5025280.3337380.8913040.9137400.9135930.9123320.94060600:02
260.5049190.3327540.8913040.9137400.9135930.9123320.94060600:02
270.5044670.3311030.8858700.9096480.9086660.9074700.93980700:02
280.5120780.3303440.8913040.9137400.9135930.9123320.94060600:02
290.4994090.3324730.8858700.9096480.9086660.9074700.93980700:02
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.91847825050354.\n", "Better model found at epoch 4 with accuracy value: 0.9239130616188049.\n" ] } ], "source": [ "learner.fit_one_cycle(30, max_lr=slice(1e-03), callbacks=model_callback(learner, \"best-effb3-herlev-multiclass-fold2-stage1\"))\n", "learner.save(\"last-effb3-herlev-multiclass-fold2-stage1\")" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 60.00% [6/10 00:15<00:10]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.566601#na#00:02
10.564537#na#00:02
20.586355#na#00:02
30.611005#na#00:02
40.600517#na#00:02
50.825730#na#00:02

\n", "\n", "

\n", " \n", " \n", " 63.64% [7/11 00:01<00:01 1.8720]\n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "learner.load(\"best-effb3-herlev-multiclass-fold2-stage1\")\n", "learner = to_fp16(learner)\n", "learner.unfreeze()\n", "learner.lr_find()\n", "learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.6102970.2689360.9239130.9423320.9362760.9366900.94959700:03
10.6250770.2687940.9239130.9423320.9362760.9366900.94959700:03
20.6410640.2683930.9293480.9461380.9412020.9413750.95040600:03
30.6067310.2678770.9239130.9423320.9362760.9366900.94959700:03
40.6130890.2670820.9239130.9423320.9362760.9366900.94959700:03
50.6052130.2673360.9293480.9461380.9412020.9413750.95040600:03
60.5952710.2672350.9293480.9461380.9412020.9413750.95040600:03
70.6013860.2667530.9293480.9461380.9412020.9413750.95040600:03
80.5974880.2672660.9293480.9461380.9412020.9413750.95040600:03
90.5892850.2678740.9293480.9461380.9412020.9413750.95040600:03
100.5881240.2683460.9293480.9461380.9412020.9413750.95040600:03
110.5954340.2664100.9293480.9461380.9412020.9413750.95040600:03
120.5954190.2667860.9293480.9461380.9412020.9413750.95040600:03
130.6102760.2673600.9293480.9461380.9412020.9413750.95040600:03
140.6039130.2665460.9293480.9461380.9412020.9413750.95040600:03
150.6029780.2663430.9347830.9499250.9448650.9452760.95752500:03
160.6015940.2661950.9347830.9499250.9448650.9452760.95752500:03
170.5968210.2657180.9347830.9499250.9448650.9452760.95752500:03
180.5984950.2666870.9347830.9499250.9448650.9452760.95752500:03
190.5917210.2671900.9239130.9421400.9362760.9366250.94967200:03
200.5818750.2662470.9293480.9459260.9399390.9405260.95677600:03
210.5862920.2676920.9239130.9421400.9362760.9366250.94967200:03
220.5887840.2668340.9239130.9421230.9360780.9364900.95610100:03
230.5759920.2665630.9293480.9459260.9399390.9405260.95677600:03
240.5796700.2677130.9239130.9421230.9360780.9364900.95610100:03
250.5841340.2674160.9293480.9459260.9399390.9405260.95677600:03
260.5948700.2658260.9239130.9380300.9350130.9351080.95359600:03
270.5937100.2657050.9239130.9380300.9350130.9351080.95359600:03
280.5962140.2656950.9239130.9380300.9350130.9351080.95359600:03
290.5916430.2653820.9184780.9342430.9313500.9312070.94651900:03
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.9239130616188049.\n", "Better model found at epoch 2 with accuracy value: 0.929347813129425.\n", "Better model found at epoch 15 with accuracy value: 0.9347826242446899.\n" ] } ], "source": [ "learner.fit_one_cycle(30, max_lr=slice(2e-06), callbacks=model_callback(learner, \"best-effb3-herlev-multiclass-fold2-stage2\"))\n", "learner.save(\"last-effb3-herlev-multiclass-fold2-stage2\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Fold-3" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "ImageDataBunch;\n", "\n", "Train: LabelList (734 items)\n", "x: ImageList\n", "Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64)\n", "y: CategoryList\n", "abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic\n", "Path: ../../../Dataset/Herlev Dataset;\n", "\n", "Valid: LabelList (183 items)\n", "x: ImageList\n", "Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64)\n", "y: CategoryList\n", "abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic\n", "Path: ../../../Dataset/Herlev Dataset;\n", "\n", "Test: None" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fold_idxs = idxs[2]\n", "fold_data = (ImageList.from_folder(data_path)\n", " .split_by_idxs(fold_idxs[0], fold_idxs[1])\n", " .label_from_folder()\n", " .transform(tfms, size=64)\n", " .databunch(bs=64)\n", " .normalize(imagenet_stats))\n", "fold_data" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 70.00% [7/10 00:14<00:06]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.643726#na#00:02
10.613360#na#00:02
20.613515#na#00:02
30.628156#na#00:02
40.631499#na#00:01
50.639754#na#00:01
61.161015#na#00:02

\n", "\n", "

\n", " \n", " \n", " 27.27% [3/11 00:01<00:02 1.8889]\n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "learner.load(\"best-effb3-herlev-multiclass-fold2-stage2\")\n", "learner = to_fp16(learner)\n", "learner.data = fold_data\n", "learner.freeze()\n", "learner = to_fp16(learner)\n", "learner.lr_find()\n", "learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.6007420.2007540.9508200.9607500.9633280.9626210.96091900:02
10.6290350.2023240.9508200.9607500.9633280.9626210.96091900:02
20.6213490.2023620.9453550.9567180.9558090.9556220.95751700:02
30.6337610.2017180.9453550.9567180.9558090.9556220.95751700:02
40.6372330.2022510.9453550.9567180.9558090.9556220.95751700:02
50.6245060.2033090.9453550.9567180.9558090.9556220.95751700:02
60.6225280.2032230.9453550.9567180.9558090.9556220.95751700:03
70.6246550.2031650.9453550.9567180.9558090.9556220.95751700:02
80.6273240.2028100.9453550.9567180.9558090.9556220.95751700:03
90.6342740.2039350.9453550.9567180.9558090.9556220.95751700:02
100.6415730.2042130.9453550.9567180.9558090.9556220.95751700:02
110.6221610.2035080.9453550.9567180.9558090.9556220.95751700:02
120.6175230.2034330.9453550.9567180.9558090.9556220.95751700:02
130.6147580.2033640.9453550.9567180.9558090.9556220.95751700:02
140.6173670.2034710.9453550.9567180.9558090.9556220.95751700:02
150.6217590.2038980.9453550.9567180.9558090.9556220.95751700:02
160.6274600.2035530.9453550.9567180.9558090.9556220.95751700:02
170.6199830.2034300.9453550.9567180.9558090.9556220.95751700:02
180.6147170.2032080.9453550.9567180.9558090.9556220.95751700:02
190.6070000.2032120.9453550.9567180.9558090.9556220.95751700:03
200.6121860.2035330.9453550.9567180.9558090.9556220.95751700:02
210.6083540.2036860.9453550.9567180.9558090.9556220.95751700:02
220.6146700.2038130.9453550.9567180.9558090.9556220.95751700:03
230.6305910.2023310.9453550.9567180.9558090.9556220.95751700:02
240.6316420.2021750.9453550.9567180.9558090.9556220.95751700:02
250.6399640.2025650.9453550.9567180.9558090.9556220.95751700:02
260.6340500.2027110.9453550.9567180.9558090.9556220.95751700:02
270.6328230.2032550.9453550.9567180.9558090.9556220.95751700:02
280.6336390.2032570.9453550.9567180.9558090.9556220.95751700:02
290.6286440.2023630.9453550.9567180.9558090.9556220.95751700:02
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.9508196711540222.\n" ] } ], "source": [ "learner.fit_one_cycle(30, max_lr=slice(4e-06), callbacks=model_callback(learner, \"best-effb3-herlev-multiclass-fold3-stage1\"))\n", "learner.save(\"last-effb3-herlev-multiclass-fold3-stage1\")" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 60.00% [6/10 00:15<00:10]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.579729#na#00:02
10.600786#na#00:02
20.595120#na#00:02
30.606141#na#00:02
40.599269#na#00:02
50.829161#na#00:02

\n", "\n", "

\n", " \n", " \n", " 90.91% [10/11 00:02<00:00 1.9942]\n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "learner.load(\"best-effb3-herlev-multiclass-fold3-stage1\")\n", "learner = to_fp16(learner)\n", "learner.unfreeze()\n", "learner.lr_find()\n", "learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.6104000.2013420.9508200.9607500.9633280.9626210.96091900:03
10.6257950.2024960.9453550.9567180.9558090.9556220.95751700:03
20.6344910.2030110.9453550.9567180.9558090.9556220.95751700:03
30.6338870.2040130.9453550.9567180.9558090.9556220.95751700:03
40.6206730.2033810.9453550.9567180.9558090.9556220.95751700:03
50.6193790.2033780.9453550.9567180.9558090.9556220.95751700:03
60.6241900.2027880.9453550.9567180.9558090.9556220.95751700:03
70.6231570.2029000.9453550.9567180.9558090.9556220.95751700:03
80.6243140.2017450.9453550.9567180.9558090.9556220.95751700:03
90.6195130.2013330.9453550.9567180.9558090.9556220.95751700:03
100.6183300.2015970.9453550.9567180.9558090.9556220.95751700:03
110.6190210.2019090.9453550.9567180.9558090.9556220.95751700:03
120.6193780.2016660.9453550.9567180.9558090.9556220.95751700:03
130.6165300.2021380.9453550.9567180.9558090.9556220.95751700:03
140.6175770.2020490.9453550.9567180.9558090.9556220.95751700:03
150.6107130.2028120.9453550.9567180.9558090.9556220.95751700:03
160.6233500.2024390.9453550.9567180.9558090.9556220.95751700:03
170.6193970.2014180.9453550.9567180.9558090.9556220.95751700:03
180.6188400.2014230.9453550.9567180.9558090.9556220.95751700:03
190.6253790.2025400.9453550.9567180.9558090.9556220.95751700:03
200.6202930.2031450.9398910.9527260.9522380.9517490.95668100:03
210.6163460.2023170.9453550.9567180.9558090.9556220.95751700:03
220.6165460.2027710.9398910.9527260.9522380.9517490.95668100:03
230.6199710.2032910.9398910.9527260.9522380.9517490.95668100:03
240.6258580.2030180.9453550.9567180.9558090.9556220.95751700:03
250.6267490.2038040.9398910.9527260.9522380.9517490.95668100:03
260.6295840.2041660.9398910.9527260.9522380.9517490.95668100:03
270.6281690.2044470.9398910.9527260.9522380.9517490.95668100:03
280.6192630.2045330.9398910.9527260.9522380.9517490.95668100:03
290.6176090.2043090.9398910.9527260.9522380.9517490.95668100:03
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.9508196711540222.\n" ] } ], "source": [ "learner.fit_one_cycle(30, max_lr=slice(5e-07), callbacks=model_callback(learner, \"best-effb3-herlev-multiclass-fold3-stage2\"))\n", "learner.save(\"last-effb3-herlev-multiclass-fold3-stage2\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Fold-4" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "ImageDataBunch;\n", "\n", "Train: LabelList (734 items)\n", "x: ImageList\n", "Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64)\n", "y: CategoryList\n", "abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic\n", "Path: ../../../Dataset/Herlev Dataset;\n", "\n", "Valid: LabelList (183 items)\n", "x: ImageList\n", "Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64)\n", "y: CategoryList\n", "abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic\n", "Path: ../../../Dataset/Herlev Dataset;\n", "\n", "Test: None" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fold_idxs = idxs[3]\n", "fold_data = (ImageList.from_folder(data_path)\n", " .split_by_idxs(fold_idxs[0], fold_idxs[1])\n", " .label_from_folder()\n", " .transform(tfms, size=64)\n", " .databunch(bs=64)\n", " .normalize(imagenet_stats))\n", "fold_data" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 70.00% [7/10 00:14<00:06]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.642928#na#00:02
10.633477#na#00:02
20.613811#na#00:01
30.600941#na#00:01
40.608190#na#00:01
50.622948#na#00:02
61.235630#na#00:02

\n", "\n", "

\n", " \n", " \n", " 45.45% [5/11 00:01<00:01 2.3502]\n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "learner.load(\"best-effb3-herlev-multiclass-fold3-stage2\")\n", "learner = to_fp16(learner)\n", "learner.data = fold_data\n", "learner.freeze()\n", "learner = to_fp16(learner)\n", "learner.lr_find()\n", "learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.5840410.2649080.9398910.9501690.9512800.9508970.97489600:02
10.5950770.2663510.9398910.9501690.9512800.9508970.97489600:03
20.5957840.2670820.9398910.9501690.9512800.9508970.97489600:02
30.6124360.2687870.9398910.9501690.9512800.9508970.97489600:02
40.6146100.2687840.9344260.9457130.9463540.9461860.97410100:03
50.5972570.2696430.9289620.9409830.9427820.9423460.96674200:03
60.5990390.2701480.9344260.9455930.9467510.9464820.96762500:02
70.6000420.2709940.9344260.9455930.9467510.9464820.96762500:03
80.5940300.2735020.9344260.9455930.9467510.9464820.96762500:02
90.6033730.2748100.9289620.9409830.9427820.9423460.96674200:02
100.6090790.2760700.9234970.9372690.9352630.9355410.96585200:02
110.6053260.2774420.9234970.9372690.9352630.9355410.96585200:02
120.6010170.2783550.9234970.9372690.9352630.9355410.96585200:03
130.5969580.2785140.9234970.9372690.9352630.9355410.96585200:02
140.5961740.2776570.9180330.9334760.9303370.9308520.96502100:02
150.5925720.2770410.9234970.9372690.9352630.9355410.96585200:02
160.5914370.2760010.9180330.9334760.9303370.9308520.96502100:03
170.5784550.2771960.9180330.9334760.9303370.9308520.96502100:02
180.5817150.2783780.9125680.9301820.9255750.9263720.95732100:02
190.5815930.2795700.9125680.9301820.9255750.9263720.95732100:02
200.5906770.2806560.9125680.9301820.9255750.9263720.95732100:02
210.5846150.2801420.9180330.9334760.9303370.9308520.96502100:02
220.5789800.2799690.9125680.9301820.9255750.9263720.95732100:02
230.5755120.2794730.9125680.9301820.9255750.9263720.95732100:02
240.5730790.2798450.9180330.9334760.9303370.9308520.96502100:02
250.5713030.2794030.9125680.9301820.9255750.9263720.95732100:03
260.5676250.2797450.9125680.9301820.9255750.9263720.95732100:02
270.5661870.2797380.9180330.9334760.9303370.9308520.96502100:02
280.5709960.2794430.9125680.9301820.9255750.9263720.95732100:02
290.5643260.2791300.9180330.9334760.9303370.9308520.96502100:02
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.9398906826972961.\n" ] } ], "source": [ "learner.fit_one_cycle(30, max_lr=slice(1e-04), callbacks=model_callback(learner, \"best-effb3-herlev-multiclass-fold4-stage1\"))\n", "learner.save(\"last-effb3-herlev-multiclass-fold4-stage1\")" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 60.00% [6/10 00:14<00:09]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.581792#na#00:02
10.604608#na#00:02
20.613632#na#00:02
30.596400#na#00:02
40.615194#na#00:02
50.804881#na#00:02

\n", "\n", "

\n", " \n", " \n", " 90.91% [10/11 00:02<00:00 2.0090]\n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "learner.load(\"best-effb3-herlev-multiclass-fold4-stage1\")\n", "learner = to_fp16(learner)\n", "learner.unfreeze()\n", "learner.lr_find()\n", "learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.5791690.2649110.9398910.9501690.9512800.9508970.97489600:03
10.5761540.2650980.9398910.9501690.9512800.9508970.97489600:03
20.5837330.2646920.9398910.9501690.9512800.9508970.97489600:03
30.5971780.2651080.9398910.9501690.9512800.9508970.97489600:03
40.5891280.2640680.9453550.9545560.9552480.9550690.97577200:03
50.5902310.2657180.9398910.9501690.9512800.9508970.97489600:03
60.5978900.2657240.9453550.9545560.9552480.9550690.97577200:03
70.5946620.2671870.9453550.9545560.9552480.9550690.97577200:03
80.5984700.2672060.9398910.9501340.9516770.9512450.97493500:03
90.6069090.2658060.9398910.9501340.9516770.9512450.97493500:03
100.6195520.2637790.9453550.9545560.9552480.9550690.97577200:03
110.6159090.2645440.9453550.9545560.9552480.9550690.97577200:03
120.6192210.2650940.9398910.9511690.9504860.9505440.96810000:03
130.6301840.2644230.9398910.9511690.9504860.9505440.96810000:03
140.6242010.2640440.9453550.9545560.9552480.9550690.97577200:03
150.6316740.2649660.9398910.9511690.9504860.9505440.96810000:03
160.6278400.2651990.9453550.9545560.9552480.9550690.97577200:03
170.6184070.2656560.9398910.9511690.9504860.9505440.96810000:03
180.6036030.2654880.9398910.9511690.9504860.9505440.96810000:03
190.6088360.2656980.9398910.9511690.9504860.9505440.96810000:03
200.6194200.2655740.9398910.9511690.9504860.9505440.96810000:03
210.6182230.2663280.9344260.9466730.9469150.9467320.96725800:03
220.6223120.2669410.9344260.9466730.9469150.9467320.96725800:03
230.6241780.2662350.9344260.9466730.9469150.9467320.96725800:03
240.6141210.2659140.9398910.9501340.9516770.9512450.97493500:03
250.6187370.2656080.9398910.9511690.9504860.9505440.96810000:03
260.6101310.2665800.9453550.9545560.9552480.9550690.97577200:03
270.6124500.2667460.9453550.9545560.9552480.9550690.97577200:03
280.6136670.2663840.9453550.9545560.9552480.9550690.97577200:03
290.6147720.2657580.9453550.9545560.9552480.9550690.97577200:03
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.9398906826972961.\n", "Better model found at epoch 4 with accuracy value: 0.9453551769256592.\n" ] } ], "source": [ "learner.fit_one_cycle(30, max_lr=slice(5e-07), callbacks=model_callback(learner, \"best-effb3-herlev-multiclass-fold4-stage2\"))\n", "learner.save(\"last-effb3-herlev-multiclass-fold4-stage2\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Fold-5" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "ImageDataBunch;\n", "\n", "Train: LabelList (734 items)\n", "x: ImageList\n", "Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64)\n", "y: CategoryList\n", "abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic\n", "Path: ../../../Dataset/Herlev Dataset;\n", "\n", "Valid: LabelList (183 items)\n", "x: ImageList\n", "Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64)\n", "y: CategoryList\n", "abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic\n", "Path: ../../../Dataset/Herlev Dataset;\n", "\n", "Test: None" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fold_idxs = idxs[4]\n", "fold_data = (ImageList.from_folder(data_path)\n", " .split_by_idxs(fold_idxs[0], fold_idxs[1])\n", " .label_from_folder()\n", " .transform(tfms, size=64)\n", " .databunch(bs=64)\n", " .normalize(imagenet_stats))\n", "fold_data" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 70.00% [7/10 00:14<00:06]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.584684#na#00:01
10.613437#na#00:02
20.611749#na#00:01
30.620004#na#00:02
40.617995#na#00:01
50.633112#na#00:02
61.245085#na#00:01

\n", "\n", "

\n", " \n", " \n", " 36.36% [4/11 00:01<00:02 1.7953]\n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "learner.load(\"best-effb3-herlev-multiclass-fold4-stage2\")\n", "learner = to_fp16(learner)\n", "learner.data = fold_data\n", "learner.freeze()\n", "learner = to_fp16(learner)\n", "learner.lr_find()\n", "learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.6146920.3109690.8907100.9059400.9065470.9055830.93678000:02
10.5949060.3115140.8907100.9059400.9065470.9055830.93678000:02
20.6112470.3109620.8907100.9059400.9065470.9055830.93678000:02
30.6160890.3115120.8907100.9059400.9065470.9055830.93678000:03
40.6120610.3119350.8961750.9154640.9160710.9153170.93791100:02
50.6141800.3131620.8961750.9154640.9160710.9153170.93791100:02
60.6108720.3135150.8961750.9154640.9160710.9153170.93791100:03
70.6067840.3147300.8961750.9154640.9160710.9153170.93791100:02
80.6118880.3157050.8907100.9059400.9065470.9055830.93678000:02
90.6037680.3156930.8907100.9080600.9113090.9102290.92461000:02
100.6043100.3152760.8961750.9154640.9160710.9153170.93791100:03
110.6047880.3161480.8961750.9154640.9160710.9153170.93791100:02
120.6120180.3163730.9016390.9200220.9197340.9192770.93873100:02
130.6219130.3183020.8961750.9154640.9160710.9153170.93791100:02
140.6106550.3172890.8961750.9154640.9160710.9153170.93791100:02
150.6138100.3181350.8961750.9154640.9160710.9153170.93791100:02
160.6117410.3180520.8961750.9154640.9160710.9153170.93791100:02
170.6104550.3170950.9016390.9200220.9197340.9192770.93873100:03
180.6124940.3167480.8907100.9080600.9113090.9102290.92461000:02
190.6042550.3180440.8907100.9080600.9113090.9102290.92461000:03
200.6037560.3178550.8907100.9080600.9113090.9102290.92461000:02
210.6142770.3189010.8907100.9080600.9113090.9102290.92461000:02
220.6178490.3183080.8852460.9037240.9063830.9055430.92379500:02
230.6153720.3181170.8961750.9126190.9149720.9141890.92543400:02
240.6205380.3180490.9016390.9200220.9197340.9192770.93873100:03
250.6069610.3174830.8961750.9126190.9149720.9141890.92543400:02
260.5991850.3167380.8907100.9080600.9113090.9102290.92461000:02
270.6081970.3171920.8907100.9080600.9113090.9102290.92461000:02
280.6053320.3171590.8907100.9080600.9113090.9102290.92461000:03
290.5980740.3165500.8907100.9080600.9113090.9102290.92461000:02
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.8907103538513184.\n", "Better model found at epoch 4 with accuracy value: 0.8961748480796814.\n", "Better model found at epoch 12 with accuracy value: 0.9016393423080444.\n" ] } ], "source": [ "learner.fit_one_cycle(30, max_lr=slice(6e-07), callbacks=model_callback(learner, \"best-effb3-herlev-multiclass-fold5-stage1\"))\n", "learner.save(\"last-effb3-herlev-multiclass-fold5-stage1\")" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 70.00% [7/10 00:17<00:07]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.663679#na#00:02
10.639325#na#00:02
20.640633#na#00:02
30.616003#na#00:02
40.629610#na#00:02
50.907588#na#00:02
61.879508#na#00:02

\n", "\n", "

\n", " \n", " \n", " 9.09% [1/11 00:00<00:08 2.0694]\n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "learner.load(\"best-effb3-herlev-multiclass-fold5-stage1\")\n", "learner = to_fp16(learner)\n", "learner.unfreeze()\n", "learner.lr_find()\n", "learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.6469350.3154580.9016390.9200220.9197340.9192770.93873100:03
10.6286940.3144630.9016390.9200220.9197340.9192770.93873100:03
20.6224840.3150450.9016390.9200220.9197340.9192770.93873100:03
30.6199360.3139980.9016390.9200220.9197340.9192770.93873100:03
40.6090430.3141390.9016390.9200220.9197340.9192770.93873100:03
50.6087860.3136670.9016390.9200220.9197340.9192770.93873100:03
60.6037720.3154020.9016390.9200870.9184710.9185060.94501000:03
70.5951850.3166980.8852460.9081580.9051200.9053890.92942000:03
80.6031040.3184090.8852460.9088980.9038570.9044630.93568400:03
90.5929690.3195530.8797810.9044140.9001940.9005700.92860300:03
100.5906580.3223870.8797810.9044140.9001940.9005700.92860300:03
110.5858020.3231890.8797810.9044140.9001940.9005700.92860300:03
120.5874250.3273540.8633880.8872050.8817750.8818330.92601500:03
130.5877030.3296410.8688520.8926580.8857440.8858740.92695300:03
140.5803500.3284560.8743170.8978000.8884490.8888830.93381600:03
150.5709940.3296810.8688520.8933210.8849500.8855420.91974700:03
160.5608160.3321250.8743170.8980000.8886130.8893910.92684300:03
170.5616760.3323710.8688520.8936830.8846450.8853060.92625300:03
180.5742830.3322630.8688520.8938710.8836870.8843080.92613000:03
190.5694420.3320660.8633880.8881870.8797190.8803430.92518100:03
200.5785500.3305590.8688520.8977110.8892430.8900770.92638300:03
210.5851970.3298870.8688520.8977110.8892430.8900770.92638300:03
220.5762440.3295340.8743170.9033950.8932110.8940420.92732700:03
230.5687210.3302290.8688520.8977110.8892430.8900770.92638300:03
240.5627480.3298940.8688520.8977110.8892430.8900770.92638300:03
250.5571560.3307080.8688520.8977110.8892430.8900770.92638300:03
260.5622590.3308660.8688520.8974280.8895480.8902990.92649600:03
270.5565000.3326250.8633880.8921580.8855800.8863440.92555200:03
280.5537160.3310270.8633880.8921580.8855800.8863440.92555200:03
290.5559640.3324920.8633880.8921580.8855800.8863440.92555200:03
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.9016393423080444.\n" ] } ], "source": [ "learner.fit_one_cycle(30, max_lr=slice(1e-04), callbacks=model_callback(learner, \"best-effb3-herlev-multiclass-fold5-stage2\"))\n", "learner.save(\"last-effb3-herlev-multiclass-fold5-stage2\")" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Learner(data=ImageDataBunch;\n", "\n", "Train: LabelList (734 items)\n", "x: ImageList\n", "Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64)\n", "y: CategoryList\n", "abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic\n", "Path: ../../../Dataset/Herlev Dataset;\n", "\n", "Valid: LabelList (183 items)\n", "x: ImageList\n", "Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64)\n", "y: CategoryList\n", "abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic\n", "Path: ../../../Dataset/Herlev Dataset;\n", "\n", "Test: None, model=EfficientNet(\n", " (_conv_stem): Conv2dStaticSamePadding(\n", " 3, 40, kernel_size=(3, 3), stride=(2, 2), bias=False\n", " (static_padding): ZeroPad2d(padding=(0, 1, 0, 1), value=0.0)\n", " )\n", " (_bn0): BatchNorm2d(40, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_blocks): ModuleList(\n", " (0): MBConvBlock(\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 40, 40, kernel_size=(3, 3), stride=[1, 1], groups=40, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(40, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 40, 10, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 10, 40, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 40, 24, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(24, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (1): MBConvBlock(\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 24, 24, kernel_size=(3, 3), stride=(1, 1), groups=24, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(24, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 24, 6, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 6, 24, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 24, 24, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(24, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (2): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 24, 144, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(144, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 144, 144, kernel_size=(3, 3), stride=[2, 2], groups=144, bias=False\n", " (static_padding): ZeroPad2d(padding=(0, 1, 0, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(144, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 144, 6, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 6, 144, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 144, 32, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(32, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (3): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 32, 192, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 192, 192, kernel_size=(3, 3), stride=(1, 1), groups=192, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 192, 8, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 8, 192, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 192, 32, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(32, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (4): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 32, 192, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 192, 192, kernel_size=(3, 3), stride=(1, 1), groups=192, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 192, 8, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 8, 192, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 192, 32, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(32, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (5): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 32, 192, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 192, 192, kernel_size=(5, 5), stride=[2, 2], groups=192, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 2, 1, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 192, 8, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 8, 192, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 192, 48, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(48, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (6): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 48, 288, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 288, 288, kernel_size=(5, 5), stride=(1, 1), groups=288, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 288, 12, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 12, 288, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 288, 48, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(48, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (7): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 48, 288, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 288, 288, kernel_size=(5, 5), stride=(1, 1), groups=288, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 288, 12, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 12, 288, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 288, 48, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(48, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (8): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 48, 288, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 288, 288, kernel_size=(3, 3), stride=[2, 2], groups=288, bias=False\n", " (static_padding): ZeroPad2d(padding=(0, 1, 0, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 288, 12, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 12, 288, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 288, 96, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (9): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 96, 576, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 576, 576, kernel_size=(3, 3), stride=(1, 1), groups=576, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 576, 24, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 24, 576, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 576, 96, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (10): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 96, 576, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 576, 576, kernel_size=(3, 3), stride=(1, 1), groups=576, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 576, 24, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 24, 576, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 576, 96, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (11): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 96, 576, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 576, 576, kernel_size=(3, 3), stride=(1, 1), groups=576, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 576, 24, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 24, 576, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 576, 96, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (12): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 96, 576, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 576, 576, kernel_size=(3, 3), stride=(1, 1), groups=576, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 576, 24, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 24, 576, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 576, 96, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (13): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 96, 576, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 576, 576, kernel_size=(5, 5), stride=[1, 1], groups=576, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 576, 24, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 24, 576, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 576, 136, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (14): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 136, 816, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 816, 816, kernel_size=(5, 5), stride=(1, 1), groups=816, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 816, 34, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 34, 816, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 816, 136, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (15): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 136, 816, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 816, 816, kernel_size=(5, 5), stride=(1, 1), groups=816, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 816, 34, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 34, 816, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 816, 136, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (16): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 136, 816, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 816, 816, kernel_size=(5, 5), stride=(1, 1), groups=816, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 816, 34, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 34, 816, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 816, 136, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (17): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 136, 816, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 816, 816, kernel_size=(5, 5), stride=(1, 1), groups=816, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 816, 34, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 34, 816, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 816, 136, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (18): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 136, 816, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 816, 816, kernel_size=(5, 5), stride=[2, 2], groups=816, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 2, 1, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 816, 34, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 34, 816, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 816, 232, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (19): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 232, 1392, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 1392, 1392, kernel_size=(5, 5), stride=(1, 1), groups=1392, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 1392, 58, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 58, 1392, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 1392, 232, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (20): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 232, 1392, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 1392, 1392, kernel_size=(5, 5), stride=(1, 1), groups=1392, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 1392, 58, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 58, 1392, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 1392, 232, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (21): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 232, 1392, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 1392, 1392, kernel_size=(5, 5), stride=(1, 1), groups=1392, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 1392, 58, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 58, 1392, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 1392, 232, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (22): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 232, 1392, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 1392, 1392, kernel_size=(5, 5), stride=(1, 1), groups=1392, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 1392, 58, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 58, 1392, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 1392, 232, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (23): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 232, 1392, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 1392, 1392, kernel_size=(5, 5), stride=(1, 1), groups=1392, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 1392, 58, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 58, 1392, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 1392, 232, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (24): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 232, 1392, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 1392, 1392, kernel_size=(3, 3), stride=[1, 1], groups=1392, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 1392, 58, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 58, 1392, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 1392, 384, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(384, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (25): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 384, 2304, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(2304, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 2304, 2304, kernel_size=(3, 3), stride=(1, 1), groups=2304, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(2304, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 2304, 96, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 96, 2304, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 2304, 384, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(384, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " )\n", " (_conv_head): Conv2dStaticSamePadding(\n", " 384, 1536, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn1): BatchNorm2d(1536, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_avg_pooling): AdaptiveAvgPool2d(output_size=1)\n", " (_dropout): Dropout(p=0.3, inplace=False)\n", " (_fc): Linear(in_features=1536, out_features=7, bias=True)\n", " (_swish): MemoryEfficientSwish()\n", "), opt_func=functools.partial(, betas=(0.9, 0.99)), loss_func=FlattenedLoss of CrossEntropyLoss(), metrics=[, Precision(average='macro', pos_label=1, eps=1e-09), Recall(average='macro', pos_label=1, eps=1e-09), FBeta(average='macro', pos_label=1, eps=1e-09, beta=2), KappaScore(weights='quadratic')], true_wd=True, bn_wd=True, wd=0.01, train_bn=True, path=PosixPath('../../../Dataset/Herlev Dataset'), model_dir=PosixPath('Models'), callback_fns=[functools.partial(, add_time=True, silent=False)], callbacks=[MixedPrecision\n", "learn: Learner(data=ImageDataBunch;\n", "\n", "Train: LabelList (734 items)\n", "x: ImageList\n", "Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64)\n", "y: CategoryList\n", "abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic\n", "Path: ../../../Dataset/Herlev Dataset;\n", "\n", "Valid: LabelList (183 items)\n", "x: ImageList\n", "Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64),Image (3, 64, 64)\n", "y: CategoryList\n", "abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic,abnormal_moderate-dysplastic\n", "Path: ../../../Dataset/Herlev Dataset;\n", "\n", "Test: None, model=EfficientNet(\n", " (_conv_stem): Conv2dStaticSamePadding(\n", " 3, 40, kernel_size=(3, 3), stride=(2, 2), bias=False\n", " (static_padding): ZeroPad2d(padding=(0, 1, 0, 1), value=0.0)\n", " )\n", " (_bn0): BatchNorm2d(40, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_blocks): ModuleList(\n", " (0): MBConvBlock(\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 40, 40, kernel_size=(3, 3), stride=[1, 1], groups=40, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(40, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 40, 10, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 10, 40, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 40, 24, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(24, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (1): MBConvBlock(\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 24, 24, kernel_size=(3, 3), stride=(1, 1), groups=24, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(24, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 24, 6, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 6, 24, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 24, 24, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(24, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (2): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 24, 144, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(144, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 144, 144, kernel_size=(3, 3), stride=[2, 2], groups=144, bias=False\n", " (static_padding): ZeroPad2d(padding=(0, 1, 0, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(144, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 144, 6, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 6, 144, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 144, 32, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(32, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (3): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 32, 192, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 192, 192, kernel_size=(3, 3), stride=(1, 1), groups=192, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 192, 8, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 8, 192, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 192, 32, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(32, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (4): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 32, 192, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 192, 192, kernel_size=(3, 3), stride=(1, 1), groups=192, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 192, 8, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 8, 192, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 192, 32, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(32, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (5): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 32, 192, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 192, 192, kernel_size=(5, 5), stride=[2, 2], groups=192, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 2, 1, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 192, 8, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 8, 192, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 192, 48, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(48, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (6): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 48, 288, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 288, 288, kernel_size=(5, 5), stride=(1, 1), groups=288, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 288, 12, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 12, 288, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 288, 48, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(48, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (7): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 48, 288, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 288, 288, kernel_size=(5, 5), stride=(1, 1), groups=288, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 288, 12, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 12, 288, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 288, 48, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(48, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (8): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 48, 288, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 288, 288, kernel_size=(3, 3), stride=[2, 2], groups=288, bias=False\n", " (static_padding): ZeroPad2d(padding=(0, 1, 0, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 288, 12, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 12, 288, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 288, 96, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (9): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 96, 576, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 576, 576, kernel_size=(3, 3), stride=(1, 1), groups=576, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 576, 24, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 24, 576, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 576, 96, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (10): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 96, 576, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 576, 576, kernel_size=(3, 3), stride=(1, 1), groups=576, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 576, 24, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 24, 576, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 576, 96, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (11): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 96, 576, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 576, 576, kernel_size=(3, 3), stride=(1, 1), groups=576, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 576, 24, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 24, 576, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 576, 96, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (12): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 96, 576, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 576, 576, kernel_size=(3, 3), stride=(1, 1), groups=576, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 576, 24, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 24, 576, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 576, 96, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (13): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 96, 576, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 576, 576, kernel_size=(5, 5), stride=[1, 1], groups=576, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 576, 24, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 24, 576, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 576, 136, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (14): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 136, 816, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 816, 816, kernel_size=(5, 5), stride=(1, 1), groups=816, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 816, 34, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 34, 816, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 816, 136, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (15): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 136, 816, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 816, 816, kernel_size=(5, 5), stride=(1, 1), groups=816, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 816, 34, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 34, 816, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 816, 136, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (16): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 136, 816, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 816, 816, kernel_size=(5, 5), stride=(1, 1), groups=816, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 816, 34, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 34, 816, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 816, 136, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (17): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 136, 816, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 816, 816, kernel_size=(5, 5), stride=(1, 1), groups=816, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 816, 34, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 34, 816, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 816, 136, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (18): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 136, 816, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 816, 816, kernel_size=(5, 5), stride=[2, 2], groups=816, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 2, 1, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 816, 34, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 34, 816, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 816, 232, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (19): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 232, 1392, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 1392, 1392, kernel_size=(5, 5), stride=(1, 1), groups=1392, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 1392, 58, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 58, 1392, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 1392, 232, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (20): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 232, 1392, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 1392, 1392, kernel_size=(5, 5), stride=(1, 1), groups=1392, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 1392, 58, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 58, 1392, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 1392, 232, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (21): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 232, 1392, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 1392, 1392, kernel_size=(5, 5), stride=(1, 1), groups=1392, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 1392, 58, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 58, 1392, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 1392, 232, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (22): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 232, 1392, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 1392, 1392, kernel_size=(5, 5), stride=(1, 1), groups=1392, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 1392, 58, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 58, 1392, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 1392, 232, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (23): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 232, 1392, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 1392, 1392, kernel_size=(5, 5), stride=(1, 1), groups=1392, bias=False\n", " (static_padding): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 1392, 58, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 58, 1392, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 1392, 232, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (24): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 232, 1392, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 1392, 1392, kernel_size=(3, 3), stride=[1, 1], groups=1392, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 1392, 58, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 58, 1392, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 1392, 384, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(384, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " (25): MBConvBlock(\n", " (_expand_conv): Conv2dStaticSamePadding(\n", " 384, 2304, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn0): BatchNorm2d(2304, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_depthwise_conv): Conv2dStaticSamePadding(\n", " 2304, 2304, kernel_size=(3, 3), stride=(1, 1), groups=2304, bias=False\n", " (static_padding): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " )\n", " (_bn1): BatchNorm2d(2304, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_se_reduce): Conv2dStaticSamePadding(\n", " 2304, 96, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_se_expand): Conv2dStaticSamePadding(\n", " 96, 2304, kernel_size=(1, 1), stride=(1, 1)\n", " (static_padding): Identity()\n", " )\n", " (_project_conv): Conv2dStaticSamePadding(\n", " 2304, 384, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn2): BatchNorm2d(384, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_swish): MemoryEfficientSwish()\n", " )\n", " )\n", " (_conv_head): Conv2dStaticSamePadding(\n", " 384, 1536, kernel_size=(1, 1), stride=(1, 1), bias=False\n", " (static_padding): Identity()\n", " )\n", " (_bn1): BatchNorm2d(1536, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (_avg_pooling): AdaptiveAvgPool2d(output_size=1)\n", " (_dropout): Dropout(p=0.3, inplace=False)\n", " (_fc): Linear(in_features=1536, out_features=7, bias=True)\n", " (_swish): MemoryEfficientSwish()\n", "), opt_func=functools.partial(, betas=(0.9, 0.99)), loss_func=FlattenedLoss of CrossEntropyLoss(), metrics=[, Precision(average='macro', pos_label=1, eps=1e-09), Recall(average='macro', pos_label=1, eps=1e-09), FBeta(average='macro', pos_label=1, eps=1e-09, beta=2), KappaScore(weights='quadratic')], true_wd=True, bn_wd=True, wd=0.01, train_bn=True, path=PosixPath('../../../Dataset/Herlev Dataset'), model_dir=PosixPath('Models'), callback_fns=[functools.partial(, add_time=True, silent=False)], callbacks=[...], layer_groups=[Sequential(\n", " (0): ZeroPad2d(padding=(0, 1, 0, 1), value=0.0)\n", " (1): ParameterModule()\n", " (2): BatchNorm2d(40, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", "), Sequential(\n", " (0): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " (1): ParameterModule()\n", " (2): BatchNorm2d(40, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (3): Identity()\n", " (4): ParameterModule()\n", " (5): ParameterModule()\n", " (6): Identity()\n", " (7): ParameterModule()\n", " (8): ParameterModule()\n", " (9): Identity()\n", " (10): ParameterModule()\n", " (11): BatchNorm2d(24, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (12): MemoryEfficientSwish()\n", " (13): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " (14): ParameterModule()\n", " (15): BatchNorm2d(24, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (16): Identity()\n", " (17): ParameterModule()\n", " (18): ParameterModule()\n", " (19): Identity()\n", " (20): ParameterModule()\n", " (21): ParameterModule()\n", " (22): Identity()\n", " (23): ParameterModule()\n", " (24): BatchNorm2d(24, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (25): MemoryEfficientSwish()\n", " (26): Identity()\n", " (27): ParameterModule()\n", " (28): BatchNorm2d(144, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (29): ZeroPad2d(padding=(0, 1, 0, 1), value=0.0)\n", " (30): ParameterModule()\n", " (31): BatchNorm2d(144, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (32): Identity()\n", " (33): ParameterModule()\n", " (34): ParameterModule()\n", " (35): Identity()\n", " (36): ParameterModule()\n", " (37): ParameterModule()\n", " (38): Identity()\n", " (39): ParameterModule()\n", " (40): BatchNorm2d(32, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (41): MemoryEfficientSwish()\n", " (42): Identity()\n", " (43): ParameterModule()\n", " (44): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (45): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " (46): ParameterModule()\n", " (47): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (48): Identity()\n", " (49): ParameterModule()\n", " (50): ParameterModule()\n", " (51): Identity()\n", " (52): ParameterModule()\n", " (53): ParameterModule()\n", " (54): Identity()\n", " (55): ParameterModule()\n", " (56): BatchNorm2d(32, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (57): MemoryEfficientSwish()\n", " (58): Identity()\n", " (59): ParameterModule()\n", " (60): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (61): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " (62): ParameterModule()\n", " (63): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (64): Identity()\n", " (65): ParameterModule()\n", " (66): ParameterModule()\n", " (67): Identity()\n", " (68): ParameterModule()\n", " (69): ParameterModule()\n", " (70): Identity()\n", " (71): ParameterModule()\n", " (72): BatchNorm2d(32, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (73): MemoryEfficientSwish()\n", " (74): Identity()\n", " (75): ParameterModule()\n", " (76): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (77): ZeroPad2d(padding=(1, 2, 1, 2), value=0.0)\n", " (78): ParameterModule()\n", " (79): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (80): Identity()\n", " (81): ParameterModule()\n", " (82): ParameterModule()\n", " (83): Identity()\n", " (84): ParameterModule()\n", " (85): ParameterModule()\n", " (86): Identity()\n", " (87): ParameterModule()\n", " (88): BatchNorm2d(48, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (89): MemoryEfficientSwish()\n", " (90): Identity()\n", " (91): ParameterModule()\n", " (92): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (93): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (94): ParameterModule()\n", " (95): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (96): Identity()\n", " (97): ParameterModule()\n", " (98): ParameterModule()\n", " (99): Identity()\n", " (100): ParameterModule()\n", " (101): ParameterModule()\n", " (102): Identity()\n", " (103): ParameterModule()\n", " (104): BatchNorm2d(48, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (105): MemoryEfficientSwish()\n", " (106): Identity()\n", " (107): ParameterModule()\n", " (108): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (109): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (110): ParameterModule()\n", " (111): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (112): Identity()\n", " (113): ParameterModule()\n", " (114): ParameterModule()\n", " (115): Identity()\n", " (116): ParameterModule()\n", " (117): ParameterModule()\n", " (118): Identity()\n", " (119): ParameterModule()\n", " (120): BatchNorm2d(48, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (121): MemoryEfficientSwish()\n", " (122): Identity()\n", " (123): ParameterModule()\n", " (124): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (125): ZeroPad2d(padding=(0, 1, 0, 1), value=0.0)\n", " (126): ParameterModule()\n", " (127): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (128): Identity()\n", " (129): ParameterModule()\n", " (130): ParameterModule()\n", " (131): Identity()\n", " (132): ParameterModule()\n", " (133): ParameterModule()\n", " (134): Identity()\n", " (135): ParameterModule()\n", " (136): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (137): MemoryEfficientSwish()\n", " (138): Identity()\n", " (139): ParameterModule()\n", " (140): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (141): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " (142): ParameterModule()\n", " (143): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (144): Identity()\n", " (145): ParameterModule()\n", " (146): ParameterModule()\n", " (147): Identity()\n", " (148): ParameterModule()\n", " (149): ParameterModule()\n", " (150): Identity()\n", " (151): ParameterModule()\n", " (152): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (153): MemoryEfficientSwish()\n", " (154): Identity()\n", " (155): ParameterModule()\n", " (156): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (157): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " (158): ParameterModule()\n", " (159): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (160): Identity()\n", " (161): ParameterModule()\n", " (162): ParameterModule()\n", " (163): Identity()\n", " (164): ParameterModule()\n", " (165): ParameterModule()\n", " (166): Identity()\n", " (167): ParameterModule()\n", " (168): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (169): MemoryEfficientSwish()\n", " (170): Identity()\n", " (171): ParameterModule()\n", " (172): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (173): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " (174): ParameterModule()\n", " (175): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (176): Identity()\n", " (177): ParameterModule()\n", " (178): ParameterModule()\n", " (179): Identity()\n", " (180): ParameterModule()\n", " (181): ParameterModule()\n", " (182): Identity()\n", " (183): ParameterModule()\n", " (184): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (185): MemoryEfficientSwish()\n", " (186): Identity()\n", " (187): ParameterModule()\n", " (188): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (189): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " (190): ParameterModule()\n", " (191): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (192): Identity()\n", " (193): ParameterModule()\n", " (194): ParameterModule()\n", " (195): Identity()\n", " (196): ParameterModule()\n", " (197): ParameterModule()\n", " (198): Identity()\n", " (199): ParameterModule()\n", " (200): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (201): MemoryEfficientSwish()\n", " (202): Identity()\n", " (203): ParameterModule()\n", " (204): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (205): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (206): ParameterModule()\n", " (207): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (208): Identity()\n", " (209): ParameterModule()\n", " (210): ParameterModule()\n", " (211): Identity()\n", " (212): ParameterModule()\n", " (213): ParameterModule()\n", " (214): Identity()\n", " (215): ParameterModule()\n", " (216): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (217): MemoryEfficientSwish()\n", " (218): Identity()\n", " (219): ParameterModule()\n", " (220): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (221): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (222): ParameterModule()\n", " (223): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (224): Identity()\n", " (225): ParameterModule()\n", " (226): ParameterModule()\n", " (227): Identity()\n", " (228): ParameterModule()\n", " (229): ParameterModule()\n", " (230): Identity()\n", " (231): ParameterModule()\n", " (232): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (233): MemoryEfficientSwish()\n", " (234): Identity()\n", " (235): ParameterModule()\n", " (236): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (237): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (238): ParameterModule()\n", " (239): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (240): Identity()\n", " (241): ParameterModule()\n", " (242): ParameterModule()\n", " (243): Identity()\n", " (244): ParameterModule()\n", " (245): ParameterModule()\n", " (246): Identity()\n", " (247): ParameterModule()\n", " (248): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (249): MemoryEfficientSwish()\n", " (250): Identity()\n", " (251): ParameterModule()\n", " (252): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (253): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (254): ParameterModule()\n", " (255): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (256): Identity()\n", " (257): ParameterModule()\n", " (258): ParameterModule()\n", " (259): Identity()\n", " (260): ParameterModule()\n", " (261): ParameterModule()\n", " (262): Identity()\n", " (263): ParameterModule()\n", " (264): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (265): MemoryEfficientSwish()\n", " (266): Identity()\n", " (267): ParameterModule()\n", " (268): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (269): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (270): ParameterModule()\n", " (271): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (272): Identity()\n", " (273): ParameterModule()\n", " (274): ParameterModule()\n", " (275): Identity()\n", " (276): ParameterModule()\n", " (277): ParameterModule()\n", " (278): Identity()\n", " (279): ParameterModule()\n", " (280): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (281): MemoryEfficientSwish()\n", " (282): Identity()\n", " (283): ParameterModule()\n", " (284): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (285): ZeroPad2d(padding=(1, 2, 1, 2), value=0.0)\n", " (286): ParameterModule()\n", " (287): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (288): Identity()\n", " (289): ParameterModule()\n", " (290): ParameterModule()\n", " (291): Identity()\n", " (292): ParameterModule()\n", " (293): ParameterModule()\n", " (294): Identity()\n", " (295): ParameterModule()\n", " (296): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (297): MemoryEfficientSwish()\n", " (298): Identity()\n", " (299): ParameterModule()\n", " (300): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (301): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (302): ParameterModule()\n", " (303): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (304): Identity()\n", " (305): ParameterModule()\n", " (306): ParameterModule()\n", " (307): Identity()\n", " (308): ParameterModule()\n", " (309): ParameterModule()\n", " (310): Identity()\n", " (311): ParameterModule()\n", " (312): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (313): MemoryEfficientSwish()\n", " (314): Identity()\n", " (315): ParameterModule()\n", " (316): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (317): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (318): ParameterModule()\n", " (319): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (320): Identity()\n", " (321): ParameterModule()\n", " (322): ParameterModule()\n", " (323): Identity()\n", " (324): ParameterModule()\n", " (325): ParameterModule()\n", " (326): Identity()\n", " (327): ParameterModule()\n", " (328): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (329): MemoryEfficientSwish()\n", " (330): Identity()\n", " (331): ParameterModule()\n", " (332): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (333): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (334): ParameterModule()\n", " (335): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (336): Identity()\n", " (337): ParameterModule()\n", " (338): ParameterModule()\n", " (339): Identity()\n", " (340): ParameterModule()\n", " (341): ParameterModule()\n", " (342): Identity()\n", " (343): ParameterModule()\n", " (344): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (345): MemoryEfficientSwish()\n", " (346): Identity()\n", " (347): ParameterModule()\n", " (348): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (349): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (350): ParameterModule()\n", " (351): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (352): Identity()\n", " (353): ParameterModule()\n", " (354): ParameterModule()\n", " (355): Identity()\n", " (356): ParameterModule()\n", " (357): ParameterModule()\n", " (358): Identity()\n", " (359): ParameterModule()\n", " (360): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (361): MemoryEfficientSwish()\n", " (362): Identity()\n", " (363): ParameterModule()\n", " (364): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (365): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (366): ParameterModule()\n", " (367): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (368): Identity()\n", " (369): ParameterModule()\n", " (370): ParameterModule()\n", " (371): Identity()\n", " (372): ParameterModule()\n", " (373): ParameterModule()\n", " (374): Identity()\n", " (375): ParameterModule()\n", " (376): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (377): MemoryEfficientSwish()\n", " (378): Identity()\n", " (379): ParameterModule()\n", " (380): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (381): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " (382): ParameterModule()\n", " (383): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (384): Identity()\n", " (385): ParameterModule()\n", " (386): ParameterModule()\n", " (387): Identity()\n", " (388): ParameterModule()\n", " (389): ParameterModule()\n", " (390): Identity()\n", " (391): ParameterModule()\n", " (392): BatchNorm2d(384, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (393): MemoryEfficientSwish()\n", " (394): Identity()\n", " (395): ParameterModule()\n", " (396): BatchNorm2d(2304, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (397): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " (398): ParameterModule()\n", " (399): BatchNorm2d(2304, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (400): Identity()\n", " (401): ParameterModule()\n", " (402): ParameterModule()\n", " (403): Identity()\n", " (404): ParameterModule()\n", " (405): ParameterModule()\n", " (406): Identity()\n", " (407): ParameterModule()\n", " (408): BatchNorm2d(384, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (409): MemoryEfficientSwish()\n", "), Sequential(\n", " (0): Identity()\n", " (1): ParameterModule()\n", " (2): BatchNorm2d(1536, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (3): AdaptiveAvgPool2d(output_size=1)\n", " (4): Dropout(p=0.3, inplace=False)\n", " (5): Linear(in_features=1536, out_features=7, bias=True)\n", " (6): MemoryEfficientSwish()\n", ")], add_time=True, silent=False)\n", "loss_scale: 2048.0\n", "max_noskip: 1000\n", "dynamic: True\n", "clip: None\n", "flat_master: False\n", "max_scale: 16777216\n", "loss_fp32: True], layer_groups=[Sequential(\n", " (0): ZeroPad2d(padding=(0, 1, 0, 1), value=0.0)\n", " (1): ParameterModule()\n", " (2): BatchNorm2d(40, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", "), Sequential(\n", " (0): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " (1): ParameterModule()\n", " (2): BatchNorm2d(40, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (3): Identity()\n", " (4): ParameterModule()\n", " (5): ParameterModule()\n", " (6): Identity()\n", " (7): ParameterModule()\n", " (8): ParameterModule()\n", " (9): Identity()\n", " (10): ParameterModule()\n", " (11): BatchNorm2d(24, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (12): MemoryEfficientSwish()\n", " (13): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " (14): ParameterModule()\n", " (15): BatchNorm2d(24, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (16): Identity()\n", " (17): ParameterModule()\n", " (18): ParameterModule()\n", " (19): Identity()\n", " (20): ParameterModule()\n", " (21): ParameterModule()\n", " (22): Identity()\n", " (23): ParameterModule()\n", " (24): BatchNorm2d(24, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (25): MemoryEfficientSwish()\n", " (26): Identity()\n", " (27): ParameterModule()\n", " (28): BatchNorm2d(144, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (29): ZeroPad2d(padding=(0, 1, 0, 1), value=0.0)\n", " (30): ParameterModule()\n", " (31): BatchNorm2d(144, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (32): Identity()\n", " (33): ParameterModule()\n", " (34): ParameterModule()\n", " (35): Identity()\n", " (36): ParameterModule()\n", " (37): ParameterModule()\n", " (38): Identity()\n", " (39): ParameterModule()\n", " (40): BatchNorm2d(32, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (41): MemoryEfficientSwish()\n", " (42): Identity()\n", " (43): ParameterModule()\n", " (44): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (45): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " (46): ParameterModule()\n", " (47): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (48): Identity()\n", " (49): ParameterModule()\n", " (50): ParameterModule()\n", " (51): Identity()\n", " (52): ParameterModule()\n", " (53): ParameterModule()\n", " (54): Identity()\n", " (55): ParameterModule()\n", " (56): BatchNorm2d(32, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (57): MemoryEfficientSwish()\n", " (58): Identity()\n", " (59): ParameterModule()\n", " (60): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (61): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " (62): ParameterModule()\n", " (63): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (64): Identity()\n", " (65): ParameterModule()\n", " (66): ParameterModule()\n", " (67): Identity()\n", " (68): ParameterModule()\n", " (69): ParameterModule()\n", " (70): Identity()\n", " (71): ParameterModule()\n", " (72): BatchNorm2d(32, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (73): MemoryEfficientSwish()\n", " (74): Identity()\n", " (75): ParameterModule()\n", " (76): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (77): ZeroPad2d(padding=(1, 2, 1, 2), value=0.0)\n", " (78): ParameterModule()\n", " (79): BatchNorm2d(192, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (80): Identity()\n", " (81): ParameterModule()\n", " (82): ParameterModule()\n", " (83): Identity()\n", " (84): ParameterModule()\n", " (85): ParameterModule()\n", " (86): Identity()\n", " (87): ParameterModule()\n", " (88): BatchNorm2d(48, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (89): MemoryEfficientSwish()\n", " (90): Identity()\n", " (91): ParameterModule()\n", " (92): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (93): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (94): ParameterModule()\n", " (95): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (96): Identity()\n", " (97): ParameterModule()\n", " (98): ParameterModule()\n", " (99): Identity()\n", " (100): ParameterModule()\n", " (101): ParameterModule()\n", " (102): Identity()\n", " (103): ParameterModule()\n", " (104): BatchNorm2d(48, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (105): MemoryEfficientSwish()\n", " (106): Identity()\n", " (107): ParameterModule()\n", " (108): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (109): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (110): ParameterModule()\n", " (111): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (112): Identity()\n", " (113): ParameterModule()\n", " (114): ParameterModule()\n", " (115): Identity()\n", " (116): ParameterModule()\n", " (117): ParameterModule()\n", " (118): Identity()\n", " (119): ParameterModule()\n", " (120): BatchNorm2d(48, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (121): MemoryEfficientSwish()\n", " (122): Identity()\n", " (123): ParameterModule()\n", " (124): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (125): ZeroPad2d(padding=(0, 1, 0, 1), value=0.0)\n", " (126): ParameterModule()\n", " (127): BatchNorm2d(288, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (128): Identity()\n", " (129): ParameterModule()\n", " (130): ParameterModule()\n", " (131): Identity()\n", " (132): ParameterModule()\n", " (133): ParameterModule()\n", " (134): Identity()\n", " (135): ParameterModule()\n", " (136): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (137): MemoryEfficientSwish()\n", " (138): Identity()\n", " (139): ParameterModule()\n", " (140): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (141): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " (142): ParameterModule()\n", " (143): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (144): Identity()\n", " (145): ParameterModule()\n", " (146): ParameterModule()\n", " (147): Identity()\n", " (148): ParameterModule()\n", " (149): ParameterModule()\n", " (150): Identity()\n", " (151): ParameterModule()\n", " (152): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (153): MemoryEfficientSwish()\n", " (154): Identity()\n", " (155): ParameterModule()\n", " (156): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (157): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " (158): ParameterModule()\n", " (159): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (160): Identity()\n", " (161): ParameterModule()\n", " (162): ParameterModule()\n", " (163): Identity()\n", " (164): ParameterModule()\n", " (165): ParameterModule()\n", " (166): Identity()\n", " (167): ParameterModule()\n", " (168): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (169): MemoryEfficientSwish()\n", " (170): Identity()\n", " (171): ParameterModule()\n", " (172): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (173): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " (174): ParameterModule()\n", " (175): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (176): Identity()\n", " (177): ParameterModule()\n", " (178): ParameterModule()\n", " (179): Identity()\n", " (180): ParameterModule()\n", " (181): ParameterModule()\n", " (182): Identity()\n", " (183): ParameterModule()\n", " (184): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (185): MemoryEfficientSwish()\n", " (186): Identity()\n", " (187): ParameterModule()\n", " (188): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (189): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " (190): ParameterModule()\n", " (191): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (192): Identity()\n", " (193): ParameterModule()\n", " (194): ParameterModule()\n", " (195): Identity()\n", " (196): ParameterModule()\n", " (197): ParameterModule()\n", " (198): Identity()\n", " (199): ParameterModule()\n", " (200): BatchNorm2d(96, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (201): MemoryEfficientSwish()\n", " (202): Identity()\n", " (203): ParameterModule()\n", " (204): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (205): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (206): ParameterModule()\n", " (207): BatchNorm2d(576, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (208): Identity()\n", " (209): ParameterModule()\n", " (210): ParameterModule()\n", " (211): Identity()\n", " (212): ParameterModule()\n", " (213): ParameterModule()\n", " (214): Identity()\n", " (215): ParameterModule()\n", " (216): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (217): MemoryEfficientSwish()\n", " (218): Identity()\n", " (219): ParameterModule()\n", " (220): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (221): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (222): ParameterModule()\n", " (223): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (224): Identity()\n", " (225): ParameterModule()\n", " (226): ParameterModule()\n", " (227): Identity()\n", " (228): ParameterModule()\n", " (229): ParameterModule()\n", " (230): Identity()\n", " (231): ParameterModule()\n", " (232): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (233): MemoryEfficientSwish()\n", " (234): Identity()\n", " (235): ParameterModule()\n", " (236): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (237): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (238): ParameterModule()\n", " (239): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (240): Identity()\n", " (241): ParameterModule()\n", " (242): ParameterModule()\n", " (243): Identity()\n", " (244): ParameterModule()\n", " (245): ParameterModule()\n", " (246): Identity()\n", " (247): ParameterModule()\n", " (248): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (249): MemoryEfficientSwish()\n", " (250): Identity()\n", " (251): ParameterModule()\n", " (252): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (253): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (254): ParameterModule()\n", " (255): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (256): Identity()\n", " (257): ParameterModule()\n", " (258): ParameterModule()\n", " (259): Identity()\n", " (260): ParameterModule()\n", " (261): ParameterModule()\n", " (262): Identity()\n", " (263): ParameterModule()\n", " (264): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (265): MemoryEfficientSwish()\n", " (266): Identity()\n", " (267): ParameterModule()\n", " (268): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (269): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (270): ParameterModule()\n", " (271): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (272): Identity()\n", " (273): ParameterModule()\n", " (274): ParameterModule()\n", " (275): Identity()\n", " (276): ParameterModule()\n", " (277): ParameterModule()\n", " (278): Identity()\n", " (279): ParameterModule()\n", " (280): BatchNorm2d(136, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (281): MemoryEfficientSwish()\n", " (282): Identity()\n", " (283): ParameterModule()\n", " (284): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (285): ZeroPad2d(padding=(1, 2, 1, 2), value=0.0)\n", " (286): ParameterModule()\n", " (287): BatchNorm2d(816, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (288): Identity()\n", " (289): ParameterModule()\n", " (290): ParameterModule()\n", " (291): Identity()\n", " (292): ParameterModule()\n", " (293): ParameterModule()\n", " (294): Identity()\n", " (295): ParameterModule()\n", " (296): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (297): MemoryEfficientSwish()\n", " (298): Identity()\n", " (299): ParameterModule()\n", " (300): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (301): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (302): ParameterModule()\n", " (303): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (304): Identity()\n", " (305): ParameterModule()\n", " (306): ParameterModule()\n", " (307): Identity()\n", " (308): ParameterModule()\n", " (309): ParameterModule()\n", " (310): Identity()\n", " (311): ParameterModule()\n", " (312): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (313): MemoryEfficientSwish()\n", " (314): Identity()\n", " (315): ParameterModule()\n", " (316): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (317): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (318): ParameterModule()\n", " (319): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (320): Identity()\n", " (321): ParameterModule()\n", " (322): ParameterModule()\n", " (323): Identity()\n", " (324): ParameterModule()\n", " (325): ParameterModule()\n", " (326): Identity()\n", " (327): ParameterModule()\n", " (328): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (329): MemoryEfficientSwish()\n", " (330): Identity()\n", " (331): ParameterModule()\n", " (332): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (333): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (334): ParameterModule()\n", " (335): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (336): Identity()\n", " (337): ParameterModule()\n", " (338): ParameterModule()\n", " (339): Identity()\n", " (340): ParameterModule()\n", " (341): ParameterModule()\n", " (342): Identity()\n", " (343): ParameterModule()\n", " (344): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (345): MemoryEfficientSwish()\n", " (346): Identity()\n", " (347): ParameterModule()\n", " (348): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (349): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (350): ParameterModule()\n", " (351): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (352): Identity()\n", " (353): ParameterModule()\n", " (354): ParameterModule()\n", " (355): Identity()\n", " (356): ParameterModule()\n", " (357): ParameterModule()\n", " (358): Identity()\n", " (359): ParameterModule()\n", " (360): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (361): MemoryEfficientSwish()\n", " (362): Identity()\n", " (363): ParameterModule()\n", " (364): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (365): ZeroPad2d(padding=(2, 2, 2, 2), value=0.0)\n", " (366): ParameterModule()\n", " (367): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (368): Identity()\n", " (369): ParameterModule()\n", " (370): ParameterModule()\n", " (371): Identity()\n", " (372): ParameterModule()\n", " (373): ParameterModule()\n", " (374): Identity()\n", " (375): ParameterModule()\n", " (376): BatchNorm2d(232, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (377): MemoryEfficientSwish()\n", " (378): Identity()\n", " (379): ParameterModule()\n", " (380): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (381): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " (382): ParameterModule()\n", " (383): BatchNorm2d(1392, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (384): Identity()\n", " (385): ParameterModule()\n", " (386): ParameterModule()\n", " (387): Identity()\n", " (388): ParameterModule()\n", " (389): ParameterModule()\n", " (390): Identity()\n", " (391): ParameterModule()\n", " (392): BatchNorm2d(384, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (393): MemoryEfficientSwish()\n", " (394): Identity()\n", " (395): ParameterModule()\n", " (396): BatchNorm2d(2304, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (397): ZeroPad2d(padding=(1, 1, 1, 1), value=0.0)\n", " (398): ParameterModule()\n", " (399): BatchNorm2d(2304, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (400): Identity()\n", " (401): ParameterModule()\n", " (402): ParameterModule()\n", " (403): Identity()\n", " (404): ParameterModule()\n", " (405): ParameterModule()\n", " (406): Identity()\n", " (407): ParameterModule()\n", " (408): BatchNorm2d(384, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (409): MemoryEfficientSwish()\n", "), Sequential(\n", " (0): Identity()\n", " (1): ParameterModule()\n", " (2): BatchNorm2d(1536, eps=0.001, momentum=0.010000000000000009, affine=True, track_running_stats=True)\n", " (3): AdaptiveAvgPool2d(output_size=1)\n", " (4): Dropout(p=0.3, inplace=False)\n", " (5): Linear(in_features=1536, out_features=7, bias=True)\n", " (6): MemoryEfficientSwish()\n", ")], add_time=True, silent=False)" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "learner.load(\"best-effb3-herlev-multiclass-fold5-stage2\")" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "learner.freeze()" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "learner.export(\"best-effb3-herlev-multiclass.pkl\")" ] }, { "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 }