|
--- |
|
license: cc-by-nc-4.0 |
|
datasets: |
|
- AdamCodd/Civitai-8m-prompts |
|
metrics: |
|
- rouge |
|
base_model: t5-small |
|
model-index: |
|
- name: t5-small-negative-prompt-generator |
|
results: |
|
- task: |
|
type: text-generation |
|
name: Text Generation |
|
metrics: |
|
- type: loss |
|
value: 0.173 |
|
- type: rouge-1 |
|
value: 63.86 |
|
name: Validation ROUGE-1 |
|
- type: rouge-2 |
|
value: 47.5195 |
|
name: Validation ROUGE-2 |
|
- type: rouge-l |
|
value: 62.0977 |
|
name: Validation ROUGE-L |
|
widget: |
|
- text: masterpiece, 1girl, looking at viewer, sitting, tea, table, garden |
|
example_title: Prompt |
|
pipeline_tag: text2text-generation |
|
inference: false |
|
tags: |
|
- art |
|
--- |
|
## t5-small-negative-prompt-generator |
|
This model [t5-small](https://huggingface.co/google-t5/t5-small) has been finetuned on a subset of the [AdamCodd/Civitai-8m-prompts](https://huggingface.co/datasets/AdamCodd/Civitai-8m-prompts) dataset (~800K prompts) focused on the top 10% prompts according to Civitai's positive engagement ("stats" field in the dataset). |
|
|
|
It achieves the following results on the evaluation set: |
|
* Loss: 0.1730 |
|
* Rouge1: 63.8600 |
|
* Rouge2: 47.5195 |
|
* Rougel: 62.0977 |
|
* Rougelsum: 62.1006 |
|
|
|
The idea behind this is to automatically generate negative prompts that improve the end result according to the positive prompt input. I believe it could be useful to display suggestions for new users who use stable-diffusion or similar. |
|
|
|
The license is **cc-by-nc-4.0**. For commercial use rights, please [contact me](https://discord.com/users/859202914400075798). |
|
|
|
## Usage |
|
|
|
The length of the negative prompt is adjustable with the `max_new_tokens` parameter. Keep in mind that you'll need to adjust the samplers slightly to avoid repetition and improve the quality of the output. The dataset includes negative embeddings, so they'll be present in the output. |
|
|
|
```python |
|
from transformers import pipeline |
|
|
|
text2text_generator = pipeline("text2text-generation", model="AdamCodd/t5-small-negative-prompt-generator") |
|
|
|
generated_text = text2text_generator( |
|
"masterpiece, 1girl, looking at viewer, sitting, tea, table, garden", |
|
do_sample=True, |
|
max_new_tokens=50, |
|
repetition_penalty=1.2, |
|
no_repeat_ngram_size=2, |
|
temperature=0.9, |
|
top_p=0.92 |
|
) |
|
|
|
print(generated_text) |
|
# [{'generated_text': 'easynegative, badhandv4, (worst quality:2), (low quality lowres:1), blurry, text'}] |
|
``` |
|
This model has been trained exclusively on stable-diffusion prompts (SD1.4, SD1.5, SD2.1, SDXL...) so it might not work as well on non-stable-diffusion models. |
|
|
|
## Training and evaluation data |
|
|
|
More information needed |
|
|
|
## Training procedure |
|
|
|
### Training hyperparameters |
|
|
|
The following hyperparameters were used during training: |
|
- learning_rate: 3e-05 |
|
- train_batch_size: 16 |
|
- eval_batch_size: 32 |
|
- seed: 42 |
|
- optimizer: AdamW with betas=(0.9,0.999) and epsilon=1e-08 |
|
- Mixed precision |
|
- num_epochs: 1 |
|
- weight_decay: 0.01 |
|
|
|
### Framework versions |
|
|
|
- Transformers 4.36.2 |
|
- Datasets 2.16.1 |
|
- Tokenizers 0.15.0 |
|
- Evaluate 0.4.1 |
|
|
|
If you want to support me, you can [here](https://ko-fi.com/adamcodd). |