From 8cf705c8b3cbdcc22e1bfca1f1b4336d9ab19771 Mon Sep 17 00:00:00 2001 From: taeukkkim Date: Fri, 3 Sep 2021 06:03:26 +0000 Subject: [PATCH] effnet b7 focal smoothing --- T2065/notebook/6_Pretrained Model.ipynb | 555 ++++++++++-------- baseline/dataset.py | 13 +- baseline/inference_effnet.sh | 30 +- .../config.json | 26 + baseline/train_effnet.sh | 72 +-- 5 files changed, 414 insertions(+), 282 deletions(-) create mode 100644 baseline/model/T2065/EfficientNet_b7_focal_0902_age/config.json diff --git a/T2065/notebook/6_Pretrained Model.ipynb b/T2065/notebook/6_Pretrained Model.ipynb index edcfa46..22a12e8 100644 --- a/T2065/notebook/6_Pretrained Model.ipynb +++ b/T2065/notebook/6_Pretrained Model.ipynb @@ -518,7 +518,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 2, "id": "R2dV1z-1UShB", "metadata": { "id": "R2dV1z-1UShB" @@ -765,7 +765,7 @@ ] }, "metadata": {}, - "execution_count": 7 + "execution_count": 2 } ], "source": [ @@ -777,277 +777,374 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 6, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stderr", "text": [ - "Downloading: \"https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-vt3p-weights/visformer_small-839e1f5b.pth\" to /opt/ml/.cache/torch/hub/checkpoints/visformer_small-839e1f5b.pth\n" + "Downloading: \"https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/tf_efficientnet_b7_ra-6c08e654.pth\" to /opt/ml/.cache/torch/hub/checkpoints/tf_efficientnet_b7_ra-6c08e654.pth\n" ] }, { "output_type": "execute_result", "data": { "text/plain": [ - "Visformer(\n", - " (stem): Sequential(\n", - " (0): Conv2d(3, 32, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False)\n", - " (1): BatchNorm2d(32, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (2): ReLU(inplace=True)\n", - " )\n", - " (patch_embed1): PatchEmbed(\n", - " (proj): Conv2d(32, 192, kernel_size=(4, 4), stride=(4, 4))\n", - " (norm): BatchNorm2d(192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " )\n", - " (pos_drop): Dropout(p=0.0, inplace=False)\n", - " (stage1): ModuleList(\n", - " (0): Block(\n", - " (drop_path): Identity()\n", - " (norm2): BatchNorm2d(192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (mlp): SpatialMlp(\n", - " (drop): Dropout(p=0.0, inplace=False)\n", - " (conv1): Conv2d(192, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (act1): GELU()\n", - " (conv2): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=8, bias=False)\n", - " (act2): GELU()\n", - " (conv3): Conv2d(384, 192, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " )\n", - " )\n", - " (1): Block(\n", - " (drop_path): Identity()\n", - " (norm2): BatchNorm2d(192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (mlp): SpatialMlp(\n", - " (drop): Dropout(p=0.0, inplace=False)\n", - " (conv1): Conv2d(192, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (act1): GELU()\n", - " (conv2): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=8, bias=False)\n", - " (act2): GELU()\n", - " (conv3): Conv2d(384, 192, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " )\n", - " )\n", - " (2): Block(\n", - " (drop_path): Identity()\n", - " (norm2): BatchNorm2d(192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (mlp): SpatialMlp(\n", - " (drop): Dropout(p=0.0, inplace=False)\n", - " (conv1): Conv2d(192, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (act1): GELU()\n", - " (conv2): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=8, bias=False)\n", - " (act2): GELU()\n", - " (conv3): Conv2d(384, 192, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " BatchNorm2d(1344, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act1): SiLU(inplace=True)\n", + " (conv_dw): Conv2d(1344, 1344, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), groups=1344, bias=False)\n", + " (bn2): BatchNorm2d(1344, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", + " (se): SqueezeExcite(\n", + " (conv_reduce): Conv2d(1344, 56, kernel_size=(1, 1), stride=(1, 1))\n", + " (act1): SiLU(inplace=True)\n", + " (conv_expand): Conv2d(56, 1344, kernel_size=(1, 1), stride=(1, 1))\n", + " (gate): Sigmoid()\n", + " )\n", + " (conv_pwl): Conv2d(1344, 224, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(224, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", - " )\n", - " (3): Block(\n", - " (drop_path): Identity()\n", - " (norm2): BatchNorm2d(192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (mlp): SpatialMlp(\n", - " (drop): Dropout(p=0.0, inplace=False)\n", - " (conv1): Conv2d(192, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (act1): GELU()\n", - " (conv2): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=8, bias=False)\n", - " (act2): GELU()\n", - " (conv3): Conv2d(384, 192, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (7): InvertedResidual(\n", + " (conv_pw): Conv2d(224, 1344, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(1344, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act1): SiLU(inplace=True)\n", + " (conv_dw): Conv2d(1344, 1344, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), groups=1344, bias=False)\n", + " (bn2): BatchNorm2d(1344, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", + " (se): SqueezeExcite(\n", + " (conv_reduce): Conv2d(1344, 56, kernel_size=(1, 1), stride=(1, 1))\n", + " (act1): SiLU(inplace=True)\n", + " (conv_expand): Conv2d(56, 1344, kernel_size=(1, 1), stride=(1, 1))\n", + " (gate): Sigmoid()\n", + " )\n", + " (conv_pwl): Conv2d(1344, 224, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(224, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", - " )\n", - " (4): Block(\n", - " (drop_path): Identity()\n", - " (norm2): BatchNorm2d(192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (mlp): SpatialMlp(\n", - " (drop): Dropout(p=0.0, inplace=False)\n", - " (conv1): Conv2d(192, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (act1): GELU()\n", - " (conv2): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=8, bias=False)\n", - " (act2): GELU()\n", - " (conv3): Conv2d(384, 192, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (8): InvertedResidual(\n", + " (conv_pw): Conv2d(224, 1344, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(1344, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act1): SiLU(inplace=True)\n", + " (conv_dw): Conv2d(1344, 1344, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), groups=1344, bias=False)\n", + " (bn2): BatchNorm2d(1344, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", + " (se): SqueezeExcite(\n", + " (conv_reduce): Conv2d(1344, 56, kernel_size=(1, 1), stride=(1, 1))\n", + " (act1): SiLU(inplace=True)\n", + " (conv_expand): Conv2d(56, 1344, kernel_size=(1, 1), stride=(1, 1))\n", + " (gate): Sigmoid()\n", + " )\n", + " (conv_pwl): Conv2d(1344, 224, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(224, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", - " )\n", - " (5): Block(\n", - " (drop_path): Identity()\n", - " (norm2): BatchNorm2d(192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (mlp): SpatialMlp(\n", - " (drop): Dropout(p=0.0, inplace=False)\n", - " (conv1): Conv2d(192, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (act1): GELU()\n", - " (conv2): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=8, bias=False)\n", - " (act2): GELU()\n", - " (conv3): Conv2d(384, 192, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (9): InvertedResidual(\n", + " (conv_pw): Conv2d(224, 1344, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(1344, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act1): SiLU(inplace=True)\n", + " (conv_dw): Conv2d(1344, 1344, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), groups=1344, bias=False)\n", + " (bn2): BatchNorm2d(1344, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", + " (se): SqueezeExcite(\n", + " (conv_reduce): Conv2d(1344, 56, kernel_size=(1, 1), stride=(1, 1))\n", + " (act1): SiLU(inplace=True)\n", + " (conv_expand): Conv2d(56, 1344, kernel_size=(1, 1), stride=(1, 1))\n", + " (gate): Sigmoid()\n", + " )\n", + " (conv_pwl): Conv2d(1344, 224, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(224, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", - " (6): Block(\n", - " (drop_path): Identity()\n", - " (norm2): BatchNorm2d(192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (mlp): SpatialMlp(\n", - " (drop): Dropout(p=0.0, inplace=False)\n", - " (conv1): Conv2d(192, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (act1): GELU()\n", - " (conv2): Conv2d(384, 384, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=8, bias=False)\n", - " (act2): GELU()\n", - " (conv3): Conv2d(384, 192, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (5): Sequential(\n", + " (0): InvertedResidual(\n", + " (conv_pw): Conv2d(224, 1344, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(1344, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act1): SiLU(inplace=True)\n", + " (conv_dw): Conv2dSame(1344, 1344, kernel_size=(5, 5), stride=(2, 2), groups=1344, bias=False)\n", + " (bn2): BatchNorm2d(1344, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", + " (se): SqueezeExcite(\n", + " (conv_reduce): Conv2d(1344, 56, kernel_size=(1, 1), stride=(1, 1))\n", + " (act1): SiLU(inplace=True)\n", + " (conv_expand): Conv2d(56, 1344, kernel_size=(1, 1), stride=(1, 1))\n", + " (gate): Sigmoid()\n", + " )\n", + " (conv_pwl): Conv2d(1344, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(384, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", - " )\n", - " )\n", - " (patch_embed2): PatchEmbed(\n", - " (proj): Conv2d(192, 384, kernel_size=(2, 2), stride=(2, 2))\n", - " (norm): BatchNorm2d(384, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " )\n", - " (stage2): ModuleList(\n", - " (0): Block(\n", - " (drop_path): Identity()\n", - " (norm1): BatchNorm2d(384, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (attn): Attention(\n", - " (qkv): Conv2d(384, 1152, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (attn_drop): Dropout(p=0.0, inplace=False)\n", - " (proj): Conv2d(384, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (proj_drop): Dropout(p=0.0, inplace=False)\n", + " (1): InvertedResidual(\n", + " (conv_pw): Conv2d(384, 2304, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act1): SiLU(inplace=True)\n", + " (conv_dw): Conv2d(2304, 2304, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), groups=2304, bias=False)\n", + " (bn2): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", + " (se): SqueezeExcite(\n", + " (conv_reduce): Conv2d(2304, 96, kernel_size=(1, 1), stride=(1, 1))\n", + " (act1): SiLU(inplace=True)\n", + " (conv_expand): Conv2d(96, 2304, kernel_size=(1, 1), stride=(1, 1))\n", + " (gate): Sigmoid()\n", + " )\n", + " (conv_pwl): Conv2d(2304, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(384, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", - " (norm2): BatchNorm2d(384, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (mlp): SpatialMlp(\n", - " (drop): Dropout(p=0.0, inplace=False)\n", - " (conv1): Conv2d(384, 1536, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (act1): GELU()\n", - " (conv3): Conv2d(1536, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (2): InvertedResidual(\n", + " (conv_pw): Conv2d(384, 2304, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act1): SiLU(inplace=True)\n", + " (conv_dw): Conv2d(2304, 2304, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), groups=2304, bias=False)\n", + " (bn2): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", + " (se): SqueezeExcite(\n", + " (conv_reduce): Conv2d(2304, 96, kernel_size=(1, 1), stride=(1, 1))\n", + " (act1): SiLU(inplace=True)\n", + " (conv_expand): Conv2d(96, 2304, kernel_size=(1, 1), stride=(1, 1))\n", + " (gate): Sigmoid()\n", + " )\n", + " (conv_pwl): Conv2d(2304, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(384, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", - " )\n", - " (1): Block(\n", - " (drop_path): Identity()\n", - " (norm1): BatchNorm2d(384, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (attn): Attention(\n", - " (qkv): Conv2d(384, 1152, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (attn_drop): Dropout(p=0.0, inplace=False)\n", - " (proj): Conv2d(384, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (proj_drop): Dropout(p=0.0, inplace=False)\n", + " (3): InvertedResidual(\n", + " (conv_pw): Conv2d(384, 2304, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act1): SiLU(inplace=True)\n", + " (conv_dw): Conv2d(2304, 2304, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), groups=2304, bias=False)\n", + " (bn2): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", + " (se): SqueezeExcite(\n", + " (conv_reduce): Conv2d(2304, 96, kernel_size=(1, 1), stride=(1, 1))\n", + " (act1): SiLU(inplace=True)\n", + " (conv_expand): Conv2d(96, 2304, kernel_size=(1, 1), stride=(1, 1))\n", + " (gate): Sigmoid()\n", + " )\n", + " (conv_pwl): Conv2d(2304, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(384, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", - " (norm2): BatchNorm2d(384, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (mlp): SpatialMlp(\n", - " (drop): Dropout(p=0.0, inplace=False)\n", - " (conv1): Conv2d(384, 1536, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (act1): GELU()\n", - " (conv3): Conv2d(1536, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (4): InvertedResidual(\n", + " (conv_pw): Conv2d(384, 2304, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act1): SiLU(inplace=True)\n", + " (conv_dw): Conv2d(2304, 2304, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), groups=2304, bias=False)\n", + " (bn2): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", + " (se): SqueezeExcite(\n", + " (conv_reduce): Conv2d(2304, 96, kernel_size=(1, 1), stride=(1, 1))\n", + " (act1): SiLU(inplace=True)\n", + " (conv_expand): Conv2d(96, 2304, kernel_size=(1, 1), stride=(1, 1))\n", + " (gate): Sigmoid()\n", + " )\n", + " (conv_pwl): Conv2d(2304, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(384, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", - " )\n", - " (2): Block(\n", - " (drop_path): Identity()\n", - " (norm1): BatchNorm2d(384, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (attn): Attention(\n", - " (qkv): Conv2d(384, 1152, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (attn_drop): Dropout(p=0.0, inplace=False)\n", - " (proj): Conv2d(384, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (proj_drop): Dropout(p=0.0, inplace=False)\n", + " (5): InvertedResidual(\n", + " (conv_pw): Conv2d(384, 2304, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act1): SiLU(inplace=True)\n", + " (conv_dw): Conv2d(2304, 2304, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), groups=2304, bias=False)\n", + " (bn2): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", + " (se): SqueezeExcite(\n", + " (conv_reduce): Conv2d(2304, 96, kernel_size=(1, 1), stride=(1, 1))\n", + " (act1): SiLU(inplace=True)\n", + " (conv_expand): Conv2d(96, 2304, kernel_size=(1, 1), stride=(1, 1))\n", + " (gate): Sigmoid()\n", + " )\n", + " (conv_pwl): Conv2d(2304, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(384, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", - " (norm2): BatchNorm2d(384, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (mlp): SpatialMlp(\n", - " (drop): Dropout(p=0.0, inplace=False)\n", - " (conv1): Conv2d(384, 1536, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (act1): GELU()\n", - " (conv3): Conv2d(1536, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (6): InvertedResidual(\n", + " (conv_pw): Conv2d(384, 2304, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act1): SiLU(inplace=True)\n", + " (conv_dw): Conv2d(2304, 2304, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), groups=2304, bias=False)\n", + " (bn2): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", + " (se): SqueezeExcite(\n", + " (conv_reduce): Conv2d(2304, 96, kernel_size=(1, 1), stride=(1, 1))\n", + " (act1): SiLU(inplace=True)\n", + " (conv_expand): Conv2d(96, 2304, kernel_size=(1, 1), stride=(1, 1))\n", + " (gate): Sigmoid()\n", + " )\n", + " (conv_pwl): Conv2d(2304, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(384, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", - " )\n", - " (3): Block(\n", - " (drop_path): Identity()\n", - " (norm1): BatchNorm2d(384, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (attn): Attention(\n", - " (qkv): Conv2d(384, 1152, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (attn_drop): Dropout(p=0.0, inplace=False)\n", - " (proj): Conv2d(384, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (proj_drop): Dropout(p=0.0, inplace=False)\n", + " (7): InvertedResidual(\n", + " (conv_pw): Conv2d(384, 2304, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act1): SiLU(inplace=True)\n", + " (conv_dw): Conv2d(2304, 2304, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), groups=2304, bias=False)\n", + " (bn2): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", + " (se): SqueezeExcite(\n", + " (conv_reduce): Conv2d(2304, 96, kernel_size=(1, 1), stride=(1, 1))\n", + " (act1): SiLU(inplace=True)\n", + " (conv_expand): Conv2d(96, 2304, kernel_size=(1, 1), stride=(1, 1))\n", + " (gate): Sigmoid()\n", + " )\n", + " (conv_pwl): Conv2d(2304, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(384, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", - " (norm2): BatchNorm2d(384, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (mlp): SpatialMlp(\n", - " (drop): Dropout(p=0.0, inplace=False)\n", - " (conv1): Conv2d(384, 1536, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (act1): GELU()\n", - " (conv3): Conv2d(1536, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (8): InvertedResidual(\n", + " (conv_pw): Conv2d(384, 2304, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act1): SiLU(inplace=True)\n", + " (conv_dw): Conv2d(2304, 2304, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), groups=2304, bias=False)\n", + " (bn2): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", + " (se): SqueezeExcite(\n", + " (conv_reduce): Conv2d(2304, 96, kernel_size=(1, 1), stride=(1, 1))\n", + " (act1): SiLU(inplace=True)\n", + " (conv_expand): Conv2d(96, 2304, kernel_size=(1, 1), stride=(1, 1))\n", + " (gate): Sigmoid()\n", + " )\n", + " (conv_pwl): Conv2d(2304, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(384, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", - " )\n", - " )\n", - " (patch_embed3): PatchEmbed(\n", - " (proj): Conv2d(384, 768, kernel_size=(2, 2), stride=(2, 2))\n", - " (norm): BatchNorm2d(768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " )\n", - " (stage3): ModuleList(\n", - " (0): Block(\n", - " (drop_path): Identity()\n", - " (norm1): BatchNorm2d(768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (attn): Attention(\n", - " (qkv): Conv2d(768, 2304, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (attn_drop): Dropout(p=0.0, inplace=False)\n", - " (proj): Conv2d(768, 768, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (proj_drop): Dropout(p=0.0, inplace=False)\n", + " (9): InvertedResidual(\n", + " (conv_pw): Conv2d(384, 2304, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act1): SiLU(inplace=True)\n", + " (conv_dw): Conv2d(2304, 2304, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), groups=2304, bias=False)\n", + " (bn2): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", + " (se): SqueezeExcite(\n", + " (conv_reduce): Conv2d(2304, 96, kernel_size=(1, 1), stride=(1, 1))\n", + " (act1): SiLU(inplace=True)\n", + " (conv_expand): Conv2d(96, 2304, kernel_size=(1, 1), stride=(1, 1))\n", + " (gate): Sigmoid()\n", + " )\n", + " (conv_pwl): Conv2d(2304, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(384, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", - " (norm2): BatchNorm2d(768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (mlp): SpatialMlp(\n", - " (drop): Dropout(p=0.0, inplace=False)\n", - " (conv1): Conv2d(768, 3072, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (act1): GELU()\n", - " (conv3): Conv2d(3072, 768, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (10): InvertedResidual(\n", + " (conv_pw): Conv2d(384, 2304, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act1): SiLU(inplace=True)\n", + " (conv_dw): Conv2d(2304, 2304, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), groups=2304, bias=False)\n", + " (bn2): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", + " (se): SqueezeExcite(\n", + " (conv_reduce): Conv2d(2304, 96, kernel_size=(1, 1), stride=(1, 1))\n", + " (act1): SiLU(inplace=True)\n", + " (conv_expand): Conv2d(96, 2304, kernel_size=(1, 1), stride=(1, 1))\n", + " (gate): Sigmoid()\n", + " )\n", + " (conv_pwl): Conv2d(2304, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(384, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", - " )\n", - " (1): Block(\n", - " (drop_path): Identity()\n", - " (norm1): BatchNorm2d(768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (attn): Attention(\n", - " (qkv): Conv2d(768, 2304, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (attn_drop): Dropout(p=0.0, inplace=False)\n", - " (proj): Conv2d(768, 768, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (proj_drop): Dropout(p=0.0, inplace=False)\n", + " (11): InvertedResidual(\n", + " (conv_pw): Conv2d(384, 2304, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act1): SiLU(inplace=True)\n", + " (conv_dw): Conv2d(2304, 2304, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), groups=2304, bias=False)\n", + " (bn2): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", + " (se): SqueezeExcite(\n", + " (conv_reduce): Conv2d(2304, 96, kernel_size=(1, 1), stride=(1, 1))\n", + " (act1): SiLU(inplace=True)\n", + " (conv_expand): Conv2d(96, 2304, kernel_size=(1, 1), stride=(1, 1))\n", + " (gate): Sigmoid()\n", + " )\n", + " (conv_pwl): Conv2d(2304, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(384, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", - " (norm2): BatchNorm2d(768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (mlp): SpatialMlp(\n", - " (drop): Dropout(p=0.0, inplace=False)\n", - " (conv1): Conv2d(768, 3072, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (act1): GELU()\n", - " (conv3): Conv2d(3072, 768, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (12): InvertedResidual(\n", + " (conv_pw): Conv2d(384, 2304, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act1): SiLU(inplace=True)\n", + " (conv_dw): Conv2d(2304, 2304, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), groups=2304, bias=False)\n", + " (bn2): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", + " (se): SqueezeExcite(\n", + " (conv_reduce): Conv2d(2304, 96, kernel_size=(1, 1), stride=(1, 1))\n", + " (act1): SiLU(inplace=True)\n", + " (conv_expand): Conv2d(96, 2304, kernel_size=(1, 1), stride=(1, 1))\n", + " (gate): Sigmoid()\n", + " )\n", + " (conv_pwl): Conv2d(2304, 384, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(384, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", - " (2): Block(\n", - " (drop_path): Identity()\n", - " (norm1): BatchNorm2d(768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (attn): Attention(\n", - " (qkv): Conv2d(768, 2304, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (attn_drop): Dropout(p=0.0, inplace=False)\n", - " (proj): Conv2d(768, 768, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (proj_drop): Dropout(p=0.0, inplace=False)\n", + " (6): Sequential(\n", + " (0): InvertedResidual(\n", + " (conv_pw): Conv2d(384, 2304, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act1): SiLU(inplace=True)\n", + " (conv_dw): Conv2d(2304, 2304, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=2304, bias=False)\n", + " (bn2): BatchNorm2d(2304, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", + " (se): SqueezeExcite(\n", + " (conv_reduce): Conv2d(2304, 96, kernel_size=(1, 1), stride=(1, 1))\n", + " (act1): SiLU(inplace=True)\n", + " (conv_expand): Conv2d(96, 2304, kernel_size=(1, 1), stride=(1, 1))\n", + " (gate): Sigmoid()\n", + " )\n", + " (conv_pwl): Conv2d(2304, 640, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(640, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", - " (norm2): BatchNorm2d(768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (mlp): SpatialMlp(\n", - " (drop): Dropout(p=0.0, inplace=False)\n", - " (conv1): Conv2d(768, 3072, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (act1): GELU()\n", - " (conv3): Conv2d(3072, 768, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (1): InvertedResidual(\n", + " (conv_pw): Conv2d(640, 3840, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(3840, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act1): SiLU(inplace=True)\n", + " (conv_dw): Conv2d(3840, 3840, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=3840, bias=False)\n", + " (bn2): BatchNorm2d(3840, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", + " (se): SqueezeExcite(\n", + " (conv_reduce): Conv2d(3840, 160, kernel_size=(1, 1), stride=(1, 1))\n", + " (act1): SiLU(inplace=True)\n", + " (conv_expand): Conv2d(160, 3840, kernel_size=(1, 1), stride=(1, 1))\n", + " (gate): Sigmoid()\n", + " )\n", + " (conv_pwl): Conv2d(3840, 640, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(640, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", - " )\n", - " (3): Block(\n", - " (drop_path): Identity()\n", - " (norm1): BatchNorm2d(768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (attn): Attention(\n", - " (qkv): Conv2d(768, 2304, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (attn_drop): Dropout(p=0.0, inplace=False)\n", - " (proj): Conv2d(768, 768, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (proj_drop): Dropout(p=0.0, inplace=False)\n", + " (2): InvertedResidual(\n", + " (conv_pw): Conv2d(640, 3840, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(3840, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act1): SiLU(inplace=True)\n", + " (conv_dw): Conv2d(3840, 3840, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=3840, bias=False)\n", + " (bn2): BatchNorm2d(3840, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", + " (se): SqueezeExcite(\n", + " (conv_reduce): Conv2d(3840, 160, kernel_size=(1, 1), stride=(1, 1))\n", + " (act1): SiLU(inplace=True)\n", + " (conv_expand): Conv2d(160, 3840, kernel_size=(1, 1), stride=(1, 1))\n", + " (gate): Sigmoid()\n", + " )\n", + " (conv_pwl): Conv2d(3840, 640, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(640, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", - " (norm2): BatchNorm2d(768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", - " (mlp): SpatialMlp(\n", - " (drop): Dropout(p=0.0, inplace=False)\n", - " (conv1): Conv2d(768, 3072, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", - " (act1): GELU()\n", - " (conv3): Conv2d(3072, 768, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (3): InvertedResidual(\n", + " (conv_pw): Conv2d(640, 3840, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn1): BatchNorm2d(3840, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act1): SiLU(inplace=True)\n", + " (conv_dw): Conv2d(3840, 3840, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=3840, bias=False)\n", + " (bn2): BatchNorm2d(3840, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", + " (se): SqueezeExcite(\n", + " (conv_reduce): Conv2d(3840, 160, kernel_size=(1, 1), stride=(1, 1))\n", + " (act1): SiLU(inplace=True)\n", + " (conv_expand): Conv2d(160, 3840, kernel_size=(1, 1), stride=(1, 1))\n", + " (gate): Sigmoid()\n", + " )\n", + " (conv_pwl): Conv2d(3840, 640, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn3): BatchNorm2d(640, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", " )\n", " )\n", " )\n", - " (norm): BatchNorm2d(768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n", + " (conv_head): Conv2d(640, 2560, kernel_size=(1, 1), stride=(1, 1), bias=False)\n", + " (bn2): BatchNorm2d(2560, eps=0.001, momentum=0.1, affine=True, track_running_stats=True)\n", + " (act2): SiLU(inplace=True)\n", " (global_pool): SelectAdaptivePool2d (pool_type=avg, flatten=Flatten(start_dim=1, end_dim=-1))\n", - " (head): Linear(in_features=768, out_features=1000, bias=True)\n", + " (classifier): Linear(in_features=2560, out_features=1000, bias=True)\n", ")" ] }, "metadata": {}, - "execution_count": 41 + "execution_count": 6 } ], "source": [ - "m = timm.create_model('visformer_small', pretrained=True)\n", + "m = timm.create_model('tf_efficientnet_b7', pretrained=True)\n", "m" ] }, @@ -1093,7 +1190,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "id": "MnZYn5SlUShB", "metadata": { "id": "MnZYn5SlUShB" diff --git a/baseline/dataset.py b/baseline/dataset.py index 778b2ed..d85f387 100644 --- a/baseline/dataset.py +++ b/baseline/dataset.py @@ -266,6 +266,7 @@ def split_dataset(self) -> Tuple[Subset, Subset]: class MaskBaseDataset_2(Dataset): num_classes = 3 * 2 * 3 + _file_names = { "mask1": MaskLabels.MASK, @@ -293,6 +294,14 @@ def __init__(self, data_dir, label='total', mean=(0.548, 0.504, 0.479), std=(0.2 self.transform = None self.setup() self.calc_statistics() + if self.label == 'total': + self.num_classes == 18 + elif self.label == 'mask': + self.num_classes == 3 + elif self.label == 'gender': + self.num_classes == 2 + elif self.label == 'age': + self.num_classes == 3 def setup(self): profiles = os.listdir(self.data_dir) @@ -473,9 +482,9 @@ class MaskSplitStratifyDataset(MaskBaseDataset_2): indexs = [] # 추가 groups = [] # 추가 - def __init__(self, data_dir, label='total', mean=(0.548, 0.504, 0.479), std=(0.237, 0.247, 0.246), val_ratio=0.2): + def __init__(self, data_dir, label='total', mean=(0.548, 0.504, 0.479), std=(0.237, 0.247, 0.246), val_ratio=0.2): self.indices = defaultdict(list) - super().__init__(data_dir, label, mean, std, val_ratio) + super().__init__(data_dir, label, mean, std, val_ratio) def setup(self): cnt = 0 # 추가 diff --git a/baseline/inference_effnet.sh b/baseline/inference_effnet.sh index acb40a4..02a03ef 100755 --- a/baseline/inference_effnet.sh +++ b/baseline/inference_effnet.sh @@ -1,23 +1,23 @@ -python inference.py \ - --batch_size 32 \ - --resize 384 256 \ - --model EfficientNet \ - --model_version tf_efficientnet_b7 \ - --name T2065/EfficientNet_b7_focal_smoothing_0902_mask \ - --output_name EfficientNet_b7_focal_smoothing_0902_mask +# python inference.py \ +# --batch_size 32 \ +# --resize 384 256 \ +# --model EfficientNet \ +# --model_version tf_efficientnet_b7 \ +# --name T2065/EfficientNet_b7_focal_smoothing_0902_mask \ +# --output_name EfficientNet_b7_focal_smoothing_0902_mask -python inference.py \ - --batch_size 32 \ - --resize 384 256 \ - --model EfficientNet \ - --model_version tf_efficientnet_b7 \ - --name T2065/EfficientNet_b7_focal_smoothing_0902_gender \ - --output_name EfficientNet_b7_focal_smoothing_0902_gender +# python inference.py \ +# --batch_size 32 \ +# --resize 384 256 \ +# --model EfficientNet \ +# --model_version tf_efficientnet_b7 \ +# --name T2065/EfficientNet_b7_focal_smoothing_0902_gender \ +# --output_name EfficientNet_b7_focal_smoothing_0902_gender python inference.py \ --batch_size 32 \ --resize 384 256 \ --model EfficientNet \ --model_version tf_efficientnet_b7 \ - --name T2065/EfficientNet_b7_focal_smoothing_0902_age \ + --name T2065/EfficientNet_b7_focal_0902_age \ --output_name EfficientNet_b7_focal_smoothing_0902_age \ No newline at end of file diff --git a/baseline/model/T2065/EfficientNet_b7_focal_0902_age/config.json b/baseline/model/T2065/EfficientNet_b7_focal_0902_age/config.json new file mode 100644 index 0000000..87e500c --- /dev/null +++ b/baseline/model/T2065/EfficientNet_b7_focal_0902_age/config.json @@ -0,0 +1,26 @@ +{ + "seed": 42, + "epochs": 5, + "dataset": "MaskSplitStratifyDataset", + "label": "age", + "augmentation": "get_transforms", + "resize": [ + 384, + 256 + ], + "batch_size": 16, + "valid_batch_size": 32, + "model": "EfficientNet", + "optimizer": "Adam", + "lr": 3e-05, + "val_ratio": 0.2, + "criterion": "focal_smoothing", + "lr_decay_step": 50, + "lr_gamma": 0.5, + "log_interval": 100, + "name": "T2065/EfficientNet_b7_focal_0902_age", + "model_version": "tf_efficientnet_b7", + "beta": 1.0, + "data_dir": "/opt/ml/input/data/train/images", + "model_dir": "./model" +} \ No newline at end of file diff --git a/baseline/train_effnet.sh b/baseline/train_effnet.sh index 6353476..f3cf959 100755 --- a/baseline/train_effnet.sh +++ b/baseline/train_effnet.sh @@ -1,42 +1,42 @@ -python train.py \ - --epochs 7 \ - --dataset MaskSplitStratifyDataset \ - --label mask\ - --augmentation get_transforms \ - --resize 384 256 \ - --lr 0.00003 \ - --lr_decay_step 50 \ - --lr_gamma 0.5 \ - --batch_size 16 \ - --valid_batch_size 32 \ - --model EfficientNet \ - --model_version tf_efficientnet_b7\ - --optimizer Adam \ - --criterion focal_smoothing\ - --log_interval 100\ - --name T2065/EfficientNet_b7_focal_smoothing_0902_mask +# python train.py \ +# --epochs 7 \ +# --dataset MaskSplitStratifyDataset \ +# --label mask\ +# --augmentation get_transforms \ +# --resize 384 256 \ +# --lr 0.00003 \ +# --lr_decay_step 50 \ +# --lr_gamma 0.5 \ +# --batch_size 16 \ +# --valid_batch_size 32 \ +# --model EfficientNet \ +# --model_version tf_efficientnet_b7\ +# --optimizer Adam \ +# --criterion focal\ +# --log_interval 100\ +# --name T2065/EfficientNet_b7_focal_0902_mask -python train.py \ - --epochs 7 \ - --dataset MaskSplitStratifyDataset \ - --label gender\ - --augmentation get_transforms \ - --resize 384 256 \ - --lr 0.00003 \ - --lr_decay_step 50 \ - --lr_gamma 0.5 \ - --batch_size 16 \ - --valid_batch_size 32 \ - --model EfficientNet \ - --model_version tf_efficientnet_b7\ - --optimizer Adam \ - --criterion focal_smoothing\ - --log_interval 100\ - --name T2065/EfficientNet_b7_focal_smoothing_0902_gender +# python train.py \ +# --epochs 7 \ +# --dataset MaskSplitStratifyDataset \ +# --label gender\ +# --augmentation get_transforms \ +# --resize 384 256 \ +# --lr 0.00003 \ +# --lr_decay_step 50 \ +# --lr_gamma 0.5 \ +# --batch_size 16 \ +# --valid_batch_size 32 \ +# --model EfficientNet \ +# --model_version tf_efficientnet_b7\ +# --optimizer Adam \ +# --criterion focal\ +# --log_interval 100\ +# --name T2065/EfficientNet_b7_focal_0902_gender python train.py \ - --epochs 7 \ + --epochs 5 \ --dataset MaskSplitStratifyDataset \ --label age\ --augmentation get_transforms \ @@ -51,4 +51,4 @@ python train.py \ --optimizer Adam \ --criterion focal_smoothing\ --log_interval 100\ - --name T2065/EfficientNet_b7_focal_smoothing_0902_age + --name T2065/EfficientNet_b7_focal_0902_age