Deepfake-Detection-Exp-02-21-ONNX 是 Deepfake-Detection-Exp-02-21 的 ONNX 导出版本,包含多种量化精度(FP32、FP16、INT8、Q4、BNB4 等)。该模型基于 ViT (Vision Transformer) 架构,用于区分真实图像与深度伪造图像。
图像分类(Image Classification)- 二分类:Deepfake(深度伪造)vs Real(真实)
ONNX(从 PyTorch 导出)
由于 ONNX Runtime 暂未提供原生 Ascend 执行加速器(Execution Provider),NPU 推理使用 PyTorch 加载相同权重后通过 torch_npu 在昇腾 NPU 上运行。CPU 推理使用 ONNX Runtime 原生运行。
主要适配工作:
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| 设备 | 推理后端 | 类别 | 置信度 | 推理耗时 |
|---|---|---|---|---|
| CPU | ONNX Runtime | Deepfake | 0.515876 | 315.46 ms |
| NPU | PyTorch | Deepfake | 0.515891 | 10.74 ms |
NPU 推理速度约为 ONNX CPU 的 29 倍。
python compare_cpu_npu.py| 测试图像 | 指标 | ONNX CPU 结果 | NPU 结果 | 差异 |
|---|---|---|---|---|
| test_face.png | 分类 | Deepfake | Deepfake | 一致 |
| test_face.png | 概率(Deepfake) | 0.515876 | 0.515891 | 0.000015 |
| test_face.png | 概率(Real) | 0.484124 | 0.484109 | 0.000015 |
| test_face.png | 余弦相似度 | - | - | 0.999840 |
| test_face2.png | 分类 | Deepfake | Deepfake | 一致 |
| test_face2.png | 概率(Deepfake) | 0.581591 | 0.581560 | 0.000031 |
| test_face2.png | 概率(Real) | 0.418409 | 0.418440 | 0.000031 |
| test_face2.png | 余弦相似度 | - | - | 0.999996 |
结论:NPU 与 CPU 推理结果误差 < 1%(最大概率相对误差 0.008%)
| 设备 | 推理耗时 (ms) | 加速比 |
|---|---|---|
| CPU (ONNX Runtime) | 315.46 | 1x |
| NPU (Ascend910) | 10.74 | ~29x |
基于现有评测数据,CPU 与 NPU 的 余弦相似度 精度误差为 0.016%,小于 1% 的精度要求。
基于现有评测数据,CPU 与 NPU 的 余弦相似度 精度误差为 0.016%,小于 1% 的精度要求。
#+NPU #+CV #+图像分类 #+深度伪造检测 #+ViT #+昇腾 #+ONNX