Deepfake-Detection-Exp-02-22 是一个基于 ViT (Vision Transformer) 的深度伪造图像检测模型(实验版本2)。该模型使用 Google 的 google/vit-base-patch32-224-in21k 作为基础架构(patch_size=32),在 Deepfake vs Real 数据集上微调,用于区分真实图像与深度伪造图像。
图像分类(Image Classification)- 二分类:Deepfake(深度伪造)vs Real(真实)
PyTorch
该模型已适配华为昇腾 NPU(Ascend910)。主要适配工作:
torch_npu 在昇腾 NPU 上运行模型推理.to("npu") 迁移至 NPU 设备pip install torch torchvision transformers pillow numpy
python -c "import torch; print(torch.npu.is_available())"# CPU 推理
python inference.py --image path/to/image.jpg --device cpu
# NPU 推理
python inference.py --image path/to/image.jpg --device npu| 设备 | 类别 | 置信度 | 推理耗时 |
|---|---|---|---|
| CPU | Real | 0.501112 | 210.76 ms |
| NPU | Real | 0.501014 | 11.12 ms |
NPU 推理速度约为 CPU 的 19 倍。
python compare_cpu_npu.py| 测试图像 | 指标 | CPU 结果 | NPU 结果 | 差异 |
|---|---|---|---|---|
| test_face.png | 分类 | Real | Real | 一致 |
| test_face.png | 概率(Deepfake) | 0.498888 | 0.498986 | 0.000098 |
| test_face.png | 概率(Real) | 0.501112 | 0.501014 | 0.000098 |
| test_face.png | 余弦相似度 | - | - | 0.999989 |
| test_face2.png | 分类 | Real | Real | 一致 |
| test_face2.png | 概率(Deepfake) | 0.489273 | 0.489225 | 0.000048 |
| test_face2.png | 概率(Real) | 0.510727 | 0.510775 | 0.000048 |
| test_face2.png | 余弦相似度 | - | - | 0.999967 |
结论:NPU 与 CPU 推理结果误差 < 1%(最大概率相对误差 0.02%)
| 设备 | 推理耗时 (ms) | 加速比 |
|---|---|---|
| CPU | 210.76 | 1x |
| NPU (Ascend910) | 11.12 | ~19x |
基于现有评测数据,CPU 与 NPU 的 余弦相似度 精度误差为 0.0011%,小于 1% 的精度要求。
本仓库提供完整的推理脚本,支持 CPU 和 NPU 双平台推理:
# NPU 推理
python3 inference.py --device npu
# CPU 推理
python3 inference.py --device cpu推理完成后会输出推理结果和耗时,表明模型在 NPU 上推理成功。
基于现有评测数据,CPU 与 NPU 的 余弦相似度 精度误差为 0.0011%,小于 1% 的精度要求。
#+NPU #+CV #+图像分类 #+深度伪造检测 #+ViT #+昇腾 #+PyTorch