zmgong commited on
Commit
f7cceee
·
verified ·
1 Parent(s): 7fcd186

Add Ver_1_0 iBOL and UniReps SSEL checkpoints and test DNA embeddings

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +3 -34
  2. README.md +94 -0
  3. Ver_1_0/SHA256SUMS.txt +83 -0
  4. Ver_1_0/ckpt/BarcodeBERT/old_checkpoints/trained_with_canada_1_5M/model_41.pth +3 -0
  5. Ver_1_0/ckpt/bioscan_clip/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/config.yaml +488 -0
  6. Ver_1_0/ckpt/bioscan_clip/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/last.pth +3 -0
  7. Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/config.yaml +489 -0
  8. Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/last.pth +3 -0
  9. Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/config.yaml +501 -0
  10. Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/last.pth +3 -0
  11. Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/config.yaml +489 -0
  12. Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/last.pth +3 -0
  13. Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/config.yaml +489 -0
  14. Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/last.pth +3 -0
  15. Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_nesting_768d_nonres_gap05_15epochs_seed42/config.yaml +489 -0
  16. Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_nesting_768d_nonres_gap05_15epochs_seed42/last.pth +3 -0
  17. Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_sibling_separation_768d_nonres_gap05_15epochs_seed42/config.yaml +489 -0
  18. Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_sibling_separation_768d_nonres_gap05_15epochs_seed42/last.pth +3 -0
  19. Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_full_frozen_labels_768d_nonres_gap05_15epochs_seed42/config.yaml +492 -0
  20. Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_full_frozen_labels_768d_nonres_gap05_15epochs_seed42/last.pth +3 -0
  21. Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_full_no_direct_placement_768d_nonres_gap05_15epochs_seed42_retry_20261008/config.yaml +490 -0
  22. Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_full_no_direct_placement_768d_nonres_gap05_15epochs_seed42_retry_20261008/last.pth +3 -0
  23. Ver_1_0/data/BIOSCAN_5M/global_label_to_id_mapping.json +0 -0
  24. Ver_1_0/extracted_embedding/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/dna_to_label.csv +25 -0
  25. Ver_1_0/extracted_embedding/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/evaluation_complete.json +60 -0
  26. Ver_1_0/extracted_embedding/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/extracted_feature_from_test_split.hdf5 +3 -0
  27. Ver_1_0/extracted_embedding/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/labels_test.json +0 -0
  28. Ver_1_0/extracted_embedding/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/processed_id_test.json +0 -0
  29. Ver_1_0/extracted_embedding/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/species_detection.csv +3 -0
  30. Ver_1_0/extracted_embedding/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/dna_to_label.csv +25 -0
  31. Ver_1_0/extracted_embedding/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/evaluation_complete.json +55 -0
  32. Ver_1_0/extracted_embedding/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5 +3 -0
  33. Ver_1_0/extracted_embedding/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/labels_test.json +0 -0
  34. Ver_1_0/extracted_embedding/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/processed_id_test.json +0 -0
  35. Ver_1_0/extracted_embedding/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/species_detection.csv +3 -0
  36. Ver_1_0/extracted_embedding/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/dna_to_label.csv +25 -0
  37. Ver_1_0/extracted_embedding/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/evaluation_complete.json +55 -0
  38. Ver_1_0/extracted_embedding/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5 +3 -0
  39. Ver_1_0/extracted_embedding/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/labels_test.json +0 -0
  40. Ver_1_0/extracted_embedding/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/processed_id_test.json +0 -0
  41. Ver_1_0/extracted_embedding/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/species_detection.csv +3 -0
  42. Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/dna_to_label.csv +25 -0
  43. Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/evaluation_complete.json +55 -0
  44. Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5 +3 -0
  45. Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/labels_test.json +0 -0
  46. Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/processed_id_test.json +0 -0
  47. Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/species_detection.csv +3 -0
  48. Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/dna_to_label.csv +25 -0
  49. Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/evaluation_complete.json +55 -0
  50. Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5 +3 -0
.gitattributes CHANGED
@@ -1,35 +1,4 @@
1
- *.7z filter=lfs diff=lfs merge=lfs -text
2
- *.arrow filter=lfs diff=lfs merge=lfs -text
3
- *.bin filter=lfs diff=lfs merge=lfs -text
4
- *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
- *.ftz filter=lfs diff=lfs merge=lfs -text
7
- *.gz filter=lfs diff=lfs merge=lfs -text
8
- *.h5 filter=lfs diff=lfs merge=lfs -text
9
- *.joblib filter=lfs diff=lfs merge=lfs -text
10
- *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
- *.model filter=lfs diff=lfs merge=lfs -text
13
- *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
- *.onnx filter=lfs diff=lfs merge=lfs -text
17
- *.ot filter=lfs diff=lfs merge=lfs -text
18
- *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
- *.pt filter=lfs diff=lfs merge=lfs -text
23
  *.pth filter=lfs diff=lfs merge=lfs -text
