v
v_50/facebook-PE-Core-S16-384-NPU
模型介绍
文件和版本
Pull Requests
讨论
分析

facebook/PE-Core-S16-384 在昇腾 NPU 上的部署

[

📃技术报告📃 技术报告📃技术报告

](https://arxiv.org/abs/2504.13181) [

📂Github📂 Github📂Github

](https://github.com/facebookresearch/perception_models/) Perception Encoder(PE)是一款面向图像与视频的先进编码器

1. 模型简介

属性值
模型名称facebook/PE-Core-S16-384
原始权重ModelScope / HuggingFace / AtomGit 镜像
任务类型feature-extraction
输入详见 inference.py
输出特征向量
框架PyTorch + torch_npu
官方实现https://github.com/facebookresearch/perception_models

参考

官方实现 / 论文仓库:

  • https://github.com/facebookresearch/perception_models
  • https://github.com/facebookresearch/perception_models.git

2. 环境依赖清单

# 推荐 conda 环境:pix2struct-npu(torch 2.10.0 + torch_npu 2.10.0)
# 依赖见 requirements.txt

国内 pip 源(清华):https://pypi.tuna.tsinghua.edu.cn/simple

权重预下载(国内镜像源)

权重文件不随仓库一起分发,推理前请先通过国内下载源拉取至本地缓存(推荐使用 ModelScope,若失败则回退至 HF 镜像):

# 方式一:ModelScope(国内直连,最快)
pip install modelscope -i https://pypi.tuna.tsinghua.edu.cn/simple
python -c "from modelscope import snapshot_download; snapshot_download('facebook/PE-Core-S16-384', cache_dir='./weights')"

# 方式二:HF 镜像(hf-mirror.com)
export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download facebook/PE-Core-S16-384 --local-dir ./weights/PE-Core-S16-384

inference.py will automatically locate the downloaded weights based on WEIGHTS_ROOT (default /data/model-agent/weights/phase3).
You can also use an environment variable to point to the ./weights directory above: WEIGHTS_ROOT=./weights python inference.py

Hardware: Single-card Ascend 910B4 (npu:2)

3. Step-by-step Inference Workflow

conda activate pix2struct-npu
python inference.py          # NPU 推理
python eval_accuracy.py      # CPU vs NPU 精度对比
python benchmark.py          # NPU 性能基准

推理示例(真实输入,可复现)

import torch, torch_npu
from transformers import AutoModel, AutoTokenizer
m = AutoModel.from_pretrained("facebook/PE-Core-S16-384", trust_remote_code=True).to("npu:0").eval()
tok = AutoTokenizer.from_pretrained("facebook/PE-Core-S16-384", trust_remote_code=True)
inputs = tok("How to use this model?", return_tensors="pt").to("npu:0")
outputs = m(**inputs)

4. 完整测试用例与输出结果

输入:示例文本/序列(参见 inference.py)

输出(源自 logs/inference.log):

5. CPU 与 NPU 精度对比(仅记录,无硬性约束)

指标数值
最大绝对误差不适用
相对误差不适用
余弦相似度不适用

注:本次适配无精度要求,精度数据仅作为质量佐证。详见 logs/accuracy.log。

6. NPU 推理性能

指标数值
平均延迟不适用
P50 延迟不适用
吞吐量不适用

7. 自验证截图(assets/)

文件内容
agent_workflow.pngAgent 完整适配工作流
npu_device_call.png推理时 npu-smi 信息(Ascend910B4)
model_result.png适配验收结果

8. 标签

#NPU #Ascend #Ascend910 #model-agent-tagged


仓库:https://gitcode.com/v_50/facebook-PE-Core-S16-384-NPU 适配日期:2026-08-12 | 赛道:第二季·模型适配·阶段三