linoyts HF Staff commited on
Commit
c025a3d
·
verified ·
1 Parent(s): 9278ebb

Upload 64 files

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +9 -0
  2. IP_Composer/IP_Adapter/ip_adapter/__init__.py +9 -0
  3. IP_Composer/IP_Adapter/ip_adapter/attention_processor.py +568 -0
  4. IP_Composer/IP_Adapter/ip_adapter/ip_adapter.py +420 -0
  5. IP_Composer/IP_Adapter/ip_adapter/resampler.py +158 -0
  6. IP_Composer/IP_Adapter/ip_adapter/utils.py +93 -0
  7. IP_Composer/README.md +48 -0
  8. IP_Composer/assets/age/kid.png +3 -0
  9. IP_Composer/assets/age/old.png +3 -0
  10. IP_Composer/assets/emotions/joyful.png +3 -0
  11. IP_Composer/assets/emotions/sad.png +0 -0
  12. IP_Composer/assets/objects/mug.png +3 -0
  13. IP_Composer/assets/objects/plate.png +3 -0
  14. IP_Composer/assets/patterns/pebble.png +3 -0
  15. IP_Composer/assets/patterns/splash.png +3 -0
  16. IP_Composer/assets/people/boy.png +3 -0
  17. IP_Composer/assets/people/woman.png +3 -0
  18. IP_Composer/create_grids.py +206 -0
  19. IP_Composer/demo.py +0 -0
  20. IP_Composer/example_config.json +18 -0
  21. IP_Composer/example_configs/age_emotions.json +16 -0
  22. IP_Composer/example_configs/patterns.json +14 -0
  23. IP_Composer/generate_compositions.py +160 -0
  24. IP_Composer/generate_text_embeddings.py +60 -0
  25. IP_Composer/perform_swap.py +38 -0
  26. IP_Composer/text_datasets/age_descriptions.csv +100 -0
  27. IP_Composer/text_datasets/animal_fur_descriptions.csv +284 -0
  28. IP_Composer/text_datasets/dog_descriptions.csv +0 -0
  29. IP_Composer/text_datasets/emotion_descriptions.csv +171 -0
  30. IP_Composer/text_datasets/floor_descriptions.csv +197 -0
  31. IP_Composer/text_datasets/flower_descriptions.csv +102 -0
  32. IP_Composer/text_datasets/fruit_vegetable_descriptions.csv +142 -0
  33. IP_Composer/text_datasets/fur_descriptions.csv +284 -0
  34. IP_Composer/text_datasets/furniture_descriptions.csv +318 -0
  35. IP_Composer/text_datasets/material_descriptions.csv +154 -0
  36. IP_Composer/text_datasets/outfit_color_descriptions.csv +103 -0
  37. IP_Composer/text_datasets/outfit_descriptions.csv +289 -0
  38. IP_Composer/text_datasets/pattern_descriptions.csv +284 -0
  39. IP_Composer/text_datasets/pattern_descriptions_no_obj.csv +284 -0
  40. IP_Composer/text_datasets/times_of_day_descriptions.csv +292 -0
  41. IP_Composer/text_datasets/vehicle_color_descriptions.csv +1521 -0
  42. IP_Composer/text_datasets/vehicle_descriptions.csv +191 -0
  43. IP_Composer/text_embeddings/age_descriptions.npy +3 -0
  44. IP_Composer/text_embeddings/animal_fur_descriptions.npy +3 -0
  45. IP_Composer/text_embeddings/deterioration_descriptions.npy +3 -0
  46. IP_Composer/text_embeddings/dog_descriptions.npy +3 -0
  47. IP_Composer/text_embeddings/emotion_descriptions.npy +3 -0
  48. IP_Composer/text_embeddings/floor_descriptions.npy +3 -0
  49. IP_Composer/text_embeddings/flower_descriptions.npy +3 -0
  50. IP_Composer/text_embeddings/fruit_vegetable_descriptions.npy +3 -0
