Skip to content

Commit 3998d3d

Browse files
authored
Merge pull request #53 from Purg/dev/fix-tcn-dataset-test
Dev/fix tcn dataset test
2 parents 7226e3a + 30b0ba0 commit 3998d3d

File tree

9 files changed

+542
-4
lines changed

9 files changed

+542
-4
lines changed
Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
# @package _global_
2+
3+
defaults:
4+
- override /data: ptg
5+
- override /model: ptg
6+
- override /callbacks: default
7+
- override /trainer: gpu
8+
- override /paths: default
9+
#- override /logger: aim
10+
- override /logger: csv
11+
12+
# all parameters below will be merged with parameters from default configurations set above
13+
# this allows you to overwrite only specified parameters
14+
15+
# Change this name to something descriptive and unique for this experiment.
16+
# This will differentiate the run logs and output to be separate from other
17+
# experiments that may have been run under the configured
18+
# Setting this value influences:
19+
# - the name of the directory under `${paths.root_dir}/logs/` in which training
20+
# run files are stored.
21+
# Default is "train" set in the "configs/train.yaml" file.
22+
#task_name:
23+
24+
# simply provide checkpoint path to resume training
25+
#ckpt_path: null
26+
27+
tags: ["a8", "ms_tcn", "debug"]
28+
29+
seed: 12345
30+
31+
trainer:
32+
min_epochs: 50
33+
max_epochs: 500
34+
log_every_n_steps: 1
35+
36+
model:
37+
num_classes: 6 # number of activity classification classes
38+
compile: false
39+
optimizer:
40+
lr: 0.00005
41+
scheduler:
42+
# Code change to track train/loss instead of val/loss.
43+
factor: 0.9
44+
patience: 10
45+
net:
46+
# Length of feature vector for a single frame.
47+
# Currently derived from the parameterization of dataset vectorizer.
48+
dim: 87
49+
50+
data:
51+
coco_train_activities: "${paths.coco_file_root}/TRAIN-activity_truth.coco.json"
52+
coco_train_objects: "${paths.coco_file_root}/TRAIN-object_detections.coco.json"
53+
coco_train_poses: "${paths.coco_file_root}/TRAIN-pose_estimations.coco.json"
54+
55+
coco_validation_activities: "${paths.coco_file_root}/VALIDATION-activity_truth.coco.json"
56+
coco_validation_objects: "${paths.coco_file_root}/VALIDATION-object_detections.coco.json"
57+
coco_validation_poses: "${paths.coco_file_root}/VALIDATION-pose_estimations.coco.json"
58+
59+
coco_test_activities: "${paths.coco_file_root}/TEST-activity_truth.coco.json"
60+
coco_test_objects: "${paths.coco_file_root}/TEST-object_detections.coco.json"
61+
coco_test_poses: "${paths.coco_file_root}/TEST-pose_estimations.coco.json"
62+
63+
batch_size: 512
64+
num_workers: 12
65+
target_framerate: 15 # BBN Hololens2 Framerate
66+
epoch_sample_factor: 1 # 1x the dataset size iterations for train/val
67+
68+
train_dataset:
69+
window_size: 25
70+
window_label_idx: ${model.pred_frame_index}
71+
vectorize:
72+
_target_: tcn_hpl.data.vectorize.locs_and_confs.LocsAndConfs
73+
top_k: 1
74+
num_classes: 4
75+
use_joint_confs: True
76+
use_pixel_norm: True
77+
use_joint_obj_offsets: False
78+
background_idx: 0
79+
# Augmentations on windows of frame data before performing vectorization.
80+
transform_frame_data:
81+
transforms:
82+
- _target_: tcn_hpl.data.frame_data_aug.window_frame_dropout.DropoutFrameDataTransform
83+
# These parameters are a fudge for now to experiment. Window presence
84+
# looks qualitatively right with what we're seeing live.
85+
frame_rate: ${data.target_framerate}
86+
dets_throughput_mean: 14.5
87+
pose_throughput_mean: 10
88+
dets_latency: 0
89+
pose_latency: 0.1
90+
dets_throughput_std: 0.2
91+
pose_throughput_std: 0.2
92+
fixed_pattern: false
93+
- _target_: tcn_hpl.data.frame_data_aug.rotate_scale_translate_jitter.FrameDataRotateScaleTranslateJitter
94+
translate: 0.05
95+
scale: [0.9, 1.1]
96+
rotate: [-5, 5]
97+
det_loc_jitter: 0.02
98+
det_wh_jitter: 0.02
99+
pose_kp_loc_jitter: 0.005
100+
dets_score_jitter: 0.
101+
pose_score_jitter: 0.
102+
pose_kp_score_jitter: 0.
103+
val_dataset:
104+
# Augmentations on windows of frame data before performing vectorization.
105+
# Sharing transform with training dataset as it is only the drop-out aug to
106+
# simulate stream processing dropout the same.
107+
transform_frame_data:
108+
transforms:
109+
- _target_: tcn_hpl.data.frame_data_aug.window_frame_dropout.DropoutFrameDataTransform
110+
# Mirror training hparams, except used fixed patterns.
111+
frame_rate: ${data.target_framerate}
112+
dets_throughput_mean: 14.5
113+
pose_throughput_mean: 10
114+
dets_latency: 0
115+
pose_latency: 0.1
116+
dets_throughput_std: 0.2
117+
pose_throughput_std: 0.2
118+
fixed_pattern: true
119+
# Test dataset usually configured the same as val, unless there is some
120+
# different set of transforms that should be used during test/prediction.
121+
122+
paths:
123+
# Base directory for training outputs.
124+
root_dir: "/home/local/KHQ/cameron.johnson/code/TCN_HPL/tcn_hpl/train-TCN-M2_bbn_hololens/training_root"
125+
126+
# Convenience variable to where your train/val/test split COCO file datasets
127+
# are stored.
128+
coco_file_root: ${paths.root_dir}
129+
130+
#logger:
131+
# aim:
132+
# experiment: ${task_name}
133+
# capture_terminal_logs: true

