Stable Diffusion训练图片时,简陋的数据处理

0 图片从命名

如果有强迫症,看到似乎乱码的命名会不舒服,那么就批量从命名

import osdef rename_files_in_directory(directory, key_word, new_suffix):i = 1for filename in os.listdir(directory):new_file = key_word + str(i).zfill(3) + new_suffixsource = os.path.join(directory, filename)destination = os.path.join(directory, new_file)os.rename(source, destination)i += 1
# 使用方法
# rename_files_in_directory('/path/to/directory', '.new_suffix')
# D:\SdTrainerGUI\lora-scripts-v1.7.3\train\XiboBird\5_zkz

1 批量缩小图片分辨率

如果是用同一个相机拍的,分辨率都是一样的,只不过分辨率太大了8K以上的分辨率显卡受不了

from PIL import Image
import osdef resize_image(image_path, output_path, scale_factor):# 打开图片img = Image.open(image_path)# 获取图片的宽度和高度width, height = img.size# 计算新的宽度和高度new_width = width // scale_factornew_height = height // scale_factor# 使用ANTIALIAS滤镜来缩小图片# new_img = img.resize((new_width, new_height), Image.ANTIALIAS)new_img = img.resize((new_width, new_height), Image.ANTIALIAS)# 保存新图片new_img.save(output_path)def get_all_image(path, file_extension=".jpg"):return [os.path.join(path, f) for f in os.listdir(path) if f.endswith(file_extension)]def process_images(catalog_of_original_images, file_extension, scale_factor):# 获取原始图像目录的上一级目录parent_directory = os.path.dirname(catalog_of_original_images)# 设置输出目录output_catalog = os.path.join(parent_directory, "output")# 创建输出目录if not os.path.exists(output_catalog):os.makedirs(output_catalog)image_list = get_all_image(catalog_of_original_images, file_extension)for image in image_list:# 获取图片的文件名image_name = os.path.basename(image)# 设置输出图片的路径output_image_path = os.path.join(output_catalog, image_name)# 缩小图片并保存resize_image(image, output_image_path, scale_factor)if __name__ == '__main__':process_images(r"E:\Dwk\Photos\祥春鸟", ".jpg", 10)

2 图片数据集增强

最简易的增强是图片镜像,就是左右颠倒各一张,图片数据集数量直接翻倍

import os
from PIL import Image, ImageOpsdef data_enhancement(image_catalog, file_extension=".jpg"):image_list = [os.path.join(image_catalog, f) for f in os.listdir(image_catalog) if f.endswith(file_extension)]for image in image_list:# 打开图片img = Image.open(image)# 创建镜像图片mirror_img = ImageOps.mirror(img)# 获取图片的文件名(不包括后缀)image_name = os.path.splitext(os.path.basename(image))[0]# 设置镜像图片的文件名mirror_image_name = image_name + "_mirror" + file_extension# 设置镜像图片的路径mirror_image_path = os.path.join(image_catalog, mirror_image_name)# 保存镜像图片mirror_img.save(mirror_image_path)if __name__ == '__main__':data_enhancement(r"E:\Dwk\Photos\output", ".jpg")

3 tag内容批量修改(这里是只替换)

避免一个个文件打开逐个tag修改

import osdef replace_words_in_files(directory, old_word, new_word):# 获取指定目录下的所有文件files = os.listdir(directory)# 遍历所有文件for file in files:# 检查文件是否为.txt文件if file.endswith('.txt'):# 构建完整的文件路径file_path = os.path.join(directory, file)# 打开文件with open(file_path, 'r') as f:content = f.read()# 替换内容content = content.replace(old_word, new_word)# 写回文件with open(file_path, 'w') as f:f.write(content)if __name__ == '__main__':replace_words_in_files(r'D:\SdTrainerGUI\lora-scripts-v1.7.3\train\PreprocessingOutput','girl','boy')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/765932.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

yolov6实现遥感影像目标识别|以DIOR数据集为例

1 目标检测是计算机视觉领域中的一项重要任务,它的目标是在图像或视频中检测出物体的位置和类别。YOLO(You Only Look Once)是一系列经典的目标检测算法,最初由Joseph Redmon等人于2016年提出。YOLO算法具有快速、简单、端到端的特…

证书(公钥):网络安全的关键

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

YOLOv5全网首发改进: 注意力机制改进 | 上下文锚点注意力(CAA) | CVPR2024 PKINet 遥感图像目标检测

💡💡💡本文独家改进:引入了CAA模块来捕捉长距离的上下文信息,利用全局平均池化和1D条形卷积来增强中心区域的特征,从而提升检测精度,CAA和C3进行结合实现二次创新,改进思路来自CVPR2024 PKINet,2024年前沿最新改进,抢先使用 💡💡💡小目标数据集,涨点近两个…

【亚马逊云AI课程上新】「生成式 AI 精英速成计划」 即刻成为炙手可热 AI 人才

文章目录 1. 生成式 AI 精英速成计划介绍2. 重磅课程 增亮你的职业生涯3. 多种身份 全面赋能4. 关于「商业应用技能」课程5. 关于「技术开发技能」课程介绍6. 化身学霸得好礼 好礼双周送附:亚马逊云科技海外账号注册流程 1. 生成式 AI 精英速成计划介绍 &#x1f4…

解决大型语言模型中的幻觉问题:前沿技术的综述

