1.海思芯片AI模型转换环境配置(MindStudio+ATC)
2.Caffe学习(二) —— 下载、码理编译和安装Caffe(源码安装方式)
3.caffe ä¸ä¸ºä»ä¹bnå±è¦åscaleå±ä¸èµ·ä½¿ç¨
海思芯片AI模型转换环境配置(MindStudio+ATC)
在配置海思芯片AI模型转换环境时,码理直接在服务器上安装配置可能引发冲突,码理因此推荐在Docker环境中部署转换工具,码理以确保良好的码理隔离性,避免不同开发环境间的码理源码回收商相互影响。以下是码理在Ubuntu容器中部署海思芯片模型转换相关工具的步骤:
首先,拉取Ubuntu .的码理Docker镜像,检查当前已有的码理镜像。
然后,码理创建一个容器并运行,码理该容器将提供可视化界面,码理便于操作。码理智慧商城源码
部署CANN环境,码理为后续使用海思芯片做好硬件准备。码理
安装MindStudio,这是一个用于AI模型开发和调试的集成开发环境。
接下来,安装模型压缩量化工具(如caffe),iaap源码共享用于优化模型大小与性能。
部署caffe框架,确保与MindStudio的兼容性。
安装Caffe源代码增强包,扩展caffe的功能与性能。
执行量化操作,相关度源码通过caffe优化模型的精度与运行效率。
模型转换采用图形开发方式与命令行开发方式,灵活适应不同需求。
完成模型转换后,进行板端程序编译,确保模型可在海思芯片上正确运行。kannel源码解析
同步推理过程,验证模型转换效果。
如果需要,安装模型压缩量化工具(如pytorch),并执行量化操作,以进一步优化模型。
参考《模型压缩工具使用指南(PyTorch).pdf》中第3章内容,深入了解PyTorch量化操作。
配置aiitop sample打包环境,为模型部署做准备(可选)。
容器中配置SSH连接,实现远程访问与管理(可选)。
容器导出镜像,方便在不同环境中复用(可选)。
遇到问题时,查阅FAQ寻求解决方案。
本文使用Zhihu On VSCode完成撰写与发布。
Caffe学习(二) —— 下载、编译和安装Caffe(源码安装方式)
采用caffe源码编译安装方式说明
此方法仅适用于编译CPU支持版本的Caffe。推荐通过Git下载以获取更新及查看历史变更。
主机环境配置
系统环境:Ubuntu .
步骤一:安装依赖库与Python 2.7
步骤二:安装CUDA(注意:虽然仅编译CPU版本的Caffe,但安装CUDA时可能会遇到编译错误,需确保环境兼容性)
编译Caffe
步骤一:修改Make.config文件
具体配置说明请参考我的另一篇博客("Hello小崔:caffe(master分支)Makefile.config分析")
步骤二:执行make编译
测试已通过
步骤三:解决编译过程中的错误
错误实例:ImportError: No module named skimage.io
解决方法:执行sudo apt-get install python-skimage
错误实例:ImportError: No module named google.protobuf.internal
解决方法:执行sudo apt-get install python-protobuf
更多错误解决办法,请参阅另一篇博客("Hello小崔:caffe编译报错解决记录")
caffe ä¸ä¸ºä»ä¹bnå±è¦åscaleå±ä¸èµ·ä½¿ç¨
1) è¾å ¥å½ä¸å x_norm = (x-u)/std, å ¶ä¸uåstdæ¯ä¸ªç´¯è®¡è®¡ç®çåå¼åæ¹å·®ã2ï¼y=alphaÃx_norm + betaï¼å¯¹å½ä¸ååçxè¿è¡æ¯ä¾ç¼©æ¾åä½ç§»ãå ¶ä¸alphaåbetaæ¯éè¿è¿ä»£å¦ä¹ çã
é£ä¹caffeä¸çbnå±å ¶å®åªåäºç¬¬ä¸ä»¶äºï¼scaleå±åäºç¬¬äºä»¶äºï¼æ以两è è¦ä¸èµ·ä½¿ç¨ã
ä¸ï¼å¨Caffeä¸ä½¿ç¨Batch Normalizationéè¦æ³¨æ以ä¸ä¸¤ç¹ï¼
1. è¦é åScaleå±ä¸èµ·ä½¿ç¨ã
2. è®ç»çæ¶åï¼å°BNå±çuse_global_stats设置为falseï¼ç¶åæµè¯çæ¶åå°use_global_stats设置为trueã
äºï¼åºæ¬å ¬å¼æ¢³çï¼
Scaleå±ä¸»è¦å®æ top=alpha∗bottom+betatop=alpha∗bottom+betaçè¿ç¨ï¼åå±ä¸ä¸»è¦æ两个åæ°alphaalphaä¸betabeta,
æ±å¯¼ä¼æ¯è¾ç®åã∂y∂x=alpha;∂y∂alpha=x;∂y∂beta=1ã éè¦æ³¨æçæ¯alphaalphaä¸betabetaå为åéï¼é对è¾å ¥çchannelschannelsè¿è¡çå¤çï¼å æ¤ä¸è½ç®åç认å®ä¸ºä¸ä¸ªfloatfloatçå®æ°ã
ä¸ï¼å ·ä½å®ç°è¯¥é¨åå°ç»åæºç å®ç°è§£æscalescaleå±:
å¨Caffe protoä¸ScaleParameterä¸å¯¹Scaleæå¦ä¸å 个åæ°ï¼
1ï¼åºæ¬æååéï¼åºæ¬æååé主è¦å å«äºBiaså±çåæ°ä»¥åScaleå±å®æ对åºééçæ 注工ä½ã
2ï¼åºæ¬æåå½æ°ï¼ä¸»è¦å å«äºLayerSetup,Reshape ,ForwardåBackward ï¼å é¨è°ç¨çæ¶åbias_term为trueçæ¶åä¼è°ç¨biasLayerçç¸å ³å½æ°ã
3ï¼Reshape è°æ´è¾å ¥è¾åºä¸ä¸é´åéï¼Reshapeå±å®æ许å¤ä¸é´åéçsizeåå§åã
4ï¼Forward åå计ç®ï¼åå计ç®ï¼å¨BNä¸å½ç´§è·çBNçå½ä¸åè¾åºï¼å®æä¹ä»¥alphaä¸+biasçæä½ï¼ç±äºalphaä¸biaså为Cçåéï¼å æ¤éè¦å è¿è¡å¹¿æã
5ï¼Backward åå计ç®ï¼ä¸»è¦æ±è§£ä¸ä¸ªæ¢¯åº¦ï¼å¯¹alpha ãbetaåè¾å ¥çbottom(æ¤å¤çtemp)ã