g
gcw_C8PI9e90/Deepfake-Detection-Exp-02-21-ONNX-npu
模型介绍文件和版本Pull Requests讨论分析

Deepfake-Detection-Exp-02-21-ONNX-NPU

模型介绍

Deepfake-Detection-Exp-02-21-ONNX 是 Deepfake-Detection-Exp-02-21 的 ONNX 导出版本,包含多种量化精度(FP32、FP16、INT8、Q4、BNB4 等)。该模型基于 ViT (Vision Transformer) 架构,用于区分真实图像与深度伪造图像。

原始模型地址

  • ModelScope: https://www.modelscope.cn/models/prithivMLmods/Deepfake-Detection-Exp-02-21-ONNX
  • 原始 PyTorch 模型: https://www.modelscope.cn/models/prithivMLmods/Deepfake-Detection-Exp-02-21

任务类型

图像分类(Image Classification)- 二分类:Deepfake(深度伪造)vs Real(真实)

模型框架

ONNX(从 PyTorch 导出)

输入格式

  • 图像:RGB 格式,224x224 像素
  • 预处理:resize 到 224x224,归一化(mean=0.5, std=0.5)
  • ONNX 输入:pixel_values (float32), 形状 [batch_size, 3, 224, 224]

输出格式

  • logits:形状为 (batch_size, 2) 的 ONNX 张量
  • 类别:{0: "Deepfake", 1: "Real"}

依赖环境

  • Python 3.11+
  • onnx >= 1.14.0
  • onnxruntime >= 1.15.0
  • PyTorch >= 2.0.0(NPU 推理用)
  • transformers >= 4.30.0
  • pillow >= 9.0.0
  • numpy >= 1.21.0

NPU 适配说明

由于 ONNX Runtime 暂未提供原生 Ascend 执行加速器(Execution Provider),NPU 推理使用 PyTorch 加载相同权重后通过 torch_npu 在昇腾 NPU 上运行。CPU 推理使用 ONNX Runtime 原生运行。

主要适配工作:

  1. CPU:使用 ONNX Runtime 的 CPUExecutionProvider 运行 ONNX 模型
  2. NPU:使用 PyTorch + torch_npu 加载相同模型权重执行推理
  3. 对比 ONNX CPU 与 PyTorch NPU 的推理结果

环境准备

pip install onnx onnxruntime torch torchvision transformers pillow numpy
python -c "import torch; print(torch.npu.is_available())"

推理命令

# ONNX CPU 推理
python inference.py --image path/to/image.jpg --device onnx_cpu

# PyTorch NPU 推理
python inference.py --image path/to/image.jpg --device npu

推理结果

设备推理后端类别置信度推理耗时
CPUONNX RuntimeDeepfake0.515876315.46 ms
NPUPyTorchDeepfake0.51589110.74 ms

NPU 推理速度约为 ONNX CPU 的 29 倍。

CPU/NPU 精度测试方法

  1. CPU 端使用 ONNX Runtime 加载 ONNX 模型推理
  2. NPU 端使用 PyTorch + torch_npu 加载相同权重推理
  3. 对比两边的 logits、概率分布和分类结果
python compare_cpu_npu.py

CPU/NPU 精度测试结果

测试图像指标ONNX CPU 结果NPU 结果差异
test_face.png分类DeepfakeDeepfake一致
test_face.png概率(Deepfake)0.5158760.5158910.000015
test_face.png概率(Real)0.4841240.4841090.000015
test_face.png余弦相似度--0.999840
test_face2.png分类DeepfakeDeepfake一致
test_face2.png概率(Deepfake)0.5815910.5815600.000031
test_face2.png概率(Real)0.4184090.4184400.000031
test_face2.png余弦相似度--0.999996

结论:NPU 与 CPU 推理结果误差 < 1%(最大概率相对误差 0.008%)

性能测试结果

设备推理耗时 (ms)加速比
CPU (ONNX Runtime)315.461x
NPU (Ascend910)10.74~29x

精度结论

基于现有评测数据,CPU 与 NPU 的 余弦相似度 精度误差为 0.016%,小于 1% 的精度要求。

精度结论

基于现有评测数据,CPU 与 NPU 的 余弦相似度 精度误差为 0.016%,小于 1% 的精度要求。

模型标签

#+NPU #+CV #+图像分类 #+深度伪造检测 #+ViT #+昇腾 #+ONNX

下载使用量0