File size: 3,665 Bytes
b2ecd51
 
 
 
 
 
 
 
 
 
 
 
e49b193
 
b2ecd51
 
e49b193
 
 
 
b2ecd51
 
 
 
 
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
---
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/).__

## About

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

If you want to find out how to train your own Stable Diffusion variants, see this [example](https://github.com/LambdaLabsML/examples/tree/main/stable-diffusion-finetuning) from Lambda Labs.

![pk1.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"

## 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.

If you are curious to see the effect of prompt engineering in action, try our [text-to-naruto demo](https://huggingface.co/spaces/lambdalabs/text-to-naruto)!

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/).