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

惠州建站公司设置网站开场动画

惠州建站公司,设置网站开场动画,蓝杉互动网站建设,网站需要租服务器吗前言#xff1a;记录自己安装TVM的流程#xff0c;以及一个简单的利用TVM编译模型并执行的示例。 1#xff0c;官网下载TVM源码 git clone --recursive https://github.com/apache/tvmgit submodule init git submodule update顺便完成准备工作#xff0c;比如升级cmake版本…前言记录自己安装TVM的流程以及一个简单的利用TVM编译模型并执行的示例。 1官网下载TVM源码 git clone --recursive https://github.com/apache/tvmgit submodule init git submodule update顺便完成准备工作比如升级cmake版本需要3.18及以上版本。还有如下库 sudo apt-get update sudo apt-get install -y python3 python3-dev python3-setuptools gcc libtinfo-dev zlib1g-dev build-essential cmake libedit-dev libxml2-dev2安装clangllvmninja llvm安装依赖clang和ninja所以直接安装llvm即可顺便完成全部的安装。 llvm ,clang安装参考Linux系统无痛编译安装LLVM简明指南_linux安装llvm11-CSDN博客 步骤如下 git clone gitgithub.com:llvm/llvm-project.gitcd llvm-project mkdir buildcd buildsudo cmake ../llvm -DLLVM_TARGETS_TO_BUILDX86 -DCMAKE_BUILD_TYPEDebug sudo make -j8 sudo make install 检查版本 clang --version llvm-as --version 3安装NNPACK NNPACK是为了优化加速神经网络的框架可以提高在CPU上的计算效率 git clone --recursive https://github.com/Maratyszcza/NNPACK.git cd NNPACK # Add PIC option in CFLAG and CXXFLAG to build NNPACK shared library sed -i s|gnu99|gnu99 -fPIC|g CMakeLists.txt sed -i s|gnu11|gnu11 -fPIC|g CMakeLists.txt mkdir build cd build # Generate ninja build rule and add shared library in configuration cmake -G Ninja -D BUILD_SHARED_LIBSON .. ninja sudo ninja install# Add NNPACK lib folder in your ldconfig sudo sh -c echo /usr/local/lib /etc/ld.so.conf.d/nnpack.conf sudo ldconfig4编译TVM 如下步骤在tvm建立build文件夹把config.cmake复制到build中 cd tvm mkdir buildcp cmake/config.cmake build build里的config.cmake是编译配置文件可以按需打开关闭一些开关。下面是我修改的一些配置TENSORRT和CUDNN我以为之前已经配置好了结果编译报了这两个的错误如果只是想跑流程可以不打开这两个的开关这样就能正常编译结束了 set(USE_RELAY_DEBUG ON) set(USE_CUDA ON) set(USE_NNPACK ON) set(USE_LLVM ON) set(USE_TENSORRT_CODEGEN ON) set(USE_TENSORRT_RUNTIME ON) set(USE_CUDNN ON) 编译代码 cd build cmake ..make -j125配置python环境 从build文件夹出来进入到tvm/python文件夹下执行如下命令即可配置python中的tvm库了。 cd ../python python setup.py install python中使用tvm测试导入tvm不出错即配置tvm安装成功 import tvmprint(tvm.__version__) 6一个简单示例 该测试来自TVM官方文档的示例包括编译一个测试执行一个分类网络和编译器自动调优测试。仅先直观的看到TVM如何作为一个工具对模型编译并部署的流程。 1) 下载onnx模型 wget https://github.com/onnx/models/raw/b9a54e89508f101a1611cd64f4ef56b9cb62c7cf/vision/classification/resnet/model/resnet50-v2-7.onnx2) 编译onnx模型 python -m tvm.driver.tvmc compile --target llvm --input-shapes data:[1,3,224,224] --output resnet50-v2-7-tvm.tar resnet50-v2-7.onnx 如果报这样的警告 就在git上下载一份tophub把整个文件夹tophub复制到 ~/.tvm/路径下 git clone gitgithub.com:tlc-pack/tophub.git sudo cp -r tophub ~/.tvm/ 解压生成的tvm编译模型得到3个文件 mod.so  作为一个C库的编译模型, 能被 TVM runtime加载 mod.json TVM Relay计算图的文本表示 mod.params onnx模型的预训练权重参数 mkdir model tar -xvf resnet50-v2-7-tvm.tar -C model ls model 3) 输入数据前处理 python preprocess.py 图像处理代码文件preprocess.py #!python ./preprocess.py from tvm.contrib.download import download_testdata from PIL import Image import numpy as npimg_url https://s3.amazonaws.com/model-server/inputs/kitten.jpg img_path download_testdata(img_url, imagenet_cat.png, moduledata)# Resize it to 224x224 resized_image Image.open(img_path).resize((224, 224)) img_data np.asarray(resized_image).astype(float32)# ONNX expects NCHW input, so convert the array img_data np.transpose(img_data, (2, 0, 1))# Normalize according to ImageNet imagenet_mean np.array([0.485, 0.456, 0.406]) imagenet_stddev np.array([0.229, 0.224, 0.225]) norm_img_data np.zeros(img_data.shape).astype(float32) for i in range(img_data.shape[0]):norm_img_data[i, :, :] (img_data[i, :, :] / 255 - imagenet_mean[i]) / imagenet_stddev[i]# Add batch dimension img_data np.expand_dims(norm_img_data, axis0)# Save to .npz (outputs imagenet_cat.npz) np.savez(imagenet_cat, dataimg_data) 4) 运行编译模型 python -m tvm.driver.tvmc run --inputs imagenet_cat.npz --output predictions.npz resnet50-v2-7-tvm.tar 5) 输出后处理 python postprocess.py 执行之后得到分类结果的输出 classn02123045 tabby, tabby cat with probability0.621104 classn02123159 tiger cat with probability0.356378 classn02124075 Egyptian cat with probability0.019712 classn02129604 tiger, Panthera tigris with probability0.001215 classn04040759 radiator with probability0.000262后处理代码postprocess.py #!python ./postprocess.py import os.path import numpy as npfrom scipy.special import softmaxfrom tvm.contrib.download import download_testdata# Download a list of labels labels_url https://s3.amazonaws.com/onnx-model-zoo/synset.txt labels_path download_testdata(labels_url, synset.txt, moduledata)with open(labels_path, r) as f:labels [l.rstrip() for l in f]output_file predictions.npz# Open the output and read the output tensor if os.path.exists(output_file):with np.load(output_file) as data:scores softmax(data[output_0])scores np.squeeze(scores)ranks np.argsort(scores)[::-1]for rank in ranks[0:5]:print(class%s with probability%f % (labels[rank], scores[rank])) 6) 编译器自动调优 调优的算法使用的是xgboost所以需要python安装一下这个库。 pip install xgboostpython -m tvm.driver.tvmc tune --target llvm --output resnet50-v2-7-autotuner_records.json resnet50-v2-7.onnx 7) 重新编译并执行调优后的模型 python -m tvm.driver.tvmc compile --target llvm --tuning-records resnet50-v2-7-autotuner_records.json --output resnet50-v2-7-tvm_autotuned.tar resnet50-v2-7.onnxpython -m tvm.driver.tvmc run --inputs imagenet_cat.npz --output predictions.npz resnet50-v2-7-tvm_autotuned.tarpython postprocess.py 预测结果   classn02123045 tabby, tabby cat with probability0.610552 classn02123159 tiger cat with probability0.367180 classn02124075 Egyptian cat with probability0.019365 classn02129604 tiger, Panthera tigris with probability0.001273 classn04040759 radiator with probability0.0002618) 比较编译前后执行模型的速度 python -m tvm.driver.tvmc run --inputs imagenet_cat.npz --output predictions.npz --print-time --repeat 100 resnet50-v2-7-tvm_autotuned.tarpython -m tvm.driver.tvmc run --inputs imagenet_cat.npz --output predictions.npz --print-time --repeat 100 resnet50-v2-7-tvm.tar执行时间如下上面是自动调优过的的可以明显看出推理时间上的优化效果。  Execution time summary:mean (ms) median (ms) max (ms) min (ms) std (ms) 84.6208 74.9435 143.9276 72.8249 19.0734 mean (ms) median (ms) max (ms) min (ms) std (ms) 131.1953 130.7819 140.6614 106.0725 3.5606 比较了一下两个编译后模型的Relay计算图json文件的区别就看到了算子数据layout的区别更多细节还是要看源码吧 参考TVM Ubuntu20安装_ubuntu20.04配置tvm_shelgi的博客-CSDN博客
http://www.dnsts.com.cn/news/116896.html

