广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >OneFlow怎么快速上手
  • 168
分享到

OneFlow怎么快速上手

2024-04-02 19:04:59 168人浏览 安东尼
摘要

本文小编为大家详细介绍“OneFlow怎么快速上手”,内容详细,步骤清晰,细节处理妥当,希望这篇“OneFlow怎么快速上手”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。安装 O

本文小编为大家详细介绍“OneFlow怎么快速上手”,内容详细,步骤清晰,细节处理妥当,希望这篇“OneFlow怎么快速上手”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

安装 OneFlow 稳定发布版

使用以下命令安装 OneFlow 最新稳定版本:

python3

系统要求:

如果提示 找不到 对应版本,请尝试升级 pip

Python3 -m pip install --upgrade --user pip

安装 OneFlow with legacy CUDA

支持其它较早版本 CUDA 的 OneFlow 的安装方法如下:

python3 -m pip install --find-links https://oneflow-inc.GitHub.io/nightly oneflow_cu101 --user
python3 -m pip install --find-links Https://oneflow-inc.github.io/nightly oneflow_cu100 --user
python3 -m pip install --find-links https://oneflow-inc.github.io/nightly oneflow_cu92 --user
python3 -m pip install --find-links https://oneflow-inc.github.io/nightly oneflow_cu91 --user
python3 -m pip install --find-links https://oneflow-inc.github.io/nightly oneflow_cu90 --user

源码编译安装 OneFlow

YoloV3

快速开始

开始前,请确保您已正确安装了oneflow,并且在python3环境下可以成功import oneflow。

  1. git clone此仓库到本地

git

2.安装python依赖库   

pip install -r requirements.txt

3.在项目root目录下,执行:

./scripts/build.sh

执行此脚本,将cpp代码中自定义的op算子编译成可调用执行的.so文件,您将在项目路径下看到:

  • libdarknet.so

  • liboneflow_yolov3.so

预训练模型

我们使用了yolov3原作者提供的预训练模型—yolov3.weight ,经转换后生成了OneFlow格式的模型。下载预训练模型:of_model_yolov3.zip ,并将解压后的of_model文件夹放置在项目root目录下,即可使用。

预测/推理

运行:

sh yolo_predict.sh

或者:

sh yolo_predict_python_data_preprocess.sh

运行脚本后,将在data/result下生成检测后带bbox标记框的图片

参数说明 - --pretrained_model 预训练模型路径

  • --label_path coco类别标签路径(coco.name)

  • --input_dir 待检测图片文件夹路径

  • --output_dir 检测结构输出路径

  • --image_paths 单个/多个待检测图片路径,如:

--image_paths 'data/images/000002.jpg' 'data/images/000004.jpg'

训练同样很简单,准备好数据集后,只需要执行:sh yolo_train.sh即可,数据集制作过程见下文【数据集制作】部分。

数据集制作

YoloV3支持任意目标检测数据集,下面我们以COCO2014制作过程为例,介绍训练/验证所需的数据集制作,其它数据集如PASCAL VOC或自定义数据集等,都可以采用相同格式。

资源文件

下载COCO2014训练集和验证集图片,将解压后的train2014和val2014放在data/COCO/images目录下

(如果本地已下载过COCO2014数据集,可以ln软链接images至本地train2014和val2014的父目录)

准备资源文件:labels,5k.part,trainvalno5k.part

wget -c https://pjreddie.com/media/files/coco/5k.part
wget -c https://pjreddie.com/media/files/coco/trainvalno5k.part
wget -c https://pjreddie.com/media/files/coco/labels.tgz

脚本

在data/COCO目录下执行脚本:

# get label file
tar xzf labels.tgz

# set up image list
paste <(awk "{print \"$PWD\"}" <5k.part) 5k.part | tr -d '\t' > 5k.txt
paste <(awk "{print \"$PWD\"}" <trainvalno5k.part) trainvalno5k.part | tr -d '\t' > trainvalno5k.txt

# copy label txt to image dir
find labels/train2014/ -name "*.txt"  | xargs -i cp {} images/train2014/
find labels/val2014/   -name "*.txt"  | xargs -i cp {} images/val2014/

执行脚本将自动解压缩labels.tgz文件,并在当前目录下生成5k.txt和trainvalno5k.txt,然后将labels/train2014和labels/val2014的的所有label txt文件复制到对应的训练集和验证集文件夹中( 保证图片和label在同一目录 )。

至此,完成整个数据集的准备过程。

训练

修改yolo_train.sh脚本中的参数,令:--image_path_file="data/COCO/trainvalno5k.txt"并执行:


sh yolo_train.sh

即可开始训练过程,更详细的参数介绍如下:

  • --gpu_num_per_node 每台机器使用的gpu数量

  • --batch_size batch 批大小

  • --base_lr 初始学习率

  • --classes 目标类别数量(COCO 80;VOC 20)

  • --model_save_dir 模型存放文件夹路径

  • --dataset_dir 训练/验证集文件夹路径

  • --num_epoch 迭代总轮数

  • --save_frequency 指定模型保存的epoch间隔

