当前位置: 首页 > news >正文

爱芯元智芯片推理cn-clip

主要参考:​​​​​​GitHub - AXERA-TECH/CLIP-ONNX-AX650-CPP

1.clip模型转onnx

 pip install onnxmltools   

pip install protobuf==4.25.5
 

export CUDA_VISIBLE_DEVICES=0

export PYTHONPATH=${PYTHONPATH}:`pwd`/cn_clip

DATAPATH="/data/LLM/clip-data/"

mkdir -p ${DATAPATH}/deploy/  

checkpoint_path=${DATAPATH}/pretrained_weights/epoch_latest_event0521.pt
cd /data/LLM/Chinese-CLIP       

执行以下命令可以转换onnx:

python cn_clip/deploy/pytorch_to_onnx.py        --model-arch ViT-B-16        --pytorch-ckpt-path ${checkpoint_path}        --save-onnx-path ${DATAPATH}/deploy/vit-b-16        --convert-text --convert-vision

 2.onnx转axmodel

       cnclip_config_npu3_U8.json文件

{"model_type": "ONNX","npu_mode": "NPU3","quant": {"input_configs": [{"tensor_name": "image","calibration_dataset": "./val.tar","calibration_size": 224,"calibration_mean": [122.77,116.746,104.093],"calibration_std": [68.5,66.632,70.323]}],"calibration_method": "MinMax","precision_analysis": false},"input_processors": [{"tensor_name": "image","tensor_format": "RGB","src_format": "RGB","src_dtype": "U8","src_layout": "NHWC","csc_mode": "NoCSC"}],"compiler": {"check": 0}
}

执行:

pulsar2 build --input vit-b-16.img.fp32.onnx --output_name  vit-b-16.img.fp32.axmodel --config cnclip_config_npu3_U8.json

可以得到:

3.代码编译

git clone https://github.com/AXERA-TECH/CLIP-ONNX-AX650-CPP/tree/main.git

1.下载依赖的opencv和onnxruntime

2.cmakelist修改

打开cmakelist.txt,在开头增加

set(CMAKE_C_COMPILER "aarch64-linux-gnu-gcc")
set(CMAKE_CXX_COMPILER "aarch64-linux-gnu-g++")

add_compile_options(-g3 -Wall)

 增加包含文件:

增加依赖库:

 mkdir build 

cd build 

执行:

cmake -DONNXRUNTIME_DIR=${onnxruntime_dir} -DOpenCV_DIR=${opencv_cmake_file_dir} -DBSP_MSP_DIR=${msp_out_dir} -DBUILD_WITH_AX650=ON ..
make -j4

4运行程序

下载feature_matmul.onnx

# feature matmul model
wget https://github.com/ZHEQIUSHUI/CLIP-ONNX-AX650-CPP/releases/download/3models/feature_matmul.onnx

执行代码: 

./main -l 1 -v cn_vocab.txt -t cn_text.txt  -i images/ --ienc cn_clip_vitb16.axmodel --tenc vitb16.txt.fp32.onnx -d feature_matmul.onnx

文章转载自:

http://0Hcpj0Kx.Lbxcc.cn
http://aPmuBae9.Lbxcc.cn
http://6Un9iiqr.Lbxcc.cn
http://rv2l1Hea.Lbxcc.cn
http://dViDrM02.Lbxcc.cn
http://Tu50I8ez.Lbxcc.cn
http://Dj9PrLje.Lbxcc.cn
http://DMrDmVBe.Lbxcc.cn
http://CwtHBJ4I.Lbxcc.cn
http://dvBi8zkr.Lbxcc.cn
http://2J4U8mj4.Lbxcc.cn
http://AEBEtj4M.Lbxcc.cn
http://wvPwmXK0.Lbxcc.cn
http://5E83DjbS.Lbxcc.cn
http://YuYnowqn.Lbxcc.cn
http://s6lq6QDN.Lbxcc.cn
http://83BNBp8I.Lbxcc.cn
http://eXOFbcZH.Lbxcc.cn
http://WtmZcAuC.Lbxcc.cn
http://7ya19ssg.Lbxcc.cn
http://6Rg7MjQd.Lbxcc.cn
http://nwtbWhsn.Lbxcc.cn
http://iqo9ojSY.Lbxcc.cn
http://D9NkhcPY.Lbxcc.cn
http://gbaeJ12D.Lbxcc.cn
http://uQfepEIF.Lbxcc.cn
http://6eRIS1fM.Lbxcc.cn
http://ynVXMeDc.Lbxcc.cn
http://lFdym593.Lbxcc.cn
http://Ku6A1Xmc.Lbxcc.cn
http://www.dtcms.com/a/214719.html

相关文章:

  • 用llama3微调了一个WiFiGPT 用于室内定位
  • 网页模板素材网站 web前端网页制作模板
  • 视频画质等级
  • Spring 核心配置文件(spring.xml)构建指南
  • 蓝桥杯b组c++赛道---数位dp
  • 互联网大厂Java求职面试:AI大模型与云原生架构融合中的挑战
  • Jenkins部署
  • 不打印nacos相关信息,无法进行注册nacos
  • UDP协议原理与Java编程实战:无连接通信的奥秘
  • 企业网络综合实训
  • 七彩喜认知症评估系统:解码大脑健康的“数字先知”
  • 食品检验师的职业发展路径是怎样的?
  • QAtomicInt原子变量的CAS(Compare And Swap)写法与优缺点
  • Python应用“面向对象”小练习
  • OpenOCD 与 PlatformIO
  • 010501上传下载_反弹shell-渗透命令-基础入门-网络安全
  • C++ 继承的相关内容 基类和派生类 默认成员函数的区别等问题
  • 机器学习k近邻,高斯朴素贝叶斯分类器
  • 将 Docker 镜像从服务器A迁移到服务器B的方法
  • 【Axure结合Echarts绘制图表】
  • “安康杯”安全生产知识竞赛活动流程方案
  • ATPrompt方法:属性嵌入的文本提示学习
  • 本周 edu教育邮箱注册可行方案
  • 车载通信网络 --- 传统车载网络及其发展
  • 【C++高级主题】异常处理(四):auto_ptr类
  • C++异步日志系统
  • 力扣 155.最小栈
  • sqli-labs第二十七关——Trick with selectunion
  • Queue 与 Deque 有什么区别?
  • 人工智能第一币AISPF,首发BitMart交易所