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,66 @@
# @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}/gold_attributes/
coco_gt: ${paths.base_annotation_path}/gold_attributes_merged_a_release_test.json
coco_gts:
- ${paths.base_annotation_path}/gold_attributes_merged_a_release_test.json
- ${paths.base_annotation_path}/gold_attributes_merged_b_release_test.json
- ${paths.base_annotation_path}/gold_attributes_merged_c_release_test.json
# ============================================================================
# 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.metaclip_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: gold_attributes
meters:
val:
gold_attributes: # 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/gold_attributes
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_gts}
iou_type: "bbox"
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gts}
iou_type: "segm"

View File

@@ -0,0 +1,66 @@
# @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}/gold_crowded/
coco_gt: ${paths.base_annotation_path}/gold_crowded_merged_a_release_test.json
coco_gts:
- ${paths.base_annotation_path}/gold_crowded_merged_a_release_test.json
- ${paths.base_annotation_path}/gold_crowded_merged_b_release_test.json
- ${paths.base_annotation_path}/gold_crowded_merged_c_release_test.json
# ============================================================================
# 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.metaclip_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: gold_crowded
meters:
val:
gold_crowded: # 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/gold_crowded
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_gts}
iou_type: "bbox"
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gts}
iou_type: "segm"

View File

@@ -0,0 +1,66 @@
# @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}/gold_fg_food/
coco_gt: ${paths.base_annotation_path}/gold_fg_food_merged_a_release_test.json
coco_gts:
- ${paths.base_annotation_path}/gold_fg_food_merged_a_release_test.json
- ${paths.base_annotation_path}/gold_fg_food_merged_b_release_test.json
- ${paths.base_annotation_path}/gold_fg_food_merged_c_release_test.json
# ============================================================================
# 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.metaclip_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: gold_fg_food
meters:
val:
gold_fg_food: # 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/gold_fg_food
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_gts}
iou_type: "bbox"
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gts}
iou_type: "segm"

View File

@@ -0,0 +1,66 @@
# @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}/gold_fg_sports_equipment/
coco_gt: ${paths.base_annotation_path}/gold_fg_sports_equipment_merged_a_release_test.json
coco_gts:
- ${paths.base_annotation_path}/gold_fg_sports_equipment_merged_a_release_test.json
- ${paths.base_annotation_path}/gold_fg_sports_equipment_merged_b_release_test.json
- ${paths.base_annotation_path}/gold_fg_sports_equipment_merged_c_release_test.json
# ============================================================================
# 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.metaclip_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: gold_fg_sports_equipment
meters:
val:
gold_fg_sports_equipment: # 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/gold_fg_sports_equipment
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_gts}
iou_type: "bbox"
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gts}
iou_type: "segm"

View File

@@ -0,0 +1,66 @@
# @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}/gold_metaclip_nps/
coco_gt: ${paths.base_annotation_path}/gold_metaclip_merged_a_release_test.json
coco_gts:
- ${paths.base_annotation_path}/gold_metaclip_merged_a_release_test.json
- ${paths.base_annotation_path}/gold_metaclip_merged_b_release_test.json
- ${paths.base_annotation_path}/gold_metaclip_merged_c_release_test.json
# ============================================================================
# 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.metaclip_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: gold_metaclip_nps
meters:
val:
gold_metaclip_nps: # 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/gold_metaclip_nps
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_gts}
iou_type: "bbox"
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gts}
iou_type: "segm"

View File

@@ -0,0 +1,66 @@
# @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}/gold_sa1b_nps/
coco_gt: ${paths.base_annotation_path}/gold_sa1b_merged_a_release_test.json
coco_gts:
- ${paths.base_annotation_path}/gold_sa1b_merged_a_release_test.json
- ${paths.base_annotation_path}/gold_sa1b_merged_b_release_test.json
- ${paths.base_annotation_path}/gold_sa1b_merged_c_release_test.json
# ============================================================================
# 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.sa1b_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: gold_sa1b_nps
meters:
val:
gold_sa1b_nps: # 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/gold_sa1b_nps
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_gts}
iou_type: "bbox"
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gts}
iou_type: "segm"

View File

@@ -0,0 +1,66 @@
# @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}/gold_wiki_common/
coco_gt: ${paths.base_annotation_path}/gold_wiki_common_merged_a_release_test.json
coco_gts:
- ${paths.base_annotation_path}/gold_wiki_common_merged_a_release_test.json
- ${paths.base_annotation_path}/gold_wiki_common_merged_b_release_test.json
- ${paths.base_annotation_path}/gold_wiki_common_merged_c_release_test.json
# ============================================================================
# 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.metaclip_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: gold_wiki_common
meters:
val:
gold_wiki_common: # 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/gold_wiki_common
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_gts}
iou_type: "bbox"
- _target_: sam3.eval.cgf1_eval.CGF1Evaluator
gt_path: ${paths.coco_gts}
iou_type: "segm"