Initial commit

fbshipit-source-id: da6be2f26e3a1202f4bffde8cb980e2dcb851294
This commit is contained in:
facebook-github-bot
2025-11-18 23:07:42 -08:00
commit a13e358df4
504 changed files with 122758 additions and 0 deletions

View File

@@ -0,0 +1,64 @@
# @package _global_
defaults:
- /configs/eval_base.yaml
- _self_
# ============================================================================
# Paths Configuration (you can override here, but it shouldn't require further changes if eval_base.yaml is correct
# ============================================================================
paths:
experiment_log_dir: ${paths.base_experiment_log_dir}/silver_bdd100k/
coco_gt: ${paths.base_annotation_path_silver}/silver_bdd100k_merged_test.json
img_path: ${paths.silver_img_path}/bdd100k/
# ============================================================================
# Trainer Configuration
# ============================================================================
trainer:
data:
val:
_target_: sam3.train.data.torch_dataset.TorchDataset
dataset:
_target_: sam3.train.data.sam3_image_dataset.Sam3ImageDataset
coco_json_loader:
_target_: sam3.train.data.coco_json_loaders.SAM3_EVAL_API_FROM_JSON_NP
_partial_: true
img_folder: ${paths.img_path}
ann_file: ${paths.coco_gt}
transforms: ${scratch.base_val_transform}
max_ann_per_img: 100000
multiplier: 1
training: false
shuffle: False
batch_size: ${scratch.val_batch_size}
num_workers: ${scratch.num_val_workers}
pin_memory: False
drop_last: False
collate_fn:
_target_: sam3.train.data.collator.collate_fn_api
_partial_: true
repeats: ${scratch.hybrid_repeats}
dict_key: silver_bdd100k
meters:
val:
silver_bdd100k: # this key matches the "dict_key" in the dataloader's collate function
cgf1:
_target_: sam3.eval.coco_writer.PredictionDumper
iou_type: "segm"
dump_dir: ${launcher.experiment_log_dir}/dumps/silver_bdd100k
merge_predictions: True
postprocessor: ${scratch.mask_postprocessor_thresholded}
gather_pred_via_filesys: ${scratch.gather_pred_via_filesys}
maxdets: 1000000 # no limit
pred_file_evaluators:
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gt}
iou_type: "bbox"
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gt}
iou_type: "segm"

View File

@@ -0,0 +1,64 @@
# @package _global_
defaults:
- /configs/eval_base.yaml
- _self_
# ============================================================================
# Paths Configuration (you can override here, but it shouldn't require further changes if eval_base.yaml is correct
# ============================================================================
paths:
experiment_log_dir: ${paths.base_experiment_log_dir}/silver_droid/
coco_gt: ${paths.base_annotation_path_silver}/silver_droid_merged_test.json
img_path: ${paths.silver_img_path}/droid/
# ============================================================================
# Trainer Configuration
# ============================================================================
trainer:
data:
val:
_target_: sam3.train.data.torch_dataset.TorchDataset
dataset:
_target_: sam3.train.data.sam3_image_dataset.Sam3ImageDataset
coco_json_loader:
_target_: sam3.train.data.coco_json_loaders.SAM3_EVAL_API_FROM_JSON_NP
_partial_: true
img_folder: ${paths.img_path}
ann_file: ${paths.coco_gt}
transforms: ${scratch.base_val_transform}
max_ann_per_img: 100000
multiplier: 1
training: false
shuffle: False
batch_size: ${scratch.val_batch_size}
num_workers: ${scratch.num_val_workers}
pin_memory: False
drop_last: False
collate_fn:
_target_: sam3.train.data.collator.collate_fn_api
_partial_: true
repeats: ${scratch.hybrid_repeats}
dict_key: silver_droid
meters:
val:
silver_droid: # this key matches the "dict_key" in the dataloader's collate function
cgf1:
_target_: sam3.eval.coco_writer.PredictionDumper
iou_type: "segm"
dump_dir: ${launcher.experiment_log_dir}/dumps/silver_droid
merge_predictions: True
postprocessor: ${scratch.mask_postprocessor_thresholded}
gather_pred_via_filesys: ${scratch.gather_pred_via_filesys}
maxdets: 1000000 # no limit
pred_file_evaluators:
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gt}
iou_type: "bbox"
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gt}
iou_type: "segm"

