w
gcw_uQ09W7jl/Heathcliff02-Kaloscope-2.0-NPU
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

Heathcliff02/Kaloscope-2.0 on Ascend NPU

1. 简介

本项目将 Kaloscope-2.0 艺术家风格分类模型 适配到单卡昇腾 NPU(Ascend910)上运行。

模型基于 LSNet-XL-448 架构,训练于 Danbooru 数据集(截至 2025 年 9 月),支持 39,261 个艺术家类别分类,参数量约 183M,Top-1 准确率达 90.13%。适配过程使用 ModelScope 本地权重加载。

2. 验证环境

项目版本
NPUAscend910
CANN8.5.1
Python3.11.14
PyTorch2.x
torch_npu已安装

3. 推理运行

pip install -r requirements.txt
python inference.py

推理结果 (NPU Top-5):

排名类别概率
Top-1toshi_(hokkaido2015)0.2479
Top-2kamimon20160.0190
Top-3naora_yusuke0.0136
Top-4chie_t196904280.0133
Top-5tsuduki_neko0.0093

日志保存在 logs/inference.log。

4. 精度验证

对单张测试图片进行 CPU 与 NPU 一致性验证:

指标数值
max_abs_error0.023619
mean_abs_error0.004104
relative_error0.2633%
cosine_similarity0.999997
threshold1.0%
结果PASS

CPU Top-1: toshi_(hokkaido2015) NPU Top-1: toshi_(hokkaido2015) Top-1 match: True

5. 性能参考

指标数值
avg_time_ms183.25
min_time_ms183.07
max_time_ms183.40
p50_time_ms183.25
p90_time_ms183.35
p95_time_ms183.38
throughput_images_per_sec5.46

6. 精度评测说明

本项目包含单图 smoke consistency 验证,非官方完整验证集评测。详细指标见第 4 节。

7. 自验证截图

见 screenshots/self_verification.txt。

8. 日志文件

  • logs/inference.log — NPU 推理结果
  • logs/accuracy.log — CPU-NPU 精度一致性
  • logs/benchmark.log — NPU 性能基准

9. 项目结构

.
├── model/                  # LSNet 模型定义源码
│   ├── lsnet.py
│   ├── lsnet_artist.py
│   └── ska.py
├── model_utils.py          # 模型加载与预处理
├── inference.py            # NPU 单图推理
├── eval_accuracy.py        # CPU-NPU 精度对比
├── benchmark.py            # NPU 性能测试
├── requirements.txt        # 依赖
├── assets/
│   └── test.jpg            # 测试图片
├── screenshots/
│   └── self_verification.txt
├── logs/                   # 运行日志(运行时生成)
└── README.md

10. 适配说明

  • 模型定义来自 spawner1145/lsnet-test,已内嵌到本项目的 model/ 目录中,无需额外克隆。
  • 权重加载使用 model_ema 状态字典(推理质量更优),并去除 module. 前缀。
  • NPU 迁移后需重新调用 model.eval(),以在 NPU 上重新计算 attention bias cache,避免跨设备张量错误。
  • 输入尺寸为 448x448,预处理使用 ImageNet 默认均值/标准差归一化。