f-AnoGAN 教程
f-AnoGAN项目地址:https://gitcode.com/gh_mirrors/fan/f-AnoGAN
1. 项目目录结构及介绍
f-AnoGAN 是一个基于 PyTorch 的异常检测框架,其目录结构如下:
f-AnoGAN/
├── images/ # 存放示例图像
├── mnist/ # 示例数据集 - MNIST
│ ├── model.py # MNIST 数据集相关模型
│ └─ ... # 其他训练和测试脚本
├── mvtec_ad/ # MVTec AD 数据集相关代码
│ ├── model.py # MVTec AD 数据集相关模型
│ └─ ...
├── your_own_dataset/ # 用户自定义数据集存放位置
└── ...
├── setup.py # 安装脚本
├── train_wgangp.py # 训练 WGAN-GP 模型
├── train_encoder_izif.py # 训练编码器 IZIF
├── test_anomaly_detection.py # 测试异常检测
├── save_compared_images.py # 保存比较图像
├── README.md # 项目说明
└── ... # 其他辅助文件和文档
images/
: 放置示例图像和结果图片。mnist/
: 包含训练和测试 MNIST 数据集的代码。mvtec_ad/
: 包含训练和测试 MVTec AD 数据集的代码。train_wgangp.py
: 训练 GAN 中的 WGAN-GP 分支。train_encoder_izif.py
: 训练用于异常检测的编码器。test_anomaly_detection.py
: 在测试数据上运行异常检测。save_compared_images.py
: 保存异常检测结果的图像对比。
2. 项目启动文件介绍
train_wgangp.py
该脚本负责训练 GAN 的 Generator 和 Discriminator 部分。主要参数包括:
--training_label
: 标签值,表示要训练的数据类别(MNIST 数据集中是数字)。--seed
: 种子值以确保实验可复现性。--n_epochs
: 训练轮数。
train_encoder_izif.py
此脚本用于单独训练用于异常分数计算的编码器。参数与 train_wgangp.py
类似。
test_anomaly_detection.py
这个脚本用于在新的测试数据上执行异常检测。重要参数包括:
"your_own_dataset_dir_name/test_dir_name"
: 指定你的测试数据集相对路径。
save_compared_images.py
用于可视化比较正常图像与重建后的图像,帮助评估模型性能。参数包括:
"your_own_dataset_dir_name/test_dir_name"
: 测试数据集相对路径。--n_iters
: 显示多少个迭代次数的结果。--n_grid_lines
: 图像网格线的数量。
3. 项目的配置文件介绍
该项目没有使用标准的配置文件,但可以通过命令行参数来调整设置。例如,你可以通过以下方式改变训练轮数:
python train_wgangp.py --n_epochs 50
对于更复杂的配置,如更改模型架构或学习率等,可能需要直接修改源代码中的变量或添加额外的脚本来实现。不过,为了方便扩展,你可以考虑将这些参数提取到 YAML 或 JSON 配置文件中,然后在启动脚本中加载它们。这不是现有项目的一部分,但可以作为定制的一个方向。