3dhuman-groupnorm
What happens when you have to scrupulously share GPUs with others in the lab and you need to run several, say 6 programs on a single 12GB TITAN card in one day? What happens when you are impecunious as I am with only a single 8GB 1070 card?
I give you this repo featuring group normalization version of 3d human pose heatmap with batch size = 1. Memory occupation around 4GB.
Still under construction, probably faster than BART extension project Only matches the performance of H1 (heatmap loss only) as of now.
Prelude
For data, source code and installation, see the following two repos.
Training
See definition of Adaptive I1, Manual in this repo.
-
d2 = 8
- Adaptive I1
Start from BN counterpart (model: net_iter_381324.caffemodel; solverstate: net_iter_381324.solverstate)
cd ../../training/d2=8 $CAFFE_ROOT/build/tools/caffe train --solver=solver_d8_ada_gn.prototxt --weights=net_iter_381324.caffemodel
d2 lr "heatmap2" init std loss Caffe Model Solver State 8 2.5e-5 to 5e-6 after 30000 0.01 Adaptive I1 net_iter_128489.caffemodel net_iter_128489.solverstate Train around 72 mm, test around 88 mm.
- Manual
$CAFFE_ROOT/build/tools/caffe train --solver=solver_d8_ada_gn_startgn_manual.prototxt --snapshot=net_iter_128489.solverstate
d2 lr loss ratio of 2D HM:3D HM:integral loss Caffe Model Solver State 8 1e-6 to 2e-7 after 37000 1:0.1:1 Manual net_iter_121531.caffemodel net_iter_121531.solverstate Train around 65 mm, test around 84 mm.
-
d2 = 16
- Adaptive I1
cd ../../training/d2=16 $CAFFE_ROOT/build/tools/caffe train --solver=solver_d16_ada_gn_startgn.prototxt --snapshot=net_iter_121531.solverstate
d2 lr "heatmap2" init std loss Caffe Model Solver State 16 2.5e-5 to 5e-6 after 180000 0.01 Adaptive I1 net_iter_277648.caffemodel net_iter_277648.solverstate Train around 47 mm, test around 66 mm.
-
d2 = 32
- Adaptive I1
cd ../../training/d2=32 $CAFFE_ROOT/build/tools/caffe train --solver=solver_d32_ada_gn_startgn.prototxt --snapshot=net_iter_277648.solverstate
d2 lr "heatmap2" init std loss Caffe Model Solver State 32 2.5e-5 to 5e-6 after 350000 0.01 Adaptive I1 net_iter_350104.caffemodel net_iter_350104.solverstate Train around 42 mm, test around 56 mm.
-
d2 = 64
- Adaptive I1
cd ../../training/d2=64 $CAFFE_ROOT/build/tools/caffe train --solver=solver_d64_ada_gn_startgn.prototxt --snapshot=net_iter_350104.solverstate
d2 lr "heatmap2" init std loss Caffe Model Solver State 32 2.5e-5 to 5e-6 after 460000 0.01 Adaptive I1 net_iter_516722.caffemodel net_iter_516722.solverstate