Commit
Β·
d7beed5
1
Parent(s):
d5cffc6
added force field decoder for DIGIT
Browse files- README.md +47 -0
- digit_t1_forcefield_dino_vitbase_bg/checkpoints/epoch-0014.pth +3 -0
- digit_t1_forcefield_dino_vitbase_bg/checkpoints/epoch-0021.pth +3 -0
- digit_t1_forcefield_dino_vitbase_bg/checkpoints/epoch-0031.pth +3 -0
- digit_t1_forcefield_dino_vitbase_bg/checkpoints/last.ckpt +3 -0
- digit_t1_forcefield_dino_vitbase_bg/config.yaml +218 -0
- digit_t1_forcefield_dino_vitbase_bg/config_tree.log +237 -0
README.md
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: cc-by-nc-4.0
|
| 3 |
+
tags:
|
| 4 |
+
- sparsh
|
| 5 |
+
- force field
|
| 6 |
+
- digit
|
| 7 |
+
---
|
| 8 |
+
|
| 9 |
+
# Sparsh (DINO) + force field decoder for DIGIT sensor
|
| 10 |
+
|
| 11 |
+
We decode the touch representations from Sparsh into normal and shear force fields. This allows us to gather an intuition about what the representations capture in terms of forces in a way that is interpretable for humans.
|
| 12 |
+
|
| 13 |
+
## How to Use
|
| 14 |
+
For testing Sparsh(DINO) + force field decoder live, you only need a DIGIT sensor. Follow these steps to run the demo:
|
| 15 |
+
|
| 16 |
+
1. Clone the [sparsh repo](https://github.com/facebookresearch/sparsh.git)
|
| 17 |
+
|
| 18 |
+
2. Create a folder for downloading the task checkpoints. For example, `${YOUR_PATH}/outputs_sparsh/checkpoints`.
|
| 19 |
+
3. Download the Sparsh (DINO) base [checkpoint](https://huggingface.co/facebook/sparsh-dino-base)
|
| 20 |
+
4. Download the decoder checkpoints from this repo.
|
| 21 |
+
5. Connect the sensor to your PC. In case of DIGIT, please make sure you have [digit-interface](https://github.com/facebookresearch/digit-interface) installed.
|
| 22 |
+
6. Make sure the device is recognized by the OS (you can use Cheese in Linux to see the video that the sensor is streaming).
|
| 23 |
+
|
| 24 |
+
7. Running the demo for DIGIT (please refer to the Sparsh repo README for more information about how to setup the path configs):
|
| 25 |
+
|
| 26 |
+
```bash
|
| 27 |
+
python demo_forcefield.py +experiment=digit/downstream_task/forcefield/digit_dino paths=${YOUR_PATH_CONFIG} paths.output_dir=${YOUR_PATH}/outputs_sparsh/checkpoints/ test.demo.digit_serial=${YOUR_DIGIT_SERIAL}`
|
| 28 |
+
```
|
| 29 |
+
The DIGIT serial number is printed on the back of the sensor and has the format `DXXXXX`.
|
| 30 |
+
|
| 31 |
+
8. Take the sensor and slide it across the edge of a table, or across objects with interesting textures! Look at the normal field to localize where you're making contact on the sensor's surface. Look at the shear field to gather an intuition about the direction of the shear force that you applied while sliding the sensor. For example, slide the sensor over an edge up and down to get translational shear or rotate the sensor in place to see torsional slip!
|
| 32 |
+
|
| 33 |
+
<!-- <p align="center">
|
| 34 |
+
<img src="assets/demo_digit.gif" alt="animated" />
|
| 35 |
+
</p> -->
|
| 36 |
+
|
| 37 |
+
### BibTeX entry and citation info
|
| 38 |
+
```bibtex
|
| 39 |
+
@inproceedings{
|
| 40 |
+
higuera2024sparsh,
|
| 41 |
+
title={Sparsh: Self-supervised touch representations for vision-based tactile sensing},
|
| 42 |
+
author={Carolina Higuera and Akash Sharma and Chaithanya Krishna Bodduluri and Taosha Fan and Patrick Lancaster and Mrinal Kalakrishnan and Michael Kaess and Byron Boots and Mike Lambeta and Tingfan Wu and Mustafa Mukadam},
|
| 43 |
+
booktitle={8th Annual Conference on Robot Learning},
|
| 44 |
+
year={2024},
|
| 45 |
+
url={https://openreview.net/forum?id=xYJn2e1uu8}
|
| 46 |
+
}
|
| 47 |
+
```
|
digit_t1_forcefield_dino_vitbase_bg/checkpoints/epoch-0014.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:de8da71138525cbf12383bf1b25c146cdba93626199a2be044f671f782fc4a10
|
| 3 |
+
size 14695019
|
digit_t1_forcefield_dino_vitbase_bg/checkpoints/epoch-0021.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:182ceba7f823d334c036df82900bc55d660820777530a2e611124d51d94246eb
|
| 3 |
+
size 14695019
|
digit_t1_forcefield_dino_vitbase_bg/checkpoints/epoch-0031.pth
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2e41f3194445ea14d21d1ce0fc8ad86a7bdccdbcc64529e4fad1d774f50ad878
|
| 3 |
+
size 14695019
|
digit_t1_forcefield_dino_vitbase_bg/checkpoints/last.ckpt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:1d10d727b6e711615c265366fb532b540a1ed3f9fd0544ea5d46bc47cc70f888
|
| 3 |
+
size 541797495
|
digit_t1_forcefield_dino_vitbase_bg/config.yaml
ADDED
|
@@ -0,0 +1,218 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
paths:
|
| 2 |
+
data_root: /media/chiguera/GUM/
|
| 3 |
+
encoder_checkpoint_root: /media/chiguera/2TB/sparsh/encoders_460k/
|
| 4 |
+
log_dir: /media/chiguera/GUM/tactile_ssl/outputs_sparsh/${experiment_name}/logs/
|
| 5 |
+
output_dir: /media/chiguera/GUM/tactile_ssl/outputs_sparsh/${experiment_name}/
|
| 6 |
+
work_dir: ${hydra:runtime.cwd}
|
| 7 |
+
wandb:
|
| 8 |
+
project: ${task_name}_${sensor}
|
| 9 |
+
entity: chiguera
|
| 10 |
+
save_dir: ${paths.output_dir}
|
| 11 |
+
id: ${hydra:job.id}_${experiment_name}
|
| 12 |
+
tags:
|
| 13 |
+
- ${ssl_name}
|
| 14 |
+
group: null
|
| 15 |
+
notes: null
|
| 16 |
+
data:
|
| 17 |
+
train_val_split: null
|
| 18 |
+
train_data_budget: ${train_data_budget}
|
| 19 |
+
val_data_budget: ${val_data_budget}
|
| 20 |
+
max_train_data: null
|
| 21 |
+
sensor: digit
|
| 22 |
+
dataset:
|
| 23 |
+
_target_: tactile_ssl.data.vision_tactile_forcefield.VisionTactileBackboneDataset
|
| 24 |
+
config:
|
| 25 |
+
sensor: ${data.sensor}
|
| 26 |
+
remove_bg: true
|
| 27 |
+
out_format: concat_ch_img
|
| 28 |
+
num_frames: 2
|
| 29 |
+
frame_stride: 5
|
| 30 |
+
path_dataset: ${paths.data_root}/datasets/digitv1/Object-Slide/
|
| 31 |
+
path_bgs: ${paths.data_root}/datasets/digitv1/Object-Slide/bgs/
|
| 32 |
+
list_datasets:
|
| 33 |
+
- 004_sugar_box/dataset_0
|
| 34 |
+
- 025_mug/dataset_0
|
| 35 |
+
- 048_hammer/dataset_0
|
| 36 |
+
- 005_tomato_soup_can/dataset_0
|
| 37 |
+
- 035_power_drill/dataset_0
|
| 38 |
+
- 055_baseball/dataset_0
|
| 39 |
+
- 006_mustard_bottle/dataset_0
|
| 40 |
+
- 037_scissors/dataset_0
|
| 41 |
+
- 021_bleach_cleanser/dataset_0
|
| 42 |
+
- 042_adjustable_wrench/dataset_0
|
| 43 |
+
- 004_sugar_box/dataset_1
|
| 44 |
+
- 025_mug/dataset_1
|
| 45 |
+
- 048_hammer/dataset_1
|
| 46 |
+
- 005_tomato_soup_can/dataset_1
|
| 47 |
+
- 035_power_drill/dataset_1
|
| 48 |
+
- 055_baseball/dataset_1
|
| 49 |
+
- 006_mustard_bottle/dataset_1
|
| 50 |
+
- 037_scissors/dataset_1
|
| 51 |
+
- 021_bleach_cleanser/dataset_1
|
| 52 |
+
- 042_adjustable_wrench/dataset_1
|
| 53 |
+
- 004_sugar_box/dataset_2
|
| 54 |
+
- 025_mug/dataset_2
|
| 55 |
+
- 048_hammer/dataset_2
|
| 56 |
+
- 005_tomato_soup_can/dataset_2
|
| 57 |
+
- 035_power_drill/dataset_2
|
| 58 |
+
- 055_baseball/dataset_2
|
| 59 |
+
- 006_mustard_bottle/dataset_2
|
| 60 |
+
- 037_scissors/dataset_2
|
| 61 |
+
- 021_bleach_cleanser/dataset_2
|
| 62 |
+
- 042_adjustable_wrench/dataset_2
|
| 63 |
+
- 004_sugar_box/dataset_3
|
| 64 |
+
- 025_mug/dataset_3
|
| 65 |
+
- 048_hammer/dataset_3
|
| 66 |
+
- 005_tomato_soup_can/dataset_3
|
| 67 |
+
- 035_power_drill/dataset_3
|
| 68 |
+
- 055_baseball/dataset_3
|
| 69 |
+
- 006_mustard_bottle/dataset_3
|
| 70 |
+
- 037_scissors/dataset_3
|
| 71 |
+
- 021_bleach_cleanser/dataset_3
|
| 72 |
+
- 042_adjustable_wrench/dataset_3
|
| 73 |
+
- banana/dataset_0
|
| 74 |
+
- banana/dataset_1
|
| 75 |
+
- banana/dataset_2
|
| 76 |
+
- banana/dataset_3
|
| 77 |
+
- bread/dataset_0
|
| 78 |
+
- bread/dataset_1
|
| 79 |
+
- bread/dataset_2
|
| 80 |
+
- bread/dataset_3
|
| 81 |
+
- cheese/dataset_0
|
| 82 |
+
- cheese/dataset_1
|
| 83 |
+
- cheese/dataset_2
|
| 84 |
+
- cheese/dataset_3
|
| 85 |
+
- cookie/dataset_0
|
| 86 |
+
- cookie/dataset_1
|
| 87 |
+
- cookie/dataset_2
|
| 88 |
+
- cookie/dataset_3
|
| 89 |
+
- corn/dataset_0
|
| 90 |
+
- corn/dataset_1
|
| 91 |
+
- corn/dataset_2
|
| 92 |
+
- corn/dataset_3
|
| 93 |
+
- lettuce/dataset_0
|
| 94 |
+
- lettuce/dataset_1
|
| 95 |
+
- lettuce/dataset_2
|
| 96 |
+
- lettuce/dataset_3
|
| 97 |
+
- plum/dataset_0
|
| 98 |
+
- plum/dataset_1
|
| 99 |
+
- plum/dataset_2
|
| 100 |
+
- plum/dataset_3
|
| 101 |
+
- strawberry/dataset_0
|
| 102 |
+
- strawberry/dataset_1
|
| 103 |
+
- strawberry/dataset_2
|
| 104 |
+
- strawberry/dataset_3
|
| 105 |
+
- tomato/dataset_0
|
| 106 |
+
- tomato/dataset_1
|
| 107 |
+
- tomato/dataset_2
|
| 108 |
+
- tomato/dataset_3
|
| 109 |
+
- sphere/dataset_0
|
| 110 |
+
- sphere/dataset_1
|
| 111 |
+
- sphere/dataset_2
|
| 112 |
+
list_datasets_test:
|
| 113 |
+
- 004_sugar_box/dataset_4
|
| 114 |
+
- 025_mug/dataset_4
|
| 115 |
+
- 048_hammer/dataset_4
|
| 116 |
+
- 005_tomato_soup_can/dataset_4
|
| 117 |
+
- 035_power_drill/dataset_4
|
| 118 |
+
- 055_baseball/dataset_4
|
| 119 |
+
- 006_mustard_bottle/dataset_4
|
| 120 |
+
- 037_scissors/dataset_4
|
| 121 |
+
- 021_bleach_cleanser/dataset_4
|
| 122 |
+
- 042_adjustable_wrench/dataset_4
|
| 123 |
+
- sphere/dataset_1
|
| 124 |
+
- sphere/dataset_2
|
| 125 |
+
look_in_folder: false
|
| 126 |
+
transforms:
|
| 127 |
+
with_augmentation: false
|
| 128 |
+
resize:
|
| 129 |
+
- 224
|
| 130 |
+
- 224
|
| 131 |
+
p_flip: 0.0
|
| 132 |
+
p_crop: 0.0
|
| 133 |
+
p_rot: 0.0
|
| 134 |
+
train_dataloader:
|
| 135 |
+
batch_size: 20
|
| 136 |
+
num_workers: 2
|
| 137 |
+
drop_last: true
|
| 138 |
+
pin_memory: true
|
| 139 |
+
persistent_workers: true
|
| 140 |
+
shuffle: true
|
| 141 |
+
val_dataloader:
|
| 142 |
+
batch_size: 20
|
| 143 |
+
num_workers: 2
|
| 144 |
+
drop_last: true
|
| 145 |
+
pin_memory: true
|
| 146 |
+
persistent_workers: true
|
| 147 |
+
task:
|
| 148 |
+
_target_: tactile_ssl.downstream_task.ForceFieldModuleSL
|
| 149 |
+
model_encoder:
|
| 150 |
+
_target_: tactile_ssl.model.vit_${ssl_model_size}
|
| 151 |
+
img_size:
|
| 152 |
+
- 224
|
| 153 |
+
- 224
|
| 154 |
+
in_chans: 6
|
| 155 |
+
pos_embed_fn: sinusoidal
|
| 156 |
+
num_register_tokens: 1
|
| 157 |
+
model_task:
|
| 158 |
+
_target_: tactile_ssl.downstream_task.ForceFieldDecoderSL
|
| 159 |
+
embed_dim: ${ssl_model_size}
|
| 160 |
+
checkpoint_encoder: ${paths.encoder_checkpoint_root}/${ssl_name}_vit${ssl_model_size}.ckpt
|
| 161 |
+
checkpoint_task: null
|
| 162 |
+
train_encoder: false
|
| 163 |
+
optim_cfg:
|
| 164 |
+
_partial_: true
|
| 165 |
+
_target_: torch.optim.Adam
|
| 166 |
+
lr: 0.0001
|
| 167 |
+
scheduler_cfg: null
|
| 168 |
+
ssl_config:
|
| 169 |
+
img_sz:
|
| 170 |
+
- 224
|
| 171 |
+
- 224
|
| 172 |
+
pose_estimator:
|
| 173 |
+
num_encoder_layers: 18
|
| 174 |
+
loss:
|
| 175 |
+
with_mask_supervision: false
|
| 176 |
+
with_sl_supervision: false
|
| 177 |
+
with_ssim: true
|
| 178 |
+
disparity_smoothness: 0.001
|
| 179 |
+
min_depth: 0.1
|
| 180 |
+
max_depth: 100.0
|
| 181 |
+
encoder_type: ${ssl_name}
|
| 182 |
+
ssl_name: dino
|
| 183 |
+
sensor: digit
|
| 184 |
+
ckpt_path: null
|
| 185 |
+
task_name: t1_forcefield
|
| 186 |
+
ssl_model_size: base
|
| 187 |
+
train_data_budget: 1.0
|
| 188 |
+
val_data_budget: 1.0
|
| 189 |
+
experiment_name: ${sensor}_${task_name}_${ssl_name}_vit${ssl_model_size}_t0
|
| 190 |
+
seed: 42
|
| 191 |
+
data_out_format: concat_ch_img
|
| 192 |
+
num_frames: 2
|
| 193 |
+
frame_stride: 5
|
| 194 |
+
trainer:
|
| 195 |
+
max_epochs: 31
|
| 196 |
+
validation_frequency: 2
|
| 197 |
+
sanity_validate: false
|
| 198 |
+
save_checkpoint_dir: ${paths.output_dir}/checkpoints
|
| 199 |
+
checkpoint_interval_type: log
|
| 200 |
+
max_task_checkpoints: 10
|
| 201 |
+
save_probe_weights_only: true
|
| 202 |
+
limit_train_batches: 500
|
| 203 |
+
limit_val_batches: 150
|
| 204 |
+
use_distributed_sampler: false
|
| 205 |
+
devices:
|
| 206 |
+
- 0
|
| 207 |
+
test:
|
| 208 |
+
data:
|
| 209 |
+
dataset_name:
|
| 210 |
+
- 005_tomato_soup_can/dataset_0
|
| 211 |
+
batch_size: 1
|
| 212 |
+
tester:
|
| 213 |
+
_partial_: true
|
| 214 |
+
_target_: tactile_ssl.test.TestForceField
|
| 215 |
+
demo:
|
| 216 |
+
_partial_: true
|
| 217 |
+
_target_: tactile_ssl.test.DemoForceField
|
| 218 |
+
path_outputs: null
|
digit_t1_forcefield_dino_vitbase_bg/config_tree.log
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
CONFIG
|
| 2 |
+
βββ data
|
| 3 |
+
β βββ train_val_split: null
|
| 4 |
+
β train_data_budget: 1.0
|
| 5 |
+
β val_data_budget: 1.0
|
| 6 |
+
β max_train_data: null
|
| 7 |
+
β sensor: digit
|
| 8 |
+
β dataset:
|
| 9 |
+
β _target_: tactile_ssl.data.vision_tactile_forcefield.VisionTactileBackboneDataset
|
| 10 |
+
β config:
|
| 11 |
+
β sensor: digit
|
| 12 |
+
β remove_bg: true
|
| 13 |
+
β out_format: concat_ch_img
|
| 14 |
+
β num_frames: 2
|
| 15 |
+
β frame_stride: 5
|
| 16 |
+
β path_dataset: /media/chiguera/GUM//datasets/digitv1/Object-Slide/
|
| 17 |
+
β path_bgs: /media/chiguera/GUM//datasets/digitv1/Object-Slide/bgs/
|
| 18 |
+
β list_datasets:
|
| 19 |
+
β - 004_sugar_box/dataset_0
|
| 20 |
+
β - 025_mug/dataset_0
|
| 21 |
+
β - 048_hammer/dataset_0
|
| 22 |
+
β - 005_tomato_soup_can/dataset_0
|
| 23 |
+
β - 035_power_drill/dataset_0
|
| 24 |
+
β - 055_baseball/dataset_0
|
| 25 |
+
β - 006_mustard_bottle/dataset_0
|
| 26 |
+
β - 037_scissors/dataset_0
|
| 27 |
+
β - 021_bleach_cleanser/dataset_0
|
| 28 |
+
β - 042_adjustable_wrench/dataset_0
|
| 29 |
+
β - 004_sugar_box/dataset_1
|
| 30 |
+
β - 025_mug/dataset_1
|
| 31 |
+
β - 048_hammer/dataset_1
|
| 32 |
+
β - 005_tomato_soup_can/dataset_1
|
| 33 |
+
β - 035_power_drill/dataset_1
|
| 34 |
+
β - 055_baseball/dataset_1
|
| 35 |
+
β - 006_mustard_bottle/dataset_1
|
| 36 |
+
β - 037_scissors/dataset_1
|
| 37 |
+
β - 021_bleach_cleanser/dataset_1
|
| 38 |
+
β - 042_adjustable_wrench/dataset_1
|
| 39 |
+
β - 004_sugar_box/dataset_2
|
| 40 |
+
β - 025_mug/dataset_2
|
| 41 |
+
β - 048_hammer/dataset_2
|
| 42 |
+
β - 005_tomato_soup_can/dataset_2
|
| 43 |
+
β - 035_power_drill/dataset_2
|
| 44 |
+
β - 055_baseball/dataset_2
|
| 45 |
+
β - 006_mustard_bottle/dataset_2
|
| 46 |
+
β - 037_scissors/dataset_2
|
| 47 |
+
β - 021_bleach_cleanser/dataset_2
|
| 48 |
+
β - 042_adjustable_wrench/dataset_2
|
| 49 |
+
β - 004_sugar_box/dataset_3
|
| 50 |
+
β - 025_mug/dataset_3
|
| 51 |
+
β - 048_hammer/dataset_3
|
| 52 |
+
β - 005_tomato_soup_can/dataset_3
|
| 53 |
+
β - 035_power_drill/dataset_3
|
| 54 |
+
β - 055_baseball/dataset_3
|
| 55 |
+
β - 006_mustard_bottle/dataset_3
|
| 56 |
+
β - 037_scissors/dataset_3
|
| 57 |
+
β - 021_bleach_cleanser/dataset_3
|
| 58 |
+
β - 042_adjustable_wrench/dataset_3
|
| 59 |
+
β - banana/dataset_0
|
| 60 |
+
β - banana/dataset_1
|
| 61 |
+
β - banana/dataset_2
|
| 62 |
+
β - banana/dataset_3
|
| 63 |
+
β - bread/dataset_0
|
| 64 |
+
β - bread/dataset_1
|
| 65 |
+
β - bread/dataset_2
|
| 66 |
+
β - bread/dataset_3
|
| 67 |
+
β - cheese/dataset_0
|
| 68 |
+
β - cheese/dataset_1
|
| 69 |
+
β - cheese/dataset_2
|
| 70 |
+
β - cheese/dataset_3
|
| 71 |
+
β - cookie/dataset_0
|
| 72 |
+
β - cookie/dataset_1
|
| 73 |
+
β - cookie/dataset_2
|
| 74 |
+
β - cookie/dataset_3
|
| 75 |
+
β - corn/dataset_0
|
| 76 |
+
β - corn/dataset_1
|
| 77 |
+
β - corn/dataset_2
|
| 78 |
+
β - corn/dataset_3
|
| 79 |
+
β - lettuce/dataset_0
|
| 80 |
+
β - lettuce/dataset_1
|
| 81 |
+
β - lettuce/dataset_2
|
| 82 |
+
β - lettuce/dataset_3
|
| 83 |
+
β - plum/dataset_0
|
| 84 |
+
β - plum/dataset_1
|
| 85 |
+
β - plum/dataset_2
|
| 86 |
+
β - plum/dataset_3
|
| 87 |
+
β - strawberry/dataset_0
|
| 88 |
+
β - strawberry/dataset_1
|
| 89 |
+
β - strawberry/dataset_2
|
| 90 |
+
β - strawberry/dataset_3
|
| 91 |
+
β - tomato/dataset_0
|
| 92 |
+
β - tomato/dataset_1
|
| 93 |
+
β - tomato/dataset_2
|
| 94 |
+
β - tomato/dataset_3
|
| 95 |
+
β - sphere/dataset_0
|
| 96 |
+
β - sphere/dataset_1
|
| 97 |
+
β - sphere/dataset_2
|
| 98 |
+
β list_datasets_test:
|
| 99 |
+
β - 004_sugar_box/dataset_4
|
| 100 |
+
β - 025_mug/dataset_4
|
| 101 |
+
β - 048_hammer/dataset_4
|
| 102 |
+
β - 005_tomato_soup_can/dataset_4
|
| 103 |
+
β - 035_power_drill/dataset_4
|
| 104 |
+
β - 055_baseball/dataset_4
|
| 105 |
+
β - 006_mustard_bottle/dataset_4
|
| 106 |
+
β - 037_scissors/dataset_4
|
| 107 |
+
β - 021_bleach_cleanser/dataset_4
|
| 108 |
+
β - 042_adjustable_wrench/dataset_4
|
| 109 |
+
β - sphere/dataset_1
|
| 110 |
+
β - sphere/dataset_2
|
| 111 |
+
β look_in_folder: false
|
| 112 |
+
β transforms:
|
| 113 |
+
β with_augmentation: false
|
| 114 |
+
β resize:
|
| 115 |
+
β - 224
|
| 116 |
+
β - 224
|
| 117 |
+
β p_flip: 0.0
|
| 118 |
+
β p_crop: 0.0
|
| 119 |
+
β p_rot: 0.0
|
| 120 |
+
β train_dataloader:
|
| 121 |
+
β batch_size: 20
|
| 122 |
+
β num_workers: 2
|
| 123 |
+
β drop_last: true
|
| 124 |
+
β pin_memory: true
|
| 125 |
+
β persistent_workers: true
|
| 126 |
+
β shuffle: true
|
| 127 |
+
β val_dataloader:
|
| 128 |
+
β batch_size: 20
|
| 129 |
+
β num_workers: 2
|
| 130 |
+
β drop_last: true
|
| 131 |
+
β pin_memory: true
|
| 132 |
+
β persistent_workers: true
|
| 133 |
+
β
|
| 134 |
+
βββ trainer
|
| 135 |
+
β βββ max_epochs: 31
|
| 136 |
+
β validation_frequency: 2
|
| 137 |
+
β sanity_validate: false
|
| 138 |
+
β save_checkpoint_dir: /media/chiguera/GUM/tactile_ssl/outputs_sparsh/digit_t1_forcefield_dino_vitbase
|
| 139 |
+
β checkpoint_interval_type: log
|
| 140 |
+
β max_task_checkpoints: 10
|
| 141 |
+
β save_probe_weights_only: true
|
| 142 |
+
β limit_train_batches: 500
|
| 143 |
+
β limit_val_batches: 150
|
| 144 |
+
β use_distributed_sampler: false
|
| 145 |
+
β devices:
|
| 146 |
+
β - 0
|
| 147 |
+
β
|
| 148 |
+
βββ paths
|
| 149 |
+
β βββ data_root: /media/chiguera/GUM/
|
| 150 |
+
β encoder_checkpoint_root: /media/chiguera/2TB/sparsh/encoders_460k/
|
| 151 |
+
β log_dir: /media/chiguera/GUM/tactile_ssl/outputs_sparsh/digit_t1_forcefield_dino_vitbase_t0/logs/
|
| 152 |
+
β output_dir: /media/chiguera/GUM/tactile_ssl/outputs_sparsh/digit_t1_forcefield_dino_vitbase_t0/
|
| 153 |
+
β work_dir: /media/chiguera/2TB/sparsh/tactile-ssl
|
| 154 |
+
β
|
| 155 |
+
βββ wandb
|
| 156 |
+
β βββ project: t1_forcefield_digit
|
| 157 |
+
β entity: chiguera
|
| 158 |
+
β save_dir: /media/chiguera/GUM/tactile_ssl/outputs_sparsh/digit_t1_forcefield_dino_vitbase_t0/
|
| 159 |
+
β id: 2024.09.28_17-57_digit_t1_forcefield_dino_vitbase_t0
|
| 160 |
+
β tags:
|
| 161 |
+
β - dino
|
| 162 |
+
β group: null
|
| 163 |
+
β notes: null
|
| 164 |
+
β
|
| 165 |
+
βββ task
|
| 166 |
+
β βββ _target_: tactile_ssl.downstream_task.ForceFieldModuleSL
|
| 167 |
+
β model_encoder:
|
| 168 |
+
β _target_: tactile_ssl.model.vit_base
|
| 169 |
+
β img_size:
|
| 170 |
+
β - 224
|
| 171 |
+
β - 224
|
| 172 |
+
β in_chans: 6
|
| 173 |
+
β pos_embed_fn: sinusoidal
|
| 174 |
+
β num_register_tokens: 1
|
| 175 |
+
β model_task:
|
| 176 |
+
β _target_: tactile_ssl.downstream_task.ForceFieldDecoderSL
|
| 177 |
+
β embed_dim: base
|
| 178 |
+
β checkpoint_encoder: /media/chiguera/2TB/sparsh/encoders_460k//dino_vitbase.ckpt
|
| 179 |
+
β checkpoint_task: null
|
| 180 |
+
β train_encoder: false
|
| 181 |
+
β optim_cfg:
|
| 182 |
+
β _partial_: true
|
| 183 |
+
β _target_: torch.optim.Adam
|
| 184 |
+
β lr: 0.0001
|
| 185 |
+
β scheduler_cfg: null
|
| 186 |
+
β ssl_config:
|
| 187 |
+
β img_sz:
|
| 188 |
+
β - 224
|
| 189 |
+
β - 224
|
| 190 |
+
β pose_estimator:
|
| 191 |
+
β num_encoder_layers: 18
|
| 192 |
+
β loss:
|
| 193 |
+
β with_mask_supervision: false
|
| 194 |
+
β with_sl_supervision: false
|
| 195 |
+
β with_ssim: true
|
| 196 |
+
β disparity_smoothness: 0.001
|
| 197 |
+
β min_depth: 0.1
|
| 198 |
+
β max_depth: 100.0
|
| 199 |
+
β encoder_type: dino
|
| 200 |
+
β
|
| 201 |
+
βββ ssl_name
|
| 202 |
+
β βββ dino
|
| 203 |
+
βββ sensor
|
| 204 |
+
β βββ digit
|
| 205 |
+
βββ ckpt_path
|
| 206 |
+
β βββ None
|
| 207 |
+
βββ task_name
|
| 208 |
+
β βββ t1_forcefield
|
| 209 |
+
βββ ssl_model_size
|
| 210 |
+
β βββ base
|
| 211 |
+
βββ train_data_budget
|
| 212 |
+
β βββ 1.0
|
| 213 |
+
βββ val_data_budget
|
| 214 |
+
β βββ 1.0
|
| 215 |
+
βββ experiment_name
|
| 216 |
+
β βββ digit_t1_forcefield_dino_vitbase_t0
|
| 217 |
+
βββ seed
|
| 218 |
+
β βββ 42
|
| 219 |
+
βββ data_out_format
|
| 220 |
+
β βββ concat_ch_img
|
| 221 |
+
βββ num_frames
|
| 222 |
+
β βββ 2
|
| 223 |
+
βββ frame_stride
|
| 224 |
+
β βββ 5
|
| 225 |
+
βββ test
|
| 226 |
+
βββ data:
|
| 227 |
+
dataset_name:
|
| 228 |
+
- 005_tomato_soup_can/dataset_0
|
| 229 |
+
batch_size: 1
|
| 230 |
+
tester:
|
| 231 |
+
_partial_: true
|
| 232 |
+
_target_: tactile_ssl.test.TestForceField
|
| 233 |
+
demo:
|
| 234 |
+
_partial_: true
|
| 235 |
+
_target_: tactile_ssl.test.DemoForceField
|
| 236 |
+
path_outputs: null
|
| 237 |
+
|