View File

@@ -0,0 +1,64 @@
# @package _global_
defaults:
- /configs/eval_base.yaml
- _self_
# ============================================================================
# Paths Configuration (you can override here, but it shouldn't require further changes if eval_base.yaml is correct
# ============================================================================
paths:
experiment_log_dir: ${paths.base_experiment_log_dir}/silver_ego4d/
coco_gt: ${paths.base_annotation_path_silver}/silver_ego4d_merged_test.json
img_path: ${paths.silver_img_path}/ego4d/
# ============================================================================
# Trainer Configuration
# ============================================================================
trainer:
data:
val:
_target_: sam3.train.data.torch_dataset.TorchDataset
dataset:
_target_: sam3.train.data.sam3_image_dataset.Sam3ImageDataset
coco_json_loader:
_target_: sam3.train.data.coco_json_loaders.SAM3_EVAL_API_FROM_JSON_NP
_partial_: true
img_folder: ${paths.img_path}
ann_file: ${paths.coco_gt}
transforms: ${scratch.base_val_transform}
max_ann_per_img: 100000
multiplier: 1
training: false
shuffle: False
batch_size: ${scratch.val_batch_size}
num_workers: ${scratch.num_val_workers}
pin_memory: False
drop_last: False
collate_fn:
_target_: sam3.train.data.collator.collate_fn_api
_partial_: true
repeats: ${scratch.hybrid_repeats}
dict_key: silver_ego4d
meters:
val:
silver_ego4d: # this key matches the "dict_key" in the dataloader's collate function
cgf1:
_target_: sam3.eval.coco_writer.PredictionDumper
iou_type: "segm"
dump_dir: ${launcher.experiment_log_dir}/dumps/silver_ego4d
merge_predictions: True
postprocessor: ${scratch.mask_postprocessor_thresholded}
gather_pred_via_filesys: ${scratch.gather_pred_via_filesys}
maxdets: 1000000 # no limit
pred_file_evaluators:
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gt}
iou_type: "bbox"
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gt}
iou_type: "segm"

View File

@@ -0,0 +1,64 @@
# @package _global_
defaults:
- /configs/eval_base.yaml
- _self_
# ============================================================================
# Paths Configuration (you can override here, but it shouldn't require further changes if eval_base.yaml is correct
# ============================================================================
paths:
experiment_log_dir: ${paths.base_experiment_log_dir}/silver_fathomnet/
coco_gt: ${paths.base_annotation_path_silver}/silver_fathomnet_test.json
img_path: ${paths.silver_img_path}/fathomnet/
# ============================================================================
# Trainer Configuration
# ============================================================================
trainer:
data:
val:
_target_: sam3.train.data.torch_dataset.TorchDataset
dataset:
_target_: sam3.train.data.sam3_image_dataset.Sam3ImageDataset
coco_json_loader:
_target_: sam3.train.data.coco_json_loaders.SAM3_EVAL_API_FROM_JSON_NP
_partial_: true
img_folder: ${paths.img_path}
ann_file: ${paths.coco_gt}
transforms: ${scratch.base_val_transform}
max_ann_per_img: 100000
multiplier: 1
training: false
shuffle: False
batch_size: ${scratch.val_batch_size}
num_workers: ${scratch.num_val_workers}
pin_memory: False
drop_last: False
collate_fn:
_target_: sam3.train.data.collator.collate_fn_api
_partial_: true
repeats: ${scratch.hybrid_repeats}
dict_key: silver_fathomnet
meters:
val:
silver_fathomnet: # this key matches the "dict_key" in the dataloader's collate function
cgf1:
_target_: sam3.eval.coco_writer.PredictionDumper
iou_type: "segm"
dump_dir: ${launcher.experiment_log_dir}/dumps/silver_fathomnet
merge_predictions: True
postprocessor: ${scratch.mask_postprocessor_thresholded}
gather_pred_via_filesys: ${scratch.gather_pred_via_filesys}
maxdets: 1000000 # no limit
pred_file_evaluators:
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gt}
iou_type: "bbox"
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gt}
iou_type: "segm"

