English | 简体中文

Quick Start

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

Data Preparation

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:

../_images/visualdl_fruit.jpg

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:

../_images/orange_71.jpg

../_images/orange_71_detection.jpg

For detailed infomation of training and evalution, please refer to GETTING_STARTED.md.