configs/experiment/m2/feat_locsconfs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ data:
6161
coco_test_poses: "${paths.coco_file_root}/TEST-pose_estimations.coco.json"
6262

6363
batch_size: 512
64-
num_workers: 16
64+
num_workers: 12
6565
target_framerate: 15 # BBN Hololens2 Framerate
6666
epoch_sample_factor: 1 # 1x the dataset size iterations for train/val
6767

configs/experiment/m3/feat_locsconfs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ data:
6161
coco_test_poses: "${paths.coco_file_root}/TEST-pose_estimations.coco.json"
6262

6363
batch_size: 512
64-
num_workers: 16
64+
num_workers: 12
6565
target_framerate: 15 # BBN Hololens2 Framerate
6666
epoch_sample_factor: 1 # 1x the dataset size iterations for train/val
6767

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
# @package _global_
2+
3+
defaults:
4+
- override /data: ptg
5+
- override /model: ptg
6+
- override /callbacks: default
7+
- override /trainer: gpu
8+
- override /paths: default
9+
#- override /logger: aim
10+
- override /logger: csv
11+
12+
# all parameters below will be merged with parameters from default configurations set above
13+
# this allows you to overwrite only specified parameters
14+
15+
# Change this name to something descriptive and unique for this experiment.
16+
# This will differentiate the run logs and output to be separate from other
17+
# experiments that may have been run under the configured
18+
# Setting this value influences:
19+
# - the name of the directory under `${paths.root_dir}/logs/` in which training
20+
# run files are stored.
21+
# Default is "train" set in the "configs/train.yaml" file.
22+
#task_name:
23+
24+
# simply provide checkpoint path to resume training
25+
#ckpt_path: null
26+
27+
tags: ["m4", "ms_tcn", "debug"]
28+
29+
seed: 12345
30+
31+
trainer:
32+
min_epochs: 50
33+
max_epochs: 500
34+
log_every_n_steps: 1
35+
36+
model:
37+
num_classes: 4 # number of activity classification classes
38+
compile: false
39+
optimizer:
40+
lr: 0.00005
41+
scheduler:
42+
# Code change to track train/loss instead of val/loss.
43+
factor: 0.9
44+
patience: 10
45+
net:
46+
# Length of feature vector for a single frame.
47+
# Currently derived from the parameterization of dataset vectorizer.
48+
dim: 87
49+
50+
data:
51+
coco_train_activities: "${paths.coco_file_root}/TRAIN-activity_truth.coco.json"
52+
coco_train_objects: "${paths.coco_file_root}/TRAIN-object_detections.coco.json"
53+
coco_train_poses: "${paths.coco_file_root}/TRAIN-pose_estimations.coco.json"
54+
55+
coco_validation_activities: "${paths.coco_file_root}/VALIDATION-activity_truth.coco.json"
56+
coco_validation_objects: "${paths.coco_file_root}/VALIDATION-object_detections.coco.json"
57+
coco_validation_poses: "${paths.coco_file_root}/VALIDATION-pose_estimations.coco.json"
58+
59+
coco_test_activities: "${paths.coco_file_root}/TEST-activity_truth.coco.json"
60+
coco_test_objects: "${paths.coco_file_root}/TEST-object_detections.coco.json"
61+
coco_test_poses: "${paths.coco_file_root}/TEST-pose_estimations.coco.json"
62+
63+
batch_size: 512
64+
num_workers: 12
65+
target_framerate: 15 # BBN Hololens2 Framerate
66+
epoch_sample_factor: 1 # 1x the dataset size iterations for train/val
67+
68+
train_dataset:
69+
window_size: 25
70+
window_label_idx: ${model.pred_frame_index}
71+
vectorize:
72+
_target_: tcn_hpl.data.vectorize.locs_and_confs.LocsAndConfs
73+
top_k: 1
74+
num_classes: 4
75+
use_joint_confs: True
76+
use_pixel_norm: True
77+
use_joint_obj_offsets: False
78+
background_idx: 0
79+
# Augmentations on windows of frame data before performing vectorization.
80+
transform_frame_data:
81+
transforms:
82+
- _target_: tcn_hpl.data.frame_data_aug.window_frame_dropout.DropoutFrameDataTransform
83+
# These parameters are a fudge for now to experiment. Window presence
84+
# looks qualitatively right with what we're seeing live.
85+
frame_rate: ${data.target_framerate}
86+
dets_throughput_mean: 14.5
87+
pose_throughput_mean: 10
88+
dets_latency: 0
89+
pose_latency: 0.1
90+
dets_throughput_std: 0.2
91+
pose_throughput_std: 0.2
92+
fixed_pattern: false
93+
- _target_: tcn_hpl.data.frame_data_aug.rotate_scale_translate_jitter.FrameDataRotateScaleTranslateJitter
94+
translate: 0.05
95+
scale: [0.9, 1.1]
96+
rotate: [-5, 5]
97+
det_loc_jitter: 0.02
98+
det_wh_jitter: 0.02
99+
pose_kp_loc_jitter: 0.005
100+
dets_score_jitter: 0.
101+
pose_score_jitter: 0.
102+
pose_kp_score_jitter: 0.
103+
val_dataset:
104+
# Augmentations on windows of frame data before performing vectorization.
105+
# Sharing transform with training dataset as it is only the drop-out aug to
106+
# simulate stream processing dropout the same.
107+
transform_frame_data:
108+
transforms:
109+
- _target_: tcn_hpl.data.frame_data_aug.window_frame_dropout.DropoutFrameDataTransform
110+
# Mirror training hparams, except used fixed patterns.
111+
frame_rate: ${data.target_framerate}
112+
dets_throughput_mean: 14.5
113+
pose_throughput_mean: 10
114+
dets_latency: 0
115+
pose_latency: 0.1
116+
dets_throughput_std: 0.2
117+
pose_throughput_std: 0.2
118+
fixed_pattern: true
119+
# Test dataset usually configured the same as val, unless there is some
120+
# different set of transforms that should be used during test/prediction.
121+
122+
paths:
123+
# Base directory for training outputs.
124+
root_dir: "/home/local/KHQ/cameron.johnson/code/TCN_HPL/tcn_hpl/train-TCN-M2_bbn_hololens/training_root"
125+
126+
# Convenience variable to where your train/val/test split COCO file datasets
127+
# are stored.
128+
coco_file_root: ${paths.root_dir}
129+
130+
#logger:
131+
# aim:
132+
# experiment: ${task_name}
133+
# capture_terminal_logs: true

configs/experiment/m5/feat_locsconfs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ data:
6161
coco_test_poses: "${paths.coco_file_root}/TEST-pose_estimations.coco.json"
6262

6363
batch_size: 512
64-
num_workers: 16
64+
num_workers: 12
6565
target_framerate: 15 # BBN Hololens2 Framerate
6666
epoch_sample_factor: 1 # 1x the dataset size iterations for train/val
6767

0 commit comments

Comments
 (0)