24
- *.rar filter=lfs diff=lfs merge=lfs -text
25
- *.safetensors filter=lfs diff=lfs merge=lfs -text
26
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
- *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
- *.tflite filter=lfs diff=lfs merge=lfs -text
30
- *.tgz filter=lfs diff=lfs merge=lfs -text
31
- *.wasm filter=lfs diff=lfs merge=lfs -text
32
- *.xz filter=lfs diff=lfs merge=lfs -text
33
- *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
- *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  *.pth filter=lfs diff=lfs merge=lfs -text
2
+ *.pt filter=lfs diff=lfs merge=lfs -text
3
+ *.hdf5 filter=lfs diff=lfs merge=lfs -text
4
+ *.npz filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
README.md ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - en
4
+ tags:
5
+ - biology
6
+ - dna
7
+ - biodiversity
8
+ - hyperbolic-embeddings
9
+ - pytorch
10
+ ---
11
+
12
+ # Model Card for SSEL
13
+
14
+ Checkpoints and extracted DNA embeddings for **Hierarchical Embedding of DNA Barcode Taxonomy with Hyperbolic Entailment Cones**. This repository contains the nine 768D experiments presented in the iBOL poster; eight also appear in the UniReps submission.
15
+
16
+ ## Model Details
17
+
18
+ ### Model Description
19
+
20
+ **Structured Stacked Entailment Loss (SSEL)** extends **Stacked Entailment Loss (SEL)** with minimum-distance, full-cone nesting, sibling-cone separation and descendant-based cone allocation constraints. DNA barcodes and taxonomic labels are embedded in a shared hyperbolic space.
21
+
22
+ The DNA branch starts from [BarcodeBERT](https://huggingface.co/bioscan-ml/clibd/tree/main/ckpt/BarcodeBERT), followed by a 768 → 1536 → 768 MLP without a residual connection. Taxonomic labels use learned embedding tables. These runs use DNA and four taxonomic ranks, without an image branch.
23
+
24
+ ### Model Sources
25
+
26
+ - [Project page](https://bioscan-ml.org/ssel/)
27
+ - [Code preparation repository](https://github.com/zmgong/SSEL_temp_release) (currently private)
28
+ - [Paper](#)
29
+
30
+ ### Model Checkpoints
31
+
32
+ | Method | Checkpoint (`last.pth`) | Test embeddings | Saved configuration | UniReps |
33
+ | --- | --- | --- | --- | --- |
34
+ | EL | [el](Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/last.pth) | [DNA](Ver_1_0/extracted_embedding/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5) | [Config](Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/config.yaml) | Yes |
35
+ | SEL | [sel](Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/last.pth) | [DNA](Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5) | [Config](Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/config.yaml) | Yes |
36
+ | Positive EL + CL | [positive-el-cl](Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/last.pth) | [DNA](Ver_1_0/extracted_embedding/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5) | [Config](Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/config.yaml) | No |
37
+ | SSEL | [ssel](Ver_1_0/ckpt/bioscan_clip/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/last.pth) | [DNA](Ver_1_0/extracted_embedding/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/extracted_feature_from_test_split.hdf5) | [Config](Ver_1_0/ckpt/bioscan_clip/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/config.yaml) | Yes |
38
+ | No direct placement | [no-direct-placement](Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_full_no_direct_placement_768d_nonres_gap05_15epochs_seed42_retry_20261008/last.pth) | [DNA](Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_full_no_direct_placement_768d_nonres_gap05_15epochs_seed42_retry_20261008/extracted_feature_from_test_split.hdf5) | [Config](Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_full_no_direct_placement_768d_nonres_gap05_15epochs_seed42_retry_20261008/config.yaml) | Yes |
39
+ | Frozen labels | [frozen-labels](Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_full_frozen_labels_768d_nonres_gap05_15epochs_seed42/last.pth) | [DNA](Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_full_frozen_labels_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5) | [Config](Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_full_frozen_labels_768d_nonres_gap05_15epochs_seed42/config.yaml) | Yes |
40
+ | SEL + nesting | [sel-nesting](Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_nesting_768d_nonres_gap05_15epochs_seed42/last.pth) | [DNA](Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_nesting_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5) | [Config](Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_nesting_768d_nonres_gap05_15epochs_seed42/config.yaml) | Yes |
41
+ | SEL + separation | [sel-separation](Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_sibling_separation_768d_nonres_gap05_15epochs_seed42/last.pth) | [DNA](Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_sibling_separation_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5) | [Config](Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_sibling_separation_768d_nonres_gap05_15epochs_seed42/config.yaml) | Yes |
42
+ | SEL + allocation | [sel-allocation](Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/last.pth) | [DNA](Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5) | [Config](Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/config.yaml) | Yes |
43
+
44
+ Each selected checkpoint is the exact **last.pth** used for its reported result. All nine runs use 768 dimensions, 15 epochs and seed 42. EL and SEL omit minimum distance; the other listed variants include it. Positive EL + CL is our DNA–taxonomy adaptation, not an exact reproduction of image–text MERU.
45
+
46
+ ## Files and Usage
47
+
48
+ All versioned artifacts are under **Ver_1_0/**. The layout follows CLIBD's `ckpt/` and `extracted_embedding/` structure, with the version directory placed at the outside:
49
+
50
+ ```text
51
+ Ver_1_0/
52
+ ckpt/
53
+ bioscan_clip/bioscan_5m/<model_output_name>/
54
+ last.pth
55
+ config.yaml
56
+ BarcodeBERT/old_checkpoints/trained_with_canada_1_5M/model_41.pth
57
+ extracted_embedding/
58
+ bioscan_5m/<model_output_name>/
59
+ extracted_feature_from_test_split.hdf5
60
+ labels_test.json
61
+ processed_id_test.json
62
+ dna_to_label.csv
63
+ species_detection.csv
64
+ evaluation_complete.json
65
+ training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/
66
+ data/BIOSCAN_5M/global_label_to_id_mapping.json
67
+ metadata/experiments.json
68
+ SHA256SUMS.txt
69
+ ```
70
+
71
+ The checkpoints are native PyTorch state dictionaries and use the SSEL codebase's loader. They are not Transformers `AutoModel` packages. Configuration copies retain the scientific settings; local absolute roots become `${oc.env:SSEL_ARTIFACT_ROOT,.}`, and W&B is disabled by default. Set `SSEL_ARTIFACT_ROOT` to the downloaded `Ver_1_0` directory. The processed BIOSCAN-5M HDF5 is downloaded separately into `data/BIOSCAN_5M/` within that root. The current loader additionally uses `prajjwal1/bert-small` from Hugging Face or its local cache.
72
+
73
+ ### Embedding Format
74
+
75
+ Each HDF5 contains **test DNA embeddings only**, in the saved checkpoint's hyperbolic space:
76
+
77
+ | HDF5 dataset | Shape | Type |
78
+ | --- | --- | --- |
79
+ | `seen/encoded_dna_feature` | 39,373 × 768 | float32 |
80
+ | `unseen/encoded_dna_feature` | 7,887 × 768 | float32 |
81
+
82
+ The companion JSON files provide labels and process IDs in exactly the same row order. These are spatial coordinates of Lorentz-model hyperbolic embeddings; they are not unit-normalized Euclidean vectors. Recover the time coordinate using the checkpoint curvature when needed.
83
+
84
+ Final trained taxonomic label tables, learned scales and curvature are included **inside each checkpoint**. The shared placement artifact supplies initial coordinates, candidate labels, global IDs and parent relationships; **initial coordinates are not final trained label embeddings**. Separate final-label vector files, train/validation embeddings and specimen reference-key caches are not included in this version.
85
+
86
+ Classification uses the nearest label by exterior angle at each rank. Unseen-species detection uses cone checks against the seen-species label candidates. These are separate measurements; the accompanying metric CSVs and evaluation records preserve that distinction.
87
+
88
+ ## Training Data
89
+
90
+ The experiments use [BIOSCAN-5M](https://huggingface.co/datasets/bioscan-ml/BIOSCAN-5M). The [processed HDF5](https://huggingface.co/datasets/bioscan-ml/clibd) has 39,373 seen-species and 7,887 unseen-species test queries. Label candidates are training-derived: 55 orders, 929 families, 6,819 genera and 11,846 species. The raw dataset is not stored in this model repository.
91
+
92
+ ## Acknowledgement
93
+
94
+ This work was supported by the Government of Canada's New Frontiers in Research Fund (NFRF) [NFRFT-2020-00073] and the Canada CIFAR AI Chairs Program. We acknowledge BIOSCAN-5M, BarcodeBERT and the CLIBD codebase. This model card and artifact layout follow [CLIBD](https://huggingface.co/bioscan-ml/clibd).
Ver_1_0/SHA256SUMS.txt ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 142179b905bcb9c8f2614b6835210212b0366ab597d7619179092b48e8675253 .gitattributes
2
+ fbf7a1922598d9914827782c7ba23b45f98f1aa865265b83db51e819c053bda3 README.md
3
+ 439886888bf45ca70d4f4d287ef74268df51b1ddb0559e263c67785279d6dd83 Ver_1_0/ckpt/BarcodeBERT/old_checkpoints/trained_with_canada_1_5M/model_41.pth
4
+ c5a186a3e3b5abcdc647a9f612df8c0bf8ef2d302a1f6d861a0d8091dbe7eb91 Ver_1_0/ckpt/bioscan_clip/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/config.yaml
5
+ cd98e1d8088524594719f3a45186950a2b7fac779708408c2577b42db33f71bc Ver_1_0/ckpt/bioscan_clip/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/last.pth
6
+ 572879d31953e4348679b459d0275314ae4d6f178af55e3c7f244db413f627be Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/config.yaml
7
+ b867680474bf7e1a77b48c580bc630e53d78526637c35be7434c09774e12c4df Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/last.pth
8
+ dfc129aaae103b87b9a5642afd0525da79e2916a71670be8a7737a74d7abf7cc Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/config.yaml
9
+ d3feac60f8901d988ce3b2645077f33f6896c23a11c24c742f542e941829e1fd Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/last.pth
10
+ 239b8a4812832f45753f30365431b997628a5404b28f5f4c8931831886c97066 Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/config.yaml
11
+ 542478eb799eea14243c8b4606d926db51585fde5852a2d79c097c577f8a50c3 Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/last.pth
12
+ d6e7e10753ec08b141713f2b136e1eef8d17547b33fe82fefceb113a4e878f44 Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/config.yaml
13
+ 74064b88cb700e226975a78e9ae012bacbcf01763bbe69c22a5dac3a81f892d6 Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/last.pth
14
+ bfe52305f75f33b75ad31757d327e6c6d07beb8a2ca5e95a0c2ed7e0a2bb5961 Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_nesting_768d_nonres_gap05_15epochs_seed42/config.yaml
15
+ 453a80378a8062c102040922aa3d1302d0a891f0e20b286b47a3f214b6a5fb44 Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_nesting_768d_nonres_gap05_15epochs_seed42/last.pth
16
+ 5a0fa592dd564f5d6aa353242e42032b362480adac26d794e53320b1616bfd0e Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_sibling_separation_768d_nonres_gap05_15epochs_seed42/config.yaml
17
+ 2e4b3d82f94f5e8359f483875f58aac647c4b6c79c47890e864f648b999fda08 Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_sibling_separation_768d_nonres_gap05_15epochs_seed42/last.pth
18
+ a1af3241e0ed2e252142d5bfbc1dec4cbb6b31902718bebca024813aa7bd10ad Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_full_frozen_labels_768d_nonres_gap05_15epochs_seed42/config.yaml
19
+ a4b717541a82994ab8733205676249c9660243fc43aa6666e1be3840953ed8b2 Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_full_frozen_labels_768d_nonres_gap05_15epochs_seed42/last.pth
20
+ e69d60ad6e49ecc5857ab97fd404ce1b6ae9154bfa09433ae4315726799730ed Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_full_no_direct_placement_768d_nonres_gap05_15epochs_seed42_retry_20261008/config.yaml
21
+ 239a7b952d0531f54a30baaf88fc37fbb7f0ab6071252b18af4de33f4835ad78 Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_full_no_direct_placement_768d_nonres_gap05_15epochs_seed42_retry_20261008/last.pth
22
+ 5aebf3bc9d0f4802407a69ab17f61202608aee387d29c659ce8d8d0adf97c700 Ver_1_0/data/BIOSCAN_5M/global_label_to_id_mapping.json
23
+ f50bfc47f31dbf4c0e0b7b8981c236f395d013229fc6dae2f5bd376da7e72cdb Ver_1_0/extracted_embedding/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/dna_to_label.csv
24
+ c578c9abc0549d3cc5bbe9a6074b8c41b73e7d6e6b74ac66d7d98b2502d65afb Ver_1_0/extracted_embedding/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/evaluation_complete.json
25
+ 2cbf2384f4583333dac3d98e637c04c034a08b7d69a87d344c59c157491d4029 Ver_1_0/extracted_embedding/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/extracted_feature_from_test_split.hdf5
26
+ e7bd399b784cef7bced28dee3abd974d6eb0bb0129b281f485169d4171bf8b58 Ver_1_0/extracted_embedding/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/labels_test.json
27
+ b6a8e116593002f434fd1ddd5e7696af6cac3579ae46d19bf39087c704655235 Ver_1_0/extracted_embedding/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/processed_id_test.json
28
+ e208bc1f73f1c4c9a7ebd7f589b0b4cca8d1f9d3a7d22b76300ac0d3cc6b323c Ver_1_0/extracted_embedding/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/species_detection.csv
29
+ 4dff7c66950bc09888a9ab5ab8d5f5e1a9672bcbaf1669f2873ba6d8ed920ef1 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/dna_to_label.csv
30
+ 48045d6e6d32cf4d103501f84975bfe727e7730728dc39a9dd328ce98832a3ce Ver_1_0/extracted_embedding/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/evaluation_complete.json
31
+ 1257157ea8cf18225230f377d5d078bcbb52ed46e9062c0fbc8dde80fe04b264 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5
32
+ e7bd399b784cef7bced28dee3abd974d6eb0bb0129b281f485169d4171bf8b58 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/labels_test.json
33
+ b6a8e116593002f434fd1ddd5e7696af6cac3579ae46d19bf39087c704655235 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/processed_id_test.json
34
+ 7e716df226ab32e5d5901f4822d4a49a3f6582d57b4d947b0b87d3ace9470cdc Ver_1_0/extracted_embedding/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/species_detection.csv
35
+ dba7716134ddc27d1aadb9ede0a7c11f1839a513dd9926f1c3320f6c2d1e2654 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/dna_to_label.csv
36
+ 6282f1fb0577fccf8947b0e59246194baf6679d2fb89488e5b1e20b37a21f442 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/evaluation_complete.json
37
+ 1824c621eb3891cff0bd53e198ae6c2931b9951d7664cebf4f40e367d6ddb735 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5
38
+ e7bd399b784cef7bced28dee3abd974d6eb0bb0129b281f485169d4171bf8b58 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/labels_test.json
39
+ b6a8e116593002f434fd1ddd5e7696af6cac3579ae46d19bf39087c704655235 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/processed_id_test.json
40
+ f9c0d94e692362b813f12322d812cc4dcec1e0cdf9a62fac9c0f3cab8015f4b1 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/species_detection.csv
41
+ 0ad3faba3c32a685af70df00824fb3fe5c48035f30beba2f6a9488e8b1a8254b Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/dna_to_label.csv
42
+ 674d8c02804ddd49dc58ac9c9e415102ed3aca5c1629c13f31906cb872c3cd4d Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/evaluation_complete.json
43
+ 87bf330647f973101101962ba12e9a8d7a947bf88744bf5a5832d3f670a3d2cb Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5
44
+ e7bd399b784cef7bced28dee3abd974d6eb0bb0129b281f485169d4171bf8b58 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/labels_test.json
45
+ b6a8e116593002f434fd1ddd5e7696af6cac3579ae46d19bf39087c704655235 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/processed_id_test.json
46
+ 7e716df226ab32e5d5901f4822d4a49a3f6582d57b4d947b0b87d3ace9470cdc Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/species_detection.csv
47
+ f88971b882f592d27355698c8b647f8d8343c82fedec3d73aa4efe1b5a56ca87 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/dna_to_label.csv
48
+ c842bf4d8d496772b9570437fbcabf6841e266a947a15160c50a9ce51950b9af Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/evaluation_complete.json
49
+ a5758b985c95461b0a76f62427fdb33086882e1f470bd9c29d3fab674ce12b52 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5
50
+ e7bd399b784cef7bced28dee3abd974d6eb0bb0129b281f485169d4171bf8b58 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/labels_test.json
51
+ b6a8e116593002f434fd1ddd5e7696af6cac3579ae46d19bf39087c704655235 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/processed_id_test.json
52
+ 832a7798e9d22ed05fc88a594b97e005d4382c9ea0399305b6e79bcb567c1872 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/species_detection.csv
53
+ 9677fd89e51781b7be4de6729c5766fa5d4c4b1c92d967f54cdd2ef1bd3a8d58 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_nesting_768d_nonres_gap05_15epochs_seed42/dna_to_label.csv
54
+ 5e821cf8f27c19a80db36fd341c39ef8996778868f1144ebd0916105d5a22863 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_nesting_768d_nonres_gap05_15epochs_seed42/evaluation_complete.json
55
+ 1f37c7aa6785cf857d98033bc41d10773849bb5ba2db503611d4c9035b09b505 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_nesting_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5
56
+ e7bd399b784cef7bced28dee3abd974d6eb0bb0129b281f485169d4171bf8b58 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_nesting_768d_nonres_gap05_15epochs_seed42/labels_test.json
57
+ b6a8e116593002f434fd1ddd5e7696af6cac3579ae46d19bf39087c704655235 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_nesting_768d_nonres_gap05_15epochs_seed42/processed_id_test.json
58
+ da450da1bb9d483c2cd0e48b905ffcf5a3a8efad95f60bd74ebcfc4748a4a036 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_nesting_768d_nonres_gap05_15epochs_seed42/species_detection.csv
59
+ 8c88f6d0e22d4ac1fa5f0fe64ac1708391679426335064bd6c38a224b291338f Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_sibling_separation_768d_nonres_gap05_15epochs_seed42/dna_to_label.csv
60
+ 00f2f5176d58409db24d6a0edb88d2d3881795710134d2df7d6ddc6008e3f805 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_sibling_separation_768d_nonres_gap05_15epochs_seed42/evaluation_complete.json
61
+ 5a29e4898a06b1aac002175dfe5387db66600356ef3d7907893a368124bc0700 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_sibling_separation_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5
62
+ e7bd399b784cef7bced28dee3abd974d6eb0bb0129b281f485169d4171bf8b58 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_sibling_separation_768d_nonres_gap05_15epochs_seed42/labels_test.json
63
+ b6a8e116593002f434fd1ddd5e7696af6cac3579ae46d19bf39087c704655235 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_sibling_separation_768d_nonres_gap05_15epochs_seed42/processed_id_test.json
64
+ 4f34399b66f93996371ce8945bdb4d9c4ef79642e0043269149b477c748387c0 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_sibling_separation_768d_nonres_gap05_15epochs_seed42/species_detection.csv
65
+ b71c199510a796856a99713b2f05fc4fdd8ede9533cd9cabe7a2264d96ced69d Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_full_frozen_labels_768d_nonres_gap05_15epochs_seed42/dna_to_label.csv
66
+ 4fa38e76c8208335f03ec1ff2afb4dc60418778c90c2df56b9f565da98d5505b Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_full_frozen_labels_768d_nonres_gap05_15epochs_seed42/evaluation_complete.json
67
+ 4ffe76701ff5e0ab62dfeee3ea8ac148c83c75e66ae49c7c6a0b869a61c3804c Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_full_frozen_labels_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5
68
+ e7bd399b784cef7bced28dee3abd974d6eb0bb0129b281f485169d4171bf8b58 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_full_frozen_labels_768d_nonres_gap05_15epochs_seed42/labels_test.json
69
+ b6a8e116593002f434fd1ddd5e7696af6cac3579ae46d19bf39087c704655235 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_full_frozen_labels_768d_nonres_gap05_15epochs_seed42/processed_id_test.json
70
+ 3ccb2f1258a40042b07563f4ce99d5290931fa28f5254050522158b8b724deed Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_full_frozen_labels_768d_nonres_gap05_15epochs_seed42/species_detection.csv
71
+ a087c09de1406c74140121535a95ecfa4bc2a923a9d64d0b80e63ac633ea7168 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_full_no_direct_placement_768d_nonres_gap05_15epochs_seed42_retry_20261008/dna_to_label.csv
72
+ 4eefa2ff73ba1c840187890677600889d0a9b80412b59814640a47c83030db90 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_full_no_direct_placement_768d_nonres_gap05_15epochs_seed42_retry_20261008/evaluation_complete.json
73
+ 858357d70820d3285ad18d699f5964a3b065dca1d8c7f99df41cbde49864e138 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_full_no_direct_placement_768d_nonres_gap05_15epochs_seed42_retry_20261008/extracted_feature_from_test_split.hdf5
74
+ e7bd399b784cef7bced28dee3abd974d6eb0bb0129b281f485169d4171bf8b58 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_full_no_direct_placement_768d_nonres_gap05_15epochs_seed42_retry_20261008/labels_test.json
75
+ b6a8e116593002f434fd1ddd5e7696af6cac3579ae46d19bf39087c704655235 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_full_no_direct_placement_768d_nonres_gap05_15epochs_seed42_retry_20261008/processed_id_test.json
76
+ 66c1a3d99a95be6bf9353f742bad90d276188714e75c5f70f827f75734c25457 Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_full_no_direct_placement_768d_nonres_gap05_15epochs_seed42_retry_20261008/species_detection.csv
77
+ a6fc2a8149e455aa746d1f0d211fbad1a69b22af836b6b4f3d9194623ce03f8b Ver_1_0/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/allocation.csv
78
+ a8626b5c00c022caf137904f0138129f072c3b955f7399ab453b696efd0b867d Ver_1_0/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/allocation_targets.json
79
+ f99d61d3d8f34345b587a38ee7955518e8540ee34a40aa305e35da788e733e2a Ver_1_0/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/placement_summary.json
80
+ 276f617eb71614e93b05d47914377031017fb5bb5f6fa8af3cc80a4de16a98c5 Ver_1_0/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/seen_taxonomy_placement.pt
81
+ 3072e0eca740886e17fb8aa4591b2508fbeeb9452411b3143320f0daf4a8798a Ver_1_0/metadata/artifact_manifest.json
82
+ e7c78dd9ad2a5ebbee92fa4fbd2c59952dc26cd2b5133a9f601f1bc76110f94a Ver_1_0/metadata/config_portability.json
83
+ 5f096494958dc17bf4c9f620240a7165575696ff14791ab6c637a3cb626b84d3 Ver_1_0/metadata/experiments.json
Ver_1_0/ckpt/BarcodeBERT/old_checkpoints/trained_with_canada_1_5M/model_41.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:439886888bf45ca70d4f4d287ef74268df51b1ddb0559e263c67785279d6dd83
3
+ size 347420280
Ver_1_0/ckpt/bioscan_clip/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/config.yaml ADDED
@@ -0,0 +1,488 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ debug_flag: false
2
+ debug_dataloader: false
3
+ debug_skip_training: false
4
+ project_root_path: ${oc.env:SSEL_ARTIFACT_ROOT,.}
5
+ data_dir: ${project_root_path}/data
6
+ activate_wandb: false
7
+ save_inference: true
8
+ load_inference: false
9
+ enable_early_stopping: false
10
+ imagenet_mean:
11
+ - 0.485
12
+ - 0.456
13
+ - 0.406
14
+ imagenet_std:
15
+ - 0.229
16
+ - 0.224
17
+ - 0.225
18
+ bioscan_data:
19
+ dir: ${data_dir}/BIOSCAN_1M
20
+ path_to_hdf5_data: ${bioscan_data.dir}/split_data/BioScan_data_in_splits.hdf5
21
+ path_to_tsv_data: ${bioscan_data.dir}/BioScan_Insect_Dataset_metadata_2.tsv
22
+ path_to_small_species_list_json: ${bioscan_data.dir}/small_species_list.json
23
+ path_to_id_to_position_mapping: ${bioscan_data.dir}/id_to_position_mapping.json
24
+ label_to_id_mapping: ${bioscan_data.dir}/label_to_id_mapping_for_four_levels_1m.json
25
+ image_mean:
26
+ - 0.7251
27
+ - 0.7289
28
+ - 0.7296
29
+ image_std:
30
+ - 0.1265
31
+ - 0.143
32
+ - 0.161
33
+ bioscan_5m_data:
34
+ dir: ${data_dir}/BIOSCAN_5M
35
+ image_dir: ${bioscan_5m_data.dir}/images
36
+ path_to_hdf5_data: ${bioscan_5m_data.dir}/BIOSCAN_5M.hdf5
37
+ path_to_smaller_hdf5_data: ${bioscan_5m_data.dir}/BIOSCAN_5M_with_small_pre_train.hdf5
38
+ path_to_tsv_data: ${bioscan_5m_data.dir}/BIOSCAN-5M_Dataset_v3.4.csv
39
+ path_to_id_to_position_mapping: ${bioscan_5m_data.dir}/id_to_position_mapping.json
40
+ label_to_id_mapping: ${bioscan_5m_data.dir}/label_to_id_mapping_for_four_levels_5m.json
41
+ image_mean:
42
+ - 0.7628
43
+ - 0.765
44
+ - 0.7637
45
+ image_std:
46
+ - 0.1421
47
+ - 0.1564
48
+ - 0.1731
49
+ insect_data:
50
+ dir: ${data_dir}/INSECT
51
+ path_to_att_splits_mat: ${insect_data.dir}/att_splits.mat
52
+ path_to_res_101_mat: ${insect_data.dir}/res101.mat
53
+ path_to_feature_hdf5: ${insect_data.dir}/extracted_features/clip_barcodebert_extracted_features.hdf5
54
+ path_to_image_hdf5: ${insect_data.dir}/INSECT_images.hdf5
55
+ path_to_meta_csv: ${insect_data.dir}/INSECT_metadata.csv
56
+ image_dir: ${insect_data.dir}/images
57
+ species_to_other: ${insect_data.dir}/specie_to_other_labels.json
58
+ save_ckpt: true
59
+ bioscan_bert_checkpoint: ${project_root_path}/ckpt/BarcodeBERT/old_checkpoints/trained_with_canada_1_5M/model_41.pth
60
+ bioscan_bert_checkpoint_trained_with_canada_1_5_m: ${project_root_path}/ckpt/BarcodeBERT/new_checkpoints/trained_with_5m/BIOSCAN-5M-BEST_k4_6_6_w1_m0_r0.pt
61
+ bioscan_bert_checkpoint_trained_with_bioscan_5_m: ${project_root_path}/ckpt/BarcodeBERT/new_checkpoints/trained_with_canada_1_5M/CANADA-1.5M-BEST_k4_4_4_w1_m0_r0_wd.pt
62
+ model_output_dir: ${project_root_path}/ckpt/bioscan_clip
63
+ inference_and_eval_setting:
64
+ plot_embeddings: false
65
+ retrieve_images: false
66
+ k_list:
67
+ - 1
68
+ - 3
69
+ - 5
70
+ levels:
71
+ - order
72
+ - family
73
+ - genus
74
+ - species
75
+ embeddings_filters:
76
+ order: Diptera
77
+ family: Sciaridae
78
+ genus: Corynoptera
79
+ retrieve_settings:
80
+ num_queries: 5
81
+ max_k: 3
82
+ seed: 413
83
+ independent: false
84
+ load_cached_results: false
85
+ eval_on: val
86
+ compute_genus_top1_excl_same_species: true
87
+ cone_check_split: train
88
+ cone_check_val_subsplit: seen
89
+ eval_batch_size_for_nn_retrieval: 512
90
+ encode_embeddings_to_parquet:
91
+ eval_image: true
92
+ eval_dna: true
93
+ diagnostics:
94
+ effective_rank:
95
+ enabled: true
96
+ device: auto
97
+ chunk_size: 32768
98
+ normalize: false
99
+ max_samples: null
100
+ seed: 42
101
+ include_sample_language: true
102
+ cone_check:
103
+ enabled: true
104
+ taxonomy_label: true
105
+ instance_taxonomy: true
106
+ modalities:
107
+ - image
108
+ - dna
109
+ target_levels:
110
+ - order
111
+ - family
112
+ - genus
113
+ - species
114
+ aperture_scale: 1.0
115
+ query_batch_size: null
116
+ candidate_batch_size: null
117
+ max_queries_per_split: null
118
+ max_candidates_per_level: null
119
+ allow_missing_modalities: true
120
+ show_progress: false
121
+ class_scatter_plot: true
122
+ class_scatter_x_axis: sample_count
123
+ class_scatter_min_samples: 1
124
+ visualization:
125
+ output_dir: ${project_root_path}/visualizations
126
+ key_feature_type: image
127
+ k: 10
128
+ general_fine_tune_setting:
129
+ save_ckpt: true
130
+ epoch: 15
131
+ batch_size: 200
132
+ hf_repo_id: bioscan-ml/clibd
133
+ default_seed: 42
134
+ barcodebert_setting:
135
+ old_model_setting:
136
+ k: 5
137
+ max_len: 660
138
+ version: ver_1_0
139
+ default_dna_output_pipeline: hidden_state_mean
140
+ epsilon: 1.0e-08
141
+ model_config:
142
+ resume_from_checkpoint: true
143
+ for_rcme: false
144
+ legacy_clibd_eval_behavior: false
145
+ l2_normalize_embeddings: true
146
+ rcme_contrastive_loss_weight: 0.1
147
+ rcme_eloss_weight: 1.0
148
+ rcme_mloss_weight: 1.0
149
+ rcme_using_vit_and_bert_small: false
150
+ rcme_using_open_clip_as_pretrain: false
151
+ hyperbolic_space:
152
+ train_hyperbolic: false
153
+ train_with_stacked_entailment_loss: true
154
+ entail_weight: 0.2
155
+ loss_type: A
156
+ adjust_alpha: false
157
+ margin: 0
158
+ relative_margin: 0
159
+ nearest_neighbor_metric_uni_modality: cosine_similarity_in_euclidean
160
+ nearest_neighbor_metric_cross_modality: angle
161
+ disable_entailment_loss: false
162
+ compute_contrastive_loss_between_image_and_dna: false
163
+ min_radius: 0.1
164
+ sel_load_concat_text: false
165
+ full_text_for_contrastive_loss: false
166
+ sel_intra_entailment_weight: 1.0
167
+ sel_inter_entailment_weight: 0.0
168
+ sel_contrastive_weight: 0.0
169
+ sel_contrastive_loss_mode: euclidean
170
+ sel_contrastive_pairing: instance
171
+ entailment_geometry: hyperbolic
172
+ sel_add_dna_bin: false
173
+ sel_use_emb_table_for_label_bin: true
174
+ sel_disable_image: true
175
+ use_dna_barcode_embed_for_dna_bin: false
176
+ dna_bin_memory_bank_momentum: 0.999
177
+ sel_use_dna_projection: true
178
+ sel_dna_projection_identity_init: false
179
+ sel_dna_projection_residual: false
180
+ sel_dna_projection_normalize: false
181
+ stacked_entailment:
182
+ embedding_dim: 768
183
+ dna_projection:
184
+ input_dim: 768
185
+ output_dim: 768
186
+ normalize: false
187
+ enabled: true
188
+ type: mlp
189
+ hidden_dim: 1536
190
+ activation: gelu
191
+ dropout: 0.0
192
+ identity_init: false
193
+ residual: false
194
+ text_projection:
195
+ input_dim: null
196
+ output_dim: null
197
+ enabled: false
198
+ rank_norm_ordering:
199
+ enabled: false
200
+ weight: 1.0
201
+ parent_mean_margin_ratio: 0.1
202
+ apply_in_stage2: false
203
+ structured_hierarchy:
204
+ enabled: true
205
+ child_only_containment: false
206
+ nesting_weight: 1.0
207
+ nesting_margin_deg: 0.25
208
+ sibling_gap_weight: 10.0
209
+ allocation_weight: 1.0
210
+ order_total_width_deg: 300.0
211
+ child_axis_span_ratio: 0.9
212
+ child_cone_fill_ratio: 0.82
213
+ allocation_loss_type: huber
214
+ allocation_huber_delta_deg: 1.0
215
+ allocation_relative_huber_delta: 0.25
216
+ allocation_relative_half_width_floor_deg: 0.01
217
+ allocation_detach_target: false
218
+ subtree_weight_mode: terminal_descendants
219
+ version: v2
220
+ allocation_targets_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/allocation_targets.json
221
+ relative_margin: 0.05
222
+ relative_gap: 0.05
223
+ ratio_huber_delta: 0.25
224
+ stage2:
225
+ full_graph_taxonomy_loss:
226
+ enabled: true
227
+ weight: 1.0
228
+ source_split: no_split_and_seen_train
229
+ max_steps: 0
230
+ checkpoint_every_epochs: 1
231
+ geometry_snapshot_every_steps: 0
232
+ geometry_snapshot_probe_size: 64
233
+ geometry_snapshot_probe_strategy: first_batch
234
+ frozen_dna_feature_cache:
235
+ enabled: false
236
+ path: null
237
+ build_batch_size: 512
238
+ num_workers: 4
239
+ inter_entailment_rank_curriculum:
240
+ enabled: false
241
+ levels_by_epoch: []
242
+ save_phase_checkpoints: false
243
+ train_only_dna_projection: false
244
+ train_dna_projection_and_taxonomy: true
245
+ train_dna_encoder: true
246
+ preserve_initialized_dna_encoder: true
247
+ weight_decay: 0.01
248
+ intra_entailment_weight: 0.0
249
+ inter_entailment_weight: 1.0
250
+ enable_negative_inter_entailment: true
251
+ contrastive_weight: 0.0
252
+ geometry: hyperbolic
253
+ loss_type: A
254
+ disable_image: true
255
+ clamp_feature_alpha_max: true
256
+ full_text_for_contrastive_loss: false
257
+ load_concat_text: false
258
+ min_radius: 0.1
259
+ margin:
260
+ absolute: 0
261
+ relative: 0
262
+ label_table:
263
+ enabled: true
264
+ add_dna_bin_level: false
265
+ candidate_source_split: no_split_and_seen_train
266
+ initialization_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/seen_taxonomy_placement.pt
267
+ reset_label_alpha: true
268
+ reset_curvature: true
269
+ zero_unplaced_rows: true
270
+ require_candidate_match: true
271
+ loss_weights:
272
+ intra_entailment: 1.0
273
+ inter_entailment: 0.0
274
+ contrastive: 0.0
275
+ contrastive:
276
+ mode: euclidean
277
+ compute_image_dna: false
278
+ inter_entailment:
279
+ stage2_mode: all_rank_dna_label
280
+ all_rank_levels:
281
+ - order
282
+ - family
283
+ - genus
284
+ - species
285
+ loss_mode: cone_hinge
286
+ ignore_non_candidate_positives: false
287
+ pos_neg_reduce:
288
+ mode: weighted_mean
289
+ positive_weight: 0.5
290
+ negative_weight: 0.5
291
+ radius_barrier:
292
+ weight: 1.0
293
+ safety_ratio: 0.1
294
+ active_in_stage1: true
295
+ reduction: sum_within_rank_mean_across_ranks
296
+ sel_clamp_feature_alpha_max: true
297
+ sel_use_text_projection: false
298
+ sel_text_projection_identity_init: true
299
+ sel_text_projection_residual: true
300
+ sel_text_projection_type: linear
301
+ sel_text_projection_hidden_dim: null
302
+ sel_text_projection_activation: gelu
303
+ sel_text_projection_dropout: 0.0
304
+ use_species_retrieval: true
305
+ use_full_text_for_retrieval: false
306
+ retrieve_each_level_separately: false
307
+ curv_init: 1.0
308
+ learn_curv: true
309
+ using_avg_norm_dict: false
310
+ inference_project_to_hyperbolic_space: true
311
+ sel_apply_margin_to_positive_and_negative_el: false
312
+ eval_instance_taxonomy_cone_check: true
313
+ log_in_cone_rate: true
314
+ log_wrong_cone_rate: true
315
+ sel_inter_entailment_pos_neg_pair_strategy: instance
316
+ sel_inter_entailment_loss_mode: cone_hinge
317
+ sel_inter_entailment_missing_level_negative_strategy: none
318
+ sel_stage2_inter_entailment_mode: all_rank_dna_label
319
+ sel_all_rank_dna_label_levels:
320
+ - order
321
+ - family
322
+ - genus
323
+ - species
324
+ sel_all_rank_ignore_non_candidate_positives: false
325
+ sel_inter_pairwise_chunk_rows: 0
326
+ sel_pos_pair_weight: 0.5
327
+ sel_neg_pair_weight: 0.5
328
+ sel_posneg_reduce_mode: weighted_mean
329
+ sel_posneg_max_mix_weight: 1.0
330
+ sel_radius_barrier_weight: 1.0
331
+ sel_radius_barrier_safety_ratio: 0.1
332
+ sel_radius_barrier_active_in_stage1: true
333
+ sel_radius_barrier_reduction: sum_within_rank_mean_across_ranks
334
+ eval_instance_taxonomy_during_training: false
335
+ eval_instance_taxonomy_modalities:
336
+ - dna
337
+ eval_instance_taxonomy_target_levels:
338
+ - order
339
+ - family
340
+ - genus
341
+ - species
342
+ eval_instance_taxonomy_query_splits:
343
+ - seen
344
+ eval_instance_taxonomy_candidate_source: training_seen
345
+ eval_instance_taxonomy_show_progress: true
346
+ sel_embedding_dim: 768
347
+ sel_dna_projection_input_dim: 768
348
+ sel_dna_projection_output_dim: 768
349
+ sel_dna_projection_type: mlp
350
+ sel_dna_projection_hidden_dim: 1536
351
+ sel_dna_projection_activation: gelu
352
+ sel_dna_projection_dropout: 0.0
353
+ sel_text_projection_input_dim: null
354
+ sel_text_projection_output_dim: null
355
+ sel_rank_norm_ordering_enabled: false
356
+ sel_rank_norm_ordering_weight: 1.0
357
+ sel_rank_norm_ordering_apply_in_stage2: false
358
+ sel_rank_norm_ordering_parent_mean_margin_ratio: 0.1
359
+ sel_structured_hierarchy_enabled: true
360
+ sel_structured_version: v2
361
+ sel_structured_allocation_targets_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/allocation_targets.json
362
+ sel_structured_relative_margin: 0.05
363
+ sel_structured_relative_gap: 0.05
364
+ sel_structured_ratio_huber_delta: 0.25
365
+ sel_structured_child_only_containment: false
366
+ sel_structured_nesting_weight: 1.0
367
+ sel_structured_nesting_margin_deg: 0.25
368
+ sel_structured_sibling_gap_weight: 10.0
369
+ sel_structured_allocation_weight: 1.0
370
+ sel_structured_order_total_width_deg: 300.0
371
+ sel_structured_child_axis_span_ratio: 0.9
372
+ sel_structured_child_cone_fill_ratio: 0.82
373
+ sel_structured_allocation_loss_type: huber
374
+ sel_structured_allocation_huber_delta_deg: 1.0
375
+ sel_structured_allocation_relative_huber_delta: 0.25
376
+ sel_structured_allocation_relative_half_width_floor_deg: 0.01
377
+ sel_structured_allocation_detach_target: false
378
+ sel_structured_subtree_weight_mode: terminal_descendants
379
+ sel_stage2_train_only_dna_projection: false
380
+ sel_stage2_train_dna_projection_and_taxonomy: true
381
+ sel_stage2_train_dna_encoder: true
382
+ sel_stage2_preserve_initialized_dna_encoder: true
383
+ sel_stage2_intra_entailment_weight: 0.0
384
+ sel_stage2_inter_entailment_weight: 1.0
385
+ sel_stage2_contrastive_weight: 0.0
386
+ sel_stage2_enable_negative_inter_entailment: true
387
+ sel_stage2_inter_negative_entailment_weight: 1.0
388
+ sel_two_stage_training:
389
+ use_two_stage_training: false
390
+ eval_stage_one_only: false
391
+ train_stage_one_only: false
392
+ freeze_text_encoder_for_first_few_epochs: 0
393
+ freeze_text_encoder_for_whole_stage_2: false
394
+ inter_entailment_weight_warmup_epochs: 0
395
+ first_stage_setting:
396
+ mode: node_minibatch
397
+ max_epoch: 5
398
+ max_steps: null
399
+ checkpoint_every_steps: 0
400
+ geometry_snapshot_every_steps: 0
401
+ batch_size: 80
402
+ lr: 0.001
403
+ weight_decay: 0.01
404
+ num_workers_per_gpu: 16
405
+ max_lr: 0.1
406
+ min_lr: 1.0e-08
407
+ final_div_factor: 10000.0
408
+ lr_scheduler: one_cycle
409
+ train_with_train_seen_only: true
410
+ dataset: bioscan_5m
411
+ for_open_clip: false
412
+ fix_temperature: false
413
+ amp: true
414
+ eval_skip_epoch: 0
415
+ fast_retrieval_subset: true
416
+ load_ckpt: true
417
+ pretrained_ckpt_path: null
418
+ no_pretrained_weights: false
419
+ ckpt_trained_with_insect_image_dna_text_path: null
420
+ train_with_small_subset: false
421
+ bin_for_positive_and_negative_pairs: false
422
+ transform_with_resize: false
423
+ pre_train_for_barcode_bert: null
424
+ for_bio_clip: false
425
+ base_batch_size: 500
426
+ output_dim: 768
427
+ dna_output_pipeline: transformed_hidden_state_mean
428
+ split_used_for_training: no_split_and_seen_train
429
+ taxonomy_subset:
430
+ enabled: false
431
+ level: order
432
+ include_labels: []
433
+ training_sample_filter:
434
+ enabled: false
435
+ required_taxonomy_levels: []
436
+ valid_indices_path: null
437
+ chunk_size: 250000
438
+ training_sample_repeat:
439
+ enabled: false
440
+ target_num_samples: null
441
+ image:
442
+ input_type: image
443
+ model: vit
444
+ freeze: true
445
+ dna:
446
+ input_type: sequence
447
+ model: barcode_bert
448
+ freeze: false
449
+ preserve_pretrained_mlm_decoder: true
450
+ language:
451
+ input_type: sequence
452
+ model: bert_small
453
+ freeze: true
454
+ lr_config:
455
+ lr: 1.0e-06
456
+ max_lr: 5.0e-05
457
+ min_lr: 1.0e-09
458
+ lr_scheduler: one_cycle
459
+ lr_warm_up_ratio: null
460
+ bind_to: null
461
+ no_image_text_loss: false
462
+ num_workers: 8
463
+ debug_max_steps_per_epoch: null
464
+ debug_autograd_anomaly: false
465
+ disable_lora: true
466
+ using_imagenet_mean_and_std: false
467
+ epochs: 15
468
+ wandb_project_name: SEL_v3_2_23_direct_placement_joint_full_train
469
+ model_output_dir: ${project_root_path}/ckpt/bioscan_hyperbolic
470
+ evaluation_period: 15
471
+ eval_every_epoch: false
472
+ all_gather: true
473
+ loss_setup:
474
+ gather_with_grad: true
475
+ use_horovod: false
476
+ local_loss: false
477
+ random_seed: false
478
+ default_seed: 42
479
+ batch_size: 200
480
+ model_output_name: SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42
481
+ port: 29931
482
+ local_loss_log_every: 100
483
+ retain_epoch_checkpoints:
484
+ - 1
485
+ - 5
486
+ - 10
487
+ - 15
488
+ resolved_seed: 42
Ver_1_0/ckpt/bioscan_clip/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/last.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cd98e1d8088524594719f3a45186950a2b7fac779708408c2577b42db33f71bc
3
+ size 452784372
Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/config.yaml ADDED
@@ -0,0 +1,489 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ debug_flag: false
2
+ debug_dataloader: false
3
+ debug_skip_training: false
4
+ project_root_path: ${oc.env:SSEL_ARTIFACT_ROOT,.}
5
+ data_dir: ${project_root_path}/data
6
+ activate_wandb: false
7
+ save_inference: true
8
+ load_inference: false
9
+ enable_early_stopping: false
10
+ imagenet_mean:
11
+ - 0.485
12
+ - 0.456
13
+ - 0.406
14
+ imagenet_std:
15
+ - 0.229
16
+ - 0.224
17
+ - 0.225
18
+ bioscan_data:
19
+ dir: ${data_dir}/BIOSCAN_1M
20
+ path_to_hdf5_data: ${bioscan_data.dir}/split_data/BioScan_data_in_splits.hdf5
21
+ path_to_tsv_data: ${bioscan_data.dir}/BioScan_Insect_Dataset_metadata_2.tsv
22
+ path_to_small_species_list_json: ${bioscan_data.dir}/small_species_list.json
23
+ path_to_id_to_position_mapping: ${bioscan_data.dir}/id_to_position_mapping.json
24
+ label_to_id_mapping: ${bioscan_data.dir}/label_to_id_mapping_for_four_levels_1m.json
25
+ image_mean:
26
+ - 0.7251
27
+ - 0.7289
28
+ - 0.7296
29
+ image_std:
30
+ - 0.1265
31
+ - 0.143
32
+ - 0.161
33
+ bioscan_5m_data:
34
+ dir: ${data_dir}/BIOSCAN_5M
35
+ image_dir: ${bioscan_5m_data.dir}/images
36
+ path_to_hdf5_data: ${bioscan_5m_data.dir}/BIOSCAN_5M.hdf5
37
+ path_to_smaller_hdf5_data: ${bioscan_5m_data.dir}/BIOSCAN_5M_with_small_pre_train.hdf5
38
+ path_to_tsv_data: ${bioscan_5m_data.dir}/BIOSCAN-5M_Dataset_v3.4.csv
39
+ path_to_id_to_position_mapping: ${bioscan_5m_data.dir}/id_to_position_mapping.json
40
+ label_to_id_mapping: ${bioscan_5m_data.dir}/label_to_id_mapping_for_four_levels_5m.json
41
+ image_mean:
42
+ - 0.7628
43
+ - 0.765
44
+ - 0.7637
45
+ image_std:
46
+ - 0.1421
47
+ - 0.1564
48
+ - 0.1731
49
+ insect_data:
50
+ dir: ${data_dir}/INSECT
51
+ path_to_att_splits_mat: ${insect_data.dir}/att_splits.mat
52
+ path_to_res_101_mat: ${insect_data.dir}/res101.mat
53
+ path_to_feature_hdf5: ${insect_data.dir}/extracted_features/clip_barcodebert_extracted_features.hdf5
54
+ path_to_image_hdf5: ${insect_data.dir}/INSECT_images.hdf5
55
+ path_to_meta_csv: ${insect_data.dir}/INSECT_metadata.csv
56
+ image_dir: ${insect_data.dir}/images
57
+ species_to_other: ${insect_data.dir}/specie_to_other_labels.json
58
+ save_ckpt: true
59
+ bioscan_bert_checkpoint: ${project_root_path}/ckpt/BarcodeBERT/old_checkpoints/trained_with_canada_1_5M/model_41.pth
60
+ bioscan_bert_checkpoint_trained_with_canada_1_5_m: ${project_root_path}/ckpt/BarcodeBERT/new_checkpoints/trained_with_5m/BIOSCAN-5M-BEST_k4_6_6_w1_m0_r0.pt
61
+ bioscan_bert_checkpoint_trained_with_bioscan_5_m: ${project_root_path}/ckpt/BarcodeBERT/new_checkpoints/trained_with_canada_1_5M/CANADA-1.5M-BEST_k4_4_4_w1_m0_r0_wd.pt
62
+ model_output_dir: ${project_root_path}/ckpt/bioscan_clip
63
+ inference_and_eval_setting:
64
+ plot_embeddings: false
65
+ retrieve_images: false
66
+ k_list:
67
+ - 1
68
+ - 3
69
+ - 5
70
+ levels:
71
+ - order
72
+ - family
73
+ - genus
74
+ - species
75
+ embeddings_filters:
76
+ order: Diptera
77
+ family: Sciaridae
78
+ genus: Corynoptera
79
+ retrieve_settings:
80
+ num_queries: 5
81
+ max_k: 3
82
+ seed: 413
83
+ independent: false
84
+ load_cached_results: false
85
+ eval_on: val
86
+ compute_genus_top1_excl_same_species: true
87
+ cone_check_split: train
88
+ cone_check_val_subsplit: seen
89
+ eval_batch_size_for_nn_retrieval: 128
90
+ encode_embeddings_to_parquet:
91
+ eval_image: true
92
+ eval_dna: true
93
+ diagnostics:
94
+ effective_rank:
95
+ enabled: true
96
+ device: auto
97
+ chunk_size: 32768
98
+ normalize: false
99
+ max_samples: null
100
+ seed: 42
101
+ include_sample_language: true
102
+ cone_check:
103
+ enabled: true
104
+ taxonomy_label: true
105
+ instance_taxonomy: true
106
+ modalities:
107
+ - image
108
+ - dna
109
+ target_levels:
110
+ - order
111
+ - family
112
+ - genus
113
+ - species
114
+ aperture_scale: 1.0
115
+ query_batch_size: null
116
+ candidate_batch_size: null
117
+ max_queries_per_split: null
118
+ max_candidates_per_level: null
119
+ allow_missing_modalities: true
120
+ show_progress: false
121
+ class_scatter_plot: true
122
+ class_scatter_x_axis: sample_count
123
+ class_scatter_min_samples: 1
124
+ visualization:
125
+ output_dir: ${project_root_path}/visualizations
126
+ key_feature_type: image
127
+ k: 10
128
+ general_fine_tune_setting:
129
+ save_ckpt: true
130
+ epoch: 15
131
+ batch_size: 200
132
+ hf_repo_id: bioscan-ml/clibd
133
+ default_seed: 42
134
+ barcodebert_setting:
135
+ old_model_setting:
136
+ k: 5
137
+ max_len: 660
138
+ version: ver_1_0
139
+ default_dna_output_pipeline: hidden_state_mean
140
+ epsilon: 1.0e-08
141
+ model_config:
142
+ resume_from_checkpoint: true
143
+ for_rcme: false
144
+ legacy_clibd_eval_behavior: false
145
+ l2_normalize_embeddings: true
146
+ rcme_contrastive_loss_weight: 0.1
147
+ rcme_eloss_weight: 1.0
148
+ rcme_mloss_weight: 1.0
149
+ rcme_using_vit_and_bert_small: false
150
+ rcme_using_open_clip_as_pretrain: false
151
+ hyperbolic_space:
152
+ train_hyperbolic: false
153
+ train_with_stacked_entailment_loss: true
154
+ entail_weight: 0.2
155
+ loss_type: A
156
+ adjust_alpha: false
157
+ margin: 0
158
+ relative_margin: 0
159
+ nearest_neighbor_metric_uni_modality: cosine_similarity_in_euclidean
160
+ nearest_neighbor_metric_cross_modality: angle
161
+ disable_entailment_loss: false
162
+ compute_contrastive_loss_between_image_and_dna: false
163
+ min_radius: 0.1
164
+ sel_load_concat_text: false
165
+ full_text_for_contrastive_loss: false
166
+ sel_intra_entailment_weight: 0.0
167
+ sel_inter_entailment_weight: 1.0
168
+ sel_contrastive_weight: 0.0
169
+ sel_contrastive_loss_mode: euclidean
170
+ sel_contrastive_pairing: instance
171
+ entailment_geometry: hyperbolic
172
+ sel_add_dna_bin: false
173
+ sel_use_emb_table_for_label_bin: true
174
+ sel_disable_image: true
175
+ use_dna_barcode_embed_for_dna_bin: false
176
+ dna_bin_memory_bank_momentum: 0.999
177
+ sel_use_dna_projection: true
178
+ sel_dna_projection_identity_init: false
179
+ sel_dna_projection_residual: false
180
+ sel_dna_projection_normalize: false
181
+ stacked_entailment:
182
+ embedding_dim: 768
183
+ dna_projection:
184
+ input_dim: 768
185
+ output_dim: 768
186
+ normalize: false
187
+ enabled: true
188
+ type: mlp
189
+ hidden_dim: 1536
190
+ activation: gelu
191
+ dropout: 0.0
192
+ identity_init: false
193
+ residual: false
194
+ text_projection:
195
+ input_dim: null
196
+ output_dim: null
197
+ enabled: false
198
+ rank_norm_ordering:
199
+ enabled: false
200
+ weight: 1.0
201
+ parent_mean_margin_ratio: 0.1
202
+ apply_in_stage2: false
203
+ structured_hierarchy:
204
+ enabled: false
205
+ child_only_containment: false
206
+ nesting_weight: 0.0
207
+ nesting_margin_deg: 0.25
208
+ sibling_gap_weight: 0.0
209
+ allocation_weight: 0.0
210
+ order_total_width_deg: 300.0
211
+ child_axis_span_ratio: 0.9
212
+ child_cone_fill_ratio: 0.82
213
+ allocation_loss_type: huber
214
+ allocation_huber_delta_deg: 1.0
215
+ allocation_relative_huber_delta: 0.25
216
+ allocation_relative_half_width_floor_deg: 0.01
217
+ allocation_detach_target: false
218
+ subtree_weight_mode: terminal_descendants
219
+ version: v2
220
+ allocation_targets_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/allocation_targets.json
221
+ relative_margin: 0.05
222
+ relative_gap: 0.05
223
+ ratio_huber_delta: 0.25
224
+ stage2:
225
+ full_graph_taxonomy_loss:
226
+ enabled: true
227
+ weight: 1.0
228
+ source_split: no_split_and_seen_train
229
+ point_entailment_enabled: false
230
+ max_steps: 0
231
+ checkpoint_every_epochs: 1
232
+ geometry_snapshot_every_steps: 0
233
+ geometry_snapshot_probe_size: 64
234
+ geometry_snapshot_probe_strategy: first_batch
235
+ frozen_dna_feature_cache:
236
+ enabled: false
237
+ path: null
238
+ build_batch_size: 512
239
+ num_workers: 4
240
+ inter_entailment_rank_curriculum:
241
+ enabled: false
242
+ levels_by_epoch: []
243
+ save_phase_checkpoints: false
244
+ train_only_dna_projection: false
245
+ train_dna_projection_and_taxonomy: true
246
+ train_dna_encoder: true
247
+ preserve_initialized_dna_encoder: true
248
+ weight_decay: 0.01
249
+ intra_entailment_weight: 0.0
250
+ inter_entailment_weight: 1.0
251
+ enable_negative_inter_entailment: true
252
+ contrastive_weight: 0.0
253
+ geometry: hyperbolic
254
+ loss_type: A
255
+ disable_image: true
256
+ clamp_feature_alpha_max: true
257
+ full_text_for_contrastive_loss: false
258
+ load_concat_text: false
259
+ min_radius: 0.1
260
+ margin:
261
+ absolute: 0
262
+ relative: 0
263
+ label_table:
264
+ enabled: true
265
+ add_dna_bin_level: false
266
+ candidate_source_split: no_split_and_seen_train
267
+ initialization_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/seen_taxonomy_placement.pt
268
+ reset_label_alpha: true
269
+ reset_curvature: true
270
+ zero_unplaced_rows: true
271
+ require_candidate_match: true
272
+ loss_weights:
273
+ intra_entailment: 0.0
274
+ inter_entailment: 1.0
275
+ contrastive: 0.0
276
+ contrastive:
277
+ mode: euclidean
278
+ compute_image_dna: false
279
+ inter_entailment:
280
+ stage2_mode: all_rank_dna_label
281
+ all_rank_levels:
282
+ - order
283
+ - family
284
+ - genus
285
+ - species
286
+ loss_mode: cone_hinge
287
+ ignore_non_candidate_positives: false
288
+ pos_neg_reduce:
289
+ mode: weighted_mean
290
+ positive_weight: 0.5
291
+ negative_weight: 0.5
292
+ radius_barrier:
293
+ weight: 0.0
294
+ safety_ratio: 0.1
295
+ active_in_stage1: false
296
+ reduction: sum_within_rank_mean_across_ranks
297
+ sel_clamp_feature_alpha_max: true
298
+ sel_use_text_projection: false
299
+ sel_text_projection_identity_init: true
300
+ sel_text_projection_residual: true
301
+ sel_text_projection_type: linear
302
+ sel_text_projection_hidden_dim: null
303
+ sel_text_projection_activation: gelu
304
+ sel_text_projection_dropout: 0.0
305
+ use_species_retrieval: true
306
+ use_full_text_for_retrieval: false
307
+ retrieve_each_level_separately: false
308
+ curv_init: 1.0
309
+ learn_curv: true
310
+ using_avg_norm_dict: false
311
+ inference_project_to_hyperbolic_space: true
312
+ sel_apply_margin_to_positive_and_negative_el: false
313
+ eval_instance_taxonomy_cone_check: true
314
+ log_in_cone_rate: true
315
+ log_wrong_cone_rate: true
316
+ sel_inter_entailment_pos_neg_pair_strategy: instance
317
+ sel_inter_entailment_loss_mode: cone_hinge
318
+ sel_inter_entailment_missing_level_negative_strategy: none
319
+ sel_stage2_inter_entailment_mode: all_rank_dna_label
320
+ sel_all_rank_dna_label_levels:
321
+ - order
322
+ - family
323
+ - genus
324
+ - species
325
+ sel_all_rank_ignore_non_candidate_positives: false
326
+ sel_inter_pairwise_chunk_rows: 0
327
+ sel_pos_pair_weight: 0.5
328
+ sel_neg_pair_weight: 0.5
329
+ sel_posneg_reduce_mode: weighted_mean
330
+ sel_posneg_max_mix_weight: 1.0
331
+ sel_radius_barrier_weight: 0.0
332
+ sel_radius_barrier_safety_ratio: 0.1
333
+ sel_radius_barrier_active_in_stage1: false
334
+ sel_radius_barrier_reduction: sum_within_rank_mean_across_ranks
335
+ eval_instance_taxonomy_during_training: false
336
+ eval_instance_taxonomy_modalities:
337
+ - dna
338
+ eval_instance_taxonomy_target_levels:
339
+ - order
340
+ - family
341
+ - genus
342
+ - species
343
+ eval_instance_taxonomy_query_splits:
344
+ - seen
345
+ eval_instance_taxonomy_candidate_source: training_seen
346
+ eval_instance_taxonomy_show_progress: true
347
+ sel_embedding_dim: 768
348
+ sel_dna_projection_input_dim: 768
349
+ sel_dna_projection_output_dim: 768
350
+ sel_dna_projection_type: mlp
351
+ sel_dna_projection_hidden_dim: 1536
352
+ sel_dna_projection_activation: gelu
353
+ sel_dna_projection_dropout: 0.0
354
+ sel_text_projection_input_dim: null
355
+ sel_text_projection_output_dim: null
356
+ sel_rank_norm_ordering_enabled: false
357
+ sel_rank_norm_ordering_weight: 1.0
358
+ sel_rank_norm_ordering_apply_in_stage2: false
359
+ sel_rank_norm_ordering_parent_mean_margin_ratio: 0.1
360
+ sel_structured_hierarchy_enabled: false
361
+ sel_structured_version: v2
362
+ sel_structured_allocation_targets_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/allocation_targets.json
363
+ sel_structured_relative_margin: 0.05
364
+ sel_structured_relative_gap: 0.05
365
+ sel_structured_ratio_huber_delta: 0.25
366
+ sel_structured_child_only_containment: false
367
+ sel_structured_nesting_weight: 0.0
368
+ sel_structured_nesting_margin_deg: 0.25
369
+ sel_structured_sibling_gap_weight: 0.0
370
+ sel_structured_allocation_weight: 0.0
371
+ sel_structured_order_total_width_deg: 300.0
372
+ sel_structured_child_axis_span_ratio: 0.9
373
+ sel_structured_child_cone_fill_ratio: 0.82
374
+ sel_structured_allocation_loss_type: huber
375
+ sel_structured_allocation_huber_delta_deg: 1.0
376
+ sel_structured_allocation_relative_huber_delta: 0.25
377
+ sel_structured_allocation_relative_half_width_floor_deg: 0.01
378
+ sel_structured_allocation_detach_target: false
379
+ sel_structured_subtree_weight_mode: terminal_descendants
380
+ sel_stage2_train_only_dna_projection: false
381
+ sel_stage2_train_dna_projection_and_taxonomy: true
382
+ sel_stage2_train_dna_encoder: true
383
+ sel_stage2_preserve_initialized_dna_encoder: true
384
+ sel_stage2_intra_entailment_weight: 0.0
385
+ sel_stage2_inter_entailment_weight: 1.0
386
+ sel_stage2_contrastive_weight: 0.0
387
+ sel_stage2_enable_negative_inter_entailment: true
388
+ sel_stage2_inter_negative_entailment_weight: 1.0
389
+ sel_two_stage_training:
390
+ use_two_stage_training: false
391
+ eval_stage_one_only: false
392
+ train_stage_one_only: false
393
+ freeze_text_encoder_for_first_few_epochs: 0
394
+ freeze_text_encoder_for_whole_stage_2: false
395
+ inter_entailment_weight_warmup_epochs: 0
396
+ first_stage_setting:
397
+ mode: node_minibatch
398
+ max_epoch: 5
399
+ max_steps: null
400
+ checkpoint_every_steps: 0
401
+ geometry_snapshot_every_steps: 0
402
+ batch_size: 80
403
+ lr: 0.001
404
+ weight_decay: 0.01
405
+ num_workers_per_gpu: 16
406
+ max_lr: 0.1
407
+ min_lr: 1.0e-08
408
+ final_div_factor: 10000.0
409
+ lr_scheduler: one_cycle
410
+ train_with_train_seen_only: true
411
+ dataset: bioscan_5m
412
+ for_open_clip: false
413
+ fix_temperature: false
414
+ amp: true
415
+ eval_skip_epoch: 0
416
+ fast_retrieval_subset: true
417
+ load_ckpt: true
418
+ pretrained_ckpt_path: null
419
+ no_pretrained_weights: false
420
+ ckpt_trained_with_insect_image_dna_text_path: null
421
+ train_with_small_subset: false
422
+ bin_for_positive_and_negative_pairs: false
423
+ transform_with_resize: false
424
+ pre_train_for_barcode_bert: null
425
+ for_bio_clip: false
426
+ base_batch_size: 500
427
+ output_dim: 768
428
+ dna_output_pipeline: transformed_hidden_state_mean
429
+ split_used_for_training: no_split_and_seen_train
430
+ taxonomy_subset:
431
+ enabled: false
432
+ level: order
433
+ include_labels: []
434
+ training_sample_filter:
435
+ enabled: false
436
+ required_taxonomy_levels: []
437
+ valid_indices_path: null
438
+ chunk_size: 250000
439
+ training_sample_repeat:
440
+ enabled: false
441
+ target_num_samples: null
442
+ image:
443
+ input_type: image
444
+ model: vit
445
+ freeze: true
446
+ dna:
447
+ input_type: sequence
448
+ model: barcode_bert
449
+ freeze: false
450
+ preserve_pretrained_mlm_decoder: true
451
+ language:
452
+ input_type: sequence
453
+ model: bert_small
454
+ freeze: true
455
+ lr_config:
456
+ lr: 1.0e-06
457
+ max_lr: 5.0e-05
458
+ min_lr: 1.0e-09
459
+ lr_scheduler: one_cycle
460
+ lr_warm_up_ratio: null
461
+ bind_to: null
462
+ no_image_text_loss: false
463
+ num_workers: 8
464
+ debug_max_steps_per_epoch: null
465
+ debug_autograd_anomaly: false
466
+ disable_lora: true
467
+ using_imagenet_mean_and_std: false
468
+ epochs: 15
469
+ wandb_project_name: SEL_v3_2_23_direct_placement_joint_full_train
470
+ model_output_dir: ${project_root_path}/ckpt/bioscan_hyperbolic
471
+ evaluation_period: 15
472
+ eval_every_epoch: false
473
+ all_gather: true
474
+ loss_setup:
475
+ gather_with_grad: true
476
+ use_horovod: false
477
+ local_loss: false
478
+ random_seed: false
479
+ default_seed: 42
480
+ batch_size: 200
481
+ model_output_name: UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42
482
+ port: 29955
483
+ local_loss_log_every: 100
484
+ retain_epoch_checkpoints:
485
+ - 1
486
+ - 5
487
+ - 10
488
+ - 15
489
+ resolved_seed: 42
Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/last.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b867680474bf7e1a77b48c580bc630e53d78526637c35be7434c09774e12c4df
3
+ size 452784372
Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/config.yaml ADDED
@@ -0,0 +1,501 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ debug_flag: false
2
+ debug_dataloader: false
3
+ debug_skip_training: false
4
+ project_root_path: ${oc.env:SSEL_ARTIFACT_ROOT,.}
5
+ data_dir: ${project_root_path}/data
6
+ activate_wandb: false
7
+ save_inference: false
8
+ load_inference: false
9
+ enable_early_stopping: false
10
+ imagenet_mean:
11
+ - 0.485
12
+ - 0.456
13
+ - 0.406
14
+ imagenet_std:
15
+ - 0.229
16
+ - 0.224
17
+ - 0.225
18
+ bioscan_data:
19
+ dir: ${data_dir}/BIOSCAN_1M
20
+ path_to_hdf5_data: ${bioscan_data.dir}/split_data/BioScan_data_in_splits.hdf5
21
+ path_to_tsv_data: ${bioscan_data.dir}/BioScan_Insect_Dataset_metadata_2.tsv
22
+ path_to_small_species_list_json: ${bioscan_data.dir}/small_species_list.json
23
+ path_to_id_to_position_mapping: ${bioscan_data.dir}/id_to_position_mapping.json
24
+ label_to_id_mapping: ${bioscan_data.dir}/label_to_id_mapping_for_four_levels_1m.json
25
+ image_mean:
26
+ - 0.7251
27
+ - 0.7289
28
+ - 0.7296
29
+ image_std:
30
+ - 0.1265
31
+ - 0.143
32
+ - 0.161
33
+ bioscan_5m_data:
34
+ dir: ${data_dir}/BIOSCAN_5M
35
+ image_dir: ${bioscan_5m_data.dir}/images
36
+ path_to_hdf5_data: ${bioscan_5m_data.dir}/BIOSCAN_5M.hdf5
37
+ path_to_smaller_hdf5_data: ${bioscan_5m_data.dir}/BIOSCAN_5M_with_small_pre_train.hdf5
38
+ path_to_tsv_data: ${bioscan_5m_data.dir}/BIOSCAN-5M_Dataset_v3.4.csv
39
+ path_to_id_to_position_mapping: ${bioscan_5m_data.dir}/id_to_position_mapping.json
40
+ label_to_id_mapping: ${bioscan_5m_data.dir}/label_to_id_mapping_for_four_levels_5m.json
41
+ image_mean:
42
+ - 0.7628
43
+ - 0.765
44
+ - 0.7637
45
+ image_std:
46
+ - 0.1421
47
+ - 0.1564
48
+ - 0.1731
49
+ insect_data:
50
+ dir: ${data_dir}/INSECT
51
+ path_to_att_splits_mat: ${insect_data.dir}/att_splits.mat
52
+ path_to_res_101_mat: ${insect_data.dir}/res101.mat
53
+ path_to_feature_hdf5: ${insect_data.dir}/extracted_features/clip_barcodebert_extracted_features.hdf5
54
+ path_to_image_hdf5: ${insect_data.dir}/INSECT_images.hdf5
55
+ path_to_meta_csv: ${insect_data.dir}/INSECT_metadata.csv
56
+ image_dir: ${insect_data.dir}/images
57
+ species_to_other: ${insect_data.dir}/specie_to_other_labels.json
58
+ save_ckpt: true
59
+ bioscan_bert_checkpoint: ${project_root_path}/ckpt/BarcodeBERT/old_checkpoints/trained_with_canada_1_5M/model_41.pth
60
+ bioscan_bert_checkpoint_trained_with_canada_1_5_m: ${project_root_path}/ckpt/BarcodeBERT/new_checkpoints/trained_with_5m/BIOSCAN-5M-BEST_k4_6_6_w1_m0_r0.pt
61
+ bioscan_bert_checkpoint_trained_with_bioscan_5_m: ${project_root_path}/ckpt/BarcodeBERT/new_checkpoints/trained_with_canada_1_5M/CANADA-1.5M-BEST_k4_4_4_w1_m0_r0_wd.pt
62
+ model_output_dir: ${project_root_path}/ckpt/bioscan_clip
63
+ inference_and_eval_setting:
64
+ plot_embeddings: false
65
+ retrieve_images: false
66
+ k_list:
67
+ - 1
68
+ - 3
69
+ - 5
70
+ levels:
71
+ - order
72
+ - family
73
+ - genus
74
+ - species
75
+ embeddings_filters:
76
+ order: Diptera
77
+ family: Sciaridae
78
+ genus: Corynoptera
79
+ retrieve_settings:
80
+ num_queries: 5
81
+ max_k: 3
82
+ seed: 413
83
+ independent: false
84
+ load_cached_results: false
85
+ eval_on: val
86
+ compute_genus_top1_excl_same_species: true
87
+ cone_check_split: train
88
+ cone_check_val_subsplit: seen
89
+ eval_batch_size_for_nn_retrieval: 512
90
+ encode_embeddings_to_parquet:
91
+ eval_image: true
92
+ eval_dna: true
93
+ diagnostics:
94
+ effective_rank:
95
+ enabled: true
96
+ device: auto
97
+ chunk_size: 32768
98
+ normalize: false
99
+ max_samples: null
100
+ seed: 42
101
+ include_sample_language: true
102
+ cone_check:
103
+ enabled: true
104
+ taxonomy_label: true
105
+ instance_taxonomy: true
106
+ modalities:
107
+ - image
108
+ - dna
109
+ target_levels:
110
+ - order
111
+ - family
112
+ - genus
113
+ - species
114
+ aperture_scale: 1.0
115
+ query_batch_size: null
116
+ candidate_batch_size: null
117
+ max_queries_per_split: null
118
+ max_candidates_per_level: null
119
+ allow_missing_modalities: true
120
+ show_progress: false
121
+ class_scatter_plot: true
122
+ class_scatter_x_axis: sample_count
123
+ class_scatter_min_samples: 1
124
+ visualization:
125
+ output_dir: ${project_root_path}/visualizations
126
+ key_feature_type: image
127
+ k: 10
128
+ general_fine_tune_setting:
129
+ save_ckpt: true
130
+ epoch: 15
131
+ batch_size: 200
132
+ hf_repo_id: bioscan-ml/clibd
133
+ default_seed: 42
134
+ barcodebert_setting:
135
+ old_model_setting:
136
+ k: 5
137
+ max_len: 660
138
+ version: ver_1_0
139
+ default_dna_output_pipeline: hidden_state_mean
140
+ epsilon: 1.0e-08
141
+ model_config:
142
+ resume_from_checkpoint: true
143
+ for_rcme: false
144
+ legacy_clibd_eval_behavior: false
145
+ l2_normalize_embeddings: true
146
+ rcme_contrastive_loss_weight: 0.1
147
+ rcme_eloss_weight: 1.0
148
+ rcme_mloss_weight: 1.0
149
+ rcme_using_vit_and_bert_small: false
150
+ rcme_using_open_clip_as_pretrain: false
151
+ hyperbolic_space:
152
+ train_hyperbolic: false
153
+ train_with_stacked_entailment_loss: true
154
+ entail_weight: 0.2
155
+ loss_type: A
156
+ adjust_alpha: false
157
+ margin: 0
158
+ relative_margin: 0
159
+ nearest_neighbor_metric_uni_modality: cosine_similarity_in_euclidean
160
+ nearest_neighbor_metric_cross_modality: angle
161
+ disable_entailment_loss: false
162
+ compute_contrastive_loss_between_image_and_dna: false
163
+ min_radius: 0.1
164
+ sel_load_concat_text: false
165
+ full_text_for_contrastive_loss: false
166
+ sel_intra_entailment_weight: 0.0
167
+ sel_inter_entailment_weight: 0.2
168
+ sel_contrastive_weight: 1.0
169
+ sel_contrastive_loss_mode: stable_pairwise_dist
170
+ sel_contrastive_pairing: instance
171
+ entailment_geometry: hyperbolic
172
+ sel_add_dna_bin: false
173
+ sel_use_emb_table_for_label_bin: true
174
+ sel_disable_image: true
175
+ use_dna_barcode_embed_for_dna_bin: false
176
+ dna_bin_memory_bank_momentum: 0.999
177
+ sel_use_dna_projection: true
178
+ sel_dna_projection_identity_init: false
179
+ sel_dna_projection_residual: false
180
+ sel_dna_projection_normalize: false
181
+ stacked_entailment:
182
+ embedding_dim: 768
183
+ dna_projection:
184
+ input_dim: 768
185
+ output_dim: 768
186
+ normalize: false
187
+ enabled: true
188
+ type: mlp
189
+ hidden_dim: 1536
190
+ activation: gelu
191
+ dropout: 0.0
192
+ identity_init: false
193
+ residual: false
194
+ text_projection:
195
+ input_dim: null
196
+ output_dim: null
197
+ enabled: false
198
+ rank_norm_ordering:
199
+ enabled: false
200
+ weight: 1.0
201
+ parent_mean_margin_ratio: 0.1
202
+ apply_in_stage2: false
203
+ structured_hierarchy:
204
+ enabled: false
205
+ child_only_containment: false
206
+ nesting_weight: 0.0
207
+ nesting_margin_deg: 0.25
208
+ sibling_gap_weight: 0.0
209
+ allocation_weight: 0.0
210
+ order_total_width_deg: 300.0
211
+ child_axis_span_ratio: 0.9
212
+ child_cone_fill_ratio: 0.82
213
+ allocation_loss_type: huber
214
+ allocation_huber_delta_deg: 1.0
215
+ allocation_relative_huber_delta: 0.25
216
+ allocation_relative_half_width_floor_deg: 0.01
217
+ allocation_detach_target: false
218
+ subtree_weight_mode: terminal_descendants
219
+ version: v2
220
+ allocation_targets_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/allocation_targets.json
221
+ relative_margin: 0.05
222
+ relative_gap: 0.05
223
+ ratio_huber_delta: 0.25
224
+ stage2:
225
+ full_graph_taxonomy_loss:
226
+ enabled: true
227
+ weight: 1.0
228
+ source_split: no_split_and_seen_train
229
+ point_entailment_enabled: false
230
+ max_steps: 0
231
+ checkpoint_every_epochs: 1
232
+ geometry_snapshot_every_steps: 0
233
+ geometry_snapshot_probe_size: 64
234
+ geometry_snapshot_probe_strategy: first_batch
235
+ frozen_dna_feature_cache:
236
+ enabled: false
237
+ path: null
238
+ build_batch_size: 512
239
+ num_workers: 4
240
+ inter_entailment_rank_curriculum:
241
+ enabled: false
242
+ levels_by_epoch: []
243
+ save_phase_checkpoints: false
244
+ train_only_dna_projection: false
245
+ train_dna_projection_and_taxonomy: true
246
+ train_dna_encoder: true
247
+ preserve_initialized_dna_encoder: true
248
+ weight_decay: 0.01
249
+ intra_entailment_weight: 0.0
250
+ inter_entailment_weight: 0.2
251
+ enable_negative_inter_entailment: false
252
+ contrastive_weight: 1.0
253
+ train_logit_scale: true
254
+ geometry: hyperbolic
255
+ loss_type: A
256
+ disable_image: true
257
+ clamp_feature_alpha_max: true
258
+ full_text_for_contrastive_loss: false
259
+ load_concat_text: false
260
+ min_radius: 0.1
261
+ margin:
262
+ absolute: 0
263
+ relative: 0
264
+ label_table:
265
+ enabled: true
266
+ add_dna_bin_level: false
267
+ candidate_source_split: no_split_and_seen_train
268
+ initialization_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/seen_taxonomy_placement.pt
269
+ reset_label_alpha: true
270
+ reset_curvature: true
271
+ zero_unplaced_rows: true
272
+ require_candidate_match: true
273
+ loss_weights:
274
+ intra_entailment: 0.0
275
+ inter_entailment: 0.2
276
+ contrastive: 1.0
277
+ contrastive:
278
+ mode: stable_pairwise_dist
279
+ compute_image_dna: false
280
+ dna_label:
281
+ enabled: true
282
+ candidate_scope: global_batch_unique
283
+ inter_entailment:
284
+ stage2_mode: all_rank_dna_label
285
+ all_rank_levels:
286
+ - order
287
+ - family
288
+ - genus
289
+ - species
290
+ loss_mode: cone_hinge
291
+ ignore_non_candidate_positives: false
292
+ detach_label_geometry: false
293
+ positive_contrastive:
294
+ enabled: false
295
+ pos_neg_reduce:
296
+ mode: weighted_mean
297
+ positive_weight: 1.0
298
+ negative_weight: 0.0
299
+ radius_barrier:
300
+ weight: 1.0
301
+ safety_ratio: 0.1
302
+ active_in_stage1: true
303
+ reduction: sum_within_rank_mean_across_ranks
304
+ sel_clamp_feature_alpha_max: true
305
+ sel_use_text_projection: false
306
+ sel_text_projection_identity_init: true
307
+ sel_text_projection_residual: true
308
+ sel_text_projection_type: linear
309
+ sel_text_projection_hidden_dim: null
310
+ sel_text_projection_activation: gelu
311
+ sel_text_projection_dropout: 0.0
312
+ use_species_retrieval: true
313
+ use_full_text_for_retrieval: false
314
+ retrieve_each_level_separately: false
315
+ curv_init: 1.0
316
+ learn_curv: true
317
+ using_avg_norm_dict: false
318
+ inference_project_to_hyperbolic_space: true
319
+ sel_apply_margin_to_positive_and_negative_el: false
320
+ eval_instance_taxonomy_cone_check: true
321
+ log_in_cone_rate: true
322
+ log_wrong_cone_rate: true
323
+ sel_inter_entailment_pos_neg_pair_strategy: instance
324
+ sel_inter_entailment_loss_mode: cone_hinge
325
+ sel_inter_entailment_missing_level_negative_strategy: none
326
+ sel_stage2_inter_entailment_mode: all_rank_dna_label
327
+ sel_all_rank_dna_label_levels:
328
+ - order
329
+ - family
330
+ - genus
331
+ - species
332
+ sel_all_rank_ignore_non_candidate_positives: false
333
+ sel_inter_pairwise_chunk_rows: 0
334
+ sel_pos_pair_weight: 1.0
335
+ sel_neg_pair_weight: 0.0
336
+ sel_posneg_reduce_mode: weighted_mean
337
+ sel_posneg_max_mix_weight: 1.0
338
+ sel_radius_barrier_weight: 1.0
339
+ sel_radius_barrier_safety_ratio: 0.1
340
+ sel_radius_barrier_active_in_stage1: true
341
+ sel_radius_barrier_reduction: sum_within_rank_mean_across_ranks
342
+ eval_instance_taxonomy_during_training: false
343
+ eval_instance_taxonomy_modalities:
344
+ - dna
345
+ eval_instance_taxonomy_target_levels:
346
+ - order
347
+ - family
348
+ - genus
349
+ - species
350
+ eval_instance_taxonomy_query_splits:
351
+ - seen
352
+ eval_instance_taxonomy_candidate_source: training_seen
353
+ eval_instance_taxonomy_show_progress: true
354
+ sel_embedding_dim: 768
355
+ sel_dna_projection_input_dim: 768
356
+ sel_dna_projection_output_dim: 768
357
+ sel_dna_projection_type: mlp
358
+ sel_dna_projection_hidden_dim: 1536
359
+ sel_dna_projection_activation: gelu
360
+ sel_dna_projection_dropout: 0.0
361
+ sel_text_projection_input_dim: null
362
+ sel_text_projection_output_dim: null
363
+ sel_dna_label_contrastive_enabled: true
364
+ sel_dna_label_contrastive_candidate_scope: global_batch_unique
365
+ sel_inter_entailment_detach_label_geometry: false
366
+ sel_positive_contrastive_enabled: false
367
+ sel_rank_norm_ordering_enabled: false
368
+ sel_rank_norm_ordering_weight: 1.0
369
+ sel_rank_norm_ordering_apply_in_stage2: false
370
+ sel_rank_norm_ordering_parent_mean_margin_ratio: 0.1
371
+ sel_structured_hierarchy_enabled: false
372
+ sel_structured_version: v2
373
+ sel_structured_allocation_targets_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/allocation_targets.json
374
+ sel_structured_relative_margin: 0.05
375
+ sel_structured_relative_gap: 0.05
376
+ sel_structured_ratio_huber_delta: 0.25
377
+ sel_structured_child_only_containment: false
378
+ sel_structured_nesting_weight: 0.0
379
+ sel_structured_nesting_margin_deg: 0.25
380
+ sel_structured_sibling_gap_weight: 0.0
381
+ sel_structured_allocation_weight: 0.0
382
+ sel_structured_order_total_width_deg: 300.0
383
+ sel_structured_child_axis_span_ratio: 0.9
384
+ sel_structured_child_cone_fill_ratio: 0.82
385
+ sel_structured_allocation_loss_type: huber
386
+ sel_structured_allocation_huber_delta_deg: 1.0
387
+ sel_structured_allocation_relative_huber_delta: 0.25
388
+ sel_structured_allocation_relative_half_width_floor_deg: 0.01
389
+ sel_structured_allocation_detach_target: false
390
+ sel_structured_subtree_weight_mode: terminal_descendants
391
+ sel_stage2_train_only_dna_projection: false
392
+ sel_stage2_train_dna_projection_and_taxonomy: true
393
+ sel_stage2_train_dna_encoder: true
394
+ sel_stage2_preserve_initialized_dna_encoder: true
395
+ sel_stage2_intra_entailment_weight: 0.0
396
+ sel_stage2_inter_entailment_weight: 0.2
397
+ sel_stage2_train_logit_scale: true
398
+ sel_stage2_contrastive_weight: 1.0
399
+ sel_stage2_enable_negative_inter_entailment: false
400
+ sel_stage2_inter_negative_entailment_weight: 0.0
401
+ sel_two_stage_training:
402
+ use_two_stage_training: false
403
+ eval_stage_one_only: false
404
+ train_stage_one_only: false
405
+ freeze_text_encoder_for_first_few_epochs: 0
406
+ freeze_text_encoder_for_whole_stage_2: false
407
+ inter_entailment_weight_warmup_epochs: 0
408
+ first_stage_setting:
409
+ mode: node_minibatch
410
+ max_epoch: 5
411
+ max_steps: null
412
+ checkpoint_every_steps: 0
413
+ geometry_snapshot_every_steps: 0
414
+ batch_size: 80
415
+ lr: 0.001
416
+ weight_decay: 0.01
417
+ num_workers_per_gpu: 16
418
+ max_lr: 0.1
419
+ min_lr: 1.0e-08
420
+ final_div_factor: 10000.0
421
+ lr_scheduler: one_cycle
422
+ train_with_train_seen_only: true
423
+ dataset: bioscan_5m
424
+ for_open_clip: false
425
+ fix_temperature: null
426
+ amp: true
427
+ eval_skip_epoch: 0
428
+ fast_retrieval_subset: true
429
+ load_ckpt: true
430
+ pretrained_ckpt_path: null
431
+ no_pretrained_weights: false
432
+ ckpt_trained_with_insect_image_dna_text_path: null
433
+ train_with_small_subset: false
434
+ bin_for_positive_and_negative_pairs: false
435
+ transform_with_resize: false
436
+ pre_train_for_barcode_bert: null
437
+ for_bio_clip: false
438
+ base_batch_size: 500
439
+ output_dim: 768
440
+ dna_output_pipeline: transformed_hidden_state_mean
441
+ split_used_for_training: no_split_and_seen_train
442
+ taxonomy_subset:
443
+ enabled: false
444
+ level: order
445
+ include_labels: []
446
+ training_sample_filter:
447
+ enabled: false
448
+ required_taxonomy_levels: []
449
+ valid_indices_path: null
450
+ chunk_size: 250000
451
+ training_sample_repeat:
452
+ enabled: false
453
+ target_num_samples: null
454
+ image:
455
+ input_type: image
456
+ model: vit
457
+ freeze: true
458
+ dna:
459
+ input_type: sequence
460
+ model: barcode_bert
461
+ freeze: false
462
+ preserve_pretrained_mlm_decoder: true
463
+ language:
464
+ input_type: sequence
465
+ model: bert_small
466
+ freeze: true
467
+ lr_config:
468
+ lr: 1.0e-06
469
+ max_lr: 5.0e-05
470
+ min_lr: 1.0e-09
471
+ lr_scheduler: one_cycle
472
+ lr_warm_up_ratio: null
473
+ bind_to: null
474
+ no_image_text_loss: false
475
+ num_workers: 8
476
+ debug_max_steps_per_epoch: null
477
+ debug_autograd_anomaly: false
478
+ disable_lora: true
479
+ using_imagenet_mean_and_std: false
480
+ epochs: 15
481
+ wandb_project_name: SEL_v3_2_23_direct_placement_joint_full_train
482
+ model_output_dir: ${project_root_path}/ckpt/bioscan_hyperbolic
483
+ evaluation_period: 15
484
+ eval_every_epoch: false
485
+ all_gather: true
486
+ loss_setup:
487
+ gather_with_grad: true
488
+ use_horovod: false
489
+ local_loss: false
490
+ random_seed: false
491
+ default_seed: 42
492
+ batch_size: 200
493
+ model_output_name: UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42
494
+ port: 29964
495
+ local_loss_log_every: 100
496
+ retain_epoch_checkpoints:
497
+ - 1
498
+ - 5
499
+ - 10
500
+ - 15
501
+ resolved_seed: 42
Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/last.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d3feac60f8901d988ce3b2645077f33f6896c23a11c24c742f542e941829e1fd
3
+ size 452784799
Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/config.yaml ADDED
@@ -0,0 +1,489 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ debug_flag: false
2
+ debug_dataloader: false
3
+ debug_skip_training: false
4
+ project_root_path: ${oc.env:SSEL_ARTIFACT_ROOT,.}
5
+ data_dir: ${project_root_path}/data
6
+ activate_wandb: false
7
+ save_inference: true
8
+ load_inference: false
9
+ enable_early_stopping: false
10
+ imagenet_mean:
11
+ - 0.485
12
+ - 0.456
13
+ - 0.406
14
+ imagenet_std:
15
+ - 0.229
16
+ - 0.224
17
+ - 0.225
18
+ bioscan_data:
19
+ dir: ${data_dir}/BIOSCAN_1M
20
+ path_to_hdf5_data: ${bioscan_data.dir}/split_data/BioScan_data_in_splits.hdf5
21
+ path_to_tsv_data: ${bioscan_data.dir}/BioScan_Insect_Dataset_metadata_2.tsv
22
+ path_to_small_species_list_json: ${bioscan_data.dir}/small_species_list.json
23
+ path_to_id_to_position_mapping: ${bioscan_data.dir}/id_to_position_mapping.json
24
+ label_to_id_mapping: ${bioscan_data.dir}/label_to_id_mapping_for_four_levels_1m.json
25
+ image_mean:
26
+ - 0.7251
27
+ - 0.7289
28
+ - 0.7296
29
+ image_std:
30
+ - 0.1265
31
+ - 0.143
32
+ - 0.161
33
+ bioscan_5m_data:
34
+ dir: ${data_dir}/BIOSCAN_5M
35
+ image_dir: ${bioscan_5m_data.dir}/images
36
+ path_to_hdf5_data: ${bioscan_5m_data.dir}/BIOSCAN_5M.hdf5
37
+ path_to_smaller_hdf5_data: ${bioscan_5m_data.dir}/BIOSCAN_5M_with_small_pre_train.hdf5
38
+ path_to_tsv_data: ${bioscan_5m_data.dir}/BIOSCAN-5M_Dataset_v3.4.csv
39
+ path_to_id_to_position_mapping: ${bioscan_5m_data.dir}/id_to_position_mapping.json
40
+ label_to_id_mapping: ${bioscan_5m_data.dir}/label_to_id_mapping_for_four_levels_5m.json
41
+ image_mean:
42
+ - 0.7628
43
+ - 0.765
44
+ - 0.7637
45
+ image_std:
46
+ - 0.1421
47
+ - 0.1564
48
+ - 0.1731
49
+ insect_data:
50
+ dir: ${data_dir}/INSECT
51
+ path_to_att_splits_mat: ${insect_data.dir}/att_splits.mat
52
+ path_to_res_101_mat: ${insect_data.dir}/res101.mat
53
+ path_to_feature_hdf5: ${insect_data.dir}/extracted_features/clip_barcodebert_extracted_features.hdf5
54
+ path_to_image_hdf5: ${insect_data.dir}/INSECT_images.hdf5
55
+ path_to_meta_csv: ${insect_data.dir}/INSECT_metadata.csv
56
+ image_dir: ${insect_data.dir}/images
57
+ species_to_other: ${insect_data.dir}/specie_to_other_labels.json
58
+ save_ckpt: true
59
+ bioscan_bert_checkpoint: ${project_root_path}/ckpt/BarcodeBERT/old_checkpoints/trained_with_canada_1_5M/model_41.pth
60
+ bioscan_bert_checkpoint_trained_with_canada_1_5_m: ${project_root_path}/ckpt/BarcodeBERT/new_checkpoints/trained_with_5m/BIOSCAN-5M-BEST_k4_6_6_w1_m0_r0.pt
61
+ bioscan_bert_checkpoint_trained_with_bioscan_5_m: ${project_root_path}/ckpt/BarcodeBERT/new_checkpoints/trained_with_canada_1_5M/CANADA-1.5M-BEST_k4_4_4_w1_m0_r0_wd.pt
62
+ model_output_dir: ${project_root_path}/ckpt/bioscan_clip
63
+ inference_and_eval_setting:
64
+ plot_embeddings: false
65
+ retrieve_images: false
66
+ k_list:
67
+ - 1
68
+ - 3
69
+ - 5
70
+ levels:
71
+ - order
72
+ - family
73
+ - genus
74
+ - species
75
+ embeddings_filters:
76
+ order: Diptera
77
+ family: Sciaridae
78
+ genus: Corynoptera
79
+ retrieve_settings:
80
+ num_queries: 5
81
+ max_k: 3
82
+ seed: 413
83
+ independent: false
84
+ load_cached_results: false
85
+ eval_on: val
86
+ compute_genus_top1_excl_same_species: true
87
+ cone_check_split: train
88
+ cone_check_val_subsplit: seen
89
+ eval_batch_size_for_nn_retrieval: 128
90
+ encode_embeddings_to_parquet:
91
+ eval_image: true
92
+ eval_dna: true
93
+ diagnostics:
94
+ effective_rank:
95
+ enabled: true
96
+ device: auto
97
+ chunk_size: 32768
98
+ normalize: false
99
+ max_samples: null
100
+ seed: 42
101
+ include_sample_language: true
102
+ cone_check:
103
+ enabled: true
104
+ taxonomy_label: true
105
+ instance_taxonomy: true
106
+ modalities:
107
+ - image
108
+ - dna
109
+ target_levels:
110
+ - order
111
+ - family
112
+ - genus
113
+ - species
114
+ aperture_scale: 1.0
115
+ query_batch_size: null
116
+ candidate_batch_size: null
117
+ max_queries_per_split: null
118
+ max_candidates_per_level: null
119
+ allow_missing_modalities: true
120
+ show_progress: false
121
+ class_scatter_plot: true
122
+ class_scatter_x_axis: sample_count
123
+ class_scatter_min_samples: 1
124
+ visualization:
125
+ output_dir: ${project_root_path}/visualizations
126
+ key_feature_type: image
127
+ k: 10
128
+ general_fine_tune_setting:
129
+ save_ckpt: true
130
+ epoch: 15
131
+ batch_size: 200
132
+ hf_repo_id: bioscan-ml/clibd
133
+ default_seed: 42
134
+ barcodebert_setting:
135
+ old_model_setting:
136
+ k: 5
137
+ max_len: 660
138
+ version: ver_1_0
139
+ default_dna_output_pipeline: hidden_state_mean
140
+ epsilon: 1.0e-08
141
+ model_config:
142
+ resume_from_checkpoint: true
143
+ for_rcme: false
144
+ legacy_clibd_eval_behavior: false
145
+ l2_normalize_embeddings: true
146
+ rcme_contrastive_loss_weight: 0.1
147
+ rcme_eloss_weight: 1.0
148
+ rcme_mloss_weight: 1.0
149
+ rcme_using_vit_and_bert_small: false
150
+ rcme_using_open_clip_as_pretrain: false
151
+ hyperbolic_space:
152
+ train_hyperbolic: false
153
+ train_with_stacked_entailment_loss: true
154
+ entail_weight: 0.2
155
+ loss_type: A
156
+ adjust_alpha: false
157
+ margin: 0
158
+ relative_margin: 0
159
+ nearest_neighbor_metric_uni_modality: cosine_similarity_in_euclidean
160
+ nearest_neighbor_metric_cross_modality: angle
161
+ disable_entailment_loss: false
162
+ compute_contrastive_loss_between_image_and_dna: false
163
+ min_radius: 0.1
164
+ sel_load_concat_text: false
165
+ full_text_for_contrastive_loss: false
166
+ sel_intra_entailment_weight: 0.0
167
+ sel_inter_entailment_weight: 1.0
168
+ sel_contrastive_weight: 0.0
169
+ sel_contrastive_loss_mode: euclidean
170
+ sel_contrastive_pairing: instance
171
+ entailment_geometry: hyperbolic
172
+ sel_add_dna_bin: false
173
+ sel_use_emb_table_for_label_bin: true
174
+ sel_disable_image: true
175
+ use_dna_barcode_embed_for_dna_bin: false
176
+ dna_bin_memory_bank_momentum: 0.999
177
+ sel_use_dna_projection: true
178
+ sel_dna_projection_identity_init: false
179
+ sel_dna_projection_residual: false
180
+ sel_dna_projection_normalize: false
181
+ stacked_entailment:
182
+ embedding_dim: 768
183
+ dna_projection:
184
+ input_dim: 768
185
+ output_dim: 768
186
+ normalize: false
187
+ enabled: true
188
+ type: mlp
189
+ hidden_dim: 1536
190
+ activation: gelu
191
+ dropout: 0.0
192
+ identity_init: false
193
+ residual: false
194
+ text_projection:
195
+ input_dim: null
196
+ output_dim: null
197
+ enabled: false
198
+ rank_norm_ordering:
199
+ enabled: false
200
+ weight: 1.0
201
+ parent_mean_margin_ratio: 0.1
202
+ apply_in_stage2: false
203
+ structured_hierarchy:
204
+ enabled: false
205
+ child_only_containment: false
206
+ nesting_weight: 0.0
207
+ nesting_margin_deg: 0.25
208
+ sibling_gap_weight: 0.0
209
+ allocation_weight: 0.0
210
+ order_total_width_deg: 300.0
211
+ child_axis_span_ratio: 0.9
212
+ child_cone_fill_ratio: 0.82
213
+ allocation_loss_type: huber
214
+ allocation_huber_delta_deg: 1.0
215
+ allocation_relative_huber_delta: 0.25
216
+ allocation_relative_half_width_floor_deg: 0.01
217
+ allocation_detach_target: false
218
+ subtree_weight_mode: terminal_descendants
219
+ version: v2
220
+ allocation_targets_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/allocation_targets.json
221
+ relative_margin: 0.05
222
+ relative_gap: 0.05
223
+ ratio_huber_delta: 0.25
224
+ stage2:
225
+ full_graph_taxonomy_loss:
226
+ enabled: true
227
+ weight: 1.0
228
+ source_split: no_split_and_seen_train
229
+ point_entailment_enabled: true
230
+ max_steps: 0
231
+ checkpoint_every_epochs: 1
232
+ geometry_snapshot_every_steps: 0
233
+ geometry_snapshot_probe_size: 64
234
+ geometry_snapshot_probe_strategy: first_batch
235
+ frozen_dna_feature_cache:
236
+ enabled: false
237
+ path: null
238
+ build_batch_size: 512
239
+ num_workers: 4
240
+ inter_entailment_rank_curriculum:
241
+ enabled: false
242
+ levels_by_epoch: []
243
+ save_phase_checkpoints: false
244
+ train_only_dna_projection: false
245
+ train_dna_projection_and_taxonomy: true
246
+ train_dna_encoder: true
247
+ preserve_initialized_dna_encoder: true
248
+ weight_decay: 0.01
249
+ intra_entailment_weight: 0.0
250
+ inter_entailment_weight: 1.0
251
+ enable_negative_inter_entailment: true
252
+ contrastive_weight: 0.0
253
+ geometry: hyperbolic
254
+ loss_type: A
255
+ disable_image: true
256
+ clamp_feature_alpha_max: true
257
+ full_text_for_contrastive_loss: false
258
+ load_concat_text: false
259
+ min_radius: 0.1
260
+ margin:
261
+ absolute: 0
262
+ relative: 0
263
+ label_table:
264
+ enabled: true
265
+ add_dna_bin_level: false
266
+ candidate_source_split: no_split_and_seen_train
267
+ initialization_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/seen_taxonomy_placement.pt
268
+ reset_label_alpha: true
269
+ reset_curvature: true
270
+ zero_unplaced_rows: true
271
+ require_candidate_match: true
272
+ loss_weights:
273
+ intra_entailment: 0.0
274
+ inter_entailment: 1.0
275
+ contrastive: 0.0
276
+ contrastive:
277
+ mode: euclidean
278
+ compute_image_dna: false
279
+ inter_entailment:
280
+ stage2_mode: all_rank_dna_label
281
+ all_rank_levels:
282
+ - order
283
+ - family
284
+ - genus
285
+ - species
286
+ loss_mode: cone_hinge
287
+ ignore_non_candidate_positives: false
288
+ pos_neg_reduce:
289
+ mode: weighted_mean
290
+ positive_weight: 0.5
291
+ negative_weight: 0.5
292
+ radius_barrier:
293
+ weight: 0.0
294
+ safety_ratio: 0.1
295
+ active_in_stage1: false
296
+ reduction: sum_within_rank_mean_across_ranks
297
+ sel_clamp_feature_alpha_max: true
298
+ sel_use_text_projection: false
299
+ sel_text_projection_identity_init: true
300
+ sel_text_projection_residual: true
301
+ sel_text_projection_type: linear
302
+ sel_text_projection_hidden_dim: null
303
+ sel_text_projection_activation: gelu
304
+ sel_text_projection_dropout: 0.0
305
+ use_species_retrieval: true
306
+ use_full_text_for_retrieval: false
307
+ retrieve_each_level_separately: false
308
+ curv_init: 1.0
309
+ learn_curv: true
310
+ using_avg_norm_dict: false
311
+ inference_project_to_hyperbolic_space: true
312
+ sel_apply_margin_to_positive_and_negative_el: false
313
+ eval_instance_taxonomy_cone_check: true
314
+ log_in_cone_rate: true
315
+ log_wrong_cone_rate: true
316
+ sel_inter_entailment_pos_neg_pair_strategy: instance
317
+ sel_inter_entailment_loss_mode: cone_hinge
318
+ sel_inter_entailment_missing_level_negative_strategy: none
319
+ sel_stage2_inter_entailment_mode: all_rank_dna_label
320
+ sel_all_rank_dna_label_levels:
321
+ - order
322
+ - family
323
+ - genus
324
+ - species
325
+ sel_all_rank_ignore_non_candidate_positives: false
326
+ sel_inter_pairwise_chunk_rows: 0
327
+ sel_pos_pair_weight: 0.5
328
+ sel_neg_pair_weight: 0.5
329
+ sel_posneg_reduce_mode: weighted_mean
330
+ sel_posneg_max_mix_weight: 1.0
331
+ sel_radius_barrier_weight: 0.0
332
+ sel_radius_barrier_safety_ratio: 0.1
333
+ sel_radius_barrier_active_in_stage1: false
334
+ sel_radius_barrier_reduction: sum_within_rank_mean_across_ranks
335
+ eval_instance_taxonomy_during_training: false
336
+ eval_instance_taxonomy_modalities:
337
+ - dna
338
+ eval_instance_taxonomy_target_levels:
339
+ - order
340
+ - family
341
+ - genus
342
+ - species
343
+ eval_instance_taxonomy_query_splits:
344
+ - seen
345
+ eval_instance_taxonomy_candidate_source: training_seen
346
+ eval_instance_taxonomy_show_progress: true
347
+ sel_embedding_dim: 768
348
+ sel_dna_projection_input_dim: 768
349
+ sel_dna_projection_output_dim: 768
350
+ sel_dna_projection_type: mlp
351
+ sel_dna_projection_hidden_dim: 1536
352
+ sel_dna_projection_activation: gelu
353
+ sel_dna_projection_dropout: 0.0
354
+ sel_text_projection_input_dim: null
355
+ sel_text_projection_output_dim: null
356
+ sel_rank_norm_ordering_enabled: false
357
+ sel_rank_norm_ordering_weight: 1.0
358
+ sel_rank_norm_ordering_apply_in_stage2: false
359
+ sel_rank_norm_ordering_parent_mean_margin_ratio: 0.1
360
+ sel_structured_hierarchy_enabled: false
361
+ sel_structured_version: v2
362
+ sel_structured_allocation_targets_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/allocation_targets.json
363
+ sel_structured_relative_margin: 0.05
364
+ sel_structured_relative_gap: 0.05
365
+ sel_structured_ratio_huber_delta: 0.25
366
+ sel_structured_child_only_containment: false
367
+ sel_structured_nesting_weight: 0.0
368
+ sel_structured_nesting_margin_deg: 0.25
369
+ sel_structured_sibling_gap_weight: 0.0
370
+ sel_structured_allocation_weight: 0.0
371
+ sel_structured_order_total_width_deg: 300.0
372
+ sel_structured_child_axis_span_ratio: 0.9
373
+ sel_structured_child_cone_fill_ratio: 0.82
374
+ sel_structured_allocation_loss_type: huber
375
+ sel_structured_allocation_huber_delta_deg: 1.0
376
+ sel_structured_allocation_relative_huber_delta: 0.25
377
+ sel_structured_allocation_relative_half_width_floor_deg: 0.01
378
+ sel_structured_allocation_detach_target: false
379
+ sel_structured_subtree_weight_mode: terminal_descendants
380
+ sel_stage2_train_only_dna_projection: false
381
+ sel_stage2_train_dna_projection_and_taxonomy: true
382
+ sel_stage2_train_dna_encoder: true
383
+ sel_stage2_preserve_initialized_dna_encoder: true
384
+ sel_stage2_intra_entailment_weight: 0.0
385
+ sel_stage2_inter_entailment_weight: 1.0
386
+ sel_stage2_contrastive_weight: 0.0
387
+ sel_stage2_enable_negative_inter_entailment: true
388
+ sel_stage2_inter_negative_entailment_weight: 1.0
389
+ sel_two_stage_training:
390
+ use_two_stage_training: false
391
+ eval_stage_one_only: false
392
+ train_stage_one_only: false
393
+ freeze_text_encoder_for_first_few_epochs: 0
394
+ freeze_text_encoder_for_whole_stage_2: false
395
+ inter_entailment_weight_warmup_epochs: 0
396
+ first_stage_setting:
397
+ mode: node_minibatch
398
+ max_epoch: 5
399
+ max_steps: null
400
+ checkpoint_every_steps: 0
401
+ geometry_snapshot_every_steps: 0
402
+ batch_size: 80
403
+ lr: 0.001
404
+ weight_decay: 0.01
405
+ num_workers_per_gpu: 16
406
+ max_lr: 0.1
407
+ min_lr: 1.0e-08
408
+ final_div_factor: 10000.0
409
+ lr_scheduler: one_cycle
410
+ train_with_train_seen_only: true
411
+ dataset: bioscan_5m
412
+ for_open_clip: false
413
+ fix_temperature: false
414
+ amp: true
415
+ eval_skip_epoch: 0
416
+ fast_retrieval_subset: true
417
+ load_ckpt: true
418
+ pretrained_ckpt_path: null
419
+ no_pretrained_weights: false
420
+ ckpt_trained_with_insect_image_dna_text_path: null
421
+ train_with_small_subset: false
422
+ bin_for_positive_and_negative_pairs: false
423
+ transform_with_resize: false
424
+ pre_train_for_barcode_bert: null
425
+ for_bio_clip: false
426
+ base_batch_size: 500
427
+ output_dim: 768
428
+ dna_output_pipeline: transformed_hidden_state_mean
429
+ split_used_for_training: no_split_and_seen_train
430
+ taxonomy_subset:
431
+ enabled: false
432
+ level: order
433
+ include_labels: []
434
+ training_sample_filter:
435
+ enabled: false
436
+ required_taxonomy_levels: []
437
+ valid_indices_path: null
438
+ chunk_size: 250000
439
+ training_sample_repeat:
440
+ enabled: false
441
+ target_num_samples: null
442
+ image:
443
+ input_type: image
444
+ model: vit
445
+ freeze: true
446
+ dna:
447
+ input_type: sequence
448
+ model: barcode_bert
449
+ freeze: false
450
+ preserve_pretrained_mlm_decoder: true
451
+ language:
452
+ input_type: sequence
453
+ model: bert_small
454
+ freeze: true
455
+ lr_config:
456
+ lr: 1.0e-06
457
+ max_lr: 5.0e-05
458
+ min_lr: 1.0e-09
459
+ lr_scheduler: one_cycle
460
+ lr_warm_up_ratio: null
461
+ bind_to: null
462
+ no_image_text_loss: false
463
+ num_workers: 8
464
+ debug_max_steps_per_epoch: null
465
+ debug_autograd_anomaly: false
466
+ disable_lora: true
467
+ using_imagenet_mean_and_std: false
468
+ epochs: 15
469
+ wandb_project_name: SEL_v3_2_23_direct_placement_joint_full_train
470
+ model_output_dir: ${project_root_path}/ckpt/bioscan_hyperbolic
471
+ evaluation_period: 15
472
+ eval_every_epoch: false
473
+ all_gather: true
474
+ loss_setup:
475
+ gather_with_grad: true
476
+ use_horovod: false
477
+ local_loss: false
478
+ random_seed: false
479
+ default_seed: 42
480
+ batch_size: 200
481
+ model_output_name: UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42
482
+ port: 29956
483
+ local_loss_log_every: 100
484
+ retain_epoch_checkpoints:
485
+ - 1
486
+ - 5
487
+ - 10
488
+ - 15
489
+ resolved_seed: 42
Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/last.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:542478eb799eea14243c8b4606d926db51585fde5852a2d79c097c577f8a50c3
3
+ size 452784372
Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/config.yaml ADDED
@@ -0,0 +1,489 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ debug_flag: false
2
+ debug_dataloader: false
3
+ debug_skip_training: false
4
+ project_root_path: ${oc.env:SSEL_ARTIFACT_ROOT,.}
5
+ data_dir: ${project_root_path}/data
6
+ activate_wandb: false
7
+ save_inference: false
8
+ load_inference: false
9
+ enable_early_stopping: false
10
+ imagenet_mean:
11
+ - 0.485
12
+ - 0.456
13
+ - 0.406
14
+ imagenet_std:
15
+ - 0.229
16
+ - 0.224
17
+ - 0.225
18
+ bioscan_data:
19
+ dir: ${data_dir}/BIOSCAN_1M
20
+ path_to_hdf5_data: ${bioscan_data.dir}/split_data/BioScan_data_in_splits.hdf5
21
+ path_to_tsv_data: ${bioscan_data.dir}/BioScan_Insect_Dataset_metadata_2.tsv
22
+ path_to_small_species_list_json: ${bioscan_data.dir}/small_species_list.json
23
+ path_to_id_to_position_mapping: ${bioscan_data.dir}/id_to_position_mapping.json
24
+ label_to_id_mapping: ${bioscan_data.dir}/label_to_id_mapping_for_four_levels_1m.json
25
+ image_mean:
26
+ - 0.7251
27
+ - 0.7289
28
+ - 0.7296
29
+ image_std:
30
+ - 0.1265
31
+ - 0.143
32
+ - 0.161
33
+ bioscan_5m_data:
34
+ dir: ${data_dir}/BIOSCAN_5M
35
+ image_dir: ${bioscan_5m_data.dir}/images
36
+ path_to_hdf5_data: ${bioscan_5m_data.dir}/BIOSCAN_5M.hdf5
37
+ path_to_smaller_hdf5_data: ${bioscan_5m_data.dir}/BIOSCAN_5M_with_small_pre_train.hdf5
38
+ path_to_tsv_data: ${bioscan_5m_data.dir}/BIOSCAN-5M_Dataset_v3.4.csv
39
+ path_to_id_to_position_mapping: ${bioscan_5m_data.dir}/id_to_position_mapping.json
40
+ label_to_id_mapping: ${bioscan_5m_data.dir}/label_to_id_mapping_for_four_levels_5m.json
41
+ image_mean:
42
+ - 0.7628
43
+ - 0.765
44
+ - 0.7637
45
+ image_std:
46
+ - 0.1421
47
+ - 0.1564
48
+ - 0.1731
49
+ insect_data:
50
+ dir: ${data_dir}/INSECT
51
+ path_to_att_splits_mat: ${insect_data.dir}/att_splits.mat
52
+ path_to_res_101_mat: ${insect_data.dir}/res101.mat
53
+ path_to_feature_hdf5: ${insect_data.dir}/extracted_features/clip_barcodebert_extracted_features.hdf5
54
+ path_to_image_hdf5: ${insect_data.dir}/INSECT_images.hdf5
55
+ path_to_meta_csv: ${insect_data.dir}/INSECT_metadata.csv
56
+ image_dir: ${insect_data.dir}/images
57
+ species_to_other: ${insect_data.dir}/specie_to_other_labels.json
58
+ save_ckpt: true
59
+ bioscan_bert_checkpoint: ${project_root_path}/ckpt/BarcodeBERT/old_checkpoints/trained_with_canada_1_5M/model_41.pth
60
+ bioscan_bert_checkpoint_trained_with_canada_1_5_m: ${project_root_path}/ckpt/BarcodeBERT/new_checkpoints/trained_with_5m/BIOSCAN-5M-BEST_k4_6_6_w1_m0_r0.pt
61
+ bioscan_bert_checkpoint_trained_with_bioscan_5_m: ${project_root_path}/ckpt/BarcodeBERT/new_checkpoints/trained_with_canada_1_5M/CANADA-1.5M-BEST_k4_4_4_w1_m0_r0_wd.pt
62
+ model_output_dir: ${project_root_path}/ckpt/bioscan_clip
63
+ inference_and_eval_setting:
64
+ plot_embeddings: false
65
+ retrieve_images: false
66
+ k_list:
67
+ - 1
68
+ - 3
69
+ - 5
70
+ levels:
71
+ - order
72
+ - family
73
+ - genus
74
+ - species
75
+ embeddings_filters:
76
+ order: Diptera
77
+ family: Sciaridae
78
+ genus: Corynoptera
79
+ retrieve_settings:
80
+ num_queries: 5
81
+ max_k: 3
82
+ seed: 413
83
+ independent: false
84
+ load_cached_results: false
85
+ eval_on: val
86
+ compute_genus_top1_excl_same_species: true
87
+ cone_check_split: train
88
+ cone_check_val_subsplit: seen
89
+ eval_batch_size_for_nn_retrieval: 512
90
+ encode_embeddings_to_parquet:
91
+ eval_image: true
92
+ eval_dna: true
93
+ diagnostics:
94
+ effective_rank:
95
+ enabled: true
96
+ device: auto
97
+ chunk_size: 32768
98
+ normalize: false
99
+ max_samples: null
100
+ seed: 42
101
+ include_sample_language: true
102
+ cone_check:
103
+ enabled: true
104
+ taxonomy_label: true
105
+ instance_taxonomy: true
106
+ modalities:
107
+ - image
108
+ - dna
109
+ target_levels:
110
+ - order
111
+ - family
112
+ - genus
113
+ - species
114
+ aperture_scale: 1.0
115
+ query_batch_size: null
116
+ candidate_batch_size: null
117
+ max_queries_per_split: null
118
+ max_candidates_per_level: null
119
+ allow_missing_modalities: true
120
+ show_progress: false
121
+ class_scatter_plot: true
122
+ class_scatter_x_axis: sample_count
123
+ class_scatter_min_samples: 1
124
+ visualization:
125
+ output_dir: ${project_root_path}/visualizations
126
+ key_feature_type: image
127
+ k: 10
128
+ general_fine_tune_setting:
129
+ save_ckpt: true
130
+ epoch: 15
131
+ batch_size: 200
132
+ hf_repo_id: bioscan-ml/clibd
133
+ default_seed: 42
134
+ barcodebert_setting:
135
+ old_model_setting:
136
+ k: 5
137
+ max_len: 660
138
+ version: ver_1_0
139
+ default_dna_output_pipeline: hidden_state_mean
140
+ epsilon: 1.0e-08
141
+ model_config:
142
+ resume_from_checkpoint: true
143
+ for_rcme: false
144
+ legacy_clibd_eval_behavior: false
145
+ l2_normalize_embeddings: true
146
+ rcme_contrastive_loss_weight: 0.1
147
+ rcme_eloss_weight: 1.0
148
+ rcme_mloss_weight: 1.0
149
+ rcme_using_vit_and_bert_small: false
150
+ rcme_using_open_clip_as_pretrain: false
151
+ hyperbolic_space:
152
+ train_hyperbolic: false
153
+ train_with_stacked_entailment_loss: true
154
+ entail_weight: 0.2
155
+ loss_type: A
156
+ adjust_alpha: false
157
+ margin: 0
158
+ relative_margin: 0
159
+ nearest_neighbor_metric_uni_modality: cosine_similarity_in_euclidean
160
+ nearest_neighbor_metric_cross_modality: angle
161
+ disable_entailment_loss: false
162
+ compute_contrastive_loss_between_image_and_dna: false
163
+ min_radius: 0.1
164
+ sel_load_concat_text: false
165
+ full_text_for_contrastive_loss: false
166
+ sel_intra_entailment_weight: 0.0
167
+ sel_inter_entailment_weight: 1.0
168
+ sel_contrastive_weight: 0.0
169
+ sel_contrastive_loss_mode: euclidean
170
+ sel_contrastive_pairing: instance
171
+ entailment_geometry: hyperbolic
172
+ sel_add_dna_bin: false
173
+ sel_use_emb_table_for_label_bin: true
174
+ sel_disable_image: true
175
+ use_dna_barcode_embed_for_dna_bin: false
176
+ dna_bin_memory_bank_momentum: 0.999
177
+ sel_use_dna_projection: true
178
+ sel_dna_projection_identity_init: false
179
+ sel_dna_projection_residual: false
180
+ sel_dna_projection_normalize: false
181
+ stacked_entailment:
182
+ embedding_dim: 768
183
+ dna_projection:
184
+ input_dim: 768
185
+ output_dim: 768
186
+ normalize: false
187
+ enabled: true
188
+ type: mlp
189
+ hidden_dim: 1536
190
+ activation: gelu
191
+ dropout: 0.0
192
+ identity_init: false
193
+ residual: false
194
+ text_projection:
195
+ input_dim: null
196
+ output_dim: null
197
+ enabled: false
198
+ rank_norm_ordering:
199
+ enabled: false
200
+ weight: 1.0
201
+ parent_mean_margin_ratio: 0.1
202
+ apply_in_stage2: false
203
+ structured_hierarchy:
204
+ enabled: true
205
+ child_only_containment: false
206
+ nesting_weight: 0.0
207
+ nesting_margin_deg: 0.25
208
+ sibling_gap_weight: 0.0
209
+ allocation_weight: 1.0
210
+ order_total_width_deg: 300.0
211
+ child_axis_span_ratio: 0.9
212
+ child_cone_fill_ratio: 0.82
213
+ allocation_loss_type: huber
214
+ allocation_huber_delta_deg: 1.0
215
+ allocation_relative_huber_delta: 0.25
216
+ allocation_relative_half_width_floor_deg: 0.01
217
+ allocation_detach_target: false
218
+ subtree_weight_mode: terminal_descendants
219
+ version: v2
220
+ allocation_targets_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/allocation_targets.json
221
+ relative_margin: 0.05
222
+ relative_gap: 0.05
223
+ ratio_huber_delta: 0.25
224
+ stage2:
225
+ full_graph_taxonomy_loss:
226
+ enabled: true
227
+ weight: 1.0
228
+ source_split: no_split_and_seen_train
229
+ point_entailment_enabled: true
230
+ max_steps: 0
231
+ checkpoint_every_epochs: 1
232
+ geometry_snapshot_every_steps: 0
233
+ geometry_snapshot_probe_size: 64
234
+ geometry_snapshot_probe_strategy: first_batch
235
+ frozen_dna_feature_cache:
236
+ enabled: false
237
+ path: null
238
+ build_batch_size: 512
239
+ num_workers: 4
240
+ inter_entailment_rank_curriculum:
241
+ enabled: false
242
+ levels_by_epoch: []
243
+ save_phase_checkpoints: false
244
+ train_only_dna_projection: false
245
+ train_dna_projection_and_taxonomy: true
246
+ train_dna_encoder: true
247
+ preserve_initialized_dna_encoder: true
248
+ weight_decay: 0.01
249
+ intra_entailment_weight: 0.0
250
+ inter_entailment_weight: 1.0
251
+ enable_negative_inter_entailment: true
252
+ contrastive_weight: 0.0
253
+ geometry: hyperbolic
254
+ loss_type: A
255
+ disable_image: true
256
+ clamp_feature_alpha_max: true
257
+ full_text_for_contrastive_loss: false
258
+ load_concat_text: false
259
+ min_radius: 0.1
260
+ margin:
261
+ absolute: 0
262
+ relative: 0
263
+ label_table:
264
+ enabled: true
265
+ add_dna_bin_level: false
266
+ candidate_source_split: no_split_and_seen_train
267
+ initialization_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/seen_taxonomy_placement.pt
268
+ reset_label_alpha: true
269
+ reset_curvature: true
270
+ zero_unplaced_rows: true
271
+ require_candidate_match: true
272
+ loss_weights:
273
+ intra_entailment: 0.0
274
+ inter_entailment: 1.0
275
+ contrastive: 0.0
276
+ contrastive:
277
+ mode: euclidean
278
+ compute_image_dna: false
279
+ inter_entailment:
280
+ stage2_mode: all_rank_dna_label
281
+ all_rank_levels:
282
+ - order
283
+ - family
284
+ - genus
285
+ - species
286
+ loss_mode: cone_hinge
287
+ ignore_non_candidate_positives: false
288
+ pos_neg_reduce:
289
+ mode: weighted_mean
290
+ positive_weight: 0.5
291
+ negative_weight: 0.5
292
+ radius_barrier:
293
+ weight: 1.0
294
+ safety_ratio: 0.1
295
+ active_in_stage1: true
296
+ reduction: sum_within_rank_mean_across_ranks
297
+ sel_clamp_feature_alpha_max: true
298
+ sel_use_text_projection: false
299
+ sel_text_projection_identity_init: true
300
+ sel_text_projection_residual: true
301
+ sel_text_projection_type: linear
302
+ sel_text_projection_hidden_dim: null
303
+ sel_text_projection_activation: gelu
304
+ sel_text_projection_dropout: 0.0
305
+ use_species_retrieval: true
306
+ use_full_text_for_retrieval: false
307
+ retrieve_each_level_separately: false
308
+ curv_init: 1.0
309
+ learn_curv: true
310
+ using_avg_norm_dict: false
311
+ inference_project_to_hyperbolic_space: true
312
+ sel_apply_margin_to_positive_and_negative_el: false
313
+ eval_instance_taxonomy_cone_check: true
314
+ log_in_cone_rate: true
315
+ log_wrong_cone_rate: true
316
+ sel_inter_entailment_pos_neg_pair_strategy: instance
317
+ sel_inter_entailment_loss_mode: cone_hinge
318
+ sel_inter_entailment_missing_level_negative_strategy: none
319
+ sel_stage2_inter_entailment_mode: all_rank_dna_label
320
+ sel_all_rank_dna_label_levels:
321
+ - order
322
+ - family
323
+ - genus
324
+ - species
325
+ sel_all_rank_ignore_non_candidate_positives: false
326
+ sel_inter_pairwise_chunk_rows: 0
327
+ sel_pos_pair_weight: 0.5
328
+ sel_neg_pair_weight: 0.5
329
+ sel_posneg_reduce_mode: weighted_mean
330
+ sel_posneg_max_mix_weight: 1.0
331
+ sel_radius_barrier_weight: 1.0
332
+ sel_radius_barrier_safety_ratio: 0.1
333
+ sel_radius_barrier_active_in_stage1: true
334
+ sel_radius_barrier_reduction: sum_within_rank_mean_across_ranks
335
+ eval_instance_taxonomy_during_training: false
336
+ eval_instance_taxonomy_modalities:
337
+ - dna
338
+ eval_instance_taxonomy_target_levels:
339
+ - order
340
+ - family
341
+ - genus
342
+ - species
343
+ eval_instance_taxonomy_query_splits:
344
+ - seen
345
+ eval_instance_taxonomy_candidate_source: training_seen
346
+ eval_instance_taxonomy_show_progress: true
347
+ sel_embedding_dim: 768
348
+ sel_dna_projection_input_dim: 768
349
+ sel_dna_projection_output_dim: 768
350
+ sel_dna_projection_type: mlp
351
+ sel_dna_projection_hidden_dim: 1536
352
+ sel_dna_projection_activation: gelu
353
+ sel_dna_projection_dropout: 0.0
354
+ sel_text_projection_input_dim: null
355
+ sel_text_projection_output_dim: null
356
+ sel_rank_norm_ordering_enabled: false
357
+ sel_rank_norm_ordering_weight: 1.0
358
+ sel_rank_norm_ordering_apply_in_stage2: false
359
+ sel_rank_norm_ordering_parent_mean_margin_ratio: 0.1
360
+ sel_structured_hierarchy_enabled: true
361
+ sel_structured_version: v2
362
+ sel_structured_allocation_targets_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/allocation_targets.json
363
+ sel_structured_relative_margin: 0.05
364
+ sel_structured_relative_gap: 0.05
365
+ sel_structured_ratio_huber_delta: 0.25
366
+ sel_structured_child_only_containment: false
367
+ sel_structured_nesting_weight: 0.0
368
+ sel_structured_nesting_margin_deg: 0.25
369
+ sel_structured_sibling_gap_weight: 0.0
370
+ sel_structured_allocation_weight: 1.0
371
+ sel_structured_order_total_width_deg: 300.0
372
+ sel_structured_child_axis_span_ratio: 0.9
373
+ sel_structured_child_cone_fill_ratio: 0.82
374
+ sel_structured_allocation_loss_type: huber
375
+ sel_structured_allocation_huber_delta_deg: 1.0
376
+ sel_structured_allocation_relative_huber_delta: 0.25
377
+ sel_structured_allocation_relative_half_width_floor_deg: 0.01
378
+ sel_structured_allocation_detach_target: false
379
+ sel_structured_subtree_weight_mode: terminal_descendants
380
+ sel_stage2_train_only_dna_projection: false
381
+ sel_stage2_train_dna_projection_and_taxonomy: true
382
+ sel_stage2_train_dna_encoder: true
383
+ sel_stage2_preserve_initialized_dna_encoder: true
384
+ sel_stage2_intra_entailment_weight: 0.0
385
+ sel_stage2_inter_entailment_weight: 1.0
386
+ sel_stage2_contrastive_weight: 0.0
387
+ sel_stage2_enable_negative_inter_entailment: true
388
+ sel_stage2_inter_negative_entailment_weight: 1.0
389
+ sel_two_stage_training:
390
+ use_two_stage_training: false
391
+ eval_stage_one_only: false
392
+ train_stage_one_only: false
393
+ freeze_text_encoder_for_first_few_epochs: 0
394
+ freeze_text_encoder_for_whole_stage_2: false
395
+ inter_entailment_weight_warmup_epochs: 0
396
+ first_stage_setting:
397
+ mode: node_minibatch
398
+ max_epoch: 5
399
+ max_steps: null
400
+ checkpoint_every_steps: 0
401
+ geometry_snapshot_every_steps: 0
402
+ batch_size: 80
403
+ lr: 0.001
404
+ weight_decay: 0.01
405
+ num_workers_per_gpu: 16
406
+ max_lr: 0.1
407
+ min_lr: 1.0e-08
408
+ final_div_factor: 10000.0
409
+ lr_scheduler: one_cycle
410
+ train_with_train_seen_only: true
411
+ dataset: bioscan_5m
412
+ for_open_clip: false
413
+ fix_temperature: false
414
+ amp: true
415
+ eval_skip_epoch: 0
416
+ fast_retrieval_subset: true
417
+ load_ckpt: true
418
+ pretrained_ckpt_path: null
419
+ no_pretrained_weights: false
420
+ ckpt_trained_with_insect_image_dna_text_path: null
421
+ train_with_small_subset: false
422
+ bin_for_positive_and_negative_pairs: false
423
+ transform_with_resize: false
424
+ pre_train_for_barcode_bert: null
425
+ for_bio_clip: false
426
+ base_batch_size: 500
427
+ output_dim: 768
428
+ dna_output_pipeline: transformed_hidden_state_mean
429
+ split_used_for_training: no_split_and_seen_train
430
+ taxonomy_subset:
431
+ enabled: false
432
+ level: order
433
+ include_labels: []
434
+ training_sample_filter:
435
+ enabled: false
436
+ required_taxonomy_levels: []
437
+ valid_indices_path: null
438
+ chunk_size: 250000
439
+ training_sample_repeat:
440
+ enabled: false
441
+ target_num_samples: null
442
+ image:
443
+ input_type: image
444
+ model: vit
445
+ freeze: true
446
+ dna:
447
+ input_type: sequence
448
+ model: barcode_bert
449
+ freeze: false
450
+ preserve_pretrained_mlm_decoder: true
451
+ language:
452
+ input_type: sequence
453
+ model: bert_small
454
+ freeze: true
455
+ lr_config:
456
+ lr: 1.0e-06
457
+ max_lr: 5.0e-05
458
+ min_lr: 1.0e-09
459
+ lr_scheduler: one_cycle
460
+ lr_warm_up_ratio: null
461
+ bind_to: null
462
+ no_image_text_loss: false
463
+ num_workers: 8
464
+ debug_max_steps_per_epoch: null
465
+ debug_autograd_anomaly: false
466
+ disable_lora: true
467
+ using_imagenet_mean_and_std: false
468
+ epochs: 15
469
+ wandb_project_name: SEL_v3_2_23_direct_placement_joint_full_train
470
+ model_output_dir: ${project_root_path}/ckpt/bioscan_hyperbolic
471
+ evaluation_period: 15
472
+ eval_every_epoch: false
473
+ all_gather: true
474
+ loss_setup:
475
+ gather_with_grad: true
476
+ use_horovod: false
477
+ local_loss: false
478
+ random_seed: false
479
+ default_seed: 42
480
+ batch_size: 200
481
+ model_output_name: UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42
482
+ port: 29963
483
+ local_loss_log_every: 100
484
+ retain_epoch_checkpoints:
485
+ - 1
486
+ - 5
487
+ - 10
488
+ - 15
489
+ resolved_seed: 42
Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/last.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:74064b88cb700e226975a78e9ae012bacbcf01763bbe69c22a5dac3a81f892d6
3
+ size 452784799
Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_nesting_768d_nonres_gap05_15epochs_seed42/config.yaml ADDED
@@ -0,0 +1,489 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ debug_flag: false
2
+ debug_dataloader: false
3
+ debug_skip_training: false
4
+ project_root_path: ${oc.env:SSEL_ARTIFACT_ROOT,.}
5
+ data_dir: ${project_root_path}/data
6
+ activate_wandb: false
7
+ save_inference: true
8
+ load_inference: false
9
+ enable_early_stopping: false
10
+ imagenet_mean:
11
+ - 0.485
12
+ - 0.456
13
+ - 0.406
14
+ imagenet_std:
15
+ - 0.229
16
+ - 0.224
17
+ - 0.225
18
+ bioscan_data:
19
+ dir: ${data_dir}/BIOSCAN_1M
20
+ path_to_hdf5_data: ${bioscan_data.dir}/split_data/BioScan_data_in_splits.hdf5
21
+ path_to_tsv_data: ${bioscan_data.dir}/BioScan_Insect_Dataset_metadata_2.tsv
22
+ path_to_small_species_list_json: ${bioscan_data.dir}/small_species_list.json
23
+ path_to_id_to_position_mapping: ${bioscan_data.dir}/id_to_position_mapping.json
24
+ label_to_id_mapping: ${bioscan_data.dir}/label_to_id_mapping_for_four_levels_1m.json
25
+ image_mean:
26
+ - 0.7251
27
+ - 0.7289
28
+ - 0.7296
29
+ image_std:
30
+ - 0.1265
31
+ - 0.143
32
+ - 0.161
33
+ bioscan_5m_data:
34
+ dir: ${data_dir}/BIOSCAN_5M
35
+ image_dir: ${bioscan_5m_data.dir}/images
36
+ path_to_hdf5_data: ${bioscan_5m_data.dir}/BIOSCAN_5M.hdf5
37
+ path_to_smaller_hdf5_data: ${bioscan_5m_data.dir}/BIOSCAN_5M_with_small_pre_train.hdf5
38
+ path_to_tsv_data: ${bioscan_5m_data.dir}/BIOSCAN-5M_Dataset_v3.4.csv
39
+ path_to_id_to_position_mapping: ${bioscan_5m_data.dir}/id_to_position_mapping.json
40
+ label_to_id_mapping: ${bioscan_5m_data.dir}/label_to_id_mapping_for_four_levels_5m.json
41
+ image_mean:
42
+ - 0.7628
43
+ - 0.765
44
+ - 0.7637
45
+ image_std:
46
+ - 0.1421
47
+ - 0.1564
48
+ - 0.1731
49
+ insect_data:
50
+ dir: ${data_dir}/INSECT
51
+ path_to_att_splits_mat: ${insect_data.dir}/att_splits.mat
52
+ path_to_res_101_mat: ${insect_data.dir}/res101.mat
53
+ path_to_feature_hdf5: ${insect_data.dir}/extracted_features/clip_barcodebert_extracted_features.hdf5
54
+ path_to_image_hdf5: ${insect_data.dir}/INSECT_images.hdf5
55
+ path_to_meta_csv: ${insect_data.dir}/INSECT_metadata.csv
56
+ image_dir: ${insect_data.dir}/images
57
+ species_to_other: ${insect_data.dir}/specie_to_other_labels.json
58
+ save_ckpt: true
59
+ bioscan_bert_checkpoint: ${project_root_path}/ckpt/BarcodeBERT/old_checkpoints/trained_with_canada_1_5M/model_41.pth
60
+ bioscan_bert_checkpoint_trained_with_canada_1_5_m: ${project_root_path}/ckpt/BarcodeBERT/new_checkpoints/trained_with_5m/BIOSCAN-5M-BEST_k4_6_6_w1_m0_r0.pt
61
+ bioscan_bert_checkpoint_trained_with_bioscan_5_m: ${project_root_path}/ckpt/BarcodeBERT/new_checkpoints/trained_with_canada_1_5M/CANADA-1.5M-BEST_k4_4_4_w1_m0_r0_wd.pt
62
+ model_output_dir: ${project_root_path}/ckpt/bioscan_clip
63
+ inference_and_eval_setting:
64
+ plot_embeddings: false
65
+ retrieve_images: false
66
+ k_list:
67
+ - 1
68
+ - 3
69
+ - 5
70
+ levels:
71
+ - order
72
+ - family
73
+ - genus
74
+ - species
75
+ embeddings_filters:
76
+ order: Diptera
77
+ family: Sciaridae
78
+ genus: Corynoptera
79
+ retrieve_settings:
80
+ num_queries: 5
81
+ max_k: 3
82
+ seed: 413
83
+ independent: false
84
+ load_cached_results: false
85
+ eval_on: val
86
+ compute_genus_top1_excl_same_species: true
87
+ cone_check_split: train
88
+ cone_check_val_subsplit: seen
89
+ eval_batch_size_for_nn_retrieval: 512
90
+ encode_embeddings_to_parquet:
91
+ eval_image: true
92
+ eval_dna: true
93
+ diagnostics:
94
+ effective_rank:
95
+ enabled: true
96
+ device: auto
97
+ chunk_size: 32768
98
+ normalize: false
99
+ max_samples: null
100
+ seed: 42
101
+ include_sample_language: true
102
+ cone_check:
103
+ enabled: true
104
+ taxonomy_label: true
105
+ instance_taxonomy: true
106
+ modalities:
107
+ - image
108
+ - dna
109
+ target_levels:
110
+ - order
111
+ - family
112
+ - genus
113
+ - species
114
+ aperture_scale: 1.0
115
+ query_batch_size: null
116
+ candidate_batch_size: null
117
+ max_queries_per_split: null
118
+ max_candidates_per_level: null
119
+ allow_missing_modalities: true
120
+ show_progress: false
121
+ class_scatter_plot: true
122
+ class_scatter_x_axis: sample_count
123
+ class_scatter_min_samples: 1
124
+ visualization:
125
+ output_dir: ${project_root_path}/visualizations
126
+ key_feature_type: image
127
+ k: 10
128
+ general_fine_tune_setting:
129
+ save_ckpt: true
130
+ epoch: 15
131
+ batch_size: 200
132
+ hf_repo_id: bioscan-ml/clibd
133
+ default_seed: 42
134
+ barcodebert_setting:
135
+ old_model_setting:
136
+ k: 5
137
+ max_len: 660
138
+ version: ver_1_0
139
+ default_dna_output_pipeline: hidden_state_mean
140
+ epsilon: 1.0e-08
141
+ model_config:
142
+ resume_from_checkpoint: true
143
+ for_rcme: false
144
+ legacy_clibd_eval_behavior: false
145
+ l2_normalize_embeddings: true
146
+ rcme_contrastive_loss_weight: 0.1
147
+ rcme_eloss_weight: 1.0
148
+ rcme_mloss_weight: 1.0
149
+ rcme_using_vit_and_bert_small: false
150
+ rcme_using_open_clip_as_pretrain: false
151
+ hyperbolic_space:
152
+ train_hyperbolic: false
153
+ train_with_stacked_entailment_loss: true
154
+ entail_weight: 0.2
155
+ loss_type: A
156
+ adjust_alpha: false
157
+ margin: 0
158
+ relative_margin: 0
159
+ nearest_neighbor_metric_uni_modality: cosine_similarity_in_euclidean
160
+ nearest_neighbor_metric_cross_modality: angle
161
+ disable_entailment_loss: false
162
+ compute_contrastive_loss_between_image_and_dna: false
163
+ min_radius: 0.1
164
+ sel_load_concat_text: false
165
+ full_text_for_contrastive_loss: false
166
+ sel_intra_entailment_weight: 0.0
167
+ sel_inter_entailment_weight: 1.0
168
+ sel_contrastive_weight: 0.0
169
+ sel_contrastive_loss_mode: euclidean
170
+ sel_contrastive_pairing: instance
171
+ entailment_geometry: hyperbolic
172
+ sel_add_dna_bin: false
173
+ sel_use_emb_table_for_label_bin: true
174
+ sel_disable_image: true
175
+ use_dna_barcode_embed_for_dna_bin: false
176
+ dna_bin_memory_bank_momentum: 0.999
177
+ sel_use_dna_projection: true
178
+ sel_dna_projection_identity_init: false
179
+ sel_dna_projection_residual: false
180
+ sel_dna_projection_normalize: false
181
+ stacked_entailment:
182
+ embedding_dim: 768
183
+ dna_projection:
184
+ input_dim: 768
185
+ output_dim: 768
186
+ normalize: false
187
+ enabled: true
188
+ type: mlp
189
+ hidden_dim: 1536
190
+ activation: gelu
191
+ dropout: 0.0
192
+ identity_init: false
193
+ residual: false
194
+ text_projection:
195
+ input_dim: null
196
+ output_dim: null
197
+ enabled: false
198
+ rank_norm_ordering:
199
+ enabled: false
200
+ weight: 1.0
201
+ parent_mean_margin_ratio: 0.1
202
+ apply_in_stage2: false
203
+ structured_hierarchy:
204
+ enabled: true
205
+ child_only_containment: false
206
+ nesting_weight: 1.0
207
+ nesting_margin_deg: 0.25
208
+ sibling_gap_weight: 0.0
209
+ allocation_weight: 0.0
210
+ order_total_width_deg: 300.0
211
+ child_axis_span_ratio: 0.9
212
+ child_cone_fill_ratio: 0.82
213
+ allocation_loss_type: huber
214
+ allocation_huber_delta_deg: 1.0
215
+ allocation_relative_huber_delta: 0.25
216
+ allocation_relative_half_width_floor_deg: 0.01
217
+ allocation_detach_target: false
218
+ subtree_weight_mode: terminal_descendants
219
+ version: v2
220
+ allocation_targets_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/allocation_targets.json
221
+ relative_margin: 0.05
222
+ relative_gap: 0.05
223
+ ratio_huber_delta: 0.25
224
+ stage2:
225
+ full_graph_taxonomy_loss:
226
+ enabled: true
227
+ weight: 1.0
228
+ source_split: no_split_and_seen_train
229
+ point_entailment_enabled: true
230
+ max_steps: 0
231
+ checkpoint_every_epochs: 1
232
+ geometry_snapshot_every_steps: 0
233
+ geometry_snapshot_probe_size: 64
234
+ geometry_snapshot_probe_strategy: first_batch
235
+ frozen_dna_feature_cache:
236
+ enabled: false
237
+ path: null
238
+ build_batch_size: 512
239
+ num_workers: 4
240
+ inter_entailment_rank_curriculum:
241
+ enabled: false
242
+ levels_by_epoch: []
243
+ save_phase_checkpoints: false
244
+ train_only_dna_projection: false
245
+ train_dna_projection_and_taxonomy: true
246
+ train_dna_encoder: true
247
+ preserve_initialized_dna_encoder: true
248
+ weight_decay: 0.01
249
+ intra_entailment_weight: 0.0
250
+ inter_entailment_weight: 1.0
251
+ enable_negative_inter_entailment: true
252
+ contrastive_weight: 0.0
253
+ geometry: hyperbolic
254
+ loss_type: A
255
+ disable_image: true
256
+ clamp_feature_alpha_max: true
257
+ full_text_for_contrastive_loss: false
258
+ load_concat_text: false
259
+ min_radius: 0.1
260
+ margin:
261
+ absolute: 0
262
+ relative: 0
263
+ label_table:
264
+ enabled: true
265
+ add_dna_bin_level: false
266
+ candidate_source_split: no_split_and_seen_train
267
+ initialization_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/seen_taxonomy_placement.pt
268
+ reset_label_alpha: true
269
+ reset_curvature: true
270
+ zero_unplaced_rows: true
271
+ require_candidate_match: true
272
+ loss_weights:
273
+ intra_entailment: 0.0
274
+ inter_entailment: 1.0
275
+ contrastive: 0.0
276
+ contrastive:
277
+ mode: euclidean
278
+ compute_image_dna: false
279
+ inter_entailment:
280
+ stage2_mode: all_rank_dna_label
281
+ all_rank_levels:
282
+ - order
283
+ - family
284
+ - genus
285
+ - species
286
+ loss_mode: cone_hinge
287
+ ignore_non_candidate_positives: false
288
+ pos_neg_reduce:
289
+ mode: weighted_mean
290
+ positive_weight: 0.5
291
+ negative_weight: 0.5
292
+ radius_barrier:
293
+ weight: 1.0
294
+ safety_ratio: 0.1
295
+ active_in_stage1: true
296
+ reduction: sum_within_rank_mean_across_ranks
297
+ sel_clamp_feature_alpha_max: true
298
+ sel_use_text_projection: false
299
+ sel_text_projection_identity_init: true
300
+ sel_text_projection_residual: true
301
+ sel_text_projection_type: linear
302
+ sel_text_projection_hidden_dim: null
303
+ sel_text_projection_activation: gelu
304
+ sel_text_projection_dropout: 0.0
305
+ use_species_retrieval: true
306
+ use_full_text_for_retrieval: false
307
+ retrieve_each_level_separately: false
308
+ curv_init: 1.0
309
+ learn_curv: true
310
+ using_avg_norm_dict: false
311
+ inference_project_to_hyperbolic_space: true
312
+ sel_apply_margin_to_positive_and_negative_el: false
313
+ eval_instance_taxonomy_cone_check: true
314
+ log_in_cone_rate: true
315
+ log_wrong_cone_rate: true
316
+ sel_inter_entailment_pos_neg_pair_strategy: instance
317
+ sel_inter_entailment_loss_mode: cone_hinge
318
+ sel_inter_entailment_missing_level_negative_strategy: none
319
+ sel_stage2_inter_entailment_mode: all_rank_dna_label
320
+ sel_all_rank_dna_label_levels:
321
+ - order
322
+ - family
323
+ - genus
324
+ - species
325
+ sel_all_rank_ignore_non_candidate_positives: false
326
+ sel_inter_pairwise_chunk_rows: 0
327
+ sel_pos_pair_weight: 0.5
328
+ sel_neg_pair_weight: 0.5
329
+ sel_posneg_reduce_mode: weighted_mean
330
+ sel_posneg_max_mix_weight: 1.0
331
+ sel_radius_barrier_weight: 1.0
332
+ sel_radius_barrier_safety_ratio: 0.1
333
+ sel_radius_barrier_active_in_stage1: true
334
+ sel_radius_barrier_reduction: sum_within_rank_mean_across_ranks
335
+ eval_instance_taxonomy_during_training: false
336
+ eval_instance_taxonomy_modalities:
337
+ - dna
338
+ eval_instance_taxonomy_target_levels:
339
+ - order
340
+ - family
341
+ - genus
342
+ - species
343
+ eval_instance_taxonomy_query_splits:
344
+ - seen
345
+ eval_instance_taxonomy_candidate_source: training_seen
346
+ eval_instance_taxonomy_show_progress: true
347
+ sel_embedding_dim: 768
348
+ sel_dna_projection_input_dim: 768
349
+ sel_dna_projection_output_dim: 768
350
+ sel_dna_projection_type: mlp
351
+ sel_dna_projection_hidden_dim: 1536
352
+ sel_dna_projection_activation: gelu
353
+ sel_dna_projection_dropout: 0.0
354
+ sel_text_projection_input_dim: null
355
+ sel_text_projection_output_dim: null
356
+ sel_rank_norm_ordering_enabled: false
357
+ sel_rank_norm_ordering_weight: 1.0
358
+ sel_rank_norm_ordering_apply_in_stage2: false
359
+ sel_rank_norm_ordering_parent_mean_margin_ratio: 0.1
360
+ sel_structured_hierarchy_enabled: true
361
+ sel_structured_version: v2
362
+ sel_structured_allocation_targets_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/allocation_targets.json
363
+ sel_structured_relative_margin: 0.05
364
+ sel_structured_relative_gap: 0.05
365
+ sel_structured_ratio_huber_delta: 0.25
366
+ sel_structured_child_only_containment: false
367
+ sel_structured_nesting_weight: 1.0
368
+ sel_structured_nesting_margin_deg: 0.25
369
+ sel_structured_sibling_gap_weight: 0.0
370
+ sel_structured_allocation_weight: 0.0
371
+ sel_structured_order_total_width_deg: 300.0
372
+ sel_structured_child_axis_span_ratio: 0.9
373
+ sel_structured_child_cone_fill_ratio: 0.82
374
+ sel_structured_allocation_loss_type: huber
375
+ sel_structured_allocation_huber_delta_deg: 1.0
376
+ sel_structured_allocation_relative_huber_delta: 0.25
377
+ sel_structured_allocation_relative_half_width_floor_deg: 0.01
378
+ sel_structured_allocation_detach_target: false
379
+ sel_structured_subtree_weight_mode: terminal_descendants
380
+ sel_stage2_train_only_dna_projection: false
381
+ sel_stage2_train_dna_projection_and_taxonomy: true
382
+ sel_stage2_train_dna_encoder: true
383
+ sel_stage2_preserve_initialized_dna_encoder: true
384
+ sel_stage2_intra_entailment_weight: 0.0
385
+ sel_stage2_inter_entailment_weight: 1.0
386
+ sel_stage2_contrastive_weight: 0.0
387
+ sel_stage2_enable_negative_inter_entailment: true
388
+ sel_stage2_inter_negative_entailment_weight: 1.0
389
+ sel_two_stage_training:
390
+ use_two_stage_training: false
391
+ eval_stage_one_only: false
392
+ train_stage_one_only: false
393
+ freeze_text_encoder_for_first_few_epochs: 0
394
+ freeze_text_encoder_for_whole_stage_2: false
395
+ inter_entailment_weight_warmup_epochs: 0
396
+ first_stage_setting:
397
+ mode: node_minibatch
398
+ max_epoch: 5
399
+ max_steps: null
400
+ checkpoint_every_steps: 0
401
+ geometry_snapshot_every_steps: 0
402
+ batch_size: 80
403
+ lr: 0.001
404
+ weight_decay: 0.01
405
+ num_workers_per_gpu: 16
406
+ max_lr: 0.1
407
+ min_lr: 1.0e-08
408
+ final_div_factor: 10000.0
409
+ lr_scheduler: one_cycle
410
+ train_with_train_seen_only: true
411
+ dataset: bioscan_5m
412
+ for_open_clip: false
413
+ fix_temperature: false
414
+ amp: true
415
+ eval_skip_epoch: 0
416
+ fast_retrieval_subset: true
417
+ load_ckpt: true
418
+ pretrained_ckpt_path: null
419
+ no_pretrained_weights: false
420
+ ckpt_trained_with_insect_image_dna_text_path: null
421
+ train_with_small_subset: false
422
+ bin_for_positive_and_negative_pairs: false
423
+ transform_with_resize: false
424
+ pre_train_for_barcode_bert: null
425
+ for_bio_clip: false
426
+ base_batch_size: 500
427
+ output_dim: 768
428
+ dna_output_pipeline: transformed_hidden_state_mean
429
+ split_used_for_training: no_split_and_seen_train
430
+ taxonomy_subset:
431
+ enabled: false
432
+ level: order
433
+ include_labels: []
434
+ training_sample_filter:
435
+ enabled: false
436
+ required_taxonomy_levels: []
437
+ valid_indices_path: null
438
+ chunk_size: 250000
439
+ training_sample_repeat:
440
+ enabled: false
441
+ target_num_samples: null
442
+ image:
443
+ input_type: image
444
+ model: vit
445
+ freeze: true
446
+ dna:
447
+ input_type: sequence
448
+ model: barcode_bert
449
+ freeze: false
450
+ preserve_pretrained_mlm_decoder: true
451
+ language:
452
+ input_type: sequence
453
+ model: bert_small
454
+ freeze: true
455
+ lr_config:
456
+ lr: 1.0e-06
457
+ max_lr: 5.0e-05
458
+ min_lr: 1.0e-09
459
+ lr_scheduler: one_cycle
460
+ lr_warm_up_ratio: null
461
+ bind_to: null
462
+ no_image_text_loss: false
463
+ num_workers: 8
464
+ debug_max_steps_per_epoch: null
465
+ debug_autograd_anomaly: false
466
+ disable_lora: true
467
+ using_imagenet_mean_and_std: false
468
+ epochs: 15
469
+ wandb_project_name: SEL_v3_2_23_direct_placement_joint_full_train
470
+ model_output_dir: ${project_root_path}/ckpt/bioscan_hyperbolic
471
+ evaluation_period: 15
472
+ eval_every_epoch: false
473
+ all_gather: true
474
+ loss_setup:
475
+ gather_with_grad: true
476
+ use_horovod: false
477
+ local_loss: false
478
+ random_seed: false
479
+ default_seed: 42
480
+ batch_size: 200
481
+ model_output_name: UniReps_SEL_basic_plus_nesting_768d_nonres_gap05_15epochs_seed42
482
+ port: 29961
483
+ local_loss_log_every: 100
484
+ retain_epoch_checkpoints:
485
+ - 1
486
+ - 5
487
+ - 10
488
+ - 15
489
+ resolved_seed: 42
Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_nesting_768d_nonres_gap05_15epochs_seed42/last.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:453a80378a8062c102040922aa3d1302d0a891f0e20b286b47a3f214b6a5fb44
3
+ size 452784799
Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_sibling_separation_768d_nonres_gap05_15epochs_seed42/config.yaml ADDED
@@ -0,0 +1,489 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ debug_flag: false
2
+ debug_dataloader: false
3
+ debug_skip_training: false
4
+ project_root_path: ${oc.env:SSEL_ARTIFACT_ROOT,.}
5
+ data_dir: ${project_root_path}/data
6
+ activate_wandb: false
7
+ save_inference: false
8
+ load_inference: false
9
+ enable_early_stopping: false
10
+ imagenet_mean:
11
+ - 0.485
12
+ - 0.456
13
+ - 0.406
14
+ imagenet_std:
15
+ - 0.229
16
+ - 0.224
17
+ - 0.225
18
+ bioscan_data:
19
+ dir: ${data_dir}/BIOSCAN_1M
20
+ path_to_hdf5_data: ${bioscan_data.dir}/split_data/BioScan_data_in_splits.hdf5
21
+ path_to_tsv_data: ${bioscan_data.dir}/BioScan_Insect_Dataset_metadata_2.tsv
22
+ path_to_small_species_list_json: ${bioscan_data.dir}/small_species_list.json
23
+ path_to_id_to_position_mapping: ${bioscan_data.dir}/id_to_position_mapping.json
24
+ label_to_id_mapping: ${bioscan_data.dir}/label_to_id_mapping_for_four_levels_1m.json
25
+ image_mean:
26
+ - 0.7251
27
+ - 0.7289
28
+ - 0.7296
29
+ image_std:
30
+ - 0.1265
31
+ - 0.143
32
+ - 0.161
33
+ bioscan_5m_data:
34
+ dir: ${data_dir}/BIOSCAN_5M
35
+ image_dir: ${bioscan_5m_data.dir}/images
36
+ path_to_hdf5_data: ${bioscan_5m_data.dir}/BIOSCAN_5M.hdf5
37
+ path_to_smaller_hdf5_data: ${bioscan_5m_data.dir}/BIOSCAN_5M_with_small_pre_train.hdf5
38
+ path_to_tsv_data: ${bioscan_5m_data.dir}/BIOSCAN-5M_Dataset_v3.4.csv
39
+ path_to_id_to_position_mapping: ${bioscan_5m_data.dir}/id_to_position_mapping.json
40
+ label_to_id_mapping: ${bioscan_5m_data.dir}/label_to_id_mapping_for_four_levels_5m.json
41
+ image_mean:
42
+ - 0.7628
43
+ - 0.765
44
+ - 0.7637
45
+ image_std:
46
+ - 0.1421
47
+ - 0.1564
48
+ - 0.1731
49
+ insect_data:
50
+ dir: ${data_dir}/INSECT
51
+ path_to_att_splits_mat: ${insect_data.dir}/att_splits.mat
52
+ path_to_res_101_mat: ${insect_data.dir}/res101.mat
53
+ path_to_feature_hdf5: ${insect_data.dir}/extracted_features/clip_barcodebert_extracted_features.hdf5
54
+ path_to_image_hdf5: ${insect_data.dir}/INSECT_images.hdf5
55
+ path_to_meta_csv: ${insect_data.dir}/INSECT_metadata.csv
56
+ image_dir: ${insect_data.dir}/images
57
+ species_to_other: ${insect_data.dir}/specie_to_other_labels.json
58
+ save_ckpt: true
59
+ bioscan_bert_checkpoint: ${project_root_path}/ckpt/BarcodeBERT/old_checkpoints/trained_with_canada_1_5M/model_41.pth
60
+ bioscan_bert_checkpoint_trained_with_canada_1_5_m: ${project_root_path}/ckpt/BarcodeBERT/new_checkpoints/trained_with_5m/BIOSCAN-5M-BEST_k4_6_6_w1_m0_r0.pt
61
+ bioscan_bert_checkpoint_trained_with_bioscan_5_m: ${project_root_path}/ckpt/BarcodeBERT/new_checkpoints/trained_with_canada_1_5M/CANADA-1.5M-BEST_k4_4_4_w1_m0_r0_wd.pt
62
+ model_output_dir: ${project_root_path}/ckpt/bioscan_clip
63
+ inference_and_eval_setting:
64
+ plot_embeddings: false
65
+ retrieve_images: false
66
+ k_list:
67
+ - 1
68
+ - 3
69
+ - 5
70
+ levels:
71
+ - order
72
+ - family
73
+ - genus
74
+ - species
75
+ embeddings_filters:
76
+ order: Diptera
77
+ family: Sciaridae
78
+ genus: Corynoptera
79
+ retrieve_settings:
80
+ num_queries: 5
81
+ max_k: 3
82
+ seed: 413
83
+ independent: false
84
+ load_cached_results: false
85
+ eval_on: val
86
+ compute_genus_top1_excl_same_species: true
87
+ cone_check_split: train
88
+ cone_check_val_subsplit: seen
89
+ eval_batch_size_for_nn_retrieval: 512
90
+ encode_embeddings_to_parquet:
91
+ eval_image: true
92
+ eval_dna: true
93
+ diagnostics:
94
+ effective_rank:
95
+ enabled: true
96
+ device: auto
97
+ chunk_size: 32768
98
+ normalize: false
99
+ max_samples: null
100
+ seed: 42
101
+ include_sample_language: true
102
+ cone_check:
103
+ enabled: true
104
+ taxonomy_label: true
105
+ instance_taxonomy: true
106
+ modalities:
107
+ - image
108
+ - dna
109
+ target_levels:
110
+ - order
111
+ - family
112
+ - genus
113
+ - species
114
+ aperture_scale: 1.0
115
+ query_batch_size: null
116
+ candidate_batch_size: null
117
+ max_queries_per_split: null
118
+ max_candidates_per_level: null
119
+ allow_missing_modalities: true
120
+ show_progress: false
121
+ class_scatter_plot: true
122
+ class_scatter_x_axis: sample_count
123
+ class_scatter_min_samples: 1
124
+ visualization:
125
+ output_dir: ${project_root_path}/visualizations
126
+ key_feature_type: image
127
+ k: 10
128
+ general_fine_tune_setting:
129
+ save_ckpt: true
130
+ epoch: 15
131
+ batch_size: 200
132
+ hf_repo_id: bioscan-ml/clibd
133
+ default_seed: 42
134
+ barcodebert_setting:
135
+ old_model_setting:
136
+ k: 5
137
+ max_len: 660
138
+ version: ver_1_0
139
+ default_dna_output_pipeline: hidden_state_mean
140
+ epsilon: 1.0e-08
141
+ model_config:
142
+ resume_from_checkpoint: true
143
+ for_rcme: false
144
+ legacy_clibd_eval_behavior: false
145
+ l2_normalize_embeddings: true
146
+ rcme_contrastive_loss_weight: 0.1
147
+ rcme_eloss_weight: 1.0
148
+ rcme_mloss_weight: 1.0
149
+ rcme_using_vit_and_bert_small: false
150
+ rcme_using_open_clip_as_pretrain: false
151
+ hyperbolic_space:
152
+ train_hyperbolic: false
153
+ train_with_stacked_entailment_loss: true
154
+ entail_weight: 0.2
155
+ loss_type: A
156
+ adjust_alpha: false
157
+ margin: 0
158
+ relative_margin: 0
159
+ nearest_neighbor_metric_uni_modality: cosine_similarity_in_euclidean
160
+ nearest_neighbor_metric_cross_modality: angle
161
+ disable_entailment_loss: false
162
+ compute_contrastive_loss_between_image_and_dna: false
163
+ min_radius: 0.1
164
+ sel_load_concat_text: false
165
+ full_text_for_contrastive_loss: false
166
+ sel_intra_entailment_weight: 0.0
167
+ sel_inter_entailment_weight: 1.0
168
+ sel_contrastive_weight: 0.0
169
+ sel_contrastive_loss_mode: euclidean
170
+ sel_contrastive_pairing: instance
171
+ entailment_geometry: hyperbolic
172
+ sel_add_dna_bin: false
173
+ sel_use_emb_table_for_label_bin: true
174
+ sel_disable_image: true
175
+ use_dna_barcode_embed_for_dna_bin: false
176
+ dna_bin_memory_bank_momentum: 0.999
177
+ sel_use_dna_projection: true
178
+ sel_dna_projection_identity_init: false
179
+ sel_dna_projection_residual: false
180
+ sel_dna_projection_normalize: false
181
+ stacked_entailment:
182
+ embedding_dim: 768
183
+ dna_projection:
184
+ input_dim: 768
185
+ output_dim: 768
186
+ normalize: false
187
+ enabled: true
188
+ type: mlp
189
+ hidden_dim: 1536
190
+ activation: gelu
191
+ dropout: 0.0
192
+ identity_init: false
193
+ residual: false
194
+ text_projection:
195
+ input_dim: null
196
+ output_dim: null
197
+ enabled: false
198
+ rank_norm_ordering:
199
+ enabled: false
200
+ weight: 1.0
201
+ parent_mean_margin_ratio: 0.1
202
+ apply_in_stage2: false
203
+ structured_hierarchy:
204
+ enabled: true
205
+ child_only_containment: false
206
+ nesting_weight: 0.0
207
+ nesting_margin_deg: 0.25
208
+ sibling_gap_weight: 10.0
209
+ allocation_weight: 0.0
210
+ order_total_width_deg: 300.0
211
+ child_axis_span_ratio: 0.9
212
+ child_cone_fill_ratio: 0.82
213
+ allocation_loss_type: huber
214
+ allocation_huber_delta_deg: 1.0
215
+ allocation_relative_huber_delta: 0.25
216
+ allocation_relative_half_width_floor_deg: 0.01
217
+ allocation_detach_target: false
218
+ subtree_weight_mode: terminal_descendants
219
+ version: v2
220
+ allocation_targets_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/allocation_targets.json
221
+ relative_margin: 0.05
222
+ relative_gap: 0.05
223
+ ratio_huber_delta: 0.25
224
+ stage2:
225
+ full_graph_taxonomy_loss:
226
+ enabled: true
227
+ weight: 1.0
228
+ source_split: no_split_and_seen_train
229
+ point_entailment_enabled: true
230
+ max_steps: 0
231
+ checkpoint_every_epochs: 1
232
+ geometry_snapshot_every_steps: 0
233
+ geometry_snapshot_probe_size: 64
234
+ geometry_snapshot_probe_strategy: first_batch
235
+ frozen_dna_feature_cache:
236
+ enabled: false
237
+ path: null
238
+ build_batch_size: 512
239
+ num_workers: 4
240
+ inter_entailment_rank_curriculum:
241
+ enabled: false
242
+ levels_by_epoch: []
243
+ save_phase_checkpoints: false
244
+ train_only_dna_projection: false
245
+ train_dna_projection_and_taxonomy: true
246
+ train_dna_encoder: true
247
+ preserve_initialized_dna_encoder: true
248
+ weight_decay: 0.01
249
+ intra_entailment_weight: 0.0
250
+ inter_entailment_weight: 1.0
251
+ enable_negative_inter_entailment: true
252
+ contrastive_weight: 0.0
253
+ geometry: hyperbolic
254
+ loss_type: A
255
+ disable_image: true
256
+ clamp_feature_alpha_max: true
257
+ full_text_for_contrastive_loss: false
258
+ load_concat_text: false
259
+ min_radius: 0.1
260
+ margin:
261
+ absolute: 0
262
+ relative: 0
263
+ label_table:
264
+ enabled: true
265
+ add_dna_bin_level: false
266
+ candidate_source_split: no_split_and_seen_train
267
+ initialization_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/seen_taxonomy_placement.pt
268
+ reset_label_alpha: true
269
+ reset_curvature: true
270
+ zero_unplaced_rows: true
271
+ require_candidate_match: true
272
+ loss_weights:
273
+ intra_entailment: 0.0
274
+ inter_entailment: 1.0
275
+ contrastive: 0.0
276
+ contrastive:
277
+ mode: euclidean
278
+ compute_image_dna: false
279
+ inter_entailment:
280
+ stage2_mode: all_rank_dna_label
281
+ all_rank_levels:
282
+ - order
283
+ - family
284
+ - genus
285
+ - species
286
+ loss_mode: cone_hinge
287
+ ignore_non_candidate_positives: false
288
+ pos_neg_reduce:
289
+ mode: weighted_mean
290
+ positive_weight: 0.5
291
+ negative_weight: 0.5
292
+ radius_barrier:
293
+ weight: 1.0
294
+ safety_ratio: 0.1
295
+ active_in_stage1: true
296
+ reduction: sum_within_rank_mean_across_ranks
297
+ sel_clamp_feature_alpha_max: true
298
+ sel_use_text_projection: false
299
+ sel_text_projection_identity_init: true
300
+ sel_text_projection_residual: true
301
+ sel_text_projection_type: linear
302
+ sel_text_projection_hidden_dim: null
303
+ sel_text_projection_activation: gelu
304
+ sel_text_projection_dropout: 0.0
305
+ use_species_retrieval: true
306
+ use_full_text_for_retrieval: false
307
+ retrieve_each_level_separately: false
308
+ curv_init: 1.0
309
+ learn_curv: true
310
+ using_avg_norm_dict: false
311
+ inference_project_to_hyperbolic_space: true
312
+ sel_apply_margin_to_positive_and_negative_el: false
313
+ eval_instance_taxonomy_cone_check: true
314
+ log_in_cone_rate: true
315
+ log_wrong_cone_rate: true
316
+ sel_inter_entailment_pos_neg_pair_strategy: instance
317
+ sel_inter_entailment_loss_mode: cone_hinge
318
+ sel_inter_entailment_missing_level_negative_strategy: none
319
+ sel_stage2_inter_entailment_mode: all_rank_dna_label
320
+ sel_all_rank_dna_label_levels:
321
+ - order
322
+ - family
323
+ - genus
324
+ - species
325
+ sel_all_rank_ignore_non_candidate_positives: false
326
+ sel_inter_pairwise_chunk_rows: 0
327
+ sel_pos_pair_weight: 0.5
328
+ sel_neg_pair_weight: 0.5
329
+ sel_posneg_reduce_mode: weighted_mean
330
+ sel_posneg_max_mix_weight: 1.0
331
+ sel_radius_barrier_weight: 1.0
332
+ sel_radius_barrier_safety_ratio: 0.1
333
+ sel_radius_barrier_active_in_stage1: true
334
+ sel_radius_barrier_reduction: sum_within_rank_mean_across_ranks
335
+ eval_instance_taxonomy_during_training: false
336
+ eval_instance_taxonomy_modalities:
337
+ - dna
338
+ eval_instance_taxonomy_target_levels:
339
+ - order
340
+ - family
341
+ - genus
342
+ - species
343
+ eval_instance_taxonomy_query_splits:
344
+ - seen
345
+ eval_instance_taxonomy_candidate_source: training_seen
346
+ eval_instance_taxonomy_show_progress: true
347
+ sel_embedding_dim: 768
348
+ sel_dna_projection_input_dim: 768
349
+ sel_dna_projection_output_dim: 768
350
+ sel_dna_projection_type: mlp
351
+ sel_dna_projection_hidden_dim: 1536
352
+ sel_dna_projection_activation: gelu
353
+ sel_dna_projection_dropout: 0.0
354
+ sel_text_projection_input_dim: null
355
+ sel_text_projection_output_dim: null
356
+ sel_rank_norm_ordering_enabled: false
357
+ sel_rank_norm_ordering_weight: 1.0
358
+ sel_rank_norm_ordering_apply_in_stage2: false
359
+ sel_rank_norm_ordering_parent_mean_margin_ratio: 0.1
360
+ sel_structured_hierarchy_enabled: true
361
+ sel_structured_version: v2
362
+ sel_structured_allocation_targets_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/allocation_targets.json
363
+ sel_structured_relative_margin: 0.05
364
+ sel_structured_relative_gap: 0.05
365
+ sel_structured_ratio_huber_delta: 0.25
366
+ sel_structured_child_only_containment: false
367
+ sel_structured_nesting_weight: 0.0
368
+ sel_structured_nesting_margin_deg: 0.25
369
+ sel_structured_sibling_gap_weight: 10.0
370
+ sel_structured_allocation_weight: 0.0
371
+ sel_structured_order_total_width_deg: 300.0
372
+ sel_structured_child_axis_span_ratio: 0.9
373
+ sel_structured_child_cone_fill_ratio: 0.82
374
+ sel_structured_allocation_loss_type: huber
375
+ sel_structured_allocation_huber_delta_deg: 1.0
376
+ sel_structured_allocation_relative_huber_delta: 0.25
377
+ sel_structured_allocation_relative_half_width_floor_deg: 0.01
378
+ sel_structured_allocation_detach_target: false
379
+ sel_structured_subtree_weight_mode: terminal_descendants
380
+ sel_stage2_train_only_dna_projection: false
381
+ sel_stage2_train_dna_projection_and_taxonomy: true
382
+ sel_stage2_train_dna_encoder: true
383
+ sel_stage2_preserve_initialized_dna_encoder: true
384
+ sel_stage2_intra_entailment_weight: 0.0
385
+ sel_stage2_inter_entailment_weight: 1.0
386
+ sel_stage2_contrastive_weight: 0.0
387
+ sel_stage2_enable_negative_inter_entailment: true
388
+ sel_stage2_inter_negative_entailment_weight: 1.0
389
+ sel_two_stage_training:
390
+ use_two_stage_training: false
391
+ eval_stage_one_only: false
392
+ train_stage_one_only: false
393
+ freeze_text_encoder_for_first_few_epochs: 0
394
+ freeze_text_encoder_for_whole_stage_2: false
395
+ inter_entailment_weight_warmup_epochs: 0
396
+ first_stage_setting:
397
+ mode: node_minibatch
398
+ max_epoch: 5
399
+ max_steps: null
400
+ checkpoint_every_steps: 0
401
+ geometry_snapshot_every_steps: 0
402
+ batch_size: 80
403
+ lr: 0.001
404
+ weight_decay: 0.01
405
+ num_workers_per_gpu: 16
406
+ max_lr: 0.1
407
+ min_lr: 1.0e-08
408
+ final_div_factor: 10000.0
409
+ lr_scheduler: one_cycle
410
+ train_with_train_seen_only: true
411
+ dataset: bioscan_5m
412
+ for_open_clip: false
413
+ fix_temperature: false
414
+ amp: true
415
+ eval_skip_epoch: 0
416
+ fast_retrieval_subset: true
417
+ load_ckpt: true
418
+ pretrained_ckpt_path: null
419
+ no_pretrained_weights: false
420
+ ckpt_trained_with_insect_image_dna_text_path: null
421
+ train_with_small_subset: false
422
+ bin_for_positive_and_negative_pairs: false
423
+ transform_with_resize: false
424
+ pre_train_for_barcode_bert: null
425
+ for_bio_clip: false
426
+ base_batch_size: 500
427
+ output_dim: 768
428
+ dna_output_pipeline: transformed_hidden_state_mean
429
+ split_used_for_training: no_split_and_seen_train
430
+ taxonomy_subset:
431
+ enabled: false
432
+ level: order
433
+ include_labels: []
434
+ training_sample_filter:
435
+ enabled: false
436
+ required_taxonomy_levels: []
437
+ valid_indices_path: null
438
+ chunk_size: 250000
439
+ training_sample_repeat:
440
+ enabled: false
441
+ target_num_samples: null
442
+ image:
443
+ input_type: image
444
+ model: vit
445
+ freeze: true
446
+ dna:
447
+ input_type: sequence
448
+ model: barcode_bert
449
+ freeze: false
450
+ preserve_pretrained_mlm_decoder: true
451
+ language:
452
+ input_type: sequence
453
+ model: bert_small
454
+ freeze: true
455
+ lr_config:
456
+ lr: 1.0e-06
457
+ max_lr: 5.0e-05
458
+ min_lr: 1.0e-09
459
+ lr_scheduler: one_cycle
460
+ lr_warm_up_ratio: null
461
+ bind_to: null
462
+ no_image_text_loss: false
463
+ num_workers: 8
464
+ debug_max_steps_per_epoch: null
465
+ debug_autograd_anomaly: false
466
+ disable_lora: true
467
+ using_imagenet_mean_and_std: false
468
+ epochs: 15
469
+ wandb_project_name: SEL_v3_2_23_direct_placement_joint_full_train
470
+ model_output_dir: ${project_root_path}/ckpt/bioscan_hyperbolic
471
+ evaluation_period: 15
472
+ eval_every_epoch: false
473
+ all_gather: true
474
+ loss_setup:
475
+ gather_with_grad: true
476
+ use_horovod: false
477
+ local_loss: false
478
+ random_seed: false
479
+ default_seed: 42
480
+ batch_size: 200
481
+ model_output_name: UniReps_SEL_basic_plus_sibling_separation_768d_nonres_gap05_15epochs_seed42
482
+ port: 29962
483
+ local_loss_log_every: 100
484
+ retain_epoch_checkpoints:
485
+ - 1
486
+ - 5
487
+ - 10
488
+ - 15
489
+ resolved_seed: 42
Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_sibling_separation_768d_nonres_gap05_15epochs_seed42/last.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2e4b3d82f94f5e8359f483875f58aac647c4b6c79c47890e864f648b999fda08
3
+ size 452784799
Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_full_frozen_labels_768d_nonres_gap05_15epochs_seed42/config.yaml ADDED
@@ -0,0 +1,492 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ debug_flag: false
2
+ debug_dataloader: false
3
+ debug_skip_training: false
4
+ project_root_path: ${oc.env:SSEL_ARTIFACT_ROOT,.}
5
+ data_dir: ${project_root_path}/data
6
+ activate_wandb: false
7
+ save_inference: false
8
+ load_inference: false
9
+ enable_early_stopping: false
10
+ imagenet_mean:
11
+ - 0.485
12
+ - 0.456
13
+ - 0.406
14
+ imagenet_std:
15
+ - 0.229
16
+ - 0.224
17
+ - 0.225
18
+ bioscan_data:
19
+ dir: ${data_dir}/BIOSCAN_1M
20
+ path_to_hdf5_data: ${bioscan_data.dir}/split_data/BioScan_data_in_splits.hdf5
21
+ path_to_tsv_data: ${bioscan_data.dir}/BioScan_Insect_Dataset_metadata_2.tsv
22
+ path_to_small_species_list_json: ${bioscan_data.dir}/small_species_list.json
23
+ path_to_id_to_position_mapping: ${bioscan_data.dir}/id_to_position_mapping.json
24
+ label_to_id_mapping: ${bioscan_data.dir}/label_to_id_mapping_for_four_levels_1m.json
25
+ image_mean:
26
+ - 0.7251
27
+ - 0.7289
28
+ - 0.7296
29
+ image_std:
30
+ - 0.1265
31
+ - 0.143
32
+ - 0.161
33
+ bioscan_5m_data:
34
+ dir: ${data_dir}/BIOSCAN_5M
35
+ image_dir: ${bioscan_5m_data.dir}/images
36
+ path_to_hdf5_data: ${bioscan_5m_data.dir}/BIOSCAN_5M.hdf5
37
+ path_to_smaller_hdf5_data: ${bioscan_5m_data.dir}/BIOSCAN_5M_with_small_pre_train.hdf5
38
+ path_to_tsv_data: ${bioscan_5m_data.dir}/BIOSCAN-5M_Dataset_v3.4.csv
39
+ path_to_id_to_position_mapping: ${bioscan_5m_data.dir}/id_to_position_mapping.json
40
+ label_to_id_mapping: ${bioscan_5m_data.dir}/label_to_id_mapping_for_four_levels_5m.json
41
+ image_mean:
42
+ - 0.7628
43
+ - 0.765
44
+ - 0.7637
45
+ image_std:
46
+ - 0.1421
47
+ - 0.1564
48
+ - 0.1731
49
+ insect_data:
50
+ dir: ${data_dir}/INSECT
51
+ path_to_att_splits_mat: ${insect_data.dir}/att_splits.mat
52
+ path_to_res_101_mat: ${insect_data.dir}/res101.mat
53
+ path_to_feature_hdf5: ${insect_data.dir}/extracted_features/clip_barcodebert_extracted_features.hdf5
54
+ path_to_image_hdf5: ${insect_data.dir}/INSECT_images.hdf5
55
+ path_to_meta_csv: ${insect_data.dir}/INSECT_metadata.csv
56
+ image_dir: ${insect_data.dir}/images
57
+ species_to_other: ${insect_data.dir}/specie_to_other_labels.json
58
+ save_ckpt: true
59
+ bioscan_bert_checkpoint: ${project_root_path}/ckpt/BarcodeBERT/old_checkpoints/trained_with_canada_1_5M/model_41.pth
60
+ bioscan_bert_checkpoint_trained_with_canada_1_5_m: ${project_root_path}/ckpt/BarcodeBERT/new_checkpoints/trained_with_5m/BIOSCAN-5M-BEST_k4_6_6_w1_m0_r0.pt
61
+ bioscan_bert_checkpoint_trained_with_bioscan_5_m: ${project_root_path}/ckpt/BarcodeBERT/new_checkpoints/trained_with_canada_1_5M/CANADA-1.5M-BEST_k4_4_4_w1_m0_r0_wd.pt
62
+ model_output_dir: ${project_root_path}/ckpt/bioscan_clip
63
+ inference_and_eval_setting:
64
+ plot_embeddings: false
65
+ retrieve_images: false
66
+ k_list:
67
+ - 1
68
+ - 3
69
+ - 5
70
+ levels:
71
+ - order
72
+ - family
73
+ - genus
74
+ - species
75
+ embeddings_filters:
76
+ order: Diptera
77
+ family: Sciaridae
78
+ genus: Corynoptera
79
+ retrieve_settings:
80
+ num_queries: 5
81
+ max_k: 3
82
+ seed: 413
83
+ independent: false
84
+ load_cached_results: false
85
+ eval_on: val
86
+ compute_genus_top1_excl_same_species: true
87
+ cone_check_split: train
88
+ cone_check_val_subsplit: seen
89
+ eval_batch_size_for_nn_retrieval: 512
90
+ encode_embeddings_to_parquet:
91
+ eval_image: true
92
+ eval_dna: true
93
+ diagnostics:
94
+ effective_rank:
95
+ enabled: true
96
+ device: auto
97
+ chunk_size: 32768
98
+ normalize: false
99
+ max_samples: null
100
+ seed: 42
101
+ include_sample_language: true
102
+ cone_check:
103
+ enabled: true
104
+ taxonomy_label: true
105
+ instance_taxonomy: true
106
+ modalities:
107
+ - image
108
+ - dna
109
+ target_levels:
110
+ - order
111
+ - family
112
+ - genus
113
+ - species
114
+ aperture_scale: 1.0
115
+ query_batch_size: null
116
+ candidate_batch_size: null
117
+ max_queries_per_split: null
118
+ max_candidates_per_level: null
119
+ allow_missing_modalities: true
120
+ show_progress: false
121
+ class_scatter_plot: true
122
+ class_scatter_x_axis: sample_count
123
+ class_scatter_min_samples: 1
124
+ visualization:
125
+ output_dir: ${project_root_path}/visualizations
126
+ key_feature_type: image
127
+ k: 10
128
+ general_fine_tune_setting:
129
+ save_ckpt: true
130
+ epoch: 15
131
+ batch_size: 200
132
+ hf_repo_id: bioscan-ml/clibd
133
+ default_seed: 42
134
+ barcodebert_setting:
135
+ old_model_setting:
136
+ k: 5
137
+ max_len: 660
138
+ version: ver_1_0
139
+ default_dna_output_pipeline: hidden_state_mean
140
+ epsilon: 1.0e-08
141
+ model_config:
142
+ resume_from_checkpoint: true
143
+ for_rcme: false
144
+ legacy_clibd_eval_behavior: false
145
+ l2_normalize_embeddings: true
146
+ rcme_contrastive_loss_weight: 0.1
147
+ rcme_eloss_weight: 1.0
148
+ rcme_mloss_weight: 1.0
149
+ rcme_using_vit_and_bert_small: false
150
+ rcme_using_open_clip_as_pretrain: false
151
+ hyperbolic_space:
152
+ train_hyperbolic: false
153
+ train_with_stacked_entailment_loss: true
154
+ entail_weight: 0.2
155
+ loss_type: A
156
+ adjust_alpha: false
157
+ margin: 0
158
+ relative_margin: 0
159
+ nearest_neighbor_metric_uni_modality: cosine_similarity_in_euclidean
160
+ nearest_neighbor_metric_cross_modality: angle
161
+ disable_entailment_loss: false
162
+ compute_contrastive_loss_between_image_and_dna: false
163
+ min_radius: 0.1
164
+ sel_load_concat_text: false
165
+ full_text_for_contrastive_loss: false
166
+ sel_intra_entailment_weight: 0.0
167
+ sel_inter_entailment_weight: 1.0
168
+ sel_contrastive_weight: 0.0
169
+ sel_contrastive_loss_mode: euclidean
170
+ sel_contrastive_pairing: instance
171
+ entailment_geometry: hyperbolic
172
+ sel_add_dna_bin: false
173
+ sel_use_emb_table_for_label_bin: true
174
+ sel_disable_image: true
175
+ use_dna_barcode_embed_for_dna_bin: false
176
+ dna_bin_memory_bank_momentum: 0.999
177
+ sel_use_dna_projection: true
178
+ sel_dna_projection_identity_init: false
179
+ sel_dna_projection_residual: false
180
+ sel_dna_projection_normalize: false
181
+ stacked_entailment:
182
+ embedding_dim: 768
183
+ dna_projection:
184
+ input_dim: 768
185
+ output_dim: 768
186
+ normalize: false
187
+ enabled: true
188
+ type: mlp
189
+ hidden_dim: 1536
190
+ activation: gelu
191
+ dropout: 0.0
192
+ identity_init: false
193
+ residual: false
194
+ text_projection:
195
+ input_dim: null
196
+ output_dim: null
197
+ enabled: false
198
+ rank_norm_ordering:
199
+ enabled: false
200
+ weight: 1.0
201
+ parent_mean_margin_ratio: 0.1
202
+ apply_in_stage2: false
203
+ structured_hierarchy:
204
+ enabled: true
205
+ child_only_containment: false
206
+ nesting_weight: 1.0
207
+ nesting_margin_deg: 0.25
208
+ sibling_gap_weight: 10.0
209
+ allocation_weight: 1.0
210
+ order_total_width_deg: 300.0
211
+ child_axis_span_ratio: 0.9
212
+ child_cone_fill_ratio: 0.82
213
+ allocation_loss_type: huber
214
+ allocation_huber_delta_deg: 1.0
215
+ allocation_relative_huber_delta: 0.25
216
+ allocation_relative_half_width_floor_deg: 0.01
217
+ allocation_detach_target: false
218
+ subtree_weight_mode: terminal_descendants
219
+ version: v2
220
+ allocation_targets_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/allocation_targets.json
221
+ relative_margin: 0.05
222
+ relative_gap: 0.05
223
+ ratio_huber_delta: 0.25
224
+ stage2:
225
+ full_graph_taxonomy_loss:
226
+ enabled: true
227
+ weight: 1.0
228
+ source_split: no_split_and_seen_train
229
+ point_entailment_enabled: true
230
+ max_steps: 0
231
+ checkpoint_every_epochs: 1
232
+ geometry_snapshot_every_steps: 0
233
+ geometry_snapshot_probe_size: 64
234
+ geometry_snapshot_probe_strategy: first_batch
235
+ frozen_dna_feature_cache:
236
+ enabled: false
237
+ path: null
238
+ build_batch_size: 512
239
+ num_workers: 4
240
+ inter_entailment_rank_curriculum:
241
+ enabled: false
242
+ levels_by_epoch: []
243
+ save_phase_checkpoints: false
244
+ train_only_dna_projection: false
245
+ train_dna_projection_and_taxonomy: false
246
+ train_dna_encoder: true
247
+ preserve_initialized_dna_encoder: true
248
+ weight_decay: 0.01
249
+ intra_entailment_weight: 0.0
250
+ inter_entailment_weight: 1.0
251
+ enable_negative_inter_entailment: true
252
+ contrastive_weight: 0.0
253
+ train_dna_branch_only: true
254
+ geometry: hyperbolic
255
+ loss_type: A
256
+ disable_image: true
257
+ clamp_feature_alpha_max: true
258
+ full_text_for_contrastive_loss: false
259
+ load_concat_text: false
260
+ min_radius: 0.1
261
+ margin:
262
+ absolute: 0
263
+ relative: 0
264
+ label_table:
265
+ enabled: true
266
+ add_dna_bin_level: false
267
+ candidate_source_split: no_split_and_seen_train
268
+ initialization_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/seen_taxonomy_placement.pt
269
+ reset_label_alpha: true
270
+ reset_curvature: true
271
+ zero_unplaced_rows: true
272
+ require_candidate_match: true
273
+ apply_initialization: true
274
+ loss_weights:
275
+ intra_entailment: 0.0
276
+ inter_entailment: 1.0
277
+ contrastive: 0.0
278
+ contrastive:
279
+ mode: euclidean
280
+ compute_image_dna: false
281
+ inter_entailment:
282
+ stage2_mode: all_rank_dna_label
283
+ all_rank_levels:
284
+ - order
285
+ - family
286
+ - genus
287
+ - species
288
+ loss_mode: cone_hinge
289
+ ignore_non_candidate_positives: false
290
+ pos_neg_reduce:
291
+ mode: weighted_mean
292
+ positive_weight: 0.5
293
+ negative_weight: 0.5
294
+ radius_barrier:
295
+ weight: 1.0
296
+ safety_ratio: 0.1
297
+ active_in_stage1: true
298
+ reduction: sum_within_rank_mean_across_ranks
299
+ sel_clamp_feature_alpha_max: true
300
+ sel_use_text_projection: false
301
+ sel_text_projection_identity_init: true
302
+ sel_text_projection_residual: true
303
+ sel_text_projection_type: linear
304
+ sel_text_projection_hidden_dim: null
305
+ sel_text_projection_activation: gelu
306
+ sel_text_projection_dropout: 0.0
307
+ use_species_retrieval: true
308
+ use_full_text_for_retrieval: false
309
+ retrieve_each_level_separately: false
310
+ curv_init: 1.0
311
+ learn_curv: true
312
+ using_avg_norm_dict: false
313
+ inference_project_to_hyperbolic_space: true
314
+ sel_apply_margin_to_positive_and_negative_el: false
315
+ eval_instance_taxonomy_cone_check: true
316
+ log_in_cone_rate: true
317
+ log_wrong_cone_rate: true
318
+ sel_inter_entailment_pos_neg_pair_strategy: instance
319
+ sel_inter_entailment_loss_mode: cone_hinge
320
+ sel_inter_entailment_missing_level_negative_strategy: none
321
+ sel_stage2_inter_entailment_mode: all_rank_dna_label
322
+ sel_all_rank_dna_label_levels:
323
+ - order
324
+ - family
325
+ - genus
326
+ - species
327
+ sel_all_rank_ignore_non_candidate_positives: false
328
+ sel_inter_pairwise_chunk_rows: 0
329
+ sel_pos_pair_weight: 0.5
330
+ sel_neg_pair_weight: 0.5
331
+ sel_posneg_reduce_mode: weighted_mean
332
+ sel_posneg_max_mix_weight: 1.0
333
+ sel_radius_barrier_weight: 1.0
334
+ sel_radius_barrier_safety_ratio: 0.1
335
+ sel_radius_barrier_active_in_stage1: true
336
+ sel_radius_barrier_reduction: sum_within_rank_mean_across_ranks
337
+ eval_instance_taxonomy_during_training: false
338
+ eval_instance_taxonomy_modalities:
339
+ - dna
340
+ eval_instance_taxonomy_target_levels:
341
+ - order
342
+ - family
343
+ - genus
344
+ - species
345
+ eval_instance_taxonomy_query_splits:
346
+ - seen
347
+ eval_instance_taxonomy_candidate_source: training_seen
348
+ eval_instance_taxonomy_show_progress: true
349
+ sel_embedding_dim: 768
350
+ sel_dna_projection_input_dim: 768
351
+ sel_dna_projection_output_dim: 768
352
+ sel_dna_projection_type: mlp
353
+ sel_dna_projection_hidden_dim: 1536
354
+ sel_dna_projection_activation: gelu
355
+ sel_dna_projection_dropout: 0.0
356
+ sel_text_projection_input_dim: null
357
+ sel_text_projection_output_dim: null
358
+ sel_rank_norm_ordering_enabled: false
359
+ sel_rank_norm_ordering_weight: 1.0
360
+ sel_rank_norm_ordering_apply_in_stage2: false
361
+ sel_rank_norm_ordering_parent_mean_margin_ratio: 0.1
362
+ sel_structured_hierarchy_enabled: true
363
+ sel_structured_version: v2
364
+ sel_structured_allocation_targets_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/allocation_targets.json
365
+ sel_structured_relative_margin: 0.05
366
+ sel_structured_relative_gap: 0.05
367
+ sel_structured_ratio_huber_delta: 0.25
368
+ sel_structured_child_only_containment: false
369
+ sel_structured_nesting_weight: 1.0
370
+ sel_structured_nesting_margin_deg: 0.25
371
+ sel_structured_sibling_gap_weight: 10.0
372
+ sel_structured_allocation_weight: 1.0
373
+ sel_structured_order_total_width_deg: 300.0
374
+ sel_structured_child_axis_span_ratio: 0.9
375
+ sel_structured_child_cone_fill_ratio: 0.82
376
+ sel_structured_allocation_loss_type: huber
377
+ sel_structured_allocation_huber_delta_deg: 1.0
378
+ sel_structured_allocation_relative_huber_delta: 0.25
379
+ sel_structured_allocation_relative_half_width_floor_deg: 0.01
380
+ sel_structured_allocation_detach_target: false
381
+ sel_structured_subtree_weight_mode: terminal_descendants
382
+ sel_stage2_train_only_dna_projection: false
383
+ sel_stage2_train_dna_projection_and_taxonomy: false
384
+ sel_stage2_train_dna_branch_only: true
385
+ sel_stage2_train_dna_encoder: true
386
+ sel_stage2_preserve_initialized_dna_encoder: true
387
+ sel_stage2_intra_entailment_weight: 0.0
388
+ sel_stage2_inter_entailment_weight: 1.0
389
+ sel_stage2_contrastive_weight: 0.0
390
+ sel_stage2_enable_negative_inter_entailment: true
391
+ sel_stage2_inter_negative_entailment_weight: 1.0
392
+ sel_two_stage_training:
393
+ use_two_stage_training: false
394
+ eval_stage_one_only: false
395
+ train_stage_one_only: false
396
+ freeze_text_encoder_for_first_few_epochs: 0
397
+ freeze_text_encoder_for_whole_stage_2: false
398
+ inter_entailment_weight_warmup_epochs: 0
399
+ first_stage_setting:
400
+ mode: node_minibatch
401
+ max_epoch: 5
402
+ max_steps: null
403
+ checkpoint_every_steps: 0
404
+ geometry_snapshot_every_steps: 0
405
+ batch_size: 80
406
+ lr: 0.001
407
+ weight_decay: 0.01
408
+ num_workers_per_gpu: 16
409
+ max_lr: 0.1
410
+ min_lr: 1.0e-08
411
+ final_div_factor: 10000.0
412
+ lr_scheduler: one_cycle
413
+ train_with_train_seen_only: true
414
+ dataset: bioscan_5m
415
+ for_open_clip: false
416
+ fix_temperature: false
417
+ amp: true
418
+ eval_skip_epoch: 0
419
+ fast_retrieval_subset: true
420
+ load_ckpt: true
421
+ pretrained_ckpt_path: null
422
+ no_pretrained_weights: false
423
+ ckpt_trained_with_insect_image_dna_text_path: null
424
+ train_with_small_subset: false
425
+ bin_for_positive_and_negative_pairs: false
426
+ transform_with_resize: false
427
+ pre_train_for_barcode_bert: null
428
+ for_bio_clip: false
429
+ base_batch_size: 500
430
+ output_dim: 768
431
+ dna_output_pipeline: transformed_hidden_state_mean
432
+ split_used_for_training: no_split_and_seen_train
433
+ taxonomy_subset:
434
+ enabled: false
435
+ level: order
436
+ include_labels: []
437
+ training_sample_filter:
438
+ enabled: false
439
+ required_taxonomy_levels: []
440
+ valid_indices_path: null
441
+ chunk_size: 250000
442
+ training_sample_repeat:
443
+ enabled: false
444
+ target_num_samples: null
445
+ image:
446
+ input_type: image
447
+ model: vit
448
+ freeze: true
449
+ dna:
450
+ input_type: sequence
451
+ model: barcode_bert
452
+ freeze: false
453
+ preserve_pretrained_mlm_decoder: true
454
+ language:
455
+ input_type: sequence
456
+ model: bert_small
457
+ freeze: true
458
+ lr_config:
459
+ lr: 1.0e-06
460
+ max_lr: 5.0e-05
461
+ min_lr: 1.0e-09
462
+ lr_scheduler: one_cycle
463
+ lr_warm_up_ratio: null
464
+ bind_to: null
465
+ no_image_text_loss: false
466
+ num_workers: 8
467
+ debug_max_steps_per_epoch: null
468
+ debug_autograd_anomaly: false
469
+ disable_lora: true
470
+ using_imagenet_mean_and_std: false
471
+ epochs: 15
472
+ wandb_project_name: SEL_v3_2_23_direct_placement_joint_full_train
473
+ model_output_dir: ${project_root_path}/ckpt/bioscan_hyperbolic
474
+ evaluation_period: 15
475
+ eval_every_epoch: false
476
+ all_gather: true
477
+ loss_setup:
478
+ gather_with_grad: true
479
+ use_horovod: false
480
+ local_loss: false
481
+ random_seed: false
482
+ default_seed: 42
483
+ batch_size: 200
484
+ model_output_name: UniReps_SEL_full_frozen_labels_768d_nonres_gap05_15epochs_seed42
485
+ port: 29955
486
+ local_loss_log_every: 100
487
+ retain_epoch_checkpoints:
488
+ - 1
489
+ - 5
490
+ - 10
491
+ - 15
492
+ resolved_seed: 42
Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_full_frozen_labels_768d_nonres_gap05_15epochs_seed42/last.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a4b717541a82994ab8733205676249c9660243fc43aa6666e1be3840953ed8b2
3
+ size 452784799
Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_full_no_direct_placement_768d_nonres_gap05_15epochs_seed42_retry_20261008/config.yaml ADDED
@@ -0,0 +1,490 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ debug_flag: false
2
+ debug_dataloader: false
3
+ debug_skip_training: false
4
+ project_root_path: ${oc.env:SSEL_ARTIFACT_ROOT,.}
5
+ data_dir: ${project_root_path}/data
6
+ activate_wandb: false
7
+ save_inference: true
8
+ load_inference: false
9
+ enable_early_stopping: false
10
+ imagenet_mean:
11
+ - 0.485
12
+ - 0.456
13
+ - 0.406
14
+ imagenet_std:
15
+ - 0.229
16
+ - 0.224
17
+ - 0.225
18
+ bioscan_data:
19
+ dir: ${data_dir}/BIOSCAN_1M
20
+ path_to_hdf5_data: ${bioscan_data.dir}/split_data/BioScan_data_in_splits.hdf5
21
+ path_to_tsv_data: ${bioscan_data.dir}/BioScan_Insect_Dataset_metadata_2.tsv
22
+ path_to_small_species_list_json: ${bioscan_data.dir}/small_species_list.json
23
+ path_to_id_to_position_mapping: ${bioscan_data.dir}/id_to_position_mapping.json
24
+ label_to_id_mapping: ${bioscan_data.dir}/label_to_id_mapping_for_four_levels_1m.json
25
+ image_mean:
26
+ - 0.7251
27
+ - 0.7289
28
+ - 0.7296
29
+ image_std:
30
+ - 0.1265
31
+ - 0.143
32
+ - 0.161
33
+ bioscan_5m_data:
34
+ dir: ${data_dir}/BIOSCAN_5M
35
+ image_dir: ${bioscan_5m_data.dir}/images
36
+ path_to_hdf5_data: ${bioscan_5m_data.dir}/BIOSCAN_5M.hdf5
37
+ path_to_smaller_hdf5_data: ${bioscan_5m_data.dir}/BIOSCAN_5M_with_small_pre_train.hdf5
38
+ path_to_tsv_data: ${bioscan_5m_data.dir}/BIOSCAN-5M_Dataset_v3.4.csv
39
+ path_to_id_to_position_mapping: ${bioscan_5m_data.dir}/id_to_position_mapping.json
40
+ label_to_id_mapping: ${bioscan_5m_data.dir}/label_to_id_mapping_for_four_levels_5m.json
41
+ image_mean:
42
+ - 0.7628
43
+ - 0.765
44
+ - 0.7637
45
+ image_std:
46
+ - 0.1421
47
+ - 0.1564
48
+ - 0.1731
49
+ insect_data:
50
+ dir: ${data_dir}/INSECT
51
+ path_to_att_splits_mat: ${insect_data.dir}/att_splits.mat
52
+ path_to_res_101_mat: ${insect_data.dir}/res101.mat
53
+ path_to_feature_hdf5: ${insect_data.dir}/extracted_features/clip_barcodebert_extracted_features.hdf5
54
+ path_to_image_hdf5: ${insect_data.dir}/INSECT_images.hdf5
55
+ path_to_meta_csv: ${insect_data.dir}/INSECT_metadata.csv
56
+ image_dir: ${insect_data.dir}/images
57
+ species_to_other: ${insect_data.dir}/specie_to_other_labels.json
58
+ save_ckpt: true
59
+ bioscan_bert_checkpoint: ${project_root_path}/ckpt/BarcodeBERT/old_checkpoints/trained_with_canada_1_5M/model_41.pth
60
+ bioscan_bert_checkpoint_trained_with_canada_1_5_m: ${project_root_path}/ckpt/BarcodeBERT/new_checkpoints/trained_with_5m/BIOSCAN-5M-BEST_k4_6_6_w1_m0_r0.pt
61
+ bioscan_bert_checkpoint_trained_with_bioscan_5_m: ${project_root_path}/ckpt/BarcodeBERT/new_checkpoints/trained_with_canada_1_5M/CANADA-1.5M-BEST_k4_4_4_w1_m0_r0_wd.pt
62
+ model_output_dir: ${project_root_path}/ckpt/bioscan_clip
63
+ inference_and_eval_setting:
64
+ plot_embeddings: false
65
+ retrieve_images: false
66
+ k_list:
67
+ - 1
68
+ - 3
69
+ - 5
70
+ levels:
71
+ - order
72
+ - family
73
+ - genus
74
+ - species
75
+ embeddings_filters:
76
+ order: Diptera
77
+ family: Sciaridae
78
+ genus: Corynoptera
79
+ retrieve_settings:
80
+ num_queries: 5
81
+ max_k: 3
82
+ seed: 413
83
+ independent: false
84
+ load_cached_results: false
85
+ eval_on: val
86
+ compute_genus_top1_excl_same_species: true
87
+ cone_check_split: train
88
+ cone_check_val_subsplit: seen
89
+ eval_batch_size_for_nn_retrieval: 512
90
+ encode_embeddings_to_parquet:
91
+ eval_image: true
92
+ eval_dna: true
93
+ diagnostics:
94
+ effective_rank:
95
+ enabled: true
96
+ device: auto
97
+ chunk_size: 32768
98
+ normalize: false
99
+ max_samples: null
100
+ seed: 42
101
+ include_sample_language: true
102
+ cone_check:
103
+ enabled: true
104
+ taxonomy_label: true
105
+ instance_taxonomy: true
106
+ modalities:
107
+ - image
108
+ - dna
109
+ target_levels:
110
+ - order
111
+ - family
112
+ - genus
113
+ - species
114
+ aperture_scale: 1.0
115
+ query_batch_size: null
116
+ candidate_batch_size: null
117
+ max_queries_per_split: null
118
+ max_candidates_per_level: null
119
+ allow_missing_modalities: true
120
+ show_progress: false
121
+ class_scatter_plot: true
122
+ class_scatter_x_axis: sample_count
123
+ class_scatter_min_samples: 1
124
+ visualization:
125
+ output_dir: ${project_root_path}/visualizations
126
+ key_feature_type: image
127
+ k: 10
128
+ general_fine_tune_setting:
129
+ save_ckpt: true
130
+ epoch: 15
131
+ batch_size: 200
132
+ hf_repo_id: bioscan-ml/clibd
133
+ default_seed: 42
134
+ barcodebert_setting:
135
+ old_model_setting:
136
+ k: 5
137
+ max_len: 660
138
+ version: ver_1_0
139
+ default_dna_output_pipeline: hidden_state_mean
140
+ epsilon: 1.0e-08
141
+ model_config:
142
+ resume_from_checkpoint: true
143
+ for_rcme: false
144
+ legacy_clibd_eval_behavior: false
145
+ l2_normalize_embeddings: true
146
+ rcme_contrastive_loss_weight: 0.1
147
+ rcme_eloss_weight: 1.0
148
+ rcme_mloss_weight: 1.0
149
+ rcme_using_vit_and_bert_small: false
150
+ rcme_using_open_clip_as_pretrain: false
151
+ hyperbolic_space:
152
+ train_hyperbolic: false
153
+ train_with_stacked_entailment_loss: true
154
+ entail_weight: 0.2
155
+ loss_type: A
156
+ adjust_alpha: false
157
+ margin: 0
158
+ relative_margin: 0
159
+ nearest_neighbor_metric_uni_modality: cosine_similarity_in_euclidean
160
+ nearest_neighbor_metric_cross_modality: angle
161
+ disable_entailment_loss: false
162
+ compute_contrastive_loss_between_image_and_dna: false
163
+ min_radius: 0.1
164
+ sel_load_concat_text: false
165
+ full_text_for_contrastive_loss: false
166
+ sel_intra_entailment_weight: 0.0
167
+ sel_inter_entailment_weight: 1.0
168
+ sel_contrastive_weight: 0.0
169
+ sel_contrastive_loss_mode: euclidean
170
+ sel_contrastive_pairing: instance
171
+ entailment_geometry: hyperbolic
172
+ sel_add_dna_bin: false
173
+ sel_use_emb_table_for_label_bin: true
174
+ sel_disable_image: true
175
+ use_dna_barcode_embed_for_dna_bin: false
176
+ dna_bin_memory_bank_momentum: 0.999
177
+ sel_use_dna_projection: true
178
+ sel_dna_projection_identity_init: false
179
+ sel_dna_projection_residual: false
180
+ sel_dna_projection_normalize: false
181
+ stacked_entailment:
182
+ embedding_dim: 768
183
+ dna_projection:
184
+ input_dim: 768
185
+ output_dim: 768
186
+ normalize: false
187
+ enabled: true
188
+ type: mlp
189
+ hidden_dim: 1536
190
+ activation: gelu
191
+ dropout: 0.0
192
+ identity_init: false
193
+ residual: false
194
+ text_projection:
195
+ input_dim: null
196
+ output_dim: null
197
+ enabled: false
198
+ rank_norm_ordering:
199
+ enabled: false
200
+ weight: 1.0
201
+ parent_mean_margin_ratio: 0.1
202
+ apply_in_stage2: false
203
+ structured_hierarchy:
204
+ enabled: true
205
+ child_only_containment: false
206
+ nesting_weight: 1.0
207
+ nesting_margin_deg: 0.25
208
+ sibling_gap_weight: 10.0
209
+ allocation_weight: 1.0
210
+ order_total_width_deg: 300.0
211
+ child_axis_span_ratio: 0.9
212
+ child_cone_fill_ratio: 0.82
213
+ allocation_loss_type: huber
214
+ allocation_huber_delta_deg: 1.0
215
+ allocation_relative_huber_delta: 0.25
216
+ allocation_relative_half_width_floor_deg: 0.01
217
+ allocation_detach_target: false
218
+ subtree_weight_mode: terminal_descendants
219
+ version: v2
220
+ allocation_targets_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/allocation_targets.json
221
+ relative_margin: 0.05
222
+ relative_gap: 0.05
223
+ ratio_huber_delta: 0.25
224
+ stage2:
225
+ full_graph_taxonomy_loss:
226
+ enabled: true
227
+ weight: 1.0
228
+ source_split: no_split_and_seen_train
229
+ point_entailment_enabled: true
230
+ max_steps: 0
231
+ checkpoint_every_epochs: 1
232
+ geometry_snapshot_every_steps: 0
233
+ geometry_snapshot_probe_size: 64
234
+ geometry_snapshot_probe_strategy: first_batch
235
+ frozen_dna_feature_cache:
236
+ enabled: false
237
+ path: null
238
+ build_batch_size: 512
239
+ num_workers: 4
240
+ inter_entailment_rank_curriculum:
241
+ enabled: false
242
+ levels_by_epoch: []
243
+ save_phase_checkpoints: false
244
+ train_only_dna_projection: false
245
+ train_dna_projection_and_taxonomy: true
246
+ train_dna_encoder: true
247
+ preserve_initialized_dna_encoder: true
248
+ weight_decay: 0.01
249
+ intra_entailment_weight: 0.0
250
+ inter_entailment_weight: 1.0
251
+ enable_negative_inter_entailment: true
252
+ contrastive_weight: 0.0
253
+ geometry: hyperbolic
254
+ loss_type: A
255
+ disable_image: true
256
+ clamp_feature_alpha_max: true
257
+ full_text_for_contrastive_loss: false
258
+ load_concat_text: false
259
+ min_radius: 0.1
260
+ margin:
261
+ absolute: 0
262
+ relative: 0
263
+ label_table:
264
+ enabled: true
265
+ add_dna_bin_level: false
266
+ candidate_source_split: no_split_and_seen_train
267
+ initialization_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/seen_taxonomy_placement.pt
268
+ reset_label_alpha: true
269
+ reset_curvature: true
270
+ zero_unplaced_rows: true
271
+ require_candidate_match: true
272
+ apply_initialization: false
273
+ loss_weights:
274
+ intra_entailment: 0.0
275
+ inter_entailment: 1.0
276
+ contrastive: 0.0
277
+ contrastive:
278
+ mode: euclidean
279
+ compute_image_dna: false
280
+ inter_entailment:
281
+ stage2_mode: all_rank_dna_label
282
+ all_rank_levels:
283
+ - order
284
+ - family
285
+ - genus
286
+ - species
287
+ loss_mode: cone_hinge
288
+ ignore_non_candidate_positives: false
289
+ pos_neg_reduce:
290
+ mode: weighted_mean
291
+ positive_weight: 0.5
292
+ negative_weight: 0.5
293
+ radius_barrier:
294
+ weight: 1.0
295
+ safety_ratio: 0.1
296
+ active_in_stage1: true
297
+ reduction: sum_within_rank_mean_across_ranks
298
+ sel_clamp_feature_alpha_max: true
299
+ sel_use_text_projection: false
300
+ sel_text_projection_identity_init: true
301
+ sel_text_projection_residual: true
302
+ sel_text_projection_type: linear
303
+ sel_text_projection_hidden_dim: null
304
+ sel_text_projection_activation: gelu
305
+ sel_text_projection_dropout: 0.0
306
+ use_species_retrieval: true
307
+ use_full_text_for_retrieval: false
308
+ retrieve_each_level_separately: false
309
+ curv_init: 1.0
310
+ learn_curv: true
311
+ using_avg_norm_dict: false
312
+ inference_project_to_hyperbolic_space: true
313
+ sel_apply_margin_to_positive_and_negative_el: false
314
+ eval_instance_taxonomy_cone_check: true
315
+ log_in_cone_rate: true
316
+ log_wrong_cone_rate: true
317
+ sel_inter_entailment_pos_neg_pair_strategy: instance
318
+ sel_inter_entailment_loss_mode: cone_hinge
319
+ sel_inter_entailment_missing_level_negative_strategy: none
320
+ sel_stage2_inter_entailment_mode: all_rank_dna_label
321
+ sel_all_rank_dna_label_levels:
322
+ - order
323
+ - family
324
+ - genus
325
+ - species
326
+ sel_all_rank_ignore_non_candidate_positives: false
327
+ sel_inter_pairwise_chunk_rows: 0
328
+ sel_pos_pair_weight: 0.5
329
+ sel_neg_pair_weight: 0.5
330
+ sel_posneg_reduce_mode: weighted_mean
331
+ sel_posneg_max_mix_weight: 1.0
332
+ sel_radius_barrier_weight: 1.0
333
+ sel_radius_barrier_safety_ratio: 0.1
334
+ sel_radius_barrier_active_in_stage1: true
335
+ sel_radius_barrier_reduction: sum_within_rank_mean_across_ranks
336
+ eval_instance_taxonomy_during_training: false
337
+ eval_instance_taxonomy_modalities:
338
+ - dna
339
+ eval_instance_taxonomy_target_levels:
340
+ - order
341
+ - family
342
+ - genus
343
+ - species
344
+ eval_instance_taxonomy_query_splits:
345
+ - seen
346
+ eval_instance_taxonomy_candidate_source: training_seen
347
+ eval_instance_taxonomy_show_progress: true
348
+ sel_embedding_dim: 768
349
+ sel_dna_projection_input_dim: 768
350
+ sel_dna_projection_output_dim: 768
351
+ sel_dna_projection_type: mlp
352
+ sel_dna_projection_hidden_dim: 1536
353
+ sel_dna_projection_activation: gelu
354
+ sel_dna_projection_dropout: 0.0
355
+ sel_text_projection_input_dim: null
356
+ sel_text_projection_output_dim: null
357
+ sel_rank_norm_ordering_enabled: false
358
+ sel_rank_norm_ordering_weight: 1.0
359
+ sel_rank_norm_ordering_apply_in_stage2: false
360
+ sel_rank_norm_ordering_parent_mean_margin_ratio: 0.1
361
+ sel_structured_hierarchy_enabled: true
362
+ sel_structured_version: v2
363
+ sel_structured_allocation_targets_path: ${project_root_path}/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/allocation_targets.json
364
+ sel_structured_relative_margin: 0.05
365
+ sel_structured_relative_gap: 0.05
366
+ sel_structured_ratio_huber_delta: 0.25
367
+ sel_structured_child_only_containment: false
368
+ sel_structured_nesting_weight: 1.0
369
+ sel_structured_nesting_margin_deg: 0.25
370
+ sel_structured_sibling_gap_weight: 10.0
371
+ sel_structured_allocation_weight: 1.0
372
+ sel_structured_order_total_width_deg: 300.0
373
+ sel_structured_child_axis_span_ratio: 0.9
374
+ sel_structured_child_cone_fill_ratio: 0.82
375
+ sel_structured_allocation_loss_type: huber
376
+ sel_structured_allocation_huber_delta_deg: 1.0
377
+ sel_structured_allocation_relative_huber_delta: 0.25
378
+ sel_structured_allocation_relative_half_width_floor_deg: 0.01
379
+ sel_structured_allocation_detach_target: false
380
+ sel_structured_subtree_weight_mode: terminal_descendants
381
+ sel_stage2_train_only_dna_projection: false
382
+ sel_stage2_train_dna_projection_and_taxonomy: true
383
+ sel_stage2_train_dna_encoder: true
384
+ sel_stage2_preserve_initialized_dna_encoder: true
385
+ sel_stage2_intra_entailment_weight: 0.0
386
+ sel_stage2_inter_entailment_weight: 1.0
387
+ sel_stage2_contrastive_weight: 0.0
388
+ sel_stage2_enable_negative_inter_entailment: true
389
+ sel_stage2_inter_negative_entailment_weight: 1.0
390
+ sel_two_stage_training:
391
+ use_two_stage_training: false
392
+ eval_stage_one_only: false
393
+ train_stage_one_only: false
394
+ freeze_text_encoder_for_first_few_epochs: 0
395
+ freeze_text_encoder_for_whole_stage_2: false
396
+ inter_entailment_weight_warmup_epochs: 0
397
+ first_stage_setting:
398
+ mode: node_minibatch
399
+ max_epoch: 5
400
+ max_steps: null
401
+ checkpoint_every_steps: 0
402
+ geometry_snapshot_every_steps: 0
403
+ batch_size: 80
404
+ lr: 0.001
405
+ weight_decay: 0.01
406
+ num_workers_per_gpu: 16
407
+ max_lr: 0.1
408
+ min_lr: 1.0e-08
409
+ final_div_factor: 10000.0
410
+ lr_scheduler: one_cycle
411
+ train_with_train_seen_only: true
412
+ dataset: bioscan_5m
413
+ for_open_clip: false
414
+ fix_temperature: false
415
+ amp: true
416
+ eval_skip_epoch: 0
417
+ fast_retrieval_subset: true
418
+ load_ckpt: true
419
+ pretrained_ckpt_path: null
420
+ no_pretrained_weights: false
421
+ ckpt_trained_with_insect_image_dna_text_path: null
422
+ train_with_small_subset: false
423
+ bin_for_positive_and_negative_pairs: false
424
+ transform_with_resize: false
425
+ pre_train_for_barcode_bert: null
426
+ for_bio_clip: false
427
+ base_batch_size: 500
428
+ output_dim: 768
429
+ dna_output_pipeline: transformed_hidden_state_mean
430
+ split_used_for_training: no_split_and_seen_train
431
+ taxonomy_subset:
432
+ enabled: false
433
+ level: order
434
+ include_labels: []
435
+ training_sample_filter:
436
+ enabled: false
437
+ required_taxonomy_levels: []
438
+ valid_indices_path: null
439
+ chunk_size: 250000
440
+ training_sample_repeat:
441
+ enabled: false
442
+ target_num_samples: null
443
+ image:
444
+ input_type: image
445
+ model: vit
446
+ freeze: true
447
+ dna:
448
+ input_type: sequence
449
+ model: barcode_bert
450
+ freeze: false
451
+ preserve_pretrained_mlm_decoder: true
452
+ language:
453
+ input_type: sequence
454
+ model: bert_small
455
+ freeze: true
456
+ lr_config:
457
+ lr: 1.0e-06
458
+ max_lr: 5.0e-05
459
+ min_lr: 1.0e-09
460
+ lr_scheduler: one_cycle
461
+ lr_warm_up_ratio: null
462
+ bind_to: null
463
+ no_image_text_loss: false
464
+ num_workers: 8
465
+ debug_max_steps_per_epoch: null
466
+ debug_autograd_anomaly: false
467
+ disable_lora: true
468
+ using_imagenet_mean_and_std: false
469
+ epochs: 15
470
+ wandb_project_name: SEL_v3_2_23_direct_placement_joint_full_train
471
+ model_output_dir: ${project_root_path}/ckpt/bioscan_hyperbolic
472
+ evaluation_period: 15
473
+ eval_every_epoch: false
474
+ all_gather: true
475
+ loss_setup:
476
+ gather_with_grad: true
477
+ use_horovod: false
478
+ local_loss: false
479
+ random_seed: false
480
+ default_seed: 42
481
+ batch_size: 200
482
+ model_output_name: UniReps_SEL_full_no_direct_placement_768d_nonres_gap05_15epochs_seed42_retry_20261008
483
+ port: 29954
484
+ local_loss_log_every: 100
485
+ retain_epoch_checkpoints:
486
+ - 1
487
+ - 5
488
+ - 10
489
+ - 15
490
+ resolved_seed: 42
Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_full_no_direct_placement_768d_nonres_gap05_15epochs_seed42_retry_20261008/last.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:239a7b952d0531f54a30baaf88fc37fbb7f0ab6071252b18af4de33f4835ad78
3
+ size 452784372
Ver_1_0/data/BIOSCAN_5M/global_label_to_id_mapping.json ADDED
The diff for this file is too large to render. See raw diff
 
Ver_1_0/extracted_embedding/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/dna_to_label.csv ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ split,rank,metric,queries,eligible_known_truth,candidates,classes,count,denominator,micro_percentage,macro_percentage
2
+ seen,order,nearest,39373,39373,55,27,39362,39373,99.97206207299418,96.2595574461017
3
+ seen,order,in_cone,39373,39373,55,27,39350,39373,99.94158433444238,92.02675321329747
4
+ seen,order,wrong_cone,39373,39373,55,27,11,39373,0.02793792700581617,3.740442553898297
5
+ seen,family,nearest,39373,39373,929,352,39285,39373,99.77649658395347,98.22479732642783
6
+ seen,family,in_cone,39373,39373,929,352,39197,39373,99.55299316790695,93.53388061553252
7
+ seen,family,wrong_cone,39373,39373,929,352,18,39373,0.045716607827699186,0.15845621590970385
8
+ seen,genus,nearest,39373,39373,6819,1736,38257,39373,97.16557031468265,97.25745366972843
9
+ seen,genus,in_cone,39373,39373,6819,1736,38675,39373,98.22721154090367,92.28297879853487
10
+ seen,genus,wrong_cone,39373,39373,6819,1736,4201,39373,10.669748304675792,4.12980674060469
11
+ seen,species,nearest,39373,39373,11846,3483,38614,39373,98.07228303659869,96.23521114409344
12
+ seen,species,in_cone,39373,39373,11846,3483,35785,39373,90.88715617301196,82.17546766423955
13
+ seen,species,wrong_cone,39373,39373,11846,3483,254,39373,0.6451121326797552,0.5793349979815039
14
+ unseen,order,nearest,7887,7887,55,11,7887,7887,100.0,100.0
15
+ unseen,order,in_cone,7887,7887,55,11,7885,7887,99.974641815646,99.99630074909831
16
+ unseen,order,wrong_cone,7887,7887,55,11,0,7887,0.0,0.0
17
+ unseen,family,nearest,7887,7887,929,62,7681,7887,97.38810701153797,93.12392200726313
18
+ unseen,family,in_cone,7887,7887,929,62,7659,7887,97.10916698364397,90.49047298852764
19
+ unseen,family,wrong_cone,7887,7887,929,62,41,7887,0.5198427792570052,2.9418767403064496
20
+ unseen,genus,nearest,7887,7887,6819,234,5765,7887,73.09496640040572,62.26527079682103
21
+ unseen,genus,in_cone,7887,7887,6819,234,5408,7887,68.56853049321668,56.95818569248495
22
+ unseen,genus,wrong_cone,7887,7887,6819,234,907,7887,11.499936604539116,13.367152583843076
23
+ unseen,species,nearest,7887,0,11846,0,0,0,,
24
+ unseen,species,in_cone,7887,0,11846,0,0,0,,
25
+ unseen,species,wrong_cone,7887,0,11846,880,1213,7887,15.379738810701154,12.269582243075325
Ver_1_0/extracted_embedding/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/evaluation_complete.json ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model_output_name": "SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42",
3
+ "arm": "custom",
4
+ "source_job_id": 271221,
5
+ "checkpoint_sha256": "cd98e1d8088524594719f3a45186950a2b7fac779708408c2577b42db33f71bc",
6
+ "expected_checkpoint_sha256": "cd98e1d8088524594719f3a45186950a2b7fac779708408c2577b42db33f71bc",
7
+ "saved_config_sha256": "ab6c4214ee8419de8d7fb8337b4146570fde00d7bc4e687581eda357ad52b9de",
8
+ "placement_sha256": "276f617eb71614e93b05d47914377031017fb5bb5f6fa8af3cc80a4de16a98c5",
9
+ "dataset": "BIOSCAN-5M",
10
+ "eval_on": "test",
11
+ "smoke": false,
12
+ "batch_size": 32,
13
+ "git_head": "8354cfe72a6d80b71d61a94aa63a5451ede1ace3",
14
+ "candidate_source": "unique training-known labels from saved placement",
15
+ "nearest_score": "directed hyperbolic exterior angle; float64 acos clipped to [-1,1]",
16
+ "cone_definition": "exterior angle <= half-aperture; same formula as validation audit",
17
+ "micro_definition": "equal weight per eligible query",
18
+ "macro_definition": "equal weight per represented eligible ground-truth class",
19
+ "detection_definition": "outside all training-known species cones",
20
+ "units": "percent",
21
+ "started_utc": "2026-10-05T00:51:34Z",
22
+ "forward_validation_relative_errors": [
23
+ 1.812777342408925e-07,
24
+ 1.9183063562025445e-07,
25
+ 2.3221439296131226e-07,
26
+ 1.763933494406288e-07
27
+ ],
28
+ "forward_validation_kind": "sampled comparison with existing validation cache",
29
+ "query_barcode_sha256": {
30
+ "unseen": "f37c4dfc4b9a1f015e858a8f15e8f11778e2e3e2c9809a3d43378ece6949189b",
31
+ "seen": "fa004e4daade47d46585878f4fa537370b45e695c96280cbcc5d4be41f68a26f"
32
+ },
33
+ "completed": true,
34
+ "completed_utc": "2026-10-05T00:54:57Z",
35
+ "query_counts": {
36
+ "seen": 39373,
37
+ "unseen": 7887
38
+ },
39
+ "checkpoint": "Ver_1_0/ckpt/bioscan_clip/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/last.pth",
40
+ "saved_config": "Ver_1_0/ckpt/bioscan_clip/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/config.yaml",
41
+ "portable_config_sha256": "c5a186a3e3b5abcdc647a9f612df8c0bf8ef2d302a1f6d861a0d8091dbe7eb91",
42
+ "placement": "Ver_1_0/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/seen_taxonomy_placement.pt",
43
+ "dataset_path": "data/BIOSCAN_5M/BIOSCAN_5M.hdf5",
44
+ "saved_config_note": "Portable copy; original saved-config identity retained separately. Only root/path substitutions and W&B activation changed.",
45
+ "code_sha256": {
46
+ "evaluate_unireps_test.py": "a7bdeae153783b71c5b730ac5232211c436760a0b52679e1f675d32e6c94ea8d",
47
+ "evaluate_larger_gap_comparison.py": "bf76b02950bce4b6885970f97056dc740545514523cf460469ee453fe8ff2961",
48
+ "simple_clip.py": "43306afc8424fa86a9416e46eca52e11d97dad39f92ed4730ac135487e0934d7",
49
+ "util.py": "3ac4f716f0bf3e0fbcee8346a244de8b82e544eef27872b54df4d5b0f5cb668b",
50
+ "dataset.py": "590c73cfecb870a81f90da9d3062e2bf4e8a37214c270110121e661f70f53304",
51
+ "lorentz.py": "f6f798e61cceaa4fa63d43bec742d58d4041b384b80b0282b117e353be984cc6"
52
+ },
53
+ "release_artifact_sha256": {
54
+ "extracted_feature_from_test_split.hdf5": "2cbf2384f4583333dac3d98e637c04c034a08b7d69a87d344c59c157491d4029",
55
+ "labels_test.json": "e7bd399b784cef7bced28dee3abd974d6eb0bb0129b281f485169d4171bf8b58",
56
+ "processed_id_test.json": "b6a8e116593002f434fd1ddd5e7696af6cac3579ae46d19bf39087c704655235",
57
+ "dna_to_label.csv": "f50bfc47f31dbf4c0e0b7b8981c236f395d013229fc6dae2f5bd376da7e72cdb",
58
+ "species_detection.csv": "e208bc1f73f1c4c9a7ebd7f589b0b4cca8d1f9d3a7d22b76300ac0d3cc6b323c"
59
+ }
60
+ }
Ver_1_0/extracted_embedding/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/extracted_feature_from_test_split.hdf5 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2cbf2384f4583333dac3d98e637c04c034a08b7d69a87d344c59c157491d4029
3
+ size 145187200
Ver_1_0/extracted_embedding/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/labels_test.json ADDED
The diff for this file is too large to render. See raw diff
 
Ver_1_0/extracted_embedding/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/processed_id_test.json ADDED
The diff for this file is too large to render. See raw diff
 
Ver_1_0/extracted_embedding/bioscan_5m/SEL_structure_v2_768d_dna_nonres_margin05_gap05_weight10_15epochs_seed42/species_detection.csv ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ split,metric,count,denominator,percentage
2
+ seen,FPR,3464,39373,8.79790719528611
3
+ unseen,DR,6674,7887,84.62026118929884
Ver_1_0/extracted_embedding/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/dna_to_label.csv ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ split,rank,metric,queries,eligible_known_truth,candidates,classes,count,denominator,micro_percentage,macro_percentage
2
+ seen,order,nearest,39373,39373,55,27,26,39373,0.0660351001955655,3.7037037037037033
3
+ seen,order,in_cone,39373,39373,55,27,39195,39373,99.54791354481497,66.66666666666666
4
+ seen,order,wrong_cone,39373,39373,55,27,39373,39373,100.0,100.0
5
+ seen,family,nearest,39373,39373,929,352,246,39373,0.6247936403118889,0.2840909090909091
6
+ seen,family,in_cone,39373,39373,929,352,37501,39373,95.24547278591929,69.31818181818183
7
+ seen,family,wrong_cone,39373,39373,929,352,39373,39373,100.0,100.0
8
+ seen,genus,nearest,39373,39373,6819,1736,25,39373,0.0634952886495822,0.0576036866359447
9
+ seen,genus,in_cone,39373,39373,6819,1736,39370,39373,99.99238056536205,99.94239631336406
10
+ seen,genus,wrong_cone,39373,39373,6819,1736,39373,39373,100.0,100.0
11
+ seen,species,nearest,39373,39373,11846,3483,25,39373,0.0634952886495822,0.028710881424059722
12
+ seen,species,in_cone,39373,39373,11846,3483,39373,39373,100.0,100.0
13
+ seen,species,wrong_cone,39373,39373,11846,3483,39373,39373,100.0,100.0
14
+ unseen,order,nearest,7887,7887,55,11,0,7887,0.0,0.0
15
+ unseen,order,in_cone,7887,7887,55,11,7887,7887,100.0,100.0
16
+ unseen,order,wrong_cone,7887,7887,55,11,7887,7887,100.0,100.0
17
+ unseen,family,nearest,7887,7887,929,62,12,7887,0.1521491061240015,1.6129032258064515
18
+ unseen,family,in_cone,7887,7887,929,62,7577,7887,96.06948142512996,91.93548387096774
19
+ unseen,family,wrong_cone,7887,7887,929,62,7887,7887,100.0,100.0
20
+ unseen,genus,nearest,7887,7887,6819,234,25,7887,0.31697730442500316,0.4273504273504274
21
+ unseen,genus,in_cone,7887,7887,6819,234,7877,7887,99.87320907823,99.57264957264957
22
+ unseen,genus,wrong_cone,7887,7887,6819,234,7887,7887,100.0,100.0
23
+ unseen,species,nearest,7887,0,11846,0,0,0,,
24
+ unseen,species,in_cone,7887,0,11846,0,0,0,,
25
+ unseen,species,wrong_cone,7887,0,11846,880,7887,7887,100.0,100.0
Ver_1_0/extracted_embedding/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/evaluation_complete.json ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model_output_name": "UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42",
3
+ "arm": "custom",
4
+ "source_job_id": 295512,
5
+ "checkpoint_sha256": "b867680474bf7e1a77b48c580bc630e53d78526637c35be7434c09774e12c4df",
6
+ "expected_checkpoint_sha256": null,
7
+ "saved_config_sha256": "4a9b07a09d85e1ee531bc817880686b418b090f9a75850ace70ada4de863ed64",
8
+ "placement_sha256": "276f617eb71614e93b05d47914377031017fb5bb5f6fa8af3cc80a4de16a98c5",
9
+ "dataset": "BIOSCAN-5M",
10
+ "eval_on": "test",
11
+ "smoke": false,
12
+ "batch_size": 32,
13
+ "git_head": "8d67739b8d9093a93923162e43c1d1ef0bee99cd",
14
+ "candidate_source": "unique training-known labels from saved placement",
15
+ "nearest_score": "directed hyperbolic exterior angle; float64 acos clipped to [-1,1]",
16
+ "cone_definition": "exterior angle <= half-aperture; same formula as validation audit",
17
+ "micro_definition": "equal weight per eligible query",
18
+ "macro_definition": "equal weight per represented eligible ground-truth class",
19
+ "detection_definition": "outside all training-known species cones",
20
+ "units": "percent",
21
+ "started_utc": "2026-10-10T14:06:46Z",
22
+ "forward_validation_kind": "deterministic repeated extraction; no independent validation cache",
23
+ "forward_repeat_max_absolute_error": 0.0,
24
+ "query_barcode_sha256": {
25
+ "unseen": "f37c4dfc4b9a1f015e858a8f15e8f11778e2e3e2c9809a3d43378ece6949189b",
26
+ "seen": "fa004e4daade47d46585878f4fa537370b45e695c96280cbcc5d4be41f68a26f"
27
+ },
28
+ "completed": true,
29
+ "completed_utc": "2026-10-10T14:08:06Z",
30
+ "query_counts": {
31
+ "seen": 39373,
32
+ "unseen": 7887
33
+ },
34
+ "checkpoint": "Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/last.pth",
35
+ "saved_config": "Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/config.yaml",
36
+ "portable_config_sha256": "572879d31953e4348679b459d0275314ae4d6f178af55e3c7f244db413f627be",
37
+ "placement": "Ver_1_0/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/seen_taxonomy_placement.pt",
38
+ "dataset_path": "data/BIOSCAN_5M/BIOSCAN_5M.hdf5",
39
+ "saved_config_note": "Portable copy; original saved-config identity retained separately. Only root/path substitutions and W&B activation changed.",
40
+ "code_sha256": {
41
+ "evaluate_unireps_test.py": "a7bdeae153783b71c5b730ac5232211c436760a0b52679e1f675d32e6c94ea8d",
42
+ "evaluate_larger_gap_comparison.py": "bf76b02950bce4b6885970f97056dc740545514523cf460469ee453fe8ff2961",
43
+ "simple_clip.py": "43306afc8424fa86a9416e46eca52e11d97dad39f92ed4730ac135487e0934d7",
44
+ "util.py": "8d82766f1e847e594b28f574a7c70125db1a9c53298e0f6aa8e8cf3a35121e27",
45
+ "dataset.py": "590c73cfecb870a81f90da9d3062e2bf4e8a37214c270110121e661f70f53304",
46
+ "lorentz.py": "f6f798e61cceaa4fa63d43bec742d58d4041b384b80b0282b117e353be984cc6"
47
+ },
48
+ "release_artifact_sha256": {
49
+ "extracted_feature_from_test_split.hdf5": "1257157ea8cf18225230f377d5d078bcbb52ed46e9062c0fbc8dde80fe04b264",
50
+ "labels_test.json": "e7bd399b784cef7bced28dee3abd974d6eb0bb0129b281f485169d4171bf8b58",
51
+ "processed_id_test.json": "b6a8e116593002f434fd1ddd5e7696af6cac3579ae46d19bf39087c704655235",
52
+ "dna_to_label.csv": "4dff7c66950bc09888a9ab5ab8d5f5e1a9672bcbaf1669f2873ba6d8ed920ef1",
53
+ "species_detection.csv": "7e716df226ab32e5d5901f4822d4a49a3f6582d57b4d947b0b87d3ace9470cdc"
54
+ }
55
+ }
Ver_1_0/extracted_embedding/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1257157ea8cf18225230f377d5d078bcbb52ed46e9062c0fbc8dde80fe04b264
3
+ size 145187200
Ver_1_0/extracted_embedding/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/labels_test.json ADDED
The diff for this file is too large to render. See raw diff
 
Ver_1_0/extracted_embedding/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/processed_id_test.json ADDED
The diff for this file is too large to render. See raw diff
 
Ver_1_0/extracted_embedding/bioscan_5m/UniReps_EL_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/species_detection.csv ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ split,metric,count,denominator,percentage
2
+ seen,FPR,0,39373,0.0
3
+ unseen,DR,0,7887,0.0
Ver_1_0/extracted_embedding/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/dna_to_label.csv ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ split,rank,metric,queries,eligible_known_truth,candidates,classes,count,denominator,micro_percentage,macro_percentage
2
+ seen,order,nearest,39373,39373,55,27,39366,39373,99.98222131917812,96.29629629629629
3
+ seen,order,in_cone,39373,39373,55,27,24896,39373,63.23114824879994,80.94950540616911
4
+ seen,order,wrong_cone,39373,39373,55,27,13,39373,0.03301755009778275,5.723905723905723
5
+ seen,family,nearest,39373,39373,929,352,38947,39373,98.91804028141112,91.9990999906054
6
+ seen,family,in_cone,39373,39373,929,352,33834,39373,85.93198384679857,91.16834619766114
7
+ seen,family,wrong_cone,39373,39373,929,352,1452,39373,3.6878063647677344,25.37967689095938
8
+ seen,genus,nearest,39373,39373,6819,1736,35404,39373,89.91948797399233,74.39413862473144
9
+ seen,genus,in_cone,39373,39373,6819,1736,37385,39373,94.95085464658523,98.3184227666783
10
+ seen,genus,wrong_cone,39373,39373,6819,1736,12251,39373,31.115231249841262,63.28530272443168
11
+ seen,species,nearest,39373,39373,11846,3483,31136,39373,79.07957229573566,64.76969016825808
12
+ seen,species,in_cone,39373,39373,11846,3483,38900,39373,98.7986691387499,98.54160422987667
13
+ seen,species,wrong_cone,39373,39373,11846,3483,22733,39373,57.73753587483809,76.4341184717034
14
+ unseen,order,nearest,7887,7887,55,11,7887,7887,100.0,100.0
15
+ unseen,order,in_cone,7887,7887,55,11,7220,7887,91.54304551794091,92.5610329571276
16
+ unseen,order,wrong_cone,7887,7887,55,11,0,7887,0.0,0.0
17
+ unseen,family,nearest,7887,7887,929,62,7764,7887,98.44047166222899,96.41165627324838
18
+ unseen,family,in_cone,7887,7887,929,62,7634,7887,96.79218967921896,94.42321344200899
19
+ unseen,family,wrong_cone,7887,7887,929,62,210,7887,2.6626093571700267,10.53946011317433
20
+ unseen,genus,nearest,7887,7887,6819,234,5018,7887,63.62368454418664,54.43667601181053
21
+ unseen,genus,in_cone,7887,7887,6819,234,6639,7887,84.17649296310384,85.49002634333023
22
+ unseen,genus,wrong_cone,7887,7887,6819,234,5139,7887,65.15785469760365,71.56647863255526
23
+ unseen,species,nearest,7887,0,11846,0,0,0,,
24
+ unseen,species,in_cone,7887,0,11846,0,0,0,,
25
+ unseen,species,wrong_cone,7887,0,11846,880,7496,7887,95.04247495879295,96.92462606837607
Ver_1_0/extracted_embedding/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/evaluation_complete.json ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model_output_name": "UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42",
3
+ "arm": "custom",
4
+ "source_job_id": 63780432,
5
+ "checkpoint_sha256": "d3feac60f8901d988ce3b2645077f33f6896c23a11c24c742f542e941829e1fd",
6
+ "expected_checkpoint_sha256": "d3feac60f8901d988ce3b2645077f33f6896c23a11c24c742f542e941829e1fd",
7
+ "saved_config_sha256": "0403ebdab60288b475aa82723333380d902fbd8a4e61554ecfff212c70832dfb",
8
+ "placement_sha256": "276f617eb71614e93b05d47914377031017fb5bb5f6fa8af3cc80a4de16a98c5",
9
+ "dataset": "BIOSCAN-5M",
10
+ "eval_on": "test",
11
+ "smoke": false,
12
+ "batch_size": 32,
13
+ "git_head": "1975aa9967215c33a340bf89f2b1f84089ec2e59",
14
+ "candidate_source": "unique training-known labels from saved placement",
15
+ "nearest_score": "directed hyperbolic exterior angle; float64 acos clipped to [-1,1]",
16
+ "cone_definition": "exterior angle <= half-aperture; same formula as validation audit",
17
+ "micro_definition": "equal weight per eligible query",
18
+ "macro_definition": "equal weight per represented eligible ground-truth class",
19
+ "detection_definition": "outside all training-known species cones",
20
+ "units": "percent",
21
+ "started_utc": "2026-10-11T08:30:37Z",
22
+ "forward_validation_kind": "deterministic repeated extraction; no independent validation cache",
23
+ "forward_repeat_max_absolute_error": 0.0,
24
+ "query_barcode_sha256": {
25
+ "unseen": "f37c4dfc4b9a1f015e858a8f15e8f11778e2e3e2c9809a3d43378ece6949189b",
26
+ "seen": "fa004e4daade47d46585878f4fa537370b45e695c96280cbcc5d4be41f68a26f"
27
+ },
28
+ "completed": true,
29
+ "completed_utc": "2026-10-11T08:34:48Z",
30
+ "query_counts": {
31
+ "seen": 39373,
32
+ "unseen": 7887
33
+ },
34
+ "checkpoint": "Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/last.pth",
35
+ "saved_config": "Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/config.yaml",
36
+ "portable_config_sha256": "dfc129aaae103b87b9a5642afd0525da79e2916a71670be8a7737a74d7abf7cc",
37
+ "placement": "Ver_1_0/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/seen_taxonomy_placement.pt",
38
+ "dataset_path": "data/BIOSCAN_5M/BIOSCAN_5M.hdf5",
39
+ "saved_config_note": "Portable copy; original saved-config identity retained separately. Only root/path substitutions and W&B activation changed.",
40
+ "code_sha256": {
41
+ "evaluate_unireps_test.py": "a7bdeae153783b71c5b730ac5232211c436760a0b52679e1f675d32e6c94ea8d",
42
+ "evaluate_larger_gap_comparison.py": "bf76b02950bce4b6885970f97056dc740545514523cf460469ee453fe8ff2961",
43
+ "simple_clip.py": "43306afc8424fa86a9416e46eca52e11d97dad39f92ed4730ac135487e0934d7",
44
+ "util.py": "8d82766f1e847e594b28f574a7c70125db1a9c53298e0f6aa8e8cf3a35121e27",
45
+ "dataset.py": "590c73cfecb870a81f90da9d3062e2bf4e8a37214c270110121e661f70f53304",
46
+ "lorentz.py": "f6f798e61cceaa4fa63d43bec742d58d4041b384b80b0282b117e353be984cc6"
47
+ },
48
+ "release_artifact_sha256": {
49
+ "extracted_feature_from_test_split.hdf5": "1824c621eb3891cff0bd53e198ae6c2931b9951d7664cebf4f40e367d6ddb735",
50
+ "labels_test.json": "e7bd399b784cef7bced28dee3abd974d6eb0bb0129b281f485169d4171bf8b58",
51
+ "processed_id_test.json": "b6a8e116593002f434fd1ddd5e7696af6cac3579ae46d19bf39087c704655235",
52
+ "dna_to_label.csv": "dba7716134ddc27d1aadb9ede0a7c11f1839a513dd9926f1c3320f6c2d1e2654",
53
+ "species_detection.csv": "f9c0d94e692362b813f12322d812cc4dcec1e0cdf9a62fac9c0f3cab8015f4b1"
54
+ }
55
+ }
Ver_1_0/extracted_embedding/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1824c621eb3891cff0bd53e198ae6c2931b9951d7664cebf4f40e367d6ddb735
3
+ size 145187200
Ver_1_0/extracted_embedding/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/labels_test.json ADDED
The diff for this file is too large to render. See raw diff
 
Ver_1_0/extracted_embedding/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/processed_id_test.json ADDED
The diff for this file is too large to render. See raw diff
 
Ver_1_0/extracted_embedding/bioscan_5m/UniReps_MERU_style_4rank_posEL02_CL1_768d_nonres_gap05_15epochs_seed42/species_detection.csv ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ split,metric,count,denominator,percentage
2
+ seen,FPR,201,39373,0.5105021207426409
3
+ unseen,DR,391,7887,4.95752504120705
Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/dna_to_label.csv ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ split,rank,metric,queries,eligible_known_truth,candidates,classes,count,denominator,micro_percentage,macro_percentage
2
+ seen,order,nearest,39373,39373,55,27,0,39373,0.0,0.0
3
+ seen,order,in_cone,39373,39373,55,27,39361,39373,99.9695222614482,98.27828099771767
4
+ seen,order,wrong_cone,39373,39373,55,27,39373,39373,100.0,100.0
5
+ seen,family,nearest,39373,39373,929,352,0,39373,0.0,0.0
6
+ seen,family,in_cone,39373,39373,929,352,39328,39373,99.88570848043075,99.25188827509346
7
+ seen,family,wrong_cone,39373,39373,929,352,39373,39373,100.0,100.0
8
+ seen,genus,nearest,39373,39373,6819,1736,0,39373,0.0,0.0
9
+ seen,genus,in_cone,39373,39373,6819,1736,39237,39373,99.65458562974628,99.25756491016358
10
+ seen,genus,wrong_cone,39373,39373,6819,1736,39373,39373,100.0,100.0
11
+ seen,species,nearest,39373,39373,11846,3483,3,39373,0.007619434637949864,0.028710881424059722
12
+ seen,species,in_cone,39373,39373,11846,3483,38600,39373,98.03672567495492,97.60432239949537
13
+ seen,species,wrong_cone,39373,39373,11846,3483,39373,39373,100.0,100.0
14
+ unseen,order,nearest,7887,7887,55,11,0,7887,0.0,0.0
15
+ unseen,order,in_cone,7887,7887,55,11,7887,7887,100.0,100.0
16
+ unseen,order,wrong_cone,7887,7887,55,11,7887,7887,100.0,100.0
17
+ unseen,family,nearest,7887,7887,929,62,0,7887,0.0,0.0
18
+ unseen,family,in_cone,7887,7887,929,62,7866,7887,99.733739064283,98.59686288338378
19
+ unseen,family,wrong_cone,7887,7887,929,62,7887,7887,100.0,100.0
20
+ unseen,genus,nearest,7887,7887,6819,234,0,7887,0.0,0.0
21
+ unseen,genus,in_cone,7887,7887,6819,234,7827,7887,99.23925446937999,98.75049340751639
22
+ unseen,genus,wrong_cone,7887,7887,6819,234,7887,7887,100.0,100.0
23
+ unseen,species,nearest,7887,0,11846,0,0,0,,
24
+ unseen,species,in_cone,7887,0,11846,0,0,0,,
25
+ unseen,species,wrong_cone,7887,0,11846,880,7887,7887,100.0,100.0
Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/evaluation_complete.json ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model_output_name": "UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42",
3
+ "arm": "custom",
4
+ "source_job_id": 295516,
5
+ "checkpoint_sha256": "542478eb799eea14243c8b4606d926db51585fde5852a2d79c097c577f8a50c3",
6
+ "expected_checkpoint_sha256": null,
7
+ "saved_config_sha256": "02a1494be9be662627ad333439c3a6e1f9467eda529fdf325de98071b9009a9e",
8
+ "placement_sha256": "276f617eb71614e93b05d47914377031017fb5bb5f6fa8af3cc80a4de16a98c5",
9
+ "dataset": "BIOSCAN-5M",
10
+ "eval_on": "test",
11
+ "smoke": false,
12
+ "batch_size": 32,
13
+ "git_head": "3ba775a4da41f94f4dea94ed541d4e4ca41edcfd",
14
+ "candidate_source": "unique training-known labels from saved placement",
15
+ "nearest_score": "directed hyperbolic exterior angle; float64 acos clipped to [-1,1]",
16
+ "cone_definition": "exterior angle <= half-aperture; same formula as validation audit",
17
+ "micro_definition": "equal weight per eligible query",
18
+ "macro_definition": "equal weight per represented eligible ground-truth class",
19
+ "detection_definition": "outside all training-known species cones",
20
+ "units": "percent",
21
+ "started_utc": "2026-10-10T22:51:25Z",
22
+ "forward_validation_kind": "deterministic repeated extraction; no independent validation cache",
23
+ "forward_repeat_max_absolute_error": 0.0,
24
+ "query_barcode_sha256": {
25
+ "unseen": "f37c4dfc4b9a1f015e858a8f15e8f11778e2e3e2c9809a3d43378ece6949189b",
26
+ "seen": "fa004e4daade47d46585878f4fa537370b45e695c96280cbcc5d4be41f68a26f"
27
+ },
28
+ "completed": true,
29
+ "completed_utc": "2026-10-10T22:53:25Z",
30
+ "query_counts": {
31
+ "seen": 39373,
32
+ "unseen": 7887
33
+ },
34
+ "checkpoint": "Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/last.pth",
35
+ "saved_config": "Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/config.yaml",
36
+ "portable_config_sha256": "239b8a4812832f45753f30365431b997628a5404b28f5f4c8931831886c97066",
37
+ "placement": "Ver_1_0/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/seen_taxonomy_placement.pt",
38
+ "dataset_path": "data/BIOSCAN_5M/BIOSCAN_5M.hdf5",
39
+ "saved_config_note": "Portable copy; original saved-config identity retained separately. Only root/path substitutions and W&B activation changed.",
40
+ "code_sha256": {
41
+ "evaluate_unireps_test.py": "a7bdeae153783b71c5b730ac5232211c436760a0b52679e1f675d32e6c94ea8d",
42
+ "evaluate_larger_gap_comparison.py": "bf76b02950bce4b6885970f97056dc740545514523cf460469ee453fe8ff2961",
43
+ "simple_clip.py": "43306afc8424fa86a9416e46eca52e11d97dad39f92ed4730ac135487e0934d7",
44
+ "util.py": "29b3afd650b644cefd45bb43881c24e63bfef702064ac61d0035041e379497d0",
45
+ "dataset.py": "590c73cfecb870a81f90da9d3062e2bf4e8a37214c270110121e661f70f53304",
46
+ "lorentz.py": "f6f798e61cceaa4fa63d43bec742d58d4041b384b80b0282b117e353be984cc6"
47
+ },
48
+ "release_artifact_sha256": {
49
+ "extracted_feature_from_test_split.hdf5": "87bf330647f973101101962ba12e9a8d7a947bf88744bf5a5832d3f670a3d2cb",
50
+ "labels_test.json": "e7bd399b784cef7bced28dee3abd974d6eb0bb0129b281f485169d4171bf8b58",
51
+ "processed_id_test.json": "b6a8e116593002f434fd1ddd5e7696af6cac3579ae46d19bf39087c704655235",
52
+ "dna_to_label.csv": "0ad3faba3c32a685af70df00824fb3fe5c48035f30beba2f6a9488e8b1a8254b",
53
+ "species_detection.csv": "7e716df226ab32e5d5901f4822d4a49a3f6582d57b4d947b0b87d3ace9470cdc"
54
+ }
55
+ }
Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:87bf330647f973101101962ba12e9a8d7a947bf88744bf5a5832d3f670a3d2cb
3
+ size 145187200
Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/labels_test.json ADDED
The diff for this file is too large to render. See raw diff
 
Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/processed_id_test.json ADDED
The diff for this file is too large to render. See raw diff
 
Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_no_radius_barrier_4rank_posneg_768d_nonres_gap05_15epochs_seed42/species_detection.csv ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ split,metric,count,denominator,percentage
2
+ seen,FPR,0,39373,0.0
3
+ unseen,DR,0,7887,0.0
Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/dna_to_label.csv ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ split,rank,metric,queries,eligible_known_truth,candidates,classes,count,denominator,micro_percentage,macro_percentage
2
+ seen,order,nearest,39373,39373,55,27,19815,39373,50.32636578365885,70.93944371597878
3
+ seen,order,in_cone,39373,39373,55,27,39295,39373,99.80189469941331,77.6727279381519
4
+ seen,order,wrong_cone,39373,39373,55,27,653,39373,1.658496939527087,29.743296446971968
5
+ seen,family,nearest,39373,39373,929,352,9233,39373,23.450080004063697,11.193091603819791
6
+ seen,family,in_cone,39373,39373,929,352,39276,39373,99.75363828003962,97.43852125133024
7
+ seen,family,wrong_cone,39373,39373,929,352,21380,39373,54.3011708531227,93.71543460050184
8
+ seen,genus,nearest,39373,39373,6819,1736,1835,39373,4.660554186879334,4.0414462301212355
9
+ seen,genus,in_cone,39373,39373,6819,1736,39068,39373,99.2253574784751,97.8710024662798
10
+ seen,genus,wrong_cone,39373,39373,6819,1736,39078,39373,99.25075559393493,99.77573481104484
11
+ seen,species,nearest,39373,39373,11846,3483,1224,39373,3.1087293322835445,3.0499702755624707
12
+ seen,species,in_cone,39373,39373,11846,3483,36396,39373,92.43898102760775,89.93962750799035
13
+ seen,species,wrong_cone,39373,39373,11846,3483,39344,39373,99.92634546516649,99.88143137663941
14
+ unseen,order,nearest,7887,7887,55,11,6145,7887,77.91302142766578,81.81263294182929
15
+ unseen,order,in_cone,7887,7887,55,11,7885,7887,99.974641815646,99.99630074909831
16
+ unseen,order,wrong_cone,7887,7887,55,11,49,7887,0.6212755166730062,18.22496891901256
17
+ unseen,family,nearest,7887,7887,929,62,2306,7887,29.23798656016229,11.293998015265306
18
+ unseen,family,in_cone,7887,7887,929,62,7862,7887,99.68302269557499,99.28430838370481
19
+ unseen,family,wrong_cone,7887,7887,929,62,2836,7887,35.95790541397236,80.79053401792832
20
+ unseen,genus,nearest,7887,7887,6819,234,285,7887,3.6135412704450363,3.491912849055706
21
+ unseen,genus,in_cone,7887,7887,6819,234,7400,7887,93.82528210980094,92.45360225691121
22
+ unseen,genus,wrong_cone,7887,7887,6819,234,7875,7887,99.847850893876,99.55519786136526
23
+ unseen,species,nearest,7887,0,11846,0,0,0,,
24
+ unseen,species,in_cone,7887,0,11846,0,0,0,,
25
+ unseen,species,wrong_cone,7887,0,11846,880,7880,7887,99.911246354761,99.93881118881119
Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/evaluation_complete.json ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model_output_name": "UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42",
3
+ "arm": "custom",
4
+ "source_job_id": 63780435,
5
+ "checkpoint_sha256": "74064b88cb700e226975a78e9ae012bacbcf01763bbe69c22a5dac3a81f892d6",
6
+ "expected_checkpoint_sha256": "74064b88cb700e226975a78e9ae012bacbcf01763bbe69c22a5dac3a81f892d6",
7
+ "saved_config_sha256": "ceee82b2bb9558908ac1580bd791e03f38430efc785833aa66c1f890c28fa382",
8
+ "placement_sha256": "276f617eb71614e93b05d47914377031017fb5bb5f6fa8af3cc80a4de16a98c5",
9
+ "dataset": "BIOSCAN-5M",
10
+ "eval_on": "test",
11
+ "smoke": false,
12
+ "batch_size": 128,
13
+ "git_head": "1e343e8ae9ae8429fe63776cbe21a93dc25359e7",
14
+ "candidate_source": "unique training-known labels from saved placement",
15
+ "nearest_score": "directed hyperbolic exterior angle; float64 acos clipped to [-1,1]",
16
+ "cone_definition": "exterior angle <= half-aperture; same formula as validation audit",
17
+ "micro_definition": "equal weight per eligible query",
18
+ "macro_definition": "equal weight per represented eligible ground-truth class",
19
+ "detection_definition": "outside all training-known species cones",
20
+ "units": "percent",
21
+ "started_utc": "2026-10-11T09:34:37Z",
22
+ "forward_validation_kind": "deterministic repeated extraction; no independent validation cache",
23
+ "forward_repeat_max_absolute_error": 0.0,
24
+ "query_barcode_sha256": {
25
+ "unseen": "f37c4dfc4b9a1f015e858a8f15e8f11778e2e3e2c9809a3d43378ece6949189b",
26
+ "seen": "fa004e4daade47d46585878f4fa537370b45e695c96280cbcc5d4be41f68a26f"
27
+ },
28
+ "completed": true,
29
+ "completed_utc": "2026-10-11T09:36:41Z",
30
+ "query_counts": {
31
+ "seen": 39373,
32
+ "unseen": 7887
33
+ },
34
+ "checkpoint": "Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/last.pth",
35
+ "saved_config": "Ver_1_0/ckpt/bioscan_clip/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/config.yaml",
36
+ "portable_config_sha256": "d6e7e10753ec08b141713f2b136e1eef8d17547b33fe82fefceb113a4e878f44",
37
+ "placement": "Ver_1_0/extracted_embedding/training_seen_taxonomy_768d_weighted_simplex_beta025_margin05_gap05_placement/seen_taxonomy_placement.pt",
38
+ "dataset_path": "data/BIOSCAN_5M/BIOSCAN_5M.hdf5",
39
+ "saved_config_note": "Portable copy; original saved-config identity retained separately. Only root/path substitutions and W&B activation changed.",
40
+ "code_sha256": {
41
+ "evaluate_unireps_test.py": "a7bdeae153783b71c5b730ac5232211c436760a0b52679e1f675d32e6c94ea8d",
42
+ "evaluate_larger_gap_comparison.py": "bf76b02950bce4b6885970f97056dc740545514523cf460469ee453fe8ff2961",
43
+ "simple_clip.py": "43306afc8424fa86a9416e46eca52e11d97dad39f92ed4730ac135487e0934d7",
44
+ "util.py": "29b3afd650b644cefd45bb43881c24e63bfef702064ac61d0035041e379497d0",
45
+ "dataset.py": "590c73cfecb870a81f90da9d3062e2bf4e8a37214c270110121e661f70f53304",
46
+ "lorentz.py": "f6f798e61cceaa4fa63d43bec742d58d4041b384b80b0282b117e353be984cc6"
47
+ },
48
+ "release_artifact_sha256": {
49
+ "extracted_feature_from_test_split.hdf5": "a5758b985c95461b0a76f62427fdb33086882e1f470bd9c29d3fab674ce12b52",
50
+ "labels_test.json": "e7bd399b784cef7bced28dee3abd974d6eb0bb0129b281f485169d4171bf8b58",
51
+ "processed_id_test.json": "b6a8e116593002f434fd1ddd5e7696af6cac3579ae46d19bf39087c704655235",
52
+ "dna_to_label.csv": "f88971b882f592d27355698c8b647f8d8343c82fedec3d73aa4efe1b5a56ca87",
53
+ "species_detection.csv": "832a7798e9d22ed05fc88a594b97e005d4382c9ea0399305b6e79bcb567c1872"
54
+ }
55
+ }
Ver_1_0/extracted_embedding/bioscan_5m/UniReps_SEL_basic_plus_allocation_768d_nonres_gap05_15epochs_seed42/extracted_feature_from_test_split.hdf5 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a5758b985c95461b0a76f62427fdb33086882e1f470bd9c29d3fab674ce12b52
3
+ size 145187200