Anomalib学习(2.入门-结合官网案例进行参数解释之Engine)

续接:Anomalib学习(1. 入门-快速上手训练自己的数据集)

Engine的相关参数以及作用:

Engine(callbacks=None, 
       normalization=NormalizationMethod.MIN_MAX, 
       threshold='F1AdaptiveThreshold', 
       task=TaskType.SEGMENTATION, 
       image_metrics=None, 
       pixel_metrics=None, 
       logger=None, 
       default_root_dir='results', 
       **kwargs)
callbacks:list[Callback], 回调函数列表。用于在训练或推理过程中触发特定的操作。常见的回调包括模型保存、日志记录、学习率调整等。用户可以通过传递自定义的回调对象,来监控和控制模型训练的各个阶段。
normalization :归一化的方式,默认是最大最小归一化
threshold:阈值方法选择(非常规意义上的设置阈值),默认是F1AdaptiveThreshold(作用是根据 F1 分数自适应地计算阈值,使得模型能够在精度(Precision)和召回率(Recall)之间取得平衡,从而优化模型性能。)
task:设置任务,默认是SEGMENTATION任务
image_metrics:指定图像级别的评估指标
pixel_metrics:指定像素级别的评估指标
logger:用于传递日志记录工具,说白了就是个日志记录器
default_root_dir:指定存储模型训练和推理结果的目录
  • threshold
    除了默认的F1AdaptiveThreshold方式,还可以使用 ManualThreshold(0.5)的方式传递具体的值,参考源码定义:
_initialize_thresholds(F1AdaptiveThreshold())
_initialize_thresholds((ManualThreshold(0.5), ManualThreshold(0.5)))

我的理解是此处要么传递一个方法名,比如 F1AdaptiveThreshold,源码中会自己计算并分配好image_threshold与pixel_threshold两个阈值;
要么以tuple的方式 (ManualThreshold(0.5), ManualThreshold(0.5)) 传递 image_threshold与pixel_threshold两个确定的阈值。
当然还有第3种传递threshold的方式,有点复杂,懒得解析;前两个基本够用了。

image_threshold:判断整张图象是否异常的图像级阈值
pixel_threshold:判断像素点是否异常的像素级阈值

  • task
    SEGMENTATION:分割任务
    CLASSIFICATION:分类任务
  • image_metrics
    参数为None的时候,默认为AUROC、F1Score两个指标
  • pixel_metrics
    参数为None的时候,默认为AUROC、F1Score两个指标 【仅针对SEGMENTATION任务】

task、image_metrics、pixel_metrics这3个参数有关联

还有其他一些使用事项,后续再继续在本文上补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

royallucky(视觉方向)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值