登录
LTX2官方训练器Lora训练
LTX2官方训练器的lora训练支持,内置模型t2v,小白可以一键运行,也可以根据官方文档进行进阶操作
star1
0/小时
v1.0

LTX2官方训练器Lora训练

镜像简介

本镜像为LTX2官方训练器的专用LoRA训练环境,内置text-to-video基础模型,支持用户对视频生成模型进行个性化微调。提供一键启动的简易操作流程,适合初学者快速入门,同时支持依据官方文档进行高级参数调整与定制化训练,适用于视频风格迁移、角色一致性训练等AI创作场景。

镜像使用教程

创建实例后点击【Juoyterlab】进行操作 创建实例

📄 LTX-2 LoRA 训练镜像使用说明

1. 准备数据

请将您的训练视频(.mp4)和对应的描述文件(.txt)上传到容器内的以下目录:

📂 /workspace/LTX-2/datasets/

💡 注意:不需要手动生成 json 文件,脚本会自动扫描该目录。


2. 启动训练(核心功能)

打开终端,根据您的需求运行以下命令:

🟢 模式 A:默认设置(推荐)

如果您大部分视频是标准比例,且时长在 2 秒左右:

/workspace/LTX-2/run_training.sh

默认使用 960x544, 49帧


🟡 模式 B:自定义单分辨率

如果您想训练特定尺寸(例如竖屏):

/workspace/LTX-2/run_training.sh "720x1280x49"

🔴 模式 C:多分辨率/多帧率混合(高级)

如果您的素材库里既有横屏又有竖屏,或者既有短视频又有长视频,请用逗号 , 分隔多个设置。脚本会自动将视频归类到最合适的"桶"里。

示例 1:混合时长(短视频 + 长视频)

/workspace/LTX-2/run_training.sh "960x544x49,640x360x89"
  • 49帧 ≈ 2秒
  • 89帧 ≈ 3.6秒(长视频建议降低分辨率以防爆显存)

示例 2:混合方向(横屏 + 竖屏)

/workspace/LTX-2/run_training.sh "960x544x49,720x1280x49"

⚠️ 设置规则

  1. 格式必须是 宽x高x帧数
  2. 帧数建议遵循 8n+1 规律(如 25, 49, 89, 121)
  3. 多个配置中间用逗号 , 隔开,不要加空格
  4. 整个参数字符串建议加上双引号 ""

3. 获取结果

训练完成后,LoRA 模型文件将保存在:

📂 /workspace/LTX-2/outputs/checkpoints/

⚠️ 云端问题解决方案

由于云端问题,checkpoints 文件夹被链接了无法直接打开,请使用以下命令获取您的 LoRA:

首次使用(创建文件夹并复制)

# 1. 在 outputs 里面创建一个叫 "My_LoRAs" 的文件夹
mkdir -p /workspace/LTX-2/outputs/My_LoRAs

