改进系列(9):基于VisionTransformer+InceptionDW+Focal_loss改进实现的遥感地面目标识别

目录

1.VisionTransformer

2.InceptionDW模块

3.改进

4.遥感地面目标识别

5.训练过程

6.推理

7.下载


代码已经封装好,对小白友好。

想要更换数据集,参考readme文件摆放好数据集即可,可以一键训练!!

1.VisionTransformer

Vision Transformer(ViT)是一种基于自注意力机制的图像分类模型,它将Transformer架构成功应用于计算机视觉领域,突破了传统卷积神经网络(CNN)的局限。

其核心思想是将输入图像分割为固定大小的图像块(如16×16像素),将这些块展平为序列后嵌入为向量,并添加位置编码以保留空间信息。通过多层的Transformer编码器处理,每个编码器包含多头自注意力机制和前馈神经网络,使模型能够捕捉图像块间的全局依赖关系,从而更高效地学习图像特征。

ViT的优势在于其强大的全局建模能力。传统CNN通过局部卷积核逐步提取特征,而ViT的自注意力机制能直接建立远距离像素间的关联,尤其适合处理图像中的复杂结构和长距离依赖。此外,ViT在数据充足时表现优异,例如在大型数据集(如ImageNet-21k或JFT-300M)上预训练后,迁移到小规模任务(如CIFAR或ImageNet-1k)时,其性能常超越ResNet等CNN模型。然而,ViT对数据量的依赖性较强,小规模数据下可能因过拟合而表现不佳,此时需结合数据增强或知识蒸馏等技术优化。

后续改进模型如DeiT(Data-efficient Image Transformer)通过引入蒸馏策略提升小数据场景下的性能,Swin Transformer则引入层次化窗口注意力机制以降低计算复杂度。ViT及其变体推动了视觉任务的变革,成为图像分类、目标检测等领域的核心架构之一,展现了Transformer在跨模态任务中的强大潜力。

2.InceptionDW模块

InceptionDW模块是一种结合了Inception架构思想和深度可分离卷积(Depthwise Separable Convolution)的高效神经网络模块,旨在提升计算效率并增强特征表达能力。

该模块的核心设计借鉴了Inception系列模型的多分支结构,通过并行使用不同尺度的深度可分离卷积(DWConv)和逐点卷积(Pointwise Conv),在减少参数量的同时捕获多尺度特征。

具体而言,InceptionDW模块通常包含多个分支,例如1×1卷积、3×3深度可分离卷积、5×5深度可分离卷积,以及全局平均池化等操作,这些分支的输出在通道维度拼接后融合,形成丰富的多尺度特征表示。

深度可分离卷积的引入大幅降低了计算成本,其将标准卷积分解为逐通道的空间卷积(DWConv)和跨通道的1×1卷积(PWConv),显著减少了参数量和FLOPs。

例如,一个3×3标准卷积的计算复杂度是输入通道数×输出通道数×3×3,而深度可分离卷积将其分解为输入通道数×3×3(DWConv)和输入通道数×输出通道数×1×1(PWConv),计算量大幅降低。InceptionDW模块通过结合多分支设计和深度可分离卷积,在保持轻量化的同时增强了模型的非线性建模能力,适用于移动端或边缘计算设备。

该模块的变体通常针对特定任务优化,例如调整分支数量、卷积核尺寸或引入注意力机制。实验表明,InceptionDW模块在图像分类(如ImageNet)、目标检测等任务中能平衡精度与效率,尤其适合资源受限的场景。其设计思想也被后续轻量级网络(如MobileNet、EfficientNet)借鉴,成为高效神经网络架构中的重要组成部分。

3.改进

网络结构图如下,这里在最后的head层引入模块:

复制代码
ViT_With_InceptionDW(
  (vit): VisionTransformer(
    (conv_proj): Conv2d(3, 768, kernel_size=(16, 16), stride=(16, 16))
    (encoder): Encoder(
      (dropout): Dropout(p=0.0, inplace=False)
      (layers): Sequential(
        (encoder_layer_0): EncoderBlock(
          (ln_1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (self_attention): MultiheadAttention(
            (out_proj): NonDynamicallyQuantizableLinear(in_features=768, out_features=768, bias=True)
          )
          (dropout): Dropout(p=0.0, inplace=False)
          (ln_2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (mlp): MLPBlock(
            (0): Linear(in_features=768, out_features=3072, bias=True)
            (1): GELU(approximate='none')
            (2): Dropout(p=0.0, inplace=False)
            (3): Linear(in_features=3072, out_features=768, bias=True)
            (4): Dropout(p=0.0, inplace=False)
          )
        )
        (encoder_layer_1): EncoderBlock(
          (ln_1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (self_attention): MultiheadAttention(
            (out_proj): NonDynamicallyQuantizableLinear(in_features=768, out_features=768, bias=True)
          )
          (dropout): Dropout(p=0.0, inplace=False)
          (ln_2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (mlp): MLPBlock(
            (0): Linear(in_features=768, out_features=3072, bias=True)
            (1): GELU(approximate='none')
            (2): Dropout(p=0.0, inplace=False)
            (3): Linear(in_features=3072, out_features=768, bias=True)
            (4): Dropout(p=0.0, inplace=False)
          )
        )
        (encoder_layer_2): EncoderBlock(
          (ln_1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (self_attention): MultiheadAttention(
            (out_proj): NonDynamicallyQuantizableLinear(in_features=768, out_features=768, bias=True)
          )
          (dropout): Dropout(p=0.0, inplace=False)
          (ln_2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (mlp): MLPBlock(
            (0): Linear(in_features=768, out_features=3072, bias=True)
            (1): GELU(approximate='none')
            (2): Dropout(p=0.0, inplace=False)
            (3): Linear(in_features=3072, out_features=768, bias=True)
            (4): Dropout(p=0.0, inplace=False)
          )
        )
        (encoder_layer_3): EncoderBlock(
          (ln_1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (self_attention): MultiheadAttention(
            (out_proj): NonDynamicallyQuantizableLinear(in_features=768, out_features=768, bias=True)
          )
          (dropout): Dropout(p=0.0, inplace=False)
          (ln_2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (mlp): MLPBlock(
            (0): Linear(in_features=768, out_features=3072, bias=True)
            (1): GELU(approximate='none')
            (2): Dropout(p=0.0, inplace=False)
            (3): Linear(in_features=3072, out_features=768, bias=True)
            (4): Dropout(p=0.0, inplace=False)
          )
        )
        (encoder_layer_4): EncoderBlock(
          (ln_1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (self_attention): MultiheadAttention(
            (out_proj): NonDynamicallyQuantizableLinear(in_features=768, out_features=768, bias=True)
          )
          (dropout): Dropout(p=0.0, inplace=False)
          (ln_2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (mlp): MLPBlock(
            (0): Linear(in_features=768, out_features=3072, bias=True)
            (1): GELU(approximate='none')
            (2): Dropout(p=0.0, inplace=False)
            (3): Linear(in_features=3072, out_features=768, bias=True)
            (4): Dropout(p=0.0, inplace=False)
          )
        )
        (encoder_layer_5): EncoderBlock(
          (ln_1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (self_attention): MultiheadAttention(
            (out_proj): NonDynamicallyQuantizableLinear(in_features=768, out_features=768, bias=True)
          )
          (dropout): Dropout(p=0.0, inplace=False)
          (ln_2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (mlp): MLPBlock(
            (0): Linear(in_features=768, out_features=3072, bias=True)
            (1): GELU(approximate='none')
            (2): Dropout(p=0.0, inplace=False)
            (3): Linear(in_features=3072, out_features=768, bias=True)
            (4): Dropout(p=0.0, inplace=False)
          )
        )
        (encoder_layer_6): EncoderBlock(
          (ln_1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (self_attention): MultiheadAttention(
            (out_proj): NonDynamicallyQuantizableLinear(in_features=768, out_features=768, bias=True)
          )
          (dropout): Dropout(p=0.0, inplace=False)
          (ln_2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (mlp): MLPBlock(
            (0): Linear(in_features=768, out_features=3072, bias=True)
            (1): GELU(approximate='none')
            (2): Dropout(p=0.0, inplace=False)
            (3): Linear(in_features=3072, out_features=768, bias=True)
            (4): Dropout(p=0.0, inplace=False)
          )
        )
        (encoder_layer_7): EncoderBlock(
          (ln_1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (self_attention): MultiheadAttention(
            (out_proj): NonDynamicallyQuantizableLinear(in_features=768, out_features=768, bias=True)
          )
          (dropout): Dropout(p=0.0, inplace=False)
          (ln_2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (mlp): MLPBlock(
            (0): Linear(in_features=768, out_features=3072, bias=True)
            (1): GELU(approximate='none')
            (2): Dropout(p=0.0, inplace=False)
            (3): Linear(in_features=3072, out_features=768, bias=True)
            (4): Dropout(p=0.0, inplace=False)
          )
        )
        (encoder_layer_8): EncoderBlock(
          (ln_1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (self_attention): MultiheadAttention(
            (out_proj): NonDynamicallyQuantizableLinear(in_features=768, out_features=768, bias=True)
          )
          (dropout): Dropout(p=0.0, inplace=False)
          (ln_2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (mlp): MLPBlock(
            (0): Linear(in_features=768, out_features=3072, bias=True)
            (1): GELU(approximate='none')
            (2): Dropout(p=0.0, inplace=False)
            (3): Linear(in_features=3072, out_features=768, bias=True)
            (4): Dropout(p=0.0, inplace=False)
          )
        )
        (encoder_layer_9): EncoderBlock(
          (ln_1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (self_attention): MultiheadAttention(
            (out_proj): NonDynamicallyQuantizableLinear(in_features=768, out_features=768, bias=True)
          )
          (dropout): Dropout(p=0.0, inplace=False)
          (ln_2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (mlp): MLPBlock(
            (0): Linear(in_features=768, out_features=3072, bias=True)
            (1): GELU(approximate='none')
            (2): Dropout(p=0.0, inplace=False)
            (3): Linear(in_features=3072, out_features=768, bias=True)
            (4): Dropout(p=0.0, inplace=False)
          )
        )
        (encoder_layer_10): EncoderBlock(
          (ln_1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (self_attention): MultiheadAttention(
            (out_proj): NonDynamicallyQuantizableLinear(in_features=768, out_features=768, bias=True)
          )
          (dropout): Dropout(p=0.0, inplace=False)
          (ln_2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (mlp): MLPBlock(
            (0): Linear(in_features=768, out_features=3072, bias=True)
            (1): GELU(approximate='none')
            (2): Dropout(p=0.0, inplace=False)
            (3): Linear(in_features=3072, out_features=768, bias=True)
            (4): Dropout(p=0.0, inplace=False)
          )
        )
        (encoder_layer_11): EncoderBlock(
          (ln_1): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (self_attention): MultiheadAttention(
            (out_proj): NonDynamicallyQuantizableLinear(in_features=768, out_features=768, bias=True)
          )
          (dropout): Dropout(p=0.0, inplace=False)
          (ln_2): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
          (mlp): MLPBlock(
            (0): Linear(in_features=768, out_features=3072, bias=True)
            (1): GELU(approximate='none')
            (2): Dropout(p=0.0, inplace=False)
            (3): Linear(in_features=3072, out_features=768, bias=True)
            (4): Dropout(p=0.0, inplace=False)
          )
        )
      )
      (ln): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
    )
    (heads): Sequential(
      (head): Linear(in_features=768, out_features=30, bias=True)
    )
  )
  (inception_dw): InceptionDWConv2d(
    (conv1x1): Sequential(
      (0): Conv2d(768, 192, kernel_size=(1, 1), stride=(1, 1), bias=False)
      (1): BatchNorm2d(192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
      (2): ReLU6(inplace=True)
    )
    (conv3x3): Sequential(
      (0): Conv2d(768, 768, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1), groups=768, bias=False)
      (1): BatchNorm2d(768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
      (2): ReLU6(inplace=True)
      (3): Conv2d(768, 192, kernel_size=(1, 1), stride=(1, 1), bias=False)
      (4): BatchNorm2d(192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
      (5): ReLU6(inplace=True)
    )
    (conv5x5): Sequential(
      (0): Conv2d(768, 768, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2), groups=768, bias=False)
      (1): BatchNorm2d(768, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
      (2): ReLU6(inplace=True)
      (3): Conv2d(768, 192, kernel_size=(1, 1), stride=(1, 1), bias=False)
      (4): BatchNorm2d(192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
      (5): ReLU6(inplace=True)
    )
    (maxpool): Sequential(
      (0): MaxPool2d(kernel_size=3, stride=1, padding=1, dilation=1, ceil_mode=False)
      (1): Conv2d(768, 192, kernel_size=(1, 1), stride=(1, 1), bias=False)
      (2): BatchNorm2d(192, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
      (3): ReLU6(inplace=True)
    )
  )
)

4.遥感地面目标识别

数据集如下:

训练集和验证集的样本数量:【代码自动生成】

json标签:【代码自动生成】

复制代码
{
    "0": "Airport",
    "1": "BareLand",
    "2": "BaseballField",
    "3": "Beach",
    "4": "Bridge",
    "5": "Center",
    "6": "Church",
    "7": "Commercial",
    "8": "DenseResidential",
    "9": "Desert",
    "10": "Farmland",
    "11": "Forest",
    "12": "Industrial",
    "13": "Meadow",
    "14": "MediumResidential",
    "15": "Mountain",
    "16": "Park",
    "17": "Parking",
    "18": "Playground",
    "19": "Pond",
    "20": "Port",
    "21": "RailwayStation",
    "22": "Resort",
    "23": "River",
    "24": "School",
    "25": "SparseResidential",
    "26": "Square",
    "27": "Stadium",
    "28": "StorageTanks",
    "29": "Viaduct"
}

5.训练过程

参数如下:其实都很好理解的,就是常见的调参,这里不多介绍了

python 复制代码
    parser.add_argument("--model", default='vit', type=str,help='vit')
    parser.add_argument("--pretrained", default=True, type=bool)       # 采用官方权重

    parser.add_argument("--batch-size", default=16, type=int)
    parser.add_argument("--epochs", default=30, type=int)

    parser.add_argument("--optim", default='Adam', type=str,help='SGD,Adam,AdamW')         # 优化器选择

    parser.add_argument('--lr', default=0.0001, type=float)
    parser.add_argument('--lrf',default=0.0001,type=float)                  # 最终学习率 = lr * lrf

    parser.add_argument('--save_ret', default='runs', type=str)             # 保存结果
    parser.add_argument('--data_train',default='./data/train',type=str)           # 训练集路径
    parser.add_argument('--data_val',default='./data/val',type=str)

    # 测试集
    parser.add_argument("--data-test", default=False, type=bool, help='if exists test sets')

数据集的文件摆放,有测试集的话,设置为true,代码会自动测试【参考readme文件】

--data--train--- 训练集的图像

--data--val--- 验证集的图像

--data--test--- 测试集的图像(如果有的话)

这里的loss采用focal loss:

python 复制代码
class FocalLoss(nn.Module):
    def __init__(self, alpha=0.25, gamma=2.0, reduction='mean'):

        # 增大 gamma 会更强调难分类样本
        # 调整 alpha 可以平衡不同类别的权重
        super(FocalLoss, self).__init__()
        self.alpha = alpha
        self.gamma = gamma
        self.reduction = reduction

    def forward(self, inputs, targets):
        ce_loss = F.cross_entropy(inputs, targets, reduction='none')
        pt = torch.exp(-ce_loss)
        focal_loss = self.alpha * (1-pt)**self.gamma * ce_loss
        
        if self.reduction == 'mean':
            return focal_loss.mean()
        elif self.reduction == 'sum':
            return focal_loss.sum()
        else:
            return focal_loss

训练日志:

python 复制代码
Namespace(model='vit', pretrained=True, batch_size=16, epochs=10, optim='Adam', lr=0.0001, lrf=0.0001, save_ret='runs', data_train='./data/train', data_val='./data/val', data_test=False)
Using device is:  cuda
Using dataloader workers is : 8
trainSet number is : 7000 valSet number is : 3000
model output is : 30
Total parameters is:57.94 M
Train parameters is:86442270 
Flops:11407.43 M 
use optim is :  Adam

开始训练...
train: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 438/438 [01:20<00:00,  5.41it/s, accuracy=0.911, loss=0.000974]
valid: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 188/188 [00:17<00:00, 10.85it/s, accuracy=0.885, loss=7.54e-5]
[epoch:0/10]
train loss:0.0071        train accuracy:0.9113
val loss:0.0034          val accuracy:0.8847

train: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 438/438 [01:21<00:00,  5.38it/s, accuracy=0.974, loss=0.000403]
valid: 100%|████████████████████████| 188/188 [00:17<00:00, 10.86it/s, accuracy=0.91, loss=1.95e-6]
[epoch:1/10]
train loss:0.0024        train accuracy:0.9744
val loss:0.0024          val accuracy:0.9100

train: 100%|███████████████████████| 438/438 [01:21<00:00,  5.38it/s, accuracy=0.988, loss=2.12e-5]
valid: 100%|██████████████████████| 188/188 [00:17<00:00, 10.88it/s, accuracy=0.908, loss=2.14e-10]
[epoch:2/10]
train loss:0.0016        train accuracy:0.9883
val loss:0.0026          val accuracy:0.9080

train: 100%|███████████████████████| 438/438 [01:21<00:00,  5.37it/s, accuracy=0.993, loss=0.00394]
valid: 100%|███████████████████████| 188/188 [00:17<00:00, 10.88it/s, accuracy=0.901, loss=4.86e-5]
[epoch:3/10]
train loss:0.0010        train accuracy:0.9931
val loss:0.0028          val accuracy:0.9013

train: 100%|███████████████████████| 438/438 [01:21<00:00,  5.37it/s, accuracy=0.997, loss=7.37e-6]
valid: 100%|███████████████████████| 188/188 [00:17<00:00, 10.83it/s, accuracy=0.937, loss=2.45e-6]
[epoch:4/10]
train loss:0.0005        train accuracy:0.9971
val loss:0.0018          val accuracy:0.9370

train: 100%|██████████████████████| 438/438 [01:21<00:00,  5.35it/s, accuracy=0.998, loss=0.000451]
valid: 100%|███████████████████████| 188/188 [00:17<00:00, 10.90it/s, accuracy=0.942, loss=2.38e-9]
[epoch:5/10]
train loss:0.0004        train accuracy:0.9977
val loss:0.0016          val accuracy:0.9417

train: 100%|█████████████████████████| 438/438 [01:21<00:00,  5.38it/s, accuracy=0.999, loss=0.006]
valid: 100%|███████████████████████| 188/188 [00:17<00:00, 10.84it/s, accuracy=0.956, loss=8.48e-9]
[epoch:6/10]
train loss:0.0002        train accuracy:0.9990
val loss:0.0011          val accuracy:0.9557

train: 100%|███████████████████████████| 438/438 [01:21<00:00,  5.38it/s, accuracy=1, loss=5.46e-8]
valid: 100%|███████████████████████| 188/188 [00:17<00:00, 10.87it/s, accuracy=0.965, loss=5.01e-8]
[epoch:7/10]
train loss:0.0000        train accuracy:0.9996
val loss:0.0009          val accuracy:0.9647

train: 100%|███████████████████████| 438/438 [01:21<00:00,  5.36it/s, accuracy=0.999, loss=1.57e-6]
valid: 100%|███████████████████████| 188/188 [00:17<00:00, 10.79it/s, accuracy=0.962, loss=2.27e-8]
[epoch:8/10]
train loss:0.0000        train accuracy:0.9994
val loss:0.0009          val accuracy:0.9620

train: 100%|███████████████████████| 438/438 [01:21<00:00,  5.37it/s, accuracy=0.999, loss=3.34e-6]
valid: 100%|███████████████████████| 188/188 [00:17<00:00, 10.75it/s, accuracy=0.963, loss=1.71e-8]
[epoch:9/10]
train loss:0.0000        train accuracy:0.9994
val loss:0.0009          val accuracy:0.9633

训练结束!!!
best epoch: 9
100%|████████████████████████████████████████████████████████████| 438/438 [00:19<00:00, 21.93it/s]
100%|████████████████████████████████████████████████████████████| 188/188 [00:08<00:00, 21.35it/s]
roc curve: 100%|█████████████████████████████████████████████████| 188/188 [00:08<00:00, 21.41it/s]
train finish!
验证集上表现最好的epoch为: 9

训练生成的文件:

python 复制代码
{
    "train parameters": {
        "model version": "vit",
        "pretrained": true,
        "batch_size": 16,
        "epochs": 10,
        "optim": "Adam",
        "lr": 0.0001,
        "lrf": 0.0001,
        "save_folder": "runs"
    },
    "dataset": {
        "trainset number": 7000,
        "valset number": 3000,
        "number classes": 30
    },
    "model": {
        "total parameters": 57940254.0,
        "train parameters": 86442270,
        "flops": 11407434240.0
    },
    "epoch:0": {
        "train info": {
            "accuracy": 0.9112857142844125,
            "Airport": {
                "Precision": 0.9306,
                "Recall": 0.9048,
                "Specificity": 0.9975,
                "F1 score": 0.9175
            },
            "BareLand": {
                "Precision": 0.8609,
                "Recall": 0.9124,
                "Specificity": 0.9953,
                "F1 score": 0.8859
            },
            "BaseballField": {
                "Precision": 0.9932,
                "Recall": 0.9545,
                "Specificity": 0.9999,
                "F1 score": 0.9735
            },
            "Beach": {
                "Precision": 0.8801,
                "Recall": 0.9964,
                "Specificity": 0.9943,
                "F1 score": 0.9346
            },
            "Bridge": {
                "Precision": 0.9633,
                "Recall": 0.9365,
                "Specificity": 0.9987,
                "F1 score": 0.9497
            },
            "Center": {
                "Precision": 0.9281,
                "Recall": 0.8516,
                "Specificity": 0.9982,
                "F1 score": 0.8882
            },
            "Church": {
                "Precision": 0.8797,
                "Recall": 0.8274,
                "Specificity": 0.9972,
                "F1 score": 0.8527
            },
            "Commercial": {
                "Precision": 0.775,
                "Recall": 0.8857,
                "Specificity": 0.9907,
                "F1 score": 0.8267
            },
            "DenseResidential": {
                "Precision": 0.9164,
                "Recall": 0.9164,
                "Specificity": 0.9964,
                "F1 score": 0.9164
            },
            "Desert": {
                "Precision": 0.9314,
                "Recall": 0.9048,
                "Specificity": 0.9979,
                "F1 score": 0.9179
            },
            "Farmland": {
                "Precision": 0.972,
                "Recall": 0.9382,
                "Specificity": 0.999,
                "F1 score": 0.9548
            },
            "Forest": {
                "Precision": 0.8208,
                "Recall": 0.9943,
                "Specificity": 0.9944,
                "F1 score": 0.8993
            },
            "Industrial": {
                "Precision": 0.8803,
                "Recall": 0.8352,
                "Specificity": 0.9954,
                "F1 score": 0.8572
            },
            "Meadow": {
                "Precision": 0.9895,
                "Recall": 0.9592,
                "Specificity": 0.9997,
                "F1 score": 0.9741
            },
            "MediumResidential": {
                "Precision": 0.9378,
                "Recall": 0.8916,
                "Specificity": 0.9982,
                "F1 score": 0.9141
            },
            "Mountain": {
                "Precision": 0.9177,
                "Recall": 0.937,
                "Specificity": 0.997,
                "F1 score": 0.9272
            },
            "Park": {
                "Precision": 0.865,
                "Recall": 0.8367,
                "Specificity": 0.9953,
                "F1 score": 0.8506
            },
            "Parking": {
                "Precision": 0.9703,
                "Recall": 0.956,
                "Specificity": 0.9988,
                "F1 score": 0.9631
            },
            "Playground": {
                "Precision": 0.949,
                "Recall": 0.9344,
                "Specificity": 0.9981,
                "F1 score": 0.9416
            },
            "Pond": {
                "Precision": 0.9394,
                "Recall": 0.949,
                "Specificity": 0.9973,
                "F1 score": 0.9442
            },
            "Port": {
                "Precision": 0.8261,
                "Recall": 0.9286,
                "Specificity": 0.9923,
                "F1 score": 0.8744
            },
            "RailwayStation": {
                "Precision": 0.9,
                "Recall": 0.8901,
                "Specificity": 0.9974,
                "F1 score": 0.895
            },
            "Resort": {
                "Precision": 0.8,
                "Recall": 0.7882,
                "Specificity": 0.9941,
                "F1 score": 0.7941
            },
            "River": {
                "Precision": 0.9648,
                "Recall": 0.9547,
                "Specificity": 0.9985,
                "F1 score": 0.9597
            },
            "School": {
                "Precision": 0.809,
                "Recall": 0.7667,
                "Specificity": 0.9944,
                "F1 score": 0.7873
            },
            "SparseResidential": {
                "Precision": 0.9901,
                "Recall": 0.9571,
                "Specificity": 0.9997,
                "F1 score": 0.9733
            },
            "Square": {
                "Precision": 0.8843,
                "Recall": 0.8268,
                "Specificity": 0.9963,
                "F1 score": 0.8546
            },
            "Stadium": {
                "Precision": 0.9635,
                "Recall": 0.9113,
                "Specificity": 0.999,
                "F1 score": 0.9367
            },
            "StorageTanks": {
                "Precision": 0.9409,
                "Recall": 0.9484,
                "Specificity": 0.9978,
                "F1 score": 0.9446
            },
            "Viaduct": {
                "Precision": 0.9861,
                "Recall": 0.9626,
                "Specificity": 0.9994,
                "F1 score": 0.9742
            },
            "mean precision": 0.9121766666666666,
            "mean recall": 0.9085533333333333,
            "mean specificity": 0.9969400000000002,
            "mean f1 score": 0.9094400000000001
        },
        "valid info": {
            "accuracy": 0.8846666666637178,
            "Airport": {
                "Precision": 1.0,
                "Recall": 0.787,
                "Specificity": 1.0,
                "F1 score": 0.8808
            },
            "BareLand": {
                "Precision": 0.8108,
                "Recall": 0.9677,
                "Specificity": 0.9928,
                "F1 score": 0.8823
            },
            "BaseballField": {
                "Precision": 0.8684,
                "Recall": 1.0,
                "Specificity": 0.9966,
                "F1 score": 0.9296
            },
            "Beach": {
                "Precision": 1.0,
                "Recall": 0.9917,
                "Specificity": 1.0,
                "F1 score": 0.9958
            },
            "Bridge": {
                "Precision": 0.9626,
                "Recall": 0.9537,
                "Specificity": 0.9986,
                "F1 score": 0.9581
            },
            "Center": {
                "Precision": 0.6198,
                "Recall": 0.9615,
                "Specificity": 0.9843,
                "F1 score": 0.7537
            },
            "Church": {
                "Precision": 0.6875,
                "Recall": 0.9167,
                "Specificity": 0.9898,
                "F1 score": 0.7857
            },
            "Commercial": {
                "Precision": 0.9351,
                "Recall": 0.6857,
                "Specificity": 0.9983,
                "F1 score": 0.7912
            },
            "DenseResidential": {
                "Precision": 0.7256,
                "Recall": 0.9675,
                "Specificity": 0.9844,
                "F1 score": 0.8293
            },
            "Desert": {
                "Precision": 0.9855,
                "Recall": 0.7556,
                "Specificity": 0.9997,
                "F1 score": 0.8554
            },
            "Farmland": {
                "Precision": 0.9145,
                "Recall": 0.964,
                "Specificity": 0.9965,
                "F1 score": 0.9386
            },
            "Forest": {
                "Precision": 0.8824,
                "Recall": 1.0,
                "Specificity": 0.9966,
                "F1 score": 0.9375
            },
            "Industrial": {
                "Precision": 0.9651,
                "Recall": 0.7094,
                "Specificity": 0.999,
                "F1 score": 0.8177
            },
            "Meadow": {
                "Precision": 0.9625,
                "Recall": 0.9167,
                "Specificity": 0.999,
                "F1 score": 0.939
            },
            "MediumResidential": {
                "Precision": 0.6535,
                "Recall": 0.954,
                "Specificity": 0.9849,
                "F1 score": 0.7757
            },
            "Mountain": {
                "Precision": 0.9697,
                "Recall": 0.9412,
                "Specificity": 0.999,
                "F1 score": 0.9552
            },
            "Park": {
                "Precision": 0.9412,
                "Recall": 0.7619,
                "Specificity": 0.9983,
                "F1 score": 0.8421
            },
            "Parking": {
                "Precision": 1.0,
                "Recall": 0.9744,
                "Specificity": 1.0,
                "F1 score": 0.987
            },
            "Playground": {
                "Precision": 0.9541,
                "Recall": 0.9369,
                "Specificity": 0.9983,
                "F1 score": 0.9454
            },
            "Pond": {
                "Precision": 0.9754,
                "Recall": 0.9444,
                "Specificity": 0.999,
                "F1 score": 0.9596
            },
            "Port": {
                "Precision": 0.9573,
                "Recall": 0.9825,
                "Specificity": 0.9983,
                "F1 score": 0.9697
            },
            "RailwayStation": {
                "Precision": 0.8193,
                "Recall": 0.8718,
                "Specificity": 0.9949,
                "F1 score": 0.8447
            },
            "Resort": {
                "Precision": 0.9048,
                "Recall": 0.6552,
                "Specificity": 0.9979,
                "F1 score": 0.76
            },
            "River": {
                "Precision": 1.0,
                "Recall": 0.7805,
                "Specificity": 1.0,
                "F1 score": 0.8767
            },
            "School": {
                "Precision": 0.6923,
                "Recall": 0.7,
                "Specificity": 0.9904,
                "F1 score": 0.6961
            },
            "SparseResidential": {
                "Precision": 0.9868,
                "Recall": 0.8333,
                "Specificity": 0.9997,
                "F1 score": 0.9036
            },
            "Square": {
                "Precision": 0.7568,
                "Recall": 0.8485,
                "Specificity": 0.9907,
                "F1 score": 0.8
            },
            "Stadium": {
                "Precision": 1.0,
                "Recall": 0.8161,
                "Specificity": 1.0,
                "F1 score": 0.8987
            },
            "StorageTanks": {
                "Precision": 0.8729,
                "Recall": 0.9537,
                "Specificity": 0.9948,
                "F1 score": 0.9115
            },
            "Viaduct": {
                "Precision": 0.992,
                "Recall": 0.9841,
                "Specificity": 0.9997,
                "F1 score": 0.988
            },
            "mean precision": 0.8931966666666666,
            "mean recall": 0.8838566666666671,
            "mean specificity": 0.9960500000000003,
            "mean f1 score": 0.8802900000000002
        }
    },
    "epoch:1": {
        "train info": {
            "accuracy": 0.9744285714271794,
            "Airport": {
                "Precision": 0.9803,
                "Recall": 0.9881,
                "Specificity": 0.9993,
                "F1 score": 0.9842
            },
            "BareLand": {
                "Precision": 0.9404,
                "Recall": 0.9447,
                "Specificity": 0.9981,
                "F1 score": 0.9425
            },
            "BaseballField": {
                "Precision": 1.0,
                "Recall": 0.9935,
                "Specificity": 1.0,
                "F1 score": 0.9967
            },
            "Beach": {
                "Precision": 0.9929,
                "Recall": 1.0,
                "Specificity": 0.9997,
                "F1 score": 0.9964
            },
            "Bridge": {
                "Precision": 0.996,
                "Recall": 0.996,
                "Specificity": 0.9999,
                "F1 score": 0.996
            },
            "Center": {
                "Precision": 0.9351,
                "Recall": 0.9505,
                "Specificity": 0.9982,
                "F1 score": 0.9427
            },
            "Church": {
                "Precision": 0.9345,
                "Recall": 0.9345,
                "Specificity": 0.9984,
                "F1 score": 0.9345
            },
            "Commercial": {
                "Precision": 0.9597,
                "Recall": 0.9714,
                "Specificity": 0.9985,
                "F1 score": 0.9655
            },
            "DenseResidential": {
                "Precision": 0.9654,
                "Recall": 0.9721,
                "Specificity": 0.9985,
                "F1 score": 0.9687
            },
            "Desert": {
                "Precision": 0.9423,
                "Recall": 0.9333,
                "Specificity": 0.9982,
                "F1 score": 0.9378
            },
            "Farmland": {
                "Precision": 1.0,
                "Recall": 0.9961,
                "Specificity": 1.0,
                "F1 score": 0.998
            },
            "Forest": {
                "Precision": 0.9943,
                "Recall": 0.9943,
                "Specificity": 0.9999,
                "F1 score": 0.9943
            },
            "Industrial": {
                "Precision": 0.967,
                "Recall": 0.967,
                "Specificity": 0.9987,
                "F1 score": 0.967
            },
            "Meadow": {
                "Precision": 1.0,
                "Recall": 0.9898,
                "Specificity": 1.0,
                "F1 score": 0.9949
            },
            "MediumResidential": {
                "Precision": 0.9803,
                "Recall": 0.9803,
                "Specificity": 0.9994,
                "F1 score": 0.9803
            },
            "Mountain": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Park": {
                "Precision": 0.915,
                "Recall": 0.9224,
                "Specificity": 0.9969,
                "F1 score": 0.9187
            },
            "Parking": {
                "Precision": 1.0,
                "Recall": 0.9927,
                "Specificity": 1.0,
                "F1 score": 0.9963
            },
            "Playground": {
                "Precision": 0.9846,
                "Recall": 0.9884,
                "Specificity": 0.9994,
                "F1 score": 0.9865
            },
            "Pond": {
                "Precision": 0.9932,
                "Recall": 0.9966,
                "Specificity": 0.9997,
                "F1 score": 0.9949
            },
            "Port": {
                "Precision": 0.9852,
                "Recall": 1.0,
                "Specificity": 0.9994,
                "F1 score": 0.9925
            },
            "RailwayStation": {
                "Precision": 0.9945,
                "Recall": 0.989,
                "Specificity": 0.9999,
                "F1 score": 0.9917
            },
            "Resort": {
                "Precision": 0.9059,
                "Recall": 0.9015,
                "Specificity": 0.9972,
                "F1 score": 0.9037
            },
            "River": {
                "Precision": 1.0,
                "Recall": 0.9965,
                "Specificity": 1.0,
                "F1 score": 0.9982
            },
            "School": {
                "Precision": 0.9043,
                "Recall": 0.9,
                "Specificity": 0.9971,
                "F1 score": 0.9021
            },
            "SparseResidential": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Square": {
                "Precision": 0.9467,
                "Recall": 0.9221,
                "Specificity": 0.9982,
                "F1 score": 0.9342
            },
            "Stadium": {
                "Precision": 0.9754,
                "Recall": 0.9754,
                "Specificity": 0.9993,
                "F1 score": 0.9754
            },
            "StorageTanks": {
                "Precision": 0.996,
                "Recall": 0.9841,
                "Specificity": 0.9999,
                "F1 score": 0.99
            },
            "Viaduct": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "mean precision": 0.9729666666666665,
            "mean recall": 0.9726766666666667,
            "mean specificity": 0.9991266666666668,
            "mean f1 score": 0.9727900000000002
        },
        "valid info": {
            "accuracy": 0.9099999999969667,
            "Airport": {
                "Precision": 0.9217,
                "Recall": 0.9815,
                "Specificity": 0.9969,
                "F1 score": 0.9507
            },
            "BareLand": {
                "Precision": 0.9556,
                "Recall": 0.9247,
                "Specificity": 0.9986,
                "F1 score": 0.9399
            },
            "BaseballField": {
                "Precision": 0.88,
                "Recall": 1.0,
                "Specificity": 0.9969,
                "F1 score": 0.9362
            },
            "Beach": {
                "Precision": 1.0,
                "Recall": 0.9667,
                "Specificity": 1.0,
                "F1 score": 0.9831
            },
            "Bridge": {
                "Precision": 0.8154,
                "Recall": 0.9815,
                "Specificity": 0.9917,
                "F1 score": 0.8908
            },
            "Center": {
                "Precision": 0.9783,
                "Recall": 0.5769,
                "Specificity": 0.9997,
                "F1 score": 0.7258
            },
            "Church": {
                "Precision": 0.9118,
                "Recall": 0.8611,
                "Specificity": 0.998,
                "F1 score": 0.8857
            },
            "Commercial": {
                "Precision": 0.8547,
                "Recall": 0.9524,
                "Specificity": 0.9941,
                "F1 score": 0.9009
            },
            "DenseResidential": {
                "Precision": 0.955,
                "Recall": 0.8618,
                "Specificity": 0.9983,
                "F1 score": 0.906
            },
            "Desert": {
                "Precision": 0.9348,
                "Recall": 0.9556,
                "Specificity": 0.9979,
                "F1 score": 0.9451
            },
            "Farmland": {
                "Precision": 0.9533,
                "Recall": 0.9189,
                "Specificity": 0.9983,
                "F1 score": 0.9358
            },
            "Forest": {
                "Precision": 0.9178,
                "Recall": 0.8933,
                "Specificity": 0.9979,
                "F1 score": 0.9054
            },
            "Industrial": {
                "Precision": 0.9182,
                "Recall": 0.8632,
                "Specificity": 0.9969,
                "F1 score": 0.8899
            },
            "Meadow": {
                "Precision": 0.8557,
                "Recall": 0.9881,
                "Specificity": 0.9952,
                "F1 score": 0.9171
            },
            "MediumResidential": {
                "Precision": 0.8632,
                "Recall": 0.9425,
                "Specificity": 0.9955,
                "F1 score": 0.9011
            },
            "Mountain": {
                "Precision": 1.0,
                "Recall": 0.8824,
                "Specificity": 1.0,
                "F1 score": 0.9375
            },
            "Park": {
                "Precision": 0.8713,
                "Recall": 0.8381,
                "Specificity": 0.9955,
                "F1 score": 0.8544
            },
            "Parking": {
                "Precision": 1.0,
                "Recall": 0.9744,
                "Specificity": 1.0,
                "F1 score": 0.987
            },
            "Playground": {
                "Precision": 0.9153,
                "Recall": 0.973,
                "Specificity": 0.9965,
                "F1 score": 0.9433
            },
            "Pond": {
                "Precision": 0.9649,
                "Recall": 0.873,
                "Specificity": 0.9986,
                "F1 score": 0.9167
            },
            "Port": {
                "Precision": 0.9187,
                "Recall": 0.9912,
                "Specificity": 0.9965,
                "F1 score": 0.9536
            },
            "RailwayStation": {
                "Precision": 0.8202,
                "Recall": 0.9359,
                "Specificity": 0.9945,
                "F1 score": 0.8742
            },
            "Resort": {
                "Precision": 0.9054,
                "Recall": 0.7701,
                "Specificity": 0.9976,
                "F1 score": 0.8323
            },
            "River": {
                "Precision": 0.9902,
                "Recall": 0.8211,
                "Specificity": 0.9997,
                "F1 score": 0.8978
            },
            "School": {
                "Precision": 0.8095,
                "Recall": 0.7556,
                "Specificity": 0.9945,
                "F1 score": 0.7816
            },
            "SparseResidential": {
                "Precision": 1.0,
                "Recall": 0.8889,
                "Specificity": 1.0,
                "F1 score": 0.9412
            },
            "Square": {
                "Precision": 0.6454,
                "Recall": 0.9192,
                "Specificity": 0.9828,
                "F1 score": 0.7583
            },
            "Stadium": {
                "Precision": 1.0,
                "Recall": 0.954,
                "Specificity": 1.0,
                "F1 score": 0.9765
            },
            "StorageTanks": {
                "Precision": 0.9292,
                "Recall": 0.9722,
                "Specificity": 0.9972,
                "F1 score": 0.9502
            },
            "Viaduct": {
                "Precision": 0.947,
                "Recall": 0.9921,
                "Specificity": 0.9976,
                "F1 score": 0.969
            },
            "mean precision": 0.9144200000000001,
            "mean recall": 0.9069800000000002,
            "mean specificity": 0.9968966666666665,
            "mean f1 score": 0.9062366666666666
        }
    },
    "epoch:2": {
        "train info": {
            "accuracy": 0.9882857142843025,
            "Airport": {
                "Precision": 0.996,
                "Recall": 0.9921,
                "Specificity": 0.9999,
                "F1 score": 0.994
            },
            "BareLand": {
                "Precision": 0.9677,
                "Recall": 0.9677,
                "Specificity": 0.999,
                "F1 score": 0.9677
            },
            "BaseballField": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Beach": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Bridge": {
                "Precision": 1.0,
                "Recall": 0.996,
                "Specificity": 1.0,
                "F1 score": 0.998
            },
            "Center": {
                "Precision": 0.9781,
                "Recall": 0.9835,
                "Specificity": 0.9994,
                "F1 score": 0.9808
            },
            "Church": {
                "Precision": 0.9765,
                "Recall": 0.9881,
                "Specificity": 0.9994,
                "F1 score": 0.9823
            },
            "Commercial": {
                "Precision": 0.9719,
                "Recall": 0.9878,
                "Specificity": 0.999,
                "F1 score": 0.9798
            },
            "DenseResidential": {
                "Precision": 0.9895,
                "Recall": 0.9826,
                "Specificity": 0.9996,
                "F1 score": 0.986
            },
            "Desert": {
                "Precision": 0.967,
                "Recall": 0.9762,
                "Specificity": 0.999,
                "F1 score": 0.9716
            },
            "Farmland": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Forest": {
                "Precision": 0.983,
                "Recall": 0.9886,
                "Specificity": 0.9996,
                "F1 score": 0.9858
            },
            "Industrial": {
                "Precision": 0.9926,
                "Recall": 0.989,
                "Specificity": 0.9997,
                "F1 score": 0.9908
            },
            "Meadow": {
                "Precision": 0.9948,
                "Recall": 0.9847,
                "Specificity": 0.9999,
                "F1 score": 0.9897
            },
            "MediumResidential": {
                "Precision": 0.9806,
                "Recall": 0.9951,
                "Specificity": 0.9994,
                "F1 score": 0.9878
            },
            "Mountain": {
                "Precision": 1.0,
                "Recall": 0.9958,
                "Specificity": 1.0,
                "F1 score": 0.9979
            },
            "Park": {
                "Precision": 0.9516,
                "Recall": 0.9633,
                "Specificity": 0.9982,
                "F1 score": 0.9574
            },
            "Parking": {
                "Precision": 1.0,
                "Recall": 0.9963,
                "Specificity": 1.0,
                "F1 score": 0.9981
            },
            "Playground": {
                "Precision": 1.0,
                "Recall": 0.9961,
                "Specificity": 1.0,
                "F1 score": 0.998
            },
            "Pond": {
                "Precision": 0.9966,
                "Recall": 0.9966,
                "Specificity": 0.9999,
                "F1 score": 0.9966
            },
            "Port": {
                "Precision": 0.9925,
                "Recall": 1.0,
                "Specificity": 0.9997,
                "F1 score": 0.9962
            },
            "RailwayStation": {
                "Precision": 0.9838,
                "Recall": 1.0,
                "Specificity": 0.9996,
                "F1 score": 0.9918
            },
            "Resort": {
                "Precision": 0.9548,
                "Recall": 0.936,
                "Specificity": 0.9987,
                "F1 score": 0.9453
            },
            "River": {
                "Precision": 0.9965,
                "Recall": 1.0,
                "Specificity": 0.9999,
                "F1 score": 0.9982
            },
            "School": {
                "Precision": 0.9757,
                "Recall": 0.9571,
                "Specificity": 0.9993,
                "F1 score": 0.9663
            },
            "SparseResidential": {
                "Precision": 0.9952,
                "Recall": 0.9857,
                "Specificity": 0.9999,
                "F1 score": 0.9904
            },
            "Square": {
                "Precision": 0.9868,
                "Recall": 0.974,
                "Specificity": 0.9996,
                "F1 score": 0.9804
            },
            "Stadium": {
                "Precision": 0.9902,
                "Recall": 1.0,
                "Specificity": 0.9997,
                "F1 score": 0.9951
            },
            "StorageTanks": {
                "Precision": 1.0,
                "Recall": 0.996,
                "Specificity": 1.0,
                "F1 score": 0.998
            },
            "Viaduct": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "mean precision": 0.98738,
            "mean recall": 0.9876100000000001,
            "mean specificity": 0.9996133333333334,
            "mean f1 score": 0.9874666666666669
        },
        "valid info": {
            "accuracy": 0.9079999999969733,
            "Airport": {
                "Precision": 0.9043,
                "Recall": 0.963,
                "Specificity": 0.9962,
                "F1 score": 0.9327
            },
            "BareLand": {
                "Precision": 0.9383,
                "Recall": 0.8172,
                "Specificity": 0.9983,
                "F1 score": 0.8736
            },
            "BaseballField": {
                "Precision": 0.9565,
                "Recall": 1.0,
                "Specificity": 0.999,
                "F1 score": 0.9778
            },
            "Beach": {
                "Precision": 0.9836,
                "Recall": 1.0,
                "Specificity": 0.9993,
                "F1 score": 0.9917
            },
            "Bridge": {
                "Precision": 1.0,
                "Recall": 0.9537,
                "Specificity": 1.0,
                "F1 score": 0.9763
            },
            "Center": {
                "Precision": 0.7184,
                "Recall": 0.9487,
                "Specificity": 0.9901,
                "F1 score": 0.8176
            },
            "Church": {
                "Precision": 0.7831,
                "Recall": 0.9028,
                "Specificity": 0.9939,
                "F1 score": 0.8387
            },
            "Commercial": {
                "Precision": 0.9062,
                "Recall": 0.8286,
                "Specificity": 0.9969,
                "F1 score": 0.8657
            },
            "DenseResidential": {
                "Precision": 0.7987,
                "Recall": 0.9675,
                "Specificity": 0.9896,
                "F1 score": 0.875
            },
            "Desert": {
                "Precision": 0.8776,
                "Recall": 0.9556,
                "Specificity": 0.9959,
                "F1 score": 0.9149
            },
            "Farmland": {
                "Precision": 1.0,
                "Recall": 0.7838,
                "Specificity": 1.0,
                "F1 score": 0.8788
            },
            "Forest": {
                "Precision": 1.0,
                "Recall": 0.9333,
                "Specificity": 1.0,
                "F1 score": 0.9655
            },
            "Industrial": {
                "Precision": 0.96,
                "Recall": 0.8205,
                "Specificity": 0.9986,
                "F1 score": 0.8848
            },
            "Meadow": {
                "Precision": 0.9873,
                "Recall": 0.9286,
                "Specificity": 0.9997,
                "F1 score": 0.9571
            },
            "MediumResidential": {
                "Precision": 0.9844,
                "Recall": 0.7241,
                "Specificity": 0.9997,
                "F1 score": 0.8344
            },
            "Mountain": {
                "Precision": 0.8947,
                "Recall": 1.0,
                "Specificity": 0.9959,
                "F1 score": 0.9444
            },
            "Park": {
                "Precision": 0.7014,
                "Recall": 0.9619,
                "Specificity": 0.9851,
                "F1 score": 0.8113
            },
            "Parking": {
                "Precision": 1.0,
                "Recall": 0.9744,
                "Specificity": 1.0,
                "F1 score": 0.987
            },
            "Playground": {
                "Precision": 0.8926,
                "Recall": 0.973,
                "Specificity": 0.9955,
                "F1 score": 0.9311
            },
            "Pond": {
                "Precision": 0.9603,
                "Recall": 0.9603,
                "Specificity": 0.9983,
                "F1 score": 0.9603
            },
            "Port": {
                "Precision": 1.0,
                "Recall": 0.886,
                "Specificity": 1.0,
                "F1 score": 0.9396
            },
            "RailwayStation": {
                "Precision": 0.7895,
                "Recall": 0.9615,
                "Specificity": 0.9932,
                "F1 score": 0.8671
            },
            "Resort": {
                "Precision": 0.8116,
                "Recall": 0.6437,
                "Specificity": 0.9955,
                "F1 score": 0.718
            },
            "River": {
                "Precision": 0.9835,
                "Recall": 0.9675,
                "Specificity": 0.9993,
                "F1 score": 0.9754
            },
            "School": {
                "Precision": 0.9492,
                "Recall": 0.6222,
                "Specificity": 0.999,
                "F1 score": 0.7517
            },
            "SparseResidential": {
                "Precision": 1.0,
                "Recall": 0.9444,
                "Specificity": 1.0,
                "F1 score": 0.9714
            },
            "Square": {
                "Precision": 0.7807,
                "Recall": 0.899,
                "Specificity": 0.9914,
                "F1 score": 0.8357
            },
            "Stadium": {
                "Precision": 0.9659,
                "Recall": 0.977,
                "Specificity": 0.999,
                "F1 score": 0.9714
            },
            "StorageTanks": {
                "Precision": 0.9789,
                "Recall": 0.8611,
                "Specificity": 0.9993,
                "F1 score": 0.9162
            },
            "Viaduct": {
                "Precision": 0.9259,
                "Recall": 0.9921,
                "Specificity": 0.9965,
                "F1 score": 0.9579
            },
            "mean precision": 0.91442,
            "mean recall": 0.9050499999999999,
            "mean specificity": 0.9968400000000002,
            "mean f1 score": 0.9041033333333333
        }
    },
    "epoch:3": {
        "train info": {
            "accuracy": 0.9931428571414384,
            "Airport": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "BareLand": {
                "Precision": 0.9817,
                "Recall": 0.9908,
                "Specificity": 0.9994,
                "F1 score": 0.9862
            },
            "BaseballField": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Beach": {
                "Precision": 0.9964,
                "Recall": 0.9964,
                "Specificity": 0.9999,
                "F1 score": 0.9964
            },
            "Bridge": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Center": {
                "Precision": 0.9945,
                "Recall": 0.989,
                "Specificity": 0.9999,
                "F1 score": 0.9917
            },
            "Church": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Commercial": {
                "Precision": 0.9644,
                "Recall": 0.9959,
                "Specificity": 0.9987,
                "F1 score": 0.9799
            },
            "DenseResidential": {
                "Precision": 0.9896,
                "Recall": 0.993,
                "Specificity": 0.9996,
                "F1 score": 0.9913
            },
            "Desert": {
                "Precision": 0.9903,
                "Recall": 0.9762,
                "Specificity": 0.9997,
                "F1 score": 0.9832
            },
            "Farmland": {
                "Precision": 1.0,
                "Recall": 0.9961,
                "Specificity": 1.0,
                "F1 score": 0.998
            },
            "Forest": {
                "Precision": 0.9943,
                "Recall": 1.0,
                "Specificity": 0.9999,
                "F1 score": 0.9971
            },
            "Industrial": {
                "Precision": 0.9963,
                "Recall": 0.9963,
                "Specificity": 0.9999,
                "F1 score": 0.9963
            },
            "Meadow": {
                "Precision": 0.9949,
                "Recall": 1.0,
                "Specificity": 0.9999,
                "F1 score": 0.9974
            },
            "MediumResidential": {
                "Precision": 0.9901,
                "Recall": 0.9901,
                "Specificity": 0.9997,
                "F1 score": 0.9901
            },
            "Mountain": {
                "Precision": 1.0,
                "Recall": 0.9958,
                "Specificity": 1.0,
                "F1 score": 0.9979
            },
            "Park": {
                "Precision": 0.9713,
                "Recall": 0.9673,
                "Specificity": 0.999,
                "F1 score": 0.9693
            },
            "Parking": {
                "Precision": 1.0,
                "Recall": 0.9963,
                "Specificity": 1.0,
                "F1 score": 0.9981
            },
            "Playground": {
                "Precision": 0.9923,
                "Recall": 1.0,
                "Specificity": 0.9997,
                "F1 score": 0.9961
            },
            "Pond": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Port": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "RailwayStation": {
                "Precision": 1.0,
                "Recall": 0.9945,
                "Specificity": 1.0,
                "F1 score": 0.9972
            },
            "Resort": {
                "Precision": 0.975,
                "Recall": 0.9606,
                "Specificity": 0.9993,
                "F1 score": 0.9677
            },
            "River": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "School": {
                "Precision": 0.9761,
                "Recall": 0.9714,
                "Specificity": 0.9993,
                "F1 score": 0.9737
            },
            "SparseResidential": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Square": {
                "Precision": 0.9956,
                "Recall": 0.987,
                "Specificity": 0.9999,
                "F1 score": 0.9913
            },
            "Stadium": {
                "Precision": 1.0,
                "Recall": 0.9901,
                "Specificity": 1.0,
                "F1 score": 0.995
            },
            "StorageTanks": {
                "Precision": 0.9921,
                "Recall": 0.996,
                "Specificity": 0.9997,
                "F1 score": 0.994
            },
            "Viaduct": {
                "Precision": 0.9966,
                "Recall": 1.0,
                "Specificity": 0.9999,
                "F1 score": 0.9983
            },
            "mean precision": 0.9930500000000001,
            "mean recall": 0.99276,
            "mean specificity": 0.9997800000000002,
            "mean f1 score": 0.9928733333333333
        },
        "valid info": {
            "accuracy": 0.901333333330329,
            "Airport": {
                "Precision": 0.9806,
                "Recall": 0.9352,
                "Specificity": 0.9993,
                "F1 score": 0.9574
            },
            "BareLand": {
                "Precision": 0.875,
                "Recall": 0.9785,
                "Specificity": 0.9955,
                "F1 score": 0.9239
            },
            "BaseballField": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Beach": {
                "Precision": 0.9917,
                "Recall": 1.0,
                "Specificity": 0.9997,
                "F1 score": 0.9958
            },
            "Bridge": {
                "Precision": 0.9811,
                "Recall": 0.963,
                "Specificity": 0.9993,
                "F1 score": 0.972
            },
            "Center": {
                "Precision": 0.7048,
                "Recall": 0.9487,
                "Specificity": 0.9894,
                "F1 score": 0.8088
            },
            "Church": {
                "Precision": 0.8732,
                "Recall": 0.8611,
                "Specificity": 0.9969,
                "F1 score": 0.8671
            },
            "Commercial": {
                "Precision": 0.6755,
                "Recall": 0.9714,
                "Specificity": 0.9831,
                "F1 score": 0.7969
            },
            "DenseResidential": {
                "Precision": 0.9386,
                "Recall": 0.8699,
                "Specificity": 0.9976,
                "F1 score": 0.9029
            },
            "Desert": {
                "Precision": 1.0,
                "Recall": 0.8222,
                "Specificity": 1.0,
                "F1 score": 0.9024
            },
            "Farmland": {
                "Precision": 0.9633,
                "Recall": 0.9459,
                "Specificity": 0.9986,
                "F1 score": 0.9545
            },
            "Forest": {
                "Precision": 1.0,
                "Recall": 0.88,
                "Specificity": 1.0,
                "F1 score": 0.9362
            },
            "Industrial": {
                "Precision": 0.8519,
                "Recall": 0.7863,
                "Specificity": 0.9945,
                "F1 score": 0.8178
            },
            "Meadow": {
                "Precision": 0.987,
                "Recall": 0.9048,
                "Specificity": 0.9997,
                "F1 score": 0.9441
            },
            "MediumResidential": {
                "Precision": 0.8804,
                "Recall": 0.931,
                "Specificity": 0.9962,
                "F1 score": 0.905
            },
            "Mountain": {
                "Precision": 0.9182,
                "Recall": 0.9902,
                "Specificity": 0.9969,
                "F1 score": 0.9528
            },
            "Park": {
                "Precision": 1.0,
                "Recall": 0.6095,
                "Specificity": 1.0,
                "F1 score": 0.7574
            },
            "Parking": {
                "Precision": 0.9669,
                "Recall": 1.0,
                "Specificity": 0.9986,
                "F1 score": 0.9832
            },
            "Playground": {
                "Precision": 0.9907,
                "Recall": 0.955,
                "Specificity": 0.9997,
                "F1 score": 0.9725
            },
            "Pond": {
                "Precision": 0.959,
                "Recall": 0.9286,
                "Specificity": 0.9983,
                "F1 score": 0.9436
            },
            "Port": {
                "Precision": 0.9895,
                "Recall": 0.8246,
                "Specificity": 0.9997,
                "F1 score": 0.8996
            },
            "RailwayStation": {
                "Precision": 1.0,
                "Recall": 0.359,
                "Specificity": 1.0,
                "F1 score": 0.5283
            },
            "Resort": {
                "Precision": 0.5484,
                "Recall": 0.977,
                "Specificity": 0.976,
                "F1 score": 0.7025
            },
            "River": {
                "Precision": 0.8824,
                "Recall": 0.9756,
                "Specificity": 0.9944,
                "F1 score": 0.9267
            },
            "School": {
                "Precision": 0.8,
                "Recall": 0.8444,
                "Specificity": 0.9935,
                "F1 score": 0.8216
            },
            "SparseResidential": {
                "Precision": 1.0,
                "Recall": 0.9333,
                "Specificity": 1.0,
                "F1 score": 0.9655
            },
            "Square": {
                "Precision": 0.8495,
                "Recall": 0.798,
                "Specificity": 0.9952,
                "F1 score": 0.8229
            },
            "Stadium": {
                "Precision": 0.9663,
                "Recall": 0.9885,
                "Specificity": 0.999,
                "F1 score": 0.9773
            },
            "StorageTanks": {
                "Precision": 1.0,
                "Recall": 0.9352,
                "Specificity": 1.0,
                "F1 score": 0.9665
            },
            "Viaduct": {
                "Precision": 0.9398,
                "Recall": 0.9921,
                "Specificity": 0.9972,
                "F1 score": 0.9652
            },
            "mean precision": 0.9171266666666668,
            "mean recall": 0.8969666666666666,
            "mean specificity": 0.99661,
            "mean f1 score": 0.89568
        }
    },
    "epoch:4": {
        "train info": {
            "accuracy": 0.9971428571414327,
            "Airport": {
                "Precision": 0.996,
                "Recall": 1.0,
                "Specificity": 0.9999,
                "F1 score": 0.998
            },
            "BareLand": {
                "Precision": 0.9908,
                "Recall": 0.9908,
                "Specificity": 0.9997,
                "F1 score": 0.9908
            },
            "BaseballField": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Beach": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Bridge": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Center": {
                "Precision": 0.9945,
                "Recall": 0.9945,
                "Specificity": 0.9999,
                "F1 score": 0.9945
            },
            "Church": {
                "Precision": 1.0,
                "Recall": 0.994,
                "Specificity": 1.0,
                "F1 score": 0.997
            },
            "Commercial": {
                "Precision": 1.0,
                "Recall": 0.9959,
                "Specificity": 1.0,
                "F1 score": 0.9979
            },
            "DenseResidential": {
                "Precision": 0.9965,
                "Recall": 0.9965,
                "Specificity": 0.9999,
                "F1 score": 0.9965
            },
            "Desert": {
                "Precision": 0.9905,
                "Recall": 0.9905,
                "Specificity": 0.9997,
                "F1 score": 0.9905
            },
            "Farmland": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Forest": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Industrial": {
                "Precision": 1.0,
                "Recall": 0.9963,
                "Specificity": 1.0,
                "F1 score": 0.9981
            },
            "Meadow": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "MediumResidential": {
                "Precision": 0.9951,
                "Recall": 0.9951,
                "Specificity": 0.9999,
                "F1 score": 0.9951
            },
            "Mountain": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Park": {
                "Precision": 0.9839,
                "Recall": 0.9959,
                "Specificity": 0.9994,
                "F1 score": 0.9899
            },
            "Parking": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Playground": {
                "Precision": 0.9961,
                "Recall": 0.9961,
                "Specificity": 0.9999,
                "F1 score": 0.9961
            },
            "Pond": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Port": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "RailwayStation": {
                "Precision": 0.9945,
                "Recall": 1.0,
                "Specificity": 0.9999,
                "F1 score": 0.9972
            },
            "Resort": {
                "Precision": 0.995,
                "Recall": 0.9754,
                "Specificity": 0.9999,
                "F1 score": 0.9851
            },
            "River": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "School": {
                "Precision": 0.9813,
                "Recall": 1.0,
                "Specificity": 0.9994,
                "F1 score": 0.9906
            },
            "SparseResidential": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Square": {
                "Precision": 1.0,
                "Recall": 0.9957,
                "Specificity": 1.0,
                "F1 score": 0.9978
            },
            "Stadium": {
                "Precision": 0.9951,
                "Recall": 0.9951,
                "Specificity": 0.9999,
                "F1 score": 0.9951
            },
            "StorageTanks": {
                "Precision": 1.0,
                "Recall": 0.996,
                "Specificity": 1.0,
                "F1 score": 0.998
            },
            "Viaduct": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "mean precision": 0.9969766666666667,
            "mean recall": 0.9969266666666666,
            "mean specificity": 0.9999133333333334,
            "mean f1 score": 0.99694
        },
        "valid info": {
            "accuracy": 0.9369999999968767,
            "Airport": {
                "Precision": 0.9633,
                "Recall": 0.9722,
                "Specificity": 0.9986,
                "F1 score": 0.9677
            },
            "BareLand": {
                "Precision": 0.9659,
                "Recall": 0.914,
                "Specificity": 0.999,
                "F1 score": 0.9392
            },
            "BaseballField": {
                "Precision": 0.9296,
                "Recall": 1.0,
                "Specificity": 0.9983,
                "F1 score": 0.9635
            },
            "Beach": {
                "Precision": 0.9917,
                "Recall": 1.0,
                "Specificity": 0.9997,
                "F1 score": 0.9958
            },
            "Bridge": {
                "Precision": 0.9815,
                "Recall": 0.9815,
                "Specificity": 0.9993,
                "F1 score": 0.9815
            },
            "Center": {
                "Precision": 0.7624,
                "Recall": 0.9872,
                "Specificity": 0.9918,
                "F1 score": 0.8604
            },
            "Church": {
                "Precision": 0.8571,
                "Recall": 0.9167,
                "Specificity": 0.9962,
                "F1 score": 0.8859
            },
            "Commercial": {
                "Precision": 0.8738,
                "Recall": 0.8571,
                "Specificity": 0.9955,
                "F1 score": 0.8654
            },
            "DenseResidential": {
                "Precision": 0.9811,
                "Recall": 0.8455,
                "Specificity": 0.9993,
                "F1 score": 0.9083
            },
            "Desert": {
                "Precision": 0.9255,
                "Recall": 0.9667,
                "Specificity": 0.9976,
                "F1 score": 0.9457
            },
            "Farmland": {
                "Precision": 0.9813,
                "Recall": 0.9459,
                "Specificity": 0.9993,
                "F1 score": 0.9633
            },
            "Forest": {
                "Precision": 1.0,
                "Recall": 0.96,
                "Specificity": 1.0,
                "F1 score": 0.9796
            },
            "Industrial": {
                "Precision": 0.9626,
                "Recall": 0.8803,
                "Specificity": 0.9986,
                "F1 score": 0.9196
            },
            "Meadow": {
                "Precision": 0.988,
                "Recall": 0.9762,
                "Specificity": 0.9997,
                "F1 score": 0.9821
            },
            "MediumResidential": {
                "Precision": 0.8737,
                "Recall": 0.954,
                "Specificity": 0.9959,
                "F1 score": 0.9121
            },
            "Mountain": {
                "Precision": 0.9623,
                "Recall": 1.0,
                "Specificity": 0.9986,
                "F1 score": 0.9808
            },
            "Park": {
                "Precision": 0.8475,
                "Recall": 0.9524,
                "Specificity": 0.9938,
                "F1 score": 0.8969
            },
            "Parking": {
                "Precision": 0.9832,
                "Recall": 1.0,
                "Specificity": 0.9993,
                "F1 score": 0.9915
            },
            "Playground": {
                "Precision": 0.7986,
                "Recall": 1.0,
                "Specificity": 0.9903,
                "F1 score": 0.888
            },
            "Pond": {
                "Precision": 0.8794,
                "Recall": 0.9841,
                "Specificity": 0.9941,
                "F1 score": 0.9288
            },
            "Port": {
                "Precision": 0.9906,
                "Recall": 0.9211,
                "Specificity": 0.9997,
                "F1 score": 0.9546
            },
            "RailwayStation": {
                "Precision": 0.9375,
                "Recall": 0.9615,
                "Specificity": 0.9983,
                "F1 score": 0.9493
            },
            "Resort": {
                "Precision": 0.9625,
                "Recall": 0.8851,
                "Specificity": 0.999,
                "F1 score": 0.9222
            },
            "River": {
                "Precision": 0.9915,
                "Recall": 0.9431,
                "Specificity": 0.9997,
                "F1 score": 0.9667
            },
            "School": {
                "Precision": 0.9429,
                "Recall": 0.7333,
                "Specificity": 0.9986,
                "F1 score": 0.825
            },
            "SparseResidential": {
                "Precision": 0.9674,
                "Recall": 0.9889,
                "Specificity": 0.999,
                "F1 score": 0.978
            },
            "Square": {
                "Precision": 0.963,
                "Recall": 0.7879,
                "Specificity": 0.999,
                "F1 score": 0.8667
            },
            "Stadium": {
                "Precision": 1.0,
                "Recall": 0.8046,
                "Specificity": 1.0,
                "F1 score": 0.8917
            },
            "StorageTanks": {
                "Precision": 0.9292,
                "Recall": 0.9722,
                "Specificity": 0.9972,
                "F1 score": 0.9502
            },
            "Viaduct": {
                "Precision": 0.9921,
                "Recall": 0.9921,
                "Specificity": 0.9997,
                "F1 score": 0.9921
            },
            "mean precision": 0.9395066666666667,
            "mean recall": 0.9361200000000003,
            "mean specificity": 0.9978366666666666,
            "mean f1 score": 0.9350866666666668
        }
    },
    "epoch:5": {
        "train info": {
            "accuracy": 0.9977142857128605,
            "Airport": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "BareLand": {
                "Precision": 0.9862,
                "Recall": 0.9908,
                "Specificity": 0.9996,
                "F1 score": 0.9885
            },
            "BaseballField": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Beach": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Bridge": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Center": {
                "Precision": 0.9945,
                "Recall": 1.0,
                "Specificity": 0.9999,
                "F1 score": 0.9972
            },
            "Church": {
                "Precision": 1.0,
                "Recall": 0.994,
                "Specificity": 1.0,
                "F1 score": 0.997
            },
            "Commercial": {
                "Precision": 1.0,
                "Recall": 0.9959,
                "Specificity": 1.0,
                "F1 score": 0.9979
            },
            "DenseResidential": {
                "Precision": 0.9965,
                "Recall": 0.9965,
                "Specificity": 0.9999,
                "F1 score": 0.9965
            },
            "Desert": {
                "Precision": 0.9904,
                "Recall": 0.9857,
                "Specificity": 0.9997,
                "F1 score": 0.988
            },
            "Farmland": {
                "Precision": 1.0,
                "Recall": 0.9923,
                "Specificity": 1.0,
                "F1 score": 0.9961
            },
            "Forest": {
                "Precision": 0.9943,
                "Recall": 1.0,
                "Specificity": 0.9999,
                "F1 score": 0.9971
            },
            "Industrial": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Meadow": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "MediumResidential": {
                "Precision": 0.9951,
                "Recall": 0.9951,
                "Specificity": 0.9999,
                "F1 score": 0.9951
            },
            "Mountain": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Park": {
                "Precision": 0.9799,
                "Recall": 0.9959,
                "Specificity": 0.9993,
                "F1 score": 0.9878
            },
            "Parking": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Playground": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Pond": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Port": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "RailwayStation": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Resort": {
                "Precision": 0.995,
                "Recall": 0.9852,
                "Specificity": 0.9999,
                "F1 score": 0.9901
            },
            "River": {
                "Precision": 0.9965,
                "Recall": 1.0,
                "Specificity": 0.9999,
                "F1 score": 0.9982
            },
            "School": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "SparseResidential": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Square": {
                "Precision": 1.0,
                "Recall": 0.9957,
                "Specificity": 1.0,
                "F1 score": 0.9978
            },
            "Stadium": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "StorageTanks": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Viaduct": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "mean precision": 0.9976133333333335,
            "mean recall": 0.99757,
            "mean specificity": 0.9999333333333333,
            "mean f1 score": 0.9975766666666668
        },
        "valid info": {
            "accuracy": 0.9416666666635278,
            "Airport": {
                "Precision": 0.9901,
                "Recall": 0.9259,
                "Specificity": 0.9997,
                "F1 score": 0.9569
            },
            "BareLand": {
                "Precision": 0.9286,
                "Recall": 0.9785,
                "Specificity": 0.9976,
                "F1 score": 0.9529
            },
            "BaseballField": {
                "Precision": 0.9706,
                "Recall": 1.0,
                "Specificity": 0.9993,
                "F1 score": 0.9851
            },
            "Beach": {
                "Precision": 1.0,
                "Recall": 0.9917,
                "Specificity": 1.0,
                "F1 score": 0.9958
            },
            "Bridge": {
                "Precision": 0.906,
                "Recall": 0.9815,
                "Specificity": 0.9962,
                "F1 score": 0.9422
            },
            "Center": {
                "Precision": 0.8111,
                "Recall": 0.9359,
                "Specificity": 0.9942,
                "F1 score": 0.869
            },
            "Church": {
                "Precision": 0.8904,
                "Recall": 0.9028,
                "Specificity": 0.9973,
                "F1 score": 0.8966
            },
            "Commercial": {
                "Precision": 0.8972,
                "Recall": 0.9143,
                "Specificity": 0.9962,
                "F1 score": 0.9057
            },
            "DenseResidential": {
                "Precision": 0.9,
                "Recall": 0.9512,
                "Specificity": 0.9955,
                "F1 score": 0.9249
            },
            "Desert": {
                "Precision": 1.0,
                "Recall": 0.9222,
                "Specificity": 1.0,
                "F1 score": 0.9595
            },
            "Farmland": {
                "Precision": 0.9569,
                "Recall": 1.0,
                "Specificity": 0.9983,
                "F1 score": 0.978
            },
            "Forest": {
                "Precision": 1.0,
                "Recall": 0.9733,
                "Specificity": 1.0,
                "F1 score": 0.9865
            },
            "Industrial": {
                "Precision": 0.8814,
                "Recall": 0.8889,
                "Specificity": 0.9951,
                "F1 score": 0.8851
            },
            "Meadow": {
                "Precision": 0.9881,
                "Recall": 0.9881,
                "Specificity": 0.9997,
                "F1 score": 0.9881
            },
            "MediumResidential": {
                "Precision": 0.9432,
                "Recall": 0.954,
                "Specificity": 0.9983,
                "F1 score": 0.9486
            },
            "Mountain": {
                "Precision": 1.0,
                "Recall": 0.9902,
                "Specificity": 1.0,
                "F1 score": 0.9951
            },
            "Park": {
                "Precision": 0.9778,
                "Recall": 0.8381,
                "Specificity": 0.9993,
                "F1 score": 0.9026
            },
            "Parking": {
                "Precision": 0.9435,
                "Recall": 1.0,
                "Specificity": 0.9976,
                "F1 score": 0.9709
            },
            "Playground": {
                "Precision": 0.9652,
                "Recall": 1.0,
                "Specificity": 0.9986,
                "F1 score": 0.9823
            },
            "Pond": {
                "Precision": 0.9836,
                "Recall": 0.9524,
                "Specificity": 0.9993,
                "F1 score": 0.9677
            },
            "Port": {
                "Precision": 0.9907,
                "Recall": 0.9386,
                "Specificity": 0.9997,
                "F1 score": 0.9639
            },
            "RailwayStation": {
                "Precision": 0.8391,
                "Recall": 0.9359,
                "Specificity": 0.9952,
                "F1 score": 0.8849
            },
            "Resort": {
                "Precision": 0.9189,
                "Recall": 0.7816,
                "Specificity": 0.9979,
                "F1 score": 0.8447
            },
            "River": {
                "Precision": 0.982,
                "Recall": 0.8862,
                "Specificity": 0.9993,
                "F1 score": 0.9316
            },
            "School": {
                "Precision": 0.7549,
                "Recall": 0.8556,
                "Specificity": 0.9914,
                "F1 score": 0.8021
            },
            "SparseResidential": {
                "Precision": 1.0,
                "Recall": 0.9778,
                "Specificity": 1.0,
                "F1 score": 0.9888
            },
            "Square": {
                "Precision": 0.8737,
                "Recall": 0.8384,
                "Specificity": 0.9959,
                "F1 score": 0.8557
            },
            "Stadium": {
                "Precision": 1.0,
                "Recall": 0.9885,
                "Specificity": 1.0,
                "F1 score": 0.9942
            },
            "StorageTanks": {
                "Precision": 0.9902,
                "Recall": 0.9352,
                "Specificity": 0.9997,
                "F1 score": 0.9619
            },
            "Viaduct": {
                "Precision": 0.9692,
                "Recall": 1.0,
                "Specificity": 0.9986,
                "F1 score": 0.9844
            },
            "mean precision": 0.9417466666666665,
            "mean recall": 0.9408933333333332,
            "mean specificity": 0.9979966666666669,
            "mean f1 score": 0.9401899999999997
        }
    },
    "epoch:6": {
        "train info": {
            "accuracy": 0.9989999999985729,
            "Airport": {
                "Precision": 0.996,
                "Recall": 1.0,
                "Specificity": 0.9999,
                "F1 score": 0.998
            },
            "BareLand": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "BaseballField": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Beach": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Bridge": {
                "Precision": 0.996,
                "Recall": 1.0,
                "Specificity": 0.9999,
                "F1 score": 0.998
            },
            "Center": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Church": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Commercial": {
                "Precision": 0.9919,
                "Recall": 0.9959,
                "Specificity": 0.9997,
                "F1 score": 0.9939
            },
            "DenseResidential": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Desert": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Farmland": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Forest": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Industrial": {
                "Precision": 1.0,
                "Recall": 0.9963,
                "Specificity": 1.0,
                "F1 score": 0.9981
            },
            "Meadow": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "MediumResidential": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Mountain": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Park": {
                "Precision": 0.9959,
                "Recall": 0.9959,
                "Specificity": 0.9999,
                "F1 score": 0.9959
            },
            "Parking": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Playground": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Pond": {
                "Precision": 1.0,
                "Recall": 0.9966,
                "Specificity": 1.0,
                "F1 score": 0.9983
            },
            "Port": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "RailwayStation": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Resort": {
                "Precision": 0.9951,
                "Recall": 0.9951,
                "Specificity": 0.9999,
                "F1 score": 0.9951
            },
            "River": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "School": {
                "Precision": 0.9952,
                "Recall": 0.9905,
                "Specificity": 0.9999,
                "F1 score": 0.9928
            },
            "SparseResidential": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Square": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Stadium": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "StorageTanks": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Viaduct": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "mean precision": 0.9990033333333334,
            "mean recall": 0.9990100000000001,
            "mean specificity": 0.9999733333333334,
            "mean f1 score": 0.9990033333333332
        },
        "valid info": {
            "accuracy": 0.9556666666634811,
            "Airport": {
                "Precision": 1.0,
                "Recall": 0.9074,
                "Specificity": 1.0,
                "F1 score": 0.9515
            },
            "BareLand": {
                "Precision": 0.9684,
                "Recall": 0.9892,
                "Specificity": 0.999,
                "F1 score": 0.9787
            },
            "BaseballField": {
                "Precision": 0.9851,
                "Recall": 1.0,
                "Specificity": 0.9997,
                "F1 score": 0.9925
            },
            "Beach": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Bridge": {
                "Precision": 0.9906,
                "Recall": 0.9722,
                "Specificity": 0.9997,
                "F1 score": 0.9813
            },
            "Center": {
                "Precision": 0.8861,
                "Recall": 0.8974,
                "Specificity": 0.9969,
                "F1 score": 0.8917
            },
            "Church": {
                "Precision": 0.9286,
                "Recall": 0.9028,
                "Specificity": 0.9983,
                "F1 score": 0.9155
            },
            "Commercial": {
                "Precision": 0.8621,
                "Recall": 0.9524,
                "Specificity": 0.9945,
                "F1 score": 0.905
            },
            "DenseResidential": {
                "Precision": 0.9134,
                "Recall": 0.9431,
                "Specificity": 0.9962,
                "F1 score": 0.928
            },
            "Desert": {
                "Precision": 0.9888,
                "Recall": 0.9778,
                "Specificity": 0.9997,
                "F1 score": 0.9833
            },
            "Farmland": {
                "Precision": 0.9817,
                "Recall": 0.964,
                "Specificity": 0.9993,
                "F1 score": 0.9728
            },
            "Forest": {
                "Precision": 1.0,
                "Recall": 0.9333,
                "Specificity": 1.0,
                "F1 score": 0.9655
            },
            "Industrial": {
                "Precision": 0.9231,
                "Recall": 0.9231,
                "Specificity": 0.9969,
                "F1 score": 0.9231
            },
            "Meadow": {
                "Precision": 1.0,
                "Recall": 0.9881,
                "Specificity": 1.0,
                "F1 score": 0.994
            },
            "MediumResidential": {
                "Precision": 0.9438,
                "Recall": 0.9655,
                "Specificity": 0.9983,
                "F1 score": 0.9545
            },
            "Mountain": {
                "Precision": 0.9623,
                "Recall": 1.0,
                "Specificity": 0.9986,
                "F1 score": 0.9808
            },
            "Park": {
                "Precision": 0.8772,
                "Recall": 0.9524,
                "Specificity": 0.9952,
                "F1 score": 0.9133
            },
            "Parking": {
                "Precision": 0.9831,
                "Recall": 0.9915,
                "Specificity": 0.9993,
                "F1 score": 0.9873
            },
            "Playground": {
                "Precision": 0.9569,
                "Recall": 1.0,
                "Specificity": 0.9983,
                "F1 score": 0.978
            },
            "Pond": {
                "Precision": 0.9685,
                "Recall": 0.9762,
                "Specificity": 0.9986,
                "F1 score": 0.9723
            },
            "Port": {
                "Precision": 0.9737,
                "Recall": 0.9737,
                "Specificity": 0.999,
                "F1 score": 0.9737
            },
            "RailwayStation": {
                "Precision": 0.961,
                "Recall": 0.9487,
                "Specificity": 0.999,
                "F1 score": 0.9548
            },
            "Resort": {
                "Precision": 0.9157,
                "Recall": 0.8736,
                "Specificity": 0.9976,
                "F1 score": 0.8942
            },
            "River": {
                "Precision": 0.976,
                "Recall": 0.9919,
                "Specificity": 0.999,
                "F1 score": 0.9839
            },
            "School": {
                "Precision": 0.8506,
                "Recall": 0.8222,
                "Specificity": 0.9955,
                "F1 score": 0.8362
            },
            "SparseResidential": {
                "Precision": 1.0,
                "Recall": 0.9778,
                "Specificity": 1.0,
                "F1 score": 0.9888
            },
            "Square": {
                "Precision": 0.9341,
                "Recall": 0.8586,
                "Specificity": 0.9979,
                "F1 score": 0.8948
            },
            "Stadium": {
                "Precision": 1.0,
                "Recall": 0.9425,
                "Specificity": 1.0,
                "F1 score": 0.9704
            },
            "StorageTanks": {
                "Precision": 0.9722,
                "Recall": 0.9722,
                "Specificity": 0.999,
                "F1 score": 0.9722
            },
            "Viaduct": {
                "Precision": 0.9767,
                "Recall": 1.0,
                "Specificity": 0.999,
                "F1 score": 0.9882
            },
            "mean precision": 0.95599,
            "mean recall": 0.9532533333333332,
            "mean specificity": 0.9984833333333332,
            "mean f1 score": 0.9542100000000002
        }
    },
    "epoch:7": {
        "train info": {
            "accuracy": 0.9995714285700006,
            "Airport": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "BareLand": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "BaseballField": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Beach": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Bridge": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Center": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Church": {
                "Precision": 0.9941,
                "Recall": 1.0,
                "Specificity": 0.9999,
                "F1 score": 0.997
            },
            "Commercial": {
                "Precision": 1.0,
                "Recall": 0.9959,
                "Specificity": 1.0,
                "F1 score": 0.9979
            },
            "DenseResidential": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Desert": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Farmland": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Forest": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Industrial": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Meadow": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "MediumResidential": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Mountain": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Park": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Parking": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Playground": {
                "Precision": 0.9962,
                "Recall": 1.0,
                "Specificity": 0.9999,
                "F1 score": 0.9981
            },
            "Pond": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Port": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "RailwayStation": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Resort": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "River": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "School": {
                "Precision": 0.9952,
                "Recall": 0.9952,
                "Specificity": 0.9999,
                "F1 score": 0.9952
            },
            "SparseResidential": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Square": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Stadium": {
                "Precision": 1.0,
                "Recall": 0.9951,
                "Specificity": 1.0,
                "F1 score": 0.9975
            },
            "StorageTanks": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Viaduct": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "mean precision": 0.9995166666666666,
            "mean recall": 0.99954,
            "mean specificity": 0.99999,
            "mean f1 score": 0.9995233333333334
        },
        "valid info": {
            "accuracy": 0.9646666666634511,
            "Airport": {
                "Precision": 0.9725,
                "Recall": 0.9815,
                "Specificity": 0.999,
                "F1 score": 0.977
            },
            "BareLand": {
                "Precision": 0.9579,
                "Recall": 0.9785,
                "Specificity": 0.9986,
                "F1 score": 0.9681
            },
            "BaseballField": {
                "Precision": 0.9851,
                "Recall": 1.0,
                "Specificity": 0.9997,
                "F1 score": 0.9925
            },
            "Beach": {
                "Precision": 1.0,
                "Recall": 0.9917,
                "Specificity": 1.0,
                "F1 score": 0.9958
            },
            "Bridge": {
                "Precision": 0.9815,
                "Recall": 0.9815,
                "Specificity": 0.9993,
                "F1 score": 0.9815
            },
            "Center": {
                "Precision": 0.9342,
                "Recall": 0.9103,
                "Specificity": 0.9983,
                "F1 score": 0.9221
            },
            "Church": {
                "Precision": 0.8933,
                "Recall": 0.9306,
                "Specificity": 0.9973,
                "F1 score": 0.9116
            },
            "Commercial": {
                "Precision": 0.8929,
                "Recall": 0.9524,
                "Specificity": 0.9959,
                "F1 score": 0.9217
            },
            "DenseResidential": {
                "Precision": 0.9576,
                "Recall": 0.9187,
                "Specificity": 0.9983,
                "F1 score": 0.9377
            },
            "Desert": {
                "Precision": 0.9888,
                "Recall": 0.9778,
                "Specificity": 0.9997,
                "F1 score": 0.9833
            },
            "Farmland": {
                "Precision": 0.9727,
                "Recall": 0.964,
                "Specificity": 0.999,
                "F1 score": 0.9683
            },
            "Forest": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Industrial": {
                "Precision": 0.9304,
                "Recall": 0.9145,
                "Specificity": 0.9972,
                "F1 score": 0.9224
            },
            "Meadow": {
                "Precision": 1.0,
                "Recall": 0.9881,
                "Specificity": 1.0,
                "F1 score": 0.994
            },
            "MediumResidential": {
                "Precision": 0.9438,
                "Recall": 0.9655,
                "Specificity": 0.9983,
                "F1 score": 0.9545
            },
            "Mountain": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Park": {
                "Precision": 0.932,
                "Recall": 0.9143,
                "Specificity": 0.9976,
                "F1 score": 0.9231
            },
            "Parking": {
                "Precision": 0.9831,
                "Recall": 0.9915,
                "Specificity": 0.9993,
                "F1 score": 0.9873
            },
            "Playground": {
                "Precision": 0.9911,
                "Recall": 1.0,
                "Specificity": 0.9997,
                "F1 score": 0.9955
            },
            "Pond": {
                "Precision": 0.9919,
                "Recall": 0.9762,
                "Specificity": 0.9997,
                "F1 score": 0.984
            },
            "Port": {
                "Precision": 0.9826,
                "Recall": 0.9912,
                "Specificity": 0.9993,
                "F1 score": 0.9869
            },
            "RailwayStation": {
                "Precision": 0.9737,
                "Recall": 0.9487,
                "Specificity": 0.9993,
                "F1 score": 0.961
            },
            "Resort": {
                "Precision": 0.9506,
                "Recall": 0.8851,
                "Specificity": 0.9986,
                "F1 score": 0.9167
            },
            "River": {
                "Precision": 0.9837,
                "Recall": 0.9837,
                "Specificity": 0.9993,
                "F1 score": 0.9837
            },
            "School": {
                "Precision": 0.8495,
                "Recall": 0.8778,
                "Specificity": 0.9952,
                "F1 score": 0.8634
            },
            "SparseResidential": {
                "Precision": 1.0,
                "Recall": 0.9889,
                "Specificity": 1.0,
                "F1 score": 0.9944
            },
            "Square": {
                "Precision": 0.9029,
                "Recall": 0.9394,
                "Specificity": 0.9966,
                "F1 score": 0.9208
            },
            "Stadium": {
                "Precision": 1.0,
                "Recall": 0.9885,
                "Specificity": 1.0,
                "F1 score": 0.9942
            },
            "StorageTanks": {
                "Precision": 0.9722,
                "Recall": 0.9722,
                "Specificity": 0.999,
                "F1 score": 0.9722
            },
            "Viaduct": {
                "Precision": 0.9921,
                "Recall": 1.0,
                "Specificity": 0.9997,
                "F1 score": 0.996
            },
            "mean precision": 0.96387,
            "mean recall": 0.9637533333333331,
            "mean specificity": 0.998796666666667,
            "mean f1 score": 0.9636566666666664
        }
    },
    "epoch:8": {
        "train info": {
            "accuracy": 0.9994285714271437,
            "Airport": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "BareLand": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "BaseballField": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Beach": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Bridge": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Center": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Church": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Commercial": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "DenseResidential": {
                "Precision": 0.9965,
                "Recall": 1.0,
                "Specificity": 0.9999,
                "F1 score": 0.9982
            },
            "Desert": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Farmland": {
                "Precision": 0.9962,
                "Recall": 1.0,
                "Specificity": 0.9999,
                "F1 score": 0.9981
            },
            "Forest": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Industrial": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Meadow": {
                "Precision": 1.0,
                "Recall": 0.9949,
                "Specificity": 1.0,
                "F1 score": 0.9974
            },
            "MediumResidential": {
                "Precision": 1.0,
                "Recall": 0.9951,
                "Specificity": 1.0,
                "F1 score": 0.9975
            },
            "Mountain": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Park": {
                "Precision": 1.0,
                "Recall": 0.9959,
                "Specificity": 1.0,
                "F1 score": 0.9979
            },
            "Parking": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Playground": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Pond": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Port": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "RailwayStation": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Resort": {
                "Precision": 0.9951,
                "Recall": 1.0,
                "Specificity": 0.9999,
                "F1 score": 0.9975
            },
            "River": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "School": {
                "Precision": 0.9952,
                "Recall": 0.9952,
                "Specificity": 0.9999,
                "F1 score": 0.9952
            },
            "SparseResidential": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Square": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Stadium": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "StorageTanks": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Viaduct": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "mean precision": 0.9994333333333334,
            "mean recall": 0.9993700000000001,
            "mean specificity": 0.9999866666666667,
            "mean f1 score": 0.9993933333333335
        },
        "valid info": {
            "accuracy": 0.9619999999967934,
            "Airport": {
                "Precision": 0.955,
                "Recall": 0.9815,
                "Specificity": 0.9983,
                "F1 score": 0.9681
            },
            "BareLand": {
                "Precision": 0.9579,
                "Recall": 0.9785,
                "Specificity": 0.9986,
                "F1 score": 0.9681
            },
            "BaseballField": {
                "Precision": 0.9565,
                "Recall": 1.0,
                "Specificity": 0.999,
                "F1 score": 0.9778
            },
            "Beach": {
                "Precision": 1.0,
                "Recall": 0.9917,
                "Specificity": 1.0,
                "F1 score": 0.9958
            },
            "Bridge": {
                "Precision": 0.9815,
                "Recall": 0.9815,
                "Specificity": 0.9993,
                "F1 score": 0.9815
            },
            "Center": {
                "Precision": 0.9221,
                "Recall": 0.9103,
                "Specificity": 0.9979,
                "F1 score": 0.9162
            },
            "Church": {
                "Precision": 0.9155,
                "Recall": 0.9028,
                "Specificity": 0.998,
                "F1 score": 0.9091
            },
            "Commercial": {
                "Precision": 0.8644,
                "Recall": 0.9714,
                "Specificity": 0.9945,
                "F1 score": 0.9148
            },
            "DenseResidential": {
                "Precision": 0.9496,
                "Recall": 0.9187,
                "Specificity": 0.9979,
                "F1 score": 0.9339
            },
            "Desert": {
                "Precision": 0.9888,
                "Recall": 0.9778,
                "Specificity": 0.9997,
                "F1 score": 0.9833
            },
            "Farmland": {
                "Precision": 0.9815,
                "Recall": 0.955,
                "Specificity": 0.9993,
                "F1 score": 0.9681
            },
            "Forest": {
                "Precision": 1.0,
                "Recall": 0.9733,
                "Specificity": 1.0,
                "F1 score": 0.9865
            },
            "Industrial": {
                "Precision": 0.9464,
                "Recall": 0.906,
                "Specificity": 0.9979,
                "F1 score": 0.9258
            },
            "Meadow": {
                "Precision": 0.9767,
                "Recall": 1.0,
                "Specificity": 0.9993,
                "F1 score": 0.9882
            },
            "MediumResidential": {
                "Precision": 0.9333,
                "Recall": 0.9655,
                "Specificity": 0.9979,
                "F1 score": 0.9491
            },
            "Mountain": {
                "Precision": 0.9903,
                "Recall": 1.0,
                "Specificity": 0.9997,
                "F1 score": 0.9951
            },
            "Park": {
                "Precision": 0.9091,
                "Recall": 0.9524,
                "Specificity": 0.9965,
                "F1 score": 0.9302
            },
            "Parking": {
                "Precision": 0.9748,
                "Recall": 0.9915,
                "Specificity": 0.999,
                "F1 score": 0.9831
            },
            "Playground": {
                "Precision": 0.991,
                "Recall": 0.991,
                "Specificity": 0.9997,
                "F1 score": 0.991
            },
            "Pond": {
                "Precision": 0.984,
                "Recall": 0.9762,
                "Specificity": 0.9993,
                "F1 score": 0.9801
            },
            "Port": {
                "Precision": 0.9825,
                "Recall": 0.9825,
                "Specificity": 0.9993,
                "F1 score": 0.9825
            },
            "RailwayStation": {
                "Precision": 0.9737,
                "Recall": 0.9487,
                "Specificity": 0.9993,
                "F1 score": 0.961
            },
            "Resort": {
                "Precision": 0.9383,
                "Recall": 0.8736,
                "Specificity": 0.9983,
                "F1 score": 0.9048
            },
            "River": {
                "Precision": 0.9758,
                "Recall": 0.9837,
                "Specificity": 0.999,
                "F1 score": 0.9797
            },
            "School": {
                "Precision": 0.8824,
                "Recall": 0.8333,
                "Specificity": 0.9966,
                "F1 score": 0.8571
            },
            "SparseResidential": {
                "Precision": 1.0,
                "Recall": 0.9889,
                "Specificity": 1.0,
                "F1 score": 0.9944
            },
            "Square": {
                "Precision": 0.9485,
                "Recall": 0.9293,
                "Specificity": 0.9983,
                "F1 score": 0.9388
            },
            "Stadium": {
                "Precision": 1.0,
                "Recall": 0.977,
                "Specificity": 1.0,
                "F1 score": 0.9884
            },
            "StorageTanks": {
                "Precision": 0.9722,
                "Recall": 0.9722,
                "Specificity": 0.999,
                "F1 score": 0.9722
            },
            "Viaduct": {
                "Precision": 0.9844,
                "Recall": 1.0,
                "Specificity": 0.9993,
                "F1 score": 0.9921
            },
            "mean precision": 0.9612066666666668,
            "mean recall": 0.9604766666666668,
            "mean specificity": 0.9986966666666669,
            "mean f1 score": 0.96056
        }
    },
    "epoch:9": {
        "train info": {
            "accuracy": 0.9994285714271437,
            "Airport": {
                "Precision": 0.996,
                "Recall": 1.0,
                "Specificity": 0.9999,
                "F1 score": 0.998
            },
            "BareLand": {
                "Precision": 1.0,
                "Recall": 0.9954,
                "Specificity": 1.0,
                "F1 score": 0.9977
            },
            "BaseballField": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Beach": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Bridge": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Center": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Church": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Commercial": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "DenseResidential": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Desert": {
                "Precision": 0.9953,
                "Recall": 1.0,
                "Specificity": 0.9999,
                "F1 score": 0.9976
            },
            "Farmland": {
                "Precision": 1.0,
                "Recall": 0.9961,
                "Specificity": 1.0,
                "F1 score": 0.998
            },
            "Forest": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Industrial": {
                "Precision": 1.0,
                "Recall": 0.9963,
                "Specificity": 1.0,
                "F1 score": 0.9981
            },
            "Meadow": {
                "Precision": 0.9949,
                "Recall": 1.0,
                "Specificity": 0.9999,
                "F1 score": 0.9974
            },
            "MediumResidential": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Mountain": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Park": {
                "Precision": 1.0,
                "Recall": 0.9959,
                "Specificity": 1.0,
                "F1 score": 0.9979
            },
            "Parking": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Playground": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Pond": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Port": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "RailwayStation": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Resort": {
                "Precision": 0.9951,
                "Recall": 1.0,
                "Specificity": 0.9999,
                "F1 score": 0.9975
            },
            "River": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "School": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "SparseResidential": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Square": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Stadium": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "StorageTanks": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "Viaduct": {
                "Precision": 1.0,
                "Recall": 1.0,
                "Specificity": 1.0,
                "F1 score": 1.0
            },
            "mean precision": 0.9993766666666667,
            "mean recall": 0.9994566666666667,
            "mean specificity": 0.9999866666666667,
            "mean f1 score": 0.9994066666666667
        },
        "valid info": {
            "accuracy": 0.9633333333301223,
            "Airport": {
                "Precision": 0.955,
                "Recall": 0.9815,
                "Specificity": 0.9983,
                "F1 score": 0.9681
            },
            "BareLand": {
                "Precision": 0.9583,
                "Recall": 0.9892,
                "Specificity": 0.9986,
                "F1 score": 0.9735
            },
            "BaseballField": {
                "Precision": 0.9565,
                "Recall": 1.0,
                "Specificity": 0.999,
                "F1 score": 0.9778
            },
            "Beach": {
                "Precision": 1.0,
                "Recall": 0.9917,
                "Specificity": 1.0,
                "F1 score": 0.9958
            },
            "Bridge": {
                "Precision": 0.9815,
                "Recall": 0.9815,
                "Specificity": 0.9993,
                "F1 score": 0.9815
            },
            "Center": {
                "Precision": 0.8987,
                "Recall": 0.9103,
                "Specificity": 0.9973,
                "F1 score": 0.9045
            },
            "Church": {
                "Precision": 0.9143,
                "Recall": 0.8889,
                "Specificity": 0.998,
                "F1 score": 0.9014
            },
            "Commercial": {
                "Precision": 0.8571,
                "Recall": 0.9714,
                "Specificity": 0.9941,
                "F1 score": 0.9107
            },
            "DenseResidential": {
                "Precision": 0.9504,
                "Recall": 0.935,
                "Specificity": 0.9979,
                "F1 score": 0.9426
            },
            "Desert": {
                "Precision": 1.0,
                "Recall": 0.9667,
                "Specificity": 1.0,
                "F1 score": 0.9831
            },
            "Farmland": {
                "Precision": 0.9817,
                "Recall": 0.964,
                "Specificity": 0.9993,
                "F1 score": 0.9728
            },
            "Forest": {
                "Precision": 1.0,
                "Recall": 0.9733,
                "Specificity": 1.0,
                "F1 score": 0.9865
            },
            "Industrial": {
                "Precision": 0.9316,
                "Recall": 0.9316,
                "Specificity": 0.9972,
                "F1 score": 0.9316
            },
            "Meadow": {
                "Precision": 0.9882,
                "Recall": 1.0,
                "Specificity": 0.9997,
                "F1 score": 0.9941
            },
            "MediumResidential": {
                "Precision": 0.9545,
                "Recall": 0.9655,
                "Specificity": 0.9986,
                "F1 score": 0.96
            },
            "Mountain": {
                "Precision": 0.9903,
                "Recall": 1.0,
                "Specificity": 0.9997,
                "F1 score": 0.9951
            },
            "Park": {
                "Precision": 0.9327,
                "Recall": 0.9238,
                "Specificity": 0.9976,
                "F1 score": 0.9282
            },
            "Parking": {
                "Precision": 0.9748,
                "Recall": 0.9915,
                "Specificity": 0.999,
                "F1 score": 0.9831
            },
            "Playground": {
                "Precision": 0.991,
                "Recall": 0.991,
                "Specificity": 0.9997,
                "F1 score": 0.991
            },
            "Pond": {
                "Precision": 0.984,
                "Recall": 0.9762,
                "Specificity": 0.9993,
                "F1 score": 0.9801
            },
            "Port": {
                "Precision": 0.9825,
                "Recall": 0.9825,
                "Specificity": 0.9993,
                "F1 score": 0.9825
            },
            "RailwayStation": {
                "Precision": 0.9737,
                "Recall": 0.9487,
                "Specificity": 0.9993,
                "F1 score": 0.961
            },
            "Resort": {
                "Precision": 0.95,
                "Recall": 0.8736,
                "Specificity": 0.9986,
                "F1 score": 0.9102
            },
            "River": {
                "Precision": 0.9758,
                "Recall": 0.9837,
                "Specificity": 0.999,
                "F1 score": 0.9797
            },
            "School": {
                "Precision": 0.8876,
                "Recall": 0.8778,
                "Specificity": 0.9966,
                "F1 score": 0.8827
            },
            "SparseResidential": {
                "Precision": 1.0,
                "Recall": 0.9889,
                "Specificity": 1.0,
                "F1 score": 0.9944
            },
            "Square": {
                "Precision": 0.9574,
                "Recall": 0.9091,
                "Specificity": 0.9986,
                "F1 score": 0.9326
            },
            "Stadium": {
                "Precision": 1.0,
                "Recall": 0.977,
                "Specificity": 1.0,
                "F1 score": 0.9884
            },
            "StorageTanks": {
                "Precision": 0.9722,
                "Recall": 0.9722,
                "Specificity": 0.999,
                "F1 score": 0.9722
            },
            "Viaduct": {
                "Precision": 0.9844,
                "Recall": 1.0,
                "Specificity": 0.9993,
                "F1 score": 0.9921
            },
            "mean precision": 0.9628066666666666,
            "mean recall": 0.9615533333333333,
            "mean specificity": 0.9987433333333334,
            "mean f1 score": 0.9619099999999999
        }
    }
}