View File

@@ -0,0 +1,64 @@
# @package _global_
defaults:
- /configs/eval_base.yaml
- _self_
# ============================================================================
# Paths Configuration (you can override here, but it shouldn't require further changes if eval_base.yaml is correct
# ============================================================================
paths:
experiment_log_dir: ${paths.base_experiment_log_dir}/silver_food_rec/
coco_gt: ${paths.base_annotation_path_silver}/silver_food_rec_merged_test.json
img_path: ${paths.silver_img_path}/food_rec/
# ============================================================================
# Trainer Configuration
# ============================================================================
trainer:
data:
val:
_target_: sam3.train.data.torch_dataset.TorchDataset
dataset:
_target_: sam3.train.data.sam3_image_dataset.Sam3ImageDataset
coco_json_loader:
_target_: sam3.train.data.coco_json_loaders.SAM3_EVAL_API_FROM_JSON_NP
_partial_: true
img_folder: ${paths.img_path}
ann_file: ${paths.coco_gt}
transforms: ${scratch.base_val_transform}
max_ann_per_img: 100000
multiplier: 1
training: false
shuffle: False
batch_size: ${scratch.val_batch_size}
num_workers: ${scratch.num_val_workers}
pin_memory: False
drop_last: False
collate_fn:
_target_: sam3.train.data.collator.collate_fn_api
_partial_: true
repeats: ${scratch.hybrid_repeats}
dict_key: silver_food_rec
meters:
val:
silver_food_rec: # this key matches the "dict_key" in the dataloader's collate function
cgf1:
_target_: sam3.eval.coco_writer.PredictionDumper
iou_type: "segm"
dump_dir: ${launcher.experiment_log_dir}/dumps/silver_food_rec
merge_predictions: True
postprocessor: ${scratch.mask_postprocessor_thresholded}
gather_pred_via_filesys: ${scratch.gather_pred_via_filesys}
maxdets: 1000000 # no limit
pred_file_evaluators:
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gt}
iou_type: "bbox"
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gt}
iou_type: "segm"

View File

@@ -0,0 +1,64 @@
# @package _global_
defaults:
- /configs/eval_base.yaml
- _self_
# ============================================================================
# Paths Configuration (you can override here, but it shouldn't require further changes if eval_base.yaml is correct
# ============================================================================
paths:
experiment_log_dir: ${paths.base_experiment_log_dir}/silver_geode/
coco_gt: ${paths.base_annotation_path_silver}/silver_geode_merged_test.json
img_path: ${paths.silver_img_path}/geode/
# ============================================================================
# Trainer Configuration
# ============================================================================
trainer:
data:
val:
_target_: sam3.train.data.torch_dataset.TorchDataset
dataset:
_target_: sam3.train.data.sam3_image_dataset.Sam3ImageDataset
coco_json_loader:
_target_: sam3.train.data.coco_json_loaders.SAM3_EVAL_API_FROM_JSON_NP
_partial_: true
img_folder: ${paths.img_path}
ann_file: ${paths.coco_gt}
transforms: ${scratch.base_val_transform}
max_ann_per_img: 100000
multiplier: 1
training: false
shuffle: False
batch_size: ${scratch.val_batch_size}
num_workers: ${scratch.num_val_workers}
pin_memory: False
drop_last: False
collate_fn:
_target_: sam3.train.data.collator.collate_fn_api
_partial_: true
repeats: ${scratch.hybrid_repeats}
dict_key: silver_geode
meters:
val:
silver_geode: # this key matches the "dict_key" in the dataloader's collate function
cgf1:
_target_: sam3.eval.coco_writer.PredictionDumper
iou_type: "segm"
dump_dir: ${launcher.experiment_log_dir}/dumps/silver_geode
merge_predictions: True
postprocessor: ${scratch.mask_postprocessor_thresholded}
gather_pred_via_filesys: ${scratch.gather_pred_via_filesys}
maxdets: 1000000 # no limit
pred_file_evaluators:
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gt}
iou_type: "bbox"
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gt}
iou_type: "segm"

