|
| 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 |
0 commit comments