Downloads · 30 days
0
giahuythai/secondlook-a100
secondlook-a100 is a machine learning model from giahuythai. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
Cảm ơn anh/chị đã cho mượn máy. Gói này tự chứa hoàn toàn: không cần sudo, không cài gì vào hệ thống, không đụng môi trường Python sẵn có của máy.
Downloads · 30 days
0
Access
Public
Updated Sep 14, 2026
Repo size
8.3 GB
Likes
0
Public
Click a slice to open those files.
.gz7.5 GB · 95%
From the Hugging Face model README
Cảm ơn anh/chị đã cho mượn máy. Gói này tự chứa hoàn toàn: không cần sudo,
không cài gì vào hệ thống, không đụng môi trường Python sẵn có của máy.
# Lấy gói về (tự tải ~7.5GB từ HuggingFace, không cần cài gì trước)
mkdir -p ~/scratch/projects ~/scratch/datasets
curl -fL https://huggingface.co/giahuythai/secondlook-a100/resolve/main/bootstrap.sh | bash -s ~/scratch/projects/secondlook_pkg
cd ~/scratch/projects/secondlook_pkg
# 1) Kiểm tra máy — ~3 phút, KHÔNG cần dữ liệu
bash run.sh check
# 2) Chuẩn bị dữ liệu (tải nuScenes ~350GB + sinh infos). KHÔNG dùng GPU.
nohup env ALLOW_DOWNLOAD=1 bash run.sh data > data_console.log 2>&1 &
# 3) Train + eval. Chạy lại ĐÚNG lệnh này sau mỗi lần hết walltime.
nohup bash run.sh > run_console.log 2>&1 &
# Số GPU tự nhận từ CUDA_VISIBLE_DEVICES (PBS/SLURM) hoặc nvidia-smi; muốn ép: GPUS=0,1,2 bash run.sh
qsub) — KHÔNG chạy train/eval trên node đăng nhậpcd ~/scratch/projects/secondlook_pkg
qsub run_job.pbs # chạy lại đúng lệnh này sau mỗi lần hết walltime; script tự resume
bash status.sh # xem tiến độ; log ở logs/, kết quả ở results/ (đều trong thư mục gói)
run_job.pbs đã đặt: GPU theo CUDA_VISIBLE_DEVICES của scheduler, 4 thread + 4 dataloader worker mỗi GPU,
mọi cache/tmp trong thư mục gói (không ghi ~/.cache, /tmp), PYTHONNOUSERSITE=1. Sửa 4 dòng #PBS đầu file theo hệ thống.
Không sao — script resume được ở mọi bước. Cứ chạy lại đúng lệnh ở bước 3, nó tự nhận ra đã làm tới đâu và đi tiếp:
--resume-from
checkpoint mới nhất. Mất tối đa ~45 phút công mỗi lần bị cắt.Train cần tổng cộng ~19 giờ GPU, nên với walltime 12h thì khoảng 2 lần chạy là xong (chưa kể lần chạy cho bước 2). Không cần làm gì thêm ngoài việc chạy lại cùng một lệnh.
Chạy bash run.sh check trước là quan trọng: nó dựng model và nạp checkpoint
bằng chính GPU của máy, cho biết ngay máy có chạy được không, trước khi tốn
công tải 350GB dữ liệu.
bash status.sh # bảng tóm tắt: bước nào xong, đang làm gì, GPU, kết quả
watch -n30 bash status.sh # tự cập nhật mỗi 30 giây
tail -f logs/run.log # log chi tiết
Script tự tìm ở các vị trí thông dụng. Nếu máy đã có sẵn:
NUSCENES_ROOT=/duong/dan/toi/nuscenes bash run.sh
Nếu máy chưa có, script tải giúp từ nguồn chính chủ của Motional (~350GB, tải từng gói rồi giải nén và xoá ngay nên đỉnh đĩa ~360GB chứ không 700GB):
ALLOW_DOWNLOAD=1 bash run.sh
Script không bao giờ tự ý tải nếu anh/chị không bật cờ này.
GPUS=0,1; nếu 4 GPU thì bỏ GPUS=)# 0) Lấy gói (1 lần)
mkdir -p ~/scratch/projects ~/scratch/datasets
curl -fL https://huggingface.co/giahuythai/secondlook-a100/resolve/main/bootstrap.sh | bash -s ~/scratch/projects/secondlook_pkg
cd ~/scratch/projects/secondlook_pkg
# 1) Kiểm tra máy chạy được model (~3 phút, cần GPU)
GPUS=0,1 bash run.sh check
# 2) Tải nuScenes + sinh infos (~350GB, nhiều giờ) — KHÔNG cần GPU, chạy được trên node CPU
nohup env ALLOW_DOWNLOAD=1 bash run.sh data > data_console.log 2>&1 &
# 3) Train (2 phiên walltime 12h) rồi eval — chạy lại ĐÚNG lệnh này sau mỗi lần hết giờ
nohup env GPUS=0,1 bash run.sh > run_console.log 2>&1 &
# (run.sh tự chạy tiếp 16 cell eval bổ sung sau 3 cell chính — không cần lệnh riêng)
# Xem tiến độ bất cứ lúc nào
bash status.sh
Nếu hệ thống dùng SLURM (sbatch), không cần nohup & — đặt lệnh vào job script và
chạy foreground; hết walltime thì sbatch lại cùng script (hoặc dùng --requeue):
#!/bin/bash
#SBATCH --gres=gpu:2 --time=12:00:00 --job-name=secondlook
cd ~/scratch/projects/secondlook_pkg && GPUS=0,1 bash run.sh
Toàn bộ mã nguồn, thư viện và checkpoint đều nằm trong gói tải từ HuggingFace.
bootstrap.sh tải về đủ; không cần git clone, không cần pip install,
không cần conda, không đụng gì tới môi trường sẵn có của máy.
| Mục | Cần |
|---|---|
| GPU | 2, 3 hoặc 4 GPU (4×≥40GB, hoặc 2–3×80GB như H100). Script tự chọn batch/GPU (4 GPU: 4/GPU = MoME gốc 16; 3 GPU: 5/GPU = 15; 2 GPU: 8/GPU) và tự giảm batch nếu OOM, driver ≥ 525 |
| Đĩa trống | ≥ 60 GB (môi trường 14GB + checkpoint) |
| Dữ liệu | nuScenes full trainval (v1.0-trainval + samples + sweeps) |
| Mạng | Không cần (trừ khi bật tuỳ chọn gửi log về) |
RESULTS_secondlook.tar.gz (~400MB).Mọi bước đều idempotent: chạy lại bash run.sh sẽ tiếp tục từ chỗ dừng,
không làm lại từ đầu.
Một file duy nhất: RESULTS_secondlook.tar.gz (checkpoint + log + đủ 19 cell số đo).
Nếu có sự cố, chỉ cần gửi logs/run.log — trong đó có toàn bộ chẩn đoán.
UserWarning của numpy/mmcv — vô hại.pkill -f train_sl2only — checkpoint đã lưu vẫn nguyên; chạy lại bash run.sh
sẽ tiếp tục từ epoch gần nhất, không làm lại từ đầu.
camlooka0 (CameraLook-only, clean-anchor 0): sed -i 's/^export ARM=.*/export ARM="camlooka0"/' run_job.pbs && qsub run_job.pbs. Mỗi ARM có thư mục kết quả và stage riêng nên có thể chạy tuần tự nhiều job trên cùng gói.run_job.pbs mặc định ARMS="c1 camlooka0" và TRAIN_ONLY=1: train C1 rồi CameraLook-only anchor 0, KHÔNG eval; mỗi nhánh xong tạo RESULTS_secondlook_<ARM>.tar.gz (chỉ epoch_6.pth + log, ~400MB). Hết walltime thì qsub run_job.pbs lại, script tự resume và bỏ qua nhánh đã xong; file DONE_ALL xuất hiện khi cả hai xong.TRAIN_ONLY=0 qsub -v TRAIN_ONLY run_job.pbs (hoặc sửa dòng export).total_epochs=1 (config MoME không có runner → runner.max_epochs gây KeyError: 'type').run_job.pbs mặc định ARMS="sl2only c1 camlooka0", chỉ train (TRAIN_ONLY=1). Nhánh xong → RESULTS_secondlook_<ARM>.tar.gz; nếu HF_TOKEN được điền (token ghi, phạm vi repo này) thì tự upload lên results/ của repo HF; nhóm nghiên cứu tự kéo về.unrecognized arguments: --local-ranktorch>=2.0 truyền --local-rank (gạch ngang) khi dùng torch.distributed.launch, còn tools/train.py/tools/test.py của MoME chỉ nhận --local_rank. Gói chuyển sang torch.distributed.run (rank qua biến môi trường, đường mà train.py đã hỗ trợ). Trước khi train, run.sh tự chạy bước LAUNCHER CHECK với đúng số GPU; lệnh train đầy đủ và 15 dòng cuối log khi lỗi được ghi vào logs/run.log.