File size: 3,442 Bytes
3304492
 
 
1d83712
 
 
3304492
 
1d83712
0aecace
3304492
 
 
04c2a43
1d83712
3304492
 
d23f26e
04c2a43
3304492
1d83712
 
 
3304492
1d83712
 
 
 
3304492
 
 
1d83712
3304492
0aecace
3304492
 
 
1d83712
3304492
 
 
 
1d83712
 
 
 
 
 
3304492
1d83712
04c2a43
 
1d83712
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3304492
 
1d83712
 
 
 
 
 
04c2a43
1d83712
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
04c2a43
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
103
104
105
license: apache-2.0
library_name: diffusers
---
test under this PR https://github.com/huggingface/diffusers/pull/9672

#### create differential diffusion pipeline

```python

from diffusers.modular_pipelines import ModularPipeline, ComponentsManager
import torch
from diffusers.utils import load_image

repo_id = "YiYiXu/modular-diffdiff-0704"

components = ComponentsManager()

diffdiff_pipeline = ModularPipeline.from_pretrained(repo_id, trust_remote_code=True, components_manager=components, collection="diffdiff")
diffdiff_pipeline.load_default_components(torch_dtype=torch.float16)
components.enable_auto_cpu_offload()
```

#### basic diff-diff

```python

image = load_image("https://huggingface.co/datasets/OzzyGT/testing-resources/resolve/main/differential/20240329211129_4024911930.png?download=true")
mask = load_image("https://huggingface.co/datasets/OzzyGT/testing-resources/resolve/main/differential/gradient_mask.png?download=true") 

prompt = "a green pear"
negative_prompt = "blurry"
generator = torch.Generator(device="cuda").manual_seed(42)

image = diffdiff_pipeline(
    prompt=prompt,
    negative_prompt=negative_prompt,
    num_inference_steps=25,
    generator=generator,
    diffdiff_map=mask,
    image=image,
    output="images"
)[0]
```

![image/png](https://cdn-uploads.huggingface.co/production/uploads/624ef9ba9d608e459387b34e/MRhDJdfaUYvUubgB6dSrD.png)


#### ip-adapter 

```python
diffdiff_pipeline.load_ip_adapter("h94/IP-Adapter", subfolder="sdxl_models", weight_name="ip-adapter_sdxl.bin")
diffdiff_pipeline.set_ip_adapter_scale(0.6)

ip_adapter_image = load_image("https://huggingface.co/datasets/YiYiXu/testing-images/resolve/main/diffdiff_orange.jpeg")
image = load_image("https://huggingface.co/datasets/OzzyGT/testing-resources/resolve/main/differential/20240329211129_4024911930.png?download=true")
mask = load_image("https://huggingface.co/datasets/OzzyGT/testing-resources/resolve/main/differential/gradient_mask.png?download=true") 

prompt = "a green pear"
negative_prompt = "blurry"
generator = torch.Generator(device="cuda").manual_seed(42)

image = diffdiff_pipeline(
    prompt=prompt,
    negative_prompt=negative_prompt,
    num_inference_steps=25,
    generator=generator,
    ip_adapter_image=ip_adapter_image,
    diffdiff_map=mask,
    image=image,
    output="images"
)[0]
```

![image/png](https://cdn-uploads.huggingface.co/production/uploads/624ef9ba9d608e459387b34e/Zlejg1EPpC6zFaKO_I0oM.png)


#### controlnet

```python
diffdiff_pipeline.unload_ip_adapter()

control_image = load_image("https://huggingface.co/datasets/YiYiXu/testing-images/resolve/main/diffdiff_tomato_canny.png")
image = load_image("https://huggingface.co/datasets/OzzyGT/testing-resources/resolve/main/differential/20240329211129_4024911930.png?download=true")
mask = load_image("https://huggingface.co/datasets/OzzyGT/testing-resources/resolve/main/differential/gradient_mask.png?download=true") 

prompt = "a green pear"
negative_prompt = "blurry"
generator = torch.Generator(device="cuda").manual_seed(42)

image = diffdiff_pipeline(
    prompt=prompt,
    negative_prompt=negative_prompt,
    num_inference_steps=25,
    generator=generator,
    control_image=control_image,
    controlnet_conditioning_scale=0.5,
    diffdiff_map=mask,
    image=image,
    output="images"
)[0]

```


![image/png](https://cdn-uploads.huggingface.co/production/uploads/624ef9ba9d608e459387b34e/lXKOHKwRSGZeQ7w6jJ6Vd.png)