扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
本文小编为大家详细介绍“OneFlow怎么快速上手”,内容详细,步骤清晰,细节处理妥当,希望这篇“OneFlow怎么快速上手”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、成都响应式网站建设、程序开发、微网站、小程序开发等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的成都网站设计、网站建设、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体,具备承接不同规模与类型的建设项目的能力。
使用以下命令安装 OneFlow 最新稳定版本:
python3
系统要求:
Python >= 3.5
Nvidia Linux x86_64 driver version >= 440.33
如果提示 找不到 对应版本,请尝试升级 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
开始前,请确保您已正确安装了oneflow,并且在python3环境下可以成功import oneflow。
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.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怎么快速上手”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注创新互联行业资讯频道。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流