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

如何管理手机网站源码购物网站做兼职

如何管理手机网站源码,购物网站做兼职,下载做蛋糕网站,石家庄网络推广优化nanodet训练自己的数据集、NCNN部署到Android 一、介绍二、训练自己的数据集1. 运行环境2. 数据集3. 配置文件4. 训练5. 训练可视化6. 测试 三、部署到android1. 使用官方权重文件部署1.1 下载权重文件1.2 使用Android Studio部署apk 2. 部署自己的模型【暂时存在问题】2.1 生成… nanodet训练自己的数据集、NCNN部署到Android 一、介绍二、训练自己的数据集1. 运行环境2. 数据集3. 配置文件4. 训练5. 训练可视化6. 测试 三、部署到android1. 使用官方权重文件部署1.1 下载权重文件1.2 使用Android Studio部署apk 2. 部署自己的模型【暂时存在问题】2.1 生成ncnn模型2.2 部署到android 一、介绍 看看作者自己的介绍吧 NanoDet-Plus 知乎中文介绍 NanoDet 知乎中文介绍 二、训练自己的数据集 1. 运行环境 conda create -n nanodet python3.8 -y conda activate nanodetconda install pytorch torchvision cudatoolkit11.1 -c pytorch -c conda-forgegit clone https://github.com/RangiLyu/nanodet.git cd nanodetpip install -r requirements.txtpython setup.py develop2. 数据集 该示例最后使用的是coco格式的标注文件下方提供了一个voc转coco的脚本。 import os from tqdm import tqdm import xml.etree.ElementTree as ET import jsonclass_names [cat, bird, dog]def voc2coco(data_dir, train_path, val_path):xml_dir os.path.join(data_dir, Annotations)img_dir os.path.join(data_dir, JPEGImages)train_xmls []for f in os.listdir(train_path):train_xmls.append(os.path.join(train_path, f))val_xmls []for f in os.listdir(val_path):val_xmls.append(os.path.join(val_path, f))print(got xmls)train_coco xml2coco(train_xmls)val_coco xml2coco(val_xmls)with open(os.path.join(data_dir, coco_train.json), w) as f:json.dump(train_coco, f, ensure_asciiFalse, indent2)json.dump(val_coco, f, ensure_asciiFalse, indent2)print(done)def xml2coco(xmls):coco_anno {info: {}, images: [], licenses: [], annotations: [], categories: []}coco_anno[categories] [{supercategory: j, id: i 1, name: j} for i, j in enumerate(class_names)]img_id 0anno_id 0for fxml in tqdm(xmls):try:tree ET.parse(fxml)objects tree.findall(object)except:print(err xml file: , fxml)continueif len(objects) 1:print(no object in , fxml)continueimg_id 1size tree.find(size)ih float(size.find(height).text)iw float(size.find(width).text)img_name fxml.strip().split(/)[-1].replace(xml, jpg)img_name img_name.split(\\)img_name img_name[-1]img_info {}img_info[id] img_idimg_info[file_name] img_nameimg_info[height] ihimg_info[width] iwcoco_anno[images].append(img_info)for obj in objects:cls_name obj.find(name).textif cls_name water:continuebbox obj.find(bndbox)x1 float(bbox.find(xmin).text)y1 float(bbox.find(ymin).text)x2 float(bbox.find(xmax).text)y2 float(bbox.find(ymax).text)if x2 x1 or y2 y1:print(bbox not valid: , fxml)continueanno_id 1bb [x1, y1, x2 - x1, y2 - y1]categery_id class_names.index(cls_name) 1area (x2 - x1) * (y2 - y1)anno_info {}anno_info[segmentation] []anno_info[area] areaanno_info[image_id] img_idanno_info[bbox] bbanno_info[iscrowd] 0anno_info[category_id] categery_idanno_info[id] anno_idcoco_anno[annotations].append(anno_info)return coco_annoif __name__ __main__:save_dir ./datasets/annotations # 保存json文件的路径train_dir ./datasets/annotations/train/ # 训练集xml文件的存放路径val_dir ./datasets/annotations/val/ # 验证集xml文件的存放路径voc2coco(save_dir, train_dir, val_dir)最后数据集的路径如下 -datasets |--images | |--train | | |--00001.jpg | | |--00004.jpg | | |--... | |--val | | |--00002.jpg | | |--00003.jpg | | |--... |--annatotions | |--coco_train.json | |--coco_val.json3. 配置文件 以nanodet-m-416.yml为例对照自己的数据集主要修改以下部分 model:head:num_classes: 3 # 数据集类别数data:train:img_path: F:/datasets/images/train # 训练集图片路径ann_path: F:/datasets/annotations/coco_train.json # 训练集json文件路径val:img_path: F:/datasets/images/val # 验证集图片路径ann_path: F:/datasets/annotations/coco_val.json # 验证集json文件路径device:gpu_ids: [0] # GPUworkers_per_gpu: 8 # 线程数batchsize_per_gpu: 60 # batch sizeschedule:total_epochs: 280 # 总epoch数val_intervals: 10 # 每10个epoch进行输出一次对验证集的识别结果class_names: [cat, bird, dog] # 数据集类别4. 训练 python tools/train.py config/legacy_v0.x_configs/nanodet-m-416.yml如果训练中途断了需要接着训练。首先修改nanodet-m-416.yml中resume和load_model这两行注释去掉并将model_last.ckpt的路径补上注意去掉注释后检查下这两行缩进是否正确然后再python tools/train.py config/legacy_v0.x_configs/nanodet-m-416.yml。 schedule:resume:load_model: F:/nanodet/workspace/nanodet_m_416/model_last.ckptoptimizer:name: SGDlr: 0.14momentum: 0.9weight_decay: 0.0001 报错 OSError: [WinError 1455] 页面文件太小无法完成操作。 Error loading F:\Anaconda3\envs\ nanodet\lib\site-packages\torch\lib\shm.dll or one of its dependencies.方案减小配置文件中线程数workers_per_gpu或者直接设为0不使用并行。 5. 训练可视化 TensorBoard日志保存在./nanodet/workspace/nanodet_m_416路径下可视化命令如下 tensorboard --logdir./nanodet/workspace/nanodet_m_4166. 测试 方法一 python demo/demo.py image --config config/legacy_v0.x_configs/nanodet-m-416.yml --model nanodet_m_416.ckpt --path test.jpg方法二 运行demo\demo-inference-with-pytorch.ipynb脚本修改代码中from demo.demo import Predictor为from demo import Predictor 三、部署到android 1. 使用官方权重文件部署 1.1 下载权重文件 1在F:\nanodet\demo_android_ncnn\app\src\main路径下新建一个文件夹assets 2将F:\nanodet\demo_android_ncnn\app\src\main\cpp\ncnn-20211208-android-vulkan路径下的nanodet-plus-m_416.bin和nanodet-plus-m_416.param复制到F:\nanodet\demo_android_ncnn\app\src\main\assets下并重命名为nanodet.bin和nanodet.param 3可选下载Yolov4和v5的ncnn模型到F:\nanodet\demo_android_ncnn\app\src\main\assets路径下 1.2 使用Android Studio部署apk 使用Android Studio打开F:\nanodet\demo_android_ncnn文件夹按照自己的安卓版本选择相应的Platforms值得注意的是NDK需要安装21.0.6113669版本的否则会报错类似“No version of NDK matched the requested version 21.0.6113669. Versions available locally: 21.3.6528147”。【详细操作可以查看我之前的文章中的1.2节【终端目标检测01】基于NCNN将YOLOX部署到Android】 部署结果 2. 部署自己的模型【暂时存在问题】 2.1 生成ncnn模型 先转换为onnx文件 python tools/export_onnx.py --cfg_path config\legacy_v0.x_configs\nanodet-m-416.yml --model_path nanodet_m_416.ckpt再转换为ncnn模型 使用在线转换https://convertmodel.com/ 将转换后的bin和param文件放置到assets文件夹下可以重命名为nanodet.bin和nanodet.param也可以修改jni_interface.cpp文件中NanoDet::detector new NanoDet(mgr, nanodet_self-sim-opt.param, nanodet_self-sim-opt.bin, useGPU); 2.2 部署到android 我使用的是nanodet-m-416.yml训练了自己的模型按照官方的文档修改nanodet.h中超参数make project和run app都没有报错但是手机运行程序时识别有问题类别并不是我自己数据集的类别暂时还没发现问题所在。
http://www.hkea.cn/news/14355395/