View File

@@ -0,0 +1,64 @@
# @package _global_
defaults:
- /configs/eval_base.yaml
- _self_
# ============================================================================
# Paths Configuration (you can override here, but it shouldn't require further changes if eval_base.yaml is correct
# ============================================================================
paths:
experiment_log_dir: ${paths.base_experiment_log_dir}/silver_inaturalist/
coco_gt: ${paths.base_annotation_path_silver}/silver_inaturalist_merged_test.json
img_path: ${paths.silver_img_path}/inaturalist/
# ============================================================================
# Trainer Configuration
# ============================================================================
trainer:
data:
val:
_target_: sam3.train.data.torch_dataset.TorchDataset
dataset:
_target_: sam3.train.data.sam3_image_dataset.Sam3ImageDataset
coco_json_loader:
_target_: sam3.train.data.coco_json_loaders.SAM3_EVAL_API_FROM_JSON_NP
_partial_: true
img_folder: ${paths.img_path}
ann_file: ${paths.coco_gt}
transforms: ${scratch.base_val_transform}
max_ann_per_img: 100000
multiplier: 1
training: false
shuffle: False
batch_size: ${scratch.val_batch_size}
num_workers: ${scratch.num_val_workers}
pin_memory: False
drop_last: False
collate_fn:
_target_: sam3.train.data.collator.collate_fn_api
_partial_: true
repeats: ${scratch.hybrid_repeats}
dict_key: silver_inaturalist
meters:
val:
silver_inaturalist: # this key matches the "dict_key" in the dataloader's collate function
cgf1:
_target_: sam3.eval.coco_writer.PredictionDumper
iou_type: "segm"
dump_dir: ${launcher.experiment_log_dir}/dumps/silver_inaturalist
merge_predictions: True
postprocessor: ${scratch.mask_postprocessor_thresholded}
gather_pred_via_filesys: ${scratch.gather_pred_via_filesys}
maxdets: 1000000 # no limit
pred_file_evaluators:
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gt}
iou_type: "bbox"
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gt}
iou_type: "segm"

View File

@@ -0,0 +1,64 @@
# @package _global_
defaults:
- /configs/eval_base.yaml
- _self_
# ============================================================================
# Paths Configuration (you can override here, but it shouldn't require further changes if eval_base.yaml is correct
# ============================================================================
paths:
experiment_log_dir: ${paths.base_experiment_log_dir}/silver_nga_art/
coco_gt: ${paths.base_annotation_path_silver}/silver_nga_art_merged_test.json
img_path: ${paths.silver_img_path}/nga/
# ============================================================================
# Trainer Configuration
# ============================================================================
trainer:
data:
val:
_target_: sam3.train.data.torch_dataset.TorchDataset
dataset:
_target_: sam3.train.data.sam3_image_dataset.Sam3ImageDataset
coco_json_loader:
_target_: sam3.train.data.coco_json_loaders.SAM3_EVAL_API_FROM_JSON_NP
_partial_: true
img_folder: ${paths.img_path}
ann_file: ${paths.coco_gt}
transforms: ${scratch.base_val_transform}
max_ann_per_img: 100000
multiplier: 1
training: false
shuffle: False
batch_size: ${scratch.val_batch_size}
num_workers: ${scratch.num_val_workers}
pin_memory: False
drop_last: False
collate_fn:
_target_: sam3.train.data.collator.collate_fn_api
_partial_: true
repeats: ${scratch.hybrid_repeats}
dict_key: silver_nga_art
meters:
val:
silver_nga_art: # this key matches the "dict_key" in the dataloader's collate function
cgf1:
_target_: sam3.eval.coco_writer.PredictionDumper
iou_type: "segm"
dump_dir: ${launcher.experiment_log_dir}/dumps/silver_nga_art
merge_predictions: True
postprocessor: ${scratch.mask_postprocessor_thresholded}
gather_pred_via_filesys: ${scratch.gather_pred_via_filesys}
maxdets: 1000000 # no limit
pred_file_evaluators:
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gt}
iou_type: "bbox"
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gt}
iou_type: "segm"

