refactor: 将子模块转为普通目录,移除外部 git 依赖
Sync to site1 / sync (push) Has been cancelled

- 移除 JEPA/lejepa-identifiability 子模块 gitlink
- 移除 research/multiply/MultiPLY 子模块 gitlink
- 删除 .gitmodules(不再有外部 URL 依赖)
- 两个目录内容作为普通文件纳入主仓库追踪
- 删除各自内部 .git 目录,消除嵌套 git 仓库
This commit is contained in:
gaojie
2026-06-05 17:14:01 +08:00
parent cb629f18a1
commit c66855adfc
208 changed files with 23296 additions and 9 deletions
@@ -0,0 +1,27 @@
#!/bin/bash
#SBATCH --job-name=lejepa_2d
#SBATCH --output=logs/2d_%A_%a.out
#SBATCH --error=logs/2d_%A_%a.err
#SBATCH --partition=gpuq
#SBATCH --qos=slow_nice
#SBATCH --gres=gpu:v100:1
#SBATCH --cpus-per-task=4
#SBATCH --mem=16G
#SBATCH --time=02:00:00
#SBATCH --array=0-7 # 8 runs; seeds loop inside
RUNS=(spiral_lejepa spiral_whiten banana_lejepa banana_whiten \
sinusoid_lejepa sinusoid_whiten nvp_lejepa nvp_whiten)
SEEDS=(1337 1338 1339)
RUN=${RUNS[$SLURM_ARRAY_TASK_ID]}
eval "$(conda shell.bash hook)"
conda activate pytorch
mkdir -p logs
for SEED in "${SEEDS[@]}"; do
echo "${RUN} seed=${SEED}"
python run.py --config configs/2d.yaml \
--run "${RUN}" --seed "${SEED}"
done
@@ -0,0 +1,32 @@
#!/bin/bash
#SBATCH --job-name=lejepa_gennorm
#SBATCH --output=logs/gennorm_%A_%a.out
#SBATCH --error=logs/gennorm_%A_%a.err
#SBATCH --partition=gpuq
#SBATCH --qos=slow_nice
#SBATCH --gres=gpu:v100:1
#SBATCH --cpus-per-task=4
#SBATCH --mem=16G
#SBATCH --time=03:00:00
#SBATCH --array=0-71 # 8 runs x 9 alphas; seeds loop inside
RUNS=(spiral_lejepa spiral_whiten banana_lejepa banana_whiten \
sinusoid_lejepa sinusoid_whiten nvp_lejepa nvp_whiten)
ALPHAS=(0.125 0.25 0.5 1.0 2.0 4.0 8.0 16.0 32.0)
SEEDS=(1337 1338 1339)
N_ALPHAS=${#ALPHAS[@]}
RUN_IDX=$(( SLURM_ARRAY_TASK_ID / N_ALPHAS ))
ALPHA_IDX=$(( SLURM_ARRAY_TASK_ID % N_ALPHAS ))
RUN=${RUNS[$RUN_IDX]}
ALPHA=${ALPHAS[$ALPHA_IDX]}
eval "$(conda shell.bash hook)"
conda activate pytorch
mkdir -p logs
for SEED in "${SEEDS[@]}"; do
echo "${RUN} alpha=${ALPHA} seed=${SEED}"
python run.py --config configs/gennorm.yaml \
--run "${RUN}" --alpha "${ALPHA}" --seed "${SEED}"
done
@@ -0,0 +1,29 @@
#!/bin/bash
#SBATCH --job-name=lejepa_grid
#SBATCH --output=logs/grid_%A_%a.out
#SBATCH --error=logs/grid_%A_%a.err
#SBATCH --partition=gpuq
#SBATCH --qos=slow_nice
#SBATCH --gres=gpu:v100:1
#SBATCH --cpus-per-task=4
#SBATCH --mem=16G
#SBATCH --time=12:00:00
#SBATCH --array=0-8 # 9 lambda values; rhos and seeds loop inside
LAMBS=(1e-6 1e-5 1e-4 1e-3 5e-3 1e-2 5e-2 1e-1 5e-1)
RHOS=(0.3 0.5 0.7 0.8 0.9 0.95 0.99)
SEEDS=(0 1 2)
LAMB=${LAMBS[$SLURM_ARRAY_TASK_ID]}
eval "$(conda shell.bash hook)"
conda activate pytorch
mkdir -p logs
for RHO in "${RHOS[@]}"; do
for SEED in "${SEEDS[@]}"; do
echo "lamb=${LAMB} rho=${RHO} seed=${SEED}"
python run.py --config configs/grid.yaml \
--lamb "${LAMB}" --rho "${RHO}" --seed "${SEED}"
done
done
@@ -0,0 +1,35 @@
#!/bin/bash
#SBATCH --job-name=lejepa_ou
#SBATCH --output=logs/ou_%A_%a.out
#SBATCH --error=logs/ou_%A_%a.err
#SBATCH --partition=gpuq
#SBATCH --qos=slow_nice
#SBATCH --gres=gpu:v100:1
#SBATCH --cpus-per-task=4
#SBATCH --mem=32G
#SBATCH --time=24:00:00
#SBATCH --array=0-6
# Each task: prerender eval (skipped if exists) + 200k images for one rho,
# then train 4 lambdas × 3 seeds × 3 inits = 36 training runs
RHOS=(0.3 0.5 0.7 0.8 0.9 0.95 0.99)
RHO_RAW=${RHOS[$SLURM_ARRAY_TASK_ID]}
RHO=$(printf "%.2f" $RHO_RAW)
eval "$(conda shell.bash hook)"
conda activate pytorch
export MUJOCO_GL=egl
mkdir -p logs
echo "Node: $(hostname) | rho=${RHO} | Start: $(date)"
# Step 1: Prerender (eval + this rho)
python prerender.py eval
python prerender.py ou --rho "${RHO}"
# Step 2: Train
python run_reacher.py --config configs/reacher.yaml \
--data_dir "data/reacher/ou/rho=${RHO}"
echo "Done: $(date)"
@@ -0,0 +1,36 @@
#!/bin/bash
#SBATCH --job-name=lejepa_traj
#SBATCH --output=logs/traj_%A_%a.out
#SBATCH --error=logs/traj_%A_%a.err
#SBATCH --partition=gpuq
#SBATCH --qos=slow_nice
#SBATCH --gres=gpu:v100:1
#SBATCH --cpus-per-task=4
#SBATCH --mem=32G
#SBATCH --time=24:00:00
#SBATCH --array=0-6
# Each task: prerender eval (skipped if exists) + 200k images for one delta,
# then train 4 lambdas × 3 seeds × 3 inits = 36 training runs
DELTAS=(1 2 4 8 16 32 64)
DELTA=${DELTAS[$SLURM_ARRAY_TASK_ID]}
H5_PATH="data/reacher.h5"
eval "$(conda shell.bash hook)"
conda activate pytorch
export MUJOCO_GL=egl
mkdir -p logs
echo "Node: $(hostname) | delta=${DELTA} | Start: $(date)"
# Step 1: Prerender (eval + this delta)
python prerender.py eval
python prerender.py traj --delta "${DELTA}" --h5_path "${H5_PATH}"
# Step 2: Train
python run_reacher.py --config configs/reacher.yaml \
--data_dir "data/reacher/traj/delta=${DELTA}"
echo "Done: $(date)"
@@ -0,0 +1,30 @@
#!/bin/bash
#SBATCH --job-name=lejepa_scale
#SBATCH --output=logs/scale_%A_%a.out
#SBATCH --error=logs/scale_%A_%a.err
#SBATCH --partition=gpuq
#SBATCH --qos=slow_nice
#SBATCH --gres=gpu:v100:1
#SBATCH --cpus-per-task=4
#SBATCH --mem=16G
#SBATCH --time=12:00:00 # ← bumped from 6h: 3 modes × 5 seeds = 15 runs per N
#SBATCH --array=0-9 # 10 dims
DIMS=(2 4 8 16 32 64 128 256 512 1024)
SEEDS=(0 1 2 3 4)
MODES=(lejepa whiten infonce)
N=${DIMS[$SLURM_ARRAY_TASK_ID]}
eval "$(conda shell.bash hook)"
conda activate pytorch
mkdir -p logs
for MODE in "${MODES[@]}"; do
for SEED in "${SEEDS[@]}"; do
echo "N=${N} seed=${SEED} mode=${MODE}"
python -u run.py --config configs/scaling.yaml \
--N "${N}" --seed "${SEED}" --mode "${MODE}"
done
done