def multiprocess_glob(pattern, num_workers=None):
split_pattern = pattern.split("/")
recursive_depth = 0 # number of recursive depth
for split in split_pattern:
if '*' in split:
recursive_depth += 1
if recursive_depth == 1:
return glob.glob(pattern)
else:
dirs = glob.glob('/'.join(split_pattern[:-1]))
ret = []
args = [(d, split_pattern[-1]) for d in dirs]
for (i, res) in multiprocess_run_tqdm(glob_job, args=args, desc=f"globing {pattern}", num_workers=num_workers):
ret += res
return ret
然后运行gradio页面,用初始默认的素材点击train
命令行在处理generating segment images in multi-processes时,全程报错
generating segment images in multi-processes...: 76%|███████████████████████▋ | 382/500 [00:24<00:05, 23.42it/s]Traceback (most recent call last):
File "Y:\code\MimicTalk\utils\commons\multiprocess_utils.py", line 19, in chunked_worker
res = mapfunc(arg)
File "Y:\code\MimicTalk\data_gen\utils\process_video\extract_segment_imgs.py", line 287, in segment_and_generate_for_image_job
segmap_name = generate_segment_imgs_job(img_name=img_name, segmap=segmap_mask, img=img)
File "Y:\code\MimicTalk\data_gen\utils\process_video\extract_segment_imgs.py", line 270, in generate_segment_imgs_job
out_img, mask = seg_model._seg_out_img_with_segmap(img, segmap, mode=mode)
AttributeError: 'NoneType' object has no attribute '_seg_out_img_with_segmap'
Traceback (most recent call last):
File "Y:\code\MimicTalk\utils\commons\multiprocess_utils.py", line 19, in chunked_worker
res = mapfunc(arg)
File "Y:\code\MimicTalk\data_gen\utils\process_video\extract_segment_imgs.py", line 287, in segment_and_generate_for_image_job
segmap_name = generate_segment_imgs_job(img_name=img_name, segmap=segmap_mask, img=img)
File "Y:\code\MimicTalk\data_gen\utils\process_video\extract_segment_imgs.py", line 270, in generate_segment_imgs_job
out_img, mask = seg_model._seg_out_img_with_segmap(img, segmap, mode=mode)
AttributeError: 'NoneType' object has no attribute '_seg_out_img_with_segmap'
Traceback (most recent call last):
File "Y:\code\MimicTalk\utils\commons\multiprocess_utils.py", line 19, in chunked_worker
res = mapfunc(arg)
File "Y:\code\MimicTalk\data_gen\utils\process_video\extract_segment_imgs.py", line 287, in segment_and_generate_for_image_job
segmap_name = generate_segment_imgs_job(img_name=img_name, segmap=segmap_mask, img=img)
File "Y:\code\MimicTalk\data_gen\utils\process_video\extract_segment_imgs.py", line 270, in generate_segment_imgs_job
out_img, mask = seg_model._seg_out_img_with_segmap(img, segmap, mode=mode)
AttributeError: 'NoneType' object has no attribute '_seg_out_img_with_segmap'
Traceback (most recent call last):
File "Y:\code\MimicTalk\utils\commons\multiprocess_utils.py", line 19, in chunked_worker
res = mapfunc(arg)
File "Y:\code\MimicTalk\data_gen\utils\process_video\extract_segment_imgs.py", line 287, in segment_and_generate_for_image_job
segmap_name = generate_segment_imgs_job(img_name=img_name, segmap=segmap_mask, img=img)
File "Y:\code\MimicTalk\data_gen\utils\process_video\extract_segment_imgs.py", line 270, in generate_segment_imgs_job
out_img, mask = seg_model._seg_out_img_with_segmap(img, segmap, mode=mode)
AttributeError: 'NoneType' object has no attribute '_seg_out_img_with_segmap'
Traceback (most recent call last):
File "Y:\code\MimicTalk\utils\commons\multiprocess_utils.py", line 19, in chunked_worker
res = mapfunc(*arg)
File "Y:\code\MimicTalk\data_gen\utils\process_video\extract_segment_imgs.py", line 287, in segment_and_generate_for_image_job
segmap_name = generate_segment_imgs_job(img_name=img_name, segmap=segmap_mask, img=img)
File "Y:\code\MimicTalk\data_gen\utils\process_video\extract_segment_imgs.py", line 270, in generate_segment_imgs_job
out_img, mask = seg_model._seg_out_img_with_segmap(img, segmap, mode=mode)
AttributeError: 'NoneType' object has no attribute '_seg_out_img_with_segmap'
windows环境 首先手动修改了源代码里用命令行cp 复制的相关代码,改成了shutil.copy,解决了windows下cp命令不支持的情况, 然后把utils/commons/os_utils.py的所有调用命令行执行的linux指令,改成了如下python代码
import os import shutil import glob from utils.commons.multiprocess_utils import multiprocess_run_tqdm
def link_file(from_file, to_file):
创建符号链接
def move_file(from_file, to_file):
移动文件
def copy_file(from_file, to_file):
复制文件
def remove_file(*fns):
删除文件或目录
def glob_job(d, f): pattern = os.path.join(d, f) return glob.glob(pattern)
def multiprocess_glob(pattern, num_workers=None): split_pattern = pattern.split("/") recursive_depth = 0 # number of recursive depth for split in split_pattern: if '*' in split: recursive_depth += 1 if recursive_depth == 1: return glob.glob(pattern) else: dirs = glob.glob('/'.join(split_pattern[:-1])) ret = [] args = [(d, split_pattern[-1]) for d in dirs] for (i, res) in multiprocess_run_tqdm(glob_job, args=args, desc=f"globing {pattern}", num_workers=num_workers): ret += res return ret
然后运行gradio页面,用初始默认的素材点击train 命令行在处理generating segment images in multi-processes时,全程报错
generating segment images in multi-processes...: 76%|███████████████████████▋ | 382/500 [00:24<00:05, 23.42it/s]Traceback (most recent call last): File "Y:\code\MimicTalk\utils\commons\multiprocess_utils.py", line 19, in chunked_worker res = mapfunc(arg) File "Y:\code\MimicTalk\data_gen\utils\process_video\extract_segment_imgs.py", line 287, in segment_and_generate_for_image_job segmap_name = generate_segment_imgs_job(img_name=img_name, segmap=segmap_mask, img=img) File "Y:\code\MimicTalk\data_gen\utils\process_video\extract_segment_imgs.py", line 270, in generate_segment_imgs_job out_img, mask = seg_model._seg_out_img_with_segmap(img, segmap, mode=mode) AttributeError: 'NoneType' object has no attribute '_seg_out_img_with_segmap' Traceback (most recent call last): File "Y:\code\MimicTalk\utils\commons\multiprocess_utils.py", line 19, in chunked_worker res = mapfunc(arg) File "Y:\code\MimicTalk\data_gen\utils\process_video\extract_segment_imgs.py", line 287, in segment_and_generate_for_image_job segmap_name = generate_segment_imgs_job(img_name=img_name, segmap=segmap_mask, img=img) File "Y:\code\MimicTalk\data_gen\utils\process_video\extract_segment_imgs.py", line 270, in generate_segment_imgs_job out_img, mask = seg_model._seg_out_img_with_segmap(img, segmap, mode=mode) AttributeError: 'NoneType' object has no attribute '_seg_out_img_with_segmap' Traceback (most recent call last): File "Y:\code\MimicTalk\utils\commons\multiprocess_utils.py", line 19, in chunked_worker res = mapfunc(arg) File "Y:\code\MimicTalk\data_gen\utils\process_video\extract_segment_imgs.py", line 287, in segment_and_generate_for_image_job segmap_name = generate_segment_imgs_job(img_name=img_name, segmap=segmap_mask, img=img) File "Y:\code\MimicTalk\data_gen\utils\process_video\extract_segment_imgs.py", line 270, in generate_segment_imgs_job out_img, mask = seg_model._seg_out_img_with_segmap(img, segmap, mode=mode) AttributeError: 'NoneType' object has no attribute '_seg_out_img_with_segmap' Traceback (most recent call last): File "Y:\code\MimicTalk\utils\commons\multiprocess_utils.py", line 19, in chunked_worker res = mapfunc(arg) File "Y:\code\MimicTalk\data_gen\utils\process_video\extract_segment_imgs.py", line 287, in segment_and_generate_for_image_job segmap_name = generate_segment_imgs_job(img_name=img_name, segmap=segmap_mask, img=img) File "Y:\code\MimicTalk\data_gen\utils\process_video\extract_segment_imgs.py", line 270, in generate_segment_imgs_job out_img, mask = seg_model._seg_out_img_with_segmap(img, segmap, mode=mode) AttributeError: 'NoneType' object has no attribute '_seg_out_img_with_segmap' Traceback (most recent call last): File "Y:\code\MimicTalk\utils\commons\multiprocess_utils.py", line 19, in chunked_worker res = mapfunc(*arg) File "Y:\code\MimicTalk\data_gen\utils\process_video\extract_segment_imgs.py", line 287, in segment_and_generate_for_image_job segmap_name = generate_segment_imgs_job(img_name=img_name, segmap=segmap_mask, img=img) File "Y:\code\MimicTalk\data_gen\utils\process_video\extract_segment_imgs.py", line 270, in generate_segment_imgs_job out_img, mask = seg_model._seg_out_img_with_segmap(img, segmap, mode=mode) AttributeError: 'NoneType' object has no attribute '_seg_out_img_with_segmap'