CONFIG=_ #配置文件路径
WORKDIR=_#结果保存目录
Python ./tools/train.py $CONFIG --work-dir $workdir #其他的参数可以详见train.py文件或config文件内修改
–work-dir $workdir: 相当于参数,不想直接更改配置文件,可以直接在后边传参,传参的内容看train.py文件就可以
比如用faster_rcnn训练,在终端运行:
CUDA_ VISIBLE_DEVICES=6 python . /tools/train.py configs/faster_rcnn_r50_fpn_1x_coco_logo.py
GPU_NUM=_#使用gpu数量
CONFIG=_ #配置文件路径
WORKDIR=_#结果保存目录
CUDA VISIBLE DEVICES=_ bash ./tools/dist_train.sh $CONFIG $GPU_NUM --work-dir $NORKOIR # 其他的参数可以详见train.py文件或在config文件内修改
注意:
多GPU经常写错,官方有多GPU脚本(在 mmdetection/tools/dist_train.sh)中
多GPU的时候,端口容易出问题,因此需要加一个random,就相当于端口在29500-29510之间随机选一个,这样就不会有冲突,不然只能跑一个,第二个就冲突
CONFIG=
CHECKPOINT=
python ./tools/test.py $CONFIG $CHECKPOINT --out $0UTPUTFILE --eval segm
$CONFIG :配置文件
$CHECKPOINT --out :训练好的模型,把模型loan进来
$0UTPUTFILE --eval segm :我们都是bbox指标 --eval bbox
CONFIG=
CHECKPOINT=
GPU_NUM=
CUDA VISIBLE DEVICES=_ ./tools/dist_test.py $CONFIG $CHECKPOINT $GPU_NUM --out $0UTPUTFILE --eval segm
#安装pip install seaborn
LOGFILE=_ # log文件 log.json
OUTFILE= #图片输出地址
KEYS=_ #打印的键值
TITLE= #输出图片title
python tools/analysis_tools/analyze_logs.py plot_curve $LOGFILE [--keys $[KEYS][--title ${TITLE}][--legend $[LEGEND}] [--backend $[BACKEND}] [--style ${STYLE}] [--out ${OUTFILE}]
例如:
python tools/analysis tools/analyze logs.py plot curve logo train/20210723 033839.log.json --keys bbox mAP --legend bbox mAP
–keys bbox mAP:评价指标
**注意:**可以放多个log文件(横向纵向),也可以放多个key值(打印多个指标)放一张上,可以有更多参数设定,让图画的更好看,也可以改源码,让它更好看
CONFIG=_ #配置文件
PREDICTION_PATH_= #test预测的结果文件(.pk1)
SHOW_DIR=_ #保存结果的目录
#--show 是否直接展示结果 选择false
WAIT_TIME=_ #直接展示结果的等待时长
TOPK= #展示前几个结果
SHOW SCORE THR= #展示结果的阈值
CFG_OPTIONS= #配置文件的选项,默认为config文件
python tools/analysis_tools/analyze_results.py
$[CONFIG] \
${PREDICTION_PATH} \
$[SHOW_DIR] \
[--show] \
[--wait-time ${WAIT_TIME}] \
[--topk $[TOPK]] \
[--show-score-thr ${SHOW_SCORE_THR}] \
[--cfg-options $[CFG_OPTIONS]
CONFIG_FILE=_ #Config file of mmdetction传入config
RESULT_FILE=_ #pickle/json format.
STAGE=_ # train val test ,default is 'val'
SAVE_DIRECTORY=_ # default is 'output
python DetvisGUI.py ${CONFIG_FILE} [--det_file ${RESULT_FILE}] [--stage ${STAGE}] [--output ${SAVE_DIRECTORY}]
例:
Python DetvisGUI.py ../configs/faster_rcnn_r50_fpn_1x_coco_logo_vis.py --det_file ../logo_train/result12.pkl
会跳出可视化窗口会直接显示结果,并且有相应的阈值,也可以自行调试阈值,也可以看各个类的表现
CONFIG FILE=
INPUT_SHAPE= #default:(1,3,1280,800)
# FLOPS 与输入大小有关 parameters 与输入大小无关
python tools/analysis_tools/get_flops.py ${CONFIG_FILE}[--shape ${INPUT_SHAPE}]
例:CUDA_VISIBLE_DEVICES=6 python ./tools/analysis_tools/get_flops.py config/faster_rcnn/fsater_rcnn_r50_fpn_1x_coco_logo.py
#输出示例(这个结果不是很准)
Input shape:(3,1280,800)
FIOPS:206.72GFLOPS #浮点复杂度
Params:41.18M #打印参数的数量
python tools/analysis_tools/analyze_logs.py cal_train time $LOGFILE
#结果示例
# -----Analyze train time of logo train/20218723 8339.log.json----
# slowest epoch 7, average time is 0.3195
# fastest epoch 12, average time is 0.3126
# time std over epochs is 0.0018
# average iter time:0.3156 s/iter
coco_error_analysis结果分析,每个类上的分数展示
#获取json格式的结果文件
CONFIG=
CHECKPOINT=
RESULT DIR=
ANN_FILE=
python tools/test.py \
$CONFIG \
$CHECKPOINT \
--format-only\
--options "jsonfile_prefix=. /results"
#使用coco_error_analysis进行每个类的结果分析
python tools/analysis_tools/coco_error_analysis.py \
results.bbox.json \
$RESULT DIR \
--ann=$ANN_FILE \