您的位置:首页 > 汽车 > 新车 > 成都品牌推广_成都旅游必去景点有哪些_2023年8月份新冠_交换友情链接的方法

成都品牌推广_成都旅游必去景点有哪些_2023年8月份新冠_交换友情链接的方法

2024/11/17 13:11:23 来源:https://blog.csdn.net/L_Z_jay/article/details/143164005  浏览:    关键词:成都品牌推广_成都旅游必去景点有哪些_2023年8月份新冠_交换友情链接的方法
成都品牌推广_成都旅游必去景点有哪些_2023年8月份新冠_交换友情链接的方法

前言

完成pt->rknn的转换需要用到下述三个软件,链接地址如下:

1.ultralytics_yolov8:https://github.com/airockchip/ultralytics_yolov8
2.rknn_model_zoo:https://github.com/airockchip/rknn_model_zoo
3.rknn-toolkit2:https://github.com/airockchip/rknn-toolkit2

我用的版本如下图所示

1.ultralytics_yolov8 直接下载就行
2. rknn_model_zoo v2.2.0
3.
在这里插入图片描述
3. rknn-toolkit2 v2.2.0
在这里插入图片描述
在这里插入图片描述

PT转ONNX

第一步
  • 将该仓库的项目下载到本地上,压缩包或者git命令都可以。
    ultralytics_yolov8: https://gitcode.com/gh_mirrors/ul/ultralytics_yolov8/overview?utm_source=csdn_github_accelerator&isLogin=1
    在这里插入图片描述
    以下是我下载后的文件夹截图
    在这里插入图片描述

  • 改激活函数:把ultralytics/nn/modules/conv.py中的Conv类进行修改。
    default_act = nn.SiLU() # default activation
    改为default_act = nn.ReLU() # default activation
    在这里插入图片描述

  • 当前的git仓库中是中没有requirements.txt参考文献2中有提到这个文件,详情可以参考这篇文献。
    这里给出requirements.txt中的内容,直接复制到自己创建的requirements.txt中就可以了。

    # Ultralytics requirements
    # Usage: pip install -r requirements.txt# Base ----------------------------------------
    matplotlib>=3.2.2
    numpy>=1.22.2 # pinned by Snyk to avoid a vulnerability
    opencv-python>=4.6.0
    pillow>=7.1.2
    pyyaml>=5.3.1
    requests>=2.23.0
    scipy>=1.4.1
    torch>=1.7.0
    torchvision>=0.8.1
    tqdm>=4.64.0# Logging -------------------------------------
    # tensorboard>=2.13.0
    # dvclive>=2.12.0
    # clearml
    # comet# Plotting ------------------------------------
    pandas>=1.1.4
    seaborn>=0.11.0# Export --------------------------------------
    # coremltools>=7.0.b1  # CoreML export
    # onnx>=1.12.0  # ONNX export
    # onnxsim>=0.4.1  # ONNX simplifier
    # nvidia-pyindex  # TensorRT export
    # nvidia-tensorrt  # TensorRT export
    # scikit-learn==0.19.2  # CoreML quantization
    # tensorflow>=2.4.1  # TF exports (-cpu, -aarch64, -macos)
    # tflite-support
    # tensorflowjs>=3.9.0  # TF.js export
    # openvino-dev>=2023.0  # OpenVINO export# Extras --------------------------------------
    psutil  # system utilization
    py-cpuinfo  # display CPU info
    # thop>=0.1.1  # FLOPs computation
    # ipython  # interactive notebook
    # albumentations>=1.0.3  # training augmentations
    # pycocotools>=2.0.6  # COCO mAP
    # roboflow
第二步
  • 使用conda创建一个虚拟环境。

    # 使用conda创建虚拟环境
    conda create -n yolov8 python=3.9
    conda activate yolov8
    
  • 然后切换到 ultralytics-main/ultralytics_yolov8文件夹下

    cd [ultralytics-main/ultralytics_yolov8放置的文件夹路径]
    
  • 执行下边的命令 (后两条的命令可能执行的时间会长一点,请耐心等待)

    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
    
  • 执行下边的命令

    pip install -e .
    

    注warn: e后边有个点,两者之间用空格隔开了。

第三步
  • 把自己需要转换的权重文件放到如下图所示的位置
    在这里插入图片描述

  • 执行下述命令

    yolo export model=yolov8s.pt format=rknn
    

    注:yolo export model=/your_path/best.pt format=rknn

  • 执行上述命令可能会出现如下错误
    在这里插入图片描述
    简单理解:就是说onnx包没有找到,那我们就直接下载这个onnx包,然后再执行上述命令。

    pip install onnx
    

ONNX转RKNN

  • 注: 需要确保当前环境支持RKNN转换,RKNN 目前支持 NVIDIA CUDA GPU,我的理解就是得有N卡。

  • 创建一个虚拟环境
    conda create -n rknn220 python=3.9

  • 进入rknn-toolkit2-2.1.0\rknn-toolkit2-2.1.0\rknn-toolkit2\packages文件中
    在这里插入图片描述

  • 在当前路径下打开终端,或者使用cd命令切换到当前路径下,然后依次输入如下命令:

    pip install -r requirements_cp39-2.2.0.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
    

    requirements_cp39-2.2.0.txt文件名称就是这个package目录里的,选择自己虚拟环境里的python版本。
    在这里插入图片描述
    注:这里的cp39代表的是python3.9版本,选择合适自己的即可(我这里创建的虚拟环境是python3.9的)。

    pip install rknn_toolkit2-2.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
    

    rknn_toolkit2-2.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl文件也是类似的。
    在这里插入图片描述

  • 进入knn_model_zoo-2.1.0\examples\yolov8\python文件夹,打开convert.py修改模型的保存路径
    在这里插入图片描述

  • 然后将yolov8s.onnx移动到该目录中
    在这里插入图片描述

  • 最后执行python convert.py yolov8s.onnx rk3588

  • 可在目录下找到生成的yolov8.rknn文件
    在这里插入图片描述

参考文献

  • 1.RKNN3588——YOLOv8的PT模型转RKNN模型
  • 2.【YOLOv8n部署至RK3588】模型训练→转换rknn→部署全流程
  • 3.野火-YOLOv8

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com