
오늘은 NVIDIA의 Cosmos Predict 모델을 돌려볼 것이다
일반적으로 Cosmos는 휴머노이드 + 자율주행차량 분야의 로보틱스를 위한 것이나
흥미로웠던 Predict 모델의 자율성과 확장성 가능성 테스트를 위해 실행하게 되었다.
실행은 아래 소스를 기반하였다.
GitHub - nvidia-cosmos/cosmos-predict2.5: Cosmos-Predict2.5, the latest version of the Cosmos World Foundation Models (WFMs) fam
Cosmos-Predict2.5, the latest version of the Cosmos World Foundation Models (WFMs) family, specialized for simulating and predicting the future state of the world in the form of video. - nvidia-cos...
github.com
환경은 GCP에서 A100 제일 저렴한 VM을 활용하였다.
권장사양에서 A100을 최소 사양으로 요구했기 때문이다...



가격이 가격인 만큼 최대한 빠르게 진행해보자
CUDA 설치 과정
불필요 하신 분들은 스킵하세요
기본 빌드 도구 설치
sudo apt update && sudo apt install -y build-essential linux-headers-$(uname -r) git-lfs curl
sudo apt install -y libxml2 libxml2-dev libfreeimage3 libfreeimage-dev

CUDA Toolkit 설치
CUDA Toolkit 12.1 Downloads
Get the latest feature updates to NVIDIA's proprietary compute stack.
developer.nvidia.com

각기 저기 접속해서 최신 버전으로 명령어 훔쳐오자
그러지말자 13.1 버전 충돌 난다 (해봐서 안다 슬프다)
아래 명령어들은 13.1.1이지만 나는 12.8.0 버전으로 진행했다
wget https://developer.download.nvidia.com/compute/cuda/13.1.1/local_installers/cuda_13.1.1_590.48.01_linux.run

sudo sh cuda_13.1.1_590.48.01_linux.run

accept 하고 다음

방향키로 install에 위치하고 Enter


권고한대로 환경변수 등록도 진행해준다
echo 'export PATH=/usr/local/cuda-13.1/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-13.1/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
COSMOS-Predic2.5 구성
🔸 git lfs 설치 🔸
git 대용량 파일 다운로드를 위함
sudo apt install git-lfs
git lfs install

🔸 git clone🔸
git clone https://github.com/nvidia-cosmos/cosmos-predict2.5.git
cd cosmos-predict2.5
git lfs pull

으악 선택지다

지금 CUDA 설치한 김에 연결 바로 되는 Virtual Environment로 선택했다
🔸 종속성 다운로드🔸
sudo apt update && sudo apt -y install curl ffmpeg libx11-dev tree wget

🔸 uv 다운로드🔸
이번에 처음 알았는데 24년도에 나왔는데, Rust로 작성 + 캐싱전략으로
기존 pip 보다도 빠르고 여러 tool (pip, pyenv, poetry venv 등등)을 통합한 친구라고 한다
또 배울게 생겨서 좀 신난다!
Installation | uv
Use curl to download the script and execute it with sh: $ curl -LsSf https://astral.sh/uv/install.sh | sh If your system doesn't have curl, you can use wget: $ wget -qO- https://astral.sh/uv/install.sh | sh Request a specific version by including it in the
docs.astral.sh
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env

🔸 python 환경 구성🔸
설치화면 기깔나서 행복했었다
uv python install
uv sync --extra=cu128
source .venv/bin/activate

Checkpoint 다운로드
해당 과정의 타임어택을 진행해보자
(퇴근 전에 테스트 끝내고 VM 삭제 마쳐야 함)

🔸 Hugging Face 토큰 생성🔸
https://huggingface.co/settings/tokens
해당 주소로 접근해서 Read 권한을 넣은 토큰을 만들어준다

🔸 Hugging Face CLI 설치🔸
설치 진짜 빠르다
uv tool install -U "huggingface_hub[cli]"

🔸 Hugging Face 로그인 🔸
hf auth login

