k4d3
/

English
Not-For-All-Audiences
k4d3 commited on
Commit
ca498bf
1 Parent(s): b570508

Signed-off-by: Balazs Horvath <acsipont@gmail.com>

This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. README.md +19 -275
  2. embeddings/BadDream-SDXL.json +0 -0
  3. embeddings/EasyNegativeV2-SDXL.json +0 -0
  4. embeddings/EasyNegativeV2.json +0 -0
  5. embeddings/EyeDetail-SDXL.json +0 -0
  6. embeddings/FastNegativeEmbedding-SDXL.json +0 -0
  7. embeddings/FastNegativeEmbeddingStrong-SDXL.json +0 -0
  8. embeddings/FastNegativeV2-SDXL.json +0 -0
  9. embeddings/HairDetail-SDXL.json +0 -0
  10. embeddings/HandNeg-neg-SDXL.json +0 -0
  11. embeddings/OverallDetail-SDXL.json +0 -0
  12. embeddings/SkinDetail-SDXL.json +0 -0
  13. embeddings/SkinDetailNeg-SDXL.json +0 -0
  14. embeddings/SkinHairDetail-SDXL.json +0 -0
  15. embeddings/Style-GravityMagic-SDXL.json +0 -0
  16. embeddings/Style-Winter-SDXL.json +0 -0
  17. embeddings/Style-Winter-neg-SDXL.json +0 -0
  18. embeddings/UnrealisticDream-SDXL.json +0 -0
  19. embeddings/Unspeakable-Horrors-16v-SDXL.json +0 -0
  20. embeddings/Unspeakable-Horrors-24v-SDXL.json +0 -0
  21. embeddings/Unspeakable-Horrors-32v-SDXL.json +0 -0
  22. embeddings/Unspeakable-Horrors-48v-SDXL.json +0 -0
  23. embeddings/Unspeakable-Horrors-64v-SDXL.json +0 -0
  24. embeddings/Unspeakable-Horrors-Composition-4v-SDXL.json +0 -0
  25. embeddings/Unspeakable-Horrors-Composition-SDXL.json +0 -0
  26. embeddings/aid210-SDXL.json +0 -0
  27. embeddings/aid28-SDXL.json +0 -0
  28. embeddings/aid29-SDXL.json +0 -0
  29. embeddings/aid291-SDXL.json +0 -0
  30. embeddings/aidv1-neg-SDXL.json +0 -0
  31. embeddings/aidxlv05_neg.json +0 -0
  32. embeddings/bad-artist-SDXL.json +0 -0
  33. embeddings/bad-artist-anime-SDXL.json +0 -0
  34. embeddings/bad-hands-5-SDXL.json +0 -0
  35. embeddings/bad_prompt-SDXL.json +0 -0
  36. embeddings/bad_prompt_version2-SDXL.json +0 -0
  37. embeddings/badv3-SDXL.json +0 -0
  38. embeddings/badv4-SDXL.json +0 -0
  39. embeddings/badv5-SDXL.json +0 -0
  40. embeddings/badyiffymix35-SDXL.json +0 -0
  41. embeddings/badyiffymix41-SDXL.json +0 -0
  42. embeddings/badyiffymix41.json +7 -0
  43. embeddings/boring_sdxl_v1.json +0 -0
  44. embeddings/bwu-SDXL.json +0 -0
  45. embeddings/bwu.json +0 -0
  46. embeddings/deformityv6-SDXL.json +0 -0
  47. embeddings/dfc-SDXL.json +0 -0
  48. embeddings/dfc.json +0 -0
  49. embeddings/easynegative-1.5-SDXL.json +0 -0
  50. embeddings/easynegative-1.5.json +0 -0
README.md CHANGED
@@ -1,280 +1,19 @@
1
  ---
2
  license: wtfpl
3
  datasets:
4
- - k4d3/furry
5
  language:
6
- - en
7
  tags:
8
- - not-for-all-audiences
9
  ---
10
 
11
  <!--markdownlint-disable MD033 MD038 -->
12
 
