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

谷歌怎么建网站如何做企业官网

谷歌怎么建网站,如何做企业官网,网站设计要求有哪些,网站建设总体需求分析地平线旭日x3派部署yolov5--全流程 前言一、深度学习环境安装二、安装docker三、部署3.1、安装工具链镜像3.2、配置天工开物OpenExplorer工具包3.3、创建深度学习虚拟空间#xff0c;安装依赖#xff1a;3.4、下载yolov5项目源码并运行3.5、pytorch的pt模型文件转onnx3.6、最… 地平线旭日x3派部署yolov5--全流程 前言一、深度学习环境安装二、安装docker三、部署3.1、安装工具链镜像3.2、配置天工开物OpenExplorer工具包3.3、创建深度学习虚拟空间安装依赖3.4、下载yolov5项目源码并运行3.5、pytorch的pt模型文件转onnx3.6、最重要且最难的部分ONNX模型转换成bin模型 四、上板运行 前言 原文参考https://blog.csdn.net/Zhaoxi_Li/article/details/125516265 https://blog.csdn.net/Zhaoxi_Li/article/details/126651890?spm1001.2014.3001.5502 这次部署的过程在windows下进行深度学习环境和docker都是安装在windows中。 系统win10 gpuNVIDIA GeForce GTX 1650 简单来说就是一块性能拉跨点的笔记本电脑可以直接插入鼠标、键盘、显示屏当作电脑使用。这使得可以部署深度学习算法到这块板子上。 一、深度学习环境安装 如果只是想体验一下部署不使用自己的模型的话其实深度学习的环境都不用安装。 1、安装anaconda anaconda的介绍看这篇https://blog.csdn.net/weixin_56197703/article/details/124630222 下载一般两个选择一个是官网另一个是国内镜像网站。 ①官网下载直接下载最新就好了 ②镜像网站下载可以下载下面圈起来的其中之一 安装过程 建议直接安装c盘避免不必要的错误前提是c盘名称是英文。 下面这里第一个选项意思就是将安装路径填入到系统环境变量中这里勾选后面使用着可能会出现问题如果这里不勾选的话就要自己区设置环境变量。 如果前面这个没勾选的话就进行环境变量设置 此电脑-----属性-----高级系统设置-----环境变量-----path-----编辑-----新建。 将如下指令添加到环境变量这里要根据自己的安装位置进行更改。 E:\Anaconda E:\Anaconda\Scripts E:\Anaconda\Library\mingw-w64\bin E:\Anaconda\Library\usr\bin E:\Anaconda\Library\bin配置完成之后测试安装是否成功 搜索cmd或者winr键入cmd 如果报错大概率是环境变量问题认真弄。 2、安装cuda与cudnn ①查看显卡支持的最高CUDA的版本以便下载对应的CUDA安装包 winR输入cmd进入命令提示符输入nvidia-smi 我这里在未安装之前显示的是11.6表示最高支持11.6不是只能下载11.6。由于电脑比较拉跨这里选择10.2版本在NVIDIA官方网站即可下载地址为https://developer.nvidia.com/cuda-toolkit-archive 安装包下载完成之后先安装第一个最大的哪个基本就是一路向下问你啥都勾选。 再安装两个比较小的补丁这个补丁直接精简安装就行。 ②确定CUDA版本对应的cuDNN版本并安装 cudnn下载地址https://developer.nvidia.com/rdp/cudnn-archive 需要注册NV账号这里面直接写着有对应版本我这里cuda10.2对应的有挺多版本任选一个 ③安装pytorch 首先看pytorch与cuda的对应版本关系 GPU版本的pytorch建议离线安装安装包地址https://download.pytorch.org/whl/torch_stable.html。 找到对应的cuda版本python版本系统版本进行安装我这里安装anaconda时python版本是3.7cuda是10.2Pytorch版本选择1.9.0所以最终下载的安装包是 其中cu代表了cuda版本cp代表了python版本torch代表要安装的pytorch版本。 安装过程直接参考b站视频https://www.bilibili.com/video/BV1Cr4y1u76N/?p6spm_id_from333.1007.top_right_bar_window_history.content.clickvd_source2a10d30b8351190ea06d85c5d0bfcb2a。 后续的torchvision和pycharm的安装都直接看视频来的快。 二、安装docker 进入Docker Desktop下载桌面版的docker 下载完成之后双击打开安装包进行安装安装完成之后双击打开如果此时报错Docker Desktop is unable to detect a Hypervisor 解决进入控制面板-程序-启用或关闭windows功能-勾选Hyper-V此时应该会自动重启电脑如果没有的话手动重启。 此时再次双击打开docker如果报另一个错类似下面这样的 解决以管理员权限打开powershell输入wsl --update更新wsl此时应该就可以了。 打开docker之后界面应该如下 三、部署 3.1、安装工具链镜像 从地平线天工开物cpu docker hub获取部署所需要的CentOS Docker镜像。使用最新的镜像v1.13.6实测需要梯子才能进这个网站 以管理员模式运行CMD输入docker可以显示出docker的帮助信息 在cmd中输入命令docker pull openexplorer/ai_toolchain_centos_7:v1.13.6之后会自动开始镜像的安装。安装成功之后即可在docker中看到成功安装的工具链镜像 3.2、配置天工开物OpenExplorer工具包 OpenExplorer工具包的下载需要wget支持wget的下载链接为https://eternallybored.org/misc/wget/。下载x64对应的压缩包。 下载完成解压之后如下图 然后将wget.exe复制到C:\Windows\System32下 这样就可以了。然后winR→cmd输入wget出现如下的界面说明安装成功 安装好之后即可在cmd中通过如下命令下载OpenExplorer工具包也可以自己选择其他版本(https://developer.horizon.ai/forumDetail/136488103547258769) wget -c ftp://vrftp.horizon.ai/Open_Explorer_gcc_9.3.0/2.2.3/horizon_xj3_open_explorer_v2.2.3a_20220701.tar.gz3.3、创建深度学习虚拟空间安装依赖 ①创建虚拟环境 打开anaconda prompt创建虚拟环境 创建完成之后进入虚拟环境conda activate test ②安装ONNX 由于需要将Pytorch模型是可以转为ONNX模型所以需要这一步 # 安装关键包ONNX pip install -i https://pypi.tuna.tsinghua.edu.cn/simple onnx③安装yolov5需要的一些包 安装之前最好去搜一搜版本对应关系这里是python3.7如果版本不兼容后面会报错。 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib3.2.2 numpy1.18.5 opencv-python4.1.1 Pillow7.1.2 PyYAML5.3.1 requests2.23.0 scipy1.4.1 tqdm4.64.0 tensorboard2.4.1 pandas1.1.4 seaborn0.11.0 ipython psutil thop0.1.13.4、下载yolov5项目源码并运行 本篇博客大部分参考https://blog.csdn.net/Zhaoxi_Li/article/details/126651890?spm1001.2014.3001.5502使用的也是他分享的源码直接进百度网盘下载项目https://pan.baidu.com/share/init?surlK4WhC9vaA7p__uWS-ovn8A提取码:0A09。 流程如下可以看到对应目录和操作需要进入虚拟空间 这样测试成功之后环境大概率没问题可以进行后续本篇不自己训练模型直接使用原始模型进行部署。 3.5、pytorch的pt模型文件转onnx 旭日x3派当前BPU支持onnx的opset版本为11不用这个版本就会报错 注意所在目录需要在yolov5-master下。 python .\export.py --weights .\models\yolov5s.pt --include onnx --opset 113.6、最重要且最难的部分ONNX模型转换成bin模型 1、启动docker将需要用到的文件夹挂载到docker中 在进入docker之前先确定几个内容 ******天工开物OpenExplorer根目录我的环境下是G:\bushu_xiangguan\horizon_xj3_open_explorer_v2.2.3a_20220701记得加双引号防止出现空格该目录要挂载在docker中/open_explorer目录下。 ******dataset根目录放数据集的地方这里没用到我的环境下是G:\bushu_xiangguan\Codes\dateset记得加双引号防止出现空格该目录需要挂载在docker中的/data/horizon_x3/data目录下。 ******辅助文件夹根目录官方教程其实是没有这个过程的把这个挂载在docker里就是充当个类似U盘的介质。比如在我的环境下是G:\bushu_xiangguan\BPUCodes我可以在windows里面往这个文件夹拷贝数据这些数据就可以在docker中使用该目录需要挂载在docker中的/data/horizon_x3/codes目录下。 上面这些目录都需要自己建。 winR→cmd进入命令符输入如下指令即可进入docker CMD不支持换行记得删掉后面的\然后整理为一行 docker run -it --rm \ -v G:\bushu_xiangguan\horizon_xj3_open_explorer_v2.2.3a_20220701:/open_explorer \ -v G:\bushu_xiangguan\Codes\dateset:/data/horizon_x3/data \ -v G:\bushu_xiangguan\BPUCodes:/data/horizon_x3/codes \ openexplorer/ai_toolchain_centos_7:v1.13.6 两个箭头是挂载的目标目录其中天工开物OpenExplorer根目录挂载到了open_explorer目录下dataset根目录和辅助文件夹根目录挂载到了data/horizon_x3下的codes和data目录下。 2、开启模型转换主流程 首先在BPUcodes下新建yolov5目录在yolov5中再新建一个bpucodes将前面转换好的onnx模型放进去。 2.1、onnx模型检查 docker中进入bpucodes目录 输入hb_mapper checker --model-type onnx --march bernoulli2 --model yolov5s.onnx开始模型检查。如下图即检查成功。 检查指令的各个参数含义如下 实际上在天工开物工具包里提供了脚本进行模型转换各个步骤以yolov5为例子路径如下 G:\bushu_xiangguan\horizon_xj3_open_explorer_v2.2.3a_20220701\ddk\samples\ai_toolchain\horizon_model_convert_sample\04_detection\03_yolov5s\mapper 上面进行模型验证的命令实际上也就是01_check.sh执行的主要内容。 2.2、准备校准数据 这步实际上就是运行02_preprocess.sh这个脚本这个脚本的核心调用的是python文件data_preprocess.py。它位于 G:\bushu_xiangguan\horizon_xj3_open_explorer_v2.2.3a_20220701\ddk\samples\ai_toolchain\horizon_model_convert_sample。 如果要部署自己训练的模型的话这个工具包里没有对应的脚本去准备校准数据所以这个py是比较好的选择将写完的prepare_calibration_data.py文件也放进自己建的bpucodes文件夹中这里面的src_root就是待校准的图片100张这里使用coco数据集里的。dst_root就是保存校准完的图片的文件夹。 # prepare_calibration_data.py import os import cv2 import numpy as npsrc_root /open_explorer/ddk/samples/ai_toolchain/horizon_model_convert_sample/01_common/calibration_data/coco cal_img_num 100 # 想要的图像个数 dst_root /data/horizon_x3/codes/yolov5/bpucodes/calibration_data## 1. 从原始图像文件夹中获取100个图像作为校准数据 num_count 0 img_names [] for src_name in sorted(os.listdir(src_root)):if num_count cal_img_num:breakimg_names.append(src_name)num_count 1# 检查目标文件夹是否存在如果不存在就创建 if not os.path.exists(dst_root):os.system(mkdir {0}.format(dst_root))## 2 为每个图像转换 # 参考了OE中/open_explorer/ddk/samples/ai_toolchain/horizon_model_convert_sample/01_common/python/data/下的相关代码 # 转换代码写的很棒很智能考虑它并不是官方python包所以我打算换一种写法## 2.1 定义图像缩放函数返回为np.float32 # 图像缩放为目标尺寸(W, H) # 值得注意的是缩放时候长宽等比例缩放空白的区域填充颜色为pad_value, 默认127 def imequalresize(img, target_size, pad_value127.):target_w, target_h target_sizeimage_h, image_w img.shape[:2]img_channel 3 if len(img.shape) 2 else 1# 确定缩放尺度确定最终目标尺寸scale min(target_w * 1.0 / image_w, target_h * 1.0 / image_h)new_h, new_w int(scale * image_h), int(scale * image_w)resize_image cv2.resize(img, (new_w, new_h))# 准备待返回图像pad_image np.full(shape[target_h, target_w, img_channel], fill_valuepad_value)# 将图像resize_image放置在pad_image的中间dw, dh (target_w - new_w) // 2, (target_h - new_h) // 2pad_image[dh:new_h dh, dw:new_w dw, :] resize_imagereturn pad_image## 2.2 开始转换 for each_imgname in img_names:img_path os.path.join(src_root, each_imgname)img cv2.imread(img_path) # BRG, HWCimg cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # RGB, HWCimg imequalresize(img, (640, 640))img np.transpose(img, (2, 0, 1)) # RGB, CHW# 将图像保存到目标文件夹下dst_path os.path.join(dst_root, each_imgname .rgbchw)print(write:%s % dst_path)# 图像加载默认就是uint8但是不加这个astype的话转换模型就会出错# 转换模型时候加载进来的数据竟然是float64不清楚内部是怎么加载的。img.astype(np.uint8).tofile(dst_path) print(finish) 更改src_root 和drt_root为自己的路径。执行python3 prepare_callbration_data.py 2.3、模型转换 模型转换的核心在于配置目标的yaml文件。官方也提供了一个yolov5s_config.yaml可供用户直接试用每个参数都给了注释。然而模型转换的配置文件参数太多如果想改参数都不知道如何下手。本yaml模板适用于的模型具有如下属性无自定义层换句话说BPU支持该模型的所有层。输入节点只有1个且输入是图像。 自己写的yolov5_simple.yaml文件也放到bpucodes下。 model_parameters:onnx_model: yolov5s.onnxoutput_model_file_prefix: yolov5smarch: bernoulli2 input_parameters:input_type_train: rgbinput_layout_train: NCHWinput_type_rt: nv12norm_type: data_scalescale_value: 0.003921568627451input_layout_rt: NHWC calibration_parameters:cal_data_dir: ./calibration_datacalibration_type: maxmax_percentile: 0.9999 compiler_parameters:compile_mode: latencyoptimize_level: O3debug: Falsecore_num: 2 # x3p是双核BPU所以指定为2可以速度更快 输入hb_mapper makertbin --config convert_yolov5s.yaml --model-type onnx即开始模型转换。转换成功后得到model_output/yolov5s.bin它就是上板运行所需要的模型文件。 四、上板运行 将这些文件拷贝到x3派新建的测试文件夹中一部分是要到百度网盘中获取的。 输入sudo apt-get install libopencv-dev安装opencv库进入这里这个test_yolov5文件夹执行python3 setup.py build_ext --inplace编译后处理代码得到lib/pyyolotools.cpython-38-aarch64-linux-gnu.so文件。 输入sudo python3 inference_model_bpu.py进行推理推理完成之后会保存结果图片 这个未优化的初始yolvv5模型还是很捞的推理速度很慢。但是这里后处理速度很快cython封装加速的结果。后处理就是指模型推理完成之后在图片上画出结果的过程。
http://www.zqtcl.cn/news/21042/

