pse-ecn/pose-sensitive-embedding

Is my train steps correct?my evluate results are very poor.

Closed this issue · 4 comments

this is my training step scripts:

`

  1. Training a Resnet-50 Baseline on Market1501

python train_preid.py --output=/home/lt/ln/reid/pose-sensitive/save/trainer_preid_output3
--data=../../dataset/market1501
--dataset-name=market1501
--batch-size=16
--num-epochs=100
--network-name=resnet_v1_50
--initial-checkpoint=../../netsModel/resnet_v1_50/
--checkpoint-exclude-scopes=resnet_v1_50/logits
--trainable-scopes=resnet_v1_50/logits
--no-evaluation

  1. Training the Views Predictor with RAP

python trainer_view --output=/home/lt/ln/reid/pose-sensitive/save/trainer_views_output_rap
--data=../../dataset/RAP/
--dataset-name=rap
--batch-size=16
--num-epochs=100
--network-name=resnet_v1_50_views
--initial-checkpoint=../save/trainer_preid_output_maket1501/model.ckpt-80800
--checkpoint-exclude-scopes=resnet_v1_50/logits
--trainable-scopes=resnet_v1_50/3Views
--ignore-missing-variables

  1. Training the Views Predictor on Market

python train_preid.py --output=/home/lt/ln/reid/pose-sensitive/save/trainer_preid_output2_views_on_market
--data=../../dataset/market1501
--dataset-name=market1501
--batch-size=16
--num-epochs=100
--network-name=resnet_v1_50_views
--initial-checkpoint=/home/lt/ln/reid/pose-sensitive/save/trainer_views_output_rap/model.ckpt-207901
--checkpoint-exclude-scopes=resnet_v1_50/logits
--trainable-scopes=resnet_v1_50/logits,resnet_v1_50/pre_logits,resnet_v1_50/3ViewBranches
--no-evaluation

  1. Training Pose Map Models On Market

python train_preid.py --output=/home/lt/ln/reid/pose-sensitive/save/trainer_preid_output3_posemaps_on_market
--data=/home/lt/ln/reid/dataset/market1501
--dataset-name=market1501-pose-maps
--batch-size=16
--num-epochs=100
--network-name=resnet_v1_50
--initial-checkpoint=/home/lt/ln/reid/pose-sensitive/save/trainer_preid_output2_views_on_market/model.ckpt-80800
--checkpoint-exclude-scopes=resnet_v1_50/logits,resnet_v1_50/conv1
--trainable-scopes=resnet_v1_50/logits,resnet_v1_50/conv1
--no-evaluation
--ignore-missing-variables

  1. Training Pose Sensitive Embedding Model
    python trainer_preid.py --output=/home/lt/ln/reid/pose-sensitive/save/trainer_preid_output4_pse/
    --data=/home/lt/ln/reid/dataset/market1501
    --dataset-name=market1501-pose-maps
    --batch-size=16 --num-epochs=100
    --network-name=resnet_v1_50_views
    --initial-checkpoint=/home/lt/ln/reid/pose-sensitive/save/trainer_preid_output3_posemaps_on_market/model.ckpt-80800
    --checkpoint-exclude-scopes=resnet_v1_50/logits
    --trainable-scopes=resnet_v1_50/logits,resnet_v1_50/pre_logits,resnet_v1_50/3ViewBranches
    --no-evaluation
    --ignore-missing-variables

  2. Predict
    python predictor_preid.py
    --model-dir=/home/lt/ln/reid/pose-sensitive/save/trainer_preid_output4_pse/model.ckpt-80800
    --data=/home/lt/ln/reid/dataset/market1501
    --dataset-name=market1501
    --batch-size=128
    --network-name=resnet_v1_50_views

`

but my evluation mAp is 39.89 and rank-1 is 48.6,
Could you please show me the correct training steps?

After your first step, you should not specify the --trainable-scopes in order to train the whole networks.

I also wanna ask you a question. In your 4th step, Where does the data set you used in Step 4 come from and in what format? The pose map I generated with Deepcut is jpg.npy which leads to the TypeError: Input 'filename' of 'ReadFile' Op has type float32 that does not match expected type of string. Thank you.

I met this error as well when I tried to train the pose-maps at the first, you should use a specific folder structure to save the .npy files,whcih looks like this:
--where you specify the '--data' options
|
--pose-map-files
|
--query
--test
--train
query,train and test subfolders are where the *npy should be placed in ,they respectively convert from the market1501's 'query', ,'bounding_box_train', and 'bounding_box_test'.

I met this error as well when I tried to train the pose-maps at the first, you should use a specific folder structure to save the .npy files,whcih looks like this:
--where you specify the '--data' options
|
--pose-map-files
|
--query
--test
--train
query,train and test subfolders are where the *npy should be placed in ,they respectively convert from the market1501's 'query', ,'bounding_box_train', and 'bounding_box_test'.

hi , I also meet the error , TypeError: Input 'filename' of 'ReadFile' Op has type float32 that does not match expected type of string. But it can't solve the error by using the specific folder structure . The program can runs smoothly only the folder is following structure:
data
|
bounding_box_test、bounding_box_train、gt_query、pose-map-files

The first three folders are the market dataset,the last folder is the folder structure you mentioned.
is that right? thanks