.gitattributes CHANGED
@@ -33,3 +33,12 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ IP_Composer/assets/age/kid.png filter=lfs diff=lfs merge=lfs -text
37
+ IP_Composer/assets/age/old.png filter=lfs diff=lfs merge=lfs -text
38
+ IP_Composer/assets/emotions/joyful.png filter=lfs diff=lfs merge=lfs -text
39
+ IP_Composer/assets/objects/mug.png filter=lfs diff=lfs merge=lfs -text
40
+ IP_Composer/assets/objects/plate.png filter=lfs diff=lfs merge=lfs -text
41
+ IP_Composer/assets/patterns/pebble.png filter=lfs diff=lfs merge=lfs -text
42
+ IP_Composer/assets/patterns/splash.png filter=lfs diff=lfs merge=lfs -text
43
+ IP_Composer/assets/people/boy.png filter=lfs diff=lfs merge=lfs -text
44
+ IP_Composer/assets/people/woman.png filter=lfs diff=lfs merge=lfs -text
IP_Composer/IP_Adapter/ip_adapter/__init__.py ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ from .ip_adapter import IPAdapter, IPAdapterPlus, IPAdapterPlusXL, IPAdapterXL, IPAdapterFull
2
+
3
+ __all__ = [
4
+ "IPAdapter",
5
+ "IPAdapterPlus",
6
+ "IPAdapterPlusXL",
7
+ "IPAdapterXL",
8
+ "IPAdapterFull",
9
+ ]
IP_Composer/IP_Adapter/ip_adapter/attention_processor.py ADDED
@@ -0,0 +1,568 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # modified from https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py
2
+ import torch
3
+ import torch.nn as nn
4
+ import torch.nn.functional as F
5
+
6
+
7
+ class AttnProcessor(nn.Module):
8
+ r"""
9
+ Default processor for performing attention-related computations.
10
+ """
11
+
12
+ def __init__(
13
+ self,
14
+ hidden_size=None,
15
+ cross_attention_dim=None,
16
+ ):
17
+ super().__init__()
18
+
19
+ def __call__(
20
+ self,
21
+ attn,
22
+ hidden_states,
23
+ encoder_hidden_states=None,
24
+ attention_mask=None,
25
+ temb=None,
26
+ *args,
27
+ **kwargs,
28
+ ):
29
+ residual = hidden_states
30
+
31
+ if attn.spatial_norm is not None:
32
+ hidden_states = attn.spatial_norm(hidden_states, temb)
33
+
34
+ input_ndim = hidden_states.ndim
35
+
36
+ if input_ndim == 4:
37
+ batch_size, channel, height, width = hidden_states.shape
38
+ hidden_states = hidden_states.view(batch_size, channel, height * width).transpose(1, 2)
39
+
40
+ batch_size, sequence_length, _ = (
41
+ hidden_states.shape if encoder_hidden_states is None else encoder_hidden_states.shape
42
+ )
43
+ attention_mask = attn.prepare_attention_mask(attention_mask, sequence_length, batch_size)
44
+
45
+ if attn.group_norm is not None:
46
+ hidden_states = attn.group_norm(hidden_states.transpose(1, 2)).transpose(1, 2)
47
+
48
+ query = attn.to_q(hidden_states)
49
+
50
+ if encoder_hidden_states is None:
51
+ encoder_hidden_states = hidden_states
52
+ elif attn.norm_cross:
53
+ encoder_hidden_states = attn.norm_encoder_hidden_states(encoder_hidden_states)
54
+
55
+ key = attn.to_k(encoder_hidden_states)
56
+ value = attn.to_v(encoder_hidden_states)
57
+
58
+ query = attn.head_to_batch_dim(query)
59
+ key = attn.head_to_batch_dim(key)
60
+ value = attn.head_to_batch_dim(value)
61
+
62
+ attention_probs = attn.get_attention_scores(query, key, attention_mask)
63
+ hidden_states = torch.bmm(attention_probs, value)
64
+ hidden_states = attn.batch_to_head_dim(hidden_states)
65
+
66
+ # linear proj
67
+ hidden_states = attn.to_out[0](hidden_states)
68
+ # dropout
69
+ hidden_states = attn.to_out[1](hidden_states)
70
+
71
+ if input_ndim == 4:
72
+ hidden_states = hidden_states.transpose(-1, -2).reshape(batch_size, channel, height, width)
73
+
74
+ if attn.residual_connection:
75
+ hidden_states = hidden_states + residual
76
+
77
+ hidden_states = hidden_states / attn.rescale_output_factor
78
+
79
+ return hidden_states
80
+
81
+
82
+ class IPAttnProcessor(nn.Module):
83
+ r"""
84
+ Attention processor for IP-Adapater.
85
+ Args:
86
+ hidden_size (`int`):
87
+ The hidden size of the attention layer.
88
+ cross_attention_dim (`int`):
89
+ The number of channels in the `encoder_hidden_states`.
90
+ scale (`float`, defaults to 1.0):
91
+ the weight scale of image prompt.
92
+ num_tokens (`int`, defaults to 4 when do ip_adapter_plus it should be 16):
93
+ The context length of the image features.
94
+ """
95
+
96
+ def __init__(self, hidden_size, cross_attention_dim=None, scale=1.0, num_tokens=4):
97
+ super().__init__()
98
+
99
+ self.hidden_size = hidden_size
100
+ self.cross_attention_dim = cross_attention_dim
101
+ self.scale = scale
102
+ self.num_tokens = num_tokens
103
+
104
+ self.to_k_ip = nn.Linear(cross_attention_dim or hidden_size, hidden_size, bias=False)
105
+ self.to_v_ip = nn.Linear(cross_attention_dim or hidden_size, hidden_size, bias=False)
106
+
107
+ def __call__(
108
+ self,
109
+ attn,
110
+ hidden_states,
111
+ encoder_hidden_states=None,
112
+ attention_mask=None,
113
+ temb=None,
114
+ *args,
115
+ **kwargs,
116
+ ):
117
+ residual = hidden_states
118
+
119
+ if attn.spatial_norm is not None:
120
+ hidden_states = attn.spatial_norm(hidden_states, temb)
121
+
122
+ input_ndim = hidden_states.ndim
123
+
124
+ if input_ndim == 4:
125
+ batch_size, channel, height, width = hidden_states.shape
126
+ hidden_states = hidden_states.view(batch_size, channel, height * width).transpose(1, 2)
127
+
128
+ batch_size, sequence_length, _ = (
129
+ hidden_states.shape if encoder_hidden_states is None else encoder_hidden_states.shape
130
+ )
131
+ attention_mask = attn.prepare_attention_mask(attention_mask, sequence_length, batch_size)
132
+
133
+ if attn.group_norm is not None:
134
+ hidden_states = attn.group_norm(hidden_states.transpose(1, 2)).transpose(1, 2)
135
+
136
+ query = attn.to_q(hidden_states)
137
+
138
+ if encoder_hidden_states is None:
139
+ encoder_hidden_states = hidden_states
140
+ else:
141
+ # get encoder_hidden_states, ip_hidden_states
142
+ end_pos = encoder_hidden_states.shape[1] - self.num_tokens
143
+ encoder_hidden_states, ip_hidden_states = (
144
+ encoder_hidden_states[:, :end_pos, :],
145
+ encoder_hidden_states[:, end_pos:, :],
146
+ )
147
+ if attn.norm_cross:
148
+ encoder_hidden_states = attn.norm_encoder_hidden_states(encoder_hidden_states)
149
+
150
+ key = attn.to_k(encoder_hidden_states)
151
+ value = attn.to_v(encoder_hidden_states)
152
+
153
+ query = attn.head_to_batch_dim(query)
154
+ key = attn.head_to_batch_dim(key)
155
+ value = attn.head_to_batch_dim(value)
156
+
157
+ attention_probs = attn.get_attention_scores(query, key, attention_mask)
158
+ hidden_states = torch.bmm(attention_probs, value)
159
+ hidden_states = attn.batch_to_head_dim(hidden_states)
160
+
161
+ # for ip-adapter
162
+ ip_key = self.to_k_ip(ip_hidden_states)
163
+ ip_value = self.to_v_ip(ip_hidden_states)
164
+
165
+ ip_key = attn.head_to_batch_dim(ip_key)
166
+ ip_value = attn.head_to_batch_dim(ip_value)
167
+
168
+ ip_attention_probs = attn.get_attention_scores(query, ip_key, None)
169
+ self.attn_map = ip_attention_probs
170
+ ip_hidden_states = torch.bmm(ip_attention_probs, ip_value)
171
+ ip_hidden_states = attn.batch_to_head_dim(ip_hidden_states)
172
+
173
+ hidden_states = hidden_states + self.scale * ip_hidden_states
174
+
175
+ # linear proj
176
+ hidden_states = attn.to_out[0](hidden_states)
177
+ # dropout
178
+ hidden_states = attn.to_out[1](hidden_states)
179
+
180
+ if input_ndim == 4:
181
+ hidden_states = hidden_states.transpose(-1, -2).reshape(batch_size, channel, height, width)
182
+
183
+ if attn.residual_connection:
184
+ hidden_states = hidden_states + residual
185
+
186
+ hidden_states = hidden_states / attn.rescale_output_factor
187
+
188
+ return hidden_states
189
+
190
+
191
+ class AttnProcessor2_0(torch.nn.Module):
192
+ r"""
193
+ Processor for implementing scaled dot-product attention (enabled by default if you're using PyTorch 2.0).
194
+ """
195
+
196
+ def __init__(
197
+ self,
198
+ hidden_size=None,
199
+ cross_attention_dim=None,
200
+ ):
201
+ super().__init__()
202
+ if not hasattr(F, "scaled_dot_product_attention"):
203
+ raise ImportError("AttnProcessor2_0 requires PyTorch 2.0, to use it, please upgrade PyTorch to 2.0.")
204
+
205
+ def __call__(
206
+ self,
207
+ attn,
208
+ hidden_states,
209
+ encoder_hidden_states=None,
210
+ attention_mask=None,
211
+ temb=None,
212
+ *args,
213
+ **kwargs,
214
+ ):
215
+ residual = hidden_states
216
+
217
+ if attn.spatial_norm is not None:
218
+ hidden_states = attn.spatial_norm(hidden_states, temb)
219
+
220
+ input_ndim = hidden_states.ndim
221
+
222
+ if input_ndim == 4:
223
+ batch_size, channel, height, width = hidden_states.shape
224
+ hidden_states = hidden_states.view(batch_size, channel, height * width).transpose(1, 2)
225
+
226
+ batch_size, sequence_length, _ = (
227
+ hidden_states.shape if encoder_hidden_states is None else encoder_hidden_states.shape
228
+ )
229
+
230
+ if attention_mask is not None:
231
+ attention_mask = attn.prepare_attention_mask(attention_mask, sequence_length, batch_size)
232
+ # scaled_dot_product_attention expects attention_mask shape to be
233
+ # (batch, heads, source_length, target_length)
234
+ attention_mask = attention_mask.view(batch_size, attn.heads, -1, attention_mask.shape[-1])
235
+
236
+ if attn.group_norm is not None:
237
+ hidden_states = attn.group_norm(hidden_states.transpose(1, 2)).transpose(1, 2)
238
+
239
+ query = attn.to_q(hidden_states)
240
+
241
+ if encoder_hidden_states is None:
242
+ encoder_hidden_states = hidden_states
243
+ elif attn.norm_cross:
244
+ encoder_hidden_states = attn.norm_encoder_hidden_states(encoder_hidden_states)
245
+
246
+ key = attn.to_k(encoder_hidden_states)
247
+ value = attn.to_v(encoder_hidden_states)
248
+
249
+ inner_dim = key.shape[-1]
250
+ head_dim = inner_dim // attn.heads
251
+
252
+ query = query.view(batch_size, -1, attn.heads, head_dim).transpose(1, 2)
253
+
254
+ key = key.view(batch_size, -1, attn.heads, head_dim).transpose(1, 2)
255
+ value = value.view(batch_size, -1, attn.heads, head_dim).transpose(1, 2)
256
+
257
+ # the output of sdp = (batch, num_heads, seq_len, head_dim)
258
+ # TODO: add support for attn.scale when we move to Torch 2.1
259
+ hidden_states = F.scaled_dot_product_attention(
260
+ query, key, value, attn_mask=attention_mask, dropout_p=0.0, is_causal=False
261
+ )
262
+
263
+ hidden_states = hidden_states.transpose(1, 2).reshape(batch_size, -1, attn.heads * head_dim)
264
+ hidden_states = hidden_states.to(query.dtype)
265
+
266
+ # linear proj
267
+ hidden_states = attn.to_out[0](hidden_states)
268
+ # dropout
269
+ hidden_states = attn.to_out[1](hidden_states)
270
+
271
+ if input_ndim == 4:
272
+ hidden_states = hidden_states.transpose(-1, -2).reshape(batch_size, channel, height, width)
273
+
274
+ if attn.residual_connection:
275
+ hidden_states = hidden_states + residual
276
+
277
+ hidden_states = hidden_states / attn.rescale_output_factor
278
+
279
+ return hidden_states
280
+
281
+
282
+ class IPAttnProcessor2_0(torch.nn.Module):
283
+ r"""
284
+ Attention processor for IP-Adapater for PyTorch 2.0.
285
+ Args:
286
+ hidden_size (`int`):
287
+ The hidden size of the attention layer.
288
+ cross_attention_dim (`int`):
289
+ The number of channels in the `encoder_hidden_states`.
290
+ scale (`float`, defaults to 1.0):
291
+ the weight scale of image prompt.
292
+ num_tokens (`int`, defaults to 4 when do ip_adapter_plus it should be 16):
293
+ The context length of the image features.
294
+ """
295
+
296
+ def __init__(self, hidden_size, cross_attention_dim=None, scale=1.0, num_tokens=4):
297
+ super().__init__()
298
+
299
+ if not hasattr(F, "scaled_dot_product_attention"):
300
+ raise ImportError("AttnProcessor2_0 requires PyTorch 2.0, to use it, please upgrade PyTorch to 2.0.")
301
+
302
+ self.hidden_size = hidden_size
303
+ self.cross_attention_dim = cross_attention_dim
304
+ self.scale = scale
305
+ self.num_tokens = num_tokens
306
+
307
+ self.to_k_ip = nn.Linear(cross_attention_dim or hidden_size, hidden_size, bias=False)
308
+ self.to_v_ip = nn.Linear(cross_attention_dim or hidden_size, hidden_size, bias=False)
309
+
310
+ def __call__(
311
+ self,
312
+ attn,
313
+ hidden_states,
314
+ encoder_hidden_states=None,
315
+ attention_mask=None,
316
+ temb=None,
317
+ *args,
318
+ **kwargs,
319
+ ):
320
+ residual = hidden_states
321
+
322
+ if attn.spatial_norm is not None:
323
+ hidden_states = attn.spatial_norm(hidden_states, temb)
324
+
325
+ input_ndim = hidden_states.ndim
326
+
327
+ if input_ndim == 4:
328
+ batch_size, channel, height, width = hidden_states.shape
329
+ hidden_states = hidden_states.view(batch_size, channel, height * width).transpose(1, 2)
330
+
331
+ batch_size, sequence_length, _ = (
332
+ hidden_states.shape if encoder_hidden_states is None else encoder_hidden_states.shape
333
+ )
334
+
335
+ if attention_mask is not None:
336
+ attention_mask = attn.prepare_attention_mask(attention_mask, sequence_length, batch_size)
337
+ # scaled_dot_product_attention expects attention_mask shape to be
338
+ # (batch, heads, source_length, target_length)
339
+ attention_mask = attention_mask.view(batch_size, attn.heads, -1, attention_mask.shape[-1])
340
+
341
+ if attn.group_norm is not None:
342
+ hidden_states = attn.group_norm(hidden_states.transpose(1, 2)).transpose(1, 2)
343
+
344
+ query = attn.to_q(hidden_states)
345
+
346
+ if encoder_hidden_states is None:
347
+ encoder_hidden_states = hidden_states
348
+ else:
349
+ # get encoder_hidden_states, ip_hidden_states
350
+ end_pos = encoder_hidden_states.shape[1] - self.num_tokens
351
+ encoder_hidden_states, ip_hidden_states = (
352
+ encoder_hidden_states[:, :end_pos, :],
353
+ encoder_hidden_states[:, end_pos:, :],
354
+ )
355
+ if attn.norm_cross:
356
+ encoder_hidden_states = attn.norm_encoder_hidden_states(encoder_hidden_states)
357
+
358
+ key = attn.to_k(encoder_hidden_states)
359
+ value = attn.to_v(encoder_hidden_states)
360
+
361
+ inner_dim = key.shape[-1]
362
+ head_dim = inner_dim // attn.heads
363
+
364
+ query = query.view(batch_size, -1, attn.heads, head_dim).transpose(1, 2)
365
+
366
+ key = key.view(batch_size, -1, attn.heads, head_dim).transpose(1, 2)
367
+ value = value.view(batch_size, -1, attn.heads, head_dim).transpose(1, 2)
368
+
369
+ # the output of sdp = (batch, num_heads, seq_len, head_dim)
370
+ # TODO: add support for attn.scale when we move to Torch 2.1
371
+ hidden_states = F.scaled_dot_product_attention(
372
+ query, key, value, attn_mask=attention_mask, dropout_p=0.0, is_causal=False
373
+ )
374
+
375
+ hidden_states = hidden_states.transpose(1, 2).reshape(batch_size, -1, attn.heads * head_dim)
376
+ hidden_states = hidden_states.to(query.dtype)
377
+
378
+ # for ip-adapter
379
+ ip_key = self.to_k_ip(ip_hidden_states)
380
+ ip_value = self.to_v_ip(ip_hidden_states)
381
+
382
+ ip_key = ip_key.view(batch_size, -1, attn.heads, head_dim).transpose(1, 2)
383
+ ip_value = ip_value.view(batch_size, -1, attn.heads, head_dim).transpose(1, 2)
384
+
385
+ # the output of sdp = (batch, num_heads, seq_len, head_dim)
386
+ # TODO: add support for attn.scale when we move to Torch 2.1
387
+ ip_hidden_states = F.scaled_dot_product_attention(
388
+ query, ip_key, ip_value, attn_mask=None, dropout_p=0.0, is_causal=False
389
+ )
390
+ with torch.no_grad():
391
+ self.attn_map = query @ ip_key.transpose(-2, -1).softmax(dim=-1)
392
+ #print(self.attn_map.shape)
393
+
394
+ ip_hidden_states = ip_hidden_states.transpose(1, 2).reshape(batch_size, -1, attn.heads * head_dim)
395
+ ip_hidden_states = ip_hidden_states.to(query.dtype)
396
+
397
+ hidden_states = hidden_states + self.scale * ip_hidden_states
398
+
399
+ # linear proj
400
+ hidden_states = attn.to_out[0](hidden_states)
401
+ # dropout
402
+ hidden_states = attn.to_out[1](hidden_states)
403
+
404
+ if input_ndim == 4:
405
+ hidden_states = hidden_states.transpose(-1, -2).reshape(batch_size, channel, height, width)
406
+
407
+ if attn.residual_connection:
408
+ hidden_states = hidden_states + residual
409
+
410
+ hidden_states = hidden_states / attn.rescale_output_factor
411
+
412
+ return hidden_states
413
+
414
+
415
+ ## for controlnet
416
+ class CNAttnProcessor:
417
+ r"""
418
+ Default processor for performing attention-related computations.
419
+ """
420
+
421
+ def __init__(self, num_tokens=4):
422
+ self.num_tokens = num_tokens
423
+
424
+ def __call__(self, attn, hidden_states, encoder_hidden_states=None, attention_mask=None, temb=None, *args, **kwargs,):
425
+ residual = hidden_states
426
+
427
+ if attn.spatial_norm is not None:
428
+ hidden_states = attn.spatial_norm(hidden_states, temb)
429
+
430
+ input_ndim = hidden_states.ndim
431
+
432
+ if input_ndim == 4:
433
+ batch_size, channel, height, width = hidden_states.shape
434
+ hidden_states = hidden_states.view(batch_size, channel, height * width).transpose(1, 2)
435
+
436
+ batch_size, sequence_length, _ = (
437
+ hidden_states.shape if encoder_hidden_states is None else encoder_hidden_states.shape
438
+ )
439
+ attention_mask = attn.prepare_attention_mask(attention_mask, sequence_length, batch_size)
440
+
441
+ if attn.group_norm is not None:
442
+ hidden_states = attn.group_norm(hidden_states.transpose(1, 2)).transpose(1, 2)
443
+
444
+ query = attn.to_q(hidden_states)
445
+
446
+ if encoder_hidden_states is None:
447
+ encoder_hidden_states = hidden_states
448
+ else:
449
+ end_pos = encoder_hidden_states.shape[1] - self.num_tokens
450
+ encoder_hidden_states = encoder_hidden_states[:, :end_pos] # only use text
451
+ if attn.norm_cross:
452
+ encoder_hidden_states = attn.norm_encoder_hidden_states(encoder_hidden_states)
453
+
454
+ key = attn.to_k(encoder_hidden_states)
455
+ value = attn.to_v(encoder_hidden_states)
456
+
457
+ query = attn.head_to_batch_dim(query)
458
+ key = attn.head_to_batch_dim(key)
459
+ value = attn.head_to_batch_dim(value)
460
+
461
+ attention_probs = attn.get_attention_scores(query, key, attention_mask)
462
+ hidden_states = torch.bmm(attention_probs, value)
463
+ hidden_states = attn.batch_to_head_dim(hidden_states)
464
+
465
+ # linear proj
466
+ hidden_states = attn.to_out[0](hidden_states)
467
+ # dropout
468
+ hidden_states = attn.to_out[1](hidden_states)
469
+
470
+ if input_ndim == 4:
471
+ hidden_states = hidden_states.transpose(-1, -2).reshape(batch_size, channel, height, width)
472
+
473
+ if attn.residual_connection:
474
+ hidden_states = hidden_states + residual
475
+
476
+ hidden_states = hidden_states / attn.rescale_output_factor
477
+
478
+ return hidden_states
479
+
480
+
481
+ class CNAttnProcessor2_0:
482
+ r"""
483
+ Processor for implementing scaled dot-product attention (enabled by default if you're using PyTorch 2.0).
484
+ """
485
+
486
+ def __init__(self, num_tokens=4):
487
+ if not hasattr(F, "scaled_dot_product_attention"):
488
+ raise ImportError("AttnProcessor2_0 requires PyTorch 2.0, to use it, please upgrade PyTorch to 2.0.")
489
+ self.num_tokens = num_tokens
490
+
491
+ def __call__(
492
+ self,
493
+ attn,
494
+ hidden_states,
495
+ encoder_hidden_states=None,
496
+ attention_mask=None,
497
+ temb=None,
498
+ *args,
499
+ **kwargs,
500
+ ):
501
+ residual = hidden_states
502
+
503
+ if attn.spatial_norm is not None:
504
+ hidden_states = attn.spatial_norm(hidden_states, temb)
505
+
506
+ input_ndim = hidden_states.ndim
507
+
508
+ if input_ndim == 4:
509
+ batch_size, channel, height, width = hidden_states.shape
510
+ hidden_states = hidden_states.view(batch_size, channel, height * width).transpose(1, 2)
511
+
512
+ batch_size, sequence_length, _ = (
513
+ hidden_states.shape if encoder_hidden_states is None else encoder_hidden_states.shape
514
+ )
515
+
516
+ if attention_mask is not None:
517
+ attention_mask = attn.prepare_attention_mask(attention_mask, sequence_length, batch_size)
518
+ # scaled_dot_product_attention expects attention_mask shape to be
519
+ # (batch, heads, source_length, target_length)
520
+ attention_mask = attention_mask.view(batch_size, attn.heads, -1, attention_mask.shape[-1])
521
+
522
+ if attn.group_norm is not None:
523
+ hidden_states = attn.group_norm(hidden_states.transpose(1, 2)).transpose(1, 2)
524
+
525
+ query = attn.to_q(hidden_states)
526
+
527
+ if encoder_hidden_states is None:
528
+ encoder_hidden_states = hidden_states
529
+ else:
530
+ end_pos = encoder_hidden_states.shape[1] - self.num_tokens
531
+ encoder_hidden_states = encoder_hidden_states[:, :end_pos] # only use text
532
+ if attn.norm_cross:
533
+ encoder_hidden_states = attn.norm_encoder_hidden_states(encoder_hidden_states)
534
+
535
+ key = attn.to_k(encoder_hidden_states)
536
+ value = attn.to_v(encoder_hidden_states)
537
+
538
+ inner_dim = key.shape[-1]
539
+ head_dim = inner_dim // attn.heads
540
+
541
+ query = query.view(batch_size, -1, attn.heads, head_dim).transpose(1, 2)
542
+
543
+ key = key.view(batch_size, -1, attn.heads, head_dim).transpose(1, 2)
544
+ value = value.view(batch_size, -1, attn.heads, head_dim).transpose(1, 2)
545
+
546
+ # the output of sdp = (batch, num_heads, seq_len, head_dim)
547
+ # TODO: add support for attn.scale when we move to Torch 2.1
548
+ hidden_states = F.scaled_dot_product_attention(
549
+ query, key, value, attn_mask=attention_mask, dropout_p=0.0, is_causal=False
550
+ )
551
+
552
+ hidden_states = hidden_states.transpose(1, 2).reshape(batch_size, -1, attn.heads * head_dim)
553
+ hidden_states = hidden_states.to(query.dtype)
554
+
555
+ # linear proj
556
+ hidden_states = attn.to_out[0](hidden_states)
557
+ # dropout
558
+ hidden_states = attn.to_out[1](hidden_states)
559
+
560
+ if input_ndim == 4:
561
+ hidden_states = hidden_states.transpose(-1, -2).reshape(batch_size, channel, height, width)
562
+
563
+ if attn.residual_connection:
564
+ hidden_states = hidden_states + residual
565
+
566
+ hidden_states = hidden_states / attn.rescale_output_factor
567
+
568
+ return hidden_states
IP_Composer/IP_Adapter/ip_adapter/ip_adapter.py ADDED
@@ -0,0 +1,420 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ from typing import List
3
+
4
+ import torch
5
+ from diffusers import StableDiffusionPipeline
6
+ from diffusers.pipelines.controlnet import MultiControlNetModel
7
+ from PIL import Image
8
+ from safetensors import safe_open
9
+ from transformers import CLIPImageProcessor, CLIPVisionModelWithProjection
10
+
11
+ from .utils import is_torch2_available, get_generator
12
+
13
+ if is_torch2_available():
14
+ from .attention_processor import (
15
+ AttnProcessor2_0 as AttnProcessor,
16
+ )
17
+ from .attention_processor import (
18
+ CNAttnProcessor2_0 as CNAttnProcessor,
19
+ )
20
+ from .attention_processor import (
21
+ IPAttnProcessor2_0 as IPAttnProcessor,
22
+ )
23
+ else:
24
+ from .attention_processor import AttnProcessor, CNAttnProcessor, IPAttnProcessor
25
+ from .resampler import Resampler
26
+
27
+
28
+ class ImageProjModel(torch.nn.Module):
29
+ """Projection Model"""
30
+
31
+ def __init__(self, cross_attention_dim=1024, clip_embeddings_dim=1024, clip_extra_context_tokens=4):
32
+ super().__init__()
33
+
34
+ self.generator = None
35
+ self.cross_attention_dim = cross_attention_dim
36
+ self.clip_extra_context_tokens = clip_extra_context_tokens
37
+ self.proj = torch.nn.Linear(clip_embeddings_dim, self.clip_extra_context_tokens * cross_attention_dim)
38
+ self.norm = torch.nn.LayerNorm(cross_attention_dim)
39
+
40
+ def forward(self, image_embeds):
41
+ embeds = image_embeds
42
+ clip_extra_context_tokens = self.proj(embeds).reshape(
43
+ -1, self.clip_extra_context_tokens, self.cross_attention_dim
44
+ )
45
+ clip_extra_context_tokens = self.norm(clip_extra_context_tokens)
46
+ return clip_extra_context_tokens
47
+
48
+
49
+ class MLPProjModel(torch.nn.Module):
50
+ """SD model with image prompt"""
51
+ def __init__(self, cross_attention_dim=1024, clip_embeddings_dim=1024):
52
+ super().__init__()
53
+
54
+ self.proj = torch.nn.Sequential(
55
+ torch.nn.Linear(clip_embeddings_dim, clip_embeddings_dim),
56
+ torch.nn.GELU(),
57
+ torch.nn.Linear(clip_embeddings_dim, cross_attention_dim),
58
+ torch.nn.LayerNorm(cross_attention_dim)
59
+ )
60
+
61
+ def forward(self, image_embeds):
62
+ clip_extra_context_tokens = self.proj(image_embeds)
63
+ return clip_extra_context_tokens
64
+
65
+
66
+ class IPAdapter:
67
+ def __init__(self, sd_pipe, image_encoder_repo, image_encoder_subfolder, ip_ckpt, device, num_tokens=4):
68
+ self.device = device
69
+ self.ip_ckpt = ip_ckpt
70
+ self.num_tokens = num_tokens
71
+
72
+ self.pipe = sd_pipe.to(self.device)
73
+ self.set_ip_adapter()
74
+
75
+ # load image encoder
76
+ self.image_encoder = CLIPVisionModelWithProjection.from_pretrained(image_encoder_repo, subfolder=image_encoder_subfolder).to(
77
+ self.device, dtype=torch.float16
78
+ )
79
+ self.clip_image_processor = CLIPImageProcessor()
80
+ # image proj model
81
+ self.image_proj_model = self.init_proj()
82
+
83
+ self.load_ip_adapter()
84
+
85
+ def init_proj(self):
86
+ image_proj_model = ImageProjModel(
87
+ cross_attention_dim=self.pipe.unet.config.cross_attention_dim,
88
+ clip_embeddings_dim=self.image_encoder.config.projection_dim,
89
+ clip_extra_context_tokens=self.num_tokens,
90
+ ).to(self.device, dtype=torch.float16)
91
+ return image_proj_model
92
+
93
+ def set_ip_adapter(self):
94
+ unet = self.pipe.unet
95
+ attn_procs = {}
96
+ for name in unet.attn_processors.keys():
97
+ cross_attention_dim = None if name.endswith("attn1.processor") else unet.config.cross_attention_dim
98
+ if name.startswith("mid_block"):
99
+ hidden_size = unet.config.block_out_channels[-1]
100
+ elif name.startswith("up_blocks"):
101
+ block_id = int(name[len("up_blocks.")])
102
+ hidden_size = list(reversed(unet.config.block_out_channels))[block_id]
103
+ elif name.startswith("down_blocks"):
104
+ block_id = int(name[len("down_blocks.")])
105
+ hidden_size = unet.config.block_out_channels[block_id]
106
+ if cross_attention_dim is None:
107
+ attn_procs[name] = AttnProcessor()
108
+ else:
109
+ attn_procs[name] = IPAttnProcessor(
110
+ hidden_size=hidden_size,
111
+ cross_attention_dim=cross_attention_dim,
112
+ scale=1.0,
113
+ num_tokens=self.num_tokens,
114
+ ).to(self.device, dtype=torch.float16)
115
+ unet.set_attn_processor(attn_procs)
116
+ if hasattr(self.pipe, "controlnet"):
117
+ if isinstance(self.pipe.controlnet, MultiControlNetModel):
118
+ for controlnet in self.pipe.controlnet.nets:
119
+ controlnet.set_attn_processor(CNAttnProcessor(num_tokens=self.num_tokens))
120
+ else:
121
+ self.pipe.controlnet.set_attn_processor(CNAttnProcessor(num_tokens=self.num_tokens))
122
+
123
+ def load_ip_adapter(self):
124
+ if os.path.splitext(self.ip_ckpt)[-1] == ".safetensors":
125
+ state_dict = {"image_proj": {}, "ip_adapter": {}}
126
+ with safe_open(self.ip_ckpt, framework="pt", device="cpu") as f:
127
+ for key in f.keys():
128
+ if key.startswith("image_proj."):
129
+ state_dict["image_proj"][key.replace("image_proj.", "")] = f.get_tensor(key)
130
+ elif key.startswith("ip_adapter."):
131
+ state_dict["ip_adapter"][key.replace("ip_adapter.", "")] = f.get_tensor(key)
132
+ else:
133
+ state_dict = torch.load(self.ip_ckpt, map_location="cpu")
134
+ self.image_proj_model.load_state_dict(state_dict["image_proj"])
135
+ ip_layers = torch.nn.ModuleList(self.pipe.unet.attn_processors.values())
136
+ ip_layers.load_state_dict(state_dict["ip_adapter"])
137
+
138
+ @torch.inference_mode()
139
+ def get_image_embeds(self, pil_image=None, clip_image_embeds=None):
140
+ if pil_image is not None:
141
+ if isinstance(pil_image, Image.Image):
142
+ pil_image = [pil_image]
143
+ clip_image = self.clip_image_processor(images=pil_image, return_tensors="pt").pixel_values
144
+ clip_image_embeds = self.image_encoder(clip_image.to(self.device, dtype=torch.float16)).image_embeds
145
+ else:
146
+ clip_image_embeds = clip_image_embeds.to(self.device, dtype=torch.float16)
147
+ image_prompt_embeds = self.image_proj_model(clip_image_embeds)
148
+ uncond_image_prompt_embeds = self.image_proj_model(torch.zeros_like(clip_image_embeds))
149
+ return image_prompt_embeds, uncond_image_prompt_embeds
150
+
151
+ def set_scale(self, scale):
152
+ for attn_processor in self.pipe.unet.attn_processors.values():
153
+ if isinstance(attn_processor, IPAttnProcessor):
154
+ attn_processor.scale = scale
155
+
156
+ def generate(
157
+ self,
158
+ pil_image=None,
159
+ clip_image_embeds=None,
160
+ prompt=None,
161
+ negative_prompt=None,
162
+ scale=1.0,
163
+ num_samples=4,
164
+ seed=None,
165
+ guidance_scale=7.5,
166
+ num_inference_steps=30,
167
+ **kwargs,
168
+ ):
169
+ self.set_scale(scale)
170
+
171
+ if pil_image is not None:
172
+ num_prompts = 1 if isinstance(pil_image, Image.Image) else len(pil_image)
173
+ else:
174
+ num_prompts = clip_image_embeds.size(0)
175
+
176
+ if prompt is None:
177
+ prompt = "best quality, high quality"
178
+ if negative_prompt is None:
179
+ negative_prompt = "monochrome, lowres, bad anatomy, worst quality, low quality"
180
+
181
+ if not isinstance(prompt, List):
182
+ prompt = [prompt] * num_prompts
183
+ if not isinstance(negative_prompt, List):
184
+ negative_prompt = [negative_prompt] * num_prompts
185
+
186
+ image_prompt_embeds, uncond_image_prompt_embeds = self.get_image_embeds(
187
+ pil_image=pil_image, clip_image_embeds=clip_image_embeds
188
+ )
189
+ bs_embed, seq_len, _ = image_prompt_embeds.shape
190
+ image_prompt_embeds = image_prompt_embeds.repeat(1, num_samples, 1)
191
+ image_prompt_embeds = image_prompt_embeds.view(bs_embed * num_samples, seq_len, -1)
192
+ uncond_image_prompt_embeds = uncond_image_prompt_embeds.repeat(1, num_samples, 1)
193
+ uncond_image_prompt_embeds = uncond_image_prompt_embeds.view(bs_embed * num_samples, seq_len, -1)
194
+
195
+ with torch.inference_mode():
196
+ prompt_embeds_, negative_prompt_embeds_ = self.pipe.encode_prompt(
197
+ prompt,
198
+ device=self.device,
199
+ num_images_per_prompt=num_samples,
200
+ do_classifier_free_guidance=True,
201
+ negative_prompt=negative_prompt,
202
+ )
203
+ prompt_embeds = torch.cat([prompt_embeds_, image_prompt_embeds], dim=1)
204
+ negative_prompt_embeds = torch.cat([negative_prompt_embeds_, uncond_image_prompt_embeds], dim=1)
205
+
206
+ generator = get_generator(seed, self.device)
207
+
208
+ images = self.pipe(
209
+ prompt_embeds=prompt_embeds,
210
+ negative_prompt_embeds=negative_prompt_embeds,
211
+ guidance_scale=guidance_scale,
212
+ num_inference_steps=num_inference_steps,
213
+ generator=generator,
214
+ **kwargs,
215
+ ).images
216
+
217
+ return images
218
+
219
+
220
+ class IPAdapterXL(IPAdapter):
221
+ """SDXL"""
222
+
223
+ def generate(
224
+ self,
225
+ pil_image=None,
226
+ clip_image_embeds=None,
227
+ prompt=None,
228
+ negative_prompt=None,
229
+ scale=1.0,
230
+ num_samples=4,
231
+ seed=None,
232
+ num_inference_steps=30,
233
+ **kwargs,
234
+ ):
235
+ self.set_scale(scale)
236
+
237
+ if pil_image is not None:
238
+ num_prompts = 1 if isinstance(pil_image, Image.Image) else len(pil_image)
239
+ else:
240
+ num_prompts = clip_image_embeds.size(0)
241
+
242
+ if prompt is None:
243
+ prompt = "best quality, high quality"
244
+ if negative_prompt is None:
245
+ negative_prompt = "monochrome, lowres, bad anatomy, worst quality, low quality"
246
+
247
+ if not isinstance(prompt, List):
248
+ prompt = [prompt] * num_prompts
249
+ if not isinstance(negative_prompt, List):
250
+ negative_prompt = [negative_prompt] * num_prompts
251
+
252
+ image_prompt_embeds, uncond_image_prompt_embeds = self.get_image_embeds(pil_image, clip_image_embeds=clip_image_embeds)
253
+ bs_embed, seq_len, _ = image_prompt_embeds.shape
254
+ image_prompt_embeds = image_prompt_embeds.repeat(1, num_samples, 1)
255
+ image_prompt_embeds = image_prompt_embeds.view(bs_embed * num_samples, seq_len, -1)
256
+ uncond_image_prompt_embeds = uncond_image_prompt_embeds.repeat(1, num_samples, 1)
257
+ uncond_image_prompt_embeds = uncond_image_prompt_embeds.view(bs_embed * num_samples, seq_len, -1)
258
+
259
+ with torch.inference_mode():
260
+ (
261
+ prompt_embeds,
262
+ negative_prompt_embeds,
263
+ pooled_prompt_embeds,
264
+ negative_pooled_prompt_embeds,
265
+ ) = self.pipe.encode_prompt(
266
+ prompt,
267
+ num_images_per_prompt=num_samples,
268
+ do_classifier_free_guidance=True,
269
+ negative_prompt=negative_prompt,
270
+ )
271
+ prompt_embeds = torch.cat([prompt_embeds, image_prompt_embeds], dim=1)
272
+ negative_prompt_embeds = torch.cat([negative_prompt_embeds, uncond_image_prompt_embeds], dim=1)
273
+
274
+ self.generator = get_generator(seed, self.device)
275
+
276
+ images = self.pipe(
277
+ prompt_embeds=prompt_embeds,
278
+ negative_prompt_embeds=negative_prompt_embeds,
279
+ pooled_prompt_embeds=pooled_prompt_embeds,
280
+ negative_pooled_prompt_embeds=negative_pooled_prompt_embeds,
281
+ num_inference_steps=num_inference_steps,
282
+ generator=self.generator,
283
+ **kwargs,
284
+ ).images
285
+
286
+ return images
287
+
288
+
289
+ class IPAdapterPlus(IPAdapter):
290
+ """IP-Adapter with fine-grained features"""
291
+
292
+ def init_proj(self):
293
+ image_proj_model = Resampler(
294
+ dim=self.pipe.unet.config.cross_attention_dim,
295
+ depth=4,
296
+ dim_head=64,
297
+ heads=12,
298
+ num_queries=self.num_tokens,
299
+ embedding_dim=self.image_encoder.config.hidden_size,
300
+ output_dim=self.pipe.unet.config.cross_attention_dim,
301
+ ff_mult=4,
302
+ ).to(self.device, dtype=torch.float16)
303
+ return image_proj_model
304
+
305
+ @torch.inference_mode()
306
+ def get_image_embeds(self, pil_image=None, clip_image_embeds=None):
307
+ if isinstance(pil_image, Image.Image):
308
+ pil_image = [pil_image]
309
+ clip_image = self.clip_image_processor(images=pil_image, return_tensors="pt").pixel_values
310
+ clip_image = clip_image.to(self.device, dtype=torch.float16)
311
+ clip_image_embeds = self.image_encoder(clip_image, output_hidden_states=True).hidden_states[-2]
312
+ image_prompt_embeds = self.image_proj_model(clip_image_embeds)
313
+ uncond_clip_image_embeds = self.image_encoder(
314
+ torch.zeros_like(clip_image), output_hidden_states=True
315
+ ).hidden_states[-2]
316
+ uncond_image_prompt_embeds = self.image_proj_model(uncond_clip_image_embeds)
317
+ return image_prompt_embeds, uncond_image_prompt_embeds
318
+
319
+
320
+ class IPAdapterFull(IPAdapterPlus):
321
+ """IP-Adapter with full features"""
322
+
323
+ def init_proj(self):
324
+ image_proj_model = MLPProjModel(
325
+ cross_attention_dim=self.pipe.unet.config.cross_attention_dim,
326
+ clip_embeddings_dim=self.image_encoder.config.hidden_size,
327
+ ).to(self.device, dtype=torch.float16)
328
+ return image_proj_model
329
+
330
+
331
+ class IPAdapterPlusXL(IPAdapter):
332
+ """SDXL"""
333
+
334
+ def init_proj(self):
335
+ image_proj_model = Resampler(
336
+ dim=1280,
337
+ depth=4,
338
+ dim_head=64,
339
+ heads=20,
340
+ num_queries=self.num_tokens,
341
+ embedding_dim=self.image_encoder.config.hidden_size,
342
+ output_dim=self.pipe.unet.config.cross_attention_dim,
343
+ ff_mult=4,
344
+ ).to(self.device, dtype=torch.float16)
345
+ return image_proj_model
346
+
347
+ @torch.inference_mode()
348
+ def get_image_embeds(self, pil_image):
349
+ if isinstance(pil_image, Image.Image):
350
+ pil_image = [pil_image]
351
+ clip_image = self.clip_image_processor(images=pil_image, return_tensors="pt").pixel_values
352
+ clip_image = clip_image.to(self.device, dtype=torch.float16)
353
+ clip_image_embeds = self.image_encoder(clip_image, output_hidden_states=True).hidden_states[-2]
354
+ image_prompt_embeds = self.image_proj_model(clip_image_embeds)
355
+ uncond_clip_image_embeds = self.image_encoder(
356
+ torch.zeros_like(clip_image), output_hidden_states=True
357
+ ).hidden_states[-2]
358
+ uncond_image_prompt_embeds = self.image_proj_model(uncond_clip_image_embeds)
359
+ return image_prompt_embeds, uncond_image_prompt_embeds
360
+
361
+ def generate(
362
+ self,
363
+ pil_image,
364
+ prompt=None,
365
+ negative_prompt=None,
366
+ scale=1.0,
367
+ num_samples=4,
368
+ seed=None,
369
+ num_inference_steps=30,
370
+ **kwargs,
371
+ ):
372
+ self.set_scale(scale)
373
+
374
+ num_prompts = 1 if isinstance(pil_image, Image.Image) else len(pil_image)
375
+
376
+ if prompt is None:
377
+ prompt = "best quality, high quality"
378
+ if negative_prompt is None:
379
+ negative_prompt = "monochrome, lowres, bad anatomy, worst quality, low quality"
380
+
381
+ if not isinstance(prompt, List):
382
+ prompt = [prompt] * num_prompts
383
+ if not isinstance(negative_prompt, List):
384
+ negative_prompt = [negative_prompt] * num_prompts
385
+
386
+ image_prompt_embeds, uncond_image_prompt_embeds = self.get_image_embeds(pil_image)
387
+ bs_embed, seq_len, _ = image_prompt_embeds.shape
388
+ image_prompt_embeds = image_prompt_embeds.repeat(1, num_samples, 1)
389
+ image_prompt_embeds = image_prompt_embeds.view(bs_embed * num_samples, seq_len, -1)
390
+ uncond_image_prompt_embeds = uncond_image_prompt_embeds.repeat(1, num_samples, 1)
391
+ uncond_image_prompt_embeds = uncond_image_prompt_embeds.view(bs_embed * num_samples, seq_len, -1)
392
+
393
+ with torch.inference_mode():
394
+ (
395
+ prompt_embeds,
396
+ negative_prompt_embeds,
397
+ pooled_prompt_embeds,
398
+ negative_pooled_prompt_embeds,
399
+ ) = self.pipe.encode_prompt(
400
+ prompt,
401
+ num_images_per_prompt=num_samples,
402
+ do_classifier_free_guidance=True,
403
+ negative_prompt=negative_prompt,
404
+ )
405
+ prompt_embeds = torch.cat([prompt_embeds, image_prompt_embeds], dim=1)
406
+ negative_prompt_embeds = torch.cat([negative_prompt_embeds, uncond_image_prompt_embeds], dim=1)
407
+
408
+ generator = get_generator(seed, self.device)
409
+
410
+ images = self.pipe(
411
+ prompt_embeds=prompt_embeds,
412
+ negative_prompt_embeds=negative_prompt_embeds,
413
+ pooled_prompt_embeds=pooled_prompt_embeds,
414
+ negative_pooled_prompt_embeds=negative_pooled_prompt_embeds,
415
+ num_inference_steps=num_inference_steps,
416
+ generator=generator,
417
+ **kwargs,
418
+ ).images
419
+
420
+ return images
IP_Composer/IP_Adapter/ip_adapter/resampler.py ADDED
@@ -0,0 +1,158 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # modified from https://github.com/mlfoundations/open_flamingo/blob/main/open_flamingo/src/helpers.py
2
+ # and https://github.com/lucidrains/imagen-pytorch/blob/main/imagen_pytorch/imagen_pytorch.py
3
+
4
+ import math
5
+
6
+ import torch
7
+ import torch.nn as nn
8
+ from einops import rearrange
9
+ from einops.layers.torch import Rearrange
10
+
11
+
12
+ # FFN
13
+ def FeedForward(dim, mult=4):
14
+ inner_dim = int(dim * mult)
15
+ return nn.Sequential(
16
+ nn.LayerNorm(dim),
17
+ nn.Linear(dim, inner_dim, bias=False),
18
+ nn.GELU(),
19
+ nn.Linear(inner_dim, dim, bias=False),
20
+ )
21
+
22
+
23
+ def reshape_tensor(x, heads):
24
+ bs, length, width = x.shape
25
+ # (bs, length, width) --> (bs, length, n_heads, dim_per_head)
26
+ x = x.view(bs, length, heads, -1)
27
+ # (bs, length, n_heads, dim_per_head) --> (bs, n_heads, length, dim_per_head)
28
+ x = x.transpose(1, 2)
29
+ # (bs, n_heads, length, dim_per_head) --> (bs*n_heads, length, dim_per_head)
30
+ x = x.reshape(bs, heads, length, -1)
31
+ return x
32
+
33
+
34
+ class PerceiverAttention(nn.Module):
35
+ def __init__(self, *, dim, dim_head=64, heads=8):
36
+ super().__init__()
37
+ self.scale = dim_head**-0.5
38
+ self.dim_head = dim_head
39
+ self.heads = heads
40
+ inner_dim = dim_head * heads
41
+
42
+ self.norm1 = nn.LayerNorm(dim)
43
+ self.norm2 = nn.LayerNorm(dim)
44
+
45
+ self.to_q = nn.Linear(dim, inner_dim, bias=False)
46
+ self.to_kv = nn.Linear(dim, inner_dim * 2, bias=False)
47
+ self.to_out = nn.Linear(inner_dim, dim, bias=False)
48
+
49
+ def forward(self, x, latents):
50
+ """
51
+ Args:
52
+ x (torch.Tensor): image features
53
+ shape (b, n1, D)
54
+ latent (torch.Tensor): latent features
55
+ shape (b, n2, D)
56
+ """
57
+ x = self.norm1(x)
58
+ latents = self.norm2(latents)
59
+
60
+ b, l, _ = latents.shape
61
+
62
+ q = self.to_q(latents)
63
+ kv_input = torch.cat((x, latents), dim=-2)
64
+ k, v = self.to_kv(kv_input).chunk(2, dim=-1)
65
+
66
+ q = reshape_tensor(q, self.heads)
67
+ k = reshape_tensor(k, self.heads)
68
+ v = reshape_tensor(v, self.heads)
69
+
70
+ # attention
71
+ scale = 1 / math.sqrt(math.sqrt(self.dim_head))
72
+ weight = (q * scale) @ (k * scale).transpose(-2, -1) # More stable with f16 than dividing afterwards
73
+ weight = torch.softmax(weight.float(), dim=-1).type(weight.dtype)
74
+ out = weight @ v
75
+
76
+ out = out.permute(0, 2, 1, 3).reshape(b, l, -1)
77
+
78
+ return self.to_out(out)
79
+
80
+
81
+ class Resampler(nn.Module):
82
+ def __init__(
83
+ self,
84
+ dim=1024,
85
+ depth=8,
86
+ dim_head=64,
87
+ heads=16,
88
+ num_queries=8,
89
+ embedding_dim=768,
90
+ output_dim=1024,
91
+ ff_mult=4,
92
+ max_seq_len: int = 257, # CLIP tokens + CLS token
93
+ apply_pos_emb: bool = False,
94
+ num_latents_mean_pooled: int = 0, # number of latents derived from mean pooled representation of the sequence
95
+ ):
96
+ super().__init__()
97
+ self.pos_emb = nn.Embedding(max_seq_len, embedding_dim) if apply_pos_emb else None
98
+
99
+ self.latents = nn.Parameter(torch.randn(1, num_queries, dim) / dim**0.5)
100
+
101
+ self.proj_in = nn.Linear(embedding_dim, dim)
102
+
103
+ self.proj_out = nn.Linear(dim, output_dim)
104
+ self.norm_out = nn.LayerNorm(output_dim)
105
+
106
+ self.to_latents_from_mean_pooled_seq = (
107
+ nn.Sequential(
108
+ nn.LayerNorm(dim),
109
+ nn.Linear(dim, dim * num_latents_mean_pooled),
110
+ Rearrange("b (n d) -> b n d", n=num_latents_mean_pooled),
111
+ )
112
+ if num_latents_mean_pooled > 0
113
+ else None
114
+ )
115
+
116
+ self.layers = nn.ModuleList([])
117
+ for _ in range(depth):
118
+ self.layers.append(
119
+ nn.ModuleList(
120
+ [
121
+ PerceiverAttention(dim=dim, dim_head=dim_head, heads=heads),
122
+ FeedForward(dim=dim, mult=ff_mult),
123
+ ]
124
+ )
125
+ )
126
+
127
+ def forward(self, x):
128
+ if self.pos_emb is not None:
129
+ n, device = x.shape[1], x.device
130
+ pos_emb = self.pos_emb(torch.arange(n, device=device))
131
+ x = x + pos_emb
132
+
133
+ latents = self.latents.repeat(x.size(0), 1, 1)
134
+
135
+ x = self.proj_in(x)
136
+
137
+ if self.to_latents_from_mean_pooled_seq:
138
+ meanpooled_seq = masked_mean(x, dim=1, mask=torch.ones(x.shape[:2], device=x.device, dtype=torch.bool))
139
+ meanpooled_latents = self.to_latents_from_mean_pooled_seq(meanpooled_seq)
140
+ latents = torch.cat((meanpooled_latents, latents), dim=-2)
141
+
142
+ for attn, ff in self.layers:
143
+ latents = attn(x, latents) + latents
144
+ latents = ff(latents) + latents
145
+
146
+ latents = self.proj_out(latents)
147
+ return self.norm_out(latents)
148
+
149
+
150
+ def masked_mean(t, *, dim, mask=None):
151
+ if mask is None:
152
+ return t.mean(dim=dim)
153
+
154
+ denom = mask.sum(dim=dim, keepdim=True)
155
+ mask = rearrange(mask, "b n -> b n 1")
156
+ masked_t = t.masked_fill(~mask, 0.0)
157
+
158
+ return masked_t.sum(dim=dim) / denom.clamp(min=1e-5)
IP_Composer/IP_Adapter/ip_adapter/utils.py ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ import torch.nn.functional as F
3
+ import numpy as np
4
+ from PIL import Image
5
+
6
+ attn_maps = {}
7
+ def hook_fn(name):
8
+ def forward_hook(module, input, output):
9
+ if hasattr(module.processor, "attn_map"):
10
+ attn_maps[name] = module.processor.attn_map
11
+ del module.processor.attn_map
12
+
13
+ return forward_hook
14
+
15
+ def register_cross_attention_hook(unet):
16
+ for name, module in unet.named_modules():
17
+ if name.split('.')[-1].startswith('attn2'):
18
+ module.register_forward_hook(hook_fn(name))
19
+
20
+ return unet
21
+
22
+ def upscale(attn_map, target_size):
23
+ attn_map = torch.mean(attn_map, dim=0)
24
+ attn_map = attn_map.permute(1,0)
25
+ temp_size = None
26
+
27
+ for i in range(0,5):
28
+ scale = 2 ** i
29
+ if ( target_size[0] // scale ) * ( target_size[1] // scale) == attn_map.shape[1]*64:
30
+ temp_size = (target_size[0]//(scale*8), target_size[1]//(scale*8))
31
+ break
32
+
33
+ assert temp_size is not None, "temp_size cannot is None"
34
+
35
+ attn_map = attn_map.view(attn_map.shape[0], *temp_size)
36
+
37
+ attn_map = F.interpolate(
38
+ attn_map.unsqueeze(0).to(dtype=torch.float32),
39
+ size=target_size,
40
+ mode='bilinear',
41
+ align_corners=False
42
+ )[0]
43
+
44
+ attn_map = torch.softmax(attn_map, dim=0)
45
+ return attn_map
46
+ def get_net_attn_map(image_size, batch_size=2, instance_or_negative=False, detach=True):
47
+
48
+ idx = 0 if instance_or_negative else 1
49
+ net_attn_maps = []
50
+
51
+ for name, attn_map in attn_maps.items():
52
+ attn_map = attn_map.cpu() if detach else attn_map
53
+ attn_map = torch.chunk(attn_map, batch_size)[idx].squeeze()
54
+ attn_map = upscale(attn_map, image_size)
55
+ net_attn_maps.append(attn_map)
56
+
57
+ net_attn_maps = torch.mean(torch.stack(net_attn_maps,dim=0),dim=0)
58
+
59
+ return net_attn_maps
60
+
61
+ def attnmaps2images(net_attn_maps):
62
+
63
+ #total_attn_scores = 0
64
+ images = []
65
+
66
+ for attn_map in net_attn_maps:
67
+ attn_map = attn_map.cpu().numpy()
68
+ #total_attn_scores += attn_map.mean().item()
69
+
70
+ normalized_attn_map = (attn_map - np.min(attn_map)) / (np.max(attn_map) - np.min(attn_map)) * 255
71
+ normalized_attn_map = normalized_attn_map.astype(np.uint8)
72
+ #print("norm: ", normalized_attn_map.shape)
73
+ image = Image.fromarray(normalized_attn_map)
74
+
75
+ #image = fix_save_attn_map(attn_map)
76
+ images.append(image)
77
+
78
+ #print(total_attn_scores)
79
+ return images
80
+ def is_torch2_available():
81
+ return hasattr(F, "scaled_dot_product_attention")
82
+
83
+ def get_generator(seed, device):
84
+
85
+ if seed is not None:
86
+ if isinstance(seed, list):
87
+ generator = [torch.Generator(device).manual_seed(seed_item) for seed_item in seed]
88
+ else:
89
+ generator = torch.Generator(device).manual_seed(seed)
90
+ else:
91
+ generator = None
92
+
93
+ return generator
IP_Composer/README.md ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ## **1. Composition Generation script**
2
+
3
+ ### **Running the Script**
4
+
5
+ Use the following command:
6
+
7
+ ```bash
8
+ python generate_compositions.py --config path/to/config.json --create_grids
9
+ ```
10
+
11
+ ### Parameters
12
+ - `--config`: Path to the configuration JSON file.
13
+ - `--create_grids`: (Optional) Enable grid creation for visualization of the results.
14
+
15
+ ### Configuration File
16
+
17
+ The configuration file should be a JSON file containing the following keys:
18
+
19
+ ### Explanation of Config Keys
20
+
21
+ - `input_dir_base`: Path to the directory containing the base images.
22
+ - `input_dirs_concepts`: List of paths to directories containing concept images.
23
+ - `all_embeds_paths`: List of `.npy` files containing precomputed embeddings for the concepts. The order should match `input_dirs_concepts`.
24
+ - `ranks`: List of integers specifying the rank for each concept’s projection matrix. The order should match `input_dirs_concepts`.
25
+ - `output_base_dir`: Path to store the generated images.
26
+ - `prompt` (optional): Additional text prompt.
27
+ - `scale` (optional): Scale parameter passed to IP Adapter.
28
+ - `seed` (optional): Random seed.
29
+ - `num_samples` (optional): Number of images to generate per combination.
30
+
31
+
32
+ ## 2. Text Embeddings Script
33
+
34
+ This repository also includes a script for generating text embeddings using CLIP. The script takes a CSV file containing text descriptions and outputs a `.npy` file with the corresponding embeddings.
35
+
36
+ ### Running the Script
37
+
38
+ Use the following command:
39
+
40
+ ```bash
41
+ python generate_text_embeddings.py --input_csv path/to/descriptions.csv --output_file path/to/output.npy --batch_size 100 --device cuda:0
42
+ ```
43
+
44
+ ### Parameters
45
+ - `--input_csv`: Path to the input CSV file containing text descriptions.
46
+ - `--output_file`: Path to save the output `.npy` file.
47
+ - `--batch_size`: (Optional) Batch size for processing embeddings (default: 100).
48
+ - `--device`: (Optional) Device to run the model on.
IP_Composer/assets/age/kid.png ADDED

Git LFS Details

  • SHA256: c54972ecac04407811e728eebd0cda7ea9f238de50ca441baf7ae22e75250c6e
  • Pointer size: 132 Bytes
  • Size of remote file: 1.33 MB
IP_Composer/assets/age/old.png ADDED

Git LFS Details

  • SHA256: 07be50d11e762e5d0668067175669acfeb30f6807291a2f3fe8caae16a67ad10
  • Pointer size: 132 Bytes
  • Size of remote file: 1.23 MB
IP_Composer/assets/emotions/joyful.png ADDED

Git LFS Details

  • SHA256: 3e76d525d6cab62d509ddc9c85282c1314ec383ea78f155b2ebf8440ab34412e
  • Pointer size: 132 Bytes
  • Size of remote file: 1.18 MB
IP_Composer/assets/emotions/sad.png ADDED
IP_Composer/assets/objects/mug.png ADDED

Git LFS Details

  • SHA256: 2855c2ce9b6f88b5eb57cb65066d195a1de64b3487efedc58cf74de7b665b98b
  • Pointer size: 132 Bytes
  • Size of remote file: 1.16 MB
IP_Composer/assets/objects/plate.png ADDED

Git LFS Details

  • SHA256: 2991d9d00e8f115c574c60f8834a8a51b9e0e23ce5b3ccb4541876dd26af8d12
  • Pointer size: 132 Bytes
  • Size of remote file: 1.1 MB
IP_Composer/assets/patterns/pebble.png ADDED

Git LFS Details

  • SHA256: 2f1727ae9eb08eee79ede2ef78faf76b3157586e955d1ed4638c0ec40d690b20
  • Pointer size: 132 Bytes
  • Size of remote file: 1.91 MB
IP_Composer/assets/patterns/splash.png ADDED

Git LFS Details

  • SHA256: 53e4d6d7fcc72e447fde06e524bf980158729f56b8ca574ae4aa52a92dd0399f
  • Pointer size: 132 Bytes
  • Size of remote file: 1.31 MB
IP_Composer/assets/people/boy.png ADDED

Git LFS Details

  • SHA256: 2bd51a2cc49c3694bb003f743312de6a717104722afe1d70af6f5076a6d2460a
  • Pointer size: 131 Bytes
  • Size of remote file: 848 kB
IP_Composer/assets/people/woman.png ADDED

Git LFS Details

  • SHA256: 117d87ad3ee37e48b212fe78b3b748b90de01212212f7f6bbb368c9bac76df9b
  • Pointer size: 132 Bytes
  • Size of remote file: 1.21 MB
IP_Composer/create_grids.py ADDED
@@ -0,0 +1,206 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import argparse
2
+ import os
3
+ import json
4
+ import itertools
5
+ from PIL import Image, ImageDraw, ImageFont
6
+
7
+ def wrap_text(text, max_width, draw, font):
8
+ """
9
+ Wrap the text to fit within the given width by breaking it into lines.
10
+ """
11
+ lines = []
12
+ words = text.split(' ')
13
+ current_line = []
14
+
15
+ for word in words:
16
+ current_line.append(word)
17
+ line_width = draw.textbbox((0, 0), ' '.join(current_line), font=font)[2]
18
+ if line_width > max_width:
19
+ current_line.pop()
20
+ lines.append(' '.join(current_line))
21
+ current_line = [word]
22
+
23
+ if current_line:
24
+ lines.append(' '.join(current_line))
25
+
26
+ return lines
27
+
28
+ def image_grid_with_titles(imgs, rows, cols, top_titles, left_titles, margin=20):
29
+ assert len(imgs) == rows * cols
30
+ assert len(top_titles) == cols
31
+ assert len(left_titles) == rows
32
+
33
+ imgs = [img.resize((256, 256)) for img in imgs]
34
+ w, h = imgs[0].size
35
+
36
+ title_height = 50
37
+ title_width = 120
38
+
39
+ grid_width = cols * (w + margin) + title_width + margin
40
+ grid_height = rows * (h + margin) + title_height + margin
41
+
42
+ grid = Image.new('RGB', size=(grid_width, grid_height), color='white')
43
+ draw = ImageDraw.Draw(grid)
44
+
45
+ try:
46
+ font = ImageFont.truetype("arial.ttf", 20)
47
+ except IOError:
48
+ font = ImageFont.load_default()
49
+
50
+ for i, title in enumerate(top_titles):
51
+ wrapped_title = wrap_text(title, w, draw, font)
52
+ total_text_height = sum([draw.textbbox((0, 0), line, font=font)[3] for line in wrapped_title])
53
+ y_offset = (title_height - total_text_height) // 2
54
+
55
+ for line in wrapped_title:
56
+ text_width = draw.textbbox((0, 0), line, font=font)[2]
57
+ x_offset = ((i * (w + margin)) + title_width + margin + (w - text_width) // 2)
58
+ draw.text((x_offset, y_offset), line, fill="black", font=font)
59
+ y_offset += draw.textbbox((0, 0), line, font=font)[3]
60
+
61
+ for i, title in enumerate(left_titles):
62
+ wrapped_title = wrap_text(title, title_width - 10, draw, font)
63
+ total_text_height = sum([draw.textbbox((0, 0), line, font=font)[3] for line in wrapped_title])
64
+ y_offset = (i * (h + margin)) + title_height + (h - total_text_height) // 2 + margin
65
+
66
+ for line in wrapped_title:
67
+ text_width = draw.textbbox((0, 0), line, font=font)[2]
68
+ x_offset = (title_width - text_width) // 2
69
+ draw.text((x_offset, y_offset), line, fill="black", font=font)
70
+ y_offset += draw.textbbox((0, 0), line, font=font)[3]
71
+
72
+ for i, img in enumerate(imgs):
73
+ x_pos = (i % cols) * (w + margin) + title_width + margin
74
+ y_pos = (i // cols) * (h + margin) + title_height + margin
75
+ grid.paste(img, box=(x_pos, y_pos))
76
+
77
+ return grid
78
+
79
+ def create_grids(config):
80
+ num_samples = config["num_samples"]
81
+ concept_dirs = config["input_dirs_concepts"]
82
+ output_base_dir = config["output_base_dir"]
83
+ output_grid_dir = os.path.join(output_base_dir, "grids")
84
+
85
+ os.makedirs(output_grid_dir, exist_ok=True)
86
+
87
+ base_images = os.listdir(config["input_dir_base"])
88
+
89
+ if len(concept_dirs) == 1:
90
+ # Special case: Single concept
91
+ last_concept_dir = concept_dirs[0]
92
+ last_concept_images = os.listdir(last_concept_dir)
93
+
94
+ top_titles = ["Base Image", "Concept 1"] + ["Samples"] + [""] * (num_samples - 1)
95
+ left_titles = ["" for i in range(len(last_concept_images))]
96
+
97
+ def load_image(path):
98
+ return Image.open(path) if os.path.exists(path) else Image.new("RGB", (256, 256), color="white")
99
+
100
+ for base_image in base_images:
101
+ base_image_path = os.path.join(config["input_dir_base"], base_image)
102
+ images = []
103
+
104
+ for last_image in last_concept_images:
105
+ last_image_path = os.path.join(last_concept_dir, last_image)
106
+ row_images = [load_image(base_image_path), load_image(last_image_path)]
107
+
108
+ # Add generated samples for the current row
109
+ sample_dir = os.path.join(output_base_dir, f"{base_image}_to_{last_image}")
110
+ if os.path.exists(sample_dir):
111
+ sample_images = sorted(os.listdir(sample_dir))
112
+ row_images.extend([load_image(os.path.join(sample_dir, sample_image)) for sample_image in sample_images])
113
+
114
+ images.extend(row_images)
115
+
116
+ # Fill empty spaces to match the grid dimensions
117
+ total_required = len(left_titles) * len(top_titles)
118
+ if len(images) < total_required:
119
+ images.extend([Image.new("RGB", (256, 256), color="white")] * (total_required - len(images)))
120
+
121
+ # Create the grid
122
+ grid = image_grid_with_titles(
123
+ imgs=images,
124
+ rows=len(left_titles),
125
+ cols=len(top_titles),
126
+ top_titles=top_titles,
127
+ left_titles=left_titles
128
+ )
129
+
130
+ # Save the grid
131
+ grid_save_path = os.path.join(output_grid_dir, f"grid_base_{base_image}_concept1.png")
132
+ grid.save(grid_save_path)
133
+ print(f"Grid saved at {grid_save_path}")
134
+
135
+ else:
136
+ # General case: Multiple concepts
137
+ fixed_concepts = concept_dirs[:-1]
138
+ last_concept_dir = concept_dirs[-1]
139
+ last_concept_images = os.listdir(last_concept_dir)
140
+
141
+ top_titles = ["Base Image"] + [f"Concept {i+1}" for i in range(len(fixed_concepts))] + ["Last Concept"] + ["Samples"] + [""] * (num_samples - 1)
142
+ left_titles = ["" for i in range(len(last_concept_images))]
143
+
144
+ def load_image(path):
145
+ return Image.open(path) if os.path.exists(path) else Image.new("RGB", (256, 256), color="white")
146
+
147
+ fixed_concept_images = [os.listdir(concept_dir) for concept_dir in fixed_concepts]
148
+
149
+ for base_image in base_images:
150
+ base_image_path = os.path.join(config["input_dir_base"], base_image)
151
+ fixed_combinations = itertools.product(*fixed_concept_images)
152
+
153
+ for fixed_combination in fixed_combinations:
154
+ images = []
155
+
156
+ # Build fixed combination row
157
+ fixed_images = [load_image(base_image_path)]
158
+ for concept_dir, concept_image in zip(fixed_concepts, fixed_combination):
159
+ concept_image_path = os.path.join(concept_dir, concept_image)
160
+ fixed_images.append(load_image(concept_image_path))
161
+
162
+ # Iterate over last concept for rows
163
+ for last_image in last_concept_images:
164
+ last_image_path = os.path.join(last_concept_dir, last_image)
165
+ row_images = fixed_images + [load_image(last_image_path)]
166
+
167
+ # Add generated samples for the current row
168
+ sample_dir = os.path.join(output_base_dir, f"{base_image}_to_" + "_".join([f"{concept_image}" for concept_image in fixed_combination]) + f"_{last_image}")
169
+ if os.path.exists(sample_dir):
170
+ sample_images = sorted(os.listdir(sample_dir))
171
+ row_images.extend([load_image(os.path.join(sample_dir, sample_image)) for sample_image in sample_images])
172
+
173
+ images.extend(row_images)
174
+
175
+ # Fill empty spaces to match the grid dimensions
176
+ total_required = len(left_titles) * len(top_titles)
177
+ if len(images) < total_required:
178
+ images.extend([Image.new("RGB", (256, 256), color="white")] * (total_required - len(images)))
179
+
180
+ # Create the grid
181
+ grid = image_grid_with_titles(
182
+ imgs=images,
183
+ rows=len(left_titles),
184
+ cols=len(top_titles),
185
+ top_titles=top_titles,
186
+ left_titles=left_titles
187
+ )
188
+
189
+ # Save the grid
190
+ grid_save_path = os.path.join(output_grid_dir, f"grid_base_{base_image}_combo_{'_'.join(map(str, fixed_combination))}.png")
191
+ grid.save(grid_save_path)
192
+ print(f"Grid saved at {grid_save_path}")
193
+
194
+ if __name__ == "__main__":
195
+ parser = argparse.ArgumentParser(description="Create image grids based on a configuration file.")
196
+ parser.add_argument("config_path", type=str, help="Path to the configuration JSON file.")
197
+ args = parser.parse_args()
198
+
199
+ # Load the configuration
200
+ with open(args.config_path, 'r') as f:
201
+ config = json.load(f)
202
+
203
+ if "num_samples" not in config:
204
+ config["num_samples"] = 4
205
+
206
+ create_grids(config)
IP_Composer/demo.py ADDED
File without changes
IP_Composer/example_config.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "input_dir_base": "<input_base_directory>",
3
+ "input_dirs_concepts": [
4
+ "<concept_1_images_directory>",
5
+ "<concept_2_images_directory>",
6
+ "<concept_3_images_directory>"
7
+ ],
8
+ "all_embeds_paths": [
9
+ "<concept_1_text_embeddings_path>",
10
+ "<concept_2_text_embeddings_path>",
11
+ "<concept_3_text_embeddings_path>"
12
+ ],
13
+ "ranks": [30, 30, 30],
14
+ "output_base_dir": "<results_output_base_directory>",
15
+ "seed": 420,
16
+ "prompt": null,
17
+ "scale": 1.0
18
+ }
IP_Composer/example_configs/age_emotions.json ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "input_dir_base": "assets/people",
3
+ "input_dirs_concepts": [
4
+ "assets/age",
5
+ "assets/emotions"
6
+ ],
7
+ "all_embeds_paths": [
8
+ "text_embeddings/age_descriptions.npy",
9
+ "text_embeddings/emotion_descriptions.npy"
10
+ ],
11
+ "ranks": [30, 30],
12
+ "output_base_dir": "assets/age_emotions_results",
13
+ "seed": 420,
14
+ "prompt": null,
15
+ "scale": 1.0
16
+ }
IP_Composer/example_configs/patterns.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "input_dir_base": "assets/objects",
3
+ "input_dirs_concepts": [
4
+ "assets/patterns"
5
+ ],
6
+ "all_embeds_paths": [
7
+ "text_embeddings/pattern_descriptions.npy"
8
+ ],
9
+ "ranks": [100],
10
+ "output_base_dir": "assets/patterns_results",
11
+ "seed": 420,
12
+ "prompt": null,
13
+ "scale": 1.0
14
+ }
IP_Composer/generate_compositions.py ADDED
@@ -0,0 +1,160 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import json
3
+ import torch
4
+ import gc
5
+ import numpy as np
6
+ from PIL import Image
7
+ from diffusers import StableDiffusionXLPipeline
8
+ import open_clip
9
+ from huggingface_hub import hf_hub_download
10
+ from IP_Adapter.ip_adapter import IPAdapterXL
11
+ from perform_swap import compute_dataset_embeds_svd, get_modified_images_embeds_composition
12
+ from create_grids import create_grids
13
+ import argparse
14
+
15
+ def save_images(output_dir, image_list):
16
+ os.makedirs(output_dir, exist_ok=True)
17
+ for i, img in enumerate(image_list):
18
+ img.save(os.path.join(output_dir, f"sample_{i + 1}.png"))
19
+
20
+ def get_image_embeds(pil_image, model, preprocess, device):
21
+ image = preprocess(pil_image)[np.newaxis, :, :, :]
22
+ with torch.no_grad():
23
+ embeds = model.encode_image(image.to(device))
24
+ return embeds.cpu().detach().numpy()
25
+
26
+ def process_combo(
27
+ image_embeds_base,
28
+ image_names_base,
29
+ concept_embeds,
30
+ concept_names,
31
+ projection_matrices,
32
+ ip_model,
33
+ output_base_dir,
34
+ num_samples=4,
35
+ seed=420,
36
+ prompt=None,
37
+ scale=1.0
38
+ ):
39
+ for base_embed, base_name in zip(image_embeds_base, image_names_base):
40
+ # Generate all combinations of concept embeddings
41
+ for combo_indices in np.ndindex(*(len(embeds) for embeds in concept_embeds)):
42
+ concept_combo_names = [concept_names[c][idx] for c, idx in enumerate(combo_indices)]
43
+ combo_dir = os.path.join(
44
+ output_base_dir,
45
+ f"{base_name}_to_" + "_".join(concept_combo_names)
46
+ )
47
+ if os.path.exists(combo_dir):
48
+ print(f"Directory {combo_dir} already exists. Skipping...")
49
+ continue
50
+
51
+ projections_data = [
52
+ {
53
+ "embed": concept_embeds[c][idx],
54
+ "projection_matrix": projection_matrices[c]
55
+ }
56
+ for c, idx in enumerate(combo_indices)
57
+ ]
58
+
59
+ modified_images = get_modified_images_embeds_composition(
60
+ base_embed, projections_data, ip_model, prompt=prompt, scale=scale, num_samples=num_samples, seed=seed
61
+ )
62
+ save_images(combo_dir, modified_images)
63
+ del modified_images
64
+ torch.cuda.empty_cache()
65
+ gc.collect()
66
+
67
+ def main(config_path, should_create_grids):
68
+ with open(config_path, 'r') as f:
69
+ config = json.load(f)
70
+
71
+ if "prompt" not in config:
72
+ config["prompt"] = None
73
+
74
+ if "scale" not in config:
75
+ config["scale"] = 1.0 if config["prompt"] is None else 0.6
76
+
77
+ if "seed" not in config:
78
+ config["seed"] = 420
79
+
80
+ if "num_samples" not in config:
81
+ config["num_samples"] = 4
82
+
83
+
84
+ base_model_path = "stabilityai/stable-diffusion-xl-base-1.0"
85
+
86
+ pipe = StableDiffusionXLPipeline.from_pretrained(
87
+ base_model_path,
88
+ torch_dtype=torch.float16,
89
+ add_watermarker=False,
90
+ )
91
+
92
+ image_encoder_repo = 'h94/IP-Adapter'
93
+ image_encoder_subfolder = 'models/image_encoder'
94
+
95
+ ip_ckpt = hf_hub_download('h94/IP-Adapter', subfolder="sdxl_models", filename='ip-adapter_sdxl_vit-h.bin')
96
+ device = "cuda"
97
+
98
+ ip_model = IPAdapterXL(pipe, image_encoder_repo, image_encoder_subfolder, ip_ckpt, device)
99
+
100
+ device = 'cuda:0'
101
+ model, _, preprocess = open_clip.create_model_and_transforms('hf-hub:laion/CLIP-ViT-H-14-laion2B-s32B-b79K')
102
+ model.to(device)
103
+
104
+ # Get base image embeddings
105
+ image_files_base = [os.path.join(config["input_dir_base"], f) for f in os.listdir(config["input_dir_base"]) if f.lower().endswith(('png', 'jpg', 'jpeg'))]
106
+ image_embeds_base = []
107
+ image_names_base = []
108
+ for path in image_files_base:
109
+ img_name = os.path.basename(path)
110
+ image_names_base.append(img_name)
111
+ image_embeds_base.append(get_image_embeds(Image.open(path).convert("RGB"), model, preprocess, device))
112
+
113
+ # Handle n concepts
114
+ concept_dirs = config["input_dirs_concepts"]
115
+ concept_embeds = []
116
+ concept_names = []
117
+ projection_matrices = []
118
+
119
+ for concept_dir, embeds_path, rank in zip(concept_dirs, config["all_embeds_paths"], config["ranks"]):
120
+ image_files = [os.path.join(concept_dir, f) for f in os.listdir(concept_dir) if f.lower().endswith(('png', 'jpg', 'jpeg'))]
121
+ embeds = []
122
+ names = []
123
+ for path in image_files:
124
+ img_name = os.path.basename(path)
125
+ names.append(img_name)
126
+ embeds.append(get_image_embeds(Image.open(path).convert("RGB"), model, preprocess, device))
127
+ concept_embeds.append(embeds)
128
+ concept_names.append(names)
129
+
130
+ with open(embeds_path, "rb") as f:
131
+ all_embeds_in = np.load(f)
132
+ projection_matrix = compute_dataset_embeds_svd(all_embeds_in, rank)
133
+ projection_matrices.append(projection_matrix)
134
+
135
+
136
+ # Process combinations
137
+ process_combo(
138
+ image_embeds_base,
139
+ image_names_base,
140
+ concept_embeds,
141
+ concept_names,
142
+ projection_matrices,
143
+ ip_model,
144
+ config["output_base_dir"],
145
+ config["num_samples"],
146
+ config["seed"],
147
+ config["prompt"],
148
+ config["scale"]
149
+ )
150
+
151
+ # generate grids
152
+ if should_create_grids:
153
+ create_grids(config)
154
+
155
+ if __name__ == "__main__":
156
+ parser = argparse.ArgumentParser(description="Process images using embeddings and configurations.")
157
+ parser.add_argument("--config", type=str, required=True, help="Path to the configuration JSON file.")
158
+ parser.add_argument("--create_grids", action="store_true", help="Enable grid creation")
159
+ args = parser.parse_args()
160
+ main(args.config, args.create_grids)
IP_Composer/generate_text_embeddings.py ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import sys
3
+ import torch
4
+ import numpy as np
5
+ import csv
6
+ import argparse
7
+ import open_clip
8
+
9
+ def load_descriptions(file_path):
10
+ """Load descriptions from a CSV file."""
11
+ descriptions = []
12
+ with open(file_path, 'r') as file:
13
+ csv_reader = csv.reader(file)
14
+ next(csv_reader) # Skip the header
15
+ for row in csv_reader:
16
+ descriptions.append(row[0])
17
+ return descriptions
18
+
19
+ def generate_embeddings(descriptions, model, tokenizer, device, batch_size):
20
+ """Generate text embeddings in batches."""
21
+ final_embeddings = []
22
+ for i in range(0, len(descriptions), batch_size):
23
+ batch_desc = descriptions[i:i + batch_size]
24
+ texts = tokenizer(batch_desc).to(device)
25
+ batch_embeddings = model.encode_text(texts)
26
+ batch_embeddings = batch_embeddings.detach().cpu().numpy()
27
+ final_embeddings.append(batch_embeddings)
28
+ del texts, batch_embeddings
29
+ torch.cuda.empty_cache()
30
+ return np.vstack(final_embeddings)
31
+
32
+ def save_embeddings(output_file, embeddings):
33
+ """Save embeddings to a .npy file."""
34
+ np.save(output_file, embeddings)
35
+
36
+ def main():
37
+ parser = argparse.ArgumentParser(description="Generate text embeddings using CLIP.")
38
+ parser.add_argument("--input_csv", type=str, required=True, help="Path to the input CSV file containing text descriptions.")
39
+ parser.add_argument("--output_file", type=str, required=True, help="Path to save the output .npy file.")
40
+ parser.add_argument("--batch_size", type=int, default=100, help="Batch size for processing embeddings.")
41
+ parser.add_argument("--device", type=str, default="cuda:0", help="Device to run the model on (e.g., 'cuda:0' or 'cpu').")
42
+
43
+ args = parser.parse_args()
44
+
45
+ # Load the CLIP model and tokenizer
46
+ model, _, _ = open_clip.create_model_and_transforms('hf-hub:laion/CLIP-ViT-H-14-laion2B-s32B-b79K')
47
+ model.to(args.device)
48
+ tokenizer = open_clip.get_tokenizer('hf-hub:laion/CLIP-ViT-H-14-laion2B-s32B-b79K')
49
+
50
+ # Load descriptions from CSV
51
+ descriptions = load_descriptions(args.input_csv)
52
+
53
+ # Generate embeddings
54
+ embeddings = generate_embeddings(descriptions, model, tokenizer, args.device, args.batch_size)
55
+
56
+ # Save embeddings to output file
57
+ save_embeddings(args.output_file, embeddings)
58
+
59
+ if __name__ == "__main__":
60
+ main()
IP_Composer/perform_swap.py ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ import numpy as np
3
+
4
+ def compute_dataset_embeds_svd(all_embeds, rank):
5
+
6
+ # Perform SVD on the combined matrix
7
+ u, s, vh = np.linalg.svd(all_embeds, full_matrices=False)
8
+
9
+ # Select the top `rank` singular vectors to construct the projection matrix
10
+ vh = vh[:rank] # Top `rank` right singular vectors
11
+ projection_matrix = vh.T @ vh # Shape: (feature_dim, feature_dim)
12
+
13
+ return projection_matrix
14
+
15
+ def get_embedding_composition(embed, projections_data):
16
+ # Initialize the combined embedding with the input embed
17
+ combined_embeds = embed.copy()
18
+
19
+ for proj_data in projections_data:
20
+
21
+ # Add the combined projection to the result
22
+ combined_embeds -= embed @ proj_data["projection_matrix"]
23
+ combined_embeds += proj_data["embed"] @ proj_data["projection_matrix"]
24
+
25
+ return combined_embeds
26
+
27
+
28
+ def get_modified_images_embeds_composition(embed, projections_data, ip_model, prompt=None, scale=1.0, num_samples=3, seed=420):
29
+
30
+ final_embeds = get_embedding_composition(embed, projections_data)
31
+ clip_embeds = torch.from_numpy(final_embeds)
32
+
33
+ images = ip_model.generate(clip_image_embeds=clip_embeds, prompt=prompt, num_samples=num_samples, num_inference_steps=50, seed=seed, guidance_scale=7.5, scale=scale)
34
+ return images
35
+
36
+
37
+
38
+
IP_Composer/text_datasets/age_descriptions.csv ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Description
2
+ A picture of a newborn
3
+ A picture of an infant
4
+ A picture of a toddler
5
+ A picture of a young child
6
+ A picture of a preschooler
7
+ A picture of a school-age child
8
+ A picture of an elementary schooler
9
+ A picture of a preteen
10
+ A picture of a middle schooler
11
+ A picture of a teenager
12
+ A picture of a high schooler
13
+ A picture of a young adult
14
+ A picture of a college student
15
+ A picture of a recent graduate
16
+ A picture of an early-career professional
17
+ A picture of a mid-20s individual
18
+ A picture of a late-20s individual
19
+ A picture of a 30-something adult
20
+ A picture of an early-30s person
21
+ A picture of a mid-30s person
22
+ A picture of a late-30s person
23
+ A picture of a 40-something adult
24
+ A picture of an early-40s individual
25
+ A picture of a mid-40s person
26
+ A picture of a late-40s individual
27
+ A picture of a 50-something adult
28
+ A picture of an early-50s person
29
+ A picture of a mid-50s individual
30
+ A picture of a late-50s person
31
+ A picture of a 60-something adult
32
+ A picture of an early-60s individual
33
+ A picture of a mid-60s person
34
+ A picture of a late-60s person
35
+ A picture of a retiree
36
+ A picture of a 70-something adult
37
+ A picture of an early-70s individual
38
+ A picture of a mid-70s person
39
+ A picture of a late-70s individual
40
+ A picture of an 80-something adult
41
+ A picture of an early-80s individual
42
+ A picture of a mid-80s person
43
+ A picture of a late-80s individual
44
+ A picture of a 90-something adult
45
+ A picture of an early-90s individual
46
+ A picture of a mid-90s person
47
+ A picture of a late-90s individual
48
+ A picture of a centenarian
49
+ A picture of a very elderly person
50
+ A picture of an old person
51
+ A picture of a baby
52
+ A picture of a kindergartener
53
+ A picture of a primary schooler
54
+ A picture of a young teenager
55
+ A picture of a high school sophomore
56
+ A picture of a high school junior
57
+ A picture of a high school senior
58
+ A picture of a college freshman
59
+ A picture of a college sophomore
60
+ A picture of a college junior
61
+ A picture of a college senior
62
+ A picture of a graduate student
63
+ A picture of a doctoral candidate
64
+ A picture of a young professional
65
+ A picture of a recent homeowner
66
+ A picture of a newlywed
67
+ A picture of a first-time parent
68
+ A picture of a person in their early 40s
69
+ A picture of a person in their late 40s
70
+ A picture of a seasoned professional
71
+ A picture of a mid-career worker
72
+ A picture of a midlife individual
73
+ A picture of a person nearing retirement
74
+ A picture of a retired individual
75
+ A picture of a grandparent
76
+ A picture of a person in their 50s
77
+ A picture of a person in their 60s
78
+ A picture of a senior citizen
79
+ A picture of a senior retiree
80
+ A picture of a person enjoying their golden years
81
+ A picture of an elderly neighbor
82
+ A picture of a great-grandparent
83
+ A picture of a person in their mid-70s
84
+ A picture of a person in their early 80s
85
+ A picture of a person in their late 80s
86
+ A picture of a nonagenarian
87
+ A picture of a lively 90-year-old
88
+ A picture of a spry centenarian
89
+ A picture of a very old individual
90
+ A picture of a youthful senior
91
+ A picture of a seasoned elder
92
+ A picture of a person in their mid-30s
93
+ A picture of a person approaching 40
94
+ A picture of a person in their late 60s
95
+ A picture of a person in their late 70s
96
+ A picture of a vibrant elder
97
+ A picture of a wise senior
98
+ A picture of a long-lived individual
99
+ A picture of a respected elder
100
+ A picture of a person well past 100
IP_Composer/text_datasets/animal_fur_descriptions.csv ADDED
@@ -0,0 +1,284 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Description
2
+ a picture of an animal with striped fur
3
+ a picture of an animal with spotted fur
4
+ a picture of an animal with solid black fur
5
+ a picture of an animal with solid white fur
6
+ a picture of an animal with brown fur with lighter patches
7
+ a picture of an animal with patchy fur with multiple colors
8
+ a picture of an animal with striped fur in contrasting colors
9
+ a picture of an animal with spotted fur with large dots
10
+ a picture of an animal with thick fur with a gray gradient
11
+ a picture of an animal with golden fur with dark spots
12
+ a picture of an animal with white fur with subtle streaks
13
+ a picture of an animal with brown fur with dark stripes
14
+ a picture of an animal with mottled fur with blended tones
15
+ a picture of an animal with shiny black fur with smooth texture
16
+ a picture of an animal with fluffy white fur with a soft appearance
17
+ a picture of an animal with short fur with a brindle pattern
18
+ a picture of an animal with long fur with a wavy texture
19
+ a picture of an animal with curly fur with tight loops
20
+ a picture of an animal with patchy fur with dark and light areas
21
+ a picture of an animal with speckled fur with small spots
22
+ a picture of an animal with golden fur with subtle gradients
23
+ a picture of an animal with thick fur with warm brown tones
24
+ a picture of an animal with black and white fur in bold patterns
25
+ a picture of an animal with gray fur with silver accents
26
+ a picture of an animal with shaggy fur with uneven patches
27
+ a picture of an animal with cream-colored fur with faint markings
28
+ a picture of an animal with dark brown fur with soft streaks
29
+ a picture of an animal with yellowish fur with muted tones
30
+ a picture of an animal with gray fur with fine speckles
31
+ a picture of an animal with dense fur with a marbled effect
32
+ a picture of an animal with soft fur with sandy hues
33
+ a picture of an animal with orange fur with white patches
34
+ a picture of an animal with fluffy fur with blended tones
35
+ a picture of an animal with smooth fur with natural highlights
36
+ a picture of an animal with tufted fur with layered textures
37
+ a picture of an animal with thick fur with subtle color variations
38
+ a picture of an animal with silky fur with a glossy finish
39
+ a picture of an animal with short fur with a salt-and-pepper look
40
+ a picture of an animal with coarse fur with distinct bands
41
+ a picture of an animal with soft fur with faint gray patterns
42
+ a picture of an animal with striped fur with alternating shades
43
+ a picture of an animal with spotted fur with intricate details
44
+ a picture of an animal with golden fur with textured layers
45
+ a picture of an animal with black fur with subtle brown undertones
46
+ a picture of an animal with brown fur with warm highlights
47
+ a picture of an animal with fluffy fur with snowy white shades
48
+ a picture of an animal with gray fur with smooth gradients
49
+ a picture of an animal with shaggy fur with rough textures
50
+ a picture of an animal with tufted fur with blended colors
51
+ a picture of an animal with spotted fur with irregular shapes
52
+ a picture of an animal with striped fur with bold contrasts
53
+ a picture of an animal with white fur with pale tones
54
+ a picture of an animal with soft gray fur with faint streaks
55
+ a picture of an animal with striped fur with organic patterns
56
+ a picture of an animal with smooth fur with earthy hues
57
+ a picture of an animal with patchy fur with soft transitions
58
+ a picture of an animal with dense fur with contrasting patches
59
+ a picture of an animal with mottled fur with natural colors
60
+ a picture of an animal with black fur with glossy highlights
61
+ a picture of an animal with short fur with blended stripes
62
+ a picture of an animal with shiny fur with reflective tones
63
+ a picture of an animal with wavy fur with soft layers
64
+ a picture of an animal with tufted fur with warm gradients
65
+ a picture of an animal with soft fur with golden accents
66
+ a picture of an animal with coarse fur with dark and light contrasts
67
+ a picture of an animal with gray fur with natural highlights
68
+ a picture of an animal with fluffy fur with a soft yellow hue
69
+ a picture of an animal with smooth fur with subtle textures
70
+ a picture of an animal with dense black fur with even tones
71
+ a picture of an animal with spotted fur with balanced patterns
72
+ a picture of an animal with striped fur with symmetrical designs
73
+ a picture of an animal with curly fur with soft spirals
74
+ a picture of an animal with shaggy brown fur with varied streaks
75
+ a picture of an animal with fluffy fur with cool silver tones
76
+ a picture of an animal with smooth fur with warm orange hues
77
+ "a picture of an animal with spotted fur with small, even dots"
78
+ a picture of an animal with striped fur with clean lines
79
+ a picture of an animal with tufted fur with balanced layers
80
+ a picture of an animal with dense gray fur with subtle patterns
81
+ a picture of an animal with shiny black fur with muted undertones
82
+ a picture of an animal with coarse fur with mixed colors
83
+ a picture of an animal with fluffy white fur with soft highlights
84
+ a picture of an animal with curly brown fur with gentle waves
85
+ a picture of an animal with silky fur with refined layers
86
+ a picture of an animal with soft fur with delicate streaks
87
+ a picture of an animal with dense fur with earthy gradients
88
+ a picture of an animal with golden fur with soft textures
89
+ a picture of an animal with shiny black fur with natural tones
90
+ a picture of an animal with tufted fur with warm shades
91
+ a picture of an animal with wavy fur with blended gradients
92
+ a picture of an animal with spotted fur with organic shapes
93
+ a picture of an animal with striped fur with varied tones
94
+ a picture of an animal with shaggy fur with rugged patterns
95
+ a picture of an animal with soft gray fur with pale highlights
96
+ a picture of an animal with fluffy fur with muted contrasts
97
+ a picture of an animal with dense fur with layered colors
98
+ a picture of an animal with patchy fur with random patterns
99
+ a picture of an animal with striped fur with subtle shading
100
+ a picture of an animal with spotted fur with varying sizes
101
+ a picture of an animal with soft fur with muted gradients
102
+ a picture of an animal with thick fur with blended tones
103
+ a picture of an animal with curly fur with natural spirals
104
+ a picture of an animal with shaggy fur with uneven textures
105
+ a picture of an animal with fluffy fur with a glossy finish
106
+ a picture of an animal with smooth fur with contrasting bands
107
+ a picture of an animal with coarse fur with earthy hues
108
+ a picture of an animal with tufted fur with soft tips
109
+ a picture of an animal with dense fur with a gradient effect
110
+ a picture of an animal with short fur with crisp patterns
111
+ a picture of an animal with wavy fur with delicate layers
112
+ a picture of an animal with mottled fur with abstract designs
113
+ a picture of an animal with soft fur with warm highlights
114
+ a picture of an animal with striped fur with organic shapes
115
+ a picture of an animal with spotted fur with irregular dots
116
+ a picture of an animal with fluffy fur with soft undertones
117
+ a picture of an animal with shiny fur with natural variations
118
+ a picture of an animal with silky fur with smooth textures
119
+ a picture of an animal with coarse fur with bold contrasts
120
+ a picture of an animal with striped fur with sharp lines
121
+ a picture of an animal with spotted fur with faded edges
122
+ a picture of an animal with dense fur with intricate details
123
+ a picture of an animal with short fur with sleek patterns
124
+ a picture of an animal with fluffy fur with faint streaks
125
+ a picture of an animal with smooth fur with vibrant tones
126
+ a picture of an animal with curly fur with subtle twists
127
+ a picture of an animal with soft fur with delicate transitions
128
+ a picture of an animal with tufted fur with rough layers
129
+ a picture of an animal with striped fur with layered tones
130
+ a picture of an animal with spotted fur with balanced contrasts
131
+ a picture of an animal with dense fur with fine textures
132
+ a picture of an animal with shiny fur with highlighted streaks
133
+ a picture of an animal with coarse fur with mixed tones
134
+ a picture of an animal with fluffy fur with soft gradients
135
+ a picture of an animal with smooth fur with pale colors
136
+ a picture of an animal with mottled fur with warm hues
137
+ a picture of an animal with spotted fur with clean shapes
138
+ a picture of an animal with dense fur with vibrant highlights
139
+ a picture of an animal with tufted fur with blended layers
140
+ a picture of an animal with shaggy fur with uneven bands
141
+ a picture of an animal with soft fur with rich textures
142
+ a picture of an animal with striped fur with flowing patterns
143
+ a picture of an animal with spotted fur with soft gradients
144
+ a picture of an animal with short fur with sleek finishes
145
+ a picture of an animal with coarse fur with detailed shading
146
+ a picture of an animal with dense fur with natural hues
147
+ a picture of an animal with shiny fur with faint glimmers
148
+ a picture of an animal with fluffy fur with even textures
149
+ a picture of an animal with smooth fur with layered gradients
150
+ a picture of an animal with curly fur with soft highlights
151
+ a picture of an animal with spotted fur with gentle contrasts
152
+ a picture of an animal with striped fur with harmonious shades
153
+ a picture of an animal with shaggy fur with bold patterns
154
+ a picture of an animal with tufted fur with subtle differences
155
+ a picture of an animal with fluffy fur with varied lengths
156
+ a picture of an animal with mottled fur with abstract colors
157
+ a picture of an animal with dense fur with light transitions
158
+ a picture of an animal with soft fur with smooth finishes
159
+ a picture of an animal with striped fur with natural flows
160
+ a picture of an animal with spotted fur with detailed edges
161
+ a picture of an animal with coarse fur with soft contrasts
162
+ a picture of an animal with fluffy fur with blended shades
163
+ a picture of an animal with smooth fur with reflective tones
164
+ a picture of an animal with curly fur with rounded shapes
165
+ a picture of an animal with striped fur with sharp contrasts
166
+ a picture of an animal with shiny fur with glowing highlights
167
+ a picture of an animal with tufted fur with rich textures
168
+ a picture of an animal with dense fur with earthy contrasts
169
+ a picture of an animal with soft fur with blended gradients
170
+ a picture of an animal with spotted fur with flowing designs
171
+ a picture of an animal with striped fur with faint streaks
172
+ a picture of an animal with fluffy fur with warm undertones
173
+ a picture of an animal with smooth fur with natural gloss
174
+ a picture of an animal with coarse fur with rough patterns
175
+ a picture of an animal with curly fur with mixed loops
176
+ a picture of an animal with striped fur with wavy designs
177
+ a picture of an animal with dense fur with intricate shading
178
+ a picture of an animal with spotted fur with tiny marks
179
+ a picture of an animal with soft fur with delicate details
180
+ a picture of an animal with shiny fur with varied tones
181
+ a picture of an animal with tufted fur with unique patterns
182
+ a picture of an animal with fluffy fur with golden hints
183
+ a picture of an animal with striped fur with subtle highlights
184
+ a picture of an animal with coarse fur with angular designs
185
+ a picture of an animal with smooth fur with gentle transitions
186
+ a picture of an animal with curly fur with unique curls
187
+ a picture of an animal with striped fur with bold strokes
188
+ a picture of an animal with spotted fur with organic edges
189
+ a picture of an animal with shaggy fur with layered hues
190
+ a picture of an animal with soft fur with radiant tones
191
+ a picture of an animal with soft fur with light streaks
192
+ a picture of an animal with striped fur with gentle curves
193
+ a picture of an animal with spotted fur with random patterns
194
+ a picture of an animal with smooth fur with layered highlights
195
+ a picture of an animal with dense fur with contrasting textures
196
+ a picture of an animal with fluffy fur with muted colors
197
+ a picture of an animal with shaggy fur with blended tones
198
+ a picture of an animal with curly fur with fine spirals
199
+ a picture of an animal with striped fur with faint gradients
200
+ a picture of an animal with coarse fur with rich details
201
+ a picture of an animal with short fur with smooth contrasts
202
+ a picture of an animal with wavy fur with flowing lines
203
+ a picture of an animal with spotted fur with blurred edges
204
+ a picture of an animal with tufted fur with soft gradients
205
+ a picture of an animal with fluffy fur with warm colors
206
+ a picture of an animal with striped fur with deep contrasts
207
+ a picture of an animal with spotted fur with tiny details
208
+ a picture of an animal with dense fur with delicate streaks
209
+ a picture of an animal with shiny fur with pale reflections
210
+ a picture of an animal with coarse fur with jagged patterns
211
+ a picture of an animal with soft fur with natural transitions
212
+ a picture of an animal with mottled fur with uneven shades
213
+ a picture of an animal with striped fur with vibrant hues
214
+ a picture of an animal with spotted fur with soft edges
215
+ a picture of an animal with curly fur with intricate shapes
216
+ a picture of an animal with dense fur with light accents
217
+ a picture of an animal with shaggy fur with bold strokes
218
+ a picture of an animal with striped fur with layered gradients
219
+ a picture of an animal with spotted fur with irregular sizes
220
+ a picture of an animal with smooth fur with crisp textures
221
+ a picture of an animal with wavy fur with balanced tones
222
+ a picture of an animal with tufted fur with faint streaks
223
+ a picture of an animal with shiny fur with glowing accents
224
+ a picture of an animal with fluffy fur with delicate shades
225
+ a picture of an animal with coarse fur with angular contrasts
226
+ a picture of an animal with dense fur with soft flows
227
+ a picture of an animal with striped fur with rhythmic designs
228
+ a picture of an animal with spotted fur with blurred transitions
229
+ a picture of an animal with soft fur with subtle textures
230
+ a picture of an animal with short fur with clean gradients
231
+ a picture of an animal with mottled fur with natural shapes
232
+ a picture of an animal with shaggy fur with vibrant highlights
233
+ a picture of an animal with curly fur with rounded spirals
234
+ a picture of an animal with dense fur with earthy shades
235
+ a picture of an animal with striped fur with soft lines
236
+ a picture of an animal with spotted fur with faded tones
237
+ a picture of an animal with fluffy fur with gentle transitions
238
+ a picture of an animal with shiny fur with smooth gradients
239
+ a picture of an animal with coarse fur with rough streaks
240
+ a picture of an animal with tufted fur with unique layers
241
+ a picture of an animal with spotted fur with intricate textures
242
+ a picture of an animal with dense fur with subtle contrasts
243
+ a picture of an animal with smooth fur with muted tones
244
+ a picture of an animal with curly fur with overlapping loops
245
+ a picture of an animal with striped fur with soft gradients
246
+ a picture of an animal with shaggy fur with warm hues
247
+ a picture of an animal with fluffy fur with rich highlights
248
+ a picture of an animal with soft fur with faint transitions
249
+ a picture of an animal with mottled fur with irregular colors
250
+ a picture of an animal with striped fur with alternating bands
251
+ a picture of an animal with spotted fur with light edges
252
+ a picture of an animal with coarse fur with bold designs
253
+ a picture of an animal with dense fur with natural tones
254
+ a picture of an animal with wavy fur with faint contrasts
255
+ a picture of an animal with short fur with glowing highlights
256
+ a picture of an animal with striped fur with unique patterns
257
+ a picture of an animal with shiny fur with smooth textures
258
+ a picture of an animal with fluffy fur with subtle hues
259
+ a picture of an animal with spotted fur with layered tones
260
+ a picture of an animal with curly fur with fine details
261
+ a picture of an animal with dense fur with blended gradients
262
+ a picture of an animal with striped fur with bold tones
263
+ a picture of an animal with soft fur with muted streaks
264
+ a picture of an animal with mottled fur with soft edges
265
+ a picture of an animal with tufted fur with natural flows
266
+ a picture of an animal with striped fur with crisp lines
267
+ a picture of an animal with spotted fur with random contrasts
268
+ a picture of an animal with shiny fur with warm highlights
269
+ a picture of an animal with wavy fur with deep gradients
270
+ a picture of an animal with fluffy fur with intricate textures
271
+ a picture of an animal with striped fur with gradual changes
272
+ a picture of an animal with curly fur with delicate spirals
273
+ a picture of an animal with dense fur with light gradients
274
+ a picture of an animal with shaggy fur with subtle tones
275
+ a picture of an animal with striped fur with flowing textures
276
+ a picture of an animal with spotted fur with organic patterns
277
+ a picture of an animal with coarse fur with jagged edges
278
+ a picture of an animal with short fur with even transitions
279
+ a picture of an animal with soft fur with radiant hues
280
+ a picture of an animal with wavy fur with smooth streaks
281
+ a picture of an animal with fluffy fur with natural shades
282
+ a picture of an animal with striped fur with earthy gradients
283
+ a picture of an animal with shiny fur with polished contrasts
284
+ a picture of an animal with spotted fur with faint tones
IP_Composer/text_datasets/dog_descriptions.csv ADDED
The diff for this file is too large to render. See raw diff
 
IP_Composer/text_datasets/emotion_descriptions.csv ADDED
@@ -0,0 +1,171 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Emotion Description
2
+ a photo of a person feeling joyful
3
+ a photo of a person feeling sorrowful
4
+ a photo of a person feeling enraged
5
+ a photo of a person feeling astonished
6
+ a photo of a person feeling disgusted
7
+ a photo of a person feeling terrified
8
+ a photo of a person feeling thrilled
9
+ a photo of a person feeling nervous
10
+ a photo of a person feeling tranquil
11
+ a photo of a person feeling perplexed
12
+ a photo of a person feeling resolute
13
+ a photo of a person feeling exasperated
14
+ a photo of a person feeling optimistic
15
+ a photo of a person feeling accomplished
16
+ a photo of a person feeling serene
17
+ a photo of a person feeling exhausted
18
+ a photo of a person feeling remorseful
19
+ a photo of a person feeling satisfied
20
+ a photo of a person feeling inquisitive
21
+ a photo of a person feeling culpable
22
+ a photo of a person feeling ecstatic
23
+ a photo of a person feeling melancholic
24
+ a photo of a person feeling irate
25
+ a photo of a person feeling awestruck
26
+ a photo of a person feeling repulsed
27
+ a photo of a person feeling apprehensive
28
+ a photo of a person feeling euphoric
29
+ a photo of a person feeling uneasy
30
+ a photo of a person feeling composed
31
+ a photo of a person feeling baffled
32
+ a photo of a person feeling driven
33
+ a photo of a person feeling vexed
34
+ a photo of a person feeling enthusiastic
35
+ a photo of a person feeling gratified
36
+ a photo of a person feeling meditative
37
+ a photo of a person feeling fatigued
38
+ a photo of a person feeling regretful
39
+ a photo of a person feeling peaceful
40
+ a photo of a person feeling intrigued
41
+ a photo of a person feeling embarrassed
42
+ a photo of a person feeling jubilant
43
+ a photo of a person feeling gloomy
44
+ a photo of a person feeling furious
45
+ a photo of a person feeling shocked
46
+ a photo of a person feeling revolted
47
+ a photo of a person feeling hesitant
48
+ a photo of a person feeling elated
49
+ a photo of a person feeling restless
50
+ a photo of a person feeling balanced
51
+ a photo of a person feeling mystified
52
+ a photo of a person feeling inspired
53
+ a photo of a person feeling irritated
54
+ a photo of a person feeling encouraged
55
+ a photo of a person feeling rewarded
56
+ a photo of a person feeling contemplative
57
+ a photo of a person feeling weary
58
+ a photo of a person feeling penitent
59
+ a photo of a person feeling content
60
+ a photo of a person feeling curious
61
+ a photo of a person feeling disheartened
62
+ a photo of a person feeling wrathful
63
+ a photo of a person feeling flabbergasted
64
+ a photo of a person feeling nauseated
65
+ a photo of a person feeling worried
66
+ a photo of a person feeling exhilarated
67
+ a photo of a person feeling tense
68
+ a photo of a person feeling poised
69
+ a photo of a person feeling bewildered
70
+ a photo of a person feeling ambitious
71
+ a photo of a person feeling perturbed
72
+ a photo of a person feeling hopeful
73
+ a photo of a person feeling thankful
74
+ a photo of a person feeling introspective
75
+ a photo of a person feeling sleepy
76
+ a photo of a person feeling repentant
77
+ a photo of a person feeling harmonious
78
+ a photo of a person feeling fascinated
79
+ a photo of a person feeling mortified
80
+ a photo of a person feeling distraught
81
+ a photo of a person feeling livid
82
+ a photo of a person feeling astounded
83
+ a photo of a person feeling appalled
84
+ a photo of a person feeling panicked
85
+ a photo of a person feeling overjoyed
86
+ a photo of a person feeling edgy
87
+ a photo of a person feeling centered
88
+ a photo of a person feeling puzzled
89
+ a photo of a person feeling resourceful
90
+ a photo of a person feeling bothered
91
+ a photo of a person feeling upbeat
92
+ a photo of a person feeling fulfilled
93
+ a photo of a person feeling thoughtful
94
+ a photo of a person feeling drained
95
+ a photo of a person feeling guilty
96
+ a photo of a person feeling mellow
97
+ a photo of a person feeling nostalgic
98
+ a photo of a person feeling reflective
99
+ a photo of a person feeling amused
100
+ a photo of a person feeling adventurous
101
+ a photo of a person feeling bashful
102
+ a photo of a person feeling blissful
103
+ a photo of a person feeling bold
104
+ a photo of a person feeling cautious
105
+ a photo of a person feeling compassionate
106
+ a photo of a person feeling conflicted
107
+ a photo of a person feeling contented
108
+ a photo of a person feeling courageous
109
+ a photo of a person feeling creative
110
+ a photo of a person feeling defeated
111
+ a photo of a person feeling delighted
112
+ a photo of a person feeling determined
113
+ a photo of a person feeling dignified
114
+ a photo of a person feeling disillusioned
115
+ a photo of a person feeling envious
116
+ a photo of a person feeling foolish
117
+ a photo of a person feeling forgiving
118
+ a photo of a person feeling free
119
+ a photo of a person feeling generous
120
+ a photo of a person feeling grateful
121
+ a photo of a person feeling humble
122
+ a photo of a person feeling imaginative
123
+ a photo of a person feeling independent
124
+ a photo of a person feeling jealous
125
+ a photo of a person feeling kindhearted
126
+ a photo of a person feeling lonely
127
+ a photo of a person feeling mischievous
128
+ a photo of a person feeling open-minded
129
+ a photo of a person feeling overwhelmed
130
+ a photo of a person feeling patient
131
+ a photo of a person feeling perceptive
132
+ a photo of a person feeling secure
133
+ a photo of a person feeling self-assured
134
+ a photo of a person feeling sentimental
135
+ a photo of a person feeling sensitive
136
+ a photo of a person feeling skeptical
137
+ a photo of a person feeling stubborn
138
+ a photo of a person feeling supportive
139
+ a photo of a person feeling triumphant
140
+ a photo of a person feeling alienated
141
+ a photo of a person feeling apologetic
142
+ a photo of a person feeling appreciative
143
+ a photo of a person feeling assertive
144
+ a photo of a person feeling bereft
145
+ a photo of a person feeling brave
146
+ a photo of a person feeling charmed
147
+ a photo of a person feeling cheerful
148
+ a photo of a person feeling cooperative
149
+ a photo of a person feeling crushed
150
+ a photo of a person feeling decisive
151
+ a photo of a person feeling disoriented
152
+ a photo of a person feeling distressed
153
+ a photo of a person feeling doubtful
154
+ a photo of a person feeling empathetic
155
+ a photo of a person feeling empowered
156
+ a photo of a person feeling enlightened
157
+ a photo of a person feeling exuberant
158
+ a photo of a person feeling gentle
159
+ a photo of a person feeling giddy
160
+ a photo of a person feeling humbled
161
+ a photo of a person feeling hurt
162
+ a photo of a person feeling invigorated
163
+ a photo of a person feeling liberated
164
+ a photo of a person feeling loyal
165
+ a photo of a person feeling misunderstood
166
+ a photo of a person feeling pleased
167
+ a photo of a person feeling radiant
168
+ a photo of a person feeling relieved
169
+ a photo of a person feeling self-conscious
170
+ a photo of a person feeling tender
171
+ a photo of a person feeling validated
IP_Composer/text_datasets/floor_descriptions.csv ADDED
@@ -0,0 +1,197 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Description
2
+ a photo with wooden flooring
3
+ a photo with marble flooring
4
+ a photo with tile flooring
5
+ a photo with laminate flooring
6
+ a photo with vinyl flooring
7
+ a photo with concrete flooring
8
+ a photo with granite flooring
9
+ a photo with parquet flooring
10
+ a photo with carpeted flooring
11
+ a photo with bamboo flooring
12
+ a photo with terrazzo flooring
13
+ a photo with stone flooring
14
+ a photo with slate flooring
15
+ a photo with hardwood flooring
16
+ a photo with engineered wood flooring
17
+ a photo with luxury vinyl plank flooring
18
+ a photo with cork flooring
19
+ a photo with epoxy flooring
20
+ a photo with ceramic tile flooring
21
+ a photo with porcelain tile flooring
22
+ a photo with quartz flooring
23
+ a photo with linoleum flooring
24
+ a photo with rubber flooring
25
+ a photo with stained concrete flooring
26
+ a photo with polished concrete flooring
27
+ a photo with herringbone wood flooring
28
+ a photo with chevron wood flooring
29
+ a photo with flagstone flooring
30
+ a photo with travertine flooring
31
+ a photo with pebble flooring
32
+ a photo with mosaic tile flooring
33
+ a photo with hand-scraped wood flooring
34
+ a photo with distressed wood flooring
35
+ a photo with reclaimed wood flooring
36
+ a photo with saltillo tile flooring
37
+ a photo with granite tile flooring
38
+ a photo with natural stone flooring
39
+ a photo with rough concrete flooring
40
+ a photo with sealed concrete flooring
41
+ a photo with patterned tile flooring
42
+ a photo with checkerboard tile flooring
43
+ a photo with hexagonal tile flooring
44
+ a photo with penny tile flooring
45
+ a photo with decorative vinyl flooring
46
+ a photo with woven vinyl flooring
47
+ a photo with matte finish wood flooring
48
+ a photo with high-gloss wood flooring
49
+ a photo with scored concrete flooring
50
+ a photo with textured stone flooring
51
+ a photo with flagstone pavers flooring
52
+ a photo with antique wood flooring
53
+ a photo with dark stained wood flooring
54
+ a photo with light stained wood flooring
55
+ a photo with weathered wood flooring
56
+ a photo with brick flooring
57
+ a photo with sandstone flooring
58
+ a photo with slab concrete flooring
59
+ a photo with terra cotta tile flooring
60
+ a photo with marble mosaic flooring
61
+ a photo with onyx tile flooring
62
+ a photo with grouted tile flooring
63
+ a photo with seamless epoxy flooring
64
+ a photo with faux wood tile flooring
65
+ a photo with natural pebble flooring
66
+ a photo with river rock flooring
67
+ a photo with decorative carpet flooring
68
+ a photo with patterned laminate flooring
69
+ a photo with smooth laminate flooring
70
+ a photo with hand-painted tile flooring
71
+ a photo with antique brick flooring
72
+ a photo with whitewashed wood flooring
73
+ a photo with black marble flooring
74
+ a photo with gray slate flooring
75
+ a photo with textured laminate flooring
76
+ a photo with woven bamboo flooring
77
+ a photo with chevron tile flooring
78
+ a photo with vintage hardwood flooring
79
+ a photo with weathered plank flooring
80
+ a photo with etched concrete flooring
81
+ a photo with geometric tile flooring
82
+ a photo with gradient epoxy flooring
83
+ a photo with custom mosaic flooring
84
+ a photo with recycled glass tile flooring
85
+ a photo with micro-topped concrete flooring
86
+ a photo with sealed sandstone flooring
87
+ a photo with rustic plank flooring
88
+ a photo with industrial concrete flooring
89
+ a photo with stenciled wood flooring
90
+ a photo with bleached wood flooring
91
+ a photo with poured epoxy flooring
92
+ a photo with multi-colored tile flooring
93
+ a photo with floral patterned tile flooring
94
+ a photo with textured carpet flooring
95
+ a photo with luxury vinyl sheet flooring
96
+ a photo with antique mosaic tile flooring
97
+ a photo with textured bamboo flooring
98
+ a photo with custom patterned flooring
99
+ a photo with light gray laminate flooring
100
+ a photo with handcrafted wood flooring
101
+ a photo with mixed material flooring
102
+ a photo with polished stone flooring
103
+ a photo with textured wood flooring
104
+ a photo with distressed bamboo flooring
105
+ a photo with etched marble flooring
106
+ a photo with handcrafted stone flooring
107
+ a photo with pebble mosaic flooring
108
+ a photo with luxury tile flooring
109
+ a photo with hand-painted wood flooring
110
+ a photo with decorative stone flooring
111
+ a photo with custom concrete flooring
112
+ a photo with patterned epoxy flooring
113
+ a photo with layered laminate flooring
114
+ a photo with smooth vinyl flooring
115
+ a photo with antique wooden plank flooring
116
+ a photo with chevron patterned tile flooring
117
+ a photo with reclaimed tile flooring
118
+ a photo with natural slate flooring
119
+ a photo with high-gloss laminate flooring
120
+ a photo with rustic concrete flooring
121
+ a photo with herringbone tile flooring
122
+ a photo with marble inlay flooring
123
+ a photo with vintage parquet flooring
124
+ a photo with hand-scraped hardwood flooring
125
+ a photo with stamped concrete flooring
126
+ a photo with gradient vinyl flooring
127
+ a photo with colored pebble flooring
128
+ a photo with textured quartz flooring
129
+ a photo with decorative terrazzo flooring
130
+ a photo with custom wooden flooring
131
+ a photo with carved stone flooring
132
+ a photo with etched tile flooring
133
+ a photo with layered bamboo flooring
134
+ a photo with vintage vinyl flooring
135
+ a photo with matte finish concrete flooring
136
+ a photo with patterned carpet flooring
137
+ a photo with luxury porcelain flooring
138
+ a photo with printed vinyl flooring
139
+ a photo with woven carpet flooring
140
+ a photo with engineered laminate flooring
141
+ a photo with geometric parquet flooring
142
+ a photo with stenciled concrete flooring
143
+ a photo with antique marble flooring
144
+ a photo with decorative ceramic flooring
145
+ a photo with frosted glass tile flooring
146
+ a photo with herringbone bamboo flooring
147
+ a photo with antique slate flooring
148
+ a photo with high-contrast tile flooring
149
+ a photo with vintage mosaic flooring
150
+ a photo with patterned marble flooring
151
+ a photo with reclaimed hardwood flooring
152
+ a photo with smooth cork flooring
153
+ a photo with distressed cork flooring
154
+ a photo with faux stone laminate flooring
155
+ a photo with printed bamboo flooring
156
+ a photo with colorful tile flooring
157
+ a photo with luxury stone flooring
158
+ a photo with custom laminate flooring
159
+ a photo with marbled vinyl flooring
160
+ a photo with natural sandstone flooring
161
+ a photo with handcrafted terrazzo flooring
162
+ a photo with etched glass tile flooring
163
+ a photo with pale wood flooring
164
+ a photo with deep stained wood flooring
165
+ a photo with sculpted stone flooring
166
+ a photo with neutral tile flooring
167
+ a photo with high-shine tile flooring
168
+ a photo with checkerboard wood flooring
169
+ a photo with luxury chevron flooring
170
+ a photo with patterned porcelain flooring
171
+ a photo with speckled terrazzo flooring
172
+ a photo with rustic stone flooring
173
+ a photo with multi-toned vinyl flooring
174
+ a photo with reclaimed plank flooring
175
+ a photo with high-shine concrete flooring
176
+ a photo with decorative herringbone flooring
177
+ a photo with matte laminate flooring
178
+ a photo with vintage stone flooring
179
+ a photo with modern tile flooring
180
+ a photo with polished pebble flooring
181
+ a photo with decorative mosaic flooring
182
+ a photo with luxury cork flooring
183
+ a photo with engraved tile flooring
184
+ a photo with etched plank flooring
185
+ a photo with gradient stone flooring
186
+ a photo with industrial stone flooring
187
+ a photo with patterned terrazzo flooring
188
+ a photo with printed carpet flooring
189
+ a photo with worn wood flooring
190
+ a photo with custom bamboo flooring
191
+ a photo with light oak flooring
192
+ a photo with gray concrete flooring
193
+ a photo with warm toned wood flooring
194
+ a photo with high-shine vinyl flooring
195
+ a photo with layered wood flooring
196
+ a photo with carved marble flooring
197
+ a photo with intricate tile flooring
IP_Composer/text_datasets/flower_descriptions.csv ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Description
2
+ A picture with a rose
3
+ A picture with a tulip
4
+ A picture with a daffodil
5
+ A picture with a sunflower
6
+ A picture with a daisy
7
+ A picture with a lily
8
+ A picture with a marigold
9
+ A picture with a peony
10
+ A picture with a chrysanthemum
11
+ A picture with a carnation
12
+ A picture with a lavender
13
+ A picture with a hydrangea
14
+ A picture with an iris
15
+ A picture with a jasmine flower
16
+ A picture with a poppy
17
+ A picture with a hibiscus
18
+ A picture with a geranium
19
+ A picture with a petunia
20
+ A picture with a pansy
21
+ A picture with a zinnia
22
+ A picture with a camellia
23
+ A picture with a magnolia
24
+ A picture with a snapdragon
25
+ A picture with a begonia
26
+ A picture with a morning glory
27
+ A picture with a wisteria
28
+ A picture with a bougainvillea
29
+ A picture with a anemone
30
+ A picture with a gladiolus
31
+ A picture with a calla lily
32
+ A picture with a gardenia
33
+ A picture with a azalea
34
+ A picture with a foxglove
35
+ A picture with a primrose
36
+ A picture with a cyclamen
37
+ A picture with a alyssum
38
+ A picture with a bluebell
39
+ A picture with a buttercup
40
+ A picture with a clover flower
41
+ A picture with a cosmos flower
42
+ A picture with a dahlia
43
+ A picture with a delphinium
44
+ A picture with a forget-me-not
45
+ A picture with a freesia
46
+ A picture with a goldenrod
47
+ A picture with a hollyhock
48
+ A picture with a honeysuckle flower
49
+ A picture with a lantana
50
+ A picture with a larkspur
51
+ A picture with a lobelia
52
+ A picture with a nasturtium
53
+ A picture with an orchid
54
+ A picture with a petal of phlox
55
+ A picture with a plumeria flower
56
+ A picture with a salvia
57
+ A picture with a scabiosa
58
+ A picture with a sedum
59
+ A picture with a statice flower
60
+ A picture with a sweet pea
61
+ A picture with a trillium flower
62
+ A picture with a verbena
63
+ A picture with a viburnum flower
64
+ A picture with a vinca flower
65
+ A picture with a yarrow
66
+ A picture with a yucca flower
67
+ A picture with a amaryllis
68
+ A picture with a arum lily
69
+ A picture with a bird of paradise
70
+ A picture with a bleeding heart flower
71
+ A picture with a blue lotus
72
+ A picture with a bottlebrush
73
+ A picture with a bridal wreath
74
+ A picture with a cockscomb
75
+ A picture with a crocus
76
+ A picture with a cypress vine flower
77
+ A picture with a echinacea
78
+ A picture with a fuchsia
79
+ A picture with a gentian
80
+ A picture with a globe amaranth
81
+ A picture with a heather flower
82
+ A picture with a hosta
83
+ A picture with a hyacinth
84
+ A picture with a ixora
85
+ A picture with a jacaranda flower
86
+ A picture with a kalanchoe
87
+ A picture with a lisianthus
88
+ A picture with a monkshood
89
+ A picture with a nightshade flower
90
+ A picture with a oleander
91
+ A picture with a passionflower
92
+ A picture with a quaking grass flower
93
+ A picture with a rudbeckia
94
+ A picture with a saffron crocus
95
+ A picture with a scarlet pimpernel
96
+ A picture with a scilla
97
+ A picture with a sea holly
98
+ A picture with a spider flower
99
+ A picture with a stargazer lily
100
+ A picture with a stock flower
101
+ A picture with a tansy
102
+ A picture with a wallflower
IP_Composer/text_datasets/fruit_vegetable_descriptions.csv ADDED
@@ -0,0 +1,142 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Description
2
+ A photo of a apple
3
+ A photo of a banana
4
+ A photo of a cherry
5
+ A photo of a grape
6
+ A photo of a orange
7
+ A photo of a peach
8
+ A photo of a pear
9
+ A photo of a plum
10
+ A photo of a strawberry
11
+ A photo of a watermelon
12
+ A photo of a blueberry
13
+ A photo of a kiwi
14
+ A photo of a mango
15
+ A photo of a pineapple
16
+ A photo of a raspberry
17
+ A photo of a blackberry
18
+ A photo of a fig
19
+ A photo of a pomegranate
20
+ A photo of a papaya
21
+ A photo of a coconut
22
+ A photo of a carrot
23
+ A photo of a broccoli
24
+ A photo of a cucumber
25
+ A photo of a tomato
26
+ A photo of a potato
27
+ A photo of a onion
28
+ A photo of a pepper
29
+ A photo of a spinach
30
+ A photo of a lettuce
31
+ A photo of a celery
32
+ A photo of a corn
33
+ A photo of a pea
34
+ A photo of a bean
35
+ A photo of a zucchini
36
+ A photo of a eggplant
37
+ A photo of a pumpkin
38
+ A photo of a garlic
39
+ A photo of a ginger
40
+ A photo of a radish
41
+ A photo of a turnip
42
+ A photo of a cauliflower
43
+ A photo of a kale
44
+ A photo of a cabbage
45
+ A photo of a artichoke
46
+ A photo of a asparagus
47
+ A photo of a beet
48
+ A photo of a brussels sprout
49
+ A photo of a leek
50
+ A photo of a mushroom
51
+ A photo of a parsnip
52
+ A photo of a squash
53
+ A photo of a sweet potato
54
+ A photo of a yam
55
+ A photo of a chard
56
+ A photo of a okra
57
+ A photo of a avocado
58
+ A photo of a starfruit
59
+ A photo of a guava
60
+ A photo of a lychee
61
+ A photo of a durian
62
+ A photo of a dragon fruit
63
+ A photo of a passion fruit
64
+ A photo of a tamarind
65
+ A photo of a jackfruit
66
+ A photo of a persimmon
67
+ A photo of a cranberry
68
+ A photo of a gooseberry
69
+ A photo of a mulberry
70
+ A photo of a rhubarb
71
+ A photo of a melon
72
+ A photo of a grapefruit
73
+ A photo of a lime
74
+ A photo of a lemon
75
+ A photo of a nectarine
76
+ A photo of a apricot
77
+ A photo of a olive
78
+ A photo of a date
79
+ A photo of a pluot
80
+ A photo of a cantaloupe
81
+ A photo of a honeydew
82
+ A photo of a chili pepper
83
+ A photo of a bell pepper
84
+ A photo of a jalapeno
85
+ A photo of a habanero
86
+ A photo of a scallion
87
+ A photo of a shallot
88
+ A photo of a watercress
89
+ A photo of a bok choy
90
+ A photo of a endive
91
+ A photo of a radicchio
92
+ A photo of a boysenberry
93
+ A photo of a huckleberry
94
+ A photo of a cactus pear
95
+ A photo of a currant
96
+ A photo of a elderberry
97
+ A photo of a marionberry
98
+ A photo of a persian lime
99
+ A photo of a blood orange
100
+ A photo of a mandarin orange
101
+ A photo of a tangelo
102
+ A photo of a ugli fruit
103
+ A photo of a cherimoya
104
+ A photo of a soursop
105
+ A photo of a sapodilla
106
+ A photo of a longan
107
+ A photo of a rambutan
108
+ A photo of a quince
109
+ A photo of a medlar
110
+ A photo of a feijoa
111
+ A photo of a jabuticaba
112
+ A photo of a malanga
113
+ A photo of a taro
114
+ A photo of a yuca
115
+ A photo of a jicama
116
+ A photo of a fennel
117
+ A photo of a horseradish
118
+ A photo of a water chestnut
119
+ A photo of a bamboo shoot
120
+ A photo of a lotus root
121
+ A photo of a chicory
122
+ A photo of a kohlrabi
123
+ A photo of a mustard greens
124
+ A photo of a dandelion greens
125
+ A photo of a collard greens
126
+ A photo of a turnip greens
127
+ A photo of a purslane
128
+ A photo of a salsify
129
+ A photo of a seaweed
130
+ A photo of a wakame
131
+ A photo of a nori
132
+ A photo of a chayote
133
+ A photo of a amaranth
134
+ A photo of a breadfruit
135
+ A photo of a ackee
136
+ A photo of a sapote
137
+ A photo of a mamey
138
+ A photo of a cupuacu
139
+ A photo of a acai berry
140
+ A photo of a miracle fruit
141
+ A photo of a tamarillo
142
+ A photo of a rose apple
IP_Composer/text_datasets/fur_descriptions.csv ADDED
@@ -0,0 +1,284 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Description
2
+ a picture of striped fur
3
+ a picture of spotted fur
4
+ a picture of solid black fur
5
+ a picture of solid white fur
6
+ a picture of brown fur with lighter patches
7
+ a picture of patchy fur with multiple colors
8
+ a picture of striped fur in contrasting colors
9
+ a picture of spotted fur with large dots
10
+ a picture of thick fur with a gray gradient
11
+ a picture of golden fur with dark spots
12
+ a picture of white fur with subtle streaks
13
+ a picture of brown fur with dark stripes
14
+ a picture of mottled fur with blended tones
15
+ a picture of shiny black fur with smooth texture
16
+ a picture of fluffy white fur with a soft appearance
17
+ a picture of short fur with a brindle pattern
18
+ a picture of long fur with a wavy texture
19
+ a picture of curly fur with tight loops
20
+ a picture of patchy fur with dark and light areas
21
+ a picture of speckled fur with small spots
22
+ a picture of golden fur with subtle gradients
23
+ a picture of thick fur with warm brown tones
24
+ a picture of black and white fur in bold patterns
25
+ a picture of gray fur with silver accents
26
+ a picture of shaggy fur with uneven patches
27
+ a picture of cream-colored fur with faint markings
28
+ a picture of dark brown fur with soft streaks
29
+ a picture of yellowish fur with muted tones
30
+ a picture of gray fur with fine speckles
31
+ a picture of dense fur with a marbled effect
32
+ a picture of soft fur with sandy hues
33
+ a picture of orange fur with white patches
34
+ a picture of fluffy fur with blended tones
35
+ a picture of smooth fur with natural highlights
36
+ a picture of tufted fur with layered textures
37
+ a picture of thick fur with subtle color variations
38
+ a picture of silky fur with a glossy finish
39
+ a picture of short fur with a salt-and-pepper look
40
+ a picture of coarse fur with distinct bands
41
+ a picture of soft fur with faint gray patterns
42
+ a picture of striped fur with alternating shades
43
+ a picture of spotted fur with intricate details
44
+ a picture of golden fur with textured layers
45
+ a picture of black fur with subtle brown undertones
46
+ a picture of brown fur with warm highlights
47
+ a picture of fluffy fur with snowy white shades
48
+ a picture of gray fur with smooth gradients
49
+ a picture of shaggy fur with rough textures
50
+ a picture of tufted fur with blended colors
51
+ a picture of spotted fur with irregular shapes
52
+ a picture of striped fur with bold contrasts
53
+ a picture of white fur with pale tones
54
+ a picture of soft gray fur with faint streaks
55
+ a picture of striped fur with organic patterns
56
+ a picture of smooth fur with earthy hues
57
+ a picture of patchy fur with soft transitions
58
+ a picture of dense fur with contrasting patches
59
+ a picture of mottled fur with natural colors
60
+ a picture of black fur with glossy highlights
61
+ a picture of short fur with blended stripes
62
+ a picture of shiny fur with reflective tones
63
+ a picture of wavy fur with soft layers
64
+ a picture of tufted fur with warm gradients
65
+ a picture of soft fur with golden accents
66
+ a picture of coarse fur with dark and light contrasts
67
+ a picture of gray fur with natural highlights
68
+ a picture of fluffy fur with a soft yellow hue
69
+ a picture of smooth fur with subtle textures
70
+ a picture of dense black fur with even tones
71
+ a picture of spotted fur with balanced patterns
72
+ a picture of striped fur with symmetrical designs
73
+ a picture of curly fur with soft spirals
74
+ a picture of shaggy brown fur with varied streaks
75
+ a picture of fluffy fur with cool silver tones
76
+ a picture of smooth fur with warm orange hues
77
+ "a picture of spotted fur with small, even dots"
78
+ a picture of striped fur with clean lines
79
+ a picture of tufted fur with balanced layers
80
+ a picture of dense gray fur with subtle patterns
81
+ a picture of shiny black fur with muted undertones
82
+ a picture of coarse fur with mixed colors
83
+ a picture of fluffy white fur with soft highlights
84
+ a picture of curly brown fur with gentle waves
85
+ a picture of silky fur with refined layers
86
+ a picture of soft fur with delicate streaks
87
+ a picture of dense fur with earthy gradients
88
+ a picture of golden fur with soft textures
89
+ a picture of shiny black fur with natural tones
90
+ a picture of tufted fur with warm shades
91
+ a picture of wavy fur with blended gradients
92
+ a picture of spotted fur with organic shapes
93
+ a picture of striped fur with varied tones
94
+ a picture of shaggy fur with rugged patterns
95
+ a picture of soft gray fur with pale highlights
96
+ a picture of fluffy fur with muted contrasts
97
+ a picture of dense fur with layered colors
98
+ a picture of patchy fur with random patterns
99
+ a picture of striped fur with subtle shading
100
+ a picture of spotted fur with varying sizes
101
+ a picture of soft fur with muted gradients
102
+ a picture of thick fur with blended tones
103
+ a picture of curly fur with natural spirals
104
+ a picture of shaggy fur with uneven textures
105
+ a picture of fluffy fur with a glossy finish
106
+ a picture of smooth fur with contrasting bands
107
+ a picture of coarse fur with earthy hues
108
+ a picture of tufted fur with soft tips
109
+ a picture of dense fur with a gradient effect
110
+ a picture of short fur with crisp patterns
111
+ a picture of wavy fur with delicate layers
112
+ a picture of mottled fur with abstract designs
113
+ a picture of soft fur with warm highlights
114
+ a picture of striped fur with organic shapes
115
+ a picture of spotted fur with irregular dots
116
+ a picture of fluffy fur with soft undertones
117
+ a picture of shiny fur with natural variations
118
+ a picture of silky fur with smooth textures
119
+ a picture of coarse fur with bold contrasts
120
+ a picture of striped fur with sharp lines
121
+ a picture of spotted fur with faded edges
122
+ a picture of dense fur with intricate details
123
+ a picture of short fur with sleek patterns
124
+ a picture of fluffy fur with faint streaks
125
+ a picture of smooth fur with vibrant tones
126
+ a picture of curly fur with subtle twists
127
+ a picture of soft fur with delicate transitions
128
+ a picture of tufted fur with rough layers
129
+ a picture of striped fur with layered tones
130
+ a picture of spotted fur with balanced contrasts
131
+ a picture of dense fur with fine textures
132
+ a picture of shiny fur with highlighted streaks
133
+ a picture of coarse fur with mixed tones
134
+ a picture of fluffy fur with soft gradients
135
+ a picture of smooth fur with pale colors
136
+ a picture of mottled fur with warm hues
137
+ a picture of spotted fur with clean shapes
138
+ a picture of dense fur with vibrant highlights
139
+ a picture of tufted fur with blended layers
140
+ a picture of shaggy fur with uneven bands
141
+ a picture of soft fur with rich textures
142
+ a picture of striped fur with flowing patterns
143
+ a picture of spotted fur with soft gradients
144
+ a picture of short fur with sleek finishes
145
+ a picture of coarse fur with detailed shading
146
+ a picture of dense fur with natural hues
147
+ a picture of shiny fur with faint glimmers
148
+ a picture of fluffy fur with even textures
149
+ a picture of smooth fur with layered gradients
150
+ a picture of curly fur with soft highlights
151
+ a picture of spotted fur with gentle contrasts
152
+ a picture of striped fur with harmonious shades
153
+ a picture of shaggy fur with bold patterns
154
+ a picture of tufted fur with subtle differences
155
+ a picture of fluffy fur with varied lengths
156
+ a picture of mottled fur with abstract colors
157
+ a picture of dense fur with light transitions
158
+ a picture of soft fur with smooth finishes
159
+ a picture of striped fur with natural flows
160
+ a picture of spotted fur with detailed edges
161
+ a picture of coarse fur with soft contrasts
162
+ a picture of fluffy fur with blended shades
163
+ a picture of smooth fur with reflective tones
164
+ a picture of curly fur with rounded shapes
165
+ a picture of striped fur with sharp contrasts
166
+ a picture of shiny fur with glowing highlights
167
+ a picture of tufted fur with rich textures
168
+ a picture of dense fur with earthy contrasts
169
+ a picture of soft fur with blended gradients
170
+ a picture of spotted fur with flowing designs
171
+ a picture of striped fur with faint streaks
172
+ a picture of fluffy fur with warm undertones
173
+ a picture of smooth fur with natural gloss
174
+ a picture of coarse fur with rough patterns
175
+ a picture of curly fur with mixed loops
176
+ a picture of striped fur with wavy designs
177
+ a picture of dense fur with intricate shading
178
+ a picture of spotted fur with tiny marks
179
+ a picture of soft fur with delicate details
180
+ a picture of shiny fur with varied tones
181
+ a picture of tufted fur with unique patterns
182
+ a picture of fluffy fur with golden hints
183
+ a picture of striped fur with subtle highlights
184
+ a picture of coarse fur with angular designs
185
+ a picture of smooth fur with gentle transitions
186
+ a picture of curly fur with unique curls
187
+ a picture of striped fur with bold strokes
188
+ a picture of spotted fur with organic edges
189
+ a picture of shaggy fur with layered hues
190
+ a picture of soft fur with radiant tones
191
+ a picture of soft fur with light streaks
192
+ a picture of striped fur with gentle curves
193
+ a picture of spotted fur with random patterns
194
+ a picture of smooth fur with layered highlights
195
+ a picture of dense fur with contrasting textures
196
+ a picture of fluffy fur with muted colors
197
+ a picture of shaggy fur with blended tones
198
+ a picture of curly fur with fine spirals
199
+ a picture of striped fur with faint gradients
200
+ a picture of coarse fur with rich details
201
+ a picture of short fur with smooth contrasts
202
+ a picture of wavy fur with flowing lines
203
+ a picture of spotted fur with blurred edges
204
+ a picture of tufted fur with soft gradients
205
+ a picture of fluffy fur with warm colors
206
+ a picture of striped fur with deep contrasts
207
+ a picture of spotted fur with tiny details
208
+ a picture of dense fur with delicate streaks
209
+ a picture of shiny fur with pale reflections
210
+ a picture of coarse fur with jagged patterns
211
+ a picture of soft fur with natural transitions
212
+ a picture of mottled fur with uneven shades
213
+ a picture of striped fur with vibrant hues
214
+ a picture of spotted fur with soft edges
215
+ a picture of curly fur with intricate shapes
216
+ a picture of dense fur with light accents
217
+ a picture of shaggy fur with bold strokes
218
+ a picture of striped fur with layered gradients
219
+ a picture of spotted fur with irregular sizes
220
+ a picture of smooth fur with crisp textures
221
+ a picture of wavy fur with balanced tones
222
+ a picture of tufted fur with faint streaks
223
+ a picture of shiny fur with glowing accents
224
+ a picture of fluffy fur with delicate shades
225
+ a picture of coarse fur with angular contrasts
226
+ a picture of dense fur with soft flows
227
+ a picture of striped fur with rhythmic designs
228
+ a picture of spotted fur with blurred transitions
229
+ a picture of soft fur with subtle textures
230
+ a picture of short fur with clean gradients
231
+ a picture of mottled fur with natural shapes
232
+ a picture of shaggy fur with vibrant highlights
233
+ a picture of curly fur with rounded spirals
234
+ a picture of dense fur with earthy shades
235
+ a picture of striped fur with soft lines
236
+ a picture of spotted fur with faded tones
237
+ a picture of fluffy fur with gentle transitions
238
+ a picture of shiny fur with smooth gradients
239
+ a picture of coarse fur with rough streaks
240
+ a picture of tufted fur with unique layers
241
+ a picture of spotted fur with intricate textures
242
+ a picture of dense fur with subtle contrasts
243
+ a picture of smooth fur with muted tones
244
+ a picture of curly fur with overlapping loops
245
+ a picture of striped fur with soft gradients
246
+ a picture of shaggy fur with warm hues
247
+ a picture of fluffy fur with rich highlights
248
+ a picture of soft fur with faint transitions
249
+ a picture of mottled fur with irregular colors
250
+ a picture of striped fur with alternating bands
251
+ a picture of spotted fur with light edges
252
+ a picture of coarse fur with bold designs
253
+ a picture of dense fur with natural tones
254
+ a picture of wavy fur with faint contrasts
255
+ a picture of short fur with glowing highlights
256
+ a picture of striped fur with unique patterns
257
+ a picture of shiny fur with smooth textures
258
+ a picture of fluffy fur with subtle hues
259
+ a picture of spotted fur with layered tones
260
+ a picture of curly fur with fine details
261
+ a picture of dense fur with blended gradients
262
+ a picture of striped fur with bold tones
263
+ a picture of soft fur with muted streaks
264
+ a picture of mottled fur with soft edges
265
+ a picture of tufted fur with natural flows
266
+ a picture of striped fur with crisp lines
267
+ a picture of spotted fur with random contrasts
268
+ a picture of shiny fur with warm highlights
269
+ a picture of wavy fur with deep gradients
270
+ a picture of fluffy fur with intricate textures
271
+ a picture of striped fur with gradual changes
272
+ a picture of curly fur with delicate spirals
273
+ a picture of dense fur with light gradients
274
+ a picture of shaggy fur with subtle tones
275
+ a picture of striped fur with flowing textures
276
+ a picture of spotted fur with organic patterns
277
+ a picture of coarse fur with jagged edges
278
+ a picture of short fur with even transitions
279
+ a picture of soft fur with radiant hues
280
+ a picture of wavy fur with smooth streaks
281
+ a picture of fluffy fur with natural shades
282
+ a picture of striped fur with earthy gradients
283
+ a picture of shiny fur with polished contrasts
284
+ a picture of spotted fur with faint tones
IP_Composer/text_datasets/furniture_descriptions.csv ADDED
@@ -0,0 +1,318 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Description
2
+ a photo with a wooden table
3
+ a photo with a sofa
4
+ a photo with a armchair
5
+ a photo with a coffee table
6
+ a photo with a bookshelf
7
+ a photo with a bed frame
8
+ a photo with a rocking chair
9
+ a photo with a TV stand
10
+ a photo with a dressing table
11
+ a photo with a bench
12
+ a photo with a office chair
13
+ a photo with a sectional sofa
14
+ a photo with a bar stool
15
+ a photo with a dining table
16
+ a photo with a writing desk
17
+ a photo with a recliner chair
18
+ a photo with a patio chair
19
+ a photo with a camping chair
20
+ a photo with a bunk bed
21
+ a photo with a console table
22
+ a photo with a kitchen cabinet
23
+ a photo with a ottoman
24
+ a photo with a egg chair
25
+ a photo with a display cabinet
26
+ a photo with a lounge chair
27
+ a photo with a chaise lounge
28
+ a photo with a nightstand
29
+ a photo with a bean bag
30
+ a photo with a modern coffee table
31
+ a photo with a wooden rocking chair
32
+ a photo with a corner sofa
33
+ a photo with a shelf
34
+ a photo with a TV unit
35
+ a photo with a farmhouse table
36
+ a photo with a upholstered bed
37
+ a photo with a bookcase
38
+ a photo with a storage bench
39
+ a photo with a swivel stool
40
+ a photo with a swing chair
41
+ a photo with a study desk
42
+ a photo with a wardrobe
43
+ a photo with a sofa bed
44
+ a photo with a side table
45
+ a photo with a desk chair
46
+ a photo with a dining set
47
+ a photo with a shoe rack
48
+ a photo with a TV cabinet
49
+ a photo with a laptop table
50
+ a photo with a bar table
51
+ a photo with a kitchen island
52
+ a photo with a corner unit
53
+ a photo with a recliner sofa
54
+ a photo with a lamp with shelves
55
+ a photo with a dining chair
56
+ a photo with a loft bed
57
+ a photo with a vanity table
58
+ a photo with a chest of drawers
59
+ a photo with a desk with drawers
60
+ a photo with a swing bench
61
+ a photo with a TV wall unit
62
+ a photo with a gaming chair
63
+ a photo with a dining bench
64
+ a photo with a executive chair
65
+ a photo with a glass bar cart
66
+ a photo with a futon with storage
67
+ a photo with a picnic table
68
+ a photo with a leather sofa
69
+ a photo with a wall shelf
70
+ a photo with a patio set
71
+ a photo with a hammock chair
72
+ a photo with a wooden bed frame
73
+ a photo with a coat rack
74
+ a photo with a chest
75
+ a photo with a sideboard
76
+ a photo with a end table
77
+ a photo with a nursery chair
78
+ a photo with a wicker chair
79
+ a photo with a banquet table
80
+ a photo with a bench with storage
81
+ a photo with a entertainment unit
82
+ a photo with a platform bed
83
+ a photo with a kitchen cart
84
+ a photo with a ladder shelf
85
+ a photo with a glass table
86
+ a photo with a dresser
87
+ a photo with a folding table
88
+ a photo with a modern armchair
89
+ a photo with a ottoman bench
90
+ a photo with a recliner with swivel base
91
+ a photo with a sofa with storage
92
+ a photo with a corner desk
93
+ a photo with a canopy bed
94
+ a photo with a storage cabinet
95
+ a photo with a round dining table
96
+ a photo with a L-shaped desk
97
+ a photo with a entryway table
98
+ a photo with a cube storage
99
+ a photo with a office desk
100
+ a photo with a hall tree
101
+ a photo with a coffee table with drawers
102
+ a photo with a recliner with USB ports
103
+ a photo with a folding chair
104
+ a photo with a wooden chest
105
+ a photo with a loft bed with stairs
106
+ a photo with a media console
107
+ a photo with a utility trolley
108
+ a photo with a storage ottoman
109
+ a photo with a wingback chair
110
+ a photo with a desk organizer
111
+ a photo with a wicker ottoman
112
+ a photo with a rope hammock
113
+ a photo with a bunk bed with desk
114
+ a photo with a kitchen shelf
115
+ a photo with a loveseat
116
+ a photo with a patio dining table
117
+ a photo with a sofa with ottoman
118
+ a photo with a corner bookcase
119
+ a photo with a TV console
120
+ a photo with a activity table
121
+ a photo with a lounge sofa
122
+ a photo with a bar cart
123
+ a photo with a laptop desk
124
+ a photo with a pouf chair
125
+ a photo with a TV shelf
126
+ a photo with a vanity mirror
127
+ a photo with a garden swing
128
+ a photo with a computer desk
129
+ a photo with a bar cart with shelves
130
+ a photo with a coat shelf
131
+ a photo with a fabric sofa
132
+ a photo with a leather armchair
133
+ a photo with a glass coffee table
134
+ a photo with a bookshelf with drawers
135
+ a photo with a metal bed frame
136
+ a photo with a modern TV stand
137
+ a photo with a makeup vanity
138
+ a photo with a garden bench
139
+ a photo with a ergonomic office chair
140
+ a photo with a sectional couch
141
+ a photo with a wooden bar stool
142
+ a photo with a compact writing desk
143
+ a photo with a manual recliner
144
+ a photo with a wicker patio sofa
145
+ a photo with a folding camping table
146
+ a photo with a kids' bunk bed
147
+ a photo with a sleek console table
148
+ a photo with a kitchen storage cabinet
149
+ a photo with a round ottoman
150
+ a photo with a hanging swing chair
151
+ a photo with a curio display cabinet
152
+ a photo with a outdoor chaise lounge
153
+ a photo with a plush bean bag
154
+ a photo with a modern side table
155
+ a photo with a traditional rocking chair
156
+ a photo with a fabric corner sofa
157
+ a photo with a minimalist desk
158
+ a photo with a rustic TV cabinet
159
+ a photo with a queen-size bed
160
+ a photo with a wooden bookcase
161
+ a photo with a entryway shoe rack
162
+ a photo with a adjustable height bar stool
163
+ a photo with a portable kitchen island
164
+ a photo with a foldable dining set
165
+ a photo with a accent chair
166
+ a photo with a multi-tier shelf
167
+ a photo with a swivel office chair
168
+ a photo with a double-door wardrobe
169
+ a photo with a sofa bed with storage
170
+ a photo with a hexagonal side table
171
+ a photo with a wooden chest of drawers
172
+ a photo with a classic armchair
173
+ a photo with a wooden loft bed
174
+ a photo with a floating shelf
175
+ a photo with a padded bench
176
+ a photo with a rattan patio set
177
+ a photo with a velvet armchair
178
+ a photo with a fold-out sofa
179
+ a photo with a modern dining set
180
+ a photo with a glass side table
181
+ a photo with a ladder-style bookcase
182
+ a photo with a wicker chair with cushions
183
+ a photo with a outdoor table
184
+ a photo with a wooden desk with drawers
185
+ a photo with a compact bar table
186
+ a photo with a kitchen hutch cabinet
187
+ a photo with a chaise lounge with storage
188
+ a photo with a console shelf
189
+ a photo with a marble top coffee table
190
+ a photo with a gaming desk
191
+ a photo with a round bar stool
192
+ a photo with a wooden TV console
193
+ a photo with a fabric dining chair
194
+ a photo with a plush recliner
195
+ a photo with a kids' study chair
196
+ a photo with a padded storage ottoman
197
+ a photo with a square end table
198
+ a photo with a rattan sofa set
199
+ a photo with a classic bookshelf
200
+ a photo with a metal coat rack
201
+ a photo with a rustic sideboard
202
+ a photo with a rollaway bed
203
+ a photo with a hanging egg chair
204
+ a photo with a kids' play table
205
+ a photo with a wall-mounted shelf
206
+ a photo with a corner ladder shelf
207
+ a photo with a glass bar table
208
+ a photo with a compact wardrobe
209
+ a photo with a patio dining set
210
+ a photo with a cushioned bench
211
+ a photo with a metal bedside table
212
+ a photo with a foldable chair
213
+ a photo with a sleek TV stand
214
+ a photo with a modern sideboard
215
+ a photo with a padded lounger
216
+ a photo with a teak wood bench
217
+ a photo with a geometric coffee table
218
+ a photo with a wall mirror cabinet
219
+ a photo with a round dining set
220
+ a photo with a recliner with storage
221
+ a photo with a rattan lounge chair
222
+ a photo with a storage chest
223
+ a photo with a wooden sideboard
224
+ a photo with a glass TV stand
225
+ a photo with a fabric recliner sofa
226
+ a photo with a metal bunk bed
227
+ a photo with a wooden dining bench
228
+ a photo with a adjustable desk
229
+ a photo with a round patio table
230
+ a photo with a rattan hanging chair
231
+ a photo with a high-back bar stool
232
+ a photo with a storage coffee table
233
+ a photo with a rustic ladder shelf
234
+ a photo with a compact sofa
235
+ a photo with a kids' toy storage
236
+ a photo with a leather loveseat
237
+ a photo with a sleek dining chair
238
+ a photo with a padded stool
239
+ a photo with a tall bookcase
240
+ a photo with a wall-mounted shoe rack
241
+ a photo with a glass display shelf
242
+ a photo with a kitchen bar cart
243
+ a photo with a sectional couch with storage
244
+ a photo with a office table
245
+ a photo with a compact chest of drawers
246
+ a photo with a corner TV console
247
+ a photo with a foldable study desk
248
+ a photo with a kids' bunk bed with slide
249
+ a photo with a wooden bench with storage
250
+ a photo with a round coffee table
251
+ a photo with a outdoor rocking chair
252
+ a photo with a compact armchair
253
+ a photo with a upholstered ottoman
254
+ a photo with a wooden vanity
255
+ a photo with a hanging macrame chair
256
+ a photo with a wicker bench
257
+ a photo with a foldable outdoor table
258
+ a photo with a geometric bookshelf
259
+ a photo with a rolling office chair
260
+ a photo with a sleek kitchen cart
261
+ a photo with a stackable dining chair
262
+ a photo with a round nesting table
263
+ a photo with a patio bench
264
+ a photo with a tiered utility shelf
265
+ a photo with a modern bar stool
266
+ a photo with a wall-mounted corner shelf
267
+ a photo with a convertible sofa
268
+ a photo with a padded bar stool
269
+ a photo with a square storage ottoman
270
+ a photo with a kids' study table
271
+ a photo with a rustic wooden cabinet
272
+ a photo with a rolling TV stand
273
+ a photo with a metal wardrobe
274
+ a photo with a compact lounge chair
275
+ a photo with a fabric sectional sofa
276
+ a photo with a patio swing
277
+ a photo with a modular office desk
278
+ a photo with a floating corner shelf
279
+ a photo with a rattan lounge set
280
+ a photo with a round nesting coffee table
281
+ a photo with a wicker side table
282
+ a photo with a wooden desk chair
283
+ a photo with a metal kitchen rack
284
+ a photo with a plush loveseat
285
+ a photo with a compact media console
286
+ a photo with a hanging chair with stand
287
+ a photo with a minimalist bar stool
288
+ a photo with a modern coffee table set
289
+ a photo with a rustic bench
290
+ a photo with a patio dining bench
291
+ a photo with a curved armchair
292
+ a photo with a velvet pouf
293
+ a photo with a kids' rocking chair
294
+ a photo with a double bed frame
295
+ a photo with a wall-mounted TV cabinet
296
+ a photo with a kitchen trolley with storage
297
+ a photo with a glass dining table
298
+ a photo with a stackable patio chair
299
+ a photo with a portable closet
300
+ a photo with a velvet sectional sofa
301
+ a photo with a kids' storage bench
302
+ a photo with a wooden end table
303
+ a photo with a outdoor coffee table
304
+ a photo with a corner ladder bookcase
305
+ a photo with a compact work desk
306
+ a photo with a gaming sofa
307
+ a photo with a modern kitchen table
308
+ a photo with a tall floor lamp
309
+ a photo with a upholstered armchair
310
+ a photo with a small side table
311
+ a photo with a wooden pantry cabinet
312
+ a photo with a metal shoe rack
313
+ a photo with a sleek wooden console
314
+ a photo with a wicker coffee table
315
+ a photo with a compact storage cube
316
+ a photo with a padded garden bench
317
+ a photo with a rattan bar stool
318
+ a photo with a modern coat rack
IP_Composer/text_datasets/material_descriptions.csv ADDED
@@ -0,0 +1,154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Description
2
+ a picture of an object made of wood
3
+ a picture of an object made of metal
4
+ a picture of an object made of plastic
5
+ a picture of an object made of glass
6
+ a picture of an object made of ceramic
7
+ a picture of an object made of stone
8
+ a picture of an object made of fabric
9
+ a picture of an object made of paper
10
+ a picture of an object made of rubber
11
+ a picture of an object made of leather
12
+ a picture of an object made of concrete
13
+ a picture of an object made of bamboo
14
+ a picture of an object made of marble
15
+ a picture of an object made of stainless steel
16
+ a picture of an object made of bronze
17
+ a picture of an object made of gold
18
+ a picture of an object made of silver
19
+ a picture of an object made of copper
20
+ a picture of an object made of tin
21
+ a picture of an object made of cardboard
22
+ a picture of an object made of aluminum
23
+ a picture of an object made of iron
24
+ a picture of an object made of brass
25
+ a picture of an object made of ivory
26
+ a picture of an object made of porcelain
27
+ a picture of an object made of silk
28
+ a picture of an object made of wool
29
+ a picture of an object made of linen
30
+ a picture of an object made of cotton
31
+ a picture of an object made of hemp
32
+ a picture of an object made of acrylic
33
+ a picture of an object made of polyester
34
+ a picture of an object made of nylon
35
+ a picture of an object made of velvet
36
+ a picture of an object made of suede
37
+ a picture of an object made of granite
38
+ a picture of an object made of clay
39
+ a picture of an object made of carbon fiber
40
+ a picture of an object made of graphene
41
+ a picture of an object made of titanium
42
+ a picture of an object made of platinum
43
+ a picture of an object made of oak
44
+ a picture of an object made of maple
45
+ a picture of an object made of cherry wood
46
+ a picture of an object made of birch
47
+ a picture of an object made of ash wood
48
+ a picture of an object made of jade
49
+ a picture of an object made of opal
50
+ a picture of an object made of amber
51
+ a picture of an object made of crystal
52
+ a picture of an object made of silicone
53
+ a picture of an object made of foam
54
+ a picture of an object made of resin
55
+ a picture of an object made of chalk
56
+ a picture of an object made of graphite
57
+ a picture of an object made of soapstone
58
+ a picture of an object made of terra cotta
59
+ a picture of an object made of lava rock
60
+ a picture of an object made of mica
61
+ a picture of an object made of sandstone
62
+ a picture of an object made of slate
63
+ a picture of an object made of cork
64
+ a picture of an object made of pewter
65
+ a picture of an object made of zinc
66
+ a picture of an object made of nickel
67
+ a picture of an object made of quartz
68
+ a picture of an object made of agate
69
+ a picture of an object made of coral
70
+ a picture of an object made of pearl
71
+ a picture of an object made of ebony
72
+ a picture of an object made of mahogany
73
+ a picture of an object made of teak
74
+ a picture of an object made of walnut
75
+ a picture of an object made of driftwood
76
+ a picture of an object made of reed
77
+ a picture of an object made of seagrass
78
+ a picture of an object made of felt
79
+ a picture of an object made of lace
80
+ a picture of an object made of mesh
81
+ a picture of an object made of satin
82
+ a picture of an object made of spandex
83
+ a picture of an object made of denim
84
+ a picture of an object made of corduroy
85
+ a picture of an object made of tweed
86
+ a picture of an object made of cobblestone
87
+ a picture of an object made of cement
88
+ a picture of an object made of charcoal
89
+ a picture of an object made of fiberglass
90
+ a picture of an object made of enamel
91
+ a picture of an object made of plexiglass
92
+ a picture of an object made of polycarbonate
93
+ a picture of an object made of PVC
94
+ a picture of an object made of acrylic glass
95
+ a picture of an object made of rubellite
96
+ a picture of an object made of aquamarine
97
+ a picture of an object made of tourmaline
98
+ a picture of an object made of turquoise
99
+ a picture of an object made of hematite
100
+ a picture of an object made of jasper
101
+ a picture of an object made of amethyst
102
+ a picture of an object made of malachite
103
+ a picture of an object made of topaz
104
+ a picture of an object made of obsidian
105
+ a picture of an object made of onyx
106
+ a picture of an object made of titanium alloy
107
+ a picture of an object made of plaster
108
+ a picture of an object made of limestone
109
+ a picture of an object made of shale
110
+ a picture of an object made of pumice
111
+ a picture of an object made of basalt
112
+ a picture of an object made of moonstone
113
+ a picture of an object made of quartzite
114
+ a picture of an object made of fluorite
115
+ a picture of an object made of garnet
116
+ a picture of an object made of peridot
117
+ a picture of an object made of feldspar
118
+ a picture of an object made of sodalite
119
+ a picture of an object made of serpentine
120
+ a picture of an object made of alabaster
121
+ a picture of an object made of chalkboard
122
+ a picture of an object made of soap
123
+ a picture of an object made of parchment
124
+ a picture of an object made of vellum
125
+ a picture of an object made of fibrous cement
126
+ a picture of an object made of tar
127
+ a picture of an object made of pitch
128
+ a picture of an object made of bitumen
129
+ a picture of an object made of rubber foam
130
+ a picture of an object made of polyethylene
131
+ a picture of an object made of polypropylene
132
+ a picture of an object made of vinyl
133
+ a picture of an object made of mylar
134
+ a picture of an object made of cellophane
135
+ a picture of an object made of polymer clay
136
+ a picture of an object made of kaolin
137
+ a picture of an object made of fireclay
138
+ a picture of an object made of earthenware
139
+ a picture of an object made of mica schist
140
+ a picture of an object made of hornblende
141
+ a picture of an object made of chlorite
142
+ a picture of an object made of gabbro
143
+ a picture of an object made of jadeite
144
+ a picture of an object made of pyrite
145
+ a picture of an object made of bauxite
146
+ a picture of an object made of gypsum
147
+ a picture of an object made of talc
148
+ a picture of an object made of mica flakes
149
+ a picture of an object made of straw
150
+ a picture of an object made of reed matting
151
+ a picture of an object made of sea shell
152
+ a picture of an object made of coral reef
153
+ a picture of an object made of spider silk
154
+ a picture of an object made of kevlar
IP_Composer/text_datasets/outfit_color_descriptions.csv ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Description
2
+ a picture of a person wearing a red outfit
3
+ a picture of a person wearing a blue outfit
4
+ a picture of a person wearing a green outfit
5
+ a picture of a person wearing a yellow outfit
6
+ a picture of a person wearing a pink outfit
7
+ a picture of a person wearing a purple outfit
8
+ a picture of a person wearing a orange outfit
9
+ a picture of a person wearing a brown outfit
10
+ a picture of a person wearing a black outfit
11
+ a picture of a person wearing a white outfit
12
+ a picture of a person wearing a gray outfit
13
+ a picture of a person wearing a beige outfit
14
+ a picture of a person wearing a teal outfit
15
+ a picture of a person wearing a maroon outfit
16
+ a picture of a person wearing a navy outfit
17
+ a picture of a person wearing a gold outfit
18
+ a picture of a person wearing a silver outfit
19
+ a picture of a person wearing a bronze outfit
20
+ a picture of a person wearing a lime outfit
21
+ a picture of a person wearing a magenta outfit
22
+ a picture of a person wearing a cyan outfit
23
+ a picture of a person wearing a turquoise outfit
24
+ a picture of a person wearing a coral outfit
25
+ a picture of a person wearing a olive outfit
26
+ a picture of a person wearing a lavender outfit
27
+ a picture of a person wearing a peach outfit
28
+ a picture of a person wearing a mint outfit
29
+ a picture of a person wearing a plum outfit
30
+ a picture of a person wearing a ivory outfit
31
+ a picture of a person wearing a charcoal outfit
32
+ a picture of a person wearing a aquamarine outfit
33
+ a picture of a person wearing a sapphire outfit
34
+ a picture of a person wearing a emerald outfit
35
+ a picture of a person wearing a ruby outfit
36
+ a picture of a person wearing a amber outfit
37
+ a picture of a person wearing a cherry outfit
38
+ a picture of a person wearing a mustard outfit
39
+ a picture of a person wearing a burgundy outfit
40
+ a picture of a person wearing a rose outfit
41
+ a picture of a person wearing a jade outfit
42
+ a picture of a person wearing a indigo outfit
43
+ a picture of a person wearing a cream outfit
44
+ a picture of a person wearing a denim outfit
45
+ a picture of a person wearing a fuchsia outfit
46
+ a picture of a person wearing a cobalt outfit
47
+ a picture of a person wearing a violet outfit
48
+ a picture of a person wearing a orchid outfit
49
+ a picture of a person wearing a sand outfit
50
+ a picture of a person wearing a khaki outfit
51
+ a picture of a person wearing a copper outfit
52
+ a picture of a person wearing a steel outfit
53
+ a picture of a person wearing a crimson outfit
54
+ a picture of a person wearing a tangerine outfit
55
+ a picture of a person wearing a periwinkle outfit
56
+ a picture of a person wearing a mocha outfit
57
+ a picture of a person wearing a chocolate outfit
58
+ a picture of a person wearing a sky blue outfit
59
+ a picture of a person wearing a forest green outfit
60
+ a picture of a person wearing a lemon outfit
61
+ a picture of a person wearing a bubblegum pink outfit
62
+ a picture of a person wearing a raspberry outfit
63
+ a picture of a person wearing a honey outfit
64
+ a picture of a person wearing a stone outfit
65
+ a picture of a person wearing a blush outfit
66
+ a picture of a person wearing a cream white outfit
67
+ a picture of a person wearing a seafoam green outfit
68
+ a picture of a person wearing a midnight blue outfit
69
+ a picture of a person wearing a ash gray outfit
70
+ a picture of a person wearing a powder blue outfit
71
+ a picture of a person wearing a wine outfit
72
+ a picture of a person wearing a moss green outfit
73
+ a picture of a person wearing a canary yellow outfit
74
+ a picture of a person wearing a pistachio outfit
75
+ a picture of a person wearing a deep teal outfit
76
+ a picture of a person wearing a amethyst outfit
77
+ a picture of a person wearing a chartreuse outfit
78
+ a picture of a person wearing a rust outfit
79
+ a picture of a person wearing a sepia outfit
80
+ a picture of a person wearing a topaz outfit
81
+ a picture of a person wearing a storm gray outfit
82
+ a picture of a person wearing a pearl white outfit
83
+ a picture of a person wearing a scarlet outfit
84
+ a picture of a person wearing a salmon outfit
85
+ a picture of a person wearing a flamingo pink outfit
86
+ a picture of a person wearing a bamboo green outfit
87
+ a picture of a person wearing a azure outfit
88
+ a picture of a person wearing a peacock blue outfit
89
+ a picture of a person wearing a carnation pink outfit
90
+ a picture of a person wearing a ochre outfit
91
+ a picture of a person wearing a saffron outfit
92
+ a picture of a person wearing a cobalt blue outfit
93
+ a picture of a person wearing a emerald green outfit
94
+ a picture of a person wearing a ruby red outfit
95
+ a picture of a person wearing a garnet outfit
96
+ a picture of a person wearing a ivory white outfit
97
+ a picture of a person wearing a slate gray outfit
98
+ a picture of a person wearing a ocean blue outfit
99
+ a picture of a person wearing a harvest gold outfit
100
+ a picture of a person wearing a brass outfit
101
+ a picture of a person wearing a rose gold outfit
102
+ a picture of a person wearing a cinnamon outfit
103
+ a picture of a person wearing a clay outfit
IP_Composer/text_datasets/outfit_descriptions.csv ADDED
@@ -0,0 +1,289 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Outfit Description
2
+ a picture of a person wearing a red dress
3
+ a picture of a person wearing a blue suit
4
+ a picture of a person wearing a leather jacket
5
+ a picture of a person wearing a floral sundress
6
+ a picture of a person wearing a striped shirt and jeans
7
+ a picture of a person wearing a green hoodie
8
+ a picture of a person wearing a business suit
9
+ a picture of a person wearing a chef's uniform
10
+ a picture of a person wearing a wedding gown
11
+ a picture of a person wearing a tracksuit
12
+ a picture of a person wearing a cowboy hat and boots
13
+ a picture of a person wearing a black turtleneck and slacks
14
+ a picture of a person wearing a summer romper
15
+ a picture of a person wearing a denim jacket and skirt
16
+ a picture of a person wearing a traditional kimono
17
+ a picture of a person wearing a football jersey and shorts
18
+ a picture of a person wearing a trench coat
19
+ a picture of a person wearing a Halloween costume
20
+ a picture of a person wearing a scuba diving suit
21
+ a picture of a person wearing a tuxedo
22
+ a picture of a person wearing overalls
23
+ a picture of a person wearing a colorful sarong
24
+ a picture of a person wearing a graduation gown
25
+ a picture of a person wearing yoga pants and a tank top
26
+ a picture of a person wearing a plaid shirt and khakis
27
+ a picture of a person wearing a wool sweater and scarf
28
+ a picture of a person wearing a firefighter's uniform
29
+ a picture of a person wearing a ski suit
30
+ a picture of a person wearing a cocktail dress
31
+ a picture of a person wearing a motorcycle jacket and gloves
32
+ a picture of a person wearing a pilot's uniform
33
+ a picture of a person wearing a casual polo shirt
34
+ a picture of a person wearing hiking boots and a backpack
35
+ a picture of a person wearing pajamas
36
+ a picture of a person wearing a traditional sari
37
+ a picture of a person wearing a hospital gown
38
+ a picture of a person wearing a choir robe
39
+ a picture of a person wearing an apron
40
+ a picture of a person wearing a sequined evening gown
41
+ a picture of a person wearing a lab coat
42
+ a picture of a person wearing cargo pants and a vest
43
+ a picture of a person wearing a beach outfit with flip-flops
44
+ a picture of a person wearing a fur coat
45
+ a picture of a person wearing a bow tie and suspenders
46
+ a picture of a person wearing swim trunks and a sunhat
47
+ a picture of a person wearing a gothic outfit
48
+ a picture of a person wearing a cycling jersey and shorts
49
+ a picture of a person wearing a blazer and skirt
50
+ a picture of a person wearing a hoodie and joggers
51
+ a picture of a person wearing an astronaut suit
52
+ a picture of a person wearing a cheerleader uniform
53
+ a picture of a person wearing a varsity jacket
54
+ a picture of a person wearing a farmer's outfit
55
+ a picture of a person wearing a medieval knight's armor
56
+ a picture of a person wearing a space-themed costume
57
+ a picture of a person wearing a military uniform
58
+ a picture of a person wearing a flowy maxi dress
59
+ a picture of a person wearing a peacoat and gloves
60
+ a picture of a person wearing a superhero costume
61
+ a picture of a person wearing a gym outfit with sneakers
62
+ a picture of a person wearing a band T-shirt and ripped jeans
63
+ a picture of a person wearing a safari outfit
64
+ a picture of a person wearing a cardigan and loafers
65
+ a picture of a person wearing a traditional tuxedo with a top hat
66
+ a picture of a person wearing a camouflage jacket
67
+ a picture of a person wearing a baseball jersey and cap
68
+ a picture of a person wearing a ballerina tutu
69
+ a picture of a person wearing an academic robe
70
+ a picture of a person wearing a floral Hawaiian shirt
71
+ a picture of a person wearing a tight-fitting catsuit
72
+ a picture of a person wearing a poncho and cowboy boots
73
+ a picture of a person wearing a graphic tee and shorts
74
+ a picture of a person wearing an elegant ball gown
75
+ a picture of a person wearing a punk rock outfit
76
+ a picture of a person wearing traditional African attire
77
+ a picture of a person wearing a ski jacket and snow boots
78
+ a picture of a person wearing a polka dot dress
79
+ a picture of a person wearing a velvet blazer
80
+ a picture of a person wearing a clown costume
81
+ a picture of a person wearing a sailor's uniform
82
+ a picture of a person wearing a zip-up fleece
83
+ a picture of a person wearing a painter's smock
84
+ a picture of a person wearing a bohemian outfit
85
+ a picture of a person wearing a parka and earmuffs
86
+ a picture of a person wearing a bodycon dress
87
+ a picture of a person wearing a kilt
88
+ a picture of a person wearing a bright yellow raincoat
89
+ a picture of a person wearing a metallic space suit
90
+ a picture of a person wearing a floral blouse and trousers
91
+ a picture of a person wearing a cape and boots
92
+ a picture of a person wearing a matching tracksuit
93
+ a picture of a person wearing a cardigan and chinos
94
+ a picture of a person wearing a pearl necklace and a black dress
95
+ a picture of a person wearing a red beret and striped scarf
96
+ a picture of a person wearing a tie-dye shirt
97
+ a picture of a person wearing a custom cosplay outfit
98
+ a picture of a person wearing a checkered blazer
99
+ a picture of a person wearing a knitted cardigan
100
+ a picture of a person wearing a sparkling tiara
101
+ a picture of a person wearing a floral kimono
102
+ a picture of a person wearing a wrap dress
103
+ a picture of a person wearing bell-bottom jeans
104
+ a picture of a person wearing a leather corset
105
+ a picture of a person wearing a denim shirt
106
+ a picture of a person wearing a colorful poncho
107
+ a picture of a person wearing a velvet gown
108
+ a picture of a person wearing a silk blouse
109
+ a picture of a person wearing a paisley scarf
110
+ a picture of a person wearing a bomber jacket
111
+ a picture of a person wearing striped pajamas
112
+ a picture of a person wearing a polka dot skirt
113
+ a picture of a person wearing a crop top
114
+ a picture of a person wearing a denim vest
115
+ a picture of a person wearing a trench coat and sunglasses
116
+ a picture of a person wearing ankle boots
117
+ a picture of a person wearing a sequin top
118
+ a picture of a person wearing a fringe jacket
119
+ a picture of a person wearing a maxi skirt
120
+ a picture of a person wearing a newsboy cap
121
+ a picture of a person wearing a cable knit sweater
122
+ a picture of a person wearing a satin slip dress
123
+ a picture of a person wearing corduroy pants
124
+ a picture of a person wearing a tailored vest
125
+ a picture of a person wearing a graphic hoodie
126
+ a picture of a person wearing leather gloves
127
+ a picture of a person wearing wedge heels
128
+ a picture of a person wearing a rugby shirt
129
+ a picture of a person wearing wide-leg trousers
130
+ a picture of a person wearing an empire waist gown
131
+ a picture of a person wearing platform sneakers
132
+ a picture of a person wearing an off-shoulder dress
133
+ a picture of a person wearing a vintage bomber jacket
134
+ a picture of a person wearing combat boots
135
+ a picture of a person wearing a graphic tank top
136
+ a picture of a person wearing ripped denim shorts
137
+ a picture of a person wearing a turtleneck sweater
138
+ a picture of a person wearing skinny jeans
139
+ a picture of a person wearing a tailored blazer
140
+ a picture of a person wearing a bandana and overalls
141
+ a picture of a person wearing a bohemian maxi dress
142
+ a picture of a person wearing gladiator sandals
143
+ a picture of a person wearing a striped sweater
144
+ a picture of a person wearing a fitted cocktail dress
145
+ a picture of a person wearing a flannel shirt
146
+ a picture of a person wearing jogger pants
147
+ a picture of a person wearing a quilted jacket
148
+ a picture of a person wearing a one-piece swimsuit
149
+ a picture of a person wearing a halter top
150
+ a picture of a person wearing over-the-knee boots
151
+ a picture of a person wearing a pea coat
152
+ a picture of a person wearing a baseball cap
153
+ a picture of a person wearing a scarf and mittens
154
+ a picture of a person wearing a faux fur coat
155
+ a picture of a person wearing a high-low dress
156
+ a picture of a person wearing a puff-sleeve blouse
157
+ a picture of a person wearing linen trousers
158
+ a picture of a person wearing platform heels
159
+ a picture of a person wearing a tulle skirt
160
+ a picture of a person wearing a baseball jacket
161
+ a picture of a person wearing a silk robe
162
+ a picture of a person wearing cargo shorts
163
+ a picture of a person wearing a bucket hat
164
+ a picture of a person wearing an asymmetrical dress
165
+ a picture of a person wearing a mock neck top
166
+ a picture of a person wearing a biker jacket
167
+ a picture of a person wearing plaid trousers
168
+ a picture of a person wearing a long cardigan
169
+ a picture of a person wearing a smocked blouse
170
+ a picture of a person wearing a tiered skirt
171
+ a picture of a person wearing a mermaid gown
172
+ a picture of a person wearing a drawstring hoodie
173
+ a picture of a person wearing a parka
174
+ a picture of a person wearing a satin midi dress
175
+ a picture of a person wearing chelsea boots
176
+ a picture of a person wearing a leather pencil skirt
177
+ a picture of a person wearing a crochet top
178
+ a picture of a person wearing a denim jumpsuit
179
+ a picture of a person wearing knee-high socks
180
+ a picture of a person wearing an aviator jacket
181
+ a picture of a person wearing a houndstooth blazer
182
+ a picture of a person wearing a faux leather skirt
183
+ a picture of a person wearing a wrap-around scarf
184
+ a picture of a person wearing tapered sweatpants
185
+ a picture of a person wearing a cold-shoulder blouse
186
+ a picture of a person wearing a vintage band tee
187
+ a picture of a person wearing floral print trousers
188
+ a picture of a person wearing espadrille sandals
189
+ a picture of a person wearing a puffed sleeve dress
190
+ a picture of a person wearing a mock turtleneck
191
+ a picture of a person wearing a camo jacket
192
+ a picture of a person wearing a reversible bomber jacket
193
+ a picture of a person wearing a leather trench coat
194
+ a picture of a person wearing a fringed poncho
195
+ a picture of a person wearing a satin bomber jacket
196
+ a picture of a person wearing a belted trench coat
197
+ a picture of a person wearing a floral maxi dress
198
+ a picture of a person wearing high-rise mom jeans
199
+ a picture of a person wearing a cropped leather jacket
200
+ a picture of a person wearing a slouchy beanie
201
+ a picture of a person wearing a denim skater dress
202
+ a picture of a person wearing patent leather boots
203
+ a picture of a person wearing a puff jacket
204
+ a picture of a person wearing metallic leggings
205
+ a picture of a person wearing a button-down dress
206
+ a picture of a person wearing an oversized flannel shirt
207
+ a picture of a person wearing a beret and trench coat
208
+ a picture of a person wearing a two-tone varsity jacket
209
+ a picture of a person wearing joggers and a cropped hoodie
210
+ a picture of a person wearing a tiered maxi dress
211
+ a picture of a person wearing a sleeveless denim jacket
212
+ a picture of a person wearing ripped boyfriend jeans
213
+ a picture of a person wearing a halter neck midi dress
214
+ a picture of a person wearing a sherpa-lined coat
215
+ a picture of a person wearing a double-breasted blazer
216
+ a picture of a person wearing culottes and a crop top
217
+ a picture of a person wearing a silk bomber jacket
218
+ a picture of a person wearing slim-fit chinos
219
+ a picture of a person wearing a pleated mini skirt
220
+ a picture of a person wearing a belted jumpsuit
221
+ a picture of a person wearing leather platform boots
222
+ a picture of a person wearing a cotton sundress
223
+ a picture of a person wearing a polka-dot wrap top
224
+ a picture of a person wearing cargo jogger pants
225
+ a picture of a person wearing a ribbed knit sweater
226
+ a picture of a person wearing a faux fur vest
227
+ a picture of a person wearing an embroidered tunic
228
+ a picture of a person wearing a satin blouse
229
+ a picture of a person wearing tie-dye leggings
230
+ a picture of a person wearing a hooded rain jacket
231
+ a picture of a person wearing a square-neck blouse
232
+ a picture of a person wearing a velvet midi skirt
233
+ a picture of a person wearing slouchy over-the-knee boots
234
+ a picture of a person wearing a pleated wrap skirt
235
+ a picture of a person wearing a quilted gilet
236
+ a picture of a person wearing a flowy chiffon dress
237
+ a picture of a person wearing a tiered tulle skirt
238
+ a picture of a person wearing a shirtdress with rolled sleeves
239
+ a picture of a person wearing embroidered loafers
240
+ a picture of a person wearing a split-hem maxi skirt
241
+ a picture of a person wearing a one-shoulder jumpsuit
242
+ a picture of a person wearing a velvet off-shoulder dress
243
+ a picture of a person wearing cropped wide-leg pants
244
+ a picture of a person wearing a belted shirt dress
245
+ a picture of a person wearing a two-piece matching set
246
+ a picture of a person wearing ruched leggings
247
+ a picture of a person wearing high-waisted culottes
248
+ a picture of a person wearing a metallic crop top
249
+ a picture of a person wearing a sleeveless puffer jacket
250
+ a picture of a person wearing a drawstring utility jacket
251
+ a picture of a person wearing a draped cowl-neck top
252
+ a picture of a person wearing color-block track pants
253
+ a picture of a person wearing a boxy cropped jacket
254
+ a picture of a person wearing a sequined shift dress
255
+ a picture of a person wearing a retro windbreaker
256
+ a picture of a person wearing a crochet halter top
257
+ a picture of a person wearing tapered high-waist trousers
258
+ a picture of a person wearing a bold floral blouse
259
+ a picture of a person wearing high-rise biker shorts
260
+ a picture of a person wearing a polka-dot midi dress
261
+ a picture of a person wearing pointed-toe stilettos
262
+ a picture of a person wearing a lace-up peasant blouse
263
+ a picture of a person wearing a smocked empire waist dress
264
+ a picture of a person wearing a ruched bodycon skirt
265
+ a picture of a person wearing a fleece-lined hoodie
266
+ a picture of a person wearing slouchy straight-leg jeans
267
+ a picture of a person wearing a boat-neck knit sweater
268
+ a picture of a person wearing a flared bell-sleeve top
269
+ a picture of a person wearing lace-trim satin shorts
270
+ a picture of a person wearing cropped paperbag pants
271
+ a picture of a person wearing an oversized cashmere scarf
272
+ a picture of a person wearing a wool toggle coat
273
+ a picture of a person wearing a cross-back jumpsuit
274
+ a picture of a person wearing a color-block poncho
275
+ a picture of a person wearing pleated high-rise shorts
276
+ a picture of a person wearing a wide-brim sun hat
277
+ a picture of a person wearing a maxi coat and knee boots
278
+ a picture of a person wearing a mock neck shift dress
279
+ a picture of a person wearing a cape-sleeve midi dress
280
+ a picture of a person wearing embroidered cropped trousers
281
+ a picture of a person wearing a sweetheart neckline dress
282
+ a picture of a person wearing a pleated skater skirt
283
+ a picture of a person wearing layered gold necklaces
284
+ a picture of a person wearing a keyhole back dress
285
+ a picture of a person wearing a fitted mock neck bodysuit
286
+ a picture of a person wearing wool plaid culottes
287
+ a picture of a person wearing a chain belt and high heels
288
+ a picture of a person wearing a knit wrap-front top
289
+ a picture of a person wearing a puffer vest and leggings
IP_Composer/text_datasets/pattern_descriptions.csv ADDED
@@ -0,0 +1,284 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Description
2
+ an object with a striped pattern
3
+ an object with a series of evenly spaced polka dot pattern
4
+ an object with a swirling paisley pattern
5
+ an object with a classic checkered pattern
6
+ an object with a gradient color shift with seamless blending pattern
7
+ an object with a repeating geometric diamond pattern
8
+ an object with a floral with intricate petals pattern
9
+ an object with zigzag line pattern
10
+ an object with a spiral that radiates outward pattern
11
+ an object with abstract, overlapping shape pattern
12
+ an object with a symmetrical mandala pattern
13
+ an object with a mosaic of tiny, colorful tile pattern
14
+ an object with a lattice made of interwoven line pattern
15
+ an object with crosshatched line in parallel arrays pattern
16
+ an object with hexagonal honeycomb cell pattern
17
+ an object with triangular tessellation in alternating colors pattern
18
+ an object with concentric circle creating a target effect pattern
19
+ an object with a kaleidoscopic, mirrored pattern
20
+ an object with wave-like undulations running across pattern
21
+ an object with overlapping rectangular block pattern
22
+ an object with nested circular designs with a layered effect pattern
23
+ an object with a plaid with intersecting bands pattern
24
+ an object with a texture resembling woven thread pattern
25
+ an object with a camouflage with organic shapes pattern
26
+ an object with intricate, interlocking carving pattern
27
+ an object with a stippled texture with dense points pattern
28
+ an object with a fractal design with self-repeating motifs pattern
29
+ an object with concentric oval creating depth pattern
30
+ an object with a grid of evenly spaced square pattern
31
+ an object with checkerboard in alternating shades pattern
32
+ an object with interlocking loop forming a chain pattern
33
+ an object with tribal-inspired symmetrical motif pattern
34
+ an object with brushstroke in a random layout pattern
35
+ an object with a leafy vine spreading outward pattern
36
+ an object with a digital glitch creating sharp angular shapes pattern
37
+ an object with a starburst radiating from the center pattern
38
+ an object with crystalline shards forming a fractured design pattern
39
+ an object with a metallic surface with linear groove pattern
40
+ an object with gradient stripe in a subtle fade pattern
41
+ an object with a textured resembling raindrops pattern
42
+ an object with a frosted glass effect with subtle opacity pattern
43
+ an object with woodgrain with natural variations pattern
44
+ an object with marbled swirls in complementary colors pattern
45
+ an object with a cosmic with scattered stars pattern
46
+ an object with watercolor textures with flowing gradients pattern
47
+ an object with splatter resembling paint drops pattern
48
+ an object with a shadow-like gradient overlay pattern
49
+ an object with a tiled of repeating shapes pattern
50
+ an object with embossed textures with raised details pattern
51
+ an object with a holographic rainbow sheen pattern
52
+ an object with a vaporwave grid with neon accents pattern
53
+ an object with retro-inspired concentric designs pattern
54
+ an object with a futuristic circuit board pattern
55
+ an object with a 3D illusion of depth and layers pattern
56
+ an object with blotchy, smeared color patches pattern
57
+ an object with scribbled with hand-drawn lines pattern
58
+ an object with a chainmail of interlocking rings pattern
59
+ an object with woven texture mimicking basketry pattern
60
+ an object with a shattered glass with sharp edges pattern
61
+ an object with a pixel grid with random gaps pattern
62
+ an object with barcode-like stripes in alternating widths pattern
63
+ an object with neon light streaks in gradient hues pattern
64
+ an object with ornate Gothic-inspired flourishes pattern
65
+ an object with sinuous swirls forming an endless loop pattern
66
+ an object with chalkboard-style scribbled pattern
67
+ an object with earthy, textured with rough edges pattern
68
+ an object with splattered ink forming irregular spots pattern
69
+ an object with a perforated surface with uniform holes pattern
70
+ an object with carved stone with deep grooves pattern
71
+ an object with a rain-splattered glass texture pattern
72
+ an object with a glowing ring-like halo pattern
73
+ an object with vibrant overlapping gradient pattern
74
+ an object with a weathered, rustic pattern
75
+ an object with ripple radiating outward pattern
76
+ an object with a cracked desert floor pattern
77
+ an object with smoky, swirling resembling clouds pattern
78
+ an object with a nebula-like cosmic pattern
79
+ an object with a lava lamp of floating blobs pattern
80
+ an object with blurred, bokeh-style light spots pattern
81
+ an object with stitched thread in crisscross designs pattern
82
+ an object with a repeating chainlink pattern
83
+ an object with a cobblestone of irregular shapes pattern
84
+ an object with woven mat-like pattern
85
+ an object with a papercut with layered shapes pattern
86
+ an object with torn edge mimicking paper pattern
87
+ an object with a dripping paint pattern
88
+ an object with a heatmap with smooth gradient transitions pattern
89
+ an object with fingerprint-like swirling line pattern
90
+ an object with layered transparencies in subtle gradients pattern
91
+ an object with a constellation connecting stars pattern
92
+ an object with a patchwork quilt of geometric shapes pattern
93
+ an object with burned paper with charred edges pattern
94
+ an object with cracked surface resembling aged walls pattern
95
+ an object with a braided rope-like pattern
96
+ an object with pixel art with blocky shapes pattern
97
+ an object with glowing outline in dark backgrounds pattern
98
+ an object with frosted window with random swirls pattern
99
+ an object with ancient scroll-like with fine detail pattern
100
+ an object with dots pattern
101
+ an object with stripes pattern
102
+ an object with waves pattern
103
+ an object with checks pattern
104
+ an object with grids pattern
105
+ an object with triangles pattern
106
+ an object with circles pattern
107
+ an object with squares pattern
108
+ an object with lines pattern
109
+ an object with hexagons pattern
110
+ an object with stars pattern
111
+ an object with arrows pattern
112
+ an object with hearts pattern
113
+ an object with flowers pattern
114
+ an object with spirals pattern
115
+ an object with swirls pattern
116
+ an object with zigzags pattern
117
+ an object with curves pattern
118
+ an object with hatches pattern
119
+ an object with chevrons pattern
120
+ an object with polka dots pattern
121
+ an object with pinstripes pattern
122
+ an object with crosses pattern
123
+ an object with diamonds pattern
124
+ an object with chains pattern
125
+ an object with plaids pattern
126
+ an object with loops pattern
127
+ an object with slashes pattern
128
+ an object with shards pattern
129
+ an object with dots and dashes pattern
130
+ an object with waves and ripples pattern
131
+ an object with connected lines pattern
132
+ an object with dashed lines pattern
133
+ an object with arcs pattern
134
+ an object with dots and circles pattern
135
+ an object with parallel lines pattern
136
+ an object with overlapping shapes pattern
137
+ an object with bold stripes pattern
138
+ an object with fine lines pattern
139
+ an object with tiny triangles pattern
140
+ an object with interlocking shapes pattern
141
+ an object with random dots pattern
142
+ an object with wavy lines pattern
143
+ an object with crosshatch pattern
144
+ an object with clouds pattern
145
+ an object with abstract lines pattern
146
+ an object with simple dots pattern
147
+ an object with tiny stars pattern
148
+ an object with rays pattern
149
+ an object with petals pattern
150
+ an object with leaves pattern
151
+ an object with small squares pattern
152
+ an object with thin stripes pattern
153
+ an object with angled lines pattern
154
+ an object with stacked lines pattern
155
+ an object with bubbles pattern
156
+ an object with fish scales pattern
157
+ an object with small grids pattern
158
+ an object with honeycombs pattern
159
+ an object with dotted grids pattern
160
+ an object with gradient stripes pattern
161
+ an object with overlapping circles pattern
162
+ an object with linked squares pattern
163
+ an object with tiny arrows pattern
164
+ an object with bold dots pattern
165
+ an object with curly lines pattern
166
+ an object with rounded squares pattern
167
+ an object with broken lines pattern
168
+ an object with double lines pattern
169
+ an object with jagged lines pattern
170
+ an object with random lines pattern
171
+ an object with thin waves pattern
172
+ an object with layered circles pattern
173
+ an object with bold zigzags pattern
174
+ an object with connected dots pattern
175
+ an object with dashed grids pattern
176
+ an object with tiny hexagons pattern
177
+ an object with tiled shapes pattern
178
+ an object with fine grids pattern
179
+ an object with linked chains pattern
180
+ an object with scattered dots pattern
181
+ an object with angled grids pattern
182
+ an object with block shapes pattern
183
+ an object with angled waves pattern
184
+ an object with crisscross lines pattern
185
+ an object with random triangles pattern
186
+ an object with angled stripes pattern
187
+ an object with simple shapes pattern
188
+ an object with line clusters pattern
189
+ an object with staggered lines pattern
190
+ an object with patterned grids pattern
191
+ an object with gradient circles pattern
192
+ an object with tiny diamonds pattern
193
+ an object with scattered stars pattern
194
+ an object with linked patterns pattern
195
+ an object with basic dots pattern
196
+ an object with diagonal lines pattern
197
+ an object with zigzag stripes pattern
198
+ an object with circular dots pattern
199
+ an object with oval shapes pattern
200
+ an object with wavy grids pattern
201
+ an object with crisscross hatches pattern
202
+ an object with parallel stripes pattern
203
+ an object with thin checks pattern
204
+ an object with wide stripes pattern
205
+ an object with tiny grids pattern
206
+ an object with spotted shapes pattern
207
+ an object with spiral dots pattern
208
+ an object with layered grids pattern
209
+ an object with jagged edges pattern
210
+ an object with overlapping lines pattern
211
+ an object with gradient dots pattern
212
+ an object with small rectangles pattern
213
+ an object with offset squares pattern
214
+ an object with scattered circles pattern
215
+ an object with shaded squares pattern
216
+ an object with alternating lines pattern
217
+ an object with dotted stripes pattern
218
+ an object with wavy edges pattern
219
+ an object with tiny bubbles pattern
220
+ an object with striped hexagons pattern
221
+ an object with colorful checks pattern
222
+ an object with linked diamonds pattern
223
+ an object with angled dots pattern
224
+ an object with repeated squares pattern
225
+ an object with offset grids pattern
226
+ an object with staggered shapes pattern
227
+ an object with shaded triangles pattern
228
+ an object with angled zigzags pattern
229
+ an object with scattered arrows pattern
230
+ an object with linked rectangles pattern
231
+ an object with broken grids pattern
232
+ an object with curved lines pattern
233
+ an object with tiny arcs pattern
234
+ an object with overlapping rectangles pattern
235
+ an object with angled shapes pattern
236
+ an object with wide grids pattern
237
+ an object with outlined shapes pattern
238
+ an object with offset triangles pattern
239
+ an object with hollow circles pattern
240
+ an object with streaked lines pattern
241
+ an object with blurred dots pattern
242
+ an object with faint stripes pattern
243
+ an object with tinted shapes pattern
244
+ an object with offset hexagons pattern
245
+ an object with overlapping triangles pattern
246
+ an object with thin grids pattern
247
+ an object with layered stripes pattern
248
+ an object with split diamonds pattern
249
+ an object with gradient waves pattern
250
+ an object with striped bubbles pattern
251
+ an object with angled crosses pattern
252
+ an object with tiny loops pattern
253
+ an object with fuzzy lines pattern
254
+ an object with streaked grids pattern
255
+ an object with hazy circles pattern
256
+ an object with offset lines pattern
257
+ an object with striped stars pattern
258
+ an object with wavy circles pattern
259
+ an object with repeated stars pattern
260
+ an object with angled diamonds pattern
261
+ an object with layered lines pattern
262
+ an object with offset diamonds pattern
263
+ an object with hollow squares pattern
264
+ an object with linked loops pattern
265
+ an object with layered triangles pattern
266
+ an object with scattered bubbles pattern
267
+ an object with random grids pattern
268
+ an object with crossed lines pattern
269
+ an object with layered arcs pattern
270
+ an object with blurry shapes pattern
271
+ an object with faint dots pattern
272
+ an object with striped shapes pattern
273
+ an object with dotted waves pattern
274
+ an object with offset bubbles pattern
275
+ an object with curved grids pattern
276
+ an object with striped arcs pattern
277
+ an object with scattered hexagons pattern
278
+ an object with layered bubbles pattern
279
+ an object with streaked circles pattern
280
+ an object with shaded arcs pattern
281
+ an object with tiny zigzags pattern
282
+ an object with random stars pattern
283
+ an object with faint bubbles pattern
284
+ an object with striped grids pattern
IP_Composer/text_datasets/pattern_descriptions_no_obj.csv ADDED
@@ -0,0 +1,284 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Description
2
+ a striped pattern
3
+ a series of evenly spaced polka dot pattern
4
+ a swirling paisley pattern
5
+ a classic checkered pattern
6
+ a gradient color shift with seamless blending pattern
7
+ a repeating geometric diamond pattern
8
+ a floral with intricate petals pattern
9
+ zigzag line pattern
10
+ a spiral that radiates outward pattern
11
+ abstract, overlapping shape pattern
12
+ a symmetrical mandala pattern
13
+ a mosaic of tiny, colorful tile pattern
14
+ a lattice made of interwoven line pattern
15
+ crosshatched line in parallel arrays pattern
16
+ hexagonal honeycomb cell pattern
17
+ triangular tessellation in alternating colors pattern
18
+ concentric circle creating a target effect pattern
19
+ a kaleidoscopic, mirrored pattern
20
+ wave-like undulations running across pattern
21
+ overlapping rectangular block pattern
22
+ nested circular designs with a layered effect pattern
23
+ a plaid with intersecting bands pattern
24
+ a texture resembling woven thread pattern
25
+ a camouflage with organic shapes pattern
26
+ intricate, interlocking carving pattern
27
+ a stippled texture with dense points pattern
28
+ a fractal design with self-repeating motifs pattern
29
+ concentric oval creating depth pattern
30
+ a grid of evenly spaced square pattern
31
+ checkerboard in alternating shades pattern
32
+ interlocking loop forming a chain pattern
33
+ tribal-inspired symmetrical motif pattern
34
+ brushstroke in a random layout pattern
35
+ a leafy vine spreading outward pattern
36
+ a digital glitch creating sharp angular shapes pattern
37
+ a starburst radiating from the center pattern
38
+ crystalline shards forming a fractured design pattern
39
+ a metallic surface with linear groove pattern
40
+ gradient stripe in a subtle fade pattern
41
+ a textured resembling raindrops pattern
42
+ a frosted glass effect with subtle opacity pattern
43
+ woodgrain with natural variations pattern
44
+ marbled swirls in complementary colors pattern
45
+ a cosmic with scattered stars pattern
46
+ watercolor textures with flowing gradients pattern
47
+ splatter resembling paint drops pattern
48
+ a shadow-like gradient overlay pattern
49
+ a tiled of repeating shapes pattern
50
+ embossed textures with raised details pattern
51
+ a holographic rainbow sheen pattern
52
+ a vaporwave grid with neon accents pattern
53
+ retro-inspired concentric designs pattern
54
+ a futuristic circuit board pattern
55
+ a 3D illusion of depth and layers pattern
56
+ blotchy, smeared color patches pattern
57
+ scribbled with hand-drawn lines pattern
58
+ a chainmail of interlocking rings pattern
59
+ woven texture mimicking basketry pattern
60
+ a shattered glass with sharp edges pattern
61
+ a pixel grid with random gaps pattern
62
+ barcode-like stripes in alternating widths pattern
63
+ neon light streaks in gradient hues pattern
64
+ ornate Gothic-inspired flourishes pattern
65
+ sinuous swirls forming an endless loop pattern
66
+ chalkboard-style scribbled pattern
67
+ earthy, textured with rough edges pattern
68
+ splattered ink forming irregular spots pattern
69
+ a perforated surface with uniform holes pattern
70
+ carved stone with deep grooves pattern
71
+ a rain-splattered glass texture pattern
72
+ a glowing ring-like halo pattern
73
+ vibrant overlapping gradient pattern
74
+ a weathered, rustic pattern
75
+ ripple radiating outward pattern
76
+ a cracked desert floor pattern
77
+ smoky, swirling resembling clouds pattern
78
+ a nebula-like cosmic pattern
79
+ a lava lamp of floating blobs pattern
80
+ blurred, bokeh-style light spots pattern
81
+ stitched thread in crisscross designs pattern
82
+ a repeating chainlink pattern
83
+ a cobblestone of irregular shapes pattern
84
+ woven mat-like pattern
85
+ a papercut with layered shapes pattern
86
+ torn edge mimicking paper pattern
87
+ a dripping paint pattern
88
+ a heatmap with smooth gradient transitions pattern
89
+ fingerprint-like swirling line pattern
90
+ layered transparencies in subtle gradients pattern
91
+ a constellation connecting stars pattern
92
+ a patchwork quilt of geometric shapes pattern
93
+ burned paper with charred edges pattern
94
+ cracked surface resembling aged walls pattern
95
+ a braided rope-like pattern
96
+ pixel art with blocky shapes pattern
97
+ glowing outline in dark backgrounds pattern
98
+ frosted window with random swirls pattern
99
+ ancient scroll-like with fine detail pattern
100
+ dots pattern
101
+ stripes pattern
102
+ waves pattern
103
+ checks pattern
104
+ grids pattern
105
+ triangles pattern
106
+ circles pattern
107
+ squares pattern
108
+ lines pattern
109
+ hexagons pattern
110
+ stars pattern
111
+ arrows pattern
112
+ hearts pattern
113
+ flowers pattern
114
+ spirals pattern
115
+ swirls pattern
116
+ zigzags pattern
117
+ curves pattern
118
+ hatches pattern
119
+ chevrons pattern
120
+ polka dots pattern
121
+ pinstripes pattern
122
+ crosses pattern
123
+ diamonds pattern
124
+ chains pattern
125
+ plaids pattern
126
+ loops pattern
127
+ slashes pattern
128
+ shards pattern
129
+ dots and dashes pattern
130
+ waves and ripples pattern
131
+ connected lines pattern
132
+ dashed lines pattern
133
+ arcs pattern
134
+ dots and circles pattern
135
+ parallel lines pattern
136
+ overlapping shapes pattern
137
+ bold stripes pattern
138
+ fine lines pattern
139
+ tiny triangles pattern
140
+ interlocking shapes pattern
141
+ random dots pattern
142
+ wavy lines pattern
143
+ crosshatch pattern
144
+ clouds pattern
145
+ abstract lines pattern
146
+ simple dots pattern
147
+ tiny stars pattern
148
+ rays pattern
149
+ petals pattern
150
+ leaves pattern
151
+ small squares pattern
152
+ thin stripes pattern
153
+ angled lines pattern
154
+ stacked lines pattern
155
+ bubbles pattern
156
+ fish scales pattern
157
+ small grids pattern
158
+ honeycombs pattern
159
+ dotted grids pattern
160
+ gradient stripes pattern
161
+ overlapping circles pattern
162
+ linked squares pattern
163
+ tiny arrows pattern
164
+ bold dots pattern
165
+ curly lines pattern
166
+ rounded squares pattern
167
+ broken lines pattern
168
+ double lines pattern
169
+ jagged lines pattern
170
+ random lines pattern
171
+ thin waves pattern
172
+ layered circles pattern
173
+ bold zigzags pattern
174
+ connected dots pattern
175
+ dashed grids pattern
176
+ tiny hexagons pattern
177
+ tiled shapes pattern
178
+ fine grids pattern
179
+ linked chains pattern
180
+ scattered dots pattern
181
+ angled grids pattern
182
+ block shapes pattern
183
+ angled waves pattern
184
+ crisscross lines pattern
185
+ random triangles pattern
186
+ angled stripes pattern
187
+ simple shapes pattern
188
+ line clusters pattern
189
+ staggered lines pattern
190
+ patterned grids pattern
191
+ gradient circles pattern
192
+ tiny diamonds pattern
193
+ scattered stars pattern
194
+ linked patterns pattern
195
+ basic dots pattern
196
+ diagonal lines pattern
197
+ zigzag stripes pattern
198
+ circular dots pattern
199
+ oval shapes pattern
200
+ wavy grids pattern
201
+ crisscross hatches pattern
202
+ parallel stripes pattern
203
+ thin checks pattern
204
+ wide stripes pattern
205
+ tiny grids pattern
206
+ spotted shapes pattern
207
+ spiral dots pattern
208
+ layered grids pattern
209
+ jagged edges pattern
210
+ overlapping lines pattern
211
+ gradient dots pattern
212
+ small rectangles pattern
213
+ offset squares pattern
214
+ scattered circles pattern
215
+ shaded squares pattern
216
+ alternating lines pattern
217
+ dotted stripes pattern
218
+ wavy edges pattern
219
+ tiny bubbles pattern
220
+ striped hexagons pattern
221
+ colorful checks pattern
222
+ linked diamonds pattern
223
+ angled dots pattern
224
+ repeated squares pattern
225
+ offset grids pattern
226
+ staggered shapes pattern
227
+ shaded triangles pattern
228
+ angled zigzags pattern
229
+ scattered arrows pattern
230
+ linked rectangles pattern
231
+ broken grids pattern
232
+ curved lines pattern
233
+ tiny arcs pattern
234
+ overlapping rectangles pattern
235
+ angled shapes pattern
236
+ wide grids pattern
237
+ outlined shapes pattern
238
+ offset triangles pattern
239
+ hollow circles pattern
240
+ streaked lines pattern
241
+ blurred dots pattern
242
+ faint stripes pattern
243
+ tinted shapes pattern
244
+ offset hexagons pattern
245
+ overlapping triangles pattern
246
+ thin grids pattern
247
+ layered stripes pattern
248
+ split diamonds pattern
249
+ gradient waves pattern
250
+ striped bubbles pattern
251
+ angled crosses pattern
252
+ tiny loops pattern
253
+ fuzzy lines pattern
254
+ streaked grids pattern
255
+ hazy circles pattern
256
+ offset lines pattern
257
+ striped stars pattern
258
+ wavy circles pattern
259
+ repeated stars pattern
260
+ angled diamonds pattern
261
+ layered lines pattern
262
+ offset diamonds pattern
263
+ hollow squares pattern
264
+ linked loops pattern
265
+ layered triangles pattern
266
+ scattered bubbles pattern
267
+ random grids pattern
268
+ crossed lines pattern
269
+ layered arcs pattern
270
+ blurry shapes pattern
271
+ faint dots pattern
272
+ striped shapes pattern
273
+ dotted waves pattern
274
+ offset bubbles pattern
275
+ curved grids pattern
276
+ striped arcs pattern
277
+ scattered hexagons pattern
278
+ layered bubbles pattern
279
+ streaked circles pattern
280
+ shaded arcs pattern
281
+ tiny zigzags pattern
282
+ random stars pattern
283
+ faint bubbles pattern
284
+ striped grids pattern
IP_Composer/text_datasets/times_of_day_descriptions.csv ADDED
@@ -0,0 +1,292 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Description
2
+ A picture taken at sunrise
3
+ A picture taken at sunset
4
+ A picture taken at dawn
5
+ A picture taken at dusk
6
+ A picture taken at midday
7
+ A picture taken at midnight
8
+ A picture taken under the morning sun
9
+ A picture taken in the early afternoon
10
+ A picture taken in the late afternoon
11
+ A picture taken under the evening sky
12
+ A picture taken during a starry night
13
+ A picture taken during a cloudy morning
14
+ A picture taken during a foggy dawn
15
+ A picture taken on a clear summer evening
16
+ A picture taken under the golden hour
17
+ A picture taken under moonlight
18
+ A picture taken on a rainy morning
19
+ A picture taken on a snowy evening
20
+ A picture taken under a vibrant sunset
21
+ A picture taken during a thunderstorm
22
+ A picture taken during twilight
23
+ A picture taken under a crimson sky
24
+ A picture taken on a windy afternoon
25
+ A picture taken at the break of dawn
26
+ A picture taken under the pale moonlight
27
+ A picture taken in the blue hour
28
+ A picture taken during the afternoon glow
29
+ A picture taken under the shadow of clouds
30
+ A picture taken during the first light
31
+ A picture taken under the noonday sun
32
+ A picture taken in the pink hues of sunrise
33
+ A picture taken in the orange hues of sunset
34
+ A picture taken during a calm night
35
+ A picture taken under the shimmering stars
36
+ A picture taken in the pre-dawn light
37
+ A picture taken under the evening glow
38
+ A picture taken on a frosty morning
39
+ A picture taken on a sunny afternoon
40
+ A picture taken under a lavender sky
41
+ A picture taken during a quiet dawn
42
+ A picture taken on a humid evening
43
+ A picture taken under the fiery sunset
44
+ A picture taken in the afternoon shadows
45
+ A picture taken on a crisp morning
46
+ A picture taken during a moonlit night
47
+ A picture taken in the soft morning light
48
+ A picture taken under a silver moon
49
+ A picture taken during a vibrant sunrise
50
+ A picture taken under the twilight glow
51
+ A picture taken in the golden dusk
52
+ A picture taken during the shadowy afternoon
53
+ A picture taken under a blazing sun
54
+ A picture taken at the darkest hour
55
+ A picture taken during the sunrise mist
56
+ A picture taken under a sapphire sky
57
+ A picture taken at the first rays of dawn
58
+ A picture taken in the orange twilight
59
+ A picture taken during a hazy morning
60
+ A picture taken under a dramatic sunset
61
+ A picture taken on a serene evening
62
+ A picture taken under the noonday glare
63
+ A picture taken during a tranquil dawn
64
+ A picture taken on a breezy afternoon
65
+ A picture taken during a rainy dusk
66
+ A picture taken under the evening breeze
67
+ A picture taken in the warm evening light
68
+ A picture taken under the glowing embers of sunset
69
+ A picture taken during a late-night storm
70
+ A picture taken under the glowing horizon
71
+ A picture taken in the rosy dawn
72
+ A picture taken during the soft afternoon
73
+ A picture taken on a quiet morning
74
+ A picture taken under the autumnal dusk
75
+ A picture taken in the winter twilight
76
+ A picture taken on a summer morning
77
+ A picture taken under the early morning fog
78
+ A picture taken during the golden morning
79
+ A picture taken on a hazy dusk
80
+ A picture taken in the spring sunrise
81
+ A picture taken under the glowing winter moon
82
+ A picture taken during the last light of day
83
+ A picture taken under the summer solstice sun
84
+ A picture taken in the icy morning air
85
+ A picture taken during a luminous dusk
86
+ A picture taken under a moonlit frost
87
+ A picture taken on a rainy dawn
88
+ A picture taken in the glow of the aurora
89
+ A picture taken under the winter stars
90
+ A picture taken during a chilly sunset
91
+ A picture taken in the arctic twilight
92
+ A picture taken under the gentle afternoon sun
93
+ A picture taken during the last hour of sunlight
94
+ A picture taken under the misty evening glow
95
+ A picture taken in the coral hues of dawn
96
+ A picture taken during a still morning
97
+ A picture taken under the cobalt evening sky
98
+ A picture taken in the amber light of sunset
99
+ A picture taken at high noon
100
+ A picture taken at early twilight
101
+ A picture taken in the moonlit forest
102
+ A picture taken during the blue dawn
103
+ A picture taken on a misty evening
104
+ A picture taken during the golden sunrise
105
+ A picture taken under a starlit sky
106
+ A picture taken on a stormy afternoon
107
+ A picture taken during the hazy sunset
108
+ A picture taken under a glowing evening sky
109
+ A picture taken during a windy morning
110
+ A picture taken in the glowing morning haze
111
+ A picture taken during a frosty dawn
112
+ A picture taken under the clear afternoon sky
113
+ A picture taken on a peaceful night
114
+ A picture taken during the orange dusk
115
+ A picture taken on a rainy night
116
+ A picture taken in the foggy evening
117
+ A picture taken under a bright moon
118
+ A picture taken on a calm afternoon
119
+ A picture taken during a clear winter night
120
+ A picture taken under the springtime sun
121
+ A picture taken at the height of dawn
122
+ A picture taken during the shimmering twilight
123
+ A picture taken under a sapphire morning
124
+ A picture taken on a breezy evening
125
+ A picture taken at the morning break
126
+ A picture taken during a fiery dusk
127
+ A picture taken under the blazing summer sun
128
+ A picture taken in the luminous dawn
129
+ A picture taken during a clear night
130
+ A picture taken on a frosty evening
131
+ A picture taken at the edge of twilight
132
+ A picture taken in the glow of sunrise
133
+ A picture taken during the last rays of light
134
+ A picture taken under the gentle starlight
135
+ A picture taken on a golden afternoon
136
+ A picture taken in the shimmering evening
137
+ A picture taken during the misty sunrise
138
+ A picture taken under the pale dawn
139
+ A picture taken on a shadowy dusk
140
+ A picture taken under the orange morning
141
+ A picture taken in the silver evening light
142
+ A picture taken during the early sunrise
143
+ A picture taken under the radiant midday sun
144
+ A picture taken in the autumn dawn
145
+ A picture taken during the stormy dusk
146
+ A picture taken under the first light of morning
147
+ A picture taken on a calm winter night
148
+ A picture taken during the soft golden hour
149
+ A picture taken on a bright afternoon
150
+ A picture taken in the gentle morning glow
151
+ A picture taken under the hazy twilight
152
+ A picture taken in the serene afternoon
153
+ A picture taken during a warm summer dawn
154
+ A picture taken under the clear winter skies
155
+ A picture taken in the shimmering morning light
156
+ A picture taken at the edge of night
157
+ A picture taken in the blue morning haze
158
+ A picture taken under the vibrant noonday sun
159
+ A picture taken in the glowing sunset haze
160
+ A picture taken during the frosty twilight
161
+ A picture taken under the faint moonlight
162
+ A picture taken on a stormy evening
163
+ A picture taken during the golden evening glow
164
+ A picture taken under the brilliant stars
165
+ A picture taken in the radiant morning
166
+ A picture taken during a misty dawn
167
+ A picture taken under the glowing clouds of sunrise
168
+ A picture taken in the soft evening twilight
169
+ A picture taken at the heart of the night
170
+ A picture taken in the gleaming afternoon sun
171
+ A picture taken under the golden sky
172
+ A picture taken in the deep blue dusk
173
+ A picture taken during the shimmering aurora
174
+ A picture taken under the morning frost
175
+ A picture taken during the silver dusk
176
+ A picture taken in the summer twilight
177
+ A picture taken under the warm morning light
178
+ A picture taken during the radiant sunset
179
+ A picture taken in the quiet afternoon glow
180
+ A picture taken under the soft light of dawn
181
+ A picture taken during the hazy golden hour
182
+ A picture taken under the sparkling morning frost
183
+ A picture taken in the violet dusk
184
+ A picture taken under the crisp winter sun
185
+ A picture taken in the serene spring sunrise
186
+ A picture taken during the tranquil night
187
+ A picture taken in the glowing evening warmth
188
+ A picture taken under the star-filled sky
189
+ A picture taken in the pink morning haze
190
+ A picture taken under the glowing sunrise hues
191
+ A picture taken in the quiet golden hour
192
+ A picture taken during the icy morning glow
193
+ A picture taken under the vibrant evening light
194
+ A picture taken in the early evening shadows
195
+ A picture taken under the pale sunset glow
196
+ A picture taken in the luminous starlight
197
+ A picture taken at the golden crest of dawn
198
+ A picture taken under the vibrant sunset glow
199
+ A picture taken during a radiant evening
200
+ A picture taken on a tranquil dawn
201
+ A picture taken in the fading afternoon light
202
+ A picture taken during the shimmering sunset
203
+ A picture taken under the darkening sky
204
+ A picture taken in the glowing starlight
205
+ A picture taken during the crimson sunset
206
+ A picture taken under the twilight shadows
207
+ A picture taken in the soft golden sunlight
208
+ A picture taken during the windy dusk
209
+ A picture taken under the glowing horizon at dawn
210
+ A picture taken in the cool morning mist
211
+ A picture taken during the vibrant twilight
212
+ A picture taken under the pale morning light
213
+ A picture taken in the shimmering moonlit haze
214
+ A picture taken under the radiant evening stars
215
+ A picture taken in the autumnal morning
216
+ A picture taken during the bright snowy sunrise
217
+ A picture taken under the glowing clouds of twilight
218
+ A picture taken in the golden glow of morning
219
+ A picture taken under the serene night sky
220
+ A picture taken in the fiery dusk haze
221
+ A picture taken during the pale winter sunrise
222
+ A picture taken under the morning sky's soft glow
223
+ A picture taken in the violet evening
224
+ A picture taken under the crisp, clear winter dusk
225
+ A picture taken in the tranquil twilight
226
+ A picture taken during the pink morning glow
227
+ A picture taken under the icy shimmer of dawn
228
+ A picture taken in the warmth of the evening glow
229
+ A picture taken during a cool starry night
230
+ A picture taken under the fiery crimson sky
231
+ A picture taken in the last light of the day
232
+ A picture taken under the fading golden light
233
+ A picture taken in the pale, icy morning glow
234
+ A picture taken under the soft pink sunrise
235
+ A picture taken in the vibrant summer twilight
236
+ A picture taken under the radiant afternoon sun
237
+ A picture taken in the winter morning frost
238
+ A picture taken under the golden stars of dusk
239
+ A picture taken in the serene pink evening
240
+ A picture taken under the last glow of the horizon
241
+ A picture taken in the crisp blue twilight
242
+ A picture taken under the glowing silver moon
243
+ A picture taken in the frosty golden morning light
244
+ A picture taken during the warm autumn dusk
245
+ A picture taken under the summer evening breeze
246
+ A picture taken in the hazy golden sunrise
247
+ A picture taken under the cold glow of moonlight
248
+ A picture taken in the fiery orange sunset glow
249
+ A picture taken under the icy dawn sky
250
+ A picture taken during the radiant pink twilight
251
+ A picture taken in the calm after a summer rain
252
+ A picture taken under the serene evening stars
253
+ A picture taken in the warm afternoon breeze
254
+ A picture taken under the pale violet evening glow
255
+ A picture taken in the shimmering morning dew
256
+ A picture taken under the misty dawn clouds
257
+ A picture taken during the silver moonlit dawn
258
+ A picture taken in the bright blue midday sky
259
+ A picture taken under the pale orange horizon
260
+ A picture taken in the shimmering snow-covered dusk
261
+ A picture taken during the tranquil autumn morning
262
+ A picture taken under the glowing morning clouds
263
+ A picture taken in the shadow of the dawn
264
+ A picture taken under the silver starlit glow
265
+ A picture taken in the quiet glow of the morning sun
266
+ A picture taken under the serene golden dawn light
267
+ A picture taken in the gentle blue of early morning
268
+ A picture taken under the warm glow of twilight
269
+ A picture taken in the crisp air of winter sunrise
270
+ A picture taken under the vibrant hues of evening
271
+ A picture taken in the tranquil calm of dawn
272
+ A picture taken under the icy blue evening light
273
+ A picture taken in the warm glow of dusk
274
+ A picture taken under the shimmering pink and orange sky
275
+ A picture taken in the golden hour before sunset
276
+ A picture taken under the serene violet morning haze
277
+ A picture taken in the last rays of golden light
278
+ A picture taken under the deep blue winter twilight
279
+ A picture taken in the frosty pink dawn haze
280
+ A picture taken under the glow of an evening aurora
281
+ A picture taken in the crisp, clear evening sky
282
+ A picture taken under the faint shimmer of dawn
283
+ A picture taken in the vivid glow of a summer morning
284
+ A picture taken under the orange hues of autumn sunset
285
+ A picture taken in the silver and blue of night
286
+ A picture taken under the golden shimmer of twilight
287
+ A picture taken in the warm air of spring sunrise
288
+ A picture taken under the fading light of the day
289
+ A picture taken in the pink and purple evening hues
290
+ A picture taken under the vibrant morning sunlight
291
+ A picture taken in the glow of the first light of dawn
292
+ A picture taken under the shimmering stars of midnight
IP_Composer/text_datasets/vehicle_color_descriptions.csv ADDED
@@ -0,0 +1,1521 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Vehicle Description
2
+ A picture with a red sports car.
3
+ A picture with a blue sports car.
4
+ A picture with a green sports car.
5
+ A picture with a yellow sports car.
6
+ A picture with a black sports car.
7
+ A picture with a white sports car.
8
+ A picture with a orange sports car.
9
+ A picture with a purple sports car.
10
+ A picture with a red sedan.
11
+ A picture with a blue sedan.
12
+ A picture with a green sedan.
13
+ A picture with a yellow sedan.
14
+ A picture with a black sedan.
15
+ A picture with a white sedan.
16
+ A picture with a orange sedan.
17
+ A picture with a purple sedan.
18
+ A picture with a red school bus.
19
+ A picture with a blue school bus.
20
+ A picture with a green school bus.
21
+ A picture with a yellow school bus.
22
+ A picture with a black school bus.
23
+ A picture with a white school bus.
24
+ A picture with a orange school bus.
25
+ A picture with a purple school bus.
26
+ A picture with a red pickup truck.
27
+ A picture with a blue pickup truck.
28
+ A picture with a green pickup truck.
29
+ A picture with a yellow pickup truck.
30
+ A picture with a black pickup truck.
31
+ A picture with a white pickup truck.
32
+ A picture with a orange pickup truck.
33
+ A picture with a purple pickup truck.
34
+ A picture with a red convertible.
35
+ A picture with a blue convertible.
36
+ A picture with a green convertible.
37
+ A picture with a yellow convertible.
38
+ A picture with a black convertible.
39
+ A picture with a white convertible.
40
+ A picture with a orange convertible.
41
+ A picture with a purple convertible.
42
+ A picture with a red SUV.
43
+ A picture with a blue SUV.
44
+ A picture with a green SUV.
45
+ A picture with a yellow SUV.
46
+ A picture with a black SUV.
47
+ A picture with a white SUV.
48
+ A picture with a orange SUV.
49
+ A picture with a purple SUV.
50
+ A picture with a red classic car.
51
+ A picture with a blue classic car.
52
+ A picture with a green classic car.
53
+ A picture with a yellow classic car.
54
+ A picture with a black classic car.
55
+ A picture with a white classic car.
56
+ A picture with a orange classic car.
57
+ A picture with a purple classic car.
58
+ A picture with a red minivan.
59
+ A picture with a blue minivan.
60
+ A picture with a green minivan.
61
+ A picture with a yellow minivan.
62
+ A picture with a black minivan.
63
+ A picture with a white minivan.
64
+ A picture with a orange minivan.
65
+ A picture with a purple minivan.
66
+ A picture with a red motorcycle.
67
+ A picture with a blue motorcycle.
68
+ A picture with a green motorcycle.
69
+ A picture with a yellow motorcycle.
70
+ A picture with a black motorcycle.
71
+ A picture with a white motorcycle.
72
+ A picture with a orange motorcycle.
73
+ A picture with a purple motorcycle.
74
+ A picture with a red delivery van.
75
+ A picture with a blue delivery van.
76
+ A picture with a green delivery van.
77
+ A picture with a yellow delivery van.
78
+ A picture with a black delivery van.
79
+ A picture with a white delivery van.
80
+ A picture with a orange delivery van.
81
+ A picture with a purple delivery van.
82
+ A picture with a red vintage truck.
83
+ A picture with a blue vintage truck.
84
+ A picture with a green vintage truck.
85
+ A picture with a yellow vintage truck.
86
+ A picture with a black vintage truck.
87
+ A picture with a white vintage truck.
88
+ A picture with a orange vintage truck.
89
+ A picture with a purple vintage truck.
90
+ A picture with a red limousine.
91
+ A picture with a blue limousine.
92
+ A picture with a green limousine.
93
+ A picture with a yellow limousine.
94
+ A picture with a black limousine.
95
+ A picture with a white limousine.
96
+ A picture with a orange limousine.
97
+ A picture with a purple limousine.
98
+ A picture with a red hatchback.
99
+ A picture with a blue hatchback.
100
+ A picture with a green hatchback.
101
+ A picture with a yellow hatchback.
102
+ A picture with a black hatchback.
103
+ A picture with a white hatchback.
104
+ A picture with a orange hatchback.
105
+ A picture with a purple hatchback.
106
+ A picture with a red coupe.
107
+ A picture with a blue coupe.
108
+ A picture with a green coupe.
109
+ A picture with a yellow coupe.
110
+ A picture with a black coupe.
111
+ A picture with a white coupe.
112
+ A picture with a orange coupe.
113
+ A picture with a purple coupe.
114
+ A picture with a red dune buggy.
115
+ A picture with a blue dune buggy.
116
+ A picture with a green dune buggy.
117
+ A picture with a yellow dune buggy.
118
+ A picture with a black dune buggy.
119
+ A picture with a white dune buggy.
120
+ A picture with a orange dune buggy.
121
+ A picture with a purple dune buggy.
122
+ A picture with a red racecar.
123
+ A picture with a blue racecar.
124
+ A picture with a green racecar.
125
+ A picture with a yellow racecar.
126
+ A picture with a black racecar.
127
+ A picture with a white racecar.
128
+ A picture with a orange racecar.
129
+ A picture with a purple racecar.
130
+ A picture with a red electric car.
131
+ A picture with a blue electric car.
132
+ A picture with a green electric car.
133
+ A picture with a yellow electric car.
134
+ A picture with a black electric car.
135
+ A picture with a white electric car.
136
+ A picture with a orange electric car.
137
+ A picture with a purple electric car.
138
+ A picture with a red luxury SUV.
139
+ A picture with a blue luxury SUV.
140
+ A picture with a green luxury SUV.
141
+ A picture with a yellow luxury SUV.
142
+ A picture with a black luxury SUV.
143
+ A picture with a white luxury SUV.
144
+ A picture with a orange luxury SUV.
145
+ A picture with a purple luxury SUV.
146
+ A picture with a red police car.
147
+ A picture with a blue police car.
148
+ A picture with a green police car.
149
+ A picture with a yellow police car.
150
+ A picture with a black police car.
151
+ A picture with a white police car.
152
+ A picture with a orange police car.
153
+ A picture with a purple police car.
154
+ A picture with a red military jeep.
155
+ A picture with a blue military jeep.
156
+ A picture with a green military jeep.
157
+ A picture with a yellow military jeep.
158
+ A picture with a black military jeep.
159
+ A picture with a white military jeep.
160
+ A picture with a orange military jeep.
161
+ A picture with a purple military jeep.
162
+ A picture with a red taxi cab.
163
+ A picture with a blue taxi cab.
164
+ A picture with a green taxi cab.
165
+ A picture with a yellow taxi cab.
166
+ A picture with a black taxi cab.
167
+ A picture with a white taxi cab.
168
+ A picture with a orange taxi cab.
169
+ A picture with a purple taxi cab.
170
+ A picture with a red camper van.
171
+ A picture with a blue camper van.
172
+ A picture with a green camper van.
173
+ A picture with a yellow camper van.
174
+ A picture with a black camper van.
175
+ A picture with a white camper van.
176
+ A picture with a orange camper van.
177
+ A picture with a purple camper van.
178
+ A picture with a red firetruck.
179
+ A picture with a blue firetruck.
180
+ A picture with a green firetruck.
181
+ A picture with a yellow firetruck.
182
+ A picture with a black firetruck.
183
+ A picture with a white firetruck.
184
+ A picture with a orange firetruck.
185
+ A picture with a purple firetruck.
186
+ A picture with a red tow truck.
187
+ A picture with a blue tow truck.
188
+ A picture with a green tow truck.
189
+ A picture with a yellow tow truck.
190
+ A picture with a black tow truck.
191
+ A picture with a white tow truck.
192
+ A picture with a orange tow truck.
193
+ A picture with a purple tow truck.
194
+ A picture with a red cargo truck.
195
+ A picture with a blue cargo truck.
196
+ A picture with a green cargo truck.
197
+ A picture with a yellow cargo truck.
198
+ A picture with a black cargo truck.
199
+ A picture with a white cargo truck.
200
+ A picture with a orange cargo truck.
201
+ A picture with a purple cargo truck.
202
+ A picture with a red garbage truck.
203
+ A picture with a blue garbage truck.
204
+ A picture with a green garbage truck.
205
+ A picture with a yellow garbage truck.
206
+ A picture with a black garbage truck.
207
+ A picture with a white garbage truck.
208
+ A picture with a orange garbage truck.
209
+ A picture with a purple garbage truck.
210
+ A picture with a red roadster.
211
+ A picture with a blue roadster.
212
+ A picture with a green roadster.
213
+ A picture with a yellow roadster.
214
+ A picture with a black roadster.
215
+ A picture with a white roadster.
216
+ A picture with a orange roadster.
217
+ A picture with a purple roadster.
218
+ A picture with a red armored vehicle.
219
+ A picture with a blue armored vehicle.
220
+ A picture with a green armored vehicle.
221
+ A picture with a yellow armored vehicle.
222
+ A picture with a black armored vehicle.
223
+ A picture with a white armored vehicle.
224
+ A picture with a orange armored vehicle.
225
+ A picture with a purple armored vehicle.
226
+ A picture with a red antique car.
227
+ A picture with a blue antique car.
228
+ A picture with a green antique car.
229
+ A picture with a yellow antique car.
230
+ A picture with a black antique car.
231
+ A picture with a white antique car.
232
+ A picture with a orange antique car.
233
+ A picture with a purple antique car.
234
+ A picture with a red tractor.
235
+ A picture with a blue tractor.
236
+ A picture with a green tractor.
237
+ A picture with a yellow tractor.
238
+ A picture with a black tractor.
239
+ A picture with a white tractor.
240
+ A picture with a orange tractor.
241
+ A picture with a purple tractor.
242
+ A picture with a red RV.
243
+ A picture with a blue RV.
244
+ A picture with a green RV.
245
+ A picture with a yellow RV.
246
+ A picture with a black RV.
247
+ A picture with a white RV.
248
+ A picture with a orange RV.
249
+ A picture with a purple RV.
250
+ A picture with a red ambulance.
251
+ A picture with a blue ambulance.
252
+ A picture with a green ambulance.
253
+ A picture with a yellow ambulance.
254
+ A picture with a black ambulance.
255
+ A picture with a white ambulance.
256
+ A picture with a orange ambulance.
257
+ A picture with a purple ambulance.
258
+ A picture with a red hearse.
259
+ A picture with a blue hearse.
260
+ A picture with a green hearse.
261
+ A picture with a yellow hearse.
262
+ A picture with a black hearse.
263
+ A picture with a white hearse.
264
+ A picture with a orange hearse.
265
+ A picture with a purple hearse.
266
+ A picture with a red race bike.
267
+ A picture with a blue race bike.
268
+ A picture with a green race bike.
269
+ A picture with a yellow race bike.
270
+ A picture with a black race bike.
271
+ A picture with a white race bike.
272
+ A picture with a orange race bike.
273
+ A picture with a purple race bike.
274
+ A picture with a red quad bike.
275
+ A picture with a blue quad bike.
276
+ A picture with a green quad bike.
277
+ A picture with a yellow quad bike.
278
+ A picture with a black quad bike.
279
+ A picture with a white quad bike.
280
+ A picture with a orange quad bike.
281
+ A picture with a purple quad bike.
282
+ A picture with a red scooter.
283
+ A picture with a blue scooter.
284
+ A picture with a green scooter.
285
+ A picture with a yellow scooter.
286
+ A picture with a black scooter.
287
+ A picture with a white scooter.
288
+ A picture with a orange scooter.
289
+ A picture with a purple scooter.
290
+ A picture with a red luxury car.
291
+ A picture with a blue luxury car.
292
+ A picture with a green luxury car.
293
+ A picture with a yellow luxury car.
294
+ A picture with a black luxury car.
295
+ A picture with a white luxury car.
296
+ A picture with a orange luxury car.
297
+ A picture with a purple luxury car.
298
+ A picture with a red stretch limousine.
299
+ A picture with a blue stretch limousine.
300
+ A picture with a green stretch limousine.
301
+ A picture with a yellow stretch limousine.
302
+ A picture with a black stretch limousine.
303
+ A picture with a white stretch limousine.
304
+ A picture with a orange stretch limousine.
305
+ A picture with a purple stretch limousine.
306
+ A picture with a red tank truck.
307
+ A picture with a blue tank truck.
308
+ A picture with a green tank truck.
309
+ A picture with a yellow tank truck.
310
+ A picture with a black tank truck.
311
+ A picture with a white tank truck.
312
+ A picture with a orange tank truck.
313
+ A picture with a purple tank truck.
314
+ A picture with a red custom bike.
315
+ A picture with a blue custom bike.
316
+ A picture with a green custom bike.
317
+ A picture with a yellow custom bike.
318
+ A picture with a black custom bike.
319
+ A picture with a white custom bike.
320
+ A picture with a orange custom bike.
321
+ A picture with a purple custom bike.
322
+ A picture with a red snowmobile.
323
+ A picture with a blue snowmobile.
324
+ A picture with a green snowmobile.
325
+ A picture with a yellow snowmobile.
326
+ A picture with a black snowmobile.
327
+ A picture with a white snowmobile.
328
+ A picture with a orange snowmobile.
329
+ A picture with a purple snowmobile.
330
+ A picture with a red ATV.
331
+ A picture with a blue ATV.
332
+ A picture with a green ATV.
333
+ A picture with a yellow ATV.
334
+ A picture with a black ATV.
335
+ A picture with a white ATV.
336
+ A picture with a orange ATV.
337
+ A picture with a purple ATV.
338
+ A picture with a red three-wheeler.
339
+ A picture with a blue three-wheeler.
340
+ A picture with a green three-wheeler.
341
+ A picture with a yellow three-wheeler.
342
+ A picture with a black three-wheeler.
343
+ A picture with a white three-wheeler.
344
+ A picture with a orange three-wheeler.
345
+ A picture with a purple three-wheeler.
346
+ A picture with a red ice cream truck.
347
+ A picture with a blue ice cream truck.
348
+ A picture with a green ice cream truck.
349
+ A picture with a yellow ice cream truck.
350
+ A picture with a black ice cream truck.
351
+ A picture with a white ice cream truck.
352
+ A picture with a orange ice cream truck.
353
+ A picture with a purple ice cream truck.
354
+ A picture with a red crane truck.
355
+ A picture with a blue crane truck.
356
+ A picture with a green crane truck.
357
+ A picture with a yellow crane truck.
358
+ A picture with a black crane truck.
359
+ A picture with a white crane truck.
360
+ A picture with a orange crane truck.
361
+ A picture with a purple crane truck.
362
+ A picture with a red hybrid SUV.
363
+ A picture with a blue hybrid SUV.
364
+ A picture with a green hybrid SUV.
365
+ A picture with a yellow hybrid SUV.
366
+ A picture with a black hybrid SUV.
367
+ A picture with a white hybrid SUV.
368
+ A picture with a orange hybrid SUV.
369
+ A picture with a purple hybrid SUV.
370
+ A picture with a red cruiser.
371
+ A picture with a blue cruiser.
372
+ A picture with a green cruiser.
373
+ A picture with a yellow cruiser.
374
+ A picture with a black cruiser.
375
+ A picture with a white cruiser.
376
+ A picture with a orange cruiser.
377
+ A picture with a purple cruiser.
378
+ A picture with a red farm truck.
379
+ A picture with a blue farm truck.
380
+ A picture with a green farm truck.
381
+ A picture with a yellow farm truck.
382
+ A picture with a black farm truck.
383
+ A picture with a white farm truck.
384
+ A picture with a orange farm truck.
385
+ A picture with a purple farm truck.
386
+ A picture with a red sports bike.
387
+ A picture with a blue sports bike.
388
+ A picture with a green sports bike.
389
+ A picture with a yellow sports bike.
390
+ A picture with a black sports bike.
391
+ A picture with a white sports bike.
392
+ A picture with a orange sports bike.
393
+ A picture with a purple sports bike.
394
+ A picture with a red hybrid car.
395
+ A picture with a blue hybrid car.
396
+ A picture with a green hybrid car.
397
+ A picture with a yellow hybrid car.
398
+ A picture with a black hybrid car.
399
+ A picture with a white hybrid car.
400
+ A picture with a orange hybrid car.
401
+ A picture with a purple hybrid car.
402
+ A picture with a red monster truck.
403
+ A picture with a blue monster truck.
404
+ A picture with a green monster truck.
405
+ A picture with a yellow monster truck.
406
+ A picture with a black monster truck.
407
+ A picture with a white monster truck.
408
+ A picture with a orange monster truck.
409
+ A picture with a purple monster truck.
410
+ A picture with a red off-road vehicle.
411
+ A picture with a blue off-road vehicle.
412
+ A picture with a green off-road vehicle.
413
+ A picture with a yellow off-road vehicle.
414
+ A picture with a black off-road vehicle.
415
+ A picture with a white off-road vehicle.
416
+ A picture with a orange off-road vehicle.
417
+ A picture with a purple off-road vehicle.
418
+ A picture with a red custom van.
419
+ A picture with a blue custom van.
420
+ A picture with a green custom van.
421
+ A picture with a yellow custom van.
422
+ A picture with a black custom van.
423
+ A picture with a white custom van.
424
+ A picture with a orange custom van.
425
+ A picture with a purple custom van.
426
+ A picture with a red jet ski trailer.
427
+ A picture with a blue jet ski trailer.
428
+ A picture with a green jet ski trailer.
429
+ A picture with a yellow jet ski trailer.
430
+ A picture with a black jet ski trailer.
431
+ A picture with a white jet ski trailer.
432
+ A picture with a orange jet ski trailer.
433
+ A picture with a purple jet ski trailer.
434
+ A picture with a red ladder truck.
435
+ A picture with a blue ladder truck.
436
+ A picture with a green ladder truck.
437
+ A picture with a yellow ladder truck.
438
+ A picture with a black ladder truck.
439
+ A picture with a white ladder truck.
440
+ A picture with a orange ladder truck.
441
+ A picture with a purple ladder truck.
442
+ A picture with a red racing SUV.
443
+ A picture with a blue racing SUV.
444
+ A picture with a green racing SUV.
445
+ A picture with a yellow racing SUV.
446
+ A picture with a black racing SUV.
447
+ A picture with a white racing SUV.
448
+ A picture with a orange racing SUV.
449
+ A picture with a purple racing SUV.
450
+ A picture with a red touring bus.
451
+ A picture with a blue touring bus.
452
+ A picture with a green touring bus.
453
+ A picture with a yellow touring bus.
454
+ A picture with a black touring bus.
455
+ A picture with a white touring bus.
456
+ A picture with a orange touring bus.
457
+ A picture with a purple touring bus.
458
+ A picture with a red electric van.
459
+ A picture with a blue electric van.
460
+ A picture with a green electric van.
461
+ A picture with a yellow electric van.
462
+ A picture with a black electric van.
463
+ A picture with a white electric van.
464
+ A picture with a orange electric van.
465
+ A picture with a purple electric van.
466
+ A picture with a red compact car.
467
+ A picture with a blue compact car.
468
+ A picture with a green compact car.
469
+ A picture with a yellow compact car.
470
+ A picture with a black compact car.
471
+ A picture with a white compact car.
472
+ A picture with a orange compact car.
473
+ A picture with a purple compact car.
474
+ A picture with a red autonomous shuttle bus.
475
+ A picture with a blue autonomous shuttle bus.
476
+ A picture with a green autonomous shuttle bus.
477
+ A picture with a yellow autonomous shuttle bus.
478
+ A picture with a black autonomous shuttle bus.
479
+ A picture with a white autonomous shuttle bus.
480
+ A picture with a orange autonomous shuttle bus.
481
+ A picture with a purple autonomous shuttle bus.
482
+ A picture with a red construction truck.
483
+ A picture with a blue construction truck.
484
+ A picture with a green construction truck.
485
+ A picture with a yellow construction truck.
486
+ A picture with a black construction truck.
487
+ A picture with a white construction truck.
488
+ A picture with a orange construction truck.
489
+ A picture with a purple construction truck.
490
+ A picture with a red bank truck.
491
+ A picture with a blue bank truck.
492
+ A picture with a green bank truck.
493
+ A picture with a yellow bank truck.
494
+ A picture with a black bank truck.
495
+ A picture with a white bank truck.
496
+ A picture with a orange bank truck.
497
+ A picture with a purple bank truck.
498
+ A picture with a red city bus.
499
+ A picture with a blue city bus.
500
+ A picture with a green city bus.
501
+ A picture with a yellow city bus.
502
+ A picture with a black city bus.
503
+ A picture with a white city bus.
504
+ A picture with a orange city bus.
505
+ A picture with a purple city bus.
506
+ A picture with a red station wagon.
507
+ A picture with a blue station wagon.
508
+ A picture with a green station wagon.
509
+ A picture with a yellow station wagon.
510
+ A picture with a black station wagon.
511
+ A picture with a white station wagon.
512
+ A picture with a orange station wagon.
513
+ A picture with a purple station wagon.
514
+ A picture with a red golf cart.
515
+ A picture with a blue golf cart.
516
+ A picture with a green golf cart.
517
+ A picture with a yellow golf cart.
518
+ A picture with a black golf cart.
519
+ A picture with a white golf cart.
520
+ A picture with a orange golf cart.
521
+ A picture with a purple golf cart.
522
+ A picture with a red dirt bike.
523
+ A picture with a blue dirt bike.
524
+ A picture with a green dirt bike.
525
+ A picture with a yellow dirt bike.
526
+ A picture with a black dirt bike.
527
+ A picture with a white dirt bike.
528
+ A picture with a orange dirt bike.
529
+ A picture with a purple dirt bike.
530
+ A picture with a red off-road jeep.
531
+ A picture with a blue off-road jeep.
532
+ A picture with a green off-road jeep.
533
+ A picture with a yellow off-road jeep.
534
+ A picture with a black off-road jeep.
535
+ A picture with a white off-road jeep.
536
+ A picture with a orange off-road jeep.
537
+ A picture with a purple off-road jeep.
538
+ A picture with a red solar car.
539
+ A picture with a blue solar car.
540
+ A picture with a green solar car.
541
+ A picture with a yellow solar car.
542
+ A picture with a black solar car.
543
+ A picture with a white solar car.
544
+ A picture with a orange solar car.
545
+ A picture with a purple solar car.
546
+ A picture with a red drift car.
547
+ A picture with a blue drift car.
548
+ A picture with a green drift car.
549
+ A picture with a yellow drift car.
550
+ A picture with a black drift car.
551
+ A picture with a white drift car.
552
+ A picture with a orange drift car.
553
+ A picture with a purple drift car.
554
+ A picture with a red patrol vehicle.
555
+ A picture with a blue patrol vehicle.
556
+ A picture with a green patrol vehicle.
557
+ A picture with a yellow patrol vehicle.
558
+ A picture with a black patrol vehicle.
559
+ A picture with a white patrol vehicle.
560
+ A picture with a orange patrol vehicle.
561
+ A picture with a purple patrol vehicle.
562
+ A picture with a red supercar.
563
+ A picture with a blue supercar.
564
+ A picture with a green supercar.
565
+ A picture with a yellow supercar.
566
+ A picture with a black supercar.
567
+ A picture with a white supercar.
568
+ A picture with a orange supercar.
569
+ A picture with a purple supercar.
570
+ A picture with a red tricycle.
571
+ A picture with a blue tricycle.
572
+ A picture with a green tricycle.
573
+ A picture with a yellow tricycle.
574
+ A picture with a black tricycle.
575
+ A picture with a white tricycle.
576
+ A picture with a orange tricycle.
577
+ A picture with a purple tricycle.
578
+ A picture with a red cargo van.
579
+ A picture with a blue cargo van.
580
+ A picture with a green cargo van.
581
+ A picture with a yellow cargo van.
582
+ A picture with a black cargo van.
583
+ A picture with a white cargo van.
584
+ A picture with a orange cargo van.
585
+ A picture with a purple cargo van.
586
+ A picture with a red camper trailer.
587
+ A picture with a blue camper trailer.
588
+ A picture with a green camper trailer.
589
+ A picture with a yellow camper trailer.
590
+ A picture with a black camper trailer.
591
+ A picture with a white camper trailer.
592
+ A picture with a orange camper trailer.
593
+ A picture with a purple camper trailer.
594
+ A picture with a red RV with stripes.
595
+ A picture with a blue RV with stripes.
596
+ A picture with a green RV with stripes.
597
+ A picture with a yellow RV with stripes.
598
+ A picture with a black RV with stripes.
599
+ A picture with a white RV with stripes.
600
+ A picture with a orange RV with stripes.
601
+ A picture with a purple RV with stripes.
602
+ A picture with a red delivery scooter.
603
+ A picture with a blue delivery scooter.
604
+ A picture with a green delivery scooter.
605
+ A picture with a yellow delivery scooter.
606
+ A picture with a black delivery scooter.
607
+ A picture with a white delivery scooter.
608
+ A picture with a orange delivery scooter.
609
+ A picture with a purple delivery scooter.
610
+ A picture with a red luxury limousine.
611
+ A picture with a blue luxury limousine.
612
+ A picture with a green luxury limousine.
613
+ A picture with a yellow luxury limousine.
614
+ A picture with a black luxury limousine.
615
+ A picture with a white luxury limousine.
616
+ A picture with a orange luxury limousine.
617
+ A picture with a purple luxury limousine.
618
+ A picture with a red compact sedan.
619
+ A picture with a blue compact sedan.
620
+ A picture with a green compact sedan.
621
+ A picture with a yellow compact sedan.
622
+ A picture with a black compact sedan.
623
+ A picture with a white compact sedan.
624
+ A picture with a orange compact sedan.
625
+ A picture with a purple compact sedan.
626
+ A picture with a red concept car.
627
+ A picture with a blue concept car.
628
+ A picture with a green concept car.
629
+ A picture with a yellow concept car.
630
+ A picture with a black concept car.
631
+ A picture with a white concept car.
632
+ A picture with a orange concept car.
633
+ A picture with a purple concept car.
634
+ A picture with a red autonomous vehicle.
635
+ A picture with a blue autonomous vehicle.
636
+ A picture with a green autonomous vehicle.
637
+ A picture with a yellow autonomous vehicle.
638
+ A picture with a black autonomous vehicle.
639
+ A picture with a white autonomous vehicle.
640
+ A picture with a orange autonomous vehicle.
641
+ A picture with a purple autonomous vehicle.
642
+ A picture with a red VW Beetle.
643
+ A picture with a blue VW Beetle.
644
+ A picture with a green VW Beetle.
645
+ A picture with a yellow VW Beetle.
646
+ A picture with a black VW Beetle.
647
+ A picture with a white VW Beetle.
648
+ A picture with a orange VW Beetle.
649
+ A picture with a purple VW Beetle.
650
+ A picture with a red beverage truck.
651
+ A picture with a blue beverage truck.
652
+ A picture with a green beverage truck.
653
+ A picture with a yellow beverage truck.
654
+ A picture with a black beverage truck.
655
+ A picture with a white beverage truck.
656
+ A picture with a orange beverage truck.
657
+ A picture with a purple beverage truck.
658
+ A picture with a red food truck.
659
+ A picture with a blue food truck.
660
+ A picture with a green food truck.
661
+ A picture with a yellow food truck.
662
+ A picture with a black food truck.
663
+ A picture with a white food truck.
664
+ A picture with a orange food truck.
665
+ A picture with a purple food truck.
666
+ A picture with a red cargo trailer.
667
+ A picture with a blue cargo trailer.
668
+ A picture with a green cargo trailer.
669
+ A picture with a yellow cargo trailer.
670
+ A picture with a black cargo trailer.
671
+ A picture with a white cargo trailer.
672
+ A picture with a orange cargo trailer.
673
+ A picture with a purple cargo trailer.
674
+ A picture with a red bulldozer.
675
+ A picture with a blue bulldozer.
676
+ A picture with a green bulldozer.
677
+ A picture with a yellow bulldozer.
678
+ A picture with a black bulldozer.
679
+ A picture with a white bulldozer.
680
+ A picture with a orange bulldozer.
681
+ A picture with a purple bulldozer.
682
+ A picture with a red tram car.
683
+ A picture with a blue tram car.
684
+ A picture with a green tram car.
685
+ A picture with a yellow tram car.
686
+ A picture with a black tram car.
687
+ A picture with a white tram car.
688
+ A picture with a orange tram car.
689
+ A picture with a purple tram car.
690
+ A picture with a red bus.
691
+ A picture with a blue bus.
692
+ A picture with a green bus.
693
+ A picture with a yellow bus.
694
+ A picture with a black bus.
695
+ A picture with a white bus.
696
+ A picture with a orange bus.
697
+ A picture with a purple bus.
698
+ A picture with a red taxi.
699
+ A picture with a blue taxi.
700
+ A picture with a green taxi.
701
+ A picture with a yellow taxi.
702
+ A picture with a black taxi.
703
+ A picture with a white taxi.
704
+ A picture with a orange taxi.
705
+ A picture with a purple taxi.
706
+ A picture with a red custom jeep.
707
+ A picture with a blue custom jeep.
708
+ A picture with a green custom jeep.
709
+ A picture with a yellow custom jeep.
710
+ A picture with a black custom jeep.
711
+ A picture with a white custom jeep.
712
+ A picture with a orange custom jeep.
713
+ A picture with a purple custom jeep.
714
+ A picture with a red chopper bike.
715
+ A picture with a blue chopper bike.
716
+ A picture with a green chopper bike.
717
+ A picture with a yellow chopper bike.
718
+ A picture with a black chopper bike.
719
+ A picture with a white chopper bike.
720
+ A picture with a orange chopper bike.
721
+ A picture with a purple chopper bike.
722
+ A picture with a red hovercraft.
723
+ A picture with a blue hovercraft.
724
+ A picture with a green hovercraft.
725
+ A picture with a yellow hovercraft.
726
+ A picture with a black hovercraft.
727
+ A picture with a white hovercraft.
728
+ A picture with a orange hovercraft.
729
+ A picture with a purple hovercraft.
730
+ A picture with a red snowplow.
731
+ A picture with a blue snowplow.
732
+ A picture with a green snowplow.
733
+ A picture with a yellow snowplow.
734
+ A picture with a black snowplow.
735
+ A picture with a white snowplow.
736
+ A picture with a orange snowplow.
737
+ A picture with a purple snowplow.
738
+ A picture with a red golf buggy.
739
+ A picture with a blue golf buggy.
740
+ A picture with a green golf buggy.
741
+ A picture with a yellow golf buggy.
742
+ A picture with a black golf buggy.
743
+ A picture with a white golf buggy.
744
+ A picture with a orange golf buggy.
745
+ A picture with a purple golf buggy.
746
+ A picture with a red submarine.
747
+ A picture with a blue submarine.
748
+ A picture with a green submarine.
749
+ A picture with a yellow submarine.
750
+ A picture with a black submarine.
751
+ A picture with a white submarine.
752
+ A picture with a orange submarine.
753
+ A picture with a purple submarine.
754
+ A picture with a red space shuttle.
755
+ A picture with a blue space shuttle.
756
+ A picture with a green space shuttle.
757
+ A picture with a yellow space shuttle.
758
+ A picture with a black space shuttle.
759
+ A picture with a white space shuttle.
760
+ A picture with a orange space shuttle.
761
+ A picture with a purple space shuttle.
762
+ A picture with a red cable car.
763
+ A picture with a blue cable car.
764
+ A picture with a green cable car.
765
+ A picture with a yellow cable car.
766
+ A picture with a black cable car.
767
+ A picture with a white cable car.
768
+ A picture with a orange cable car.
769
+ A picture with a purple cable car.
770
+ A picture with a red rickshaw.
771
+ A picture with a blue rickshaw.
772
+ A picture with a green rickshaw.
773
+ A picture with a yellow rickshaw.
774
+ A picture with a black rickshaw.
775
+ A picture with a white rickshaw.
776
+ A picture with a orange rickshaw.
777
+ A picture with a purple rickshaw.
778
+ A picture with a red rowing boat.
779
+ A picture with a blue rowing boat.
780
+ A picture with a green rowing boat.
781
+ A picture with a yellow rowing boat.
782
+ A picture with a black rowing boat.
783
+ A picture with a white rowing boat.
784
+ A picture with a orange rowing boat.
785
+ A picture with a purple rowing boat.
786
+ A picture with a red kayak.
787
+ A picture with a blue kayak.
788
+ A picture with a green kayak.
789
+ A picture with a yellow kayak.
790
+ A picture with a black kayak.
791
+ A picture with a white kayak.
792
+ A picture with a orange kayak.
793
+ A picture with a purple kayak.
794
+ A picture with a red canoe.
795
+ A picture with a blue canoe.
796
+ A picture with a green canoe.
797
+ A picture with a yellow canoe.
798
+ A picture with a black canoe.
799
+ A picture with a white canoe.
800
+ A picture with a orange canoe.
801
+ A picture with a purple canoe.
802
+ A picture with a red yacht.
803
+ A picture with a blue yacht.
804
+ A picture with a green yacht.
805
+ A picture with a yellow yacht.
806
+ A picture with a black yacht.
807
+ A picture with a white yacht.
808
+ A picture with a orange yacht.
809
+ A picture with a purple yacht.
810
+ A picture with a red fishing boat.
811
+ A picture with a blue fishing boat.
812
+ A picture with a green fishing boat.
813
+ A picture with a yellow fishing boat.
814
+ A picture with a black fishing boat.
815
+ A picture with a white fishing boat.
816
+ A picture with a orange fishing boat.
817
+ A picture with a purple fishing boat.
818
+ A picture with a red cruise ship.
819
+ A picture with a blue cruise ship.
820
+ A picture with a green cruise ship.
821
+ A picture with a yellow cruise ship.
822
+ A picture with a black cruise ship.
823
+ A picture with a white cruise ship.
824
+ A picture with a orange cruise ship.
825
+ A picture with a purple cruise ship.
826
+ A picture with a red sailboat.
827
+ A picture with a blue sailboat.
828
+ A picture with a green sailboat.
829
+ A picture with a yellow sailboat.
830
+ A picture with a black sailboat.
831
+ A picture with a white sailboat.
832
+ A picture with a orange sailboat.
833
+ A picture with a purple sailboat.
834
+ A picture with a red dinghy.
835
+ A picture with a blue dinghy.
836
+ A picture with a green dinghy.
837
+ A picture with a yellow dinghy.
838
+ A picture with a black dinghy.
839
+ A picture with a white dinghy.
840
+ A picture with a orange dinghy.
841
+ A picture with a purple dinghy.
842
+ A picture with a red paddle boat.
843
+ A picture with a blue paddle boat.
844
+ A picture with a green paddle boat.
845
+ A picture with a yellow paddle boat.
846
+ A picture with a black paddle boat.
847
+ A picture with a white paddle boat.
848
+ A picture with a orange paddle boat.
849
+ A picture with a purple paddle boat.
850
+ A picture with a red jet ski.
851
+ A picture with a blue jet ski.
852
+ A picture with a green jet ski.
853
+ A picture with a yellow jet ski.
854
+ A picture with a black jet ski.
855
+ A picture with a white jet ski.
856
+ A picture with a orange jet ski.
857
+ A picture with a purple jet ski.
858
+ A picture with a red amphibious vehicle.
859
+ A picture with a blue amphibious vehicle.
860
+ A picture with a green amphibious vehicle.
861
+ A picture with a yellow amphibious vehicle.
862
+ A picture with a black amphibious vehicle.
863
+ A picture with a white amphibious vehicle.
864
+ A picture with a orange amphibious vehicle.
865
+ A picture with a purple amphibious vehicle.
866
+ A picture with a red glider.
867
+ A picture with a blue glider.
868
+ A picture with a green glider.
869
+ A picture with a yellow glider.
870
+ A picture with a black glider.
871
+ A picture with a white glider.
872
+ A picture with a orange glider.
873
+ A picture with a purple glider.
874
+ A picture with a red light aircraft.
875
+ A picture with a blue light aircraft.
876
+ A picture with a green light aircraft.
877
+ A picture with a yellow light aircraft.
878
+ A picture with a black light aircraft.
879
+ A picture with a white light aircraft.
880
+ A picture with a orange light aircraft.
881
+ A picture with a purple light aircraft.
882
+ A picture with a red hot air balloon.
883
+ A picture with a blue hot air balloon.
884
+ A picture with a green hot air balloon.
885
+ A picture with a yellow hot air balloon.
886
+ A picture with a black hot air balloon.
887
+ A picture with a white hot air balloon.
888
+ A picture with a orange hot air balloon.
889
+ A picture with a purple hot air balloon.
890
+ A picture with a red helicopter.
891
+ A picture with a blue helicopter.
892
+ A picture with a green helicopter.
893
+ A picture with a yellow helicopter.
894
+ A picture with a black helicopter.
895
+ A picture with a white helicopter.
896
+ A picture with a orange helicopter.
897
+ A picture with a purple helicopter.
898
+ A picture with a red monorail.
899
+ A picture with a blue monorail.
900
+ A picture with a green monorail.
901
+ A picture with a yellow monorail.
902
+ A picture with a black monorail.
903
+ A picture with a white monorail.
904
+ A picture with a orange monorail.
905
+ A picture with a purple monorail.
906
+ A picture with a red steam train.
907
+ A picture with a blue steam train.
908
+ A picture with a green steam train.
909
+ A picture with a yellow steam train.
910
+ A picture with a black steam train.
911
+ A picture with a white steam train.
912
+ A picture with a orange steam train.
913
+ A picture with a purple steam train.
914
+ A picture with a red freight train.
915
+ A picture with a blue freight train.
916
+ A picture with a green freight train.
917
+ A picture with a yellow freight train.
918
+ A picture with a black freight train.
919
+ A picture with a white freight train.
920
+ A picture with a orange freight train.
921
+ A picture with a purple freight train.
922
+ A picture with a red bullet train.
923
+ A picture with a blue bullet train.
924
+ A picture with a green bullet train.
925
+ A picture with a yellow bullet train.
926
+ A picture with a black bullet train.
927
+ A picture with a white bullet train.
928
+ A picture with a orange bullet train.
929
+ A picture with a purple bullet train.
930
+ A picture with a red tram.
931
+ A picture with a blue tram.
932
+ A picture with a green tram.
933
+ A picture with a yellow tram.
934
+ A picture with a black tram.
935
+ A picture with a white tram.
936
+ A picture with a orange tram.
937
+ A picture with a purple tram.
938
+ A picture with a red subway car.
939
+ A picture with a blue subway car.
940
+ A picture with a green subway car.
941
+ A picture with a yellow subway car.
942
+ A picture with a black subway car.
943
+ A picture with a white subway car.
944
+ A picture with a orange subway car.
945
+ A picture with a purple subway car.
946
+ A picture with a red trolleybus.
947
+ A picture with a blue trolleybus.
948
+ A picture with a green trolleybus.
949
+ A picture with a yellow trolleybus.
950
+ A picture with a black trolleybus.
951
+ A picture with a white trolleybus.
952
+ A picture with a orange trolleybus.
953
+ A picture with a purple trolleybus.
954
+ A picture with a red caravan.
955
+ A picture with a blue caravan.
956
+ A picture with a green caravan.
957
+ A picture with a yellow caravan.
958
+ A picture with a black caravan.
959
+ A picture with a white caravan.
960
+ A picture with a orange caravan.
961
+ A picture with a purple caravan.
962
+ A picture with a red utility van.
963
+ A picture with a blue utility van.
964
+ A picture with a green utility van.
965
+ A picture with a yellow utility van.
966
+ A picture with a black utility van.
967
+ A picture with a white utility van.
968
+ A picture with a orange utility van.
969
+ A picture with a purple utility van.
970
+ A picture with a red towable RV.
971
+ A picture with a blue towable RV.
972
+ A picture with a green towable RV.
973
+ A picture with a yellow towable RV.
974
+ A picture with a black towable RV.
975
+ A picture with a white towable RV.
976
+ A picture with a orange towable RV.
977
+ A picture with a purple towable RV.
978
+ A picture with a red microcar.
979
+ A picture with a blue microcar.
980
+ A picture with a green microcar.
981
+ A picture with a yellow microcar.
982
+ A picture with a black microcar.
983
+ A picture with a white microcar.
984
+ A picture with a orange microcar.
985
+ A picture with a purple microcar.
986
+ A picture with a red electric scooter.
987
+ A picture with a blue electric scooter.
988
+ A picture with a green electric scooter.
989
+ A picture with a yellow electric scooter.
990
+ A picture with a black electric scooter.
991
+ A picture with a white electric scooter.
992
+ A picture with a orange electric scooter.
993
+ A picture with a purple electric scooter.
994
+ A picture with a red all-terrain vehicle.
995
+ A picture with a blue all-terrain vehicle.
996
+ A picture with a green all-terrain vehicle.
997
+ A picture with a yellow all-terrain vehicle.
998
+ A picture with a black all-terrain vehicle.
999
+ A picture with a white all-terrain vehicle.
1000
+ A picture with a orange all-terrain vehicle.
1001
+ A picture with a purple all-terrain vehicle.
1002
+ A picture with a red off-road buggy.
1003
+ A picture with a blue off-road buggy.
1004
+ A picture with a green off-road buggy.
1005
+ A picture with a yellow off-road buggy.
1006
+ A picture with a black off-road buggy.
1007
+ A picture with a white off-road buggy.
1008
+ A picture with a orange off-road buggy.
1009
+ A picture with a purple off-road buggy.
1010
+ A picture with a red personal watercraft.
1011
+ A picture with a blue personal watercraft.
1012
+ A picture with a green personal watercraft.
1013
+ A picture with a yellow personal watercraft.
1014
+ A picture with a black personal watercraft.
1015
+ A picture with a white personal watercraft.
1016
+ A picture with a orange personal watercraft.
1017
+ A picture with a purple personal watercraft.
1018
+ A picture with a red moped.
1019
+ A picture with a blue moped.
1020
+ A picture with a green moped.
1021
+ A picture with a yellow moped.
1022
+ A picture with a black moped.
1023
+ A picture with a white moped.
1024
+ A picture with a orange moped.
1025
+ A picture with a purple moped.
1026
+ A picture with a red minibike.
1027
+ A picture with a blue minibike.
1028
+ A picture with a green minibike.
1029
+ A picture with a yellow minibike.
1030
+ A picture with a black minibike.
1031
+ A picture with a white minibike.
1032
+ A picture with a orange minibike.
1033
+ A picture with a purple minibike.
1034
+ A picture with a red bicycle.
1035
+ A picture with a blue bicycle.
1036
+ A picture with a green bicycle.
1037
+ A picture with a yellow bicycle.
1038
+ A picture with a black bicycle.
1039
+ A picture with a white bicycle.
1040
+ A picture with a orange bicycle.
1041
+ A picture with a purple bicycle.
1042
+ A picture with a red unicycle.
1043
+ A picture with a blue unicycle.
1044
+ A picture with a green unicycle.
1045
+ A picture with a yellow unicycle.
1046
+ A picture with a black unicycle.
1047
+ A picture with a white unicycle.
1048
+ A picture with a orange unicycle.
1049
+ A picture with a purple unicycle.
1050
+ A picture with a red segway.
1051
+ A picture with a blue segway.
1052
+ A picture with a green segway.
1053
+ A picture with a yellow segway.
1054
+ A picture with a black segway.
1055
+ A picture with a white segway.
1056
+ A picture with a orange segway.
1057
+ A picture with a purple segway.
1058
+ A picture with a red self-driving car.
1059
+ A picture with a blue self-driving car.
1060
+ A picture with a green self-driving car.
1061
+ A picture with a yellow self-driving car.
1062
+ A picture with a black self-driving car.
1063
+ A picture with a white self-driving car.
1064
+ A picture with a orange self-driving car.
1065
+ A picture with a purple self-driving car.
1066
+ A picture with a red ride-on lawnmower.
1067
+ A picture with a blue ride-on lawnmower.
1068
+ A picture with a green ride-on lawnmower.
1069
+ A picture with a yellow ride-on lawnmower.
1070
+ A picture with a black ride-on lawnmower.
1071
+ A picture with a white ride-on lawnmower.
1072
+ A picture with a orange ride-on lawnmower.
1073
+ A picture with a purple ride-on lawnmower.
1074
+ A picture with a red tractor-trailer.
1075
+ A picture with a blue tractor-trailer.
1076
+ A picture with a green tractor-trailer.
1077
+ A picture with a yellow tractor-trailer.
1078
+ A picture with a black tractor-trailer.
1079
+ A picture with a white tractor-trailer.
1080
+ A picture with a orange tractor-trailer.
1081
+ A picture with a purple tractor-trailer.
1082
+ A picture with a red semi-truck.
1083
+ A picture with a blue semi-truck.
1084
+ A picture with a green semi-truck.
1085
+ A picture with a yellow semi-truck.
1086
+ A picture with a black semi-truck.
1087
+ A picture with a white semi-truck.
1088
+ A picture with a orange semi-truck.
1089
+ A picture with a purple semi-truck.
1090
+ A picture with a red lowboy truck.
1091
+ A picture with a blue lowboy truck.
1092
+ A picture with a green lowboy truck.
1093
+ A picture with a yellow lowboy truck.
1094
+ A picture with a black lowboy truck.
1095
+ A picture with a white lowboy truck.
1096
+ A picture with a orange lowboy truck.
1097
+ A picture with a purple lowboy truck.
1098
+ A picture with a red box truck.
1099
+ A picture with a blue box truck.
1100
+ A picture with a green box truck.
1101
+ A picture with a yellow box truck.
1102
+ A picture with a black box truck.
1103
+ A picture with a white box truck.
1104
+ A picture with a orange box truck.
1105
+ A picture with a purple box truck.
1106
+ A picture with a red refrigerated truck.
1107
+ A picture with a blue refrigerated truck.
1108
+ A picture with a green refrigerated truck.
1109
+ A picture with a yellow refrigerated truck.
1110
+ A picture with a black refrigerated truck.
1111
+ A picture with a white refrigerated truck.
1112
+ A picture with a orange refrigerated truck.
1113
+ A picture with a purple refrigerated truck.
1114
+ A picture with a red cement mixer.
1115
+ A picture with a blue cement mixer.
1116
+ A picture with a green cement mixer.
1117
+ A picture with a yellow cement mixer.
1118
+ A picture with a black cement mixer.
1119
+ A picture with a white cement mixer.
1120
+ A picture with a orange cement mixer.
1121
+ A picture with a purple cement mixer.
1122
+ A picture with a red dump truck.
1123
+ A picture with a blue dump truck.
1124
+ A picture with a green dump truck.
1125
+ A picture with a yellow dump truck.
1126
+ A picture with a black dump truck.
1127
+ A picture with a white dump truck.
1128
+ A picture with a orange dump truck.
1129
+ A picture with a purple dump truck.
1130
+ A picture with a red flatbed truck.
1131
+ A picture with a blue flatbed truck.
1132
+ A picture with a green flatbed truck.
1133
+ A picture with a yellow flatbed truck.
1134
+ A picture with a black flatbed truck.
1135
+ A picture with a white flatbed truck.
1136
+ A picture with a orange flatbed truck.
1137
+ A picture with a purple flatbed truck.
1138
+ A picture with a red log carrier.
1139
+ A picture with a blue log carrier.
1140
+ A picture with a green log carrier.
1141
+ A picture with a yellow log carrier.
1142
+ A picture with a black log carrier.
1143
+ A picture with a white log carrier.
1144
+ A picture with a orange log carrier.
1145
+ A picture with a purple log carrier.
1146
+ A picture with a red mining truck.
1147
+ A picture with a blue mining truck.
1148
+ A picture with a green mining truck.
1149
+ A picture with a yellow mining truck.
1150
+ A picture with a black mining truck.
1151
+ A picture with a white mining truck.
1152
+ A picture with a orange mining truck.
1153
+ A picture with a purple mining truck.
1154
+ A picture with a red tank.
1155
+ A picture with a blue tank.
1156
+ A picture with a green tank.
1157
+ A picture with a yellow tank.
1158
+ A picture with a black tank.
1159
+ A picture with a white tank.
1160
+ A picture with a orange tank.
1161
+ A picture with a purple tank.
1162
+ A picture with a red troop carrier.
1163
+ A picture with a blue troop carrier.
1164
+ A picture with a green troop carrier.
1165
+ A picture with a yellow troop carrier.
1166
+ A picture with a black troop carrier.
1167
+ A picture with a white troop carrier.
1168
+ A picture with a orange troop carrier.
1169
+ A picture with a purple troop carrier.
1170
+ A picture with a red fire engine.
1171
+ A picture with a blue fire engine.
1172
+ A picture with a green fire engine.
1173
+ A picture with a yellow fire engine.
1174
+ A picture with a black fire engine.
1175
+ A picture with a white fire engine.
1176
+ A picture with a orange fire engine.
1177
+ A picture with a purple fire engine.
1178
+ A picture with a red rescue boat.
1179
+ A picture with a blue rescue boat.
1180
+ A picture with a green rescue boat.
1181
+ A picture with a yellow rescue boat.
1182
+ A picture with a black rescue boat.
1183
+ A picture with a white rescue boat.
1184
+ A picture with a orange rescue boat.
1185
+ A picture with a purple rescue boat.
1186
+ A picture with a red lifeboat.
1187
+ A picture with a blue lifeboat.
1188
+ A picture with a green lifeboat.
1189
+ A picture with a yellow lifeboat.
1190
+ A picture with a black lifeboat.
1191
+ A picture with a white lifeboat.
1192
+ A picture with a orange lifeboat.
1193
+ A picture with a purple lifeboat.
1194
+ A picture with a red pontoon boat.
1195
+ A picture with a blue pontoon boat.
1196
+ A picture with a green pontoon boat.
1197
+ A picture with a yellow pontoon boat.
1198
+ A picture with a black pontoon boat.
1199
+ A picture with a white pontoon boat.
1200
+ A picture with a orange pontoon boat.
1201
+ A picture with a purple pontoon boat.
1202
+ A picture with a red scooter board.
1203
+ A picture with a blue scooter board.
1204
+ A picture with a green scooter board.
1205
+ A picture with a yellow scooter board.
1206
+ A picture with a black scooter board.
1207
+ A picture with a white scooter board.
1208
+ A picture with a orange scooter board.
1209
+ A picture with a purple scooter board.
1210
+ A picture with a red hoverboard.
1211
+ A picture with a blue hoverboard.
1212
+ A picture with a green hoverboard.
1213
+ A picture with a yellow hoverboard.
1214
+ A picture with a black hoverboard.
1215
+ A picture with a white hoverboard.
1216
+ A picture with a orange hoverboard.
1217
+ A picture with a purple hoverboard.
1218
+ A picture with a red electric skateboard.
1219
+ A picture with a blue electric skateboard.
1220
+ A picture with a green electric skateboard.
1221
+ A picture with a yellow electric skateboard.
1222
+ A picture with a black electric skateboard.
1223
+ A picture with a white electric skateboard.
1224
+ A picture with a orange electric skateboard.
1225
+ A picture with a purple electric skateboard.
1226
+ A picture with a red kick scooter.
1227
+ A picture with a blue kick scooter.
1228
+ A picture with a green kick scooter.
1229
+ A picture with a yellow kick scooter.
1230
+ A picture with a black kick scooter.
1231
+ A picture with a white kick scooter.
1232
+ A picture with a orange kick scooter.
1233
+ A picture with a purple kick scooter.
1234
+ A picture with a red powered parachute.
1235
+ A picture with a blue powered parachute.
1236
+ A picture with a green powered parachute.
1237
+ A picture with a yellow powered parachute.
1238
+ A picture with a black powered parachute.
1239
+ A picture with a white powered parachute.
1240
+ A picture with a orange powered parachute.
1241
+ A picture with a purple powered parachute.
1242
+ A picture with a red paraglider.
1243
+ A picture with a blue paraglider.
1244
+ A picture with a green paraglider.
1245
+ A picture with a yellow paraglider.
1246
+ A picture with a black paraglider.
1247
+ A picture with a white paraglider.
1248
+ A picture with a orange paraglider.
1249
+ A picture with a purple paraglider.
1250
+ A picture with a red airship.
1251
+ A picture with a blue airship.
1252
+ A picture with a green airship.
1253
+ A picture with a yellow airship.
1254
+ A picture with a black airship.
1255
+ A picture with a white airship.
1256
+ A picture with a orange airship.
1257
+ A picture with a purple airship.
1258
+ A picture with a red blimp.
1259
+ A picture with a blue blimp.
1260
+ A picture with a green blimp.
1261
+ A picture with a yellow blimp.
1262
+ A picture with a black blimp.
1263
+ A picture with a white blimp.
1264
+ A picture with a orange blimp.
1265
+ A picture with a purple blimp.
1266
+ A picture with a red dirigible.
1267
+ A picture with a blue dirigible.
1268
+ A picture with a green dirigible.
1269
+ A picture with a yellow dirigible.
1270
+ A picture with a black dirigible.
1271
+ A picture with a white dirigible.
1272
+ A picture with a orange dirigible.
1273
+ A picture with a purple dirigible.
1274
+ A picture with a red crane.
1275
+ A picture with a blue crane.
1276
+ A picture with a green crane.
1277
+ A picture with a yellow crane.
1278
+ A picture with a black crane.
1279
+ A picture with a white crane.
1280
+ A picture with a orange crane.
1281
+ A picture with a purple crane.
1282
+ A picture with a red excavator.
1283
+ A picture with a blue excavator.
1284
+ A picture with a green excavator.
1285
+ A picture with a yellow excavator.
1286
+ A picture with a black excavator.
1287
+ A picture with a white excavator.
1288
+ A picture with a orange excavator.
1289
+ A picture with a purple excavator.
1290
+ A picture with a red front loader.
1291
+ A picture with a blue front loader.
1292
+ A picture with a green front loader.
1293
+ A picture with a yellow front loader.
1294
+ A picture with a black front loader.
1295
+ A picture with a white front loader.
1296
+ A picture with a orange front loader.
1297
+ A picture with a purple front loader.
1298
+ A picture with a red grader.
1299
+ A picture with a blue grader.
1300
+ A picture with a green grader.
1301
+ A picture with a yellow grader.
1302
+ A picture with a black grader.
1303
+ A picture with a white grader.
1304
+ A picture with a orange grader.
1305
+ A picture with a purple grader.
1306
+ A picture with a red road roller.
1307
+ A picture with a blue road roller.
1308
+ A picture with a green road roller.
1309
+ A picture with a yellow road roller.
1310
+ A picture with a black road roller.
1311
+ A picture with a white road roller.
1312
+ A picture with a orange road roller.
1313
+ A picture with a purple road roller.
1314
+ A picture with a red paver.
1315
+ A picture with a blue paver.
1316
+ A picture with a green paver.
1317
+ A picture with a yellow paver.
1318
+ A picture with a black paver.
1319
+ A picture with a white paver.
1320
+ A picture with a orange paver.
1321
+ A picture with a purple paver.
1322
+ A picture with a red cherry picker.
1323
+ A picture with a blue cherry picker.
1324
+ A picture with a green cherry picker.
1325
+ A picture with a yellow cherry picker.
1326
+ A picture with a black cherry picker.
1327
+ A picture with a white cherry picker.
1328
+ A picture with a orange cherry picker.
1329
+ A picture with a purple cherry picker.
1330
+ A picture with a red scissor lift.
1331
+ A picture with a blue scissor lift.
1332
+ A picture with a green scissor lift.
1333
+ A picture with a yellow scissor lift.
1334
+ A picture with a black scissor lift.
1335
+ A picture with a white scissor lift.
1336
+ A picture with a orange scissor lift.
1337
+ A picture with a purple scissor lift.
1338
+ A picture with a red forklift.
1339
+ A picture with a blue forklift.
1340
+ A picture with a green forklift.
1341
+ A picture with a yellow forklift.
1342
+ A picture with a black forklift.
1343
+ A picture with a white forklift.
1344
+ A picture with a orange forklift.
1345
+ A picture with a purple forklift.
1346
+ A picture with a red warehouse tug.
1347
+ A picture with a blue warehouse tug.
1348
+ A picture with a green warehouse tug.
1349
+ A picture with a yellow warehouse tug.
1350
+ A picture with a black warehouse tug.
1351
+ A picture with a white warehouse tug.
1352
+ A picture with a orange warehouse tug.
1353
+ A picture with a purple warehouse tug.
1354
+ A picture with a red skid-steer loader.
1355
+ A picture with a blue skid-steer loader.
1356
+ A picture with a green skid-steer loader.
1357
+ A picture with a yellow skid-steer loader.
1358
+ A picture with a black skid-steer loader.
1359
+ A picture with a white skid-steer loader.
1360
+ A picture with a orange skid-steer loader.
1361
+ A picture with a purple skid-steer loader.
1362
+ A picture with a red street sweeper.
1363
+ A picture with a blue street sweeper.
1364
+ A picture with a green street sweeper.
1365
+ A picture with a yellow street sweeper.
1366
+ A picture with a black street sweeper.
1367
+ A picture with a white street sweeper.
1368
+ A picture with a orange street sweeper.
1369
+ A picture with a purple street sweeper.
1370
+ A picture with a red garbage compactor.
1371
+ A picture with a blue garbage compactor.
1372
+ A picture with a green garbage compactor.
1373
+ A picture with a yellow garbage compactor.
1374
+ A picture with a black garbage compactor.
1375
+ A picture with a white garbage compactor.
1376
+ A picture with a orange garbage compactor.
1377
+ A picture with a purple garbage compactor.
1378
+ A picture with a red auto rickshaw.
1379
+ A picture with a blue auto rickshaw.
1380
+ A picture with a green auto rickshaw.
1381
+ A picture with a yellow auto rickshaw.
1382
+ A picture with a black auto rickshaw.
1383
+ A picture with a white auto rickshaw.
1384
+ A picture with a orange auto rickshaw.
1385
+ A picture with a purple auto rickshaw.
1386
+ A picture with a red electric trike.
1387
+ A picture with a blue electric trike.
1388
+ A picture with a green electric trike.
1389
+ A picture with a yellow electric trike.
1390
+ A picture with a black electric trike.
1391
+ A picture with a white electric trike.
1392
+ A picture with a orange electric trike.
1393
+ A picture with a purple electric trike.
1394
+ A picture with a red luxury yacht.
1395
+ A picture with a blue luxury yacht.
1396
+ A picture with a green luxury yacht.
1397
+ A picture with a yellow luxury yacht.
1398
+ A picture with a black luxury yacht.
1399
+ A picture with a white luxury yacht.
1400
+ A picture with a orange luxury yacht.
1401
+ A picture with a purple luxury yacht.
1402
+ A picture with a red speedboat.
1403
+ A picture with a blue speedboat.
1404
+ A picture with a green speedboat.
1405
+ A picture with a yellow speedboat.
1406
+ A picture with a black speedboat.
1407
+ A picture with a white speedboat.
1408
+ A picture with a orange speedboat.
1409
+ A picture with a purple speedboat.
1410
+ A picture with a red deep-sea trawler.
1411
+ A picture with a blue deep-sea trawler.
1412
+ A picture with a green deep-sea trawler.
1413
+ A picture with a yellow deep-sea trawler.
1414
+ A picture with a black deep-sea trawler.
1415
+ A picture with a white deep-sea trawler.
1416
+ A picture with a orange deep-sea trawler.
1417
+ A picture with a purple deep-sea trawler.
1418
+ A picture with a red ferry.
1419
+ A picture with a blue ferry.
1420
+ A picture with a green ferry.
1421
+ A picture with a yellow ferry.
1422
+ A picture with a black ferry.
1423
+ A picture with a white ferry.
1424
+ A picture with a orange ferry.
1425
+ A picture with a purple ferry.
1426
+ A picture with a red hovertrain.
1427
+ A picture with a blue hovertrain.
1428
+ A picture with a green hovertrain.
1429
+ A picture with a yellow hovertrain.
1430
+ A picture with a black hovertrain.
1431
+ A picture with a white hovertrain.
1432
+ A picture with a orange hovertrain.
1433
+ A picture with a purple hovertrain.
1434
+ A picture with a red mountain bike.
1435
+ A picture with a blue mountain bike.
1436
+ A picture with a green mountain bike.
1437
+ A picture with a yellow mountain bike.
1438
+ A picture with a black mountain bike.
1439
+ A picture with a white mountain bike.
1440
+ A picture with a orange mountain bike.
1441
+ A picture with a purple mountain bike.
1442
+ A picture with a red road bike.
1443
+ A picture with a blue road bike.
1444
+ A picture with a green road bike.
1445
+ A picture with a yellow road bike.
1446
+ A picture with a black road bike.
1447
+ A picture with a white road bike.
1448
+ A picture with a orange road bike.
1449
+ A picture with a purple road bike.
1450
+ A picture with a red fixie bike.
1451
+ A picture with a blue fixie bike.
1452
+ A picture with a green fixie bike.
1453
+ A picture with a yellow fixie bike.
1454
+ A picture with a black fixie bike.
1455
+ A picture with a white fixie bike.
1456
+ A picture with a orange fixie bike.
1457
+ A picture with a purple fixie bike.
1458
+ A picture with a red electric mountain bike.
1459
+ A picture with a blue electric mountain bike.
1460
+ A picture with a green electric mountain bike.
1461
+ A picture with a yellow electric mountain bike.
1462
+ A picture with a black electric mountain bike.
1463
+ A picture with a white electric mountain bike.
1464
+ A picture with a orange electric mountain bike.
1465
+ A picture with a purple electric mountain bike.
1466
+ A picture with a red cargo bike.
1467
+ A picture with a blue cargo bike.
1468
+ A picture with a green cargo bike.
1469
+ A picture with a yellow cargo bike.
1470
+ A picture with a black cargo bike.
1471
+ A picture with a white cargo bike.
1472
+ A picture with a orange cargo bike.
1473
+ A picture with a purple cargo bike.
1474
+ A picture with a red delivery trike.
1475
+ A picture with a blue delivery trike.
1476
+ A picture with a green delivery trike.
1477
+ A picture with a yellow delivery trike.
1478
+ A picture with a black delivery trike.
1479
+ A picture with a white delivery trike.
1480
+ A picture with a orange delivery trike.
1481
+ A picture with a purple delivery trike.
1482
+ A picture with a red recumbent bike.
1483
+ A picture with a blue recumbent bike.
1484
+ A picture with a green recumbent bike.
1485
+ A picture with a yellow recumbent bike.
1486
+ A picture with a black recumbent bike.
1487
+ A picture with a white recumbent bike.
1488
+ A picture with a orange recumbent bike.
1489
+ A picture with a purple recumbent bike.
1490
+ A picture with a red pedal car.
1491
+ A picture with a blue pedal car.
1492
+ A picture with a green pedal car.
1493
+ A picture with a yellow pedal car.
1494
+ A picture with a black pedal car.
1495
+ A picture with a white pedal car.
1496
+ A picture with a orange pedal car.
1497
+ A picture with a purple pedal car.
1498
+ A picture with a red soapbox derby car.
1499
+ A picture with a blue soapbox derby car.
1500
+ A picture with a green soapbox derby car.
1501
+ A picture with a yellow soapbox derby car.
1502
+ A picture with a black soapbox derby car.
1503
+ A picture with a white soapbox derby car.
1504
+ A picture with a orange soapbox derby car.
1505
+ A picture with a purple soapbox derby car.
1506
+ A picture with a red snowmobile sled.
1507
+ A picture with a blue snowmobile sled.
1508
+ A picture with a green snowmobile sled.
1509
+ A picture with a yellow snowmobile sled.
1510
+ A picture with a black snowmobile sled.
1511
+ A picture with a white snowmobile sled.
1512
+ A picture with a orange snowmobile sled.
1513
+ A picture with a purple snowmobile sled.
1514
+ A picture with a red rock crawler.
1515
+ A picture with a blue rock crawler.
1516
+ A picture with a green rock crawler.
1517
+ A picture with a yellow rock crawler.
1518
+ A picture with a black rock crawler.
1519
+ A picture with a white rock crawler.
1520
+ A picture with a orange rock crawler.
1521
+ A picture with a purple rock crawler.
IP_Composer/text_datasets/vehicle_descriptions.csv ADDED
@@ -0,0 +1,191 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Vehicle Description
2
+ A picture with a sports car.
3
+ A picture with a sedan.
4
+ A picture with a school bus.
5
+ A picture with a pickup truck.
6
+ A picture with a convertible.
7
+ A picture with a SUV.
8
+ A picture with a classic car.
9
+ A picture with a minivan.
10
+ A picture with a motorcycle.
11
+ A picture with a delivery van.
12
+ A picture with a vintage truck.
13
+ A picture with a limousine.
14
+ A picture with a hatchback.
15
+ A picture with a coupe.
16
+ A picture with a dune buggy.
17
+ A picture with a racecar.
18
+ A picture with a electric car.
19
+ A picture with a luxury SUV.
20
+ A picture with a police car.
21
+ A picture with a military jeep.
22
+ A picture with a taxi cab.
23
+ A picture with a camper van.
24
+ A picture with a firetruck.
25
+ A picture with a tow truck.
26
+ A picture with a cargo truck.
27
+ A picture with a garbage truck.
28
+ A picture with a roadster.
29
+ A picture with a armored vehicle.
30
+ A picture with a antique car.
31
+ A picture with a tractor.
32
+ A picture with a RV.
33
+ A picture with a ambulance.
34
+ A picture with a hearse.
35
+ A picture with a race bike.
36
+ A picture with a quad bike.
37
+ A picture with a scooter.
38
+ A picture with a luxury car.
39
+ A picture with a stretch limousine.
40
+ A picture with a tank truck.
41
+ A picture with a custom bike.
42
+ A picture with a snowmobile.
43
+ A picture with a ATV.
44
+ A picture with a three-wheeler.
45
+ A picture with a ice cream truck.
46
+ A picture with a crane truck.
47
+ A picture with a hybrid SUV.
48
+ A picture with a cruiser.
49
+ A picture with a farm truck.
50
+ A picture with a sports bike.
51
+ A picture with a hybrid car.
52
+ A picture with a monster truck.
53
+ A picture with a off-road vehicle.
54
+ A picture with a custom van.
55
+ A picture with a jet ski trailer.
56
+ A picture with a ladder truck.
57
+ A picture with a racing SUV.
58
+ A picture with a touring bus.
59
+ A picture with a electric van.
60
+ A picture with a compact car.
61
+ A picture with a autonomous shuttle bus.
62
+ A picture with a construction truck.
63
+ A picture with a bank truck.
64
+ A picture with a city bus.
65
+ A picture with a station wagon.
66
+ A picture with a golf cart.
67
+ A picture with a dirt bike.
68
+ A picture with a off-road jeep.
69
+ A picture with a solar car.
70
+ A picture with a drift car.
71
+ A picture with a patrol vehicle.
72
+ A picture with a supercar.
73
+ A picture with a tricycle.
74
+ A picture with a cargo van.
75
+ A picture with a camper trailer.
76
+ A picture with a RV with stripes.
77
+ A picture with a delivery scooter.
78
+ A picture with a luxury limousine.
79
+ A picture with a compact sedan.
80
+ A picture with a concept car.
81
+ A picture with a autonomous vehicle.
82
+ A picture with a VW Beetle.
83
+ A picture with a beverage truck.
84
+ A picture with a food truck.
85
+ A picture with a cargo trailer.
86
+ A picture with a bulldozer.
87
+ A picture with a tram car.
88
+ A picture with a bus.
89
+ A picture with a taxi.
90
+ A picture with a custom jeep.
91
+ A picture with a chopper bike.
92
+ A picture with a hovercraft.
93
+ A picture with a snowplow.
94
+ A picture with a golf buggy.
95
+ A picture with a submarine.
96
+ A picture with a space shuttle.
97
+ A picture with a cable car.
98
+ A picture with a rickshaw.
99
+ A picture with a rowing boat.
100
+ A picture with a kayak.
101
+ A picture with a canoe.
102
+ A picture with a yacht.
103
+ A picture with a fishing boat.
104
+ A picture with a cruise ship.
105
+ A picture with a sailboat.
106
+ A picture with a dinghy.
107
+ A picture with a paddle boat.
108
+ A picture with a jet ski.
109
+ A picture with a amphibious vehicle.
110
+ A picture with a glider.
111
+ A picture with a light aircraft.
112
+ A picture with a hot air balloon.
113
+ A picture with a helicopter.
114
+ A picture with a monorail.
115
+ A picture with a steam train.
116
+ A picture with a freight train.
117
+ A picture with a bullet train.
118
+ A picture with a tram.
119
+ A picture with a subway car.
120
+ A picture with a trolleybus.
121
+ A picture with a caravan.
122
+ A picture with a utility van.
123
+ A picture with a towable RV.
124
+ A picture with a microcar.
125
+ A picture with a electric scooter.
126
+ A picture with a all-terrain vehicle.
127
+ A picture with a off-road buggy.
128
+ A picture with a personal watercraft.
129
+ A picture with a moped.
130
+ A picture with a minibike.
131
+ A picture with a bicycle.
132
+ A picture with a unicycle.
133
+ A picture with a segway.
134
+ A picture with a self-driving car.
135
+ A picture with a ride-on lawnmower.
136
+ A picture with a tractor-trailer.
137
+ A picture with a semi-truck.
138
+ A picture with a lowboy truck.
139
+ A picture with a box truck.
140
+ A picture with a refrigerated truck.
141
+ A picture with a cement mixer.
142
+ A picture with a dump truck.
143
+ A picture with a flatbed truck.
144
+ A picture with a log carrier.
145
+ A picture with a mining truck.
146
+ A picture with a tank.
147
+ A picture with a troop carrier.
148
+ A picture with a fire engine.
149
+ A picture with a rescue boat.
150
+ A picture with a lifeboat.
151
+ A picture with a pontoon boat.
152
+ A picture with a scooter board.
153
+ A picture with a hoverboard.
154
+ A picture with a electric skateboard.
155
+ A picture with a kick scooter.
156
+ A picture with a powered parachute.
157
+ A picture with a paraglider.
158
+ A picture with a airship.
159
+ A picture with a blimp.
160
+ A picture with a dirigible.
161
+ A picture with a crane.
162
+ A picture with a excavator.
163
+ A picture with a front loader.
164
+ A picture with a grader.
165
+ A picture with a road roller.
166
+ A picture with a paver.
167
+ A picture with a cherry picker.
168
+ A picture with a scissor lift.
169
+ A picture with a forklift.
170
+ A picture with a warehouse tug.
171
+ A picture with a skid-steer loader.
172
+ A picture with a street sweeper.
173
+ A picture with a garbage compactor.
174
+ A picture with a auto rickshaw.
175
+ A picture with a electric trike.
176
+ A picture with a luxury yacht.
177
+ A picture with a speedboat.
178
+ A picture with a deep-sea trawler.
179
+ A picture with a ferry.
180
+ A picture with a hovertrain.
181
+ A picture with a mountain bike.
182
+ A picture with a road bike.
183
+ A picture with a fixie bike.
184
+ A picture with a electric mountain bike.
185
+ A picture with a cargo bike.
186
+ A picture with a delivery trike.
187
+ A picture with a recumbent bike.
188
+ A picture with a pedal car.
189
+ A picture with a soapbox derby car.
190
+ A picture with a snowmobile sled.
191
+ A picture with a rock crawler.
IP_Composer/text_embeddings/age_descriptions.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:11577b1765aa174946d1ab4baad2b2325f8552dc981721d4ab95eaad7246c5e8
3
+ size 405632
IP_Composer/text_embeddings/animal_fur_descriptions.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a226de2889051a037460a9f255afdeb59f5124ba6cf171b103e692179ae0ee40
3
+ size 1159296
IP_Composer/text_embeddings/deterioration_descriptions.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:92f1851132e373adfe1f4caa27126326ce00cdc685dc7398b9a0108935d647fe
3
+ size 819328
IP_Composer/text_embeddings/dog_descriptions.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:38dcb93a36f0591add9acc5a5274a9911637c30e279c20bdfc18e5d51631fb54
3
+ size 4096128
IP_Composer/text_embeddings/emotion_descriptions.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f54295e393f7417eb5aba2b6e15fdbca4c3ec04bc00b65237bae435490d4174b
3
+ size 696448
IP_Composer/text_embeddings/floor_descriptions.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:98914c8dee1e13b695233e1ad1dd4c9d1567f6bc78363dc68e3b69ff5f2bc643
3
+ size 802944
IP_Composer/text_embeddings/flower_descriptions.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8ac30edc991a5495679ac66b734d12308300f24bbdbd510755a662dcd808a5f2
3
+ size 413824
IP_Composer/text_embeddings/fruit_vegetable_descriptions.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fa0dfc18a8dfe4ccb209e2fcc9beb77bf3f30aa576375a4d632c1ff6970020b3
3
+ size 577664