# 2. 把所有 safetensors 复制进去
cp /workspace/LTX-2/outputs/checkpoints/*.safetensors /workspace/LTX-2/outputs/My_LoRAs/

后续更新(直接复制新生成的 LoRA)

cp /workspace/LTX-2/outputs/checkpoints/*.safetensors /workspace/LTX-2/outputs/My_LoRAs/

🛠️ LTX-2 图片/无声训练专用补丁(一键修复)

# ==========================================
# 1. 重写数据扫描脚本 (支持图片 + 不强求音频)
# ==========================================
cat << 'EOF' > /workspace/LTX-2/make_dataset_json.py
import json
from pathlib import Path

# 支持的格式:包含图片和视频
MEDIA_EXTS = {'.mp4', '.mov', '.avi', '.mkv', '.jpg', '.jpeg', '.png', '.webp'}

def main():
    dataset_dir = Path("datasets") # 依赖外部 cd
    output_json = dataset_dir / "dataset.json"
    
    print(f"📂 扫描目录: {dataset_dir.absolute()}")
    items = []
    
    # 遍历文件
    for f in sorted(dataset_dir.iterdir()):
        if f.suffix.lower() in MEDIA_EXTS:
            txt = f.with_suffix(".txt")
            if txt.exists():
                items.append({
                    "id": f.stem,      
                    "video": f.name,
                    "caption": txt.read_text("utf-8").strip()
                })
            
    if not items:
        print("❌ 未找到任何数据,请检查文件名是否匹配!")
        return

    with open(output_json, "w") as f:
        json.dump(items, f, indent=2)
    print(f"✅ 成功加载 {len(items)} 条数据 (支持图片/视频)")

if __name__ == "__main__":
    main()
EOF

# ==========================================
# 2. 生成纯画面配置文件 (基于官方 AV 配置修改)
# ==========================================
cd /workspace/LTX-2/packages/ltx-trainer/configs/

# 复制一份新的配置
cp ltx2_av_lora.yaml ltx2_lora.yaml

# 精准修改配置:关闭音频训练、关闭音频生成、切换 STG 模式
# 1. 训练策略关闭音频
sed -i 's/with_audio: true/with_audio: false/g' ltx2_lora.yaml
# 2. 验证生成时关闭音频
sed -i 's/generate_audio: true/generate_audio: false/g' ltx2_lora.yaml
# 3. STG 引导模式改为仅视频 (防止报错)
sed -i 's/stg_mode: "stg_av"/stg_mode: "stg_v"/g' ltx2_lora.yaml

echo "✅ 纯画面配置文件 ltx2_lora.yaml 已生成!"

# ==========================================
# 3. 更新启动脚本 (指向新配置 + 去除音频参数)
# ==========================================
cat << 'EOF' > /workspace/LTX-2/run_training.sh
#!/bin/bash
set -e

# 强制进入目录
cd /workspace/LTX-2

# 默认分辨率参数 (图片训练建议用 "1024x1024x1")
DEFAULT_RES="960x544x49"
INPUT_RES=${1:-$DEFAULT_RES}

echo "🚀 [1/6] 初始化..."
source .venv/bin/activate || true

echo "🧹 [2/6] 清理环境..."
rm -rf .precomputed datasets/.precomputed

echo "📝 [3/6] 生成配置..."
python make_dataset_json.py

# 检查数据
COUNT=$(grep -c "video" datasets/dataset.json || true)
if [ "$COUNT" -eq "0" ]; then
    echo "❌ 错误:datasets 目录下没有找到 txt/mp4/jpg 配对文件!"
    exit 1
fi
echo "👀 待处理样本数: $COUNT"

echo "⚙️ [4/6] 预处理 (图片/无声模式)..."
# 注意:这里不再加 --with-audio 参数
CMD="uv run python packages/ltx-trainer/scripts/process_dataset.py datasets/dataset.json"

# 处理分辨率参数
IFS=',' read -ra BUCKETS <<< "$INPUT_RES"
for bucket in "${BUCKETS[@]}"; do
    bucket=$(echo "$bucket" | xargs)
    CMD="$CMD --resolution-buckets $bucket"
done

CMD="$CMD --model-path checkpoints/ltx-2-19b-dev.safetensors"
CMD="$CMD --text-encoder-path models/gemma"
CMD="$CMD --video-column video"

echo "   -> 执行预处理..."
eval $CMD

echo "🚚 [5/6] 搬运数据..."
if [ -d "datasets/.precomputed" ]; then
    mv datasets/.precomputed .
else
    echo "❌ 预处理失败,未生成数据。"
    exit 1
fi

echo "🔥 [6/6] 启动训练 (使用纯画面配置)..."
# 指向刚才生成的无音频配置文件
uv run python packages/ltx-trainer/scripts/train.py packages/ltx-trainer/configs/ltx2_lora.yaml
EOF

chmod +x /workspace/LTX-2/run_training.sh
echo "🎉 所有补丁应用完毕!现在可以训练图片了。"
/workspace/LTX-2/run_training.sh "1024x1024x1"

📺 更多教程

关于视频打标已经在之前视频讲过了,详细可以看 B站教程

官方文档详细说明:https://github.com/Lightricks/LTX-2/blob/main/packages/ltx-trainer/docs/dataset-preparation.md


📌 快速命令参考

# 默认训练
/workspace/LTX-2/run_training.sh

# 自定义单分辨率
/workspace/LTX-2/run_training.sh "720x1280x49"

# 多分辨率混合
/workspace/LTX-2/run_training.sh "960x544x49,720x1280x49"

# 获取 LoRA 文件
mkdir -p /workspace/LTX-2/outputs/My_LoRAs
cp /workspace/LTX-2/outputs/checkpoints/*.safetensors /workspace/LTX-2/outputs/My_LoRAs/
@梦影Erislia
镜像信息
已使用23
运行时长
102 H
镜像大小
120GB
最后更新时间
2026-01-21
支持卡型
48G RTX40系A100A800H20
+4
框架版本
PyTorch-2.9
CUDA版本
12.8
应用
JupyterLab: 8888
版本
v1.0
2026-01-21
PyTorch:2.9 | CUDA:12.8 | 大小:120.00GB
logo

隶属于优刻得科技股份有限公司

股票代码:688158

优刻得是中立、安全的云计算服务平台

LTX2官方训练器Lora训练一键部署 | 优云智算