相关文章:

  • 建设工程查询市场价网站asp 绿色环保企业网站源码 v1.1
  • 中国国家住房和城乡建设部网站互联网网站建设方案
  • 网站备案中页面如何设置网站域名
  • 做网站是什么专业什么工作网站必须天天更新吗
  • 求一个做健身餐的网站广州网站建设(信科网络)
  • 美食网站素材wordpress动态页面
  • 网站建设发展指引深圳消防公司排行
  • 网站关键词提升门户wordpress主题
  • 临汾市住房城乡建设局网站典型的软件开发模型
  • 十大免费网站模板网站哪个免费建站好
  • 泉州科技云网站建设重庆市建设工程信息
  • 电子商务网站建设 市场分析设计软件图标
  • 阿里云服务器网站备案大良外贸网站设计
  • 08服务器做网站wordpress 文本小工具栏
  • 泰安营销型网站建设公司如何自己做购物网站
  • 企业网站做备案网站底部备案代码
  • 上海网站开发培训价格微网站建设
  • 建一个信息 类网站怎么做网站平台教程
  • 电影网站的代理怎么做xampp wordpress 绑定域名
  • 设计营销型网站域名网站顶部代码
  • 网站备案密码是什么样的网站数据库连接出错
  • 网站友情链接交易平台网站询盘量
  • 淘宝客网站免费建设免费代理服务器ip和端口
  • 沈阳网站网站建设排名优化的公司
  • 网站页脚导航wordpress 忘记数据库密码破解
  • 平台类网站做多久如何创建自媒体手机网站
  • 贸易公司寮步网站建设wordpress 登录界面插件
  • 怎样建立网站挣钱网站模板大全下载
  • ipv6改造 网站怎么做6seo关键词排名优
  • 网站建设的隐私条款襄阳购物网站开发设计