模型名称: nsfw_image_detector(Freepik/nsfw_image_detector) 模型链接: Freepik/nsfw_image_detector 模型描述: Freepik 推出的快速 NSFW(不适宜内容)图像分类模型,基于 EVA02 ViT 视觉 Transformer 骨干微调,可将图像按 NSFW 程度分为 neutral / low / medium / high 四级,适用于内容审核、AIGC 平台安全过滤等场景。采用 MIT 许可证。 模型架构: EVA02(ViT base,patch14,输入 448x448),TimmWrapperForImageClassification 分类头 参数规模: 约 86M(165M 权重文件为 fp32/bf16 存储)
| 依赖项 | 版本要求 | 说明 |
|---|---|---|
| Python | >= 3.10 | 推荐 3.11 |
| torch / torch_npu | 2.1.0+ | 本环境为 torch 2.7.1+cpu + torch_npu |
| timm | >= 1.0.28 | 直接加载 EVA02 骨干(纯 timm 格式权重) |
| safetensors | >= 0.4.0 | 权重文件读取 |
| Pillow / numpy | - | 图像预处理与后处理 |
| 昇腾驱动 | CANN 8.0+ | npu-smi 可用即可 |
安装命令:
pip install --target /mnt/workspace/nsfw_image_detector/libs timm safetensors pillow numpy注意:不要在 libs 里安装 torch/torchvision/torch_npu,使用系统自带版本。
# 检查 NPU 设备
npu-smi info
# 设置模型专属依赖路径
export PYTHONPATH=/mnt/workspace/nsfw_image_detector/libs:$PYTHONPATHpython inference.py --model_path /home/developer/models/nsfw_image_detector脚本内置示例输入(优先使用权重目录自带的样例图,否则自动合成测试图),自动选择设备 npu > cuda > cpu,输出四级分类概率到 outputs/result.json。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| --model_path | str | /home/developer/models/nsfw_image_detector | 本地模型权重目录(必传) |
| --input_image | str | None | 输入图片路径,缺省用内置示例图 |
| --output_dir | str | outputs | 分类结果 JSON 输出目录 |
输入:
python inference.py --model_path /home/developer/models/nsfw_image_detector输出:
[INFO] 设备类型: npu, device=npu:0
[INFO] 模型加载完成,加载耗时=3.37s
[INFO] 输入图像: synthetic_sample.png (size=(512, 512))
[INFO] 分类结果: neutral (confidence=0.9873)
[INFO] 各类别概率: {'neutral': 0.987301, 'low': 0.008412, 'medium': 0.003215, 'high': 0.001072}
[INFO] 结果已保存: outputs/result.json
耗时/elapsed: 0.812 s输入:
python inference.py --model_path /home/developer/models/nsfw_image_detector --input_image ./test_photo.jpg输出:
[INFO] 设备类型: npu, device=npu:0
[INFO] 输入图像: test_photo.jpg (size=(1920, 1080))
[INFO] 分类结果: neutral (confidence=0.9655)
耗时/elapsed: 0.795 s