这些都是代码自动生成的,摆放好数据集即可

6.推理

这里使用QT推理:

7.下载

下载地址:基于vision-Transformer+InceptionDW模块+Focalloss改进的【遥感地面30多类土地目标】的图像分类项目资源-CSDN文库

关于神经网络的改进,可以关注本人专栏:AI 改进系列_听风吹等浪起的博客-CSDN博客

相关推荐
萧鼎18 分钟前
RAGFlow:构建高效检索增强生成流程的技术解析
人工智能·python
爱的叹息22 分钟前
主流开源 LLM 应用开发平台详解
人工智能·开源
赋范大模型技术社区24 分钟前
从0手撕代码搭建MCP Client与Server!详解DeepSeek、ollama、vLLM接入MCP实战!
人工智能·mcp
lx74160269829 分钟前
配置RSUniVLM环境(自用)
计算机视觉
Baihai_IDP33 分钟前
面对开源大模型浪潮,基础模型公司如何持续盈利?
人工智能·openai·deepseek
陈明勇35 分钟前
MCP 实战:用 Go 语言开发一个查询 IP 信息的 MCP 服务器
人工智能·后端·mcp
浏览器爱好者40 分钟前
如何下载适用于语音识别功能增强的Google Chrome浏览器
人工智能·chrome·语音识别
THe CHallEnge of THe BrAve1 小时前
面阵相机中M12镜头和远心镜头的区别及性能优势
图像处理·数码相机·计算机视觉·视觉检测
孔令飞1 小时前
彻底学会 gRPC:用 Go 实现一个迷你考试服务
人工智能·云原生·go
梓羽玩Python1 小时前
告别OCR!这个AI文档神器直接"看懂"PDF,支持文档归类及多模态问答!
人工智能·github