本文简要介绍MindYOLO中内置的命令行工具的使用方法。
# NPU (默认)
python demo/predict.py --config ./configs/yolov7/yolov7.yaml --weight=/path_to_ckpt/WEIGHT.ckpt --image_path /path_to_image/IMAGE.jpg
# GPU
python demo/predict.py --config ./configs/yolov7/yolov7.yaml --weight=/path_to_ckpt/WEIGHT.ckpt --image_path /path_to_image/IMAGE.jpg --device_target=GPU
有关命令行参数的详细信息,请参阅demo/predict.py -h
,或查看其源代码。
- 要在CPU上运行,请将device_target的值修改为CPU.
- 结果将保存在
./detect_results
目录下
-
按照YOLO格式准备您的数据集。如果使用COCO数据集(YOLO格式)进行训练,请从yolov5或darknet准备数据集.
coco/ {train,val}2017.txt annotations/ instances_{train,val}2017.json images/ {train,val}2017/ 00000001.jpg ... # image files that are mentioned in the corresponding train/val2017.txt labels/ {train,val}2017/ 00000001.txt ... # label files that are mentioned in the corresponding train/val2017.txt
-
在单卡NPU/GPU/CPU上训练模型:
python train.py --config ./configs/yolov7/yolov7.yaml
-
在多卡NPU/GPU上进行分布式模型训练,以8卡为例:
msrun --worker_num=8 --local_worker_num=8 --bind_core=True --log_dir=./yolov7_log python train.py --config ./configs/yolov7/yolov7.yaml --is_parallel True
-
在单卡NPU/GPU/CPU上评估模型的精度:
python test.py --config ./configs/yolov7/yolov7.yaml --weight /path_to_ckpt/WEIGHT.ckpt
-
在多卡NPU/GPU上进行分布式评估模型的精度:
msrun --worker_num=8 --local_worker_num=8 --bind_core=True --log_dir=./yolov7_log python test.py --config ./configs/yolov7/yolov7.yaml --weight /path_to_ckpt/WEIGHT.ckpt --is_parallel True
注意:默认超参为8卡训练,单卡情况需调整部分参数。 默认设备为Ascend,您可以指定'device_target'的值为Ascend/GPU/CPU。
- 有关更多选项,请参阅
train/test.py -h
. - 在云脑上进行训练,请在这里查看
*注意:如果您在 2 个设备上使用msrun
指令启动,请添加--bind_core=True
以提高性能。例如:
msrun --bind_core=True --worker_num=2--local_worker_num=2 --master_port=8118 \
--log_dir=msrun_log --join=True --cluster_time_out=300 \
python train.py --config ./configs/yolov7/yolov7.yaml --is_parallel True
有关更多选项, 请参阅这里。
请在这里查看.
敬请期待