mirror of
https://github.com/storytold/FineTrainers-Conditioning.git
synced 2026-10-26 08:37:09 +00:00
updates
This commit is contained in:
@@ -13,7 +13,7 @@ from typing import Any, Dict, List, Optional, Union
|
||||
|
||||
import torch
|
||||
import torch.distributed as dist
|
||||
from diffusers import AutoencoderKL
|
||||
from diffusers import AutoencoderKLMochi
|
||||
from diffusers.training_utils import set_seed
|
||||
from diffusers.utils import export_to_video, get_logger
|
||||
from torch.utils.data import DataLoader
|
||||
@@ -24,7 +24,9 @@ from transformers import T5EncoderModel, T5Tokenizer
|
||||
|
||||
import decord # isort:skip
|
||||
|
||||
from ..dataset import BucketSampler, VideoDatasetWithResizing, VideoDatasetWithResizeAndRectangleCrop # isort:skip
|
||||
import sys
|
||||
sys.path.append("..")
|
||||
from dataset import BucketSampler, VideoDatasetWithResizing, VideoDatasetWithResizeAndRectangleCrop # isort:skip
|
||||
|
||||
|
||||
decord.bridge.set_bridge("torch")
|
||||
@@ -485,12 +487,12 @@ def main():
|
||||
tokenizer = T5Tokenizer.from_pretrained(args.model_id, subfolder="tokenizer")
|
||||
text_encoder = T5EncoderModel.from_pretrained(
|
||||
args.model_id, subfolder="text_encoder", torch_dtype=weight_dtype
|
||||
)
|
||||
text_encoder = text_encoder.to(device)
|
||||
|
||||
vae = AutoencoderKL.from_pretrained(args.model_id, subfolder="vae", torch_dtype=weight_dtype)
|
||||
vae = vae.to(device)
|
||||
|
||||
).to(device)
|
||||
|
||||
vae = AutoencoderKLMochi.from_pretrained(
|
||||
args.model_id, subfolder="vae", torch_dtype=weight_dtype
|
||||
).to(device)
|
||||
|
||||
if args.use_slicing:
|
||||
vae.enable_slicing()
|
||||
if args.use_tiling:
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
#!/bin/bash
|
||||
|
||||
MODEL_ID="genmo/mochi-1-preview"
|
||||
|
||||
NUM_GPUS=1
|
||||
|
||||
# For more details on the expected data format, please refer to the README.
|
||||
DATA_ROOT="/home/sayak/cogvideox-factory/video-dataset-disney" # This needs to be the path to the base directory where your videos are located.
|
||||
CAPTION_COLUMN="prompt.txt"
|
||||
VIDEO_COLUMN="videos.txt"
|
||||
OUTPUT_DIR="/home/sayak/cogvideox-factory/video-dataset-disney/mochi-1/preprocessed-dataset"
|
||||
HEIGHT_BUCKETS="480"
|
||||
WIDTH_BUCKETS="848"
|
||||
FRAME_BUCKETS="84"
|
||||
MAX_NUM_FRAMES="84"
|
||||
MAX_SEQUENCE_LENGTH=256
|
||||
TARGET_FPS=30
|
||||
BATCH_SIZE=1
|
||||
DTYPE=fp32
|
||||
|
||||
# To create a folder-style dataset structure without pre-encoding videos and captions
|
||||
# For Image-to-Video finetuning, make sure to pass `--save_image_latents`
|
||||
CMD_WITHOUT_PRE_ENCODING="\
|
||||
torchrun --nproc_per_node=$NUM_GPUS \
|
||||
prepare_dataset.py \
|
||||
--model_id $MODEL_ID \
|
||||
--data_root $DATA_ROOT \
|
||||
--caption_column $CAPTION_COLUMN \
|
||||
--video_column $VIDEO_COLUMN \
|
||||
--output_dir $OUTPUT_DIR \
|
||||
--height_buckets $HEIGHT_BUCKETS \
|
||||
--width_buckets $WIDTH_BUCKETS \
|
||||
--frame_buckets $FRAME_BUCKETS \
|
||||
--max_num_frames $MAX_NUM_FRAMES \
|
||||
--max_sequence_length $MAX_SEQUENCE_LENGTH \
|
||||
--target_fps $TARGET_FPS \
|
||||
--batch_size $BATCH_SIZE \
|
||||
--dtype $DTYPE
|
||||
"
|
||||
|
||||
CMD_WITH_PRE_ENCODING="$CMD_WITHOUT_PRE_ENCODING --save_latents_and_embeddings"
|
||||
|
||||
# Select which you'd like to run
|
||||
CMD=$CMD_WITH_PRE_ENCODING
|
||||
|
||||
echo "===== Running \`$CMD\` ====="
|
||||
eval $CMD
|
||||
echo -ne "===== Finished running script =====\n"
|
||||
Reference in New Issue
Block a user