diff --git a/train_README-zh.md b/train_README-zh.md index fbd5ef64..f0f062bb 100644 --- a/train_README-zh.md +++ b/train_README-zh.md @@ -19,7 +19,7 @@ __由于文档正在更新中,描述可能有错误。__ 1. 准备 fine tuning 方法的元数据:如说明文字(打标签)等 -1. 如果只执行一次,学习就可以进行(关于学习,请参阅各个脚本的文档)。如果需要,以后可以随时参考。 +1. 如果只执行一次,学习就可以进行(相关内容,请参阅各个脚本的文档)。如果需要,以后可以随时参考。 @@ -67,18 +67,23 @@ __由于文档正在更新中,描述可能有错误。__ 这样一来,每张图片都相当于使用标题“分类标识”(例如“shs dog”)进行训练。 -## step 1. identifier和class(分类标识) - 要确定学习对象的单词标识符(identifier)和所属类(class)。 +## step 1.确定identifier和class -类(class)是指学习对象的一般类型。例如,如果要学习特定犬种,则类别为狗(dog)。对于动漫角色,根据模型的不同,类别可能是男孩(boy)或女孩(girl),或1男孩(1boy)或1女孩(1girl)。 +要将学习的目标与identifier和属于该目标的class相关联。 -标识符(identifier)用于识别和学习目标对象。它可以是任意单词,但根据原论文,好的选择是“在tokenizer处理下成为一个标记的3个字符以下的罕见单词”。 +(虽然有很多称呼,但暂时按照原始论文的说法。) -使用标识符和类别,例如“shs dog”,可以通过模型识别和学习想要学习的目标对象。 +以下是简要说明(请查阅详细信息)。 -在图像生成时,如果指定“shs dog”,则可以生成已学习犬种的图像。 +class是学习目标的一般类别。例如,如果要学习特定品种的狗,则class将是“dog”。对于动漫角色,根据模型不同,可能是“boy”或“girl”,也可能是“1boy”或“1girl”。 -(以下是我最近使用的标识符的示例:``shs sts scs cpc coc cic msm usu ici lvl cic dii muk ori hru rik koo yos wny``。事实上,最好选择不包含在Danbooru标签中的标识符。) +identifier是用于识别学习目标并进行学习的单词。可以使用任何单词,但是根据原始论文,“Tokenizer生成的3个或更少字符的罕见单词”是最好的选择。 + +使用identifier和class,例如,“shs dog”可以将模型训练为从class中识别并学习所需的目标。 + +在图像生成时,使用“shs dog”将生成所学习狗种的图像。 + +(作为identifier,我最近使用的一些参考是“shs sts scs cpc coc cic msm usu ici lvl cic dii muk ori hru rik koo yos wny”等。最好是不包含在Danbooru标签中的单词。) ## step 2. 决定是否使用正则化图像,并生成正则化图像 @@ -815,14 +820,16 @@ python merge_dd_tags_to_metadata.py --full_path --in_json meta_cap_dd1.json 如果省略in_json,如果有写入目标元数据文件,将从那里读取并覆盖。 __※ 通过每次重写 in_json 选项和写入目标,写入单独的元数据文件是安全的。 __ -### 清洁标题和标签 +### 标题和标签清理 -至此,字幕和 DeepDanbooru 标签已放在元数据文件中。但是,由于拼写变化(*),带有自动字幕的字幕很微妙,并且标签包括下划线和评级(在 DeepDanbooru 的情况下),因此编辑器的替换功能等。您应该使用它来清理您的字幕和标签。 -※ 例如,如果您正在学习动漫女孩,那么字幕会有女孩/女孩/女人/女人等变体。另外,对于“动漫女孩”之类的东西,简单地使用“女孩”可能更合适。 +到目前为止,标题和DeepDanbooru标签已经被整理到元数据文件中。然而,自动标题生成的标题存在表达差异等微妙问题(※),而标签中可能包含下划线和评级(DeepDanbooru的情况下)。因此,最好使用编辑器的替换功能清理标题和标签。 -提供了清理脚本,请根据情况编辑脚本内容使用。 +※例如,如果要学习动漫中的女孩,标题可能会包含girl/girls/woman/women等不同的表达方式。另外,将"anime girl"简单地替换为"girl"可能更合适。 + +我们提供了用于清理的脚本,请根据情况编辑脚本并使用它。 + +(不需要指定教师数据文件夹。将清理元数据中的所有数据。) -(不再需要指定教师数据文件夹。元数据中的所有数据将被清除。) ``` python clean_captions_and_tags.py <要读取的元数据文件名> <要写入的元数据文件名> ``` @@ -835,14 +842,13 @@ python clean_captions_and_tags.py meta_cap_dd.json meta_clean.json 标题和标签的预处理现已完成。 -## latents 提前获取潜能 +## 预先获取 latents -※ 此步骤不是必需的。即使你省略它,你也可以在学习过程中获得潜能的同时学习。 -此外,在学习过程中执行 `random_crop` 或 `color_aug` 时,无法提前获取 latents(因为每次学习时图像都会改变)。如果你不预取,你可以从到目前为止的元数据中学习。 +※ 这一步骤并非必须。即使省略此步骤,也可以在训练过程中获取 latents。但是,如果在训练时执行 `random_crop` 或 `color_aug` 等操作,则无法预先获取 latents(因为每次图像都会改变)。如果不进行预先获取,则可以使用到目前为止的元数据进行训练。 -事先获取图像的潜在表示并将其保存到磁盘。这允许快速学习。同时进行bucketing(根据纵横比对训练数据进行分类)。 +提前获取图像的潜在表达并保存到磁盘上。这样可以加速训练过程。同时进行 bucketing(根据宽高比对训练数据进行分类)。 -在您的工作文件夹中,键入: +请在工作文件夹中输入以下内容。 ``` python prepare_buckets_latents.py --full_path <教师资料夹>