Instructions to use zachtheyek/aetherscan with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Keras
How to use zachtheyek/aetherscan with Keras:
# Available backend options are: "jax", "torch", "tensorflow". import os os.environ["KERAS_BACKEND"] = "jax" import keras model = keras.saving.load_model("hf://zachtheyek/aetherscan") - Notebooks
- Google Colab
- Kaggle
train_20260729_152426
Browse files- README.md +13 -13
- config.json +67 -41
- random_forest.joblib +2 -2
- vae_decoder.keras +1 -1
- vae_encoder.keras +1 -1
README.md
CHANGED
|
@@ -17,10 +17,10 @@ a 6-observation cadence (3 ON / 3 OFF, ABACAD) into an 8-dimensional latent, and
|
|
| 17 |
Forest** classifies the cadence's concatenated latents as a technosignature candidate or not.
|
| 18 |
|
| 19 |
This repository carries the released model weights at stable filenames, versioned via git
|
| 20 |
-
tags: training tags match the pipeline run's save tag (e.g. `
|
| 21 |
-
(`vX.Y.Z`) mark blessed weights.
|
| 22 |
|
| 23 |
-
**Training tag**: `
|
| 24 |
|
| 25 |
## Files
|
| 26 |
|
|
@@ -35,10 +35,10 @@ tags: training tags match the pipeline run's save tag (e.g. `final_v3`), and rel
|
|
| 35 |
|
| 36 |
| Parameter | Value |
|
| 37 |
|---|---|
|
| 38 |
-
| Training rounds | `
|
| 39 |
-
| Epochs per round | `
|
| 40 |
-
| Beta-VAE samples per round | `
|
| 41 |
-
| Random Forest samples | `
|
| 42 |
| Curriculum schedule | `exponential` |
|
| 43 |
| SNR base | `10` |
|
| 44 |
| Initial SNR range | `40` |
|
|
@@ -54,10 +54,10 @@ The complete configuration is in `config.json`.
|
|
| 54 |
|
| 55 |
| Metric | Value |
|
| 56 |
|---|---|
|
| 57 |
-
| ROC AUC |
|
| 58 |
-
| Average precision |
|
| 59 |
| Classification threshold | 0.99 |
|
| 60 |
-
| Validation samples |
|
| 61 |
|
| 62 |
## Library versions
|
| 63 |
|
|
@@ -71,11 +71,11 @@ The complete configuration is in `config.json`.
|
|
| 71 |
|
| 72 |
## Usage
|
| 73 |
|
| 74 |
-
|
| 75 |
-
|
| 76 |
|
| 77 |
```bash
|
| 78 |
-
python -m aetherscan.main inference --hf-revision
|
| 79 |
```
|
| 80 |
|
| 81 |
## Links & citation
|
|
|
|
| 17 |
Forest** classifies the cadence's concatenated latents as a technosignature candidate or not.
|
| 18 |
|
| 19 |
This repository carries the released model weights at stable filenames, versioned via git
|
| 20 |
+
tags: training tags match the pipeline run's save tag (e.g. `train_20260101_120000`), and
|
| 21 |
+
release tags (`vX.Y.Z`) mark blessed weights.
|
| 22 |
|
| 23 |
+
**Training tag**: `train_20260729_152426`
|
| 24 |
|
| 25 |
## Files
|
| 26 |
|
|
|
|
| 35 |
|
| 36 |
| Parameter | Value |
|
| 37 |
|---|---|
|
| 38 |
+
| Training rounds | `10` |
|
| 39 |
+
| Epochs per round | `100` |
|
| 40 |
+
| Beta-VAE samples per round | `499200` |
|
| 41 |
+
| Random Forest samples | `99840` |
|
| 42 |
| Curriculum schedule | `exponential` |
|
| 43 |
| SNR base | `10` |
|
| 44 |
| Initial SNR range | `40` |
|
|
|
|
| 54 |
|
| 55 |
| Metric | Value |
|
| 56 |
|---|---|
|
| 57 |
+
| ROC AUC | 1.0000 |
|
| 58 |
+
| Average precision | 1.0000 |
|
| 59 |
| Classification threshold | 0.99 |
|
| 60 |
+
| Validation samples | 19968 |
|
| 61 |
|
| 62 |
## Library versions
|
| 63 |
|
|
|
|
| 71 |
|
| 72 |
## Usage
|
| 73 |
|
| 74 |
+
Pin this training tag with `--hf-revision` to download exactly these weights (a bare no-artifact
|
| 75 |
+
inference download resolves to the latest `vX.Y.Z` release tag instead, never a training tag):
|
| 76 |
|
| 77 |
```bash
|
| 78 |
+
python -m aetherscan.main inference --hf-revision train_20260729_152426 --inference-files <catalog.csv>
|
| 79 |
```
|
| 80 |
|
| 81 |
## Links & citation
|
config.json
CHANGED
|
@@ -1,19 +1,17 @@
|
|
| 1 |
{
|
| 2 |
-
"paths": {
|
| 3 |
-
"data_path": "/datax/scratch/zachy/data/aetherscan",
|
| 4 |
-
"model_path": "/datax/scratch/zachy/models/aetherscan",
|
| 5 |
-
"output_path": "/datax/scratch/zachy/outputs/aetherscan"
|
| 6 |
-
},
|
| 7 |
"db": {
|
| 8 |
"get_connection_timeout": 60.0,
|
| 9 |
"stop_writer_timeout": 10.0,
|
| 10 |
"write_interval": 5.0,
|
| 11 |
-
"write_buffer_max_size":
|
| 12 |
"write_retry_delay": 1.0,
|
| 13 |
-
"flush_timeout": 10.0
|
|
|
|
|
|
|
|
|
|
| 14 |
},
|
| 15 |
"manager": {
|
| 16 |
-
"n_processes":
|
| 17 |
"chunks_per_worker": 4,
|
| 18 |
"pool_terminate_timeout": 10.0
|
| 19 |
},
|
|
@@ -21,7 +19,11 @@
|
|
| 21 |
"get_gpu_timeout": 5.0,
|
| 22 |
"stop_monitor_timeout": 10.0,
|
| 23 |
"monitor_interval": 1.0,
|
| 24 |
-
"monitor_retry_delay": 1.0
|
|
|
|
|
|
|
|
|
|
|
|
|
| 25 |
},
|
| 26 |
"logger": {
|
| 27 |
"console_level": "INFO",
|
|
@@ -44,20 +46,51 @@
|
|
| 44 |
3
|
| 45 |
],
|
| 46 |
"beta": 1.5,
|
| 47 |
-
"alpha": 10.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 48 |
},
|
| 49 |
"rf": {
|
| 50 |
"n_estimators": 1000,
|
| 51 |
"bootstrap": true,
|
| 52 |
"max_features": "sqrt",
|
| 53 |
"n_jobs": -1,
|
| 54 |
-
"seed":
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 55 |
},
|
| 56 |
"gpu": {
|
| 57 |
"num_replicas": null,
|
| 58 |
"per_gpu_memory_limit_mb": null,
|
| 59 |
"nccl_num_packs": 2,
|
| 60 |
-
"use_async_allocator": true
|
|
|
|
|
|
|
| 61 |
},
|
| 62 |
"data": {
|
| 63 |
"num_observations": 6,
|
|
@@ -69,40 +102,34 @@
|
|
| 69 |
"num_target_backgrounds": 45000,
|
| 70 |
"background_load_chunk_size": 15000,
|
| 71 |
"max_chunks_per_file": 1,
|
| 72 |
-
"inference_background_load_chunk_size": 50000
|
| 73 |
-
"train_files": [
|
| 74 |
-
"real_filtered_LARGE_HIP110750.npy",
|
| 75 |
-
"real_filtered_LARGE_HIP13402.npy",
|
| 76 |
-
"real_filtered_LARGE_HIP8497.npy"
|
| 77 |
-
],
|
| 78 |
-
"test_files": [
|
| 79 |
-
"real_filtered_LARGE_test_HIP15638.npy"
|
| 80 |
-
],
|
| 81 |
-
"inference_files": null
|
| 82 |
},
|
| 83 |
"training": {
|
| 84 |
-
"num_training_rounds":
|
| 85 |
-
"epochs_per_round":
|
| 86 |
-
"
|
| 87 |
-
"
|
|
|
|
|
|
|
|
|
|
| 88 |
"train_val_split": 0.8,
|
| 89 |
-
"per_replica_batch_size":
|
| 90 |
-
"effective_batch_size":
|
| 91 |
-
"per_replica_val_batch_size":
|
| 92 |
"signal_injection_chunk_size": 50000,
|
| 93 |
-
"data_gen_task_size":
|
|
|
|
| 94 |
"round_data_dir": null,
|
| 95 |
"overlap_data_generation": true,
|
| 96 |
-
"keep_round_data":
|
| 97 |
"plot_injection_subsampling_count": 100000,
|
| 98 |
"plot_injection_outlier_percentile": 99.0,
|
| 99 |
-
"latent_viz_num_cadences_per_type":
|
| 100 |
"latent_viz_step_interval": 10,
|
| 101 |
"latent_viz_umap_fit_max_samples": 100000,
|
| 102 |
"latent_viz_umap_n_neighbors": [
|
| 103 |
5,
|
| 104 |
15,
|
| 105 |
-
30,
|
| 106 |
50
|
| 107 |
],
|
| 108 |
"latent_viz_umap_min_dist": [
|
|
@@ -120,6 +147,7 @@
|
|
| 120 |
"shap_top_k_features_dependence": 48,
|
| 121 |
"rf_decision_boundary_grid_size": 150,
|
| 122 |
"rf_decision_boundary_max_points": 5000,
|
|
|
|
| 123 |
"snr_base": 10,
|
| 124 |
"initial_snr_range": 40,
|
| 125 |
"final_snr_range": 10,
|
|
@@ -132,15 +160,15 @@
|
|
| 132 |
"min_pct_improvement": 0.001,
|
| 133 |
"patience_threshold": 3,
|
| 134 |
"reduction_factor": 0.2,
|
| 135 |
-
"max_retries":
|
| 136 |
"retry_delay": 60
|
| 137 |
},
|
| 138 |
"inference": {
|
| 139 |
-
"encoder_path": null,
|
| 140 |
-
"rf_path": null,
|
| 141 |
-
"config_path": null,
|
| 142 |
"per_replica_batch_size": 2048,
|
| 143 |
"classification_threshold": 0.99,
|
|
|
|
|
|
|
|
|
|
| 144 |
"cadence_group_by_cols": [
|
| 145 |
"Target",
|
| 146 |
"Session",
|
|
@@ -151,7 +179,7 @@
|
|
| 151 |
"cadence_h5_path_col": ".h5 path",
|
| 152 |
"cadence_expected_obs": 6,
|
| 153 |
"coarse_channel_width": 1048576,
|
| 154 |
-
"
|
| 155 |
"bandpass_method": "pfb",
|
| 156 |
"pfb_taps_per_channel": 12,
|
| 157 |
"bandpass_debug_plot": false,
|
|
@@ -165,7 +193,6 @@
|
|
| 165 |
"overlap_fraction": 0.5,
|
| 166 |
"discard_side_channels": false,
|
| 167 |
"side_channel_count": 0,
|
| 168 |
-
"preprocess_output_dir": null,
|
| 169 |
"inference_viz_enabled": true,
|
| 170 |
"stamp_gallery_top_k": 12,
|
| 171 |
"max_candidate_plots": 50,
|
|
@@ -178,10 +205,9 @@
|
|
| 178 |
"revision": null
|
| 179 |
},
|
| 180 |
"checkpoint": {
|
| 181 |
-
"load_dir": null,
|
| 182 |
"load_tag": null,
|
| 183 |
"start_round": 1,
|
| 184 |
-
"save_tag": "
|
| 185 |
"force_tag": false
|
| 186 |
}
|
| 187 |
}
|
|
|
|
| 1 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
"db": {
|
| 3 |
"get_connection_timeout": 60.0,
|
| 4 |
"stop_writer_timeout": 10.0,
|
| 5 |
"write_interval": 5.0,
|
| 6 |
+
"write_buffer_max_size": 5000,
|
| 7 |
"write_retry_delay": 1.0,
|
| 8 |
+
"flush_timeout": 10.0,
|
| 9 |
+
"bulk_chunk_rows": 50000,
|
| 10 |
+
"bulk_queue_max_items": 32,
|
| 11 |
+
"stop_drain_timeout": 600.0
|
| 12 |
},
|
| 13 |
"manager": {
|
| 14 |
+
"n_processes": 96,
|
| 15 |
"chunks_per_worker": 4,
|
| 16 |
"pool_terminate_timeout": 10.0
|
| 17 |
},
|
|
|
|
| 19 |
"get_gpu_timeout": 5.0,
|
| 20 |
"stop_monitor_timeout": 10.0,
|
| 21 |
"monitor_interval": 1.0,
|
| 22 |
+
"monitor_retry_delay": 1.0,
|
| 23 |
+
"annotate_stages": true,
|
| 24 |
+
"dashboard_enabled": true,
|
| 25 |
+
"dashboard_port": 8501,
|
| 26 |
+
"benchmark_report_enabled": true
|
| 27 |
},
|
| 28 |
"logger": {
|
| 29 |
"console_level": "INFO",
|
|
|
|
| 46 |
3
|
| 47 |
],
|
| 48 |
"beta": 1.5,
|
| 49 |
+
"alpha": 10.0,
|
| 50 |
+
"mixed_precision": false,
|
| 51 |
+
"regularization_active": false
|
| 52 |
+
},
|
| 53 |
+
"reproducibility": {
|
| 54 |
+
"seed": 11,
|
| 55 |
+
"tf_deterministic_ops": true,
|
| 56 |
+
"derived_rf_seed": 961975133
|
| 57 |
},
|
| 58 |
"rf": {
|
| 59 |
"n_estimators": 1000,
|
| 60 |
"bootstrap": true,
|
| 61 |
"max_features": "sqrt",
|
| 62 |
"n_jobs": -1,
|
| 63 |
+
"seed": null,
|
| 64 |
+
"latent_variant": "z_mean",
|
| 65 |
+
"active_dims": [
|
| 66 |
+
0,
|
| 67 |
+
1,
|
| 68 |
+
2,
|
| 69 |
+
3,
|
| 70 |
+
4,
|
| 71 |
+
5,
|
| 72 |
+
6,
|
| 73 |
+
7
|
| 74 |
+
],
|
| 75 |
+
"z_aug_draws": 4,
|
| 76 |
+
"active_units_threshold": 0.01,
|
| 77 |
+
"selection_max_fpr": 0.01,
|
| 78 |
+
"selection_bootstrap_rounds": 500,
|
| 79 |
+
"max_ece": 0.05,
|
| 80 |
+
"calibration_min_isotonic": 1000,
|
| 81 |
+
"calibration_active": false,
|
| 82 |
+
"calibration_method": null,
|
| 83 |
+
"val_selection_fraction": 0.5,
|
| 84 |
+
"val_calibration_fraction": 0.25,
|
| 85 |
+
"screen_recall_tolerance": 0.0
|
| 86 |
},
|
| 87 |
"gpu": {
|
| 88 |
"num_replicas": null,
|
| 89 |
"per_gpu_memory_limit_mb": null,
|
| 90 |
"nccl_num_packs": 2,
|
| 91 |
+
"use_async_allocator": true,
|
| 92 |
+
"gpu_thread_mode": "gpu_private",
|
| 93 |
+
"gpu_thread_count": 2
|
| 94 |
},
|
| 95 |
"data": {
|
| 96 |
"num_observations": 6,
|
|
|
|
| 102 |
"num_target_backgrounds": 45000,
|
| 103 |
"background_load_chunk_size": 15000,
|
| 104 |
"max_chunks_per_file": 1,
|
| 105 |
+
"inference_background_load_chunk_size": 50000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 106 |
},
|
| 107 |
"training": {
|
| 108 |
+
"num_training_rounds": 10,
|
| 109 |
+
"epochs_per_round": 100,
|
| 110 |
+
"posterior_collapse_kl_epsilon": 0.01,
|
| 111 |
+
"min_active_units_fraction": 0.5,
|
| 112 |
+
"posterior_collapse_patience": 5,
|
| 113 |
+
"num_samples_beta_vae": 499200,
|
| 114 |
+
"num_samples_rf": 99840,
|
| 115 |
"train_val_split": 0.8,
|
| 116 |
+
"per_replica_batch_size": 128,
|
| 117 |
+
"effective_batch_size": 7680,
|
| 118 |
+
"per_replica_val_batch_size": 64,
|
| 119 |
"signal_injection_chunk_size": 50000,
|
| 120 |
+
"data_gen_task_size": 64,
|
| 121 |
+
"round_array_dtype": "float16",
|
| 122 |
"round_data_dir": null,
|
| 123 |
"overlap_data_generation": true,
|
| 124 |
+
"keep_round_data": true,
|
| 125 |
"plot_injection_subsampling_count": 100000,
|
| 126 |
"plot_injection_outlier_percentile": 99.0,
|
| 127 |
+
"latent_viz_num_cadences_per_type": 960,
|
| 128 |
"latent_viz_step_interval": 10,
|
| 129 |
"latent_viz_umap_fit_max_samples": 100000,
|
| 130 |
"latent_viz_umap_n_neighbors": [
|
| 131 |
5,
|
| 132 |
15,
|
|
|
|
| 133 |
50
|
| 134 |
],
|
| 135 |
"latent_viz_umap_min_dist": [
|
|
|
|
| 147 |
"shap_top_k_features_dependence": 48,
|
| 148 |
"rf_decision_boundary_grid_size": 150,
|
| 149 |
"rf_decision_boundary_max_points": 5000,
|
| 150 |
+
"min_val_auc": 0.0,
|
| 151 |
"snr_base": 10,
|
| 152 |
"initial_snr_range": 40,
|
| 153 |
"final_snr_range": 10,
|
|
|
|
| 160 |
"min_pct_improvement": 0.001,
|
| 161 |
"patience_threshold": 3,
|
| 162 |
"reduction_factor": 0.2,
|
| 163 |
+
"max_retries": 3,
|
| 164 |
"retry_delay": 60
|
| 165 |
},
|
| 166 |
"inference": {
|
|
|
|
|
|
|
|
|
|
| 167 |
"per_replica_batch_size": 2048,
|
| 168 |
"classification_threshold": 0.99,
|
| 169 |
+
"screening_threshold": 0.5,
|
| 170 |
+
"mc_draws": 32,
|
| 171 |
+
"reference_cloud_size": 10000,
|
| 172 |
"cadence_group_by_cols": [
|
| 173 |
"Target",
|
| 174 |
"Session",
|
|
|
|
| 179 |
"cadence_h5_path_col": ".h5 path",
|
| 180 |
"cadence_expected_obs": 6,
|
| 181 |
"coarse_channel_width": 1048576,
|
| 182 |
+
"coarse_channel_log_interval": null,
|
| 183 |
"bandpass_method": "pfb",
|
| 184 |
"pfb_taps_per_channel": 12,
|
| 185 |
"bandpass_debug_plot": false,
|
|
|
|
| 193 |
"overlap_fraction": 0.5,
|
| 194 |
"discard_side_channels": false,
|
| 195 |
"side_channel_count": 0,
|
|
|
|
| 196 |
"inference_viz_enabled": true,
|
| 197 |
"stamp_gallery_top_k": 12,
|
| 198 |
"max_candidate_plots": 50,
|
|
|
|
| 205 |
"revision": null
|
| 206 |
},
|
| 207 |
"checkpoint": {
|
|
|
|
| 208 |
"load_tag": null,
|
| 209 |
"start_round": 1,
|
| 210 |
+
"save_tag": "train_20260729_152426",
|
| 211 |
"force_tag": false
|
| 212 |
}
|
| 213 |
}
|
random_forest.joblib
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:91d01d786ed70678f3924991fb4e314bce7fd3ed4a5c44c47f670f526f43a81e
|
| 3 |
+
size 15429465
|
vae_decoder.keras
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 18677748
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:cb94a0a40183971b3415bd9f23c8b3792f850ec0bfd02426b9deac3682dedff4
|
| 3 |
size 18677748
|
vae_encoder.keras
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 18667989
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9df2551c536cd70a86ff701f7a191a6d6bb3b650cb6b19c75acc9cdefc91c867
|
| 3 |
size 18667989
|