风吟关于一键炼丹的各种好用小工具
画师标签与角色特征处理依赖于此项目:https://github.com/shiertier/xl_train_json2tag
pip install collections # 不需要单独安装,collections是Python标准库的一部分
pip install tags # 假设tags是一个第三方库
pip install webuiapi
pip install tqdm
pip install pandas
pip install sdeval # 这个应该包含了fidelity, controllability, corrupt子模块
python eval_lora.py
pip install openpyxl
HF_ENDPOINT=https://hf-mirror.com python eval_lora.py
xlsl 文件保存在python的实际运行目录
指定目录中的每个子文件夹中随机抽取50张webp图片和同名的txt文件,并将它们复制到指定的目标文件夹中。
import os
import shutil
import random
from tqdm import tqdm
def copy_files(src_dir, dst_dir, num_files=50):
# 确保目标目录存在
if not os.path.exists(dst_dir):
os.makedirs(dst_dir)
# 获取所有子文件夹
sub_dirs = [d for d in os.listdir(src_dir) if os.path.isdir(os.path.join(src_dir, d))]
# 遍历每个子文件夹并处理文件
for sub_dir in sub_dirs:
sub_dir_path = os.path.join(src_dir, sub_dir)
webp_files = [f for f in os.listdir(sub_dir_path) if f.endswith('.webp')]
# 如果图片数量少于指定数量,则全部复制
if len(webp_files) <= num_files:
selected_files = webp_files
else:
selected_files = random.sample(webp_files, num_files)
# 创建进度条
with tqdm(total=len(selected_files), desc=f"Copying from {sub_dir}", unit="file") as pbar:
for webp_file in selected_files:
base_name = os.path.splitext(webp_file)[0]
txt_file = base_name + '.txt'
# 复制 .webp 文件
src_webp_path = os.path.join(sub_dir_path, webp_file)
dst_webp_path = os.path.join(dst_dir, webp_file)
shutil.copy2(src_webp_path, dst_webp_path)
# 复制 .txt 文件
src_txt_path = os.path.join(sub_dir_path, txt_file)
dst_txt_path = os.path.join(dst_dir, txt_file)
if os.path.exists(src_txt_path):
shutil.copy2(src_txt_path, dst_txt_path)
# 更新进度条
pbar.update(1)
if __name__ == "__main__":
src_directory = r'F:\data\all\arknights\arknights_0.9'
dst_directory = r'F:\data\all\arknights\v1_86'
copy_files(src_directory, dst_directory)