File size: 3,677 Bytes
b2ecd51
 
 
 
 
 
 
 
 
 
 
 
e49b193
3e74033
e49b193
3e74033
9afe82f
fcb84f7
e49b193
 
 
 
5c251db
b2ecd51
 
5c251db
 
 
878f4ac
 
 
59c5a49
 
878f4ac
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b2ecd51
 
ca209e8
b2ecd51
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7a15c0e
b2ecd51
 
 
7a15c0e
b2ecd51
 
 
 
7a15c0e
b2ecd51
 
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
---
language: 
  - en
thumbnail: "https://staticassetbucket.s3.us-west-1.amazonaws.com/outputv2_grid.png"
tags:
- stable-diffusion
- stable-diffusion-diffusers
- text-to-image
datasets:
- lambdalabs/naruto-blip-captions
---

# Naruto diffusion
*Stable Diffusion fine tuned on Naruto by [Lambda Labs](https://lambdalabs.com/).*

__Try the live [text-to-naruto demo here](https://huggingface.co/spaces/lambdalabs/text-to-naruto)!__  
If you want more details on how to train your own Stable Diffusion variants, see this [example](https://github.com/LambdaLabsML/examples/tree/main/stable-diffusion-finetuning).

## About

Put in a text prompt and generate your own Naruto style image!

![pk0.jpg](https://staticassetbucket.s3.us-west-1.amazonaws.com/outputv2_grid.png)
> "Bill Gates with a hoodie", "John Oliver with Naruto style", "Hello Kitty with Naruto style", "Lebron James with a hat", "Mickael Jackson as a ninja", "Banksy Street art of ninja"


![pk1.jpg](https://staticassetbucket.s3.us-west-1.amazonaws.com/marvel_grid.png)

## Prompt engineering matters

We find that prompt engineering does help produce compelling and consistent Naruto style portraits.
For example, writing prompts such as '<person_name> ninja portrait' or '<person_name> in the style of Naruto tends to produce results that are closer to the style of Naruto character with the characteristic headband and other elements of costume.

Here are a few examples of prompts with and without prompt engineering that will illustrate that point.

**Bill Gates:**
![pk2.jpg](https://staticassetbucket.s3.us-west-1.amazonaws.com/bill_gates_vanilla.png)
> Without prompt engineering

![pk3.jpg](https://staticassetbucket.s3.us-west-1.amazonaws.com/bill_gates_ninja.png)
> With prompt engineering

**A cute bunny:**

![pk4.jpg](https://staticassetbucket.s3.us-west-1.amazonaws.com/cute_bunny_vanilla.png)
> Without prompt engineering

![pk4.jpg](https://staticassetbucket.s3.us-west-1.amazonaws.com/cute_bunny_ninja.png)
> With prompt engineering



## Usage

To run model locally:
```bash
!pip install diffusers==0.3.0
!pip install transformers scipy ftfy
```

```python
import torch
from diffusers import StableDiffusionPipeline
from torch import autocast

pipe = StableDiffusionPipeline.from_pretrained("lambdalabs/sd-naruto-diffusers", torch_dtype=torch.float16)  
pipe = pipe.to("cuda")

prompt = "Yoda"
scale = 10
n_samples = 4

# Sometimes the nsfw checker is confused by the Naruto images, you can disable
# it at your own risk here
disable_safety = False

if disable_safety:
  def null_safety(images, **kwargs):
      return images, False
  pipe.safety_checker = null_safety

with autocast("cuda"):
  images = pipe(n_samples*[prompt], guidance_scale=scale).images

for idx, im in enumerate(images):
  im.save(f"{idx:06}.png")
```

## Model description

Trained on [BLIP captioned Naruto images](https://huggingface.co/datasets/lambdalabs/naruto-blip-captions) using 2xA6000 GPUs on [Lambda GPU Cloud](https://lambdalabs.com/service/gpu-cloud) for around 30,000 step (about 12 hours, at a cost of about $20).

## Links


- [Lambda Diffusers](https://github.com/LambdaLabsML/lambda-diffusers)
- [Captioned Naruto dataset](https://huggingface.co/datasets/lambdalabs/naruto-blip-captions)
- [Model weights in Diffusers format](https://huggingface.co/lambdalabs/sd-naruto-diffusers)
- [Original model weights](https://huggingface.co/justinpinkney/pokemon-stable-diffusion)
- [Naruto diffusers repo](https://github.com/eolecvk/naruto-sd)

Trained by Eole Cervenka after the work of [Justin Pinkney](justinpinkney.com) ([@Buntworthy](https://twitter.com/Buntworthy)) at [Lambda Labs](https://lambdalabs.com/).