新手复现STANet代码详解STANet/options/base_options.py
创始人
2025-05-30 14:33:07
0

STANet/options/base_options.py

  • BaseOptions.py
    • initialize方法
    • gather_options方法
    • print_options方法
    • parse方法

BaseOptions.py

该类定义了训练和测试时使用的选项。
它还实现了一些辅助功能,如解析、打印和保存选项。
它还收集了数据集类和模型类中定义在函数中的其他选项。

主要用于训练和测试是定义参数设置。(这些参数设置在dataset类和model类中的方法中)

import argparse
import os
from util import util
import torch
import models
import data

argparse模块介绍

initialize方法

定义在训练和测试中使用的通用选项。
  • 基本参数
    dataroot:训练数据目录
    val_dataroot:验证集目录
    name:实验的名称(用于决定存储模型的位置)
    gpu_id
    ckeckpoints_dir:存储模型

  • 模型参数
    model:选择使用的模型[CDF0|CDFA]
    input_nc:输入的图像通道数:默认RGB即3
    output_nv:输出的图像通道数:默认RGB即3
    acrh:特征提取器结构|mynet3
    f_c:特征提取器通道数,默认64
    n_class:输出预测通道,默认为2(分两类,变化1和未变化0)
    init_type:网络初始化默认normal[normal|xavier|kaiming|orthogonal]
    intit_gain:初始化因子,默认0.02
    SA_mode:为变化检测选择自注意力机制模式,默认为BAM

  • 数据集参数:
    dataset_mode:选择加载数据集的方式[changedetection | concat | list | json],默认changedetection
    val_dataset_mode:选择加载数据集的方式[changedetection | concat | list | json],默认changedetection
    split:选择哪一列文件[train | val | test],默认train
    val_spilt:选择哪一列文件[train | val | test],默认val
    json_name:输入包含不同阶段图像文件名的json名称,默认train_val_test
    val_json_name:输入包含不同阶段图像文件名的json名称,默认train_val_test
    ds:自注意力模块下采样率
    angle:图片旋转角度,默认0
    istest:设置布尔值为True使称为无标签的情况,默认False
    serial_batcher:如果为真,则取图像以进行批量处理,否则随机取。默认为store_true
    num_threads:用于加载数据的线程。默认为4
    batch_size:输入batch size,默认为1
    load_size:将图片缩放到这个大小,默认为286
    crop_size:然后将其切割成这个大小,默认256
    max_dataset_size:每个数据集允许的最大样本数。如果数据集目录包含大于max_dataset_size,则只加载一个子集
    preprocess:加载时缩放和裁剪图像[resize_and_crop | none]
    no_filp:如果指定,不要翻转(左右)图像以进行数据增强

  • 额外参数:
    epoch:加载哪个epoch ?设置为latest以使用最新的缓存模型
    load_iter:加载哪个迭代?如果load_iter >为0,代码将通过iter_[load_iter]加载模型;否则,代码将通过[epoch]加载模型。默认为0
    verbose:如果指定,打印更多调试信息。默认store_true
    suffix:自定义后缀:opt.name = opt.name +后缀:例如{model}_{netG}_size{load_size}

gather_options方法

用基本选项初始化解析器(仅一次)。
添加特定于模型和特定于数据集的选项。
这些选项定义在在模型和数据集类中的方法中实现。
  • 获得基本的选项:
opt, _ = parser.parse_known_args()

parse_known_args()返回的是一个有两个元素的元组,第一个元素是NameSpace,和parge_args()返回的NameSpace完全相同,第二个是一个空列表。因此用_作为占位符接受空列表。
在这里也可以直接用parse_args()得到一个返回值元素是NameSpace。

  • 修改模型相关的解析器选项
  • 修改数据集相关的解析器选项
  • 保存并返回解析器

print_options方法

打印并保存选项
它将打印当前选项和默认值(如果不同)。
它会将选项保存到文本文件/ [checkpoints_dir] / opt.txt中

parse方法

解析我们的选项,创建检查点目录后缀,并设置gpu设备。

相关内容

热门资讯

原创 中... 据中国青年报报道,近日,中国四艘海警船编队进入钓鱼岛海域进行常规巡航,依照既定的维权程序,船队在海域...
原创 特... 2025年11月9日,美国总统特朗普在自己的社交平台TruthSocial上宣布,他提名约翰·科尔担...
top等级胡瑾刑事律师团队:死... 在刑事法律领域,辩护律师的专业能力与经验直接关乎当事人的合法权益能否得到充分保障。随着法治建设的深入...
霸王茶姬90后创始人将成常州女... 来源:一波说传承有道 近日,一场即将举行的婚礼悄然成为财经圈与大众舆论场共同关注的焦点。 一张流传于...
常州法院2025年前三季度调解... 调解结案16474件、调解成功率24.08%——这是2025年前三季度常州法院交出的司法成绩单。通过...
安徽省政协研究室副主任陈鑫已任... 据铜陵市政府官网消息,11月20日上午,市委举行理论学习中心组学习会议,邀请省委社会工作部副部长高维...
原创 联... 据光明网报道,11月19日,在联合国大会的讨论中,日本企图争取成为安理会常任理事国的梦想再次破灭,令...
南部关于全县规范法律咨询服务机... 一、专项行动时间 自即日起至2025年12月。 二、举报受理范围 社会各界反映强烈的某些法律咨询服务...
“男子持刀入室盗窃”视频引发关... 近日,一段疑似“小偷”入室盗窃被业主家中监控拍下的视频在网上引发关注。11月21日晚,“翠屏公安”微...