여기서 아까 받은 토큰을 넣고 엔터 +
지금 테스트로 잠깐 하는 것이라 git credential로는 쓰지 않을 것이기에 n 엔터
추론 시작
아래 문서를 따릅니다
https://docs.nvidia.com/cosmos/latest/predict2.5/quickstart_guide.html
Quickstart Guide — Cosmos
<!--- Copyright (c) 2025, NVIDIA CORPORATION. All rights reserved. NVIDIA CORPORATION and its licensors retain all intellectual property and proprietary rights in and to this software, related documentation and any modifications thereto. Any use, reproduct
docs.nvidia.com
🔸 Video to World 추론을 위한 Bash 작성🔸
: run_video2world.sh 라는 이름으로 bash를 작성했다!
#!/bin/bash
# Cosmos Predict 2.5 - Video2World inference 실행 스크립트
# 사용법: ./run_video2world.sh <input_video.mp4> "<프롬프트 설명>" [output_dir]
set -e
# uv / venv 환경 활성화
source $HOME/.local/bin/env 2>/dev/null || true
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
source .venv/bin/activate
# HF_TOKEN 환경변수 설정
export HF_TOKEN="🧨🧨🧨🧨🧨여기에 허깅페이스 토큰을 입력하세요🧨🧨🧨🧨🧨"
# 인자 파싱
INPUT_VIDEO="${1:?'사용법: ./run_video2world.sh <input_video.mp4> \"<프롬프트 설명>\" [output_dir]'}"
PROMPT="${2:?'프롬프트 설명이 필요합니다. 예: \"A robot arm picks up an object from the table.\"'}"
OUTPUT_DIR="${3:-outputs/video2world_custom}"
# 입력 파일 존재 여부 확인
if [ ! -f "$INPUT_VIDEO" ]; then
echo "❌ 입력 비디오 파일을 찾을 수 없습니다: $INPUT_VIDEO"
exit 1
fi
# 절대 경로로 변환
INPUT_VIDEO_ABS="$(realpath "$INPUT_VIDEO")"
INPUT_VIDEO_NAME="$(basename "$INPUT_VIDEO" .mp4)"
# 임시 JSON 설정 파일 생성
JSON_FILE="/tmp/cosmos_video2world_${INPUT_VIDEO_NAME}.json"
cat > "$JSON_FILE" << EOF
{
"inference_type": "video2world",
"name": "${INPUT_VIDEO_NAME}",
"input_path": "${INPUT_VIDEO_ABS}",
"prompt": "${PROMPT}"
}
EOF
echo "=========================================="
echo "🎬 Cosmos Predict 2.5 - Video2World"
echo "=========================================="
echo "📹 입력 영상: $INPUT_VIDEO_ABS"
echo "📝 프롬프트: $PROMPT"
echo "📂 출력 폴더: $OUTPUT_DIR"
echo "📄 설정 파일: $JSON_FILE"
echo "=========================================="
# 추론 실행 (단일 GPU)
python examples/inference.py \
-i "$JSON_FILE" \
-o "$OUTPUT_DIR" \
--inference-type=video2world \
--model=2B/post-trained \
--offload-diffusion-model \
--offload-tokenizer \
--offload-text-encoder \
--offload-guardrail-models
echo "=========================================="
echo "✅ 생성 완료! 출력 결과: $OUTPUT_DIR"
echo "=========================================="
추론 시작
./run_video2world.sh ./input/도로주행_입력용.mp4 "Naturally extend the driving sequence while maintaining the current lane and trajectory." ./output/도로주행_결과.mp4
이 영상이 테스트로 넣은 영상이고
이렇게 결과가 나오는 모습을 확인 할 수 있다!
'기술 단어장 > 🎸' 카테고리의 다른 글
| [Isaac Sim] GCP에서 Isaac Sim 5.1.0 구동하기 (1) | 2026.01.09 |
|---|---|
| [GitHub] GitHub Issue Template 등록하기 (0) | 2025.04.16 |
| [Linux] 리눅스 커널 자동 패치 & 롤백 시스템 (0) | 2025.03.18 |
| [FaceGen] FaceGen Customizer 가이드 번역본 (0) | 2025.02.10 |
| [Web-Frontend] 일주일 간의 웹 프론트엔드 공부 - 요약지 (0) | 2023.09.08 |
댓글