File size: 2,032 Bytes
bb39318 ab114ee bb39318 ab114ee |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
---
license: creativeml-openrail-m
tags:
- stable-diffusion
- prompt-generator
- distilgpt2
---
# Distilgpt2 Stable Diffusion Model Card
Distilgpt2 Stable Diffusion is a text-to-text model used to generate creative and coherent prompts given any text.
This model was finetuned on 2.03M stable diffusion prompts from [Stable Diffusion discord](https://huggingface.co/datasets/bartman081523/stable-diffusion-discord-prompts), [Lexica.art](https://huggingface.co/datasets/Gustavosta/Stable-Diffusion-Prompts), and (my hand-picked) [Krea.ai](./krea.ai.txt). I filtered the hand-picked prompts based on the output results from Stable Diffusion v1.4.
### PyTorch
```bash
pip install --upgrade transformers
```
```python
# download DistilGPT2 Stable Diffusion if haven't already
import os
if not os.path.exists('./distil-sd-gpt2.pt'):
import urllib.request
print('Downloading model...')
urllib.request.urlretrieve('https://huggingface.co/FredZhang7/distilgpt2-stable-diffusion/resolve/main/distil-sd-gpt2.pt', './distil-sd-gpt2.pt')
print('Model downloaded.')
from transformers import GPT2Tokenizer, GPT2LMHeadModel
# load the pretrained tokenizer
tokenizer = GPT2Tokenizer.from_pretrained('distilgpt2')
tokenizer.add_special_tokens({'pad_token': '[PAD]'})
tokenizer.max_len = 512
# load the fine-tuned model
import torch
model = GPT2LMHeadModel.from_pretrained('distilgpt2')
model.load_state_dict(torch.load('model.pt'))
# generate text using fine-tuned model
from transformers import pipeline
nlp = pipeline('text-generation', model=model, tokenizer=tokenizer)
ins = "a beautiful city"
# generate 5 samples
outs = nlp(ins, max_length=80, num_return_sequences=10)
# print the 5 samples
for i in range(len(outs)):
outs[i] = str(outs[i]['generated_text']).replace(' ', '')
print('\033[96m' + ins + '\033[0m')
print('\033[93m' + '\n\n'.join(outs) + '\033[0m')
```
Example Output:
![Example Output](https://media.discordapp.net/attachments/884528247998664744/1049544706163482704/image.png?width=1440&height=479) |