English | 简体中文
This tutorial fine-tunes a tiny dataset by pretrained detection model for users to get a model and learn PaddleDetection quickly. The model can be trained in around 20min with good performance.
- Note: before started, need to specifiy the GPU device as follows.
export CUDA_VISIBLE_DEVICES=0
Dataset refers to Kaggle, which contains 240 images in train dataset and 60 images in test dataset. Data categories are apple, orange and banana. Download here and uncompress the dataset after download, script for data preparation is located at download_fruit.py. Command is as follows:
python dataset/fruit/download_fruit.py
Training:
python -u tools/train.py -c configs/yolov3_mobilenet_v1_fruit.yml --eval
Use yolov3_mobilenet_v1
to fine-tune the model from COCO dataset.
Meanwhile, loss and mAP can be observed on VisualDL by set --use_vdl
and --vdl_log_dir
. But note Python version required >= 3.5 for VisualDL.
python -u tools/train.py -c configs/yolov3_mobilenet_v1_fruit.yml \
--use_vdl=True \
--vdl_log_dir=vdl_fruit_dir/scalar \
--eval
Then observe the loss and mAP curve through VisualDL command:
visualdl --logdir vdl_fruit_dir/scalar/ --host <host_IP> --port <port_num>
Result on VisualDL is shown below:
Model can be downloaded here
Evaluation:
python -u tools/eval.py -c configs/yolov3_mobilenet_v1_fruit.yml
Inference:
python -u tools/infer.py -c configs/yolov3_mobilenet_v1_fruit.yml \
-o weights=https://paddlemodels.bj.bcebos.com/object_detection/yolov3_mobilenet_v1_fruit.tar \
--infer_img=demo/orange_71.jpg
Inference images are shown below:
For detailed infomation of training and evalution, please refer to GETTING_STARTED.md.