language: cn
model_unique_abbr: D_LinkNet_GPU_pytorch
version: 1.0
identification:
  docker_image_name: d_linknet:1.0
  model_name: D_LinkNet（GPU）
  semantic: LinkNet With Pretrained Encoder and Dilated Convolution
  description: 以监督学习方式对图像进行语义分割，实现对图像中对象的识别与分类
  category_application: 预测型
  category_data:
  - 遥感影像数据
  - 图像数据
  keywords:
  - 语义分割
  - 图像分类
  - 对象识别
parameter_info:
  parameters:
  - arg_name: -data_dir
    param_type: input_data
    name: 图像路径
    description: 训练的图像路径，训练图像格式为jpg，标签数据格式为png
    data_type: png
    data_semantic: Training image path

  - arg_name: -test_data_dir
    param_type: input_data
    name: 测试数据路径
    description: 测试数据的路径,图像格式为jpg
    data_type: jpg
    data_semantic: Data path for testing

  - arg_name: -eval_data_dir
    param_type: input_data
    name: 验证图像数据路径
    description: 用来验证的图像数据路径，验证图像数据格式为jpg，标签数据格式为png
    data_type: png
    data_semantic: Data path for validating

  - arg_name: -weights_path
    param_type: output_data
    name: 预先训练的网络
    description: 预先训练的网络
    data_type: pth
    data_semantic: Pretrained network

  - arg_name: -log_path
    param_type: output_data
    name: 训练日志文件
    description: 训练日志文件
    data_type: log
    data_semantic: Train Log file path

  - arg_name: -result_dir
    param_type: output_data
    name: 测试结果路径
    description: 测试结果文件
    data_type: png
    data_semantic: Training results

  - arg_name: -batch_size
    param_type: param
    name: 批量大小
    description: 每批加载多少个样本，根据数据集的大小和样本数目确定，一般取值为2的幂次方，取值范围为[1,)
    is_required: false
    data_type: int
    data_semantic: Batch size
    specification:
      default: 2
      range:
      - \[1,)

  - arg_name: -epochs
    param_type: param
    name: 模型训练次数
    description: 当一个完整的数据集通过神经网络一次并且返回一次，这个过程称为一个epoch,训练次数不同可影响模型精度，可根据需求选择，取值范围[1,)
    is_required: false
    data_type: int
    data_semantic: nEpochs
    specification:
      default: 2
      range:
      - \[1,)

application:
  domain: 图像语义分割
  objective: 依据先验信息对影像数据分割成具有一定语义含义的区域块，并识别出每个区域块的语义类别。
  mechanism: 对输入影像数据集使用编码器进行深度特征提取，再使用解码器从特征中获取各区域块的空间和语义信息。
operation:
  usage: 在命令行中用代码指定训练图像路径，测试图像路径，验证集图像和标签数据路径，训练日志文件，预训练模型路径，批量大小以及训练次数，完成算法运行。
  exec_example:
  - docker run d_linknet:1.0 -v $(pwd):/data --data_dir ./dataset/train --test_data_dir ./dataset/test --eval_data_dir ./dataset/eval --weights_path ./weights --log_path ./logs --batch_size 2 --epochs 2 --result_dir ./results
  output_display:
  - 将预测得到的图像文件显示在前端页面中
  license:
  - BSD-3-Clause
  - MIT
  - HPND
technique:
  language:
  - Python
  os:
  - Linux
  - Windows
  hardware:
  - GPU
  dependencies:
  - name: python
    version: 3.8
  - name: numpy
    version: 1.24.4
  - name: opencv-contrib-python
    version: 4.9.0.80
  - name: tqdm
    version: 4.66.1
  - name: cuda
    version: 11.7
  - name: cudnn
    version: 8
source:
  maintainer: Wenjing Ding
  organization: Beijing University of Civil Engineering and Architecture
  contact: wjd1009@163.com
  references:
  - Lichen Zhou, Chuang Zhang, Ming Wu，T. 2018. LinkNet with Pretrained Encoder and Dilated Convolution for HighResolution Satellite Imagery Road Extraction
