码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Nanodet训练自己的数据集


    1. 准备训练的数据

    在这里插入图片描述
    train 和 valid 下的两个子目录分别存放训练集和验证集的图片和xml文件(注意图片和标签一一对应)

    2. 建立config yaml文件

    源码下载:
    git clone https://github.com/RangiLyu/nanodet.git

    参考https://github.com/RangiLyu/nanodet/blob/main/config/nanodet_custom_xml_dataset.yml
    在config文件夹下建立自己的yml文件:
    (1)修改训练结果的保存路径
    在这里插入图片描述
    (2)修改自训练类别数量
    在这里插入图片描述
    (3)修改自训练类别标签
    在这里插入图片描述
    (4)修改训练集和验证集的文件夹路径
    在这里插入图片描述
    (5)修改训练的循环次数
    在这里插入图片描述

    3. 配置nanodet环境

    (1)Create a conda virtual environment and then activate it.

     conda create -n nanodet python=3.8 -y
     conda activate nanodet
    

    (2)Install pytorch

    pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116
    

    (3)Install requirements

    pip install -r requirement.txt
    pip install pytorch_lightning
    pip install termcolor
    pip install opencv-python-headless
    

    (4)Setup NanoDet

    cd nanodet
    python setup.py develop
    

    4. 训练

    python ./tools/train.py ./config/mydata.yml
    

    5. 模型转为onnx

    使用nanodet源码提供的转换脚本

    python ./tools/export_onnx.py --cfg_path ./config/mydata.yml --model_path./workspace/nanodet_m_ws/model_best/nanodet_model_best.pth --out_path ./workspace/nanodet_m_ws/model_best/nanodet_m_ws.onnx
    

    6. 模型转为mnn

    MNN版本2.0.0,MNN_BUILD_CONVERTER 设置为true,编译模型转换工具,使用以下命令将onnx转为mnn:

    ./MNNConvert -f ONNX --modelFile xxx.onnx --MNNModel xxx.mnn --bizCode MNN
    
  • 相关阅读:
    RNA核糖核酸修饰RNA-HiLyte FluorTM 405荧光染料|RNA-HiLyte FluorTM 405
    网络基础详解
    maven下载与安装教程
    拿到一个新的SpringBoot+Maven多模块项目,怎么跑起来
    抖音小店运营计划书怎么写?运营技巧及入住条件资料
    【从零开始学习Redis | 第四篇】基于延时双删对Cache Aside的优化
    JavaWeb中的VUE快速入门
    谷粒商城实战笔记-34-前端基础-ES6-promise异步编排
    reinterpret_cast和static_cast转换的区别
    纵目科技冲刺科创板上市:拟募资20亿元,股东阵容强大
  • 原文地址:https://blog.csdn.net/zfjBIT/article/details/127105758
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号