13
- # Hotdogwolf's Yiff Toolkit
14
-
15
- The Yiff Toolkit is a comprehensive set of tools designed to enhance your creative process in the realm of furry art. From refining artist styles to generating unique characters, the Yiff Toolkit provides a range of tools to help you cum.
16
-
17
- > NOTE: You can click on any image in this README to be instantly teleported next to the original resolution version of it! If you want the metadata for a picture and it isn't there, you need to delete the letter e before the .png in the link! If a metadata containing original image is missing, please let me know!
18
-
19
- ## Table of Contents
20
-
21
- <div style="background-color: lightyellow; padding: 10px;">
22
- <details>
23
- <summary>Click to reveal table of contents</summary>
24
-
25
- - [Hotdogwolf's Yiff Toolkit](#hotdogwolfs-yiff-toolkit)
26
- - [Table of Contents](#table-of-contents)
27
- - [Dataset Tools](#dataset-tools)
28
- - [Dataset Preparation](#dataset-preparation)
29
- - [Create the `training_dir` Directory](#create-the-training_dir-directory)
30
- - [Grabber](#grabber)
31
- - [Manual Method](#manual-method)
32
- - [Auto Taggers](#auto-taggers)
33
- - [eva02-vit-large-448-8046](#eva02-vit-large-448-8046)
34
- - [LoRA Training Guide](#lora-training-guide)
35
- - [Installation Tips](#installation-tips)
36
- - [Pony Training](#pony-training)
37
- - [Download Pony in Diffusers Format](#download-pony-in-diffusers-format)
38
- - [Sample Prompt File](#sample-prompt-file)
39
- - [Training Commands](#training-commands)
40
- - [`accelerate launch`](#accelerate-launch)
41
- - [`--lowram`](#--lowram)
42
- - [`--pretrained_model_name_or_path`](#--pretrained_model_name_or_path)
43
- - [`--output_dir`](#--output_dir)
44
- - [`--train_data_dir`](#--train_data_dir)
45
- - [`--resolution`](#--resolution)
46
- - [`--enable_bucket`](#--enable_bucket)
47
- - [`--min_bucket_reso` and `--max_bucket_reso`](#--min_bucket_reso-and---max_bucket_reso)
48
- - [`--network_alpha`](#--network_alpha)
49
- - [`--save_model_as`](#--save_model_as)
50
- - [`--network_module`](#--network_module)
51
- - [`--network_args`](#--network_args)
52
- - [`preset`](#preset)
53
- - [`conv_dim` and `conv_alpha`](#conv_dim-and-conv_alpha)
54
- - [`module_dropout` and `dropout` and `rank_dropout`](#module_dropout-and-dropout-and-rank_dropout)
55
- - [`use_tucker`](#use_tucker)
56
- - [`use_scalar`](#use_scalar)
57
- - [`rank_dropout_scale`](#rank_dropout_scale)
58
- - [`algo`](#algo)
59
- - [`train_norm`](#train_norm)
60
- - [`block_dims`](#block_dims)
61
- - [`block_alphas`](#block_alphas)
62
- - [`--network_dropout`](#--network_dropout)
63
- - [`--lr_scheduler`](#--lr_scheduler)
64
- - [`--lr_scheduler_num_cycles`](#--lr_scheduler_num_cycles)
65
- - [`--learning_rate` and `--unet_lr` and `--text_encoder_lr`](#--learning_rate-and---unet_lr-and---text_encoder_lr)
66
- - [`--network_dim`](#--network_dim)
67
- - [`--output_name`](#--output_name)
68
- - [`--scale_weight_norms`](#--scale_weight_norms)
69
- - [`--max_grad_norm`](#--max_grad_norm)
70
- - [`--no_half_vae`](#--no_half_vae)
71
- - [`--save_every_n_epochs` and `--save_last_n_epochs` or `--save_every_n_steps` and `--save_last_n_steps`](#--save_every_n_epochs-and---save_last_n_epochs-or---save_every_n_steps-and---save_last_n_steps)
72
- - [`--mixed_precision`](#--mixed_precision)
73
- - [`--save_precision`](#--save_precision)
74
- - [`--caption_extension`](#--caption_extension)
75
- - [`--cache_latents` and `--cache_latents_to_disk`](#--cache_latents-and---cache_latents_to_disk)
76
- - [`--optimizer_type`](#--optimizer_type)
77
- - [`--dataset_repeats`](#--dataset_repeats)
78
- - [`--max_train_steps`](#--max_train_steps)
79
- - [`--shuffle_caption`](#--shuffle_caption)
80
- - [`--sdpa` or `--xformers` or `--mem_eff_attn`](#--sdpa-or---xformers-or---mem_eff_attn)
81
- - [`--multires_noise_iterations` and `--multires_noise_discount`](#--multires_noise_iterations-and---multires_noise_discount)
82
- - [Implementation Details](#implementation-details)
83
- - [`--sample_prompts` and `--sample_sampler` and `--sample_every_n_steps`](#--sample_prompts-and---sample_sampler-and---sample_every_n_steps)
84
- - [Embeddings for 1.5 and SDXL](#embeddings-for-15-and-sdxl)
85
- - [ComfyUI Walkthrough any%](#comfyui-walkthrough-any)
86
- - [AnimateDiff for Masochists](#animatediff-for-masochists)
87
- - [Stable Cascade Furry Bible](#stable-cascade-furry-bible)
88
- - [Resonance Cascade](#resonance-cascade)
89
- - [SDXL Furry Bible](#sdxl-furry-bible)
90
- - [Some Common Knowledge Stuff](#some-common-knowledge-stuff)
91
- - [SeaArt Furry](#seaart-furry)
92
- - [Pony Diffusion V6](#pony-diffusion-v6)
93
- - [Requirements](#requirements)
94
- - [Positive Prompt Stuff](#positive-prompt-stuff)
95
- - [Negative Prompt Stuff](#negative-prompt-stuff)
96
- - [How to Prompt Female Anthro Lions](#how-to-prompt-female-anthro-lions)
97
- - [Pony Diffusion V6 LoRAs](#pony-diffusion-v6-loras)
98
- - [Concept Loras](#concept-loras)
99
- - [small\_dom\_big\_sub-v1e400](#small_dom_big_sub-v1e400)
100
- - [analbeads-v1e400](#analbeads-v1e400)
101
- - [bdsm-v1e400](#bdsm-v1e400)
102
- - [blue\_frost](#blue_frost)
103
- - [cervine\_penis-v1e400](#cervine_penis-v1e400)
104
- - [non-euclidean\_sex-v1e400](#non-euclidean_sex-v1e400)
105
- - [space-v1e500](#space-v1e500)
106
- - [spacengine-v1e500](#spacengine-v1e500)
107
- - [Artist/Style LoRAs](#artiststyle-loras)
108
- - [blp-v1e400](#blp-v1e400)
109
- - [butterchalk-v3e400](#butterchalk-v3e400)
110
- - [cecily\_lin-v1e37](#cecily_lin-v1e37)
111
- - [chunie-v1e5](#chunie-v1e5)
112
- - [cooliehigh-v1e45](#cooliehigh-v1e45)
113
- - [by\_clybius-v1e400](#by_clybius-v1e400)
114
- - [dagasi-v1e134](#dagasi-v1e134)
115
- - [darkgem-v1e4](#darkgem-v1e4)
116
- - [by\_himari-v1e400](#by_himari-v1e400)
117
- - [furry\_sticker-v1e250](#furry_sticker-v1e250)
118
- - [goronic-v1e1](#goronic-v1e1)
119
- - [greg\_rutkowski-v1e400](#greg_rutkowski-v1e400)
120
- - [hamgas-v1e400](#hamgas-v1e400)
121
- - [honovy-v1e4](#honovy-v1e4)
122
- - [jinxit-v1e10](#jinxit-v1e10)
123
- - [kame\_3-v1e80](#kame_3-v1e80)
124
- - [kenket-v1e4](#kenket-v1e4)
125
- - [louart-v1e10](#louart-v1e10)
126
- - [realistic-v4e400](#realistic-v4e400)
127
- - [skecchiart-v1e134](#skecchiart-v1e134)
128
- - [spectrumshift-v1e400](#spectrumshift-v1e400)
129
- - [squishy-v1e10](#squishy-v1e10)
130
- - [whisperingfornothing-v1e58](#whisperingfornothing-v1e58)
131
- - [wjs07-v1e200](#wjs07-v1e200)
132
- - [wolfy-nail-v1e400](#wolfy-nail-v1e400)
133
- - [woolrool-v1e4](#woolrool-v1e4)
134
- - [Character LoRAs](#character-loras)
135
- - [arielsatyr-v1e400](#arielsatyr-v1e400)
136
- - [amalia-v2e400](#amalia-v2e400)
137
- - [amicus-v1e200](#amicus-v1e200)
138
- - [auroth-v1e250](#auroth-v1e250)
139
- - [blaidd-v1e400](#blaidd-v1e400)
140
- - [martlet-v1e200](#martlet-v1e200)
141
- - [ramona-v1e400](#ramona-v1e400)
142
- - [tibetan-v2e500](#tibetan-v2e500)
143
- - [veemon-v1e400](#veemon-v1e400)
144
- - [hoodwink-v1e400](#hoodwink-v1e400)
145
- - [jayjay-v1e400](#jayjay-v1e400)
146
- - [foxparks-v2e134](#foxparks-v2e134)
147
- - [lovander-v3e10](#lovander-v3e10)
148
- - [skiltaire-v1e400](#skiltaire-v1e400)
149
- - [chillet-v3e10](#chillet-v3e10)
150
- - [maliketh-v1e1](#maliketh-v1e1)
151
- - [wickerbeast-v1e500](#wickerbeast-v1e500)
152
- - [Satisfied Customers](#satisfied-customers)
153
-
154
- </details>
155
- </div>
156
-
157
- ## Dataset Tools
158
-
159
- I have uploaded all of the little handy Python scripts I use to [/dataset_tools](https://huggingface.co/k4d3/yiff_toolkit/tree/main/dataset_tools). They are pretty self explanatory by just the file name but almost all of them contain an AI generated descriptions. If you want to use them you will need to edit the path to your `training_dir` folder, the variable will be called `path` or `directory` and look something like this:
160
-
161
- ```py
162
- def main():
163
- path = 'C:\\Users\\kade\\Desktop\\training_dir_staging'
164
- ```
165
-
166
- Don't be afraid of editing Python scripts, unlike the real snake, these won't bite!
167
 
168
  ---
169
 
170
- ## Dataset Preparation
171
-
172
- Before you begin collecting your dataset you will need to decide what you want to teach the model, it can be a character, a style or a new concept.
173
-
174
- For now let's imagine you want to teach your model *wickerbeasts* so you can generate your VRChat avatar every night.
175
-
176
- ### Create the `training_dir` Directory
177
-
178
- Before starting we need a directory where we'll organize our datasets. Open up a terminal by pressing `Win + R` and typing in `pwsh`. We will also be using [git](https://git-scm.com/download/win) and [huggingface](https://huggingface.co/) to version control our smut. For brevity I'll refrain from giving you a tutorial on both. Once you have your newly created dataset on HF ready lets clone it. Make sure you change `user` in the first line to your HF username!
179
-
180
- ```pwsh
181
- git clone git@hf.co:/datasets/user/training_dir C:\training_dir
182
- cd C:\training_dir
183
- git branch wickerbeast
184
- git checkout wickerbeast
185
- ```
186
-
187
- Let's continue with downloading some *wickerbeast* data but don't close the terminal window just yet, for this we'll make good use of the furry <abbr title="image board">booru</abbr> [e621.net](https://e621.net/). There are two nice ways to download data from this site with the metadata intact, I'll start with the fastest and then I will explain how you can selectively browse around the site and get the images you like one by one.
188
-
189
- ### Grabber
190
-
191
- [Grabber](https://github.com/Bionus/imgbrd-grabber) makes your life easier when trying to compile datasets quickly from imageboards.
192
-
193
- [![A screenshot of Grabber.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/tutorial/grabber1.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/tutorial/grabber1.png)
194
-
195
- Clicking on the `Add` button on the Download tab lets you add a `group` which will get downloaded, `Tags` will be the where you can type in the search parameters like you would on e621.net, so for example the string `wickerbeast solo -comic -meme -animated order:score` will search for solo wickerbeast pictures without including comics, memes, and animated posts in descending order of their scores. For training SDXL LoRAs you usually won't need more than 50 images, but you should set the solo group to `40` and add a new group with `-solo` instead of `solo` and set the `Image Limit` to `10` for it to include some images with other characters in it. This will help the model learn a lot better!
196
-
197
- You should also enable `Separate log files` for e621, this will download the metadata automatically alongside the pictures.
198
-
199
- [![Another screenshot of Grabber.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/tutorial/grabber2.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/tutorial/grabber2.png)
200
-
201
- For Pony I've set up the Text file content like so: `rating_%rating%, %all:separator=^, %` for other models you might want to replace `rating_%rating%` with just `%rating%`.
202
-
203
- You should also set the `Folder` into which the images will get downloaded. Let's use `C:\training_dir\1_wickerbeast` for both groups.
204
-
205
- Now you are ready to right-click on each group and download the images.
206
-
207
- ---
208
-
209
- ### Manual Method
210
-
211
- This method requires a browser extension like [ViolentMonkey](https://violentmonkey.github.io/) and the following UserScript:
212
-
213
- <div style="background-color: lightyellow; padding: 10px;">
214
- <details>
215
- <summary>Click to reveal userscript.</summary>
216
-
217
- ```js
218
- // ==UserScript==
219
- // @name e621 JSON Button
220
- // @namespace https://cringe.live
221
- // @version 1.0
222
- // @description Adds a JSON button next to the download button on e621.net
223
- // @author _ka_de
224
- // @match https://e621.net/*
225
- // @match https://e6ai.net/*
226
- // @grant none
227
- // ==/UserScript==
228
-
229
- (function() {
230
- 'use strict';
231
-
232
- function constructJSONUrl() {
233
- // Get the current URL
234
- var currentUrl = window.location.href;
235
- // Extract the post ID from the URL
236
- var postId = currentUrl.match(/^https?:\/\/(?:e621\.net|e6ai\.net)\/posts\/(\d+)/)[1];
237
- // Check the hostname
238
- var hostname = window.location.hostname;
239
- // Construct the JSON URL based on the hostname
240
- var jsonUrl = 'https://' + hostname + '/posts/' + postId + '.json';
241
- return jsonUrl;
242
- }
243
-
244
- function createJSONButton() {
245
- // Create a new button element
246
- var jsonButton = document.createElement('a');
247
- // Set the attributes for the button
248
- jsonButton.setAttribute('class', 'button btn-info');
249
- var jsonUrl = constructJSONUrl();
250
- // Set the JSON URL as the button's href attribute
251
- jsonButton.setAttribute('href', jsonUrl);
252
- // Set the inner HTML for the button
253
- jsonButton.innerHTML = '<i class="fa-solid fa-angle-double-right"></i><span>JSON</span>';
254
-
255
- // Find the container where we want to insert the button
256
- var container = document.querySelector('#post-options > li:last-child');
257
-
258
- // Check if the #image-extra-controls element exists
259
- if (document.getElementById('image-extra-controls')) {
260
- // Insert the button after the download button
261
- container = document.getElementById('image-download-link');
262
- container.insertBefore(jsonButton, container.children[0].nextSibling);
263
- } else {
264
- // Insert the button after the last li element in #post-options
265
- container.parentNode.insertBefore(jsonButton, container.nextSibling);
266
- }
267
- }
268
-
269
- // Run the function to create the JSON button
270
- createJSONButton();
271
- })();
272
- ```
273
-
274
- </details>
275
- </div>
276
-
277
- This will put a link to the JSON next to the download button on e621.net and e6ai.net and you can use [this](https://huggingface.co/k4d3/yiff_toolkit/blob/main/dataset_tools/e621%20JSON%20to%20txt.ipynb) Python script to convert them to caption files, it uses the `rating_` prefix before `safe/questionable/explicit` because.. you've guessed it, Pony! It also lets you ignore the tags you add into `ignored_tags` using the `r"\btag\b",` syntax, just replace `tag` with the tag you want it to skip.
278
 
279
  ---
280
 
@@ -531,6 +270,7 @@ accelerate launch --num_cpu_threads_per_process=2 "./sdxl_train_network.py"
531
  ```
532
 
533
  ---
 
534
  &nbsp;
535
 
536
  And now lets break down a bunch of arguments we can pass to `sd-scripts`.
@@ -716,7 +456,7 @@ def forward(self, x):
716
  mask = mask.unsqueeze(-1).unsqueeze(-1)
717
  lx = lx * mask
718
 
719
- scale = self.scale * (1.0 / (1.0 - self.rank_dropout))
720
  else:
721
  scale = self.scale
722
 
@@ -771,7 +511,7 @@ A boolean flag that determines whether to scale the dropout mask to have an aver
771
  def forward(self, orig_weight, org_bias, new_weight, new_bias, *args, **kwargs):
772
  # Retrieve the device that the 'oft_blocks' tensor is on. This ensures that any new tensors created are on the same device.
773
  device = self.oft_blocks.device
774
-
775
  # Check if rank dropout is enabled and the model is in training mode.
776
  if self.rank_dropout and self.training:
777
  # Create a random tensor the same shape as 'oft_blocks', with values drawn from a uniform distribution.
@@ -779,7 +519,7 @@ def forward(self, orig_weight, org_bias, new_weight, new_bias, *args, **kwargs):
779
  drop = (torch.rand(self.oft_blocks, device=device) < self.rank_dropout).to(
780
  self.oft_blocks.dtype
781
  )
782
-
783
  # If 'rank_dropout_scale' is True, scale the dropout mask to have an average value of 1.
784
  # This helps maintain the scale of the tensor's values after dropout is applied.
785
  if self.rank_dropout_scale:
@@ -1054,7 +794,7 @@ The `pyramid_noise_like` function generates noise with a pyramid structure. It s
1054
 
1055
  You have the option of generating images during training so you can check the progress, the argument let's you pick between different samplers, by default it is on `ddim`, so you better change it!
1056
 
1057
- You can also use `--sample_every_n_epochs` instead which will take precedence over steps. The `k_` prefix means karras and the `_a` suffix means ancestral.
1058
 
1059
  ```py
1060
  --sample_prompts=/training_dir/sample-prompts.txt --sample_sampler="euler_a" --sample_every_n_steps=100
@@ -1085,7 +825,7 @@ accelerate launch --num_cpu_threads_per_process=2 "./sdxl_train_network.py" \
1085
  --network_alpha=4 \
1086
  --save_model_as="safetensors" \
1087
  --network_module="lycoris.kohya" \
1088
- --network_args \
1089
  "preset=full" \
1090
  "conv_dim=256" \
1091
  "conv_alpha=4" \
@@ -1184,10 +924,10 @@ Download the [model](https://civitai.com/models/257749/pony-diffusion-v6-xl) and
1184
  #### Positive Prompt Stuff
1185
 
1186
  ```python
1187
- score_9, score_8_up, score_7_up, score_6_up, rating_explicit, source_furry,
1188
  ```
1189
 
1190
- I just assumed you wanted *explicit* and *furry*, you can also set the rating to `rating_safe` or `rating_questionable` and the source to `source_anime`, `source_cartoon`, `source_pony`, `source_rule34` and optionally mix them however you'd like. Its your life! `score_9` is an interesting tag, the model seems to have put all it's "*artsy*" knowledge. You might want to check if it is for your taste. The other interesting tag is `score_5_up` which seems to have learned a little bit of everything regarding quality while `score_4_up` seems to be at the bottom of the autism spectrum regarding art, I do not recommend using it, but you can do whatever you want!
1191
 
1192
  You can talk to Pony in three ways, use tags only, tags are neat, but you can also just type in
1193
  `The background is of full white marble towers in greek architecture style and a castle.` and use natural language to the fullest extent, but the best way is to mix it both, its actually recommended since the score tags by definition are tags, and you need to use them! There are also artist styles that seeped into some random tokens during training, there is a community effort by some weebs to sort them [here](https://lite.framacalc.org/4ttgzvd0rx-a6jf).
@@ -1315,6 +1055,7 @@ blurry, wtf, old art, where is your god now, abstract background, simple backgro
1315
  <summary>Click to reveal images.</summary>
1316
 
1317
  [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/space/00000890-04092251-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/space/00000890-04092251.png) [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/space/00000893-04092315-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/space/00000893-04092315.png) [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/space/00000895-04092334-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/space/00000895-04092334.png) [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/space/00000953-04111037-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/space/00000953-04111037.png) [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/space/00000955-04111040-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/space/00000955-04111040.png)
 
1318
  </details>
1319
  </div>
1320
 
@@ -1349,7 +1090,7 @@ blp,
1349
 
1350
  // Recommended:
1351
 
1352
- detailed background, amazing_background, scenery porn, feral,
1353
  ```
1354
 
1355
  <!-- ⚠️: Hello?! Images?! --->
@@ -1361,7 +1102,7 @@ detailed background, amazing_background, scenery porn, feral,
1361
  - [⬇️ Download](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/ponyxl_loras/butterchalk-v3e400.safetensors?download=true)
1362
  - [📊 Metadata](https://huggingface.co/k4d3/yiff_toolkit/raw/main/ponyxl_loras/butterchalk-v3e400.json)
1363
 
1364
- I'm not into `young anthro` I only trained this one for you, you hentai baka! ^_^
1365
 
1366
  <!-- ⚠️ --->
1367
 
@@ -1412,6 +1153,7 @@ An AI artist to bias the dataset towards detailed owls.
1412
  <summary>Click to reveal images.</summary>
1413
 
1414
  [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/by_clybius/00001289-05020303-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/by_clybius/00001289-05020303.png) [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/by_clybius/00001293-05020312-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/by_clybius/00001293-05020312.png)
 
1415
  </details>
1416
  </div>
1417
 
@@ -1444,6 +1186,7 @@ I recommend first an `Euler a` with `40` steps, CFG set to `11` at 1024x1024 res
1444
  <summary>Click to reveal images.</summary>
1445
 
1446
  [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/darkgem/00000859-04070924e-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/darkgem/00000859-04070924e.png)
 
1447
  </details>
1448
  </div>
1449
 
@@ -1481,7 +1224,7 @@ Generate an infinite amount of furry stickers for your infinite amount of telegr
1481
  ```js
1482
  // Positive prompt:
1483
 
1484
- furry sticker, simple background, black background, white outline,
1485
 
1486
  // Negative prompt:
1487
 
@@ -1830,6 +1573,7 @@ anthro male maliketh \(elden ring\) with white fur and white hair wearing head a
1830
  <summary>Click to reveal images</summary>
1831
 
1832
  [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/maliketh/00000844-04070802e-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/maliketh/00000844-04070802e.png) [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/maliketh/00000850-04070838-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/maliketh/00000850-04070838.png) [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/maliketh/00000842-04070728e-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/maliketh/00000842-04070728e.png)
 
1833
  </details>
1834
  </div>
1835
 
 
1
  ---
2
  license: wtfpl
3
  datasets:
4
+ - k4d3/furry
5
  language:
6
+ - en
7
  tags:
8
+ - not-for-all-audiences
9
  ---
10
 
11
  <!--markdownlint-disable MD033 MD038 -->
12
 
13
+ # Yiff Toolkit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
 
15
  ---
16
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
 
18
  ---
19
 
 
270
  ```
271
 
272
  ---
273
+
274
  &nbsp;
275
 
276
  And now lets break down a bunch of arguments we can pass to `sd-scripts`.
 
456
  mask = mask.unsqueeze(-1).unsqueeze(-1)
457
  lx = lx * mask
458
 
459
+ scale = self.scale * (1.0 / (1.0 - self.rank_dropout))
460
  else:
461
  scale = self.scale
462
 
 
511
  def forward(self, orig_weight, org_bias, new_weight, new_bias, *args, **kwargs):
512
  # Retrieve the device that the 'oft_blocks' tensor is on. This ensures that any new tensors created are on the same device.
513
  device = self.oft_blocks.device
514
+
515
  # Check if rank dropout is enabled and the model is in training mode.
516
  if self.rank_dropout and self.training:
517
  # Create a random tensor the same shape as 'oft_blocks', with values drawn from a uniform distribution.
 
519
  drop = (torch.rand(self.oft_blocks, device=device) < self.rank_dropout).to(
520
  self.oft_blocks.dtype
521
  )
522
+
523
  # If 'rank_dropout_scale' is True, scale the dropout mask to have an average value of 1.
524
  # This helps maintain the scale of the tensor's values after dropout is applied.
525
  if self.rank_dropout_scale:
 
794
 
795
  You have the option of generating images during training so you can check the progress, the argument let's you pick between different samplers, by default it is on `ddim`, so you better change it!
796
 
797
+ You can also use `--sample_every_n_epochs` instead which will take precedence over steps. The `k_` prefix means karras and the `_a` suffix means ancestral.
798
 
799
  ```py
800
  --sample_prompts=/training_dir/sample-prompts.txt --sample_sampler="euler_a" --sample_every_n_steps=100
 
825
  --network_alpha=4 \
826
  --save_model_as="safetensors" \
827
  --network_module="lycoris.kohya" \
828
+ --network_args \
829
  "preset=full" \
830
  "conv_dim=256" \
831
  "conv_alpha=4" \
 
924
  #### Positive Prompt Stuff
925
 
926
  ```python
927
+ score_9, score_8_up, score_7_up, score_6_up, rating_explicit, source_furry,
928
  ```
929
 
930
+ I just assumed you wanted _explicit_ and _furry_, you can also set the rating to `rating_safe` or `rating_questionable` and the source to `source_anime`, `source_cartoon`, `source_pony`, `source_rule34` and optionally mix them however you'd like. Its your life! `score_9` is an interesting tag, the model seems to have put all it's "_artsy_" knowledge. You might want to check if it is for your taste. The other interesting tag is `score_5_up` which seems to have learned a little bit of everything regarding quality while `score_4_up` seems to be at the bottom of the autism spectrum regarding art, I do not recommend using it, but you can do whatever you want!
931
 
932
  You can talk to Pony in three ways, use tags only, tags are neat, but you can also just type in
933
  `The background is of full white marble towers in greek architecture style and a castle.` and use natural language to the fullest extent, but the best way is to mix it both, its actually recommended since the score tags by definition are tags, and you need to use them! There are also artist styles that seeped into some random tokens during training, there is a community effort by some weebs to sort them [here](https://lite.framacalc.org/4ttgzvd0rx-a6jf).
 
1055
  <summary>Click to reveal images.</summary>
1056
 
1057
  [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/space/00000890-04092251-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/space/00000890-04092251.png) [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/space/00000893-04092315-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/space/00000893-04092315.png) [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/space/00000895-04092334-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/space/00000895-04092334.png) [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/space/00000953-04111037-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/space/00000953-04111037.png) [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/space/00000955-04111040-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/space/00000955-04111040.png)
1058
+
1059
  </details>
1060
  </div>
1061
 
 
1090
 
1091
  // Recommended:
1092
 
1093
+ detailed background, amazing_background, scenery porn, feral,
1094
  ```
1095
 
1096
  <!-- ⚠️: Hello?! Images?! --->
 
1102
  - [⬇️ Download](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/ponyxl_loras/butterchalk-v3e400.safetensors?download=true)
1103
  - [📊 Metadata](https://huggingface.co/k4d3/yiff_toolkit/raw/main/ponyxl_loras/butterchalk-v3e400.json)
1104
 
1105
+ I'm not into `young anthro` I only trained this one for you, you hentai baka! ^\_^
1106
 
1107
  <!-- ⚠️ --->
1108
 
 
1153
  <summary>Click to reveal images.</summary>
1154
 
1155
  [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/by_clybius/00001289-05020303-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/by_clybius/00001289-05020303.png) [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/by_clybius/00001293-05020312-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/by_clybius/00001293-05020312.png)
1156
+
1157
  </details>
1158
  </div>
1159
 
 
1186
  <summary>Click to reveal images.</summary>
1187
 
1188
  [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/darkgem/00000859-04070924e-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/darkgem/00000859-04070924e.png)
1189
+
1190
  </details>
1191
  </div>
1192
 
 
1224
  ```js
1225
  // Positive prompt:
1226
 
1227
+ furry sticker, simple background, black background, white outline,
1228
 
1229
  // Negative prompt:
1230
 
 
1573
  <summary>Click to reveal images</summary>
1574
 
1575
  [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/maliketh/00000844-04070802e-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/maliketh/00000844-04070802e.png) [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/maliketh/00000850-04070838-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/maliketh/00000850-04070838.png) [![An AI generated image.](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/maliketh/00000842-04070728e-512.png)](https://huggingface.co/k4d3/yiff_toolkit/resolve/main/static/maliketh/00000842-04070728e.png)
1576
+
1577
  </details>
1578
  </div>
1579
 
embeddings/BadDream-SDXL.json ADDED
File without changes
embeddings/EasyNegativeV2-SDXL.json ADDED
File without changes
embeddings/EasyNegativeV2.json ADDED
File without changes
embeddings/EyeDetail-SDXL.json ADDED
File without changes
embeddings/FastNegativeEmbedding-SDXL.json ADDED
File without changes
embeddings/FastNegativeEmbeddingStrong-SDXL.json ADDED
File without changes
embeddings/FastNegativeV2-SDXL.json ADDED
File without changes
embeddings/HairDetail-SDXL.json ADDED
File without changes
embeddings/HandNeg-neg-SDXL.json ADDED
File without changes
embeddings/OverallDetail-SDXL.json ADDED
File without changes
embeddings/SkinDetail-SDXL.json ADDED
File without changes
embeddings/SkinDetailNeg-SDXL.json ADDED
File without changes
embeddings/SkinHairDetail-SDXL.json ADDED
File without changes
embeddings/Style-GravityMagic-SDXL.json ADDED
File without changes
embeddings/Style-Winter-SDXL.json ADDED
File without changes
embeddings/Style-Winter-neg-SDXL.json ADDED
File without changes
embeddings/UnrealisticDream-SDXL.json ADDED
File without changes
embeddings/Unspeakable-Horrors-16v-SDXL.json ADDED
File without changes
embeddings/Unspeakable-Horrors-24v-SDXL.json ADDED
File without changes
embeddings/Unspeakable-Horrors-32v-SDXL.json ADDED
File without changes
embeddings/Unspeakable-Horrors-48v-SDXL.json ADDED
File without changes
embeddings/Unspeakable-Horrors-64v-SDXL.json ADDED
File without changes
embeddings/Unspeakable-Horrors-Composition-4v-SDXL.json ADDED
File without changes
embeddings/Unspeakable-Horrors-Composition-SDXL.json ADDED
File without changes
embeddings/aid210-SDXL.json ADDED
File without changes
embeddings/aid28-SDXL.json ADDED
File without changes
embeddings/aid29-SDXL.json ADDED
File without changes
embeddings/aid291-SDXL.json ADDED
File without changes
embeddings/aidv1-neg-SDXL.json ADDED
File without changes
embeddings/aidxlv05_neg.json ADDED
File without changes
embeddings/bad-artist-SDXL.json ADDED
File without changes
embeddings/bad-artist-anime-SDXL.json ADDED
File without changes
embeddings/bad-hands-5-SDXL.json ADDED
File without changes
embeddings/bad_prompt-SDXL.json ADDED
File without changes
embeddings/bad_prompt_version2-SDXL.json ADDED
File without changes
embeddings/badv3-SDXL.json ADDED
File without changes
embeddings/badv4-SDXL.json ADDED
File without changes
embeddings/badv5-SDXL.json ADDED
File without changes
embeddings/badyiffymix35-SDXL.json ADDED
File without changes
embeddings/badyiffymix41-SDXL.json ADDED
File without changes
embeddings/badyiffymix41.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {'modelspec.architecture': 'stable-diffusion-v1/textual-inversion',
2
+ 'modelspec.date': '2024-01-28T16:38:19',
3
+ 'modelspec.implementation': 'https://github.com/Stability-AI/generative-models',
4
+ 'modelspec.prediction_type': 'v',
5
+ 'modelspec.resolution': '640x640',
6
+ 'modelspec.sai_model_spec': '1.0.0',
7
+ 'modelspec.title': 'badyiffymix41'}
embeddings/boring_sdxl_v1.json ADDED
File without changes
embeddings/bwu-SDXL.json ADDED
File without changes
embeddings/bwu.json ADDED
File without changes
embeddings/deformityv6-SDXL.json ADDED
File without changes
embeddings/dfc-SDXL.json ADDED
File without changes
embeddings/dfc.json ADDED
File without changes
embeddings/easynegative-1.5-SDXL.json ADDED
File without changes
embeddings/easynegative-1.5.json ADDED
File without changes