初始化项目,由ModelHub XC社区提供模型
Model: KBlueLeaf/DanTagGen-delta Source: Original Platform
This commit is contained in:
38
.gitattributes
vendored
Normal file
38
.gitattributes
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.arrow filter=lfs diff=lfs merge=lfs -text
|
||||
*.bin filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
||||
*.ftz filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.h5 filter=lfs diff=lfs merge=lfs -text
|
||||
*.joblib filter=lfs diff=lfs merge=lfs -text
|
||||
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
||||
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
||||
*.model filter=lfs diff=lfs merge=lfs -text
|
||||
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
||||
*.npy filter=lfs diff=lfs merge=lfs -text
|
||||
*.npz filter=lfs diff=lfs merge=lfs -text
|
||||
*.onnx filter=lfs diff=lfs merge=lfs -text
|
||||
*.ot filter=lfs diff=lfs merge=lfs -text
|
||||
*.parquet filter=lfs diff=lfs merge=lfs -text
|
||||
*.pb filter=lfs diff=lfs merge=lfs -text
|
||||
*.pickle filter=lfs diff=lfs merge=lfs -text
|
||||
*.pkl filter=lfs diff=lfs merge=lfs -text
|
||||
*.pt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pth filter=lfs diff=lfs merge=lfs -text
|
||||
*.rar filter=lfs diff=lfs merge=lfs -text
|
||||
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar filter=lfs diff=lfs merge=lfs -text
|
||||
*.tflite filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.wasm filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
||||
ggml-model-f16.gguf filter=lfs diff=lfs merge=lfs -text
|
||||
ggml-model-Q6_K.gguf filter=lfs diff=lfs merge=lfs -text
|
||||
ggml-model-Q8_0.gguf filter=lfs diff=lfs merge=lfs -text
|
||||
79
README.md
Normal file
79
README.md
Normal file
@@ -0,0 +1,79 @@
|
||||
---
|
||||
license: cc-by-nc-sa-4.0
|
||||
datasets:
|
||||
- KBlueLeaf/danbooru2023-sqlite
|
||||
language:
|
||||
- en
|
||||
library_name: transformers
|
||||
pipeline_tag: text-generation
|
||||
tags:
|
||||
- not-for-all-audiences
|
||||
- art
|
||||
widget:
|
||||
- text: "quality: masterpiece\nrating: safe\nartist: <|empty|>\ncharacters: <|empty|>\ncopyrights: <|empty|>\naspect ratio: 1.0\ntarget: <|short|>\ngeneral: 1girl, solo, dragon girl, dragon horns, dragon tail<|input_end|>"
|
||||
---
|
||||
|
||||
# DanTagGen - delta
|
||||
DanTagGen(Danbooru Tag Generator) is inspired from p1atdev's dart project.
|
||||
But with different arch, dataset, format and different training strategy.
|
||||
|
||||
## Difference between versions
|
||||
alpha: pretrain on 2M dataset, smaller batch size. Limited ability
|
||||
beta: pretrain on 5.3M dataset, larger batch size. More stable, better ability with only a few information provided.
|
||||
delta: pretrain on 7.2M dataset, larger batch size. Slightly underfit but better diversity. quality tag introduced.
|
||||
|
||||
## Model arch
|
||||
This version of DTG is trained from scratch with 400M param LLaMA arch.(In my personal preference I will call it NanoLLaMA)
|
||||
Since it is llama arch. Theoritically it should be able to be used in any LLaMA inference interface.
|
||||
|
||||
This repo also provided converted FP16 gguf model and quantized 8bit/6bit gguf models.
|
||||
Basically it is recommended to use llama.cpp or llama-cpp-python to run this model. Which will be very fast.
|
||||
|
||||
## Format
|
||||
```python3
|
||||
prompt = f"""
|
||||
quality: {quality or '<|empty|>'}
|
||||
rating: {rating or '<|empty|>'}
|
||||
artist: {artist.strip() or '<|empty|>'}
|
||||
characters: {characters.strip() or '<|empty|>'}
|
||||
copyrights: {copyrights.strip() or '<|empty|>'}
|
||||
aspect ratio: {f"{aspect_ratio:.1f}" or '<|empty|>'}
|
||||
target: {'<|' + target + '|>' if target else '<|long|>'}
|
||||
general: {", ".join(special_tags)}, {general.strip().strip(",")}<|input_end|>
|
||||
"""
|
||||
```
|
||||
|
||||
for example:
|
||||
```
|
||||
quality: masterpiece
|
||||
rating: safe
|
||||
artist: <|empty|>
|
||||
characters: <|empty|>
|
||||
copyrights: <|empty|>
|
||||
aspect ratio: 1.0
|
||||
target: <|short|>
|
||||
general: 1girl, solo, dragon girl, dragon horns, dragon tail<|input_end|>
|
||||
```
|
||||
|
||||
And you may get something like:
|
||||
```
|
||||
rating: safe
|
||||
artist: <|empty|>
|
||||
characters: <|empty|>
|
||||
copyrights: <|empty|>
|
||||
aspect ratio: 1.0
|
||||
target: <|short|>
|
||||
general: 1girl, solo, dragon girl, dragon horns, dragon tail<|input_end|>open mouth, red eyes, long hair, pointy ears, tail, black hair, chinese clothes, simple background, dragon, hair between eyes, horns, china dress, dress, looking at viewer, breasts
|
||||
```
|
||||
|
||||
## Dataset and Training
|
||||
I use the trainer I implemented in HakuPhi to run the training.
|
||||
with 10epoch on 7.2M data. This model have roughly 10~15B token seen.
|
||||
|
||||
The dataset is exported by HakuBooru with my danbooru sqlite database. Use the percentile of fav_count on each rating to filter the data. (2M = top 25%, 5.3M = top 75%)
|
||||
|
||||
## Utilities
|
||||
HF space: https://huggingface.co/spaces/KBlueLeaf/DTG-demo
|
||||
Demo for DTG + Kohaku XL Epsilon: https://huggingface.co/spaces/KBlueLeaf/This-Cute-Dragon-Girl-Doesnt-Exist
|
||||
SD-WebUI Extension: https://github.com/KohakuBlueleaf/z-a1111-sd-webui-dtg
|
||||
ComfyUI Node: https://github.com/toyxyz/a1111-sd-webui-dtg_comfyui
|
||||
8
added_tokens.json
Normal file
8
added_tokens.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"<|empty|>": 32001,
|
||||
"<|input_end|>": 32000,
|
||||
"<|long|>": 32004,
|
||||
"<|short|>": 32003,
|
||||
"<|very_long|>": 32005,
|
||||
"<|very_short|>": 32002
|
||||
}
|
||||
28
config.json
Normal file
28
config.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"architectures": [
|
||||
"LlamaForCausalLM"
|
||||
],
|
||||
"attention_bias": false,
|
||||
"attention_dropout": 0.0,
|
||||
"bos_token_id": 1,
|
||||
"eos_token_id": 2,
|
||||
"hidden_act": "mish",
|
||||
"hidden_size": 1024,
|
||||
"initializer_range": 0.02,
|
||||
"intermediate_size": 3072,
|
||||
"max_position_embeddings": 2048,
|
||||
"model_type": "llama",
|
||||
"num_attention_heads": 16,
|
||||
"num_hidden_layers": 24,
|
||||
"num_key_value_heads": 16,
|
||||
"pad_token_id": 2,
|
||||
"pretraining_tp": 1,
|
||||
"rms_norm_eps": 1e-05,
|
||||
"rope_scaling": null,
|
||||
"rope_theta": 10000.0,
|
||||
"tie_word_embeddings": false,
|
||||
"torch_dtype": "float32",
|
||||
"transformers_version": "4.38.2",
|
||||
"use_cache": false,
|
||||
"vocab_size": 32006
|
||||
}
|
||||
8
generation_config.json
Normal file
8
generation_config.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"_from_model_config": true,
|
||||
"bos_token_id": 1,
|
||||
"eos_token_id": 2,
|
||||
"pad_token_id": 2,
|
||||
"transformers_version": "4.38.2",
|
||||
"use_cache": false
|
||||
}
|
||||
3
ggml-model-Q6_K.gguf
Normal file
3
ggml-model-Q6_K.gguf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e43b55c254b28c85a58a01f10f2a2e910d95fa5b3858e885ee1226ee6c2f215c
|
||||
size 323077792
|
||||
3
ggml-model-Q8_0.gguf
Normal file
3
ggml-model-Q8_0.gguf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8fe276ea98f3be34694c5ca55f1cdda8e34fe838ab79af749de47b9ff3be8b85
|
||||
size 418185760
|
||||
3
ggml-model-f16.gguf
Normal file
3
ggml-model-f16.gguf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fc51b9f78ccaedf74cccb7874cb8dc074dde455becb88aa8e00919ae7968b774
|
||||
size 786345728
|
||||
3
model.safetensors
Normal file
3
model.safetensors
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:86bb7aa437de87f9902d1edad04074f76cd602c4b60309e04427afc0bcb78a38
|
||||
size 1571041624
|
||||
38
special_tokens_map.json
Normal file
38
special_tokens_map.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"additional_special_tokens": [
|
||||
"<|input_end|>",
|
||||
"<|empty|>",
|
||||
"<|very_short|>",
|
||||
"<|short|>",
|
||||
"<|long|>",
|
||||
"<|very_long|>"
|
||||
],
|
||||
"bos_token": {
|
||||
"content": "<s>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false
|
||||
},
|
||||
"eos_token": {
|
||||
"content": "</s>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false
|
||||
},
|
||||
"pad_token": {
|
||||
"content": "</s>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false
|
||||
},
|
||||
"unk_token": {
|
||||
"content": "<unk>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false
|
||||
}
|
||||
}
|
||||
BIN
tokenizer.model
(Stored with Git LFS)
Normal file
BIN
tokenizer.model
(Stored with Git LFS)
Normal file
Binary file not shown.
99
tokenizer_config.json
Normal file
99
tokenizer_config.json
Normal file
@@ -0,0 +1,99 @@
|
||||
{
|
||||
"add_bos_token": true,
|
||||
"add_eos_token": false,
|
||||
"add_prefix_space": true,
|
||||
"added_tokens_decoder": {
|
||||
"0": {
|
||||
"content": "<unk>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"1": {
|
||||
"content": "<s>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"2": {
|
||||
"content": "</s>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"32000": {
|
||||
"content": "<|input_end|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"32001": {
|
||||
"content": "<|empty|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"32002": {
|
||||
"content": "<|very_short|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"32003": {
|
||||
"content": "<|short|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"32004": {
|
||||
"content": "<|long|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"32005": {
|
||||
"content": "<|very_long|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
}
|
||||
},
|
||||
"additional_special_tokens": [
|
||||
"<|input_end|>",
|
||||
"<|empty|>",
|
||||
"<|very_short|>",
|
||||
"<|short|>",
|
||||
"<|long|>",
|
||||
"<|very_long|>"
|
||||
],
|
||||
"bos_token": "<s>",
|
||||
"clean_up_tokenization_spaces": false,
|
||||
"eos_token": "</s>",
|
||||
"legacy": false,
|
||||
"model_max_length": 1000000000000000019884624838656,
|
||||
"pad_token": "</s>",
|
||||
"padding_side": "right",
|
||||
"sp_model_kwargs": {},
|
||||
"spaces_between_special_tokens": false,
|
||||
"tokenizer_class": "LlamaTokenizer",
|
||||
"unk_token": "<unk>",
|
||||
"use_default_system_prompt": false
|
||||
}
|
||||
Reference in New Issue
Block a user