相关文章:

  • 新乡商城网站建设哪家好电子商务是什么职业
  • 网站建设ppt方案百度网页版官方
  • 网站后台购买企业建设网站对客户的好处
  • 网站设计网站维护百度渠道开户哪里找
  • 保护环境网站模板专业集团门户网站建设公司
  • 做二手物资买卖的网站微信网站对接
  • 怎样做淘宝联盟网站邹平建设局网站
  • phpcms手机网站怎么做品牌形象策划设计公司
  • 有网站怎么做seo推广辽宁鹤城建设集团网站
  • 盐城网站关键词优化360网页设计尺寸
  • 管庄地区网站建设湖北建设厅造价网站
  • 网站统计源码下载创业商机网加工项目
  • 镇江企业做网站国际最新军事新闻
  • 淘宝内部卷网站怎么做域名查询网站信息
  • 延安网站设计文昌网站 做炸饺子
  • 满城区建设局网站wordpress 添加目录权限
  • WordPress多站点绑定域名网站宣传标语
  • 网站策划要遵循的原则广州网站建设公司排行
  • 网站微建站wordpress安装文件下载
  • 想注册个人网站全网营销的概念和特点
  • h5游戏网站开发小程序注册失败怎么办
  • 城乡建设部网站稽查执法专栏教学网站开发应用方案
  • 深圳定制建站公司电话seo是搜索引擎营销
  • 徐州网站关键词推广新网站建设平台
  • 网站编辑是什么工作海外设计网站建设
  • 网站做的一样算侵权吗wordpress open social
  • 网站建设中心北京王府井美食
  • 河南省住房城乡建设厅网站网站开发报价模版
  • 一个网站需要哪些东西2021百度热搜年度榜
  • 猪八戒网网站建设wordpress板块大小