Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 15 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
deeppose
DeepPose
========

NOTE: This is not official implementation. Original paper is [DeepPose: Human Pose Estimation via Deep Neural Networks](http://arxiv.org/abs/1312.4659).

# Requirements

- [Chainer](https://github.com/pfnet/chainer) (Neural network framework)
Expand Down Expand Up @@ -36,6 +38,14 @@ This script downloads FLIC-full dataset (http://vision.grasp.upenn.edu/cgi-bin/i

## For FLIC Dataset

Just run:

```
nohup python scripts/train.py > AlexNet_flic_LCN_AdaGrad_lr-0.0005.log 2>&1 &
```

It is same as:

```
nohup python scripts/train.py \
--model models/AlexNet_flic.py \
Expand All @@ -46,16 +56,18 @@ nohup python scripts/train.py \
--snapshot 10 \
--datadir data/FLIC-full \
--channel 3 \
--flip True \
--flip 1 \
--size 220 \
--crop_pad_inf 1.5 \
--crop_pad_sup 2.0 \
--shift 5 \
--lcn True \
--lcn 1 \
--joint_num 7 \
> AlexNet_LCN_AdaGrad_lr-0.0005.log 2>&1 &
```

`--flip 1` means it performs LR flip augmentation, and `--flip 0` does nothing. `--lcn 1` means local(should be said "global"?) contrast normalization will be applied.

See the help messages with `--help` option for details.

### GPU memory requirement
Expand Down
18 changes: 9 additions & 9 deletions scripts/train.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,10 @@
import logging
import time
import os
import sys
import imp
import shutil
import numpy as np
from chainer import optimizers, cuda, Variable
import chainer.functions as F
from chainer import optimizers, cuda
from transform import Transform
import cPickle as pickle
from draw_loss import draw_loss_curve
Expand Down Expand Up @@ -178,22 +176,22 @@ def get_log_msg(stage, epoch, sum_loss, N, args, st):
help='model definition file in models dir')
parser.add_argument('--gpu', type=int, default=0)
parser.add_argument('--epoch', type=int, default=1000)
parser.add_argument('--batchsize', type=int, default=128)
parser.add_argument('--batchsize', type=int, default=32)
parser.add_argument('--prefix', type=str, default='AlexNet_flic')
parser.add_argument('--snapshot', type=int, default=10)
parser.add_argument('--datadir', type=str, default='data/FLIC-full')
parser.add_argument('--channel', type=int, default=3)
parser.add_argument('--flip', type=bool, default=True,
parser.add_argument('--flip', type=int, default=1,
help='flip left and right for data augmentation')
parser.add_argument('--size', type=int, default=220,
help='resizing')
parser.add_argument('--crop_pad_inf', type=float, default=1.5,
help='random number infimum for padding size when cropping')
parser.add_argument('--crop_pad_sup', type=float, default=2.0,
help='random number supremum for padding size when cropping')
parser.add_argument('--shift', type=int, default=10,
parser.add_argument('--shift', type=int, default=5,
help='slide an image when cropping')
parser.add_argument('--lcn', type=bool, default=True,
parser.add_argument('--lcn', type=int, default=1,
help='local contrast normalization for data augmentation')
parser.add_argument('--joint_num', type=int, default=7)
parser.add_argument('--fname_index', type=int, default=0,
Expand All @@ -220,11 +218,13 @@ def get_log_msg(stage, epoch, sum_loss, N, args, st):
logging.info('# of test data:{}'.format(N_test))

# augmentation setting
_flip = bool(args.flip)
_lcn = bool(args.lcn)
trans = Transform(padding=[args.crop_pad_inf, args.crop_pad_sup],
flip=args.flip,
flip=_flip,
size=args.size,
shift=args.shift,
lcn=args.lcn)
lcn=_lcn)

logging.info(time.strftime('%Y-%m-%d_%H-%M-%S'))
logging.info('start training...')
Expand Down