- 移除 JEPA/lejepa-identifiability 子模块 gitlink - 移除 research/multiply/MultiPLY 子模块 gitlink - 删除 .gitmodules(不再有外部 URL 依赖) - 两个目录内容作为普通文件纳入主仓库追踪 - 删除各自内部 .git 目录,消除嵌套 git 仓库
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# 2D illustration + Gaussian half of the regularizer ablation
|
||||
# python run.py --config configs/2d.yaml --run spiral_lejepa --seed 1337
|
||||
|
||||
experiment: 2d
|
||||
out: results/2d
|
||||
|
||||
# Data
|
||||
N: 2
|
||||
source_dist: gaussian
|
||||
num_eval: 10000
|
||||
|
||||
# Training (shared)
|
||||
steps: 20000
|
||||
lr: 3.0e-3
|
||||
batch_size: 256
|
||||
rho: 0.95
|
||||
log_every: 500
|
||||
|
||||
# Per-run specs: 4 mixings x 2 objectives
|
||||
runs:
|
||||
spiral_lejepa: {mixing: spiral, encoder: mlp, hidden: 256, mode: lejepa, lamb: 1.0e-3}
|
||||
spiral_whiten: {mixing: spiral, encoder: mlp, hidden: 256, mode: whiten, lamb: 0.5}
|
||||
banana_lejepa: {mixing: banana, encoder: mlp, hidden: 256, mode: lejepa, lamb: 1.0e-3}
|
||||
banana_whiten: {mixing: banana, encoder: mlp, hidden: 256, mode: whiten, lamb: 0.5}
|
||||
sinusoid_lejepa: {mixing: sinusoid, encoder: mlp, hidden: 256, mode: lejepa, lamb: 1.0e-3}
|
||||
sinusoid_whiten: {mixing: sinusoid, encoder: mlp, hidden: 256, mode: whiten, lamb: 0.5}
|
||||
nvp_lejepa: {mixing: nvp, encoder: matched, n_layers: 8, mode: lejepa, lamb: 1.0e-3}
|
||||
nvp_whiten: {mixing: nvp, encoder: matched, n_layers: 8, mode: whiten, lamb: 0.5}
|
||||
|
||||
seeds: [1337, 1338, 1339]
|
||||
@@ -0,0 +1,32 @@
|
||||
# Generalized normal sweep across mixings (main-text figure)
|
||||
# python run.py --config configs/gennorm.yaml --run spiral_lejepa --alpha 2.0 --seed 1337
|
||||
|
||||
experiment: gennorm
|
||||
out: results/gennorm
|
||||
|
||||
N: 2
|
||||
source_dist: gennorm # alpha provided per-run via CLI
|
||||
num_eval: 10000
|
||||
|
||||
steps: 20000
|
||||
lr: 3.0e-3
|
||||
batch_size: 256
|
||||
rho: 0.95
|
||||
log_every: 500
|
||||
|
||||
runs:
|
||||
spiral_lejepa: {mixing: spiral, encoder: mlp, hidden: 256, mode: lejepa, lamb: 1.0e-3}
|
||||
spiral_whiten: {mixing: spiral, encoder: mlp, hidden: 256, mode: whiten, lamb: 0.5}
|
||||
spiral_infonce: {mixing: spiral, encoder: mlp, hidden: 256, mode: infonce, sigma: 1.0}
|
||||
banana_lejepa: {mixing: banana, encoder: mlp, hidden: 256, mode: lejepa, lamb: 1.0e-3}
|
||||
banana_whiten: {mixing: banana, encoder: mlp, hidden: 256, mode: whiten, lamb: 0.5}
|
||||
banana_infonce: {mixing: banana, encoder: mlp, hidden: 256, mode: infonce, sigma: 1.0}
|
||||
sinusoid_lejepa: {mixing: sinusoid, encoder: mlp, hidden: 256, mode: lejepa, lamb: 1.0e-3}
|
||||
sinusoid_whiten: {mixing: sinusoid, encoder: mlp, hidden: 256, mode: whiten, lamb: 0.5}
|
||||
sinusoid_infonce: {mixing: sinusoid, encoder: mlp, hidden: 256, mode: infonce, sigma: 1.0}
|
||||
nvp_lejepa: {mixing: nvp, encoder: matched, n_layers: 8, mode: lejepa, lamb: 1.0e-3}
|
||||
nvp_whiten: {mixing: nvp, encoder: matched, n_layers: 8, mode: whiten, lamb: 0.5}
|
||||
nvp_infonce: {mixing: nvp, encoder: matched, n_layers: 8, mode: infonce, sigma: 1.0}
|
||||
|
||||
alphas: [0.125, 0.25, 0.5, 1.0, 2.0, 4.0, 8.0, 16.0, 32.0]
|
||||
seeds: [1337, 1338, 1339]
|
||||
@@ -0,0 +1,27 @@
|
||||
# Grid search over lambda and rho (bound verification figure)
|
||||
# python run.py --config configs/grid.yaml --lamb 0.01 --rho 0.9 --seed 0
|
||||
|
||||
experiment: grid
|
||||
out: results/grid
|
||||
|
||||
# Data
|
||||
N: 2
|
||||
source_dist: gaussian
|
||||
num_eval: 10000
|
||||
|
||||
# Training (shared)
|
||||
steps: 20000
|
||||
lr: 3.0e-3
|
||||
batch_size: 256
|
||||
log_every: 500
|
||||
|
||||
# Encoder
|
||||
encoder: mlp
|
||||
hidden: 256
|
||||
mixing: spiral
|
||||
mode: lejepa
|
||||
|
||||
# Sweep dimensions
|
||||
lambs: [1.0e-6, 1.0e-5, 1.0e-4, 1.0e-3, 5.0e-3, 1.0e-2, 5.0e-2, 1.0e-1, 5.0e-1]
|
||||
rhos: [0.3, 0.5, 0.7, 0.8, 0.9, 0.95, 0.99]
|
||||
seeds: [0, 1, 2]
|
||||
@@ -0,0 +1,29 @@
|
||||
# Reacher pixel-observation identifiability experiment
|
||||
# Works for both OU and trajectory data — just point --data_dir at the right place.
|
||||
#
|
||||
# Prerender:
|
||||
# python prerender.py eval
|
||||
# python prerender.py ou --rho 0.95
|
||||
# python prerender.py traj --delta 16 --h5_path data/reacher.h5
|
||||
#
|
||||
# Train:
|
||||
# python run_reacher.py --config configs/reacher.yaml \
|
||||
# --data_dir data/reacher/ou/rho=0.95
|
||||
|
||||
experiment: reacher
|
||||
out: results/reacher
|
||||
data_root: data/reacher
|
||||
|
||||
# Model
|
||||
d_latent: 2
|
||||
|
||||
# Training
|
||||
epochs: 100
|
||||
batch_size: 256
|
||||
lr: 3.0e-3
|
||||
n_slices: 256
|
||||
n_eval_fast: 2000
|
||||
|
||||
# Sweep dimensions
|
||||
lambs: [1.0e-3, 5.0e-3, 1.0e-2, 5.0e-2]
|
||||
seeds: [0, 1, 2]
|
||||
@@ -0,0 +1,36 @@
|
||||
# Scaling experiment (paper figure)
|
||||
# python run.py --config configs/scaling.yaml --N 16 --seed 0
|
||||
# python run.py --config configs/scaling.yaml --N 16 --seed 0 --mode infonce
|
||||
# python run.py --config configs/scaling.yaml --N 16 --seed 0 --mode whiten
|
||||
|
||||
experiment: scaling
|
||||
out: results/scaling
|
||||
|
||||
# Data
|
||||
source_dist: gaussian
|
||||
num_eval: 10000
|
||||
|
||||
# Training (shared)
|
||||
steps: 20000
|
||||
lr: 3.0e-3
|
||||
batch_size: 256
|
||||
rho: 0.95
|
||||
log_every: 500
|
||||
|
||||
# Encoder
|
||||
encoder: matched
|
||||
n_layers: 4
|
||||
mode: lejepa # default; override with --mode
|
||||
|
||||
# Mode-specific defaults (used based on --mode)
|
||||
lamb: 1.0e-6 # for lejepa
|
||||
lamb_whiten: 0.5 # used when mode=whiten
|
||||
sigma: 1.0 # for infonce
|
||||
|
||||
# Mixing
|
||||
mixing: coupling
|
||||
|
||||
# Sweep dimensions
|
||||
dims: [2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]
|
||||
seeds: [0, 1, 2, 3, 4]
|
||||
K: 3 # parallel encoder runs per (N, seed); pick lowest loss
|
||||
Reference in New Issue
Block a user