大型语言模型中的幻觉问题及其解决技术综述 摘要 大型语言模型(LLM)如GPT-4、PaLM和Llama在自然语言生成能力方面取得了显著进步。然而,它们倾向于产生看似连贯但实际上不正确或与输入上下文脱节的幻觉内容,这限制了它们的可靠性和安全部署。随着LLM在…

公司调研 | Agility | 网红人形机器人Digit | 商业化情况

最近做的一些公司 / 产品调研没有从技术角度出发,而更关注宏观发展:主营方向、产品介绍、商业化落地情况、融资历程、公司愿景、创始人背景等。部分调研放在知乎上,大部分在飞书私人链接上 最近较关注人形Robot的发展情况,欢迎感兴…

在云上部署我的个人博客!!!

这和上一篇是连起来的,大家先整体看一遍,不要跟,前面有些弯路!!! 【这是按时计费的,欠费不能用,交了好几次哈哈哈哈 】 【我买的域名是:128.1.61.228】 【把域名这个位置…

C#面:什么是不可变字符串

C# 中的字符串类型(string)是不可变的,这意味着一旦创建了一个字符串对象,就不能再对其进行修改。 当对一个字符串进行拼接、替换、删除等操作时,实际上是创建了一个新的字符串对象,而原始的字符串对象保持…

鸿蒙Harmony应用开发—ArkTS(@Link装饰器:父子双向同步)

子组件中被Link装饰的变量与其父组件中对应的数据源建立双向数据绑定。 说明: 从API version 9开始,该装饰器支持在ArkTS卡片中使用。 概述 Link装饰的变量与其父组件中的数据源共享相同的值。 限制条件 Link装饰器不能在Entry装饰的自定义组件中使用…

优化选址问题 | 模拟退火算法求解物流选址问题含Matlab源码

目录 问题代码问题 模拟退火算法(Simulated Annealing, SA)是一种概率性的全局优化算法,用于求解大规模组合优化问题。在物流选址问题中,模拟退火算法可以用来寻找成本最低、效率最高的仓库或配送中心位置。下面是一个简化的模拟退火算法求解物流选址问题的描述,并附带有…

贪吃蛇(C语言超详细版)

目录 前言: 总览: API: 控制台程序(Console): 设置坐标: COORD: GetStdHandle: STD_OUTPUT_HANDLE参数: SetConsoleCursorPosition: …

LabVIEW飞行器螺旋桨性能测试与数据监控

LabVIEW飞行器螺旋桨性能测试与数据监控 开发LabVIEW的电动飞行器螺旋桨性能测试与数据监控系统,专门针对电动飞行器螺旋桨在运行过程中的性能测试和监控需求。通过采集转速、转矩、拉力和温度等关键参数,系统能够实时监测和分析螺旋桨的状态&#xff0…

33-Java服务定位器模式 (Service Locator Pattern)

Java服务定位器模式 实现范例 服务定位器模式(Service Locator Pattern)用于想使用 JNDI 查询定位各种服务的时候考虑到为某个服务查找 JNDI 的代价很高,服务定位器模式充分利用了缓存技术在首次请求某个服务时,服务定位器在 JNDI…

Mysql---备份恢复

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一.Mysql日志类型 错误日志: 错误日志主要记录如下几种日志: 服务器启动和关闭过程中的信息 服务器运行过程中的错误信息 事件调度器运行一个时间是产生的信息 在从服…

【大数据】五、yarn基础

Yarn Yarn 是用来做分布式系统中的资源协调技术 MapReduce 1.x 对于 MapReduce 1.x 的版本上: 由 Client 发起计算请求,Job Tracker 接收请求之后分发给各个TaskTrack进行执行 在这个阶段,资源的管理与请求的计算是集成在 mapreduce 上的…

实际开发中,git版本切换操作

业务场景 客户环境需要部署当前分支的之前的一个版本代码,所以需要从当前的commit切换到之前的commit 版本切换步骤 查看版本提交日志 $ git reflog切换版本 git reset --hard 七位数的版本id在切换后的版本上更改代码后 执行完暂存 git commit 把回退后的代码提…

关于vue 的生命周期的教程

Vue.js 是一款流行的前端框架,它提供了丰富的功能和便捷的开发式, 其中生命周期函数是 Vue 组件中非常重要的一部分。 本文将为您详细介绍 Vue 组件的生命周期函数及其执行顺序, 帮助您更好地理解和利用 Vue.js 框架。 什么是 Vue 生命周期 …

基于java+springboot+vue实现的外卖平台系统(文末源码+Lw+ppt)23-568

摘 要 伴随着我国社会的发展,人民生活质量日益提高。于是对外卖平台系统进行规范而严格是十分有必要的,所以许许多多的信息管理系统应运而生。此时单靠人力应对这些事务就显得有些力不从心了。所以本论文将设计一套外卖平台系统,帮助商家进…

centos配置natapp 自动配置

下载配置文件 centos 这里 我用的 natapp_autostart-master\natapp_autostart-master\systemd 文件夹下的 natapp.service 上传natapp 运行natapp客户端 在 https://natapp.cn 官网 下载客户端. 放在目录 /usr/natapp/ 运行 sudo chmod ax /usr/natapp/natapp给予可执行权…

Vulnhub靶机:HackLAB_Vulnix

一、介绍 运行环境:Virtualbox(攻击机)和VMware(靶机) 攻击机:kali(192.168.56.101) 靶机:HackLAB: Vulnix(192.168.56.110) 目标:获取靶机root权限和flag 靶机下载地址&#x…