View File

@@ -0,0 +1,64 @@
# @package _global_
defaults:
- /configs/eval_base.yaml
- _self_
# ============================================================================
# Paths Configuration (you can override here, but it shouldn't require further changes if eval_base.yaml is correct
# ============================================================================
paths:
experiment_log_dir: ${paths.base_experiment_log_dir}/silver_sav/
coco_gt: ${paths.base_annotation_path_silver}/silver_sav_merged_test.json
img_path: ${paths.silver_img_path}/sav/
# ============================================================================
# Trainer Configuration
# ============================================================================
trainer:
data:
val:
_target_: sam3.train.data.torch_dataset.TorchDataset
dataset:
_target_: sam3.train.data.sam3_image_dataset.Sam3ImageDataset
coco_json_loader:
_target_: sam3.train.data.coco_json_loaders.SAM3_EVAL_API_FROM_JSON_NP
_partial_: true
img_folder: ${paths.img_path}
ann_file: ${paths.coco_gt}
transforms: ${scratch.base_val_transform}
max_ann_per_img: 100000
multiplier: 1
training: false
shuffle: False
batch_size: ${scratch.val_batch_size}
num_workers: ${scratch.num_val_workers}
pin_memory: False
drop_last: False
collate_fn:
_target_: sam3.train.data.collator.collate_fn_api
_partial_: true
repeats: ${scratch.hybrid_repeats}
dict_key: silver_sav
meters:
val:
silver_sav: # this key matches the "dict_key" in the dataloader's collate function
cgf1:
_target_: sam3.eval.coco_writer.PredictionDumper
iou_type: "segm"
dump_dir: ${launcher.experiment_log_dir}/dumps/silver_sav
merge_predictions: True
postprocessor: ${scratch.mask_postprocessor_thresholded}
gather_pred_via_filesys: ${scratch.gather_pred_via_filesys}
maxdets: 1000000 # no limit
pred_file_evaluators:
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gt}
iou_type: "bbox"
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gt}
iou_type: "segm"

View File

@@ -0,0 +1,64 @@
# @package _global_
defaults:
- /configs/eval_base.yaml
- _self_
# ============================================================================
# Paths Configuration (you can override here, but it shouldn't require further changes if eval_base.yaml is correct
# ============================================================================
paths:
experiment_log_dir: ${paths.base_experiment_log_dir}/silver_yt1b/
coco_gt: ${paths.base_annotation_path_silver}/silver_yt1b_merged_test.json
img_path: ${paths.silver_img_path}/yt1b/
# ============================================================================
# Trainer Configuration
# ============================================================================
trainer:
data:
val:
_target_: sam3.train.data.torch_dataset.TorchDataset
dataset:
_target_: sam3.train.data.sam3_image_dataset.Sam3ImageDataset
coco_json_loader:
_target_: sam3.train.data.coco_json_loaders.SAM3_EVAL_API_FROM_JSON_NP
_partial_: true
img_folder: ${paths.img_path}
ann_file: ${paths.coco_gt}
transforms: ${scratch.base_val_transform}
max_ann_per_img: 100000
multiplier: 1
training: false
shuffle: False
batch_size: ${scratch.val_batch_size}
num_workers: ${scratch.num_val_workers}
pin_memory: False
drop_last: False
collate_fn:
_target_: sam3.train.data.collator.collate_fn_api
_partial_: true
repeats: ${scratch.hybrid_repeats}
dict_key: silver_yt1b
meters:
val:
silver_yt1b: # this key matches the "dict_key" in the dataloader's collate function
cgf1:
_target_: sam3.eval.coco_writer.PredictionDumper
iou_type: "segm"
dump_dir: ${launcher.experiment_log_dir}/dumps/silver_yt1b
merge_predictions: True
postprocessor: ${scratch.mask_postprocessor_thresholded}
gather_pred_via_filesys: ${scratch.gather_pred_via_filesys}
maxdets: 1000000 # no limit
pred_file_evaluators:
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gt}
iou_type: "bbox"
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gt}
iou_type: "segm"