1.命令行的方式训练。
执行命令:
python tools/train.py -f exps/example/yolox_voc/yolox_voc_s.py -d 1 -b 4 --fp16 -c yolox_s.pth
2.如果不喜欢使用命令行的方式,想直接运行train.py,那就需要就如train.py修改参数了。
-
首先把train.py从tools里面复制一份到工程的根目录(建议这样做,否则需要修改的路径比较多,新手容易犯错误),如图:
parser.add_argument("-b", "--batch-size", type=int, default=4, help="batch size") parser.add_argument( "-d", "--devices", default=1, type=int, help="device for training" ) parser.add_argument( "-f", "--exp_file", default="exps/example/yolox_voc/yolox_voc_s.py", type=str, help="plz input your expriment description file", ) parser.add_argument("-c", "--ckpt", default='yolox_s.pth', type=str, help="checkpoint file") parser.add_argument( "--fp16", dest="fp16", default=True, action="store_true", help="Adopting mix precision training.", )
3.如果训练了一段时间,再想接着以前的模型再训练,应该如何做呢?修改载入权重的参数即可,如下:
python tools/train.py -f exps/example/yolox_voc/yolox_voc_s.py -d 1 -b 4 -c YOLOX_outputs/yolox_voc_s/latest_ckpt.pth.tar -resume -start_epoch=100
-
修改train.py:
parser.add_argument( "--resume", default=True, action="store_true", help="resume training" ) parser.add_argument("-c", "--ckpt", default='YOLOX_outputs/yolox_voc_s/best_ckpt.pth', type=str, help="checkpoint file") parser.add_argument( "-e", "--start_epoch", default=100, type=int, help="resume training start epoch", )