{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.12.12","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"tpuV5e8","dataSources":[{"sourceType":"competition","sourceId":6799,"databundleVersionId":4225553},{"sourceType":"datasetVersion","sourceId":15302770,"datasetId":9788327,"databundleVersionId":16207074},{"sourceType":"datasetVersion","sourceId":15079638,"datasetId":9654486,"databundleVersionId":15962693},{"sourceType":"datasetVersion","sourceId":15080290,"datasetId":9654925,"databundleVersionId":15963418},{"sourceType":"datasetVersion","sourceId":15305584,"datasetId":9789263,"databundleVersionId":16210141},{"sourceType":"datasetVersion","sourceId":15306886,"datasetId":9790842,"databundleVersionId":16211592},{"sourceType":"modelInstanceVersion","sourceId":790106,"databundleVersionId":16139164,"modelInstanceId":602982,"modelId":615107},{"sourceType":"modelInstanceVersion","sourceId":778993,"databundleVersionId":15986359,"modelInstanceId":594436,"modelId":606702}],"dockerImageVersionId":31288,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"%pip uninstall -y jax jaxlib libtpu optax flax chex orbax-checkpoint\n%pip install --no-cache-dir -U \"jax[tpu]\" -f https://storage.googleapis.com/jax-releases/libtpu_releases.html\n%pip install --no-cache-dir -U flax optax chex orbax-checkpoint grain-balsa wandb diffusers transformers einops torchmetrics","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"!rm -rf /kaggle/working/Self-Flow","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"!git clone -b feat/depth-shortcut-output-distill https://github.com/thanhlamauto/Self-Flow.git","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"%cd /kaggle/working/Self-Flow","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"!pip install --upgrade --force-reinstall protobuf==7.34.1 wandb\n!pip install -q array-record","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\nimport wandb\n\nfrom kaggle_secrets import UserSecretsClient\nuser_secrets = UserSecretsClient()\nsecret_value_0 = user_secrets.get_secret(\"HF_TOKEN\")\nsecret_value_1 = user_secrets.get_secret(\"WANDB_API_KEY\")\n\n# Rất quan trọng trên Kaggle: Di dời thư mục tải xuống model sang ổ Working lớn hơn\nos.environ[\"HF_HOME\"] = \"/kaggle/working/huggingface_cache\" \nos.environ[\"TORCH_HOME\"] = \"/kaggle/working/torch_cache\"\nos.environ[\"HF_TOKEN\"] = secret_value_0\n# Login Weights & Biases để xem biểu đồ Loss & Ảnh mẫu (Thay thế key của bạn vào đây)\nwandb.login(key=\"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\")","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"!git pull","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"%pip install --no-cache-dir -U \"jax[tpu]\" -f https://storage.googleapis.com/jax-releases/libtpu_releases.html\n%pip install --no-cache-dir -U flax optax chex orbax-checkpoint grain wandb diffusers transformers einops torchmetrics","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"!python train.py --resume --model-size B --batch-size 128 --epochs 400 --steps-per-epoch 1000 --learning-rate 1e-4 --predictor-learning-rate 1e-4 --vae-model /kaggle/input/models/damtrunghieu/sdvae-ema/flax/default/1 --data-path /kaggle/input/datasets/thaygiaodaysat/imagenet-vae-latents-ar-v2 --val-data-path /kaggle/input/datasets/thaygiaodaysat/imagenet-vae-latents-train-v3 --grad-clip 1.0 --weight-decay 0.1 --ema-decay 0.9999 --log-freq 1000 --eval-freq 20000 --eval-batches 1 --sample-freq 0 --sample-num-steps 50 --sample-cfg-scale 1.0 --fid-steps 400000 --num-fid-samples 50000 --fid-batch-size 256 --fid-eval-local-batch 32 --fid-num-steps 250 --fid-cfg-scale 1.0 --vae-decode-batch-size 256 --no-linear-probe --inception-score-weights /kaggle/input/models/ctlcmleon/inception-v3/pytorch/default/1/inception_v3_google-0cc3c7bd.pth --block-corr-freq 0 --cfg-dropout-rate 0.1 --wandb-project selfflow-jax --shortcut-predictor hybrid_deep_10 --shortcut-predictor-use-timestep --shortcut-predictor-use-class-input --shortcut-predictor-class-fusion add --no-shortcut-predictor-normalize-input --shortcut-predictor-weight-decay 0.1 --shortcut-training-mode direction-magnitude --shortcut-lambda-dir 1 --shortcut-lambda-boot 0.25 --shortcut-lambda-mag 0.375 --shortcut-lambda-boot-mag 0.1875 --shortcut-mag-scale 3.0 --shortcut-mag-abs-center 5.5 --shortcut-mag-abs-scale 1.5 --shortcut-mag-clip-min 3.0 --shortcut-mag-clip-max 8.0 --shortcut-bootstrap-detach-source --shortcut-skip-in-loop-prob 0.0 --shortcut-lambda-skip-fm 0.0 --shortcut-skip-in-loop-gap-mode truncated-normal --shortcut-skip-in-loop-max-gap 10 --shortcut-skip-in-loop-gap-loc 3.0 --shortcut-skip-in-loop-gap-sigma 2.0 --timestep-sampling-mode logit_normal --timestep-logit-mean 0.0 --timestep-logit-std 1.0 --output-distill --output-distill-ratio 0.10 --lambda-output-distill 0.05 --output-distill-every 1 --output-distill-update-mode predictor_plus_all --output-distill-pair-mode trunc_normal_centered --direct-pair-mode trunc_normal_centered --pair-center-sigma 2.0 --direct-num-pairs 1 --direct-joint-pairs 1 --direct-predictor-only-pairs 0 --private-loss --lambda-private 1.0 --private-max-pairs 4 --private-use-residual --private-cosine-mode bnd --private-pair-mode random --ckpt-keep-steps 100000,200000,400000 --ckpt-verify-step 0 --ckpt-latest-freq 5000 --no-fid-skip-eval --ckpt-dir /kaggle/working/checkpoints/depth-shortcut-B-hybrid-deep10-outputdistill-r010-l005-classcond-centered-logitnormal","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from huggingface_hub import HfApi\n\ntoken = \"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\"\napi = HfApi(token=token)\n\napi.create_repo(\n    repo_id=\"LamTNguyen/exp2\",\n    repo_type=\"model\",\n    private=True,\n    exist_ok=True,\n)","metadata":{"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"from huggingface_hub import HfApi\n\ntoken = \"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\"\napi = HfApi(token=token)\n\napi.upload_folder(\n    repo_id=\"LamTNguyen/depth-shortcut-B-hybrid-deep10\",\n    repo_type=\"model\",\n    folder_path=\"/kaggle/working/checkpoints/depth-shortcut-B-hybrid-deep10-outputdistill-r010-l005-classcond-centered-logitnormal/latest\",\n    path_in_repo=\"latest\",\n)","metadata":{"trusted":true},"outputs":[],"execution_count":null}]}