相关文章:

  • 如何免费做网站推广执念待重生wordpress
  • 采摘园网站建设方案官网网站建设研究
  • 知名网站建设企业做网站图片知识
  • 做网站最好要买什么东西一元夺宝网站开发
  • 广州免费网站建设网站制作软件小学
  • 淄博网站备案网站建设设计计划表
  • 甘肃省第九建设集团网站首页湖南省建设厅证件查询
  • 企业网站会涉及到的版权问题html代码跟网站运营的关系
  • 网站空间一般多大一键生成微信小程序平台
  • 浦东建设网站广告发布属于什么服务
  • 网站素材模板旅游大都会app约
  • 关于建设企业网站的请示新建网站百度搜不到
  • 有个新网站专门做外贸的叫什么巴马网站建设
  • 网站设计建设维护与更新上海建站费用
  • 微信官方免费下载山东seo网页优化外包
  • 国内网站搭建平台百度联盟是什么
  • 网站制作排行榜WordPress给分类页面伪静态
  • 下载搭建网站软件下载国内一家做国外酒店团购的网站
  • 网站seo视频学校网站建设的意义与途径
  • 绍兴网站建设公司电话自己可以建设网站吗
  • 创建网站运营费用德州网站推广
  • 给网站添加后台公司网站大顶图怎么做
  • 上海物流网站怎么建设seo包年推广
  • 宁波网站开发建设前端开发遇到的问题及解决方法
  • 福建交通建设网站wordpress引用文件
  • 厦门建公司网站网站开发流程6个阶段
  • 北京专业建设网站价格服装在线设计平台
  • 网站seo推广平台上海人才市场招聘网
  • 无锡建设局施工许可证网站济南网站建设wuliankj
  • 西安易扬众和网站建设青岛网页设计制作