读到这里,这篇“OneFlow怎么快速上手”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网JavaScript频道。

--结束END--

本文标题: OneFlow怎么快速上手

本文链接: https://www.lsjlt.com/news/99079.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • OneFlow怎么快速上手
    本文小编为大家详细介绍“OneFlow怎么快速上手”,内容详细,步骤清晰,细节处理妥当,希望这篇“OneFlow怎么快速上手”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。安装 O...
    99+
    2022-10-19
  • 怎么快速上手vue3
    这篇“怎么快速上手vue3”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么快速上手vue3”文章吧。全局 API 和应用 ...
    99+
    2023-06-29
  • SAP系统怎么快速上手
    本篇文章为大家展示了SAP系统怎么快速上手,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。SAP系统如何快速上手作为一个在SAP咨询业界打拼十多年的资深人士,我给你的建议是:1,最好是有一个老师带着你...
    99+
    2023-06-05
  • GN快速上手
    文章目录 背景GN快速入门使用GN建立构建环境交叉编译添加tutorial目标BUILD.gn配置说明 使用config使用默认配置 使用参数了解GN构建过程查找依赖GN文件执行脚...
    99+
    2023-09-12
    linux harmonyos
  • Scrapy快速上手
    超详细官方教程解析 https://blog.csdn.net/fly_yr/article/details/51540269   实战过程: 创建一个Scrapy项目 定义提取的Item 编写爬取网站的 spider 并提取 Item...
    99+
    2023-01-31
    上手 快速 Scrapy
  • 0基础怎么快速上手C#
    C#是一种强大且广泛使用的编程语言,它在软件开发领域有着重要的地位。对于那些没有编程经验的人来说,学习C#可能会感到有些困难,但是只要掌握了正确的学习方法和技巧,你也可以快速上手C#编程。了解C#的基础知识是非常重要的你可以通过阅读相关的书...
    99+
    2023-10-22
    C#使用 C#编程 (C# Programming)
  • Java排序算法怎么快速上手
    本篇内容主要讲解“Java排序算法怎么快速上手”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java排序算法怎么快速上手”吧!插入排序插入排序的基本思想:每步将一个待排序元素,按其排序码大小插入...
    99+
    2023-06-27
  • 带你快速上手Servlet
    目录一、Servlet与Tomcat的关系二、什么是Servlet三、Servlet的类结构四、ServletConfig类五、ServletContext类六、Servlet的生命...
    99+
    2022-11-12
  • 如何快速上手GitHub
    这篇文章给大家分享的是有关如何快速上手GitHub的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 Git...
    99+
    2023-06-27
  • 如何快速上手coLinux
    这篇文章给大家分享的是有关如何快速上手coLinux的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。colinux位是一款可以帮助用户创建虚拟系统的工具,通过该软件,您可以在电脑上运行Linux系统,支持在win中...
    99+
    2023-06-27
  • 如何快速上手SQL
    这篇文章主要为大家展示了“如何快速上手SQL”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何快速上手SQL”这篇文章吧。两张示例表为了方便练习SQL语法,特地...
    99+
    2022-10-18
  • 如何快速上手Rollup
    本篇内容主要讲解“如何快速上手Rollup”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何快速上手Rollup”吧!什么是rollup?系统的了解rollup...
    99+
    2022-10-19
  • 如何快速上手Vue3
    这篇文章主要讲解了“如何快速上手Vue3”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何快速上手Vue3”吧!Vue2 与 Vue3 的对比对 TypeS...
    99+
    2022-10-19
  • Vue表单快速上手
    目录普通表单初始数据与自动校验与动态赋值发布表单普通表单 我们先可以创建一个普通的表单,我们知道的是表单是相对比较复杂的,antv被我们诟病为就是其表单,这个设计出来的理念就是和别的...
    99+
    2022-11-13
  • 如何快速上手PostgreSQL
    本篇内容介绍了“如何快速上手PostgreSQL”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、安装首先,安装PostgreSQL客户端。...
    99+
    2023-06-27
  • 如何快速上手MMdnn
    这篇“如何快速上手MMdnn”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何快速上手MMdnn”文章吧。MMdnn 是微软...
    99+
    2023-06-27
  • 如何快速上手SaltStack
    这篇文章给大家分享的是有关如何快速上手SaltStack的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,基于Python语言...
    99+
    2023-06-27
  • 如何快速上手Picasso
    这篇文章将为大家详细讲解有关如何快速上手Picasso,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Picasso是Square公司出品的一款非常优秀的开源图片加载库,是目前Android开发中超级流行的...
    99+
    2023-06-27
  • 如何快速上手MongoDB
    小编给大家分享一下如何快速上手MongoDB,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。...
    99+
    2023-06-27
  • 【mitmproxy】一、简介与快速上手
    官方文档 github nodejs 类似框架:anyproxy 一、功能简介 实时拦截、修改 HTTP/HTTPS 请求和响应可保存完整的 http 会话,方便后续分析和重放支持反向代...
    99+
    2023-09-20
    python 抓包 mitmproxy
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作