Spaces:
Sleeping
Sleeping
import os | |
from tqdm import tqdm | |
import pickle | |
import shutil | |
speakers = ['seth', 'oliver', 'conan', 'chemistry'] | |
source_data_root = "../expressive_body-V0.7" | |
data_root = "D:/Downloads/SHOW_dataset_v1.0/ExpressiveWholeBodyDatasetReleaseV1.0" | |
f_read = open('split_more_than_2s.pkl', 'rb') | |
f_save = open('none.pkl', 'wb') | |
data_split = pickle.load(f_read) | |
none_split = [] | |
train = val = test = 0 | |
for speaker_name in speakers: | |
speaker_root = os.path.join(data_root, speaker_name) | |
videos = [v for v in data_split[speaker_name]] | |
for vid in tqdm(videos, desc="Processing training data of {}......".format(speaker_name)): | |
for split in data_split[speaker_name][vid]: | |
for seq in data_split[speaker_name][vid][split]: | |
seq = seq.replace('\\', '/') | |
old_file_path = os.path.join(data_root, speaker_name, vid, seq.split('/')[-1]) | |
old_file_path = old_file_path.replace('\\', '/') | |
new_file_path = seq.replace(source_data_root.split('/')[-1], data_root.split('/')[-1]) | |
try: | |
shutil.move(old_file_path, new_file_path) | |
if split == 'train': | |
train = train + 1 | |
elif split == 'test': | |
test = test + 1 | |
elif split == 'val': | |
val = val + 1 | |
except FileNotFoundError: | |
none_split.append(old_file_path) | |
print(f"The file {old_file_path} does not exists.") | |
except shutil.Error: | |
none_split.append(old_file_path) | |
print(f"The file {old_file_path} does not exists.") | |
print(none_split.__len__()) | |
pickle.dump(none_split, f_save) | |
f_save.close() | |
print(train, val, test) | |