Spaces:
Running
on
Zero
Running
on
Zero
''' | |
nohup python preprocess/extract-t5.py 0 2 >> t5.log 2>&1 & | |
nohup python preprocess/extract-t5.py 1 2 >> t5.log 2>&1 & | |
0/1: What part does this process do | |
2: It consists of two parts in total. | |
''' | |
txt_path="test_data/train_data_prompts.txt" | |
opt_root="output_root/t5" | |
checkpoint_dir="/DATA/bvac/personal/wan21/Wan2.1-I2V-14B-720P" | |
import os,sys | |
all=int(sys.argv[2]) | |
i_part=int(sys.argv[1]) | |
# os.environ["CUDA_VISIBLE_DEVICES"]=str(int(sys.argv[1])%4) | |
os.environ["CUDA_VISIBLE_DEVICES"]=sys.argv[1] | |
import pdb,torch | |
from wan.modules.t5 import T5EncoderModel | |
device="cuda" | |
text_encoder = T5EncoderModel( | |
text_len=512, | |
dtype=torch.bfloat16, | |
device=torch.device('cpu'), | |
checkpoint_path=os.path.join(checkpoint_dir, 'models_t5_umt5-xxl-enc-bf16.pth'), | |
tokenizer_path=os.path.join(checkpoint_dir, 'google/umt5-xxl'), | |
shard_fn=None, | |
) | |
text_encoder.model=text_encoder.model.to(device) | |
os.makedirs(opt_root,exist_ok=True) | |
def go(todos): | |
for name,text in todos: | |
try: | |
if os.path.exists("%s/%s"%(opt_root,name)):continue | |
context = text_encoder([text], device)[0].cpu()#torch.Size([138, 4096])#"In this scene, a man with a beard is seen tending to a woman who lies in bed, her face illuminated by the soft glow of a nearby light source. The man, dressed in a blue robe adorned with intricate designs, holds a bowl, possibly containing a healing potion or a magical elixir. The woman, clad in a pink garment, appears to be resting or possibly unwell, as she lies on her side with her eyes closed. The setting suggests a historical or medieval context, with the dimly lit room and the man's attire evoking a sense of timelessness and mystery. " | |
save_path="%s/%s"%(opt_root,name) | |
torch.save(context,save_path) | |
except: | |
print(text,traceback.format_exc()) | |
todo=[] | |
with open(txt_path,"r")as f:lines=f.read().strip("\n").split("\n") | |
for line in lines: | |
todo.append(line.split("|")) | |
todo=sorted(todo)[i_part::all] | |
go(todo) | |