# I n s t a l l a t i o n ๐Ÿค— D i f f u s e r s i s t e s t e d o n P y t h o n 3 . 8 + , P y T o r c h 1 . 7 . 0 + , a n d F l a x . F o l l o w t h e i n s t a l l a t i o n i n s t r u c t i o n s b e l o w f o r t h e d e e p l e a r n i n g l i b r a r y y o u a r e u s i n g : - [ P y T o r c h ] ( h t t p s : / / p y t o r c h . o r g / g e t - s t a r t e d / l o c a l l y / ) i n s t a l l a t i o n i n s t r u c t i o n s - [ F l a x ] ( h t t p s : / / f l a x . r e a d t h e d o c s . i o / e n / l a t e s t / ) i n s t a l l a t i o n i n s t r u c t i o n s # # I n s t a l l w i t h p i p Y o u s h o u l d i n s t a l l ๐Ÿค— D i f f u s e r s i n a [ v i r t u a l e n v i r o n m e n t ] ( h t t p s : / / d o c s . p y t h o n . o r g / 3 / l i b r a r y / v e n v . h t m l ) . I f y o u ' r e u n f a m i l i a r w i t h P y t h o n v i r t u a l e n v i r o n m e n t s , t a k e a l o o k a t t h i s [ g u i d e ] ( h t t p s : / / p a c k a g i n g . p y t h o n . o r g / g u i d e s / i n s t a l l i n g - u s i n g - p i p - a n d - v i r t u a l - e n v i r o n m e n t s / ) . A v i r t u a l e n v i r o n m e n t m a k e s i t e a s i e r t o m a n a g e d i f f e r e n t p r o j e c t s a n d a v o i d c o m p a t i b i l i t y i s s u e s b e t w e e n d e p e n d e n c i e s . S t a r t b y c r e a t i n g a v i r t u a l e n v i r o n m e n t i n y o u r p r o j e c t d i r e c t o r y : ` ` ` b a s h p y t h o n - m v e n v . e n v ` ` ` A c t i v a t e t h e v i r t u a l e n v i r o n m e n t : ` ` ` b a s h s o u r c e . e n v / b i n / a c t i v a t e ` ` ` Y o u s h o u l d a l s o i n s t a l l ๐Ÿค— T r a n s f o r m e r s b e c a u s e ๐Ÿค— D i f f u s e r s r e l i e s o n i t s m o d e l s : N o t e - P y T o r c h o n l y s u p p o r t s P y t h o n 3 . 8 - 3 . 1 1 o n W i n d o w s . ` ` ` b a s h p i p i n s t a l l d i f f u s e r s [ " t o r c h " ] t r a n s f o r m e r s ` ` ` # # I n s t a l l w i t h c o n d a A f t e r a c t i v a t i n g y o u r v i r t u a l e n v i r o n m e n t , w i t h ` c o n d a ` ( m a i n t a i n e d b y t h e c o m m u n i t y ) : ` ` ` b a s h c o n d a i n s t a l l - c c o n d a - f o r g e d i f f u s e r s ` ` ` # # I n s t a l l f r o m s o u r c e B e f o r e i n s t a l l i n g ๐Ÿค— D i f f u s e r s f r o m s o u r c e , m a k e s u r e y o u h a v e P y T o r c h a n d ๐Ÿค— A c c e l e r a t e i n s t a l l e d . T o i n s t a l l ๐Ÿค— A c c e l e r a t e : ` ` ` b a s h p i p i n s t a l l a c c e l e r a t e ` ` ` T h e n i n s t a l l ๐Ÿค— D i f f u s e r s f r o m s o u r c e : ` ` ` b a s h p i p i n s t a l l g i t + h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s ` ` ` T h i s c o m m a n d i n s t a l l s t h e b l e e d i n g e d g e ` m a i n ` v e r s i o n r a t h e r t h a n t h e l a t e s t ` s t a b l e ` v e r s i o n . T h e ` m a i n ` v e r s i o n i s u s e f u l f o r s t a y i n g u p - t o - d a t e w i t h t h e l a t e s t d e v e l o p m e n t s . F o r i n s t a n c e , i f a b u g h a s b e e n f i x e d s i n c e t h e l a s t o f f i c i a l r e l e a s e b u t a n e w r e l e a s e h a s n ' t b e e n r o l l e d o u t y e t . H o w e v e r , t h i s m e a n s t h e ` m a i n ` v e r s i o n m a y n o t a l w a y s b e s t a b l e . W e s t r i v e t o k e e p t h e ` m a i n ` v e r s i o n o p e r a t i o n a l , a n d m o s t i s s u e s a r e u s u a l l y r e s o l v e d w i t h i n a f e w h o u r s o r a d a y . I f y o u r u n i n t o a p r o b l e m , p l e a s e o p e n a n [ I s s u e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / n e w / c h o o s e ) s o w e c a n f i x i t e v e n s o o n e r ! # # E d i t a b l e i n s t a l l Y o u w i l l n e e d a n e d i t a b l e i n s t a l l i f y o u ' d l i k e t o : * U s e t h e ` m a i n ` v e r s i o n o f t h e s o u r c e c o d e . * C o n t r i b u t e t o ๐Ÿค— D i f f u s e r s a n d n e e d t o t e s t c h a n g e s i n t h e c o d e . C l o n e t h e r e p o s i t o r y a n d i n s t a l l ๐Ÿค— D i f f u s e r s w i t h t h e f o l l o w i n g c o m m a n d s : ` ` ` b a s h g i t c l o n e h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s . g i t c d d i f f u s e r s ` ` ` ` ` ` b a s h p i p i n s t a l l - e " . [ t o r c h ] " ` ` ` T h e s e c o m m a n d s w i l l l i n k t h e f o l d e r y o u c l o n e d t h e r e p o s i t o r y t o a n d y o u r P y t h o n l i b r a r y p a t h s . P y t h o n w i l l n o w l o o k i n s i d e t h e f o l d e r y o u c l o n e d t o i n a d d i t i o n t o t h e n o r m a l l i b r a r y p a t h s . F o r e x a m p l e , i f y o u r P y t h o n p a c k a g e s a r e t y p i c a l l y i n s t a l l e d i n ` ~ / a n a c o n d a 3 / e n v s / m a i n / l i b / p y t h o n 3 . 1 0 / s i t e - p a c k a g e s / ` , P y t h o n w i l l a l s o s e a r c h t h e ` ~ / d i f f u s e r s / ` f o l d e r y o u c l o n e d t o . < T i p w a r n i n g = { t r u e } > Y o u m u s t k e e p t h e ` d i f f u s e r s ` f o l d e r i f y o u w a n t t o k e e p u s i n g t h e l i b r a r y . < / T i p > N o w y o u c a n e a s i l y u p d a t e y o u r c l o n e t o t h e l a t e s t v e r s i o n o f ๐Ÿค— D i f f u s e r s w i t h t h e f o l l o w i n g c o m m a n d : ` ` ` b a s h c d ~ / d i f f u s e r s / g i t p u l l ` ` ` Y o u r P y t h o n e n v i r o n m e n t w i l l f i n d t h e ` m a i n ` v e r s i o n o f ๐Ÿค— D i f f u s e r s o n t h e n e x t r u n . # # C a c h e M o d e l w e i g h t s a n d f i l e s a r e d o w n l o a d e d f r o m t h e H u b t o a c a c h e w h i c h i s u s u a l l y y o u r h o m e d i r e c t o r y . Y o u c a n c h a n g e t h e c a c h e l o c a t i o n b y s p e c i f y i n g t h e ` H F _ H O M E ` o r ` H U G G I N F A C E _ H U B _ C A C H E ` e n v i r o n m e n t v a r i a b l e s o r c o n f i g u r i n g t h e ` c a c h e _ d i r ` p a r a m e t e r i n m e t h o d s l i k e ` f r o m _ p r e t r a i n e d ( ) ` . C a c h e d f i l e s a l l o w y o u t o r u n ๐Ÿค— D i f f u s e r s o f f l i n e . T o p r e v e n t ๐Ÿค— D i f f u s e r s f r o m c o n n e c t i n g t o t h e i n t e r n e t , s e t t h e ` H F _ H U B _ O F F L I N E ` e n v i r o n m e n t v a r i a b l e t o ` T r u e ` a n d ๐Ÿค— D i f f u s e r s w i l l o n l y l o a d p r e v i o u s l y d o w n l o a d e d f i l e s i n t h e c a c h e . ` ` ` s h e l l e x p o r t H F _ H U B _ O F F L I N E = T r u e ` ` ` F o r m o r e d e t a i l s a b o u t m a n a g i n g a n d c l e a n i n g t h e c a c h e , t a k e a l o o k a t t h e [ c a c h i n g ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / h u g g i n g f a c e _ h u b / g u i d e s / m a n a g e - c a c h e ) g u i d e . # # T e l e m e t r y l o g g i n g O u r l i b r a r y g a t h e r s t e l e m e t r y i n f o r m a t i o n d u r i n g ` f r o m _ p r e t r a i n e d ( ) ` r e q u e s t s . T h e d a t a g a t h e r e d i n c l u d e s t h e v e r s i o n o f ๐Ÿค— D i f f u s e r s a n d P y T o r c h / F l a x , t h e r e q u e s t e d m o d e l o r p i p e l i n e c l a s s , a n d t h e p a t h t o a p r e t r a i n e d c h e c k p o i n t i f i t i s h o s t e d o n t h e H u g g i n g F a c e H u b . T h i s u s a g e d a t a h e l p s u s d e b u g i s s u e s a n d p r i o r i t i z e n e w f e a t u r e s . T e l e m e t r y i s o n l y s e n t w h e n l o a d i n g m o d e l s a n d p i p e l i n e s f r o m t h e H u b , a n d i t i s n o t c o l l e c t e d i f y o u ' r e l o a d i n g l o c a l f i l e s . W e u n d e r s t a n d t h a t n o t e v e r y o n e w a n t s t o s h a r e a d d i t i o n a l i n f o r m a t i o n , a n d w e r e s p e c t y o u r p r i v a c y . Y o u c a n d i s a b l e t e l e m e t r y c o l l e c t i o n b y s e t t i n g t h e ` D I S A B L E _ T E L E M E T R Y ` e n v i r o n m e n t v a r i a b l e f r o m y o u r t e r m i n a l : O n L i n u x / M a c O S : ` ` ` b a s h e x p o r t D I S A B L E _ T E L E M E T R Y = Y E S ` ` ` O n W i n d o w s : ` ` ` b a s h s e t D I S A B L E _ T E L E M E T R Y = Y E S ` ` ` # Q u i c k t o u r D i f f u s i o n m o d e l s a r e t r a i n e d t o d e n o i s e r a n d o m G a u s s i a n n o i s e s t e p - b y - s t e p t o g e n e r a t e a s a m p l e o f i n t e r e s t , s u c h a s a n i m a g e o r a u d i o . T h i s h a s s p a r k e d a t r e m e n d o u s a m o u n t o f i n t e r e s t i n g e n e r a t i v e A I , a n d y o u h a v e p r o b a b l y s e e n e x a m p l e s o f d i f f u s i o n g e n e r a t e d i m a g e s o n t h e i n t e r n e t . ๐Ÿงจ D i f f u s e r s i s a l i b r a r y a i m e d a t m a k i n g d i f f u s i o n m o d e l s w i d e l y a c c e s s i b l e t o e v e r y o n e . W h e t h e r y o u ' r e a d e v e l o p e r o r a n e v e r y d a y u s e r , t h i s q u i c k t o u r w i l l i n t r o d u c e y o u t o ๐Ÿงจ D i f f u s e r s a n d h e l p y o u g e t u p a n d g e n e r a t i n g q u i c k l y ! T h e r e a r e t h r e e m a i n c o m p o n e n t s o f t h e l i b r a r y t o k n o w a b o u t : * T h e ` D i f f u s i o n P i p e l i n e ` i s a h i g h - l e v e l e n d - t o - e n d c l a s s d e s i g n e d t o r a p i d l y g e n e r a t e s a m p l e s f r o m p r e t r a i n e d d i f f u s i o n m o d e l s f o r i n f e r e n c e . * P o p u l a r p r e t r a i n e d [ m o d e l ] ( . / a p i / m o d e l s ) a r c h i t e c t u r e s a n d m o d u l e s t h a t c a n b e u s e d a s b u i l d i n g b l o c k s f o r c r e a t i n g d i f f u s i o n s y s t e m s . * M a n y d i f f e r e n t [ s c h e d u l e r s ] ( . / a p i / s c h e d u l e r s / o v e r v i e w ) - a l g o r i t h m s t h a t c o n t r o l h o w n o i s e i s a d d e d f o r t r a i n i n g , a n d h o w t o g e n e r a t e d e n o i s e d i m a g e s d u r i n g i n f e r e n c e . T h e q u i c k t o u r w i l l s h o w y o u h o w t o u s e t h e ` D i f f u s i o n P i p e l i n e ` f o r i n f e r e n c e , a n d t h e n w a l k y o u t h r o u g h h o w t o c o m b i n e a m o d e l a n d s c h e d u l e r t o r e p l i c a t e w h a t ' s h a p p e n i n g i n s i d e t h e ` D i f f u s i o n P i p e l i n e ` . < T i p > T h e q u i c k t o u r i s a s i m p l i f i e d v e r s i o n o f t h e i n t r o d u c t o r y ๐Ÿงจ D i f f u s e r s [ n o t e b o o k ] ( h t t p s : / / c o l a b . r e s e a r c h . g o o g l e . c o m / g i t h u b / h u g g i n g f a c e / n o t e b o o k s / b l o b / m a i n / d i f f u s e r s / d i f f u s e r s _ i n t r o . i p y n b ) t o h e l p y o u g e t s t a r t e d q u i c k l y . I f y o u w a n t t o l e a r n m o r e a b o u t ๐Ÿงจ D i f f u s e r s ' g o a l , d e s i g n p h i l o s o p h y , a n d a d d i t i o n a l d e t a i l s a b o u t i t s c o r e A P I , c h e c k o u t t h e n o t e b o o k ! < / T i p > B e f o r e y o u b e g i n , m a k e s u r e y o u h a v e a l l t h e n e c e s s a r y l i b r a r i e s i n s t a l l e d : ` ` ` p y # u n c o m m e n t t o i n s t a l l t h e n e c e s s a r y l i b r a r i e s i n C o l a b # ! p i p i n s t a l l - - u p g r a d e d i f f u s e r s a c c e l e r a t e t r a n s f o r m e r s ` ` ` - [ ๐Ÿค— A c c e l e r a t e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / i n d e x ) s p e e d s u p m o d e l l o a d i n g f o r i n f e r e n c e a n d t r a i n i n g . - [ ๐Ÿค— T r a n s f o r m e r s ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / i n d e x ) i s r e q u i r e d t o r u n t h e m o s t p o p u l a r d i f f u s i o n m o d e l s , s u c h a s [ S t a b l e D i f f u s i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / o v e r v i e w ) . # # D i f f u s i o n P i p e l i n e T h e ` D i f f u s i o n P i p e l i n e ` i s t h e e a s i e s t w a y t o u s e a p r e t r a i n e d d i f f u s i o n s y s t e m f o r i n f e r e n c e . I t i s a n e n d - t o - e n d s y s t e m c o n t a i n i n g t h e m o d e l a n d t h e s c h e d u l e r . Y o u c a n u s e t h e ` D i f f u s i o n P i p e l i n e ` o u t - o f - t h e - b o x f o r m a n y t a s k s . T a k e a l o o k a t t h e t a b l e b e l o w f o r s o m e s u p p o r t e d t a s k s , a n d f o r a c o m p l e t e l i s t o f s u p p o r t e d t a s k s , c h e c k o u t t h e [ ๐Ÿงจ D i f f u s e r s S u m m a r y ] ( . / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s - s u m m a r y ) t a b l e . | * * T a s k * * | * * D e s c r i p t i o n * * | * * P i p e l i n e * * | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - | | U n c o n d i t i o n a l I m a g e G e n e r a t i o n | g e n e r a t e a n i m a g e f r o m G a u s s i a n n o i s e | [ u n c o n d i t i o n a l _ i m a g e _ g e n e r a t i o n ] ( . / u s i n g - d i f f u s e r s / u n c o n d i t i o n a l _ i m a g e _ g e n e r a t i o n ) | | T e x t - G u i d e d I m a g e G e n e r a t i o n | g e n e r a t e a n i m a g e g i v e n a t e x t p r o m p t | [ c o n d i t i o n a l _ i m a g e _ g e n e r a t i o n ] ( . / u s i n g - d i f f u s e r s / c o n d i t i o n a l _ i m a g e _ g e n e r a t i o n ) | | T e x t - G u i d e d I m a g e - t o - I m a g e T r a n s l a t i o n | a d a p t a n i m a g e g u i d e d b y a t e x t p r o m p t | [ i m g 2 i m g ] ( . / u s i n g - d i f f u s e r s / i m g 2 i m g ) | | T e x t - G u i d e d I m a g e - I n p a i n t i n g | f i l l t h e m a s k e d p a r t o f a n i m a g e g i v e n t h e i m a g e , t h e m a s k a n d a t e x t p r o m p t | [ i n p a i n t ] ( . / u s i n g - d i f f u s e r s / i n p a i n t ) | | T e x t - G u i d e d D e p t h - t o - I m a g e T r a n s l a t i o n | a d a p t p a r t s o f a n i m a g e g u i d e d b y a t e x t p r o m p t w h i l e p r e s e r v i n g s t r u c t u r e v i a d e p t h e s t i m a t i o n | [ d e p t h 2 i m g ] ( . / u s i n g - d i f f u s e r s / d e p t h 2 i m g ) | S t a r t b y c r e a t i n g a n i n s t a n c e o f a ` D i f f u s i o n P i p e l i n e ` a n d s p e c i f y w h i c h p i p e l i n e c h e c k p o i n t y o u w o u l d l i k e t o d o w n l o a d . Y o u c a n u s e t h e ` D i f f u s i o n P i p e l i n e ` f o r a n y [ c h e c k p o i n t ] ( h t t p s : / / h u g g i n g f a c e . c o / m o d e l s ? l i b r a r y = d i f f u s e r s & s o r t = d o w n l o a d s ) s t o r e d o n t h e H u g g i n g F a c e H u b . I n t h i s q u i c k t o u r , y o u ' l l l o a d t h e [ ` s t a b l e - d i f f u s i o n - v 1 - 5 ` ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ) c h e c k p o i n t f o r t e x t - t o - i m a g e g e n e r a t i o n . < T i p w a r n i n g = { t r u e } > F o r [ S t a b l e D i f f u s i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / C o m p V i s / s t a b l e - d i f f u s i o n ) m o d e l s , p l e a s e c a r e f u l l y r e a d t h e [ l i c e n s e ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / C o m p V i s / s t a b l e - d i f f u s i o n - l i c e n s e ) f i r s t b e f o r e r u n n i n g t h e m o d e l . ๐Ÿงจ D i f f u s e r s i m p l e m e n t s a [ ` s a f e t y _ c h e c k e r ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s a f e t y _ c h e c k e r . p y ) t o p r e v e n t o f f e n s i v e o r h a r m f u l c o n t e n t , b u t t h e m o d e l ' s i m p r o v e d i m a g e g e n e r a t i o n c a p a b i l i t i e s c a n s t i l l p r o d u c e p o t e n t i a l l y h a r m f u l c o n t e n t . < / T i p > L o a d t h e m o d e l w i t h t h e ` f r o m _ p r e t r a i n e d ( ) ` m e t h o d : ` ` ` p y t h o n > > > f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e > > > p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , u s e _ s a f e t e n s o r s = T r u e ) ` ` ` T h e ` D i f f u s i o n P i p e l i n e ` d o w n l o a d s a n d c a c h e s a l l m o d e l i n g , t o k e n i z a t i o n , a n d s c h e d u l i n g c o m p o n e n t s . Y o u ' l l s e e t h a t t h e S t a b l e D i f f u s i o n p i p e l i n e i s c o m p o s e d o f t h e ` U N e t 2 D C o n d i t i o n M o d e l ` a n d ` P N D M S c h e d u l e r ` a m o n g o t h e r t h i n g s : ` ` ` p y > > > p i p e l i n e S t a b l e D i f f u s i o n P i p e l i n e { " _ c l a s s _ n a m e " : " S t a b l e D i f f u s i o n P i p e l i n e " , " _ d i f f u s e r s _ v e r s i o n " : " 0 . 2 1 . 4 " , . . . , " s c h e d u l e r " : [ " d i f f u s e r s " , " P N D M S c h e d u l e r " ] , . . . , " u n e t " : [ " d i f f u s e r s " , " U N e t 2 D C o n d i t i o n M o d e l " ] , " v a e " : [ " d i f f u s e r s " , " A u t o e n c o d e r K L " ] } ` ` ` W e s t r o n g l y r e c o m m e n d r u n n i n g t h e p i p e l i n e o n a G P U b e c a u s e t h e m o d e l c o n s i s t s o f r o u g h l y 1 . 4 b i l l i o n p a r a m e t e r s . Y o u c a n m o v e t h e g e n e r a t o r o b j e c t t o a G P U , j u s t l i k e y o u w o u l d i n P y T o r c h : ` ` ` p y t h o n > > > p i p e l i n e . t o ( " c u d a " ) ` ` ` N o w y o u c a n p a s s a t e x t p r o m p t t o t h e ` p i p e l i n e ` t o g e n e r a t e a n i m a g e , a n d t h e n a c c e s s t h e d e n o i s e d i m a g e . B y d e f a u l t , t h e i m a g e o u t p u t i s w r a p p e d i n a [ ` P I L . I m a g e ` ] ( h t t p s : / / p i l l o w . r e a d t h e d o c s . i o / e n / s t a b l e / r e f e r e n c e / I m a g e . h t m l ? h i g h l i g h t = i m a g e # t h e - i m a g e - c l a s s ) o b j e c t . ` ` ` p y t h o n > > > i m a g e = p i p e l i n e ( " A n i m a g e o f a s q u i r r e l i n P i c a s s o s t y l e " ) . i m a g e s [ 0 ] > > > i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / i m a g e _ o f _ s q u i r r e l _ p a i n t i n g . p n g " / > < / d i v > S a v e t h e i m a g e b y c a l l i n g ` s a v e ` : ` ` ` p y t h o n > > > i m a g e . s a v e ( " i m a g e _ o f _ s q u i r r e l _ p a i n t i n g . p n g " ) ` ` ` # # # L o c a l p i p e l i n e Y o u c a n a l s o u s e t h e p i p e l i n e l o c a l l y . T h e o n l y d i f f e r e n c e i s y o u n e e d t o d o w n l o a d t h e w e i g h t s f i r s t : ` ` ` b a s h ! g i t l f s i n s t a l l ! g i t c l o n e h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ` ` ` T h e n l o a d t h e s a v e d w e i g h t s i n t o t h e p i p e l i n e : ` ` ` p y t h o n > > > p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " . / s t a b l e - d i f f u s i o n - v 1 - 5 " , u s e _ s a f e t e n s o r s = T r u e ) ` ` ` N o w , y o u c a n r u n t h e p i p e l i n e a s y o u w o u l d i n t h e s e c t i o n a b o v e . # # # S w a p p i n g s c h e d u l e r s D i f f e r e n t s c h e d u l e r s c o m e w i t h d i f f e r e n t d e n o i s i n g s p e e d s a n d q u a l i t y t r a d e - o f f s . T h e b e s t w a y t o f i n d o u t w h i c h o n e w o r k s b e s t f o r y o u i s t o t r y t h e m o u t ! O n e o f t h e m a i n f e a t u r e s o f ๐Ÿงจ D i f f u s e r s i s t o a l l o w y o u t o e a s i l y s w i t c h b e t w e e n s c h e d u l e r s . F o r e x a m p l e , t o r e p l a c e t h e d e f a u l t ` P N D M S c h e d u l e r ` w i t h t h e ` E u l e r D i s c r e t e S c h e d u l e r ` , l o a d i t w i t h t h e ` f r o m _ c o n f i g ( ) ` m e t h o d : ` ` ` p y > > > f r o m d i f f u s e r s i m p o r t E u l e r D i s c r e t e S c h e d u l e r > > > p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , u s e _ s a f e t e n s o r s = T r u e ) > > > p i p e l i n e . s c h e d u l e r = E u l e r D i s c r e t e S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g ) ` ` ` T r y g e n e r a t i n g a n i m a g e w i t h t h e n e w s c h e d u l e r a n d s e e i f y o u n o t i c e a d i f f e r e n c e ! I n t h e n e x t s e c t i o n , y o u ' l l t a k e a c l o s e r l o o k a t t h e c o m p o n e n t s - t h e m o d e l a n d s c h e d u l e r - t h a t m a k e u p t h e ` D i f f u s i o n P i p e l i n e ` a n d l e a r n h o w t o u s e t h e s e c o m p o n e n t s t o g e n e r a t e a n i m a g e o f a c a t . # # M o d e l s M o s t m o d e l s t a k e a n o i s y s a m p l e , a n d a t e a c h t i m e s t e p i t p r e d i c t s t h e * n o i s e r e s i d u a l * ( o t h e r m o d e l s l e a r n t o p r e d i c t t h e p r e v i o u s s a m p l e d i r e c t l y o r t h e v e l o c i t y o r [ ` v - p r e d i c t i o n ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 5 e 5 c e 1 3 e 2 f 8 9 a c 4 5 a 0 0 6 6 c b 3 f 3 6 9 4 6 2 a 3 c f 1 d 9 e f / s r c / d i f f u s e r s / s c h e d u l e r s / s c h e d u l i n g _ d d i m . p y # L 1 1 0 ) ) , t h e d i f f e r e n c e b e t w e e n a l e s s n o i s y i m a g e a n d t h e i n p u t i m a g e . Y o u c a n m i x a n d m a t c h m o d e l s t o c r e a t e o t h e r d i f f u s i o n s y s t e m s . M o d e l s a r e i n i t i a t e d w i t h t h e ` f r o m _ p r e t r a i n e d ( ) ` m e t h o d w h i c h a l s o l o c a l l y c a c h e s t h e m o d e l w e i g h t s s o i t i s f a s t e r t h e n e x t t i m e y o u l o a d t h e m o d e l . F o r t h e q u i c k t o u r , y o u ' l l l o a d t h e ` U N e t 2 D M o d e l ` , a b a s i c u n c o n d i t i o n a l i m a g e g e n e r a t i o n m o d e l w i t h a c h e c k p o i n t t r a i n e d o n c a t i m a g e s : ` ` ` p y > > > f r o m d i f f u s e r s i m p o r t U N e t 2 D M o d e l > > > r e p o _ i d = " g o o g l e / d d p m - c a t - 2 5 6 " > > > m o d e l = U N e t 2 D M o d e l . f r o m _ p r e t r a i n e d ( r e p o _ i d , u s e _ s a f e t e n s o r s = T r u e ) ` ` ` T o a c c e s s t h e m o d e l p a r a m e t e r s , c a l l ` m o d e l . c o n f i g ` : ` ` ` p y > > > m o d e l . c o n f i g ` ` ` T h e m o d e l c o n f i g u r a t i o n i s a ๐ŸงŠ f r o z e n ๐ŸงŠ d i c t i o n a r y , w h i c h m e a n s t h o s e p a r a m e t e r s c a n ' t b e c h a n g e d a f t e r t h e m o d e l i s c r e a t e d . T h i s i s i n t e n t i o n a l a n d e n s u r e s t h a t t h e p a r a m e t e r s u s e d t o d e f i n e t h e m o d e l a r c h i t e c t u r e a t t h e s t a r t r e m a i n t h e s a m e , w h i l e o t h e r p a r a m e t e r s c a n s t i l l b e a d j u s t e d d u r i n g i n f e r e n c e . S o m e o f t h e m o s t i m p o r t a n t p a r a m e t e r s a r e : * ` s a m p l e _ s i z e ` : t h e h e i g h t a n d w i d t h d i m e n s i o n o f t h e i n p u t s a m p l e . * ` i n _ c h a n n e l s ` : t h e n u m b e r o f i n p u t c h a n n e l s o f t h e i n p u t s a m p l e . * ` d o w n _ b l o c k _ t y p e s ` a n d ` u p _ b l o c k _ t y p e s ` : t h e t y p e o f d o w n - a n d u p s a m p l i n g b l o c k s u s e d t o c r e a t e t h e U N e t a r c h i t e c t u r e . * ` b l o c k _ o u t _ c h a n n e l s ` : t h e n u m b e r o f o u t p u t c h a n n e l s o f t h e d o w n s a m p l i n g b l o c k s ; a l s o u s e d i n r e v e r s e o r d e r f o r t h e n u m b e r o f i n p u t c h a n n e l s o f t h e u p s a m p l i n g b l o c k s . * ` l a y e r s _ p e r _ b l o c k ` : t h e n u m b e r o f R e s N e t b l o c k s p r e s e n t i n e a c h U N e t b l o c k . T o u s e t h e m o d e l f o r i n f e r e n c e , c r e a t e t h e i m a g e s h a p e w i t h r a n d o m G a u s s i a n n o i s e . I t s h o u l d h a v e a ` b a t c h ` a x i s b e c a u s e t h e m o d e l c a n r e c e i v e m u l t i p l e r a n d o m n o i s e s , a ` c h a n n e l ` a x i s c o r r e s p o n d i n g t o t h e n u m b e r o f i n p u t c h a n n e l s , a n d a ` s a m p l e _ s i z e ` a x i s f o r t h e h e i g h t a n d w i d t h o f t h e i m a g e : ` ` ` p y > > > i m p o r t t o r c h > > > t o r c h . m a n u a l _ s e e d ( 0 ) > > > n o i s y _ s a m p l e = t o r c h . r a n d n ( 1 , m o d e l . c o n f i g . i n _ c h a n n e l s , m o d e l . c o n f i g . s a m p l e _ s i z e , m o d e l . c o n f i g . s a m p l e _ s i z e ) > > > n o i s y _ s a m p l e . s h a p e t o r c h . S i z e ( [ 1 , 3 , 2 5 6 , 2 5 6 ] ) ` ` ` F o r i n f e r e n c e , p a s s t h e n o i s y i m a g e a n d a ` t i m e s t e p ` t o t h e m o d e l . T h e ` t i m e s t e p ` i n d i c a t e s h o w n o i s y t h e i n p u t i m a g e i s , w i t h m o r e n o i s e a t t h e b e g i n n i n g a n d l e s s a t t h e e n d . T h i s h e l p s t h e m o d e l d e t e r m i n e i t s p o s i t i o n i n t h e d i f f u s i o n p r o c e s s , w h e t h e r i t i s c l o s e r t o t h e s t a r t o r t h e e n d . U s e t h e ` s a m p l e ` m e t h o d t o g e t t h e m o d e l o u t p u t : ` ` ` p y > > > w i t h t o r c h . n o _ g r a d ( ) : . . . n o i s y _ r e s i d u a l = m o d e l ( s a m p l e = n o i s y _ s a m p l e , t i m e s t e p = 2 ) . s a m p l e ` ` ` T o g e n e r a t e a c t u a l e x a m p l e s t h o u g h , y o u ' l l n e e d a s c h e d u l e r t o g u i d e t h e d e n o i s i n g p r o c e s s . I n t h e n e x t s e c t i o n , y o u ' l l l e a r n h o w t o c o u p l e a m o d e l w i t h a s c h e d u l e r . # # S c h e d u l e r s S c h e d u l e r s m a n a g e g o i n g f r o m a n o i s y s a m p l e t o a l e s s n o i s y s a m p l e g i v e n t h e m o d e l o u t p u t - i n t h i s c a s e , i t i s t h e ` n o i s y _ r e s i d u a l ` . < T i p > ๐Ÿงจ D i f f u s e r s i s a t o o l b o x f o r b u i l d i n g d i f f u s i o n s y s t e m s . W h i l e t h e ` D i f f u s i o n P i p e l i n e ` i s a c o n v e n i e n t w a y t o g e t s t a r t e d w i t h a p r e - b u i l t d i f f u s i o n s y s t e m , y o u c a n a l s o c h o o s e y o u r o w n m o d e l a n d s c h e d u l e r c o m p o n e n t s s e p a r a t e l y t o b u i l d a c u s t o m d i f f u s i o n s y s t e m . < / T i p > F o r t h e q u i c k t o u r , y o u ' l l i n s t a n t i a t e t h e ` D D P M S c h e d u l e r ` w i t h i t s ` f r o m _ c o n f i g ( ) ` m e t h o d : ` ` ` p y > > > f r o m d i f f u s e r s i m p o r t D D P M S c h e d u l e r > > > s c h e d u l e r = D D P M S c h e d u l e r . f r o m _ p r e t r a i n e d ( r e p o _ i d ) > > > s c h e d u l e r D D P M S c h e d u l e r { " _ c l a s s _ n a m e " : " D D P M S c h e d u l e r " , " _ d i f f u s e r s _ v e r s i o n " : " 0 . 2 1 . 4 " , " b e t a _ e n d " : 0 . 0 2 , " b e t a _ s c h e d u l e " : " l i n e a r " , " b e t a _ s t a r t " : 0 . 0 0 0 1 , " c l i p _ s a m p l e " : t r u e , " c l i p _ s a m p l e _ r a n g e " : 1 . 0 , " d y n a m i c _ t h r e s h o l d i n g _ r a t i o " : 0 . 9 9 5 , " n u m _ t r a i n _ t i m e s t e p s " : 1 0 0 0 , " p r e d i c t i o n _ t y p e " : " e p s i l o n " , " s a m p l e _ m a x _ v a l u e " : 1 . 0 , " s t e p s _ o f f s e t " : 0 , " t h r e s h o l d i n g " : f a l s e , " t i m e s t e p _ s p a c i n g " : " l e a d i n g " , " t r a i n e d _ b e t a s " : n u l l , " v a r i a n c e _ t y p e " : " f i x e d _ s m a l l " } ` ` ` < T i p > ๐Ÿ’ก U n l i k e a m o d e l , a s c h e d u l e r d o e s n o t h a v e t r a i n a b l e w e i g h t s a n d i s p a r a m e t e r - f r e e ! < / T i p > S o m e o f t h e m o s t i m p o r t a n t p a r a m e t e r s a r e : * ` n u m _ t r a i n _ t i m e s t e p s ` : t h e l e n g t h o f t h e d e n o i s i n g p r o c e s s o r , i n o t h e r w o r d s , t h e n u m b e r o f t i m e s t e p s r e q u i r e d t o p r o c e s s r a n d o m G a u s s i a n n o i s e i n t o a d a t a s a m p l e . * ` b e t a _ s c h e d u l e ` : t h e t y p e o f n o i s e s c h e d u l e t o u s e f o r i n f e r e n c e a n d t r a i n i n g . * ` b e t a _ s t a r t ` a n d ` b e t a _ e n d ` : t h e s t a r t a n d e n d n o i s e v a l u e s f o r t h e n o i s e s c h e d u l e . T o p r e d i c t a s l i g h t l y l e s s n o i s y i m a g e , p a s s t h e f o l l o w i n g t o t h e s c h e d u l e r ' s ` s t e p ( ) ` m e t h o d : m o d e l o u t p u t , ` t i m e s t e p ` , a n d c u r r e n t ` s a m p l e ` . ` ` ` p y > > > l e s s _ n o i s y _ s a m p l e = s c h e d u l e r . s t e p ( m o d e l _ o u t p u t = n o i s y _ r e s i d u a l , t i m e s t e p = 2 , s a m p l e = n o i s y _ s a m p l e ) . p r e v _ s a m p l e > > > l e s s _ n o i s y _ s a m p l e . s h a p e t o r c h . S i z e ( [ 1 , 3 , 2 5 6 , 2 5 6 ] ) ` ` ` T h e ` l e s s _ n o i s y _ s a m p l e ` c a n b e p a s s e d t o t h e n e x t ` t i m e s t e p ` w h e r e i t ' l l g e t e v e n l e s s n o i s y ! L e t ' s b r i n g i t a l l t o g e t h e r n o w a n d v i s u a l i z e t h e e n t i r e d e n o i s i n g p r o c e s s . F i r s t , c r e a t e a f u n c t i o n t h a t p o s t p r o c e s s e s a n d d i s p l a y s t h e d e n o i s e d i m a g e a s a ` P I L . I m a g e ` : ` ` ` p y > > > i m p o r t P I L . I m a g e > > > i m p o r t n u m p y a s n p > > > d e f d i s p l a y _ s a m p l e ( s a m p l e , i ) : . . . i m a g e _ p r o c e s s e d = s a m p l e . c p u ( ) . p e r m u t e ( 0 , 2 , 3 , 1 ) . . . i m a g e _ p r o c e s s e d = ( i m a g e _ p r o c e s s e d + 1 . 0 ) * 1 2 7 . 5 . . . i m a g e _ p r o c e s s e d = i m a g e _ p r o c e s s e d . n u m p y ( ) . a s t y p e ( n p . u i n t 8 ) . . . i m a g e _ p i l = P I L . I m a g e . f r o m a r r a y ( i m a g e _ p r o c e s s e d [ 0 ] ) . . . d i s p l a y ( f " I m a g e a t s t e p { i } " ) . . . d i s p l a y ( i m a g e _ p i l ) ` ` ` T o s p e e d u p t h e d e n o i s i n g p r o c e s s , m o v e t h e i n p u t a n d m o d e l t o a G P U : ` ` ` p y > > > m o d e l . t o ( " c u d a " ) > > > n o i s y _ s a m p l e = n o i s y _ s a m p l e . t o ( " c u d a " ) ` ` ` N o w c r e a t e a d e n o i s i n g l o o p t h a t p r e d i c t s t h e r e s i d u a l o f t h e l e s s n o i s y s a m p l e , a n d c o m p u t e s t h e l e s s n o i s y s a m p l e w i t h t h e s c h e d u l e r : ` ` ` p y > > > i m p o r t t q d m > > > s a m p l e = n o i s y _ s a m p l e > > > f o r i , t i n e n u m e r a t e ( t q d m . t q d m ( s c h e d u l e r . t i m e s t e p s ) ) : . . . # 1 . p r e d i c t n o i s e r e s i d u a l . . . w i t h t o r c h . n o _ g r a d ( ) : . . . r e s i d u a l = m o d e l ( s a m p l e , t ) . s a m p l e . . . # 2 . c o m p u t e l e s s n o i s y i m a g e a n d s e t x _ t - > x _ t - 1 . . . s a m p l e = s c h e d u l e r . s t e p ( r e s i d u a l , t , s a m p l e ) . p r e v _ s a m p l e . . . # 3 . o p t i o n a l l y l o o k a t i m a g e . . . i f ( i + 1 ) % 5 0 = = 0 : . . . d i s p l a y _ s a m p l e ( s a m p l e , i + 1 ) ` ` ` S i t b a c k a n d w a t c h a s a c a t i s g e n e r a t e d f r o m n o t h i n g b u t n o i s e ! ๐Ÿ˜ป < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / d i f f u s i o n - q u i c k t o u r . p n g " / > < / d i v > # # N e x t s t e p s H o p e f u l l y , y o u g e n e r a t e d s o m e c o o l i m a g e s w i t h ๐Ÿงจ D i f f u s e r s i n t h i s q u i c k t o u r ! F o r y o u r n e x t s t e p s , y o u c a n : * T r a i n o r f i n e t u n e a m o d e l t o g e n e r a t e y o u r o w n i m a g e s i n t h e [ t r a i n i n g ] ( . / t u t o r i a l s / b a s i c _ t r a i n i n g ) t u t o r i a l . * S e e e x a m p l e o f f i c i a l a n d c o m m u n i t y [ t r a i n i n g o r f i n e t u n i n g s c r i p t s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s # - d i f f u s e r s - e x a m p l e s ) f o r a v a r i e t y o f u s e c a s e s . * L e a r n m o r e a b o u t l o a d i n g , a c c e s s i n g , c h a n g i n g , a n d c o m p a r i n g s c h e d u l e r s i n t h e [ U s i n g d i f f e r e n t S c h e d u l e r s ] ( . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) g u i d e . * E x p l o r e p r o m p t e n g i n e e r i n g , s p e e d a n d m e m o r y o p t i m i z a t i o n s , a n d t i p s a n d t r i c k s f o r g e n e r a t i n g h i g h e r - q u a l i t y i m a g e s w i t h t h e [ S t a b l e D i f f u s i o n ] ( . / s t a b l e _ d i f f u s i o n ) g u i d e . * D i v e d e e p e r i n t o s p e e d i n g u p ๐Ÿงจ D i f f u s e r s w i t h g u i d e s o n [ o p t i m i z e d P y T o r c h o n a G P U ] ( . / o p t i m i z a t i o n / f p 1 6 ) , a n d i n f e r e n c e g u i d e s f o r r u n n i n g [ S t a b l e D i f f u s i o n o n A p p l e S i l i c o n ( M 1 / M 2 ) ] ( . / o p t i m i z a t i o n / m p s ) a n d [ O N N X R u n t i m e ] ( . / o p t i m i z a t i o n / o n n x ) . # C o m m u n i t y P r o j e c t s W e l c o m e t o C o m m u n i t y P r o j e c t s . T h i s s p a c e i s d e d i c a t e d t o s h o w c a s i n g t h e i n c r e d i b l e w o r k a n d i n n o v a t i v e a p p l i c a t i o n s c r e a t e d b y o u r v i b r a n t c o m m u n i t y u s i n g t h e ` d i f f u s e r s ` l i b r a r y . T h i s s e c t i o n a i m s t o : - H i g h l i g h t d i v e r s e a n d i n s p i r i n g p r o j e c t s b u i l t w i t h ` d i f f u s e r s ` - F o s t e r k n o w l e d g e s h a r i n g w i t h i n o u r c o m m u n i t y - P r o v i d e r e a l - w o r l d e x a m p l e s o f h o w ` d i f f u s e r s ` c a n b e l e v e r a g e d H a p p y e x p l o r i n g , a n d t h a n k y o u f o r b e i n g p a r t o f t h e D i f f u s e r s c o m m u n i t y ! < t a b l e > < t r > < t h > P r o j e c t N a m e < / t h > < t h > D e s c r i p t i o n < / t h > < / t r > < t r s t y l e = " b o r d e r - t o p : 2 p x s o l i d b l a c k " > < t d > < a h r e f = " h t t p s : / / g i t h u b . c o m / c a r s o n - k a t r i / d r e a m - t e x t u r e s " > d r e a m - t e x t u r e s < / a > < / t d > < t d > S t a b l e D i f f u s i o n b u i l t - i n t o B l e n d e r < / t d > < / t r > < t r s t y l e = " b o r d e r - t o p : 2 p x s o l i d b l a c k " > < t d > < a h r e f = " h t t p s : / / g i t h u b . c o m / m e g v i i - r e s e a r c h / H i D i f f u s i o n " > H i D i f f u s i o n < / a > < / t d > < t d > I n c r e a s e s t h e r e s o l u t i o n a n d s p e e d o f y o u r d i f f u s i o n m o d e l b y o n l y a d d i n g a s i n g l e l i n e o f c o d e < / t d > < / t r > < t r s t y l e = " b o r d e r - t o p : 2 p x s o l i d b l a c k " > < t d > < a h r e f = " h t t p s : / / g i t h u b . c o m / l l l y a s v i e l / I C - L i g h t " > I C - L i g h t < / a > < / t d > < t d > I C - L i g h t i s a p r o j e c t t o m a n i p u l a t e t h e i l l u m i n a t i o n o f i m a g e s < / t d > < / t r > < t r s t y l e = " b o r d e r - t o p : 2 p x s o l i d b l a c k " > < t d > < a h r e f = " h t t p s : / / g i t h u b . c o m / I n s t a n t I D / I n s t a n t I D " > I n s t a n t I D < / a > < / t d > < t d > I n s t a n t I D : Z e r o - s h o t I d e n t i t y - P r e s e r v i n g G e n e r a t i o n i n S e c o n d s < / t d > < / t r > < t r s t y l e = " b o r d e r - t o p : 2 p x s o l i d b l a c k " > < t d > < a h r e f = " h t t p s : / / g i t h u b . c o m / S a n s t e r / I O P a i n t " > I O P a i n t < / a > < / t d > < t d > I m a g e i n p a i n t i n g t o o l p o w e r e d b y S O T A A I M o d e l . R e m o v e a n y u n w a n t e d o b j e c t , d e f e c t , p e o p l e f r o m y o u r p i c t u r e s o r e r a s e a n d r e p l a c e ( p o w e r e d b y s t a b l e d i f f u s i o n ) a n y t h i n g o n y o u r p i c t u r e s . < / t d > < / t r > < t r s t y l e = " b o r d e r - t o p : 2 p x s o l i d b l a c k " > < t d > < a h r e f = " h t t p s : / / g i t h u b . c o m / b m a l t a i s / k o h y a _ s s " > K o h y a < / a > < / t d > < t d > G r a d i o G U I f o r K o h y a ' s S t a b l e D i f f u s i o n t r a i n e r s < / t d > < / t r > < t r s t y l e = " b o r d e r - t o p : 2 p x s o l i d b l a c k " > < t d > < a h r e f = " h t t p s : / / g i t h u b . c o m / m a g i c - r e s e a r c h / m a g i c - a n i m a t e " > M a g i c A n i m a t e < / a > < / t d > < t d > M a g i c A n i m a t e : T e m p o r a l l y C o n s i s t e n t H u m a n I m a g e A n i m a t i o n u s i n g D i f f u s i o n M o d e l < / t d > < / t r > < t r s t y l e = " b o r d e r - t o p : 2 p x s o l i d b l a c k " > < t d > < a h r e f = " h t t p s : / / g i t h u b . c o m / l e v i h s u / O O T D i f f u s i o n " > O O T D i f f u s i o n < / a > < / t d > < t d > O u t f i t t i n g F u s i o n b a s e d L a t e n t D i f f u s i o n f o r C o n t r o l l a b l e V i r t u a l T r y - o n < / t d > < / t r > < t r s t y l e = " b o r d e r - t o p : 2 p x s o l i d b l a c k " > < t d > < a h r e f = " h t t p s : / / g i t h u b . c o m / v l a d m a n d i c / a u t o m a t i c " > S D . N e x t < / a > < / t d > < t d > S D . N e x t : A d v a n c e d I m p l e m e n t a t i o n o f S t a b l e D i f f u s i o n a n d o t h e r D i f f u s i o n - b a s e d g e n e r a t i v e i m a g e m o d e l s < / t d > < / t r > < t r s t y l e = " b o r d e r - t o p : 2 p x s o l i d b l a c k " > < t d > < a h r e f = " h t t p s : / / g i t h u b . c o m / a s h a w k e y / s t a b l e - d r e a m f u s i o n " > s t a b l e - d r e a m f u s i o n < / a > < / t d > < t d > T e x t - t o - 3 D & I m a g e - t o - 3 D & M e s h E x p o r t a t i o n w i t h N e R F + D i f f u s i o n < / t d > < / t r > < t r s t y l e = " b o r d e r - t o p : 2 p x s o l i d b l a c k " > < t d > < a h r e f = " h t t p s : / / g i t h u b . c o m / H V i s i o n - N K U / S t o r y D i f f u s i o n " > S t o r y D i f f u s i o n < / a > < / t d > < t d > S t o r y D i f f u s i o n c a n c r e a t e a m a g i c s t o r y b y g e n e r a t i n g c o n s i s t e n t i m a g e s a n d v i d e o s . < / t d > < / t r > < t r s t y l e = " b o r d e r - t o p : 2 p x s o l i d b l a c k " > < t d > < a h r e f = " h t t p s : / / g i t h u b . c o m / c u m u l o - a u t u m n / S t r e a m D i f f u s i o n " > S t r e a m D i f f u s i o n < / a > < / t d > < t d > A P i p e l i n e - L e v e l S o l u t i o n f o r R e a l - T i m e I n t e r a c t i v e G e n e r a t i o n < / t d > < / t r > < t r s t y l e = " b o r d e r - t o p : 2 p x s o l i d b l a c k " > < t d > < a h r e f = " h t t p s : / / g i t h u b . c o m / N e t w r c k / s t a b l e - d i f f u s i o n - s e r v e r " > S t a b l e D i f f u s i o n S e r v e r < / a > < / t d > < t d > A s e r v e r c o n f i g u r e d f o r I n p a i n t i n g / G e n e r a t i o n / i m g 2 i m g w i t h o n e s t a b l e d i f f u s i o n m o d e l < / t d > < / t r > < / t a b l e > # E f f e c t i v e a n d e f f i c i e n t d i f f u s i o n G e t t i n g t h e ` D i f f u s i o n P i p e l i n e ` t o g e n e r a t e i m a g e s i n a c e r t a i n s t y l e o r i n c l u d e w h a t y o u w a n t c a n b e t r i c k y . O f t e n t i m e s , y o u h a v e t o r u n t h e ` D i f f u s i o n P i p e l i n e ` s e v e r a l t i m e s b e f o r e y o u e n d u p w i t h a n i m a g e y o u ' r e h a p p y w i t h . B u t g e n e r a t i n g s o m e t h i n g o u t o f n o t h i n g i s a c o m p u t a t i o n a l l y i n t e n s i v e p r o c e s s , e s p e c i a l l y i f y o u ' r e r u n n i n g i n f e r e n c e o v e r a n d o v e r a g a i n . T h i s i s w h y i t ' s i m p o r t a n t t o g e t t h e m o s t * c o m p u t a t i o n a l * ( s p e e d ) a n d * m e m o r y * ( G P U v R A M ) e f f i c i e n c y f r o m t h e p i p e l i n e t o r e d u c e t h e t i m e b e t w e e n i n f e r e n c e c y c l e s s o y o u c a n i t e r a t e f a s t e r . T h i s t u t o r i a l w a l k s y o u t h r o u g h h o w t o g e n e r a t e f a s t e r a n d b e t t e r w i t h t h e ` D i f f u s i o n P i p e l i n e ` . B e g i n b y l o a d i n g t h e [ ` s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ` ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ) m o d e l : ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e m o d e l _ i d = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , u s e _ s a f e t e n s o r s = T r u e ) ` ` ` T h e e x a m p l e p r o m p t y o u ' l l u s e i s a p o r t r a i t o f a n o l d w a r r i o r c h i e f , b u t f e e l f r e e t o u s e y o u r o w n p r o m p t : ` ` ` p y t h o n p r o m p t = " p o r t r a i t p h o t o o f a o l d w a r r i o r c h i e f " ` ` ` # # S p e e d < T i p > ๐Ÿ’ก I f y o u d o n ' t h a v e a c c e s s t o a G P U , y o u c a n u s e o n e f o r f r e e f r o m a G P U p r o v i d e r l i k e [ C o l a b ] ( h t t p s : / / c o l a b . r e s e a r c h . g o o g l e . c o m / ) ! < / T i p > O n e o f t h e s i m p l e s t w a y s t o s p e e d u p i n f e r e n c e i s t o p l a c e t h e p i p e l i n e o n a G P U t h e s a m e w a y y o u w o u l d w i t h a n y P y T o r c h m o d u l e : ` ` ` p y t h o n p i p e l i n e = p i p e l i n e . t o ( " c u d a " ) ` ` ` T o m a k e s u r e y o u c a n u s e t h e s a m e i m a g e a n d i m p r o v e o n i t , u s e a [ ` G e n e r a t o r ` ] ( h t t p s : / / p y t o r c h . o r g / d o c s / s t a b l e / g e n e r a t e d / t o r c h . G e n e r a t o r . h t m l ) a n d s e t a s e e d f o r [ r e p r o d u c i b i l i t y ] ( . / u s i n g - d i f f u s e r s / r e u s i n g _ s e e d s ) : ` ` ` p y t h o n i m p o r t t o r c h g e n e r a t o r = t o r c h . G e n e r a t o r ( " c u d a " ) . m a n u a l _ s e e d ( 0 ) ` ` ` N o w y o u c a n g e n e r a t e a n i m a g e : ` ` ` p y t h o n i m a g e = p i p e l i n e ( p r o m p t , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / s t a b l e _ d i f f u s i o n _ 1 0 1 / s d _ 1 0 1 _ 1 . p n g " > < / d i v > T h i s p r o c e s s t o o k ~ 3 0 s e c o n d s o n a T 4 G P U ( i t m i g h t b e f a s t e r i f y o u r a l l o c a t e d G P U i s b e t t e r t h a n a T 4 ) . B y d e f a u l t , t h e ` D i f f u s i o n P i p e l i n e ` r u n s i n f e r e n c e w i t h f u l l ` f l o a t 3 2 ` p r e c i s i o n f o r 5 0 i n f e r e n c e s t e p s . Y o u c a n s p e e d t h i s u p b y s w i t c h i n g t o a l o w e r p r e c i s i o n l i k e ` f l o a t 1 6 ` o r r u n n i n g f e w e r i n f e r e n c e s t e p s . L e t ' s s t a r t b y l o a d i n g t h e m o d e l i n ` f l o a t 1 6 ` a n d g e n e r a t e a n i m a g e : ` ` ` p y t h o n i m p o r t t o r c h p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e = p i p e l i n e . t o ( " c u d a " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( " c u d a " ) . m a n u a l _ s e e d ( 0 ) i m a g e = p i p e l i n e ( p r o m p t , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / s t a b l e _ d i f f u s i o n _ 1 0 1 / s d _ 1 0 1 _ 2 . p n g " > < / d i v > T h i s t i m e , i t o n l y t o o k ~ 1 1 s e c o n d s t o g e n e r a t e t h e i m a g e , w h i c h i s a l m o s t 3 x f a s t e r t h a n b e f o r e ! < T i p > ๐Ÿ’ก W e s t r o n g l y s u g g e s t a l w a y s r u n n i n g y o u r p i p e l i n e s i n ` f l o a t 1 6 ` , a n d s o f a r , w e ' v e r a r e l y s e e n a n y d e g r a d a t i o n i n o u t p u t q u a l i t y . < / T i p > A n o t h e r o p t i o n i s t o r e d u c e t h e n u m b e r o f i n f e r e n c e s t e p s . C h o o s i n g a m o r e e f f i c i e n t s c h e d u l e r c o u l d h e l p d e c r e a s e t h e n u m b e r o f s t e p s w i t h o u t s a c r i f i c i n g o u t p u t q u a l i t y . Y o u c a n f i n d w h i c h s c h e d u l e r s a r e c o m p a t i b l e w i t h t h e c u r r e n t m o d e l i n t h e ` D i f f u s i o n P i p e l i n e ` b y c a l l i n g t h e ` c o m p a t i b l e s ` m e t h o d : ` ` ` p y t h o n p i p e l i n e . s c h e d u l e r . c o m p a t i b l e s [ d i f f u s e r s . s c h e d u l e r s . s c h e d u l i n g _ l m s _ d i s c r e t e . L M S D i s c r e t e S c h e d u l e r , d i f f u s e r s . s c h e d u l e r s . s c h e d u l i n g _ u n i p c _ m u l t i s t e p . U n i P C M u l t i s t e p S c h e d u l e r , d i f f u s e r s . s c h e d u l e r s . s c h e d u l i n g _ k _ d p m _ 2 _ d i s c r e t e . K D P M 2 D i s c r e t e S c h e d u l e r , d i f f u s e r s . s c h e d u l e r s . s c h e d u l i n g _ d e i s _ m u l t i s t e p . D E I S M u l t i s t e p S c h e d u l e r , d i f f u s e r s . s c h e d u l e r s . s c h e d u l i n g _ e u l e r _ d i s c r e t e . E u l e r D i s c r e t e S c h e d u l e r , d i f f u s e r s . s c h e d u l e r s . s c h e d u l i n g _ d p m s o l v e r _ m u l t i s t e p . D P M S o l v e r M u l t i s t e p S c h e d u l e r , d i f f u s e r s . s c h e d u l e r s . s c h e d u l i n g _ d d p m . D D P M S c h e d u l e r , d i f f u s e r s . s c h e d u l e r s . s c h e d u l i n g _ d p m s o l v e r _ s i n g l e s t e p . D P M S o l v e r S i n g l e s t e p S c h e d u l e r , d i f f u s e r s . s c h e d u l e r s . s c h e d u l i n g _ k _ d p m _ 2 _ a n c e s t r a l _ d i s c r e t e . K D P M 2 A n c e s t r a l D i s c r e t e S c h e d u l e r , d i f f u s e r s . u t i l s . d u m m y _ t o r c h _ a n d _ t o r c h s d e _ o b j e c t s . D P M S o l v e r S D E S c h e d u l e r , d i f f u s e r s . s c h e d u l e r s . s c h e d u l i n g _ h e u n _ d i s c r e t e . H e u n D i s c r e t e S c h e d u l e r , d i f f u s e r s . s c h e d u l e r s . s c h e d u l i n g _ p n d m . P N D M S c h e d u l e r , d i f f u s e r s . s c h e d u l e r s . s c h e d u l i n g _ e u l e r _ a n c e s t r a l _ d i s c r e t e . E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r , d i f f u s e r s . s c h e d u l e r s . s c h e d u l i n g _ d d i m . D D I M S c h e d u l e r , ] ` ` ` T h e S t a b l e D i f f u s i o n m o d e l u s e s t h e ` P N D M S c h e d u l e r ` b y d e f a u l t w h i c h u s u a l l y r e q u i r e s ~ 5 0 i n f e r e n c e s t e p s , b u t m o r e p e r f o r m a n t s c h e d u l e r s l i k e ` D P M S o l v e r M u l t i s t e p S c h e d u l e r ` , r e q u i r e o n l y ~ 2 0 o r 2 5 i n f e r e n c e s t e p s . U s e t h e ` f r o m _ c o n f i g ( ) ` m e t h o d t o l o a d a n e w s c h e d u l e r : ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D P M S o l v e r M u l t i s t e p S c h e d u l e r p i p e l i n e . s c h e d u l e r = D P M S o l v e r M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g ) ` ` ` N o w s e t t h e ` n u m _ i n f e r e n c e _ s t e p s ` t o 2 0 : ` ` ` p y t h o n g e n e r a t o r = t o r c h . G e n e r a t o r ( " c u d a " ) . m a n u a l _ s e e d ( 0 ) i m a g e = p i p e l i n e ( p r o m p t , g e n e r a t o r = g e n e r a t o r , n u m _ i n f e r e n c e _ s t e p s = 2 0 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / s t a b l e _ d i f f u s i o n _ 1 0 1 / s d _ 1 0 1 _ 3 . p n g " > < / d i v > G r e a t , y o u ' v e m a n a g e d t o c u t t h e i n f e r e n c e t i m e t o j u s t 4 s e c o n d s ! โšก ๏ธ # # M e m o r y T h e o t h e r k e y t o i m p r o v i n g p i p e l i n e p e r f o r m a n c e i s c o n s u m i n g l e s s m e m o r y , w h i c h i n d i r e c t l y i m p l i e s m o r e s p e e d , s i n c e y o u ' r e o f t e n t r y i n g t o m a x i m i z e t h e n u m b e r o f i m a g e s g e n e r a t e d p e r s e c o n d . T h e e a s i e s t w a y t o s e e h o w m a n y i m a g e s y o u c a n g e n e r a t e a t o n c e i s t o t r y o u t d i f f e r e n t b a t c h s i z e s u n t i l y o u g e t a n ` O u t O f M e m o r y E r r o r ` ( O O M ) . C r e a t e a f u n c t i o n t h a t ' l l g e n e r a t e a b a t c h o f i m a g e s f r o m a l i s t o f p r o m p t s a n d ` G e n e r a t o r s ` . M a k e s u r e t o a s s i g n e a c h ` G e n e r a t o r ` a s e e d s o y o u c a n r e u s e i t i f i t p r o d u c e s a g o o d r e s u l t . ` ` ` p y t h o n d e f g e t _ i n p u t s ( b a t c h _ s i z e = 1 ) : g e n e r a t o r = [ t o r c h . G e n e r a t o r ( " c u d a " ) . m a n u a l _ s e e d ( i ) f o r i i n r a n g e ( b a t c h _ s i z e ) ] p r o m p t s = b a t c h _ s i z e * [ p r o m p t ] n u m _ i n f e r e n c e _ s t e p s = 2 0 r e t u r n { " p r o m p t " : p r o m p t s , " g e n e r a t o r " : g e n e r a t o r , " n u m _ i n f e r e n c e _ s t e p s " : n u m _ i n f e r e n c e _ s t e p s } ` ` ` S t a r t w i t h ` b a t c h _ s i z e = 4 ` a n d s e e h o w m u c h m e m o r y y o u ' v e c o n s u m e d : ` ` ` p y t h o n f r o m d i f f u s e r s . u t i l s i m p o r t m a k e _ i m a g e _ g r i d i m a g e s = p i p e l i n e ( * * g e t _ i n p u t s ( b a t c h _ s i z e = 4 ) ) . i m a g e s m a k e _ i m a g e _ g r i d ( i m a g e s , 2 , 2 ) ` ` ` U n l e s s y o u h a v e a G P U w i t h m o r e v R A M , t h e c o d e a b o v e p r o b a b l y r e t u r n e d a n ` O O M ` e r r o r ! M o s t o f t h e m e m o r y i s t a k e n u p b y t h e c r o s s - a t t e n t i o n l a y e r s . I n s t e a d o f r u n n i n g t h i s o p e r a t i o n i n a b a t c h , y o u c a n r u n i t s e q u e n t i a l l y t o s a v e a s i g n i f i c a n t a m o u n t o f m e m o r y . A l l y o u h a v e t o d o i s c o n f i g u r e t h e p i p e l i n e t o u s e t h e ` e n a b l e _ a t t e n t i o n _ s l i c i n g ( ) ` f u n c t i o n : ` ` ` p y t h o n p i p e l i n e . e n a b l e _ a t t e n t i o n _ s l i c i n g ( ) ` ` ` N o w t r y i n c r e a s i n g t h e ` b a t c h _ s i z e ` t o 8 ! ` ` ` p y t h o n i m a g e s = p i p e l i n e ( * * g e t _ i n p u t s ( b a t c h _ s i z e = 8 ) ) . i m a g e s m a k e _ i m a g e _ g r i d ( i m a g e s , r o w s = 2 , c o l s = 4 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / s t a b l e _ d i f f u s i o n _ 1 0 1 / s d _ 1 0 1 _ 5 . p n g " > < / d i v > W h e r e a s b e f o r e y o u c o u l d n ' t e v e n g e n e r a t e a b a t c h o f 4 i m a g e s , n o w y o u c a n g e n e r a t e a b a t c h o f 8 i m a g e s a t ~ 3 . 5 s e c o n d s p e r i m a g e ! T h i s i s p r o b a b l y t h e f a s t e s t y o u c a n g o o n a T 4 G P U w i t h o u t s a c r i f i c i n g q u a l i t y . # # Q u a l i t y I n t h e l a s t t w o s e c t i o n s , y o u l e a r n e d h o w t o o p t i m i z e t h e s p e e d o f y o u r p i p e l i n e b y u s i n g ` f p 1 6 ` , r e d u c i n g t h e n u m b e r o f i n f e r e n c e s t e p s b y u s i n g a m o r e p e r f o r m a n t s c h e d u l e r , a n d e n a b l i n g a t t e n t i o n s l i c i n g t o r e d u c e m e m o r y c o n s u m p t i o n . N o w y o u ' r e g o i n g t o f o c u s o n h o w t o i m p r o v e t h e q u a l i t y o f g e n e r a t e d i m a g e s . # # # B e t t e r c h e c k p o i n t s T h e m o s t o b v i o u s s t e p i s t o u s e b e t t e r c h e c k p o i n t s . T h e S t a b l e D i f f u s i o n m o d e l i s a g o o d s t a r t i n g p o i n t , a n d s i n c e i t s o f f i c i a l l a u n c h , s e v e r a l i m p r o v e d v e r s i o n s h a v e a l s o b e e n r e l e a s e d . H o w e v e r , u s i n g a n e w e r v e r s i o n d o e s n ' t a u t o m a t i c a l l y m e a n y o u ' l l g e t b e t t e r r e s u l t s . Y o u ' l l s t i l l h a v e t o e x p e r i m e n t w i t h d i f f e r e n t c h e c k p o i n t s y o u r s e l f , a n d d o a l i t t l e r e s e a r c h ( s u c h a s u s i n g [ n e g a t i v e p r o m p t s ] ( h t t p s : / / m i n i m a x i r . c o m / 2 0 2 2 / 1 1 / s t a b l e - d i f f u s i o n - n e g a t i v e - p r o m p t / ) ) t o g e t t h e b e s t r e s u l t s . A s t h e f i e l d g r o w s , t h e r e a r e m o r e a n d m o r e h i g h - q u a l i t y c h e c k p o i n t s f i n e t u n e d t o p r o d u c e c e r t a i n s t y l e s . T r y e x p l o r i n g t h e [ H u b ] ( h t t p s : / / h u g g i n g f a c e . c o / m o d e l s ? l i b r a r y = d i f f u s e r s & s o r t = d o w n l o a d s ) a n d [ D i f f u s e r s G a l l e r y ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / h u g g i n g f a c e - p r o j e c t s / d i f f u s e r s - g a l l e r y ) t o f i n d o n e y o u ' r e i n t e r e s t e d i n ! # # # B e t t e r p i p e l i n e c o m p o n e n t s Y o u c a n a l s o t r y r e p l a c i n g t h e c u r r e n t p i p e l i n e c o m p o n e n t s w i t h a n e w e r v e r s i o n . L e t ' s t r y l o a d i n g t h e l a t e s t [ a u t o e n c o d e r ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - 1 / t r e e / m a i n / v a e ) f r o m S t a b i l i t y A I i n t o t h e p i p e l i n e , a n d g e n e r a t e s o m e i m a g e s : ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t A u t o e n c o d e r K L v a e = A u t o e n c o d e r K L . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s d - v a e - f t - m s e " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e . v a e = v a e i m a g e s = p i p e l i n e ( * * g e t _ i n p u t s ( b a t c h _ s i z e = 8 ) ) . i m a g e s m a k e _ i m a g e _ g r i d ( i m a g e s , r o w s = 2 , c o l s = 4 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / s t a b l e _ d i f f u s i o n _ 1 0 1 / s d _ 1 0 1 _ 6 . p n g " > < / d i v > # # # B e t t e r p r o m p t e n g i n e e r i n g T h e t e x t p r o m p t y o u u s e t o g e n e r a t e a n i m a g e i s s u p e r i m p o r t a n t , s o m u c h s o t h a t i t i s c a l l e d * p r o m p t e n g i n e e r i n g * . S o m e c o n s i d e r a t i o n s t o k e e p d u r i n g p r o m p t e n g i n e e r i n g a r e : - H o w i s t h e i m a g e o r s i m i l a r i m a g e s o f t h e o n e I w a n t t o g e n e r a t e s t o r e d o n t h e i n t e r n e t ? - W h a t a d d i t i o n a l d e t a i l c a n I g i v e t h a t s t e e r s t h e m o d e l t o w a r d s t h e s t y l e I w a n t ? W i t h t h i s i n m i n d , l e t ' s i m p r o v e t h e p r o m p t t o i n c l u d e c o l o r a n d h i g h e r q u a l i t y d e t a i l s : ` ` ` p y t h o n p r o m p t + = " , t r i b a l p a n t h e r m a k e u p , b l u e o n r e d , s i d e p r o f i l e , l o o k i n g a w a y , s e r i o u s e y e s " p r o m p t + = " 5 0 m m p o r t r a i t p h o t o g r a p h y , h a r d r i m l i g h t i n g p h o t o g r a p h y - - b e t a - - a r 2 : 3 - - b e t a - - u p b e t a " ` ` ` G e n e r a t e a b a t c h o f i m a g e s w i t h t h e n e w p r o m p t : ` ` ` p y t h o n i m a g e s = p i p e l i n e ( * * g e t _ i n p u t s ( b a t c h _ s i z e = 8 ) ) . i m a g e s m a k e _ i m a g e _ g r i d ( i m a g e s , r o w s = 2 , c o l s = 4 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / s t a b l e _ d i f f u s i o n _ 1 0 1 / s d _ 1 0 1 _ 7 . p n g " > < / d i v > P r e t t y i m p r e s s i v e ! L e t ' s t w e a k t h e s e c o n d i m a g e - c o r r e s p o n d i n g t o t h e ` G e n e r a t o r ` w i t h a s e e d o f ` 1 ` - a b i t m o r e b y a d d i n g s o m e t e x t a b o u t t h e a g e o f t h e s u b j e c t : ` ` ` p y t h o n p r o m p t s = [ " p o r t r a i t p h o t o o f t h e o l d e s t w a r r i o r c h i e f , t r i b a l p a n t h e r m a k e u p , b l u e o n r e d , s i d e p r o f i l e , l o o k i n g a w a y , s e r i o u s e y e s 5 0 m m p o r t r a i t p h o t o g r a p h y , h a r d r i m l i g h t i n g p h o t o g r a p h y - - b e t a - - a r 2 : 3 - - b e t a - - u p b e t a " , " p o r t r a i t p h o t o o f a n o l d w a r r i o r c h i e f , t r i b a l p a n t h e r m a k e u p , b l u e o n r e d , s i d e p r o f i l e , l o o k i n g a w a y , s e r i o u s e y e s 5 0 m m p o r t r a i t p h o t o g r a p h y , h a r d r i m l i g h t i n g p h o t o g r a p h y - - b e t a - - a r 2 : 3 - - b e t a - - u p b e t a " , " p o r t r a i t p h o t o o f a w a r r i o r c h i e f , t r i b a l p a n t h e r m a k e u p , b l u e o n r e d , s i d e p r o f i l e , l o o k i n g a w a y , s e r i o u s e y e s 5 0 m m p o r t r a i t p h o t o g r a p h y , h a r d r i m l i g h t i n g p h o t o g r a p h y - - b e t a - - a r 2 : 3 - - b e t a - - u p b e t a " , " p o r t r a i t p h o t o o f a y o u n g w a r r i o r c h i e f , t r i b a l p a n t h e r m a k e u p , b l u e o n r e d , s i d e p r o f i l e , l o o k i n g a w a y , s e r i o u s e y e s 5 0 m m p o r t r a i t p h o t o g r a p h y , h a r d r i m l i g h t i n g p h o t o g r a p h y - - b e t a - - a r 2 : 3 - - b e t a - - u p b e t a " , ] g e n e r a t o r = [ t o r c h . G e n e r a t o r ( " c u d a " ) . m a n u a l _ s e e d ( 1 ) f o r _ i n r a n g e ( l e n ( p r o m p t s ) ) ] i m a g e s = p i p e l i n e ( p r o m p t = p r o m p t s , g e n e r a t o r = g e n e r a t o r , n u m _ i n f e r e n c e _ s t e p s = 2 5 ) . i m a g e s m a k e _ i m a g e _ g r i d ( i m a g e s , 2 , 2 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / s t a b l e _ d i f f u s i o n _ 1 0 1 / s d _ 1 0 1 _ 8 . p n g " > < / d i v > # # N e x t s t e p s I n t h i s t u t o r i a l , y o u l e a r n e d h o w t o o p t i m i z e a ` D i f f u s i o n P i p e l i n e ` f o r c o m p u t a t i o n a l a n d m e m o r y e f f i c i e n c y a s w e l l a s i m p r o v i n g t h e q u a l i t y o f g e n e r a t e d o u t p u t s . I f y o u ' r e i n t e r e s t e d i n m a k i n g y o u r p i p e l i n e e v e n f a s t e r , t a k e a l o o k a t t h e f o l l o w i n g r e s o u r c e s : - L e a r n h o w [ P y T o r c h 2 . 0 ] ( . / o p t i m i z a t i o n / t o r c h 2 . 0 ) a n d [ ` t o r c h . c o m p i l e ` ] ( h t t p s : / / p y t o r c h . o r g / d o c s / s t a b l e / g e n e r a t e d / t o r c h . c o m p i l e . h t m l ) c a n y i e l d 5 - 3 0 0 % f a s t e r i n f e r e n c e s p e e d . O n a n A 1 0 0 G P U , i n f e r e n c e c a n b e u p t o 5 0 % f a s t e r ! - I f y o u c a n ' t u s e P y T o r c h 2 , w e r e c o m m e n d y o u i n s t a l l [ x F o r m e r s ] ( . / o p t i m i z a t i o n / x f o r m e r s ) . I t s m e m o r y - e f f i c i e n t a t t e n t i o n m e c h a n i s m w o r k s g r e a t w i t h P y T o r c h 1 . 1 3 . 1 f o r f a s t e r s p e e d a n d r e d u c e d m e m o r y c o n s u m p t i o n . - O t h e r o p t i m i z a t i o n t e c h n i q u e s , s u c h a s m o d e l o f f l o a d i n g , a r e c o v e r e d i n [ t h i s g u i d e ] ( . / o p t i m i z a t i o n / f p 1 6 ) . < p a l i g n = " c e n t e r " > < b r > < i m g s r c = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / h u g g i n g f a c e / d i f f u s e r s / 7 7 a a d f e e 6 a 8 9 1 a b 9 f c f b 7 8 0 f 8 7 c 6 9 3 f 7 a 5 b e e b 8 e / d o c s / s o u r c e / i m g s / d i f f u s e r s _ l i b r a r y . j p g " w i d t h = " 4 0 0 " / > < b r > < / p > # D i f f u s e r s ๐Ÿค— D i f f u s e r s i s t h e g o - t o l i b r a r y f o r s t a t e - o f - t h e - a r t p r e t r a i n e d d i f f u s i o n m o d e l s f o r g e n e r a t i n g i m a g e s , a u d i o , a n d e v e n 3 D s t r u c t u r e s o f m o l e c u l e s . W h e t h e r y o u ' r e l o o k i n g f o r a s i m p l e i n f e r e n c e s o l u t i o n o r w a n t t o t r a i n y o u r o w n d i f f u s i o n m o d e l , ๐Ÿค— D i f f u s e r s i s a m o d u l a r t o o l b o x t h a t s u p p o r t s b o t h . O u r l i b r a r y i s d e s i g n e d w i t h a f o c u s o n [ u s a b i l i t y o v e r p e r f o r m a n c e ] ( c o n c e p t u a l / p h i l o s o p h y # u s a b i l i t y - o v e r - p e r f o r m a n c e ) , [ s i m p l e o v e r e a s y ] ( c o n c e p t u a l / p h i l o s o p h y # s i m p l e - o v e r - e a s y ) , a n d [ c u s t o m i z a b i l i t y o v e r a b s t r a c t i o n s ] ( c o n c e p t u a l / p h i l o s o p h y # t w e a k a b l e - c o n t r i b u t o r f r i e n d l y - o v e r - a b s t r a c t i o n ) . T h e l i b r a r y h a s t h r e e m a i n c o m p o n e n t s : - S t a t e - o f - t h e - a r t d i f f u s i o n p i p e l i n e s f o r i n f e r e n c e w i t h j u s t a f e w l i n e s o f c o d e . T h e r e a r e m a n y p i p e l i n e s i n ๐Ÿค— D i f f u s e r s , c h e c k o u t t h e t a b l e i n t h e p i p e l i n e [ o v e r v i e w ] ( a p i / p i p e l i n e s / o v e r v i e w ) f o r a c o m p l e t e l i s t o f a v a i l a b l e p i p e l i n e s a n d t h e t a s k t h e y s o l v e . - I n t e r c h a n g e a b l e [ n o i s e s c h e d u l e r s ] ( a p i / s c h e d u l e r s / o v e r v i e w ) f o r b a l a n c i n g t r a d e - o f f s b e t w e e n g e n e r a t i o n s p e e d a n d q u a l i t y . - P r e t r a i n e d [ m o d e l s ] ( a p i / m o d e l s ) t h a t c a n b e u s e d a s b u i l d i n g b l o c k s , a n d c o m b i n e d w i t h s c h e d u l e r s , f o r c r e a t i n g y o u r o w n e n d - t o - e n d d i f f u s i o n s y s t e m s . < d i v c l a s s = " m t - 1 0 " > < d i v c l a s s = " w - f u l l f l e x f l e x - c o l s p a c e - y - 4 m d : s p a c e - y - 0 m d : g r i d m d : g r i d - c o l s - 2 m d : g a p - y - 4 m d : g a p - x - 5 " > < a c l a s s = " ! n o - u n d e r l i n e b o r d e r d a r k : b o r d e r - g r a y - 7 0 0 p - 5 r o u n d e d - l g s h a d o w h o v e r : s h a d o w - l g " h r e f = " . / t u t o r i a l s / t u t o r i a l _ o v e r v i e w " > < d i v c l a s s = " w - f u l l t e x t - c e n t e r b g - g r a d i e n t - t o - b r f r o m - b l u e - 4 0 0 t o - b l u e - 5 0 0 r o u n d e d - l g p y - 1 . 5 f o n t - s e m i b o l d m b - 5 t e x t - w h i t e t e x t - l g l e a d i n g - r e l a x e d " > T u t o r i a l s < / d i v > < p c l a s s = " t e x t - g r a y - 7 0 0 " > L e a r n t h e f u n d a m e n t a l s k i l l s y o u n e e d t o s t a r t g e n e r a t i n g o u t p u t s , b u i l d y o u r o w n d i f f u s i o n s y s t e m , a n d t r a i n a d i f f u s i o n m o d e l . W e r e c o m m e n d s t a r t i n g h e r e i f y o u ' r e u s i n g ๐Ÿค— D i f f u s e r s f o r t h e f i r s t t i m e ! < / p > < / a > < a c l a s s = " ! n o - u n d e r l i n e b o r d e r d a r k : b o r d e r - g r a y - 7 0 0 p - 5 r o u n d e d - l g s h a d o w h o v e r : s h a d o w - l g " h r e f = " . / u s i n g - d i f f u s e r s / l o a d i n g _ o v e r v i e w " > < d i v c l a s s = " w - f u l l t e x t - c e n t e r b g - g r a d i e n t - t o - b r f r o m - i n d i g o - 4 0 0 t o - i n d i g o - 5 0 0 r o u n d e d - l g p y - 1 . 5 f o n t - s e m i b o l d m b - 5 t e x t - w h i t e t e x t - l g l e a d i n g - r e l a x e d " > H o w - t o g u i d e s < / d i v > < p c l a s s = " t e x t - g r a y - 7 0 0 " > P r a c t i c a l g u i d e s f o r h e l p i n g y o u l o a d p i p e l i n e s , m o d e l s , a n d s c h e d u l e r s . Y o u ' l l a l s o l e a r n h o w t o u s e p i p e l i n e s f o r s p e c i f i c t a s k s , c o n t r o l h o w o u t p u t s a r e g e n e r a t e d , o p t i m i z e f o r i n f e r e n c e s p e e d , a n d d i f f e r e n t t r a i n i n g t e c h n i q u e s . < / p > < / a > < a c l a s s = " ! n o - u n d e r l i n e b o r d e r d a r k : b o r d e r - g r a y - 7 0 0 p - 5 r o u n d e d - l g s h a d o w h o v e r : s h a d o w - l g " h r e f = " . / c o n c e p t u a l / p h i l o s o p h y " > < d i v c l a s s = " w - f u l l t e x t - c e n t e r b g - g r a d i e n t - t o - b r f r o m - p i n k - 4 0 0 t o - p i n k - 5 0 0 r o u n d e d - l g p y - 1 . 5 f o n t - s e m i b o l d m b - 5 t e x t - w h i t e t e x t - l g l e a d i n g - r e l a x e d " > C o n c e p t u a l g u i d e s < / d i v > < p c l a s s = " t e x t - g r a y - 7 0 0 " > U n d e r s t a n d w h y t h e l i b r a r y w a s d e s i g n e d t h e w a y i t w a s , a n d l e a r n m o r e a b o u t t h e e t h i c a l g u i d e l i n e s a n d s a f e t y i m p l e m e n t a t i o n s f o r u s i n g t h e l i b r a r y . < / p > < / a > < a c l a s s = " ! n o - u n d e r l i n e b o r d e r d a r k : b o r d e r - g r a y - 7 0 0 p - 5 r o u n d e d - l g s h a d o w h o v e r : s h a d o w - l g " h r e f = " . / a p i / m o d e l s / o v e r v i e w " > < d i v c l a s s = " w - f u l l t e x t - c e n t e r b g - g r a d i e n t - t o - b r f r o m - p u r p l e - 4 0 0 t o - p u r p l e - 5 0 0 r o u n d e d - l g p y - 1 . 5 f o n t - s e m i b o l d m b - 5 t e x t - w h i t e t e x t - l g l e a d i n g - r e l a x e d " > R e f e r e n c e < / d i v > < p c l a s s = " t e x t - g r a y - 7 0 0 " > T e c h n i c a l d e s c r i p t i o n s o f h o w ๐Ÿค— D i f f u s e r s c l a s s e s a n d m e t h o d s w o r k . < / p > < / a > < / d i v > < / d i v > # W u e r s t c h e n T h e [ W u e r s t c h e n ] ( h t t p s : / / h f . c o / p a p e r s / 2 3 0 6 . 0 0 6 3 7 ) m o d e l d r a s t i c a l l y r e d u c e s c o m p u t a t i o n a l c o s t s b y c o m p r e s s i n g t h e l a t e n t s p a c e b y 4 2 x , w i t h o u t c o m p r o m i s i n g i m a g e q u a l i t y a n d a c c e l e r a t i n g i n f e r e n c e . D u r i n g t r a i n i n g , W u e r s t c h e n u s e s t w o m o d e l s ( V Q G A N + a u t o e n c o d e r ) t o c o m p r e s s t h e l a t e n t s , a n d t h e n a t h i r d m o d e l ( t e x t - c o n d i t i o n e d l a t e n t d i f f u s i o n m o d e l ) i s c o n d i t i o n e d o n t h i s h i g h l y c o m p r e s s e d s p a c e t o g e n e r a t e a n i m a g e . T o f i t t h e p r i o r m o d e l i n t o G P U m e m o r y a n d t o s p e e d u p t r a i n i n g , t r y e n a b l i n g ` g r a d i e n t _ a c c u m u l a t i o n _ s t e p s ` , ` g r a d i e n t _ c h e c k p o i n t i n g ` , a n d ` m i x e d _ p r e c i s i o n ` r e s p e c t i v e l y . T h i s g u i d e e x p l o r e s t h e [ t r a i n _ t e x t _ t o _ i m a g e _ p r i o r . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / w u e r s t c h e n / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ p r i o r . p y ) s c r i p t t o h e l p y o u b e c o m e m o r e f a m i l i a r w i t h i t , a n d h o w y o u c a n a d a p t i t f o r y o u r o w n u s e - c a s e . B e f o r e r u n n i n g t h e s c r i p t , m a k e s u r e y o u i n s t a l l t h e l i b r a r y f r o m s o u r c e : ` ` ` b a s h g i t c l o n e h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s c d d i f f u s e r s p i p i n s t a l l . ` ` ` T h e n n a v i g a t e t o t h e e x a m p l e f o l d e r c o n t a i n i n g t h e t r a i n i n g s c r i p t a n d i n s t a l l t h e r e q u i r e d d e p e n d e n c i e s f o r t h e s c r i p t y o u ' r e u s i n g : ` ` ` b a s h c d e x a m p l e s / w u e r s t c h e n / t e x t _ t o _ i m a g e p i p i n s t a l l - r r e q u i r e m e n t s . t x t ` ` ` < T i p > ๐Ÿค— A c c e l e r a t e i s a l i b r a r y f o r h e l p i n g y o u t r a i n o n m u l t i p l e G P U s / T P U s o r w i t h m i x e d - p r e c i s i o n . I t ' l l a u t o m a t i c a l l y c o n f i g u r e y o u r t r a i n i n g s e t u p b a s e d o n y o u r h a r d w a r e a n d e n v i r o n m e n t . T a k e a l o o k a t t h e ๐Ÿค— A c c e l e r a t e [ Q u i c k t o u r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / q u i c k t o u r ) t o l e a r n m o r e . < / T i p > I n i t i a l i z e a n ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t : ` ` ` b a s h a c c e l e r a t e c o n f i g ` ` ` T o s e t u p a d e f a u l t ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t w i t h o u t c h o o s i n g a n y c o n f i g u r a t i o n s : ` ` ` b a s h a c c e l e r a t e c o n f i g d e f a u l t ` ` ` O r i f y o u r e n v i r o n m e n t d o e s n ' t s u p p o r t a n i n t e r a c t i v e s h e l l , l i k e a n o t e b o o k , y o u c a n u s e : ` ` ` p y f r o m a c c e l e r a t e . u t i l s i m p o r t w r i t e _ b a s i c _ c o n f i g w r i t e _ b a s i c _ c o n f i g ( ) ` ` ` L a s t l y , i f y o u w a n t t o t r a i n a m o d e l o n y o u r o w n d a t a s e t , t a k e a l o o k a t t h e [ C r e a t e a d a t a s e t f o r t r a i n i n g ] ( c r e a t e _ d a t a s e t ) g u i d e t o l e a r n h o w t o c r e a t e a d a t a s e t t h a t w o r k s w i t h t h e t r a i n i n g s c r i p t . < T i p > T h e f o l l o w i n g s e c t i o n s h i g h l i g h t p a r t s o f t h e t r a i n i n g s c r i p t s t h a t a r e i m p o r t a n t f o r u n d e r s t a n d i n g h o w t o m o d i f y i t , b u t i t d o e s n ' t c o v e r e v e r y a s p e c t o f t h e [ s c r i p t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / w u e r s t c h e n / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ p r i o r . p y ) i n d e t a i l . I f y o u ' r e i n t e r e s t e d i n l e a r n i n g m o r e , f e e l f r e e t o r e a d t h r o u g h t h e s c r i p t s a n d l e t u s k n o w i f y o u h a v e a n y q u e s t i o n s o r c o n c e r n s . < / T i p > # # S c r i p t p a r a m e t e r s T h e t r a i n i n g s c r i p t s p r o v i d e s m a n y p a r a m e t e r s t o h e l p y o u c u s t o m i z e y o u r t r a i n i n g r u n . A l l o f t h e p a r a m e t e r s a n d t h e i r d e s c r i p t i o n s a r e f o u n d i n t h e [ ` p a r s e _ a r g s ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 e 6 8 c 7 1 5 0 3 6 8 2 c 8 6 9 3 c b 5 b 0 6 a 4 d a 4 9 1 1 d f d 6 5 5 e e / e x a m p l e s / w u e r s t c h e n / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ p r i o r . p y # L 1 9 2 ) f u n c t i o n . I t p r o v i d e s d e f a u l t v a l u e s f o r e a c h p a r a m e t e r , s u c h a s t h e t r a i n i n g b a t c h s i z e a n d l e a r n i n g r a t e , b u t y o u c a n a l s o s e t y o u r o w n v a l u e s i n t h e t r a i n i n g c o m m a n d i f y o u ' d l i k e . F o r e x a m p l e , t o s p e e d u p t r a i n i n g w i t h m i x e d p r e c i s i o n u s i n g t h e f p 1 6 f o r m a t , a d d t h e ` - - m i x e d _ p r e c i s i o n ` p a r a m e t e r t o t h e t r a i n i n g c o m m a n d : ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ t e x t _ t o _ i m a g e _ p r i o r . p y \ - - m i x e d _ p r e c i s i o n = " f p 1 6 " ` ` ` M o s t o f t h e p a r a m e t e r s a r e i d e n t i c a l t o t h e p a r a m e t e r s i n t h e [ T e x t - t o - i m a g e ] ( t e x t 2 i m a g e # s c r i p t - p a r a m e t e r s ) t r a i n i n g g u i d e , s o l e t ' s d i v e r i g h t i n t o t h e W u e r s t c h e n t r a i n i n g s c r i p t ! # # T r a i n i n g s c r i p t T h e t r a i n i n g s c r i p t i s a l s o s i m i l a r t o t h e [ T e x t - t o - i m a g e ] ( t e x t 2 i m a g e # t r a i n i n g - s c r i p t ) t r a i n i n g g u i d e , b u t i t ' s b e e n m o d i f i e d t o s u p p o r t W u e r s t c h e n . T h i s g u i d e f o c u s e s o n t h e c o d e t h a t i s u n i q u e t o t h e W u e r s t c h e n t r a i n i n g s c r i p t . T h e [ ` m a i n ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 e 6 8 c 7 1 5 0 3 6 8 2 c 8 6 9 3 c b 5 b 0 6 a 4 d a 4 9 1 1 d f d 6 5 5 e e / e x a m p l e s / w u e r s t c h e n / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ p r i o r . p y # L 4 4 1 ) f u n c t i o n s t a r t s b y i n i t i a l i z i n g t h e i m a g e e n c o d e r - a n [ E f f i c i e n t N e t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / w u e r s t c h e n / t e x t _ t o _ i m a g e / m o d e l i n g _ e f f i c i e n t _ n e t _ e n c o d e r . p y ) - i n a d d i t i o n t o t h e u s u a l s c h e d u l e r a n d t o k e n i z e r . ` ` ` p y w i t h C o n t e x t M a n a g e r s ( d e e p s p e e d _ z e r o _ i n i t _ d i s a b l e d _ c o n t e x t _ m a n a g e r ( ) ) : p r e t r a i n e d _ c h e c k p o i n t _ f i l e = h f _ h u b _ d o w n l o a d ( " d o m e 2 7 2 / w u e r s t c h e n " , f i l e n a m e = " m o d e l _ v 2 _ s t a g e _ b . p t " ) s t a t e _ d i c t = t o r c h . l o a d ( p r e t r a i n e d _ c h e c k p o i n t _ f i l e , m a p _ l o c a t i o n = " c p u " ) i m a g e _ e n c o d e r = E f f i c i e n t N e t E n c o d e r ( ) i m a g e _ e n c o d e r . l o a d _ s t a t e _ d i c t ( s t a t e _ d i c t [ " e f f n e t _ s t a t e _ d i c t " ] ) i m a g e _ e n c o d e r . e v a l ( ) ` ` ` Y o u ' l l a l s o l o a d t h e ` W u e r s t c h e n P r i o r ` m o d e l f o r o p t i m i z a t i o n . ` ` ` p y p r i o r = W u e r s t c h e n P r i o r . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ p r i o r _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " p r i o r " ) o p t i m i z e r = o p t i m i z e r _ c l s ( p r i o r . p a r a m e t e r s ( ) , l r = a r g s . l e a r n i n g _ r a t e , b e t a s = ( a r g s . a d a m _ b e t a 1 , a r g s . a d a m _ b e t a 2 ) , w e i g h t _ d e c a y = a r g s . a d a m _ w e i g h t _ d e c a y , e p s = a r g s . a d a m _ e p s i l o n , ) ` ` ` N e x t , y o u ' l l a p p l y s o m e [ t r a n s f o r m s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 5 e f 7 a 0 c 5 c 5 9 4 b 4 f 8 4 0 9 2 e 3 2 8 f b d d 7 3 1 8 3 6 1 3 b 3 0 / e x a m p l e s / w u e r s t c h e n / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ p r i o r . p y # L 6 5 6 ) t o t h e i m a g e s a n d [ t o k e n i z e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 5 e f 7 a 0 c 5 c 5 9 4 b 4 f 8 4 0 9 2 e 3 2 8 f b d d 7 3 1 8 3 6 1 3 b 3 0 / e x a m p l e s / w u e r s t c h e n / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ p r i o r . p y # L 6 3 7 ) t h e c a p t i o n s : ` ` ` p y d e f p r e p r o c e s s _ t r a i n ( e x a m p l e s ) : i m a g e s = [ i m a g e . c o n v e r t ( " R G B " ) f o r i m a g e i n e x a m p l e s [ i m a g e _ c o l u m n ] ] e x a m p l e s [ " e f f n e t _ p i x e l _ v a l u e s " ] = [ e f f n e t _ t r a n s f o r m s ( i m a g e ) f o r i m a g e i n i m a g e s ] e x a m p l e s [ " t e x t _ i n p u t _ i d s " ] , e x a m p l e s [ " t e x t _ m a s k " ] = t o k e n i z e _ c a p t i o n s ( e x a m p l e s ) r e t u r n e x a m p l e s ` ` ` F i n a l l y , t h e [ t r a i n i n g l o o p ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 5 e f 7 a 0 c 5 c 5 9 4 b 4 f 8 4 0 9 2 e 3 2 8 f b d d 7 3 1 8 3 6 1 3 b 3 0 / e x a m p l e s / w u e r s t c h e n / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ p r i o r . p y # L 6 5 6 ) h a n d l e s c o m p r e s s i n g t h e i m a g e s t o l a t e n t s p a c e w i t h t h e ` E f f i c i e n t N e t E n c o d e r ` , a d d i n g n o i s e t o t h e l a t e n t s , a n d p r e d i c t i n g t h e n o i s e r e s i d u a l w i t h t h e ` W u e r s t c h e n P r i o r ` m o d e l . ` ` ` p y p r e d _ n o i s e = p r i o r ( n o i s y _ l a t e n t s , t i m e s t e p s , p r o m p t _ e m b e d s ) ` ` ` I f y o u w a n t t o l e a r n m o r e a b o u t h o w t h e t r a i n i n g l o o p w o r k s , c h e c k o u t t h e [ U n d e r s t a n d i n g p i p e l i n e s , m o d e l s a n d s c h e d u l e r s ] ( . . / u s i n g - d i f f u s e r s / w r i t e _ o w n _ p i p e l i n e ) t u t o r i a l w h i c h b r e a k s d o w n t h e b a s i c p a t t e r n o f t h e d e n o i s i n g p r o c e s s . # # L a u n c h t h e s c r i p t O n c e y o u โ€™ v e m a d e a l l y o u r c h a n g e s o r y o u โ€™ r e o k a y w i t h t h e d e f a u l t c o n f i g u r a t i o n , y o u โ€™ r e r e a d y t o l a u n c h t h e t r a i n i n g s c r i p t ! ๐Ÿš€ S e t t h e ` D A T A S E T _ N A M E ` e n v i r o n m e n t v a r i a b l e t o t h e d a t a s e t n a m e f r o m t h e H u b . T h i s g u i d e u s e s t h e [ N a r u t o B L I P c a p t i o n s ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / l a m b d a l a b s / n a r u t o - b l i p - c a p t i o n s ) d a t a s e t , b u t y o u c a n c r e a t e a n d t r a i n o n y o u r o w n d a t a s e t s a s w e l l ( s e e t h e [ C r e a t e a d a t a s e t f o r t r a i n i n g ] ( c r e a t e _ d a t a s e t ) g u i d e ) . < T i p > T o m o n i t o r t r a i n i n g p r o g r e s s w i t h W e i g h t s & B i a s e s , a d d t h e ` - - r e p o r t _ t o = w a n d b ` p a r a m e t e r t o t h e t r a i n i n g c o m m a n d . Y o u โ€™ l l a l s o n e e d t o a d d t h e ` - - v a l i d a t i o n _ p r o m p t ` t o t h e t r a i n i n g c o m m a n d t o k e e p t r a c k o f r e s u l t s . T h i s c a n b e r e a l l y u s e f u l f o r d e b u g g i n g t h e m o d e l a n d v i e w i n g i n t e r m e d i a t e r e s u l t s . < / T i p > ` ` ` b a s h e x p o r t D A T A S E T _ N A M E = " l a m b d a l a b s / n a r u t o - b l i p - c a p t i o n s " a c c e l e r a t e l a u n c h t r a i n _ t e x t _ t o _ i m a g e _ p r i o r . p y \ - - m i x e d _ p r e c i s i o n = " f p 1 6 " \ - - d a t a s e t _ n a m e = $ D A T A S E T _ N A M E \ - - r e s o l u t i o n = 7 6 8 \ - - t r a i n _ b a t c h _ s i z e = 4 \ - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s = 4 \ - - g r a d i e n t _ c h e c k p o i n t i n g \ - - d a t a l o a d e r _ n u m _ w o r k e r s = 4 \ - - m a x _ t r a i n _ s t e p s = 1 5 0 0 0 \ - - l e a r n i n g _ r a t e = 1 e - 0 5 \ - - m a x _ g r a d _ n o r m = 1 \ - - c h e c k p o i n t s _ t o t a l _ l i m i t = 3 \ - - l r _ s c h e d u l e r = " c o n s t a n t " \ - - l r _ w a r m u p _ s t e p s = 0 \ - - v a l i d a t i o n _ p r o m p t s = " A r o b o t n a r u t o , 4 k p h o t o " \ - - r e p o r t _ t o = " w a n d b " \ - - p u s h _ t o _ h u b \ - - o u t p u t _ d i r = " w u e r s t c h e n - p r i o r - n a r u t o - m o d e l " ` ` ` O n c e t r a i n i n g i s c o m p l e t e , y o u c a n u s e y o u r n e w l y t r a i n e d m o d e l f o r i n f e r e n c e ! ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e f r o m d i f f u s e r s . p i p e l i n e s . w u e r s t c h e n i m p o r t D E F A U L T _ S T A G E _ C _ T I M E S T E P S p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " p a t h / t o / s a v e d / m o d e l " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) c a p t i o n = " A c u t e b i r d n a r u t o h o l d i n g a s h i e l d " i m a g e s = p i p e l i n e ( c a p t i o n , w i d t h = 1 0 2 4 , h e i g h t = 1 5 3 6 , p r i o r _ t i m e s t e p s = D E F A U L T _ S T A G E _ C _ T I M E S T E P S , p r i o r _ g u i d a n c e _ s c a l e = 4 . 0 , n u m _ i m a g e s _ p e r _ p r o m p t = 2 , ) . i m a g e s ` ` ` # # N e x t s t e p s C o n g r a t u l a t i o n s o n t r a i n i n g a W u e r s t c h e n m o d e l ! T o l e a r n m o r e a b o u t h o w t o u s e y o u r n e w m o d e l , t h e f o l l o w i n g m a y b e h e l p f u l : - T a k e a l o o k a t t h e [ W u e r s t c h e n ] ( . . / a p i / p i p e l i n e s / w u e r s t c h e n # t e x t - t o - i m a g e - g e n e r a t i o n ) A P I d o c u m e n t a t i o n t o l e a r n m o r e a b o u t h o w t o u s e t h e p i p e l i n e f o r t e x t - t o - i m a g e g e n e r a t i o n a n d i t s l i m i t a t i o n s . # D i s t r i b u t e d i n f e r e n c e O n d i s t r i b u t e d s e t u p s , y o u c a n r u n i n f e r e n c e a c r o s s m u l t i p l e G P U s w i t h ๐Ÿค— [ A c c e l e r a t e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / i n d e x ) o r [ P y T o r c h D i s t r i b u t e d ] ( h t t p s : / / p y t o r c h . o r g / t u t o r i a l s / b e g i n n e r / d i s t _ o v e r v i e w . h t m l ) , w h i c h i s u s e f u l f o r g e n e r a t i n g w i t h m u l t i p l e p r o m p t s i n p a r a l l e l . T h i s g u i d e w i l l s h o w y o u h o w t o u s e ๐Ÿค— A c c e l e r a t e a n d P y T o r c h D i s t r i b u t e d f o r d i s t r i b u t e d i n f e r e n c e . # # ๐Ÿค— A c c e l e r a t e ๐Ÿค— [ A c c e l e r a t e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / i n d e x ) i s a l i b r a r y d e s i g n e d t o m a k e i t e a s y t o t r a i n o r r u n i n f e r e n c e a c r o s s d i s t r i b u t e d s e t u p s . I t s i m p l i f i e s t h e p r o c e s s o f s e t t i n g u p t h e d i s t r i b u t e d e n v i r o n m e n t , a l l o w i n g y o u t o f o c u s o n y o u r P y T o r c h c o d e . T o b e g i n , c r e a t e a P y t h o n f i l e a n d i n i t i a l i z e a n [ a c c e l e r a t e . P a r t i a l S t a t e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / m a i n / e n / p a c k a g e _ r e f e r e n c e / s t a t e # a c c e l e r a t e . P a r t i a l S t a t e ) t o c r e a t e a d i s t r i b u t e d e n v i r o n m e n t ; y o u r s e t u p i s a u t o m a t i c a l l y d e t e c t e d s o y o u d o n ' t n e e d t o e x p l i c i t l y d e f i n e t h e ` r a n k ` o r ` w o r l d _ s i z e ` . M o v e t h e ` D i f f u s i o n P i p e l i n e ` t o ` d i s t r i b u t e d _ s t a t e . d e v i c e ` t o a s s i g n a G P U t o e a c h p r o c e s s . N o w u s e t h e [ s p l i t _ b e t w e e n _ p r o c e s s e s ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / m a i n / e n / p a c k a g e _ r e f e r e n c e / s t a t e # a c c e l e r a t e . P a r t i a l S t a t e . s p l i t _ b e t w e e n _ p r o c e s s e s ) u t i l i t y a s a c o n t e x t m a n a g e r t o a u t o m a t i c a l l y d i s t r i b u t e t h e p r o m p t s b e t w e e n t h e n u m b e r o f p r o c e s s e s . ` ` ` p y i m p o r t t o r c h f r o m a c c e l e r a t e i m p o r t P a r t i a l S t a t e f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) d i s t r i b u t e d _ s t a t e = P a r t i a l S t a t e ( ) p i p e l i n e . t o ( d i s t r i b u t e d _ s t a t e . d e v i c e ) w i t h d i s t r i b u t e d _ s t a t e . s p l i t _ b e t w e e n _ p r o c e s s e s ( [ " a d o g " , " a c a t " ] ) a s p r o m p t : r e s u l t = p i p e l i n e ( p r o m p t ) . i m a g e s [ 0 ] r e s u l t . s a v e ( f " r e s u l t _ { d i s t r i b u t e d _ s t a t e . p r o c e s s _ i n d e x } . p n g " ) ` ` ` U s e t h e ` - - n u m _ p r o c e s s e s ` a r g u m e n t t o s p e c i f y t h e n u m b e r o f G P U s t o u s e , a n d c a l l ` a c c e l e r a t e l a u n c h ` t o r u n t h e s c r i p t : ` ` ` b a s h a c c e l e r a t e l a u n c h r u n _ d i s t r i b u t e d . p y - - n u m _ p r o c e s s e s = 2 ` ` ` < T i p > R e f e r t o t h i s m i n i m a l e x a m p l e [ s c r i p t ] ( h t t p s : / / g i s t . g i t h u b . c o m / s a y a k p a u l / c f a e b d 2 2 1 8 2 0 d 7 b 4 3 f a e 6 3 8 b 4 d f a 0 1 b a ) f o r r u n n i n g i n f e r e n c e a c r o s s m u l t i p l e G P U s . T o l e a r n m o r e , t a k e a l o o k a t t h e [ D i s t r i b u t e d I n f e r e n c e w i t h ๐Ÿค— A c c e l e r a t e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / e n / u s a g e _ g u i d e s / d i s t r i b u t e d _ i n f e r e n c e # d i s t r i b u t e d - i n f e r e n c e - w i t h - a c c e l e r a t e ) g u i d e . < / T i p > # # P y T o r c h D i s t r i b u t e d P y T o r c h s u p p o r t s [ ` D i s t r i b u t e d D a t a P a r a l l e l ` ] ( h t t p s : / / p y t o r c h . o r g / d o c s / s t a b l e / g e n e r a t e d / t o r c h . n n . p a r a l l e l . D i s t r i b u t e d D a t a P a r a l l e l . h t m l ) w h i c h e n a b l e s d a t a p a r a l l e l i s m . T o s t a r t , c r e a t e a P y t h o n f i l e a n d i m p o r t ` t o r c h . d i s t r i b u t e d ` a n d ` t o r c h . m u l t i p r o c e s s i n g ` t o s e t u p t h e d i s t r i b u t e d p r o c e s s g r o u p a n d t o s p a w n t h e p r o c e s s e s f o r i n f e r e n c e o n e a c h G P U . Y o u s h o u l d a l s o i n i t i a l i z e a ` D i f f u s i o n P i p e l i n e ` : ` ` ` p y i m p o r t t o r c h i m p o r t t o r c h . d i s t r i b u t e d a s d i s t i m p o r t t o r c h . m u l t i p r o c e s s i n g a s m p f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e s d = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) ` ` ` Y o u ' l l w a n t t o c r e a t e a f u n c t i o n t o r u n i n f e r e n c e ; [ ` i n i t _ p r o c e s s _ g r o u p ` ] ( h t t p s : / / p y t o r c h . o r g / d o c s / s t a b l e / d i s t r i b u t e d . h t m l ? h i g h l i g h t = i n i t _ p r o c e s s _ g r o u p # t o r c h . d i s t r i b u t e d . i n i t _ p r o c e s s _ g r o u p ) h a n d l e s c r e a t i n g a d i s t r i b u t e d e n v i r o n m e n t w i t h t h e t y p e o f b a c k e n d t o u s e , t h e ` r a n k ` o f t h e c u r r e n t p r o c e s s , a n d t h e ` w o r l d _ s i z e ` o r t h e n u m b e r o f p r o c e s s e s p a r t i c i p a t i n g . I f y o u ' r e r u n n i n g i n f e r e n c e i n p a r a l l e l o v e r 2 G P U s , t h e n t h e ` w o r l d _ s i z e ` i s 2 . M o v e t h e ` D i f f u s i o n P i p e l i n e ` t o ` r a n k ` a n d u s e ` g e t _ r a n k ` t o a s s i g n a G P U t o e a c h p r o c e s s , w h e r e e a c h p r o c e s s h a n d l e s a d i f f e r e n t p r o m p t : ` ` ` p y d e f r u n _ i n f e r e n c e ( r a n k , w o r l d _ s i z e ) : d i s t . i n i t _ p r o c e s s _ g r o u p ( " n c c l " , r a n k = r a n k , w o r l d _ s i z e = w o r l d _ s i z e ) s d . t o ( r a n k ) i f t o r c h . d i s t r i b u t e d . g e t _ r a n k ( ) = = 0 : p r o m p t = " a d o g " e l i f t o r c h . d i s t r i b u t e d . g e t _ r a n k ( ) = = 1 : p r o m p t = " a c a t " i m a g e = s d ( p r o m p t ) . i m a g e s [ 0 ] i m a g e . s a v e ( f " . / { ' _ ' . j o i n ( p r o m p t ) } . p n g " ) ` ` ` T o r u n t h e d i s t r i b u t e d i n f e r e n c e , c a l l [ ` m p . s p a w n ` ] ( h t t p s : / / p y t o r c h . o r g / d o c s / s t a b l e / m u l t i p r o c e s s i n g . h t m l # t o r c h . m u l t i p r o c e s s i n g . s p a w n ) t o r u n t h e ` r u n _ i n f e r e n c e ` f u n c t i o n o n t h e n u m b e r o f G P U s d e f i n e d i n ` w o r l d _ s i z e ` : ` ` ` p y d e f m a i n ( ) : w o r l d _ s i z e = 2 m p . s p a w n ( r u n _ i n f e r e n c e , a r g s = ( w o r l d _ s i z e , ) , n p r o c s = w o r l d _ s i z e , j o i n = T r u e ) i f _ _ n a m e _ _ = = " _ _ m a i n _ _ " : m a i n ( ) ` ` ` O n c e y o u ' v e c o m p l e t e d t h e i n f e r e n c e s c r i p t , u s e t h e ` - - n p r o c _ p e r _ n o d e ` a r g u m e n t t o s p e c i f y t h e n u m b e r o f G P U s t o u s e a n d c a l l ` t o r c h r u n ` t o r u n t h e s c r i p t : ` ` ` b a s h t o r c h r u n r u n _ d i s t r i b u t e d . p y - - n p r o c _ p e r _ n o d e = 2 ` ` ` > [ ! T I P ] > Y o u c a n u s e ` d e v i c e _ m a p ` w i t h i n a ` D i f f u s i o n P i p e l i n e ` t o d i s t r i b u t e i t s m o d e l - l e v e l c o m p o n e n t s o n m u l t i p l e d e v i c e s . R e f e r t o t h e [ D e v i c e p l a c e m e n t ] ( . . / t u t o r i a l s / i n f e r e n c e _ w i t h _ b i g _ m o d e l s # d e v i c e - p l a c e m e n t ) g u i d e t o l e a r n m o r e . # # M o d e l s h a r d i n g M o d e r n d i f f u s i o n s y s t e m s s u c h a s [ F l u x ] ( . . / a p i / p i p e l i n e s / f l u x ) a r e v e r y l a r g e a n d h a v e m u l t i p l e m o d e l s . F o r e x a m p l e , [ F l u x . 1 - D e v ] ( h t t p s : / / h f . c o / b l a c k - f o r e s t - l a b s / F L U X . 1 - d e v ) i s m a d e u p o f t w o t e x t e n c o d e r s - [ T 5 - X X L ] ( h t t p s : / / h f . c o / g o o g l e / t 5 - v 1 _ 1 - x x l ) a n d [ C L I P - L ] ( h t t p s : / / h f . c o / o p e n a i / c l i p - v i t - l a r g e - p a t c h 1 4 ) - a [ d i f f u s i o n t r a n s f o r m e r ] ( . . / a p i / m o d e l s / f l u x _ t r a n s f o r m e r ) , a n d a [ V A E ] ( . . / a p i / m o d e l s / a u t o e n c o d e r k l ) . W i t h a m o d e l t h i s s i z e , i t c a n b e c h a l l e n g i n g t o r u n i n f e r e n c e o n c o n s u m e r G P U s . M o d e l s h a r d i n g i s a t e c h n i q u e t h a t d i s t r i b u t e s m o d e l s a c r o s s G P U s w h e n t h e m o d e l s d o n ' t f i t o n a s i n g l e G P U . T h e e x a m p l e b e l o w a s s u m e s t w o 1 6 G B G P U s a r e a v a i l a b l e f o r i n f e r e n c e . S t a r t b y c o m p u t i n g t h e t e x t e m b e d d i n g s w i t h t h e t e x t e n c o d e r s . K e e p t h e t e x t e n c o d e r s o n t w o G P U s b y s e t t i n g ` d e v i c e _ m a p = " b a l a n c e d " ` . T h e ` b a l a n c e d ` s t r a t e g y e v e n l y d i s t r i b u t e s t h e m o d e l o n a l l a v a i l a b l e G P U s . U s e t h e ` m a x _ m e m o r y ` p a r a m e t e r t o a l l o c a t e t h e m a x i m u m a m o u n t o f m e m o r y f o r e a c h t e x t e n c o d e r o n e a c h G P U . > [ ! T I P ] > * * O n l y * * l o a d t h e t e x t e n c o d e r s f o r t h i s s t e p ! T h e d i f f u s i o n t r a n s f o r m e r a n d V A E a r e l o a d e d i n a l a t e r s t e p t o p r e s e r v e m e m o r y . ` ` ` p y f r o m d i f f u s e r s i m p o r t F l u x P i p e l i n e i m p o r t t o r c h p r o m p t = " a p h o t o o f a d o g w i t h c a t - l i k e l o o k " p i p e l i n e = F l u x P i p e l i n e . f r o m _ p r e t r a i n e d ( " b l a c k - f o r e s t - l a b s / F L U X . 1 - d e v " , t r a n s f o r m e r = N o n e , v a e = N o n e , d e v i c e _ m a p = " b a l a n c e d " , m a x _ m e m o r y = { 0 : " 1 6 G B " , 1 : " 1 6 G B " } , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) w i t h t o r c h . n o _ g r a d ( ) : p r i n t ( " E n c o d i n g p r o m p t s . " ) p r o m p t _ e m b e d s , p o o l e d _ p r o m p t _ e m b e d s , t e x t _ i d s = p i p e l i n e . e n c o d e _ p r o m p t ( p r o m p t = p r o m p t , p r o m p t _ 2 = N o n e , m a x _ s e q u e n c e _ l e n g t h = 5 1 2 ) ` ` ` O n c e t h e t e x t e m b e d d i n g s a r e c o m p u t e d , r e m o v e t h e m f r o m t h e G P U t o m a k e s p a c e f o r t h e d i f f u s i o n t r a n s f o r m e r . ` ` ` p y i m p o r t g c d e f f l u s h ( ) : g c . c o l l e c t ( ) t o r c h . c u d a . e m p t y _ c a c h e ( ) t o r c h . c u d a . r e s e t _ m a x _ m e m o r y _ a l l o c a t e d ( ) t o r c h . c u d a . r e s e t _ p e a k _ m e m o r y _ s t a t s ( ) d e l p i p e l i n e . t e x t _ e n c o d e r d e l p i p e l i n e . t e x t _ e n c o d e r _ 2 d e l p i p e l i n e . t o k e n i z e r d e l p i p e l i n e . t o k e n i z e r _ 2 d e l p i p e l i n e f l u s h ( ) ` ` ` L o a d t h e d i f f u s i o n t r a n s f o r m e r n e x t w h i c h h a s 1 2 . 5 B p a r a m e t e r s . T h i s t i m e , s e t ` d e v i c e _ m a p = " a u t o " ` t o a u t o m a t i c a l l y d i s t r i b u t e t h e m o d e l a c r o s s t w o 1 6 G B G P U s . T h e ` a u t o ` s t r a t e g y i s b a c k e d b y [ A c c e l e r a t e ] ( h t t p s : / / h f . c o / d o c s / a c c e l e r a t e / i n d e x ) a n d a v a i l a b l e a s a p a r t o f t h e [ B i g M o d e l I n f e r e n c e ] ( h t t p s : / / h f . c o / d o c s / a c c e l e r a t e / c o n c e p t _ g u i d e s / b i g _ m o d e l _ i n f e r e n c e ) f e a t u r e . I t s t a r t s b y d i s t r i b u t i n g a m o d e l a c r o s s t h e f a s t e s t d e v i c e f i r s t ( G P U ) b e f o r e m o v i n g t o s l o w e r d e v i c e s l i k e t h e C P U a n d h a r d d r i v e i f n e e d e d . T h e t r a d e - o f f o f s t o r i n g m o d e l p a r a m e t e r s o n s l o w e r d e v i c e s i s s l o w e r i n f e r e n c e l a t e n c y . ` ` ` p y f r o m d i f f u s e r s i m p o r t F l u x T r a n s f o r m e r 2 D M o d e l i m p o r t t o r c h t r a n s f o r m e r = F l u x T r a n s f o r m e r 2 D M o d e l . f r o m _ p r e t r a i n e d ( " b l a c k - f o r e s t - l a b s / F L U X . 1 - d e v " , s u b f o l d e r = " t r a n s f o r m e r " , d e v i c e _ m a p = " a u t o " , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) ` ` ` > [ ! T I P ] > A t a n y p o i n t , y o u c a n t r y ` p r i n t ( p i p e l i n e . h f _ d e v i c e _ m a p ) ` t o s e e h o w t h e v a r i o u s m o d e l s a r e d i s t r i b u t e d a c r o s s d e v i c e s . T h i s i s u s e f u l f o r t r a c k i n g t h e d e v i c e p l a c e m e n t o f t h e m o d e l s . Y o u c a n a l s o t r y ` p r i n t ( t r a n s f o r m e r . h f _ d e v i c e _ m a p ) ` t o s e e h o w t h e t r a n s f o r m e r m o d e l i s s h a r d e d a c r o s s d e v i c e s . A d d t h e t r a n s f o r m e r m o d e l t o t h e p i p e l i n e f o r d e n o i s i n g , b u t s e t t h e o t h e r m o d e l - l e v e l c o m p o n e n t s l i k e t h e t e x t e n c o d e r s a n d V A E t o ` N o n e ` b e c a u s e y o u d o n ' t n e e d t h e m y e t . ` ` ` p y p i p e l i n e = F l u x P i p e l i n e . f r o m _ p r e t r a i n e d ( " b l a c k - f o r e s t - l a b s / F L U X . 1 - d e v " , t e x t _ e n c o d e r = N o n e , t e x t _ e n c o d e r _ 2 = N o n e , t o k e n i z e r = N o n e , t o k e n i z e r _ 2 = N o n e , v a e = N o n e , t r a n s f o r m e r = t r a n s f o r m e r , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) p r i n t ( " R u n n i n g d e n o i s i n g . " ) h e i g h t , w i d t h = 7 6 8 , 1 3 6 0 l a t e n t s = p i p e l i n e ( p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , p o o l e d _ p r o m p t _ e m b e d s = p o o l e d _ p r o m p t _ e m b e d s , n u m _ i n f e r e n c e _ s t e p s = 5 0 , g u i d a n c e _ s c a l e = 3 . 5 , h e i g h t = h e i g h t , w i d t h = w i d t h , o u t p u t _ t y p e = " l a t e n t " , ) . i m a g e s ` ` ` R e m o v e t h e p i p e l i n e a n d t r a n s f o r m e r f r o m m e m o r y a s t h e y ' r e n o l o n g e r n e e d e d . ` ` ` p y d e l p i p e l i n e . t r a n s f o r m e r d e l p i p e l i n e f l u s h ( ) ` ` ` F i n a l l y , d e c o d e t h e l a t e n t s w i t h t h e V A E i n t o a n i m a g e . T h e V A E i s t y p i c a l l y s m a l l e n o u g h t o b e l o a d e d o n a s i n g l e G P U . ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o e n c o d e r K L f r o m d i f f u s e r s . i m a g e _ p r o c e s s o r i m p o r t V a e I m a g e P r o c e s s o r i m p o r t t o r c h v a e = A u t o e n c o d e r K L . f r o m _ p r e t r a i n e d ( c k p t _ i d , s u b f o l d e r = " v a e " , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) . t o ( " c u d a " ) v a e _ s c a l e _ f a c t o r = 2 * * ( l e n ( v a e . c o n f i g . b l o c k _ o u t _ c h a n n e l s ) ) i m a g e _ p r o c e s s o r = V a e I m a g e P r o c e s s o r ( v a e _ s c a l e _ f a c t o r = v a e _ s c a l e _ f a c t o r ) w i t h t o r c h . n o _ g r a d ( ) : p r i n t ( " R u n n i n g d e c o d i n g . " ) l a t e n t s = F l u x P i p e l i n e . _ u n p a c k _ l a t e n t s ( l a t e n t s , h e i g h t , w i d t h , v a e _ s c a l e _ f a c t o r ) l a t e n t s = ( l a t e n t s / v a e . c o n f i g . s c a l i n g _ f a c t o r ) + v a e . c o n f i g . s h i f t _ f a c t o r i m a g e = v a e . d e c o d e ( l a t e n t s , r e t u r n _ d i c t = F a l s e ) [ 0 ] i m a g e = i m a g e _ p r o c e s s o r . p o s t p r o c e s s ( i m a g e , o u t p u t _ t y p e = " p i l " ) i m a g e [ 0 ] . s a v e ( " s p l i t _ t r a n s f o r m e r . p n g " ) ` ` ` B y s e l e c t i v e l y l o a d i n g a n d u n l o a d i n g t h e m o d e l s y o u n e e d a t a g i v e n s t a g e a n d s h a r d i n g t h e l a r g e s t m o d e l s a c r o s s m u l t i p l e G P U s , i t i s p o s s i b l e t o r u n i n f e r e n c e w i t h l a r g e m o d e l s o n c o n s u m e r G P U s . # C o g V i d e o X C o g V i d e o X i s a t e x t - t o - v i d e o g e n e r a t i o n m o d e l f o c u s e d o n c r e a t i n g m o r e c o h e r e n t v i d e o s a l i g n e d w i t h a p r o m p t . I t a c h i e v e s t h i s u s i n g s e v e r a l m e t h o d s . - a 3 D v a r i a t i o n a l a u t o e n c o d e r t h a t c o m p r e s s e s v i d e o s s p a t i a l l y a n d t e m p o r a l l y , i m p r o v i n g c o m p r e s s i o n r a t e a n d v i d e o a c c u r a c y . - a n e x p e r t t r a n s f o r m e r b l o c k t o h e l p a l i g n t e x t a n d v i d e o , a n d a 3 D f u l l a t t e n t i o n m o d u l e f o r c a p t u r i n g a n d c r e a t i n g s p a t i a l l y a n d t e m p o r a l l y a c c u r a t e v i d e o s . T h e a c t u a l t e s t o f t h e v i d e o i n s t r u c t i o n d i m e n s i o n f o u n d t h a t C o g V i d e o X h a s g o o d e f f e c t s o n c o n s i s t e n t t h e m e , d y n a m i c i n f o r m a t i o n , c o n s i s t e n t b a c k g r o u n d , o b j e c t i n f o r m a t i o n , s m o o t h m o t i o n , c o l o r , s c e n e , a p p e a r a n c e s t y l e , a n d t e m p o r a l s t y l e b u t c a n n o t a c h i e v e g o o d r e s u l t s w i t h h u m a n a c t i o n , s p a t i a l r e l a t i o n s h i p , a n d m u l t i p l e o b j e c t s . F i n e t u n i n g w i t h D i f f u s e r s c a n h e l p m a k e u p f o r t h e s e p o o r r e s u l t s . # # D a t a P r e p a r a t i o n T h e t r a i n i n g s c r i p t s a c c e p t s d a t a i n t w o f o r m a t s . T h e f i r s t f o r m a t i s s u i t e d f o r s m a l l - s c a l e t r a i n i n g , a n d t h e s e c o n d f o r m a t u s e s a C S V f o r m a t , w h i c h i s m o r e a p p r o p r i a t e f o r s t r e a m i n g d a t a f o r l a r g e - s c a l e t r a i n i n g . I n t h e f u t u r e , D i f f u s e r s w i l l s u p p o r t t h e ` < V i d e o > ` t a g . # # # S m a l l f o r m a t T w o f i l e s w h e r e o n e f i l e c o n t a i n s l i n e - s e p a r a t e d p r o m p t s a n d a n o t h e r f i l e c o n t a i n s l i n e - s e p a r a t e d p a t h s t o v i d e o d a t a ( t h e p a t h t o v i d e o f i l e s m u s t b e r e l a t i v e t o t h e p a t h y o u p a s s w h e n s p e c i f y i n g ` - - i n s t a n c e _ d a t a _ r o o t ` ) . L e t ' s t a k e a l o o k a t a n e x a m p l e t o u n d e r s t a n d t h i s b e t t e r ! A s s u m e y o u ' v e s p e c i f i e d ` - - i n s t a n c e _ d a t a _ r o o t ` a s ` / d a t a s e t ` , a n d t h a t t h i s d i r e c t o r y c o n t a i n s t h e f i l e s : ` p r o m p t s . t x t ` a n d ` v i d e o s . t x t ` . T h e ` p r o m p t s . t x t ` f i l e s h o u l d c o n t a i n l i n e - s e p a r a t e d p r o m p t s : ` ` ` A b l a c k a n d w h i t e a n i m a t e d s e q u e n c e f e a t u r i n g a r a b b i t , n a m e d R a b b i t y R i b f r i e d , a n d a n a n t h r o p o m o r p h i c g o a t i n a m u s i c a l , p l a y f u l e n v i r o n m e n t , s h o w c a s i n g t h e i r e v o l v i n g i n t e r a c t i o n . A b l a c k a n d w h i t e a n i m a t e d s e q u e n c e o n a s h i p ' s d e c k f e a t u r e s a b u l l d o g c h a r a c t e r , n a m e d B u l l y B u l l d o g e r , s h o w c a s i n g e x a g g e r a t e d f a c i a l e x p r e s s i o n s a n d b o d y l a n g u a g e . T h e c h a r a c t e r p r o g r e s s e s f r o m c o n f i d e n t t o f o c u s e d , t h e n t o s t r a i n e d a n d d i s t r e s s e d , d i s p l a y i n g a r a n g e o f e m o t i o n s a s i t n a v i g a t e s c h a l l e n g e s . T h e s h i p ' s i n t e r i o r r e m a i n s s t a t i c i n t h e b a c k g r o u n d , w i t h m i n i m a l i s t i c d e t a i l s s u c h a s a b e l l a n d o p e n d o o r . T h e c h a r a c t e r ' s d y n a m i c m o v e m e n t s a n d c h a n g i n g e x p r e s s i o n s d r i v e t h e n a r r a t i v e , w i t h n o c a m e r a m o v e m e n t t o d i s t r a c t f r o m i t s e v o l v i n g r e a c t i o n s a n d p h y s i c a l g e s t u r e s . . . . ` ` ` T h e ` v i d e o s . t x t ` f i l e s h o u l d c o n t a i n l i n e - s e p a r a t e p a t h s t o v i d e o f i l e s . N o t e t h a t t h e p a t h s h o u l d b e _ r e l a t i v e _ t o t h e ` - - i n s t a n c e _ d a t a _ r o o t ` d i r e c t o r y . ` ` ` v i d e o s / 0 0 0 0 0 . m p 4 v i d e o s / 0 0 0 0 1 . m p 4 . . . ` ` ` O v e r a l l , t h i s i s h o w y o u r d a t a s e t w o u l d l o o k l i k e i f y o u r a n t h e ` t r e e ` c o m m a n d o n t h e d a t a s e t r o o t d i r e c t o r y : ` ` ` / d a t a s e t โ”œ โ”€ โ”€ p r o m p t s . t x t โ”œ โ”€ โ”€ v i d e o s . t x t โ”œ โ”€ โ”€ v i d e o s โ”œ โ”€ โ”€ v i d e o s / 0 0 0 0 0 . m p 4 โ”œ โ”€ โ”€ v i d e o s / 0 0 0 0 1 . m p 4 โ”œ โ”€ โ”€ . . . ` ` ` W h e n u s i n g t h i s f o r m a t , t h e ` - - c a p t i o n _ c o l u m n ` m u s t b e ` p r o m p t s . t x t ` a n d ` - - v i d e o _ c o l u m n ` m u s t b e ` v i d e o s . t x t ` . # # # S t r e a m f o r m a t Y o u c o u l d u s e a s i n g l e C S V f i l e . F o r t h e s a k e o f t h i s e x a m p l e , a s s u m e y o u h a v e a ` m e t a d a t a . c s v ` f i l e . T h e e x p e c t e d f o r m a t i s : ` ` ` < C A P T I O N _ C O L U M N > , < P A T H _ T O _ V I D E O _ C O L U M N > " " " A b l a c k a n d w h i t e a n i m a t e d s e q u e n c e f e a t u r i n g a r a b b i t , n a m e d R a b b i t y R i b f r i e d , a n d a n a n t h r o p o m o r p h i c g o a t i n a m u s i c a l , p l a y f u l e n v i r o n m e n t , s h o w c a s i n g t h e i r e v o l v i n g i n t e r a c t i o n . " " " , " " " 0 0 0 0 0 . m p 4 " " " " " " A b l a c k a n d w h i t e a n i m a t e d s e q u e n c e o n a s h i p ' s d e c k f e a t u r e s a b u l l d o g c h a r a c t e r , n a m e d B u l l y B u l l d o g e r , s h o w c a s i n g e x a g g e r a t e d f a c i a l e x p r e s s i o n s a n d b o d y l a n g u a g e . T h e c h a r a c t e r p r o g r e s s e s f r o m c o n f i d e n t t o f o c u s e d , t h e n t o s t r a i n e d a n d d i s t r e s s e d , d i s p l a y i n g a r a n g e o f e m o t i o n s a s i t n a v i g a t e s c h a l l e n g e s . T h e s h i p ' s i n t e r i o r r e m a i n s s t a t i c i n t h e b a c k g r o u n d , w i t h m i n i m a l i s t i c d e t a i l s s u c h a s a b e l l a n d o p e n d o o r . T h e c h a r a c t e r ' s d y n a m i c m o v e m e n t s a n d c h a n g i n g e x p r e s s i o n s d r i v e t h e n a r r a t i v e , w i t h n o c a m e r a m o v e m e n t t o d i s t r a c t f r o m i t s e v o l v i n g r e a c t i o n s a n d p h y s i c a l g e s t u r e s . " " " , " " " 0 0 0 0 1 . m p 4 " " " . . . ` ` ` I n t h i s c a s e , t h e ` - - i n s t a n c e _ d a t a _ r o o t ` s h o u l d b e t h e l o c a t i o n w h e r e t h e v i d e o s a r e s t o r e d a n d ` - - d a t a s e t _ n a m e ` s h o u l d b e e i t h e r a p a t h t o l o c a l f o l d e r o r a [ l o a d _ d a t a s e t ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d a t a s e t s / m a i n / e n / p a c k a g e _ r e f e r e n c e / l o a d i n g _ m e t h o d s # d a t a s e t s . l o a d _ d a t a s e t ) c o m p a t i b l e d a t a s e t h o s t e d o n t h e H u b . A s s u m i n g y o u h a v e v i d e o s o f M i n e c r a f t g a m e p l a y a t ` h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / m y - a w e s o m e - u s e r n a m e / m i n e c r a f t - v i d e o s ` , y o u w o u l d h a v e t o s p e c i f y ` m y - a w e s o m e - u s e r n a m e / m i n e c r a f t - v i d e o s ` . W h e n u s i n g t h i s f o r m a t , t h e ` - - c a p t i o n _ c o l u m n ` m u s t b e ` < C A P T I O N _ C O L U M N > ` a n d ` - - v i d e o _ c o l u m n ` m u s t b e ` < P A T H _ T O _ V I D E O _ C O L U M N > ` . Y o u a r e n o t s t r i c t l y r e s t r i c t e d t o t h e C S V f o r m a t . A n y f o r m a t w o r k s a s l o n g a s t h e ` l o a d _ d a t a s e t ` m e t h o d s u p p o r t s t h e f i l e f o r m a t t o l o a d a b a s i c ` < P A T H _ T O _ V I D E O _ C O L U M N > ` a n d ` < C A P T I O N _ C O L U M N > ` . T h e r e a s o n f o r g o i n g t h r o u g h t h e s e d a t a s e t o r g a n i z a t i o n g y m n a s t i c s f o r l o a d i n g v i d e o d a t a i s b e c a u s e ` l o a d _ d a t a s e t ` d o e s n o t f u l l y s u p p o r t a l l k i n d s o f v i d e o f o r m a t s . > [ ! N O T E ] > C o g V i d e o X w o r k s b e s t w i t h l o n g a n d d e s c r i p t i v e L L M - a u g m e n t e d p r o m p t s f o r v i d e o g e n e r a t i o n . W e r e c o m m e n d p r e - p r o c e s s i n g y o u r v i d e o s b y f i r s t g e n e r a t i n g a s u m m a r y u s i n g a V L M a n d t h e n a u g m e n t i n g t h e p r o m p t s w i t h a n L L M . T o g e n e r a t e t h e a b o v e c a p t i o n s , w e u s e [ M i n i C P M - V - 2 6 ] ( h t t p s : / / h u g g i n g f a c e . c o / o p e n b m b / M i n i C P M - V - 2 _ 6 ) a n d [ L l a m a - 3 . 1 - 8 B - I n s t r u c t ] ( h t t p s : / / h u g g i n g f a c e . c o / m e t a - l l a m a / M e t a - L l a m a - 3 . 1 - 8 B - I n s t r u c t ) . A v e r y b a r e b o n e s a n d n o - f r i l l s e x a m p l e f o r t h i s i s a v a i l a b l e [ h e r e ] ( h t t p s : / / g i s t . g i t h u b . c o m / a - r - r - o - w / 4 d e e 2 0 2 5 0 e 8 2 f 4 e 4 4 6 9 0 a 0 2 3 5 1 3 2 4 a 4 a ) . T h e o f f i c i a l r e c o m m e n d a t i o n f o r a u g m e n t i n g p r o m p t s i s [ C h a t G L M ] ( h t t p s : / / h u g g i n g f a c e . c o / T H U D M ? s e a r c h _ m o d e l s = c h a t g l m ) a n d a l e n g t h o f 5 0 - 1 0 0 w o r d s i s c o n s i d e r e d g o o d . > ! [ N O T E ] > I t i s e x p e c t e d t h a t y o u r d a t a s e t i s a l r e a d y p r e - p r o c e s s e d . I f n o t , s o m e b a s i c p r e - p r o c e s s i n g c a n b e d o n e b y p l a y i n g w i t h t h e f o l l o w i n g p a r a m e t e r s : > ` - - h e i g h t ` , ` - - w i d t h ` , ` - - f p s ` , ` - - m a x _ n u m _ f r a m e s ` , ` - - s k i p _ f r a m e s _ s t a r t ` a n d ` - - s k i p _ f r a m e s _ e n d ` . > P r e s e n t l y , a l l v i d e o s i n y o u r d a t a s e t s h o u l d c o n t a i n t h e s a m e n u m b e r o f v i d e o f r a m e s w h e n u s i n g a t r a i n i n g b a t c h s i z e > 1 . # # T r a i n i n g Y o u n e e d t o s e t u p y o u r d e v e l o p m e n t e n v i r o n m e n t b y i n s t a l l i n g t h e n e c e s s a r y r e q u i r e m e n t s . T h e f o l l o w i n g p a c k a g e s a r e r e q u i r e d : - T o r c h 2 . 0 o r a b o v e b a s e d o n t h e t r a i n i n g f e a t u r e s y o u a r e u t i l i z i n g ( m i g h t r e q u i r e l a t e s t o r n i g h t l y v e r s i o n s f o r q u a n t i z e d / d e e p s p e e d t r a i n i n g ) - ` p i p i n s t a l l d i f f u s e r s t r a n s f o r m e r s a c c e l e r a t e p e f t h u g g i n g f a c e _ h u b ` f o r a l l t h i n g s m o d e l i n g a n d t r a i n i n g r e l a t e d - ` p i p i n s t a l l d a t a s e t s d e c o r d ` f o r l o a d i n g v i d e o t r a i n i n g d a t a - ` p i p i n s t a l l b i t s a n d b y t e s ` f o r u s i n g 8 - b i t A d a m o r A d a m W o p t i m i z e r s f o r m e m o r y - o p t i m i z e d t r a i n i n g - ` p i p i n s t a l l w a n d b ` o p t i o n a l l y f o r m o n i t o r i n g t r a i n i n g l o g s - ` p i p i n s t a l l d e e p s p e e d ` o p t i o n a l l y f o r [ D e e p S p e e d ] ( h t t p s : / / g i t h u b . c o m / m i c r o s o f t / D e e p S p e e d ) t r a i n i n g - ` p i p i n s t a l l p r o d i g y o p t ` o p t i o n a l l y i f y o u w o u l d l i k e t o u s e t h e P r o d i g y o p t i m i z e r f o r t r a i n i n g T o m a k e s u r e y o u c a n s u c c e s s f u l l y r u n t h e l a t e s t v e r s i o n s o f t h e e x a m p l e s c r i p t s , w e h i g h l y r e c o m m e n d * * i n s t a l l i n g f r o m s o u r c e * * a n d k e e p i n g t h e i n s t a l l u p t o d a t e a s w e u p d a t e t h e e x a m p l e s c r i p t s f r e q u e n t l y a n d i n s t a l l s o m e e x a m p l e - s p e c i f i c r e q u i r e m e n t s . T o d o t h i s , e x e c u t e t h e f o l l o w i n g s t e p s i n a n e w v i r t u a l e n v i r o n m e n t : B e f o r e r u n n i n g t h e s c r i p t , m a k e s u r e y o u i n s t a l l t h e l i b r a r y f r o m s o u r c e : ` ` ` b a s h g i t c l o n e h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s c d d i f f u s e r s p i p i n s t a l l - e . ` ` ` T h e n n a v i g a t e t o t h e e x a m p l e f o l d e r c o n t a i n i n g t h e t r a i n i n g s c r i p t a n d i n s t a l l t h e r e q u i r e d d e p e n d e n c i e s f o r t h e s c r i p t y o u ' r e u s i n g : - P y T o r c h ` ` ` b a s h c d e x a m p l e s / c o g v i d e o p i p i n s t a l l - r r e q u i r e m e n t s . t x t ` ` ` A n d i n i t i a l i z e a n [ ๐Ÿค— A c c e l e r a t e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / a c c e l e r a t e / ) e n v i r o n m e n t w i t h : ` ` ` b a s h a c c e l e r a t e c o n f i g ` ` ` O r f o r a d e f a u l t a c c e l e r a t e c o n f i g u r a t i o n w i t h o u t a n s w e r i n g q u e s t i o n s a b o u t y o u r e n v i r o n m e n t ` ` ` b a s h a c c e l e r a t e c o n f i g d e f a u l t ` ` ` O r i f y o u r e n v i r o n m e n t d o e s n ' t s u p p o r t a n i n t e r a c t i v e s h e l l ( e . g . , a n o t e b o o k ) ` ` ` p y t h o n f r o m a c c e l e r a t e . u t i l s i m p o r t w r i t e _ b a s i c _ c o n f i g w r i t e _ b a s i c _ c o n f i g ( ) ` ` ` W h e n r u n n i n g ` a c c e l e r a t e c o n f i g ` , i f y o u u s e t o r c h . c o m p i l e , t h e r e c a n b e d r a m a t i c s p e e d u p s . T h e P E F T l i b r a r y i s u s e d a s a b a c k e n d f o r L o R A t r a i n i n g , s o m a k e s u r e t o h a v e ` p e f t > = 0 . 6 . 0 ` i n s t a l l e d i n y o u r e n v i r o n m e n t . I f y o u w o u l d l i k e t o p u s h y o u r m o d e l t o t h e H u b a f t e r t r a i n i n g i s c o m p l e t e d w i t h a n e a t m o d e l c a r d , m a k e s u r e y o u ' r e l o g g e d i n : ` ` ` b a s h h u g g i n g f a c e - c l i l o g i n # A l t e r n a t i v e l y , y o u c o u l d u p l o a d y o u r m o d e l m a n u a l l y u s i n g : # h u g g i n g f a c e - c l i u p l o a d m y - c o o l - a c c o u n t - n a m e / m y - c o o l - l o r a - n a m e / p a t h / t o / a w e s o m e / l o r a ` ` ` M a k e s u r e y o u r d a t a i s p r e p a r e d a s d e s c r i b e d i n [ D a t a P r e p a r a t i o n ] ( # d a t a - p r e p a r a t i o n ) . W h e n r e a d y , y o u c a n b e g i n t r a i n i n g ! A s s u m i n g y o u a r e t r a i n i n g o n 5 0 v i d e o s o f a s i m i l a r c o n c e p t , w e h a v e f o u n d 1 5 0 0 - 2 0 0 0 s t e p s t o w o r k w e l l . T h e o f f i c i a l r e c o m m e n d a t i o n , h o w e v e r , i s 1 0 0 v i d e o s w i t h a t o t a l o f 4 0 0 0 s t e p s . A s s u m i n g y o u a r e t r a i n i n g o n a s i n g l e G P U w i t h a ` - - t r a i n _ b a t c h _ s i z e ` o f ` 1 ` : - 1 5 0 0 s t e p s o n 5 0 v i d e o s w o u l d c o r r e s p o n d t o ` 3 0 ` t r a i n i n g e p o c h s - 4 0 0 0 s t e p s o n 1 0 0 v i d e o s w o u l d c o r r e s p o n d t o ` 4 0 ` t r a i n i n g e p o c h s ` ` ` b a s h # ! / b i n / b a s h G P U _ I D S = " 0 " a c c e l e r a t e l a u n c h - - g p u _ i d s $ G P U _ I D S e x a m p l e s / c o g v i d e o / t r a i n _ c o g v i d e o x _ l o r a . p y \ - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h T H U D M / C o g V i d e o X - 2 b \ - - c a c h e _ d i r < C A C H E _ D I R > \ - - i n s t a n c e _ d a t a _ r o o t < P A T H _ T O _ W H E R E _ V I D E O _ F I L E S _ A R E _ S T O R E D > \ - - d a t a s e t _ n a m e m y - a w e s o m e - n a m e / m y - a w e s o m e - d a t a s e t \ - - c a p t i o n _ c o l u m n < C A P T I O N _ C O L U M N > \ - - v i d e o _ c o l u m n < P A T H _ T O _ V I D E O _ C O L U M N > \ - - i d _ t o k e n < I D _ T O K E N > \ - - v a l i d a t i o n _ p r o m p t " < I D _ T O K E N > S p i d e r m a n s w i n g i n g o v e r b u i l d i n g s : : : A p a n d a , d r e s s e d i n a s m a l l , r e d j a c k e t a n d a t i n y h a t , s i t s o n a w o o d e n s t o o l i n a s e r e n e b a m b o o f o r e s t . T h e p a n d a ' s f l u f f y p a w s s t r u m a m i n i a t u r e a c o u s t i c g u i t a r , p r o d u c i n g s o f t , m e l o d i c t u n e s . N e a r b y , a f e w o t h e r p a n d a s g a t h e r , w a t c h i n g c u r i o u s l y a n d s o m e c l a p p i n g i n r h y t h m . S u n l i g h t f i l t e r s t h r o u g h t h e t a l l b a m b o o , c a s t i n g a g e n t l e g l o w o n t h e s c e n e . T h e p a n d a ' s f a c e i s e x p r e s s i v e , s h o w i n g c o n c e n t r a t i o n a n d j o y a s i t p l a y s . T h e b a c k g r o u n d i n c l u d e s a s m a l l , f l o w i n g s t r e a m a n d v i b r a n t g r e e n f o l i a g e , e n h a n c i n g t h e p e a c e f u l a n d m a g i c a l a t m o s p h e r e o f t h i s u n i q u e m u s i c a l p e r f o r m a n c e " \ - - v a l i d a t i o n _ p r o m p t _ s e p a r a t o r : : : \ - - n u m _ v a l i d a t i o n _ v i d e o s 1 \ - - v a l i d a t i o n _ e p o c h s 1 0 \ - - s e e d 4 2 \ - - r a n k 6 4 \ - - l o r a _ a l p h a 6 4 \ - - m i x e d _ p r e c i s i o n f p 1 6 \ - - o u t p u t _ d i r / r a i d / a r y a n / c o g v i d e o x - l o r a \ - - h e i g h t 4 8 0 - - w i d t h 7 2 0 - - f p s 8 - - m a x _ n u m _ f r a m e s 4 9 - - s k i p _ f r a m e s _ s t a r t 0 - - s k i p _ f r a m e s _ e n d 0 \ - - t r a i n _ b a t c h _ s i z e 1 \ - - n u m _ t r a i n _ e p o c h s 3 0 \ - - c h e c k p o i n t i n g _ s t e p s 1 0 0 0 \ - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s 1 \ - - l e a r n i n g _ r a t e 1 e - 3 \ - - l r _ s c h e d u l e r c o s i n e _ w i t h _ r e s t a r t s \ - - l r _ w a r m u p _ s t e p s 2 0 0 \ - - l r _ n u m _ c y c l e s 1 \ - - e n a b l e _ s l i c i n g \ - - e n a b l e _ t i l i n g \ - - o p t i m i z e r A d a m \ - - a d a m _ b e t a 1 0 . 9 \ - - a d a m _ b e t a 2 0 . 9 5 \ - - m a x _ g r a d _ n o r m 1 . 0 \ - - r e p o r t _ t o w a n d b ` ` ` T o b e t t e r t r a c k o u r t r a i n i n g e x p e r i m e n t s , w e ' r e u s i n g t h e f o l l o w i n g f l a g s i n t h e c o m m a n d a b o v e : * ` - - r e p o r t _ t o w a n d b ` w i l l e n s u r e t h e t r a i n i n g r u n s a r e t r a c k e d o n W e i g h t s a n d B i a s e s . T o u s e i t , b e s u r e t o i n s t a l l ` w a n d b ` w i t h ` p i p i n s t a l l w a n d b ` . * ` v a l i d a t i o n _ p r o m p t ` a n d ` v a l i d a t i o n _ e p o c h s ` t o a l l o w t h e s c r i p t t o d o a f e w v a l i d a t i o n i n f e r e n c e r u n s . T h i s a l l o w s u s t o q u a l i t a t i v e l y c h e c k i f t h e t r a i n i n g i s p r o g r e s s i n g a s e x p e c t e d . S e t t i n g t h e ` < I D _ T O K E N > ` i s n o t n e c e s s a r y . F r o m s o m e l i m i t e d e x p e r i m e n t a t i o n , w e f o u n d i t w o r k s b e t t e r ( a s i t r e s e m b l e s [ D r e a m b o o t h ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / e n / t r a i n i n g / d r e a m b o o t h ) t r a i n i n g ) t h a n w i t h o u t . W h e n p r o v i d e d , t h e ` < I D _ T O K E N > ` i s a p p e n d e d t o t h e b e g i n n i n g o f e a c h p r o m p t . S o , i f y o u r ` < I D _ T O K E N > ` w a s ` " D I S N E Y " ` a n d y o u r p r o m p t w a s ` " S p i d e r m a n s w i n g i n g o v e r b u i l d i n g s " ` , t h e e f f e c t i v e p r o m p t u s e d i n t r a i n i n g w o u l d b e ` " D I S N E Y S p i d e r m a n s w i n g i n g o v e r b u i l d i n g s " ` . W h e n n o t p r o v i d e d , y o u w o u l d e i t h e r b e t r a i n i n g w i t h o u t a n y a d d i t i o n a l t o k e n o r c o u l d a u g m e n t y o u r d a t a s e t t o a p p l y t h e t o k e n w h e r e y o u w i s h b e f o r e s t a r t i n g t h e t r a i n i n g . > [ ! N O T E ] > Y o u c a n p a s s ` - - u s e _ 8 b i t _ a d a m ` t o r e d u c e t h e m e m o r y r e q u i r e m e n t s o f t r a i n i n g . > [ ! I M P O R T A N T ] > T h e f o l l o w i n g s e t t i n g s h a v e b e e n t e s t e d a t t h e t i m e o f a d d i n g C o g V i d e o X L o R A t r a i n i n g s u p p o r t : > - O u r t e s t i n g w a s p r i m a r i l y d o n e o n C o g V i d e o X - 2 b . W e w i l l w o r k o n C o g V i d e o X - 5 b a n d C o g V i d e o X - 5 b - I 2 V s o o n > - O n e d a t a s e t c o m p r i s e d o f 7 0 t r a i n i n g v i d e o s o f r e s o l u t i o n s ` 2 0 0 x 4 8 0 x 7 2 0 ` ( F x H x W ) . F r o m t h i s , b y u s i n g f r a m e s k i p p i n g i n d a t a p r e p r o c e s s i n g , w e c r e a t e d t w o s m a l l e r 4 9 - f r a m e a n d 1 6 - f r a m e d a t a s e t s f o r f a s t e r e x p e r i m e n t a t i o n a n d b e c a u s e t h e m a x i m u m l i m i t r e c o m m e n d e d b y t h e C o g V i d e o X t e a m i s 4 9 f r a m e s . O u t o f t h e 7 0 v i d e o s , w e c r e a t e d t h r e e g r o u p s o f 1 0 , 2 5 a n d 5 0 v i d e o s . A l l v i d e o s w e r e s i m i l a r i n n a t u r e o f t h e c o n c e p t b e i n g t r a i n e d . > - 2 5 + v i d e o s w o r k e d b e s t f o r t r a i n i n g n e w c o n c e p t s a n d s t y l e s . > - W e f o u n d t h a t i t i s b e t t e r t o t r a i n w i t h a n i d e n t i f i e r t o k e n t h a t c a n b e s p e c i f i e d a s ` - - i d _ t o k e n ` . T h i s i s s i m i l a r t o D r e a m b o o t h - l i k e t r a i n i n g b u t n o r m a l f i n e t u n i n g w i t h o u t s u c h a t o k e n w o r k s t o o . > - T r a i n e d c o n c e p t s e e m e d t o w o r k d e c e n t l y w e l l w h e n c o m b i n e d w i t h c o m p l e t e l y u n r e l a t e d p r o m p t s . W e e x p e c t e v e n b e t t e r r e s u l t s i f C o g V i d e o X - 5 B i s f i n e t u n e d . > - T h e o r i g i n a l r e p o s i t o r y u s e s a ` l o r a _ a l p h a ` o f ` 1 ` . W e f o u n d t h i s n o t s u i t a b l e i n m a n y r u n s , p o s s i b l y d u e t o d i f f e r e n c e i n m o d e l i n g b a c k e n d s a n d t r a i n i n g s e t t i n g s . O u r r e c o m m e n d a t i o n i s t o s e t t o t h e ` l o r a _ a l p h a ` t o e i t h e r ` r a n k ` o r ` r a n k / / 2 ` . > - I f y o u ' r e t r a i n i n g o n d a t a w h o s e c a p t i o n s g e n e r a t e b a d r e s u l t s w i t h t h e o r i g i n a l m o d e l , a ` r a n k ` o f 6 4 a n d a b o v e i s g o o d a n d a l s o t h e r e c o m m e n d a t i o n b y t h e t e a m b e h i n d C o g V i d e o X . I f t h e g e n e r a t i o n s a r e a l r e a d y m o d e r a t e l y g o o d o n y o u r t r a i n i n g c a p t i o n s , a ` r a n k ` o f 1 6 / 3 2 s h o u l d w o r k . W e f o u n d t h a t s e t t i n g t h e r a n k t o o l o w , s a y ` 4 ` , i s n o t i d e a l a n d d o e s n ' t p r o d u c e p r o m i s i n g r e s u l t s . > - T h e a u t h o r s o f C o g V i d e o X r e c o m m e n d 4 0 0 0 t r a i n i n g s t e p s a n d 1 0 0 t r a i n i n g v i d e o s o v e r a l l t o a c h i e v e t h e b e s t r e s u l t . W h i l e t h a t m i g h t y i e l d t h e b e s t r e s u l t s , w e f o u n d f r o m o u r l i m i t e d e x p e r i m e n t a t i o n t h a t 2 0 0 0 s t e p s a n d 2 5 v i d e o s c o u l d a l s o b e s u f f i c i e n t . > - W h e n u s i n g t h e P r o d i g y o p i t i m i z e r f o r t r a i n i n g , o n e c a n f o l l o w t h e r e c o m m e n d a t i o n s f r o m [ t h i s ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / s d x l _ l o r a _ a d v a n c e d _ s c r i p t ) b l o g . P r o d i g y t e n d s t o o v e r f i t q u i c k l y . F r o m m y v e r y l i m i t e d t e s t i n g , I f o u n d a l e a r n i n g r a t e o f ` 0 . 5 ` t o b e s u i t a b l e i n a d d i t i o n t o ` - - p r o d i g y _ u s e _ b i a s _ c o r r e c t i o n ` , ` p r o d i g y _ s a f e g u a r d _ w a r m u p ` a n d ` - - p r o d i g y _ d e c o u p l e ` . > - T h e r e c o m m e n d e d l e a r n i n g r a t e b y t h e C o g V i d e o X a u t h o r s a n d f r o m o u r e x p e r i m e n t a t i o n w i t h A d a m / A d a m W i s b e t w e e n ` 1 e - 3 ` a n d ` 1 e - 4 ` f o r a d a t a s e t o f 2 5 + v i d e o s . > > N o t e t h a t o u r t e s t i n g i s n o t e x h a u s t i v e d u e t o l i m i t e d t i m e f o r e x p l o r a t i o n . O u r r e c o m m e n d a t i o n w o u l d b e t o p l a y a r o u n d w i t h t h e d i f f e r e n t k n o b s a n d d i a l s t o f i n d t h e b e s t s e t t i n g s f o r y o u r d a t a . # # I n f e r e n c e O n c e y o u h a v e t r a i n e d a l o r a m o d e l , t h e i n f e r e n c e c a n b e d o n e s i m p l y l o a d i n g t h e l o r a w e i g h t s i n t o t h e ` C o g V i d e o X P i p e l i n e ` . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t C o g V i d e o X P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ v i d e o p i p e = C o g V i d e o X P i p e l i n e . f r o m _ p r e t r a i n e d ( " T H U D M / C o g V i d e o X - 2 b " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) # p i p e . l o a d _ l o r a _ w e i g h t s ( " / p a t h / t o / l o r a / w e i g h t s " , a d a p t e r _ n a m e = " c o g v i d e o x - l o r a " ) # O r , p i p e . l o a d _ l o r a _ w e i g h t s ( " m y - a w e s o m e - h f - u s e r n a m e / m y - a w e s o m e - l o r a - n a m e " , a d a p t e r _ n a m e = " c o g v i d e o x - l o r a " ) # I f l o a d i n g f r o m t h e H F H u b p i p e . t o ( " c u d a " ) # A s s u m i n g l o r a _ a l p h a = 3 2 a n d r a n k = 6 4 f o r t r a i n i n g . I f d i f f e r e n t , s e t a c c o r d i n g l y p i p e . s e t _ a d a p t e r s ( [ " c o g v i d e o x - l o r a " ] , [ 3 2 / 6 4 ] ) p r o m p t = " A v a s t , s h i m m e r i n g o c e a n f l o w s g r a c e f u l l y u n d e r a t w i l i g h t s k y , i t s w a v e s u n d u l a t i n g i n a m e s m e r i z i n g d a n c e o f b l u e s a n d g r e e n s . T h e s u r f a c e g l i n t s w i t h t h e l a s t r a y s o f t h e s e t t i n g s u n , c a s t i n g g o l d e n h i g h l i g h t s t h a t r i p p l e a c r o s s t h e w a t e r . S e a g u l l s s o a r a b o v e , t h e i r c r i e s b l e n d i n g w i t h t h e g e n t l e r o a r o f t h e w a v e s . T h e h o r i z o n s t r e t c h e s i n f i n i t e l y , w h e r e t h e o c e a n m e e t s t h e s k y i n a s e a m l e s s b l e n d o f h u e s . C l o s e - u p s r e v e a l t h e i n t r i c a t e p a t t e r n s o f t h e w a v e s , c a p t u r i n g t h e f l u i d i t y a n d d y n a m i c b e a u t y o f t h e s e a i n m o t i o n . " f r a m e s = p i p e ( p r o m p t , g u i d a n c e _ s c a l e = 6 , u s e _ d y n a m i c _ c f g = T r u e ) . f r a m e s [ 0 ] e x p o r t _ t o _ v i d e o ( f r a m e s , " o u t p u t . m p 4 " , f p s = 8 ) ` ` ` # # R e d u c e m e m o r y u s a g e W h i l e t e s t i n g u s i n g t h e d i f f u s e r s l i b r a r y , a l l o p t i m i z a t i o n s i n c l u d e d i n t h e d i f f u s e r s l i b r a r y w e r e e n a b l e d . T h i s s c h e m e h a s n o t b e e n t e s t e d f o r a c t u a l m e m o r y u s a g e o n d e v i c e s o u t s i d e o f * * N V I D I A A 1 0 0 / H 1 0 0 * * a r c h i t e c t u r e s . G e n e r a l l y , t h i s s c h e m e c a n b e a d a p t e d t o a l l * * N V I D I A A m p e r e a r c h i t e c t u r e * * a n d a b o v e d e v i c e s . I f o p t i m i z a t i o n s a r e d i s a b l e d , m e m o r y c o n s u m p t i o n w i l l m u l t i p l y , w i t h p e a k m e m o r y u s a g e b e i n g a b o u t 3 t i m e s t h e v a l u e i n t h e t a b l e . H o w e v e r , s p e e d w i l l i n c r e a s e b y a b o u t 3 - 4 t i m e s . Y o u c a n s e l e c t i v e l y d i s a b l e s o m e o p t i m i z a t i o n s , i n c l u d i n g : ` ` ` p i p e . e n a b l e _ s e q u e n t i a l _ c p u _ o f f l o a d ( ) p i p e . v a e . e n a b l e _ s l i c i n g ( ) p i p e . v a e . e n a b l e _ t i l i n g ( ) ` ` ` + F o r m u l t i - G P U i n f e r e n c e , t h e ` e n a b l e _ s e q u e n t i a l _ c p u _ o f f l o a d ( ) ` o p t i m i z a t i o n n e e d s t o b e d i s a b l e d . + U s i n g I N T 8 m o d e l s w i l l s l o w d o w n i n f e r e n c e , w h i c h i s d o n e t o a c c o m m o d a t e l o w e r - m e m o r y G P U s w h i l e m a i n t a i n i n g m i n i m a l v i d e o q u a l i t y l o s s , t h o u g h i n f e r e n c e s p e e d w i l l s i g n i f i c a n t l y d e c r e a s e . + T h e C o g V i d e o X - 2 B m o d e l w a s t r a i n e d i n ` F P 1 6 ` p r e c i s i o n , a n d a l l C o g V i d e o X - 5 B m o d e l s w e r e t r a i n e d i n ` B F 1 6 ` p r e c i s i o n . W e r e c o m m e n d u s i n g t h e p r e c i s i o n i n w h i c h t h e m o d e l w a s t r a i n e d f o r i n f e r e n c e . + [ P y t o r c h A O ] ( h t t p s : / / g i t h u b . c o m / p y t o r c h / a o ) a n d [ O p t i m u m - q u a n t o ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / o p t i m u m - q u a n t o / ) c a n b e u s e d t o q u a n t i z e t h e t e x t e n c o d e r , t r a n s f o r m e r , a n d V A E m o d u l e s t o r e d u c e t h e m e m o r y r e q u i r e m e n t s o f C o g V i d e o X . T h i s a l l o w s t h e m o d e l t o r u n o n f r e e T 4 C o l a b s o r G P U s w i t h s m a l l e r m e m o r y ! A l s o , n o t e t h a t T o r c h A O q u a n t i z a t i o n i s f u l l y c o m p a t i b l e w i t h ` t o r c h . c o m p i l e ` , w h i c h c a n s i g n i f i c a n t l y i m p r o v e i n f e r e n c e s p e e d . F P 8 p r e c i s i o n m u s t b e u s e d o n d e v i c e s w i t h N V I D I A H 1 0 0 a n d a b o v e , r e q u i r i n g s o u r c e i n s t a l l a t i o n o f ` t o r c h ` , ` t o r c h a o ` , ` d i f f u s e r s ` , a n d ` a c c e l e r a t e ` P y t h o n p a c k a g e s . C U D A 1 2 . 4 i s r e c o m m e n d e d . + T h e i n f e r e n c e s p e e d t e s t s a l s o u s e d t h e a b o v e m e m o r y o p t i m i z a t i o n s c h e m e . W i t h o u t m e m o r y o p t i m i z a t i o n , i n f e r e n c e s p e e d i n c r e a s e s b y a b o u t 1 0 % . O n l y t h e ` d i f f u s e r s ` v e r s i o n o f t h e m o d e l s u p p o r t s q u a n t i z a t i o n . + T h e m o d e l o n l y s u p p o r t s E n g l i s h i n p u t ; o t h e r l a n g u a g e s c a n b e t r a n s l a t e d i n t o E n g l i s h f o r u s e v i a l a r g e m o d e l r e f i n e m e n t . + T h e m e m o r y u s a g e o f m o d e l f i n e - t u n i n g i s t e s t e d i n a n ` 8 * H 1 0 0 ` e n v i r o n m e n t , a n d t h e p r o g r a m a u t o m a t i c a l l y u s e s ` Z e r o 2 ` o p t i m i z a t i o n . I f a s p e c i f i c n u m b e r o f G P U s i s m a r k e d i n t h e t a b l e , t h a t n u m b e r o r m o r e G P U s m u s t b e u s e d f o r f i n e - t u n i n g . | * * A t t r i b u t e * * | * * C o g V i d e o X - 2 B * * | * * C o g V i d e o X - 5 B * * | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | * * M o d e l N a m e * * | C o g V i d e o X - 2 B | C o g V i d e o X - 5 B | | * * I n f e r e n c e P r e c i s i o n * * | F P 1 6 * ( R e c o m m e n d e d ) , B F 1 6 , F P 3 2 , F P 8 * , I N T 8 , N o t s u p p o r t e d I N T 4 | B F 1 6 ( R e c o m m e n d e d ) , F P 1 6 , F P 3 2 , F P 8 * , I N T 8 , N o t s u p p o r t e d I N T 4 | | * * S i n g l e G P U I n f e r e n c e V R A M * * | F P 1 6 : U s i n g d i f f u s e r s 1 2 . 5 G B * I N T 8 : U s i n g d i f f u s e r s w i t h t o r c h a o 7 . 8 G B * | B F 1 6 : U s i n g d i f f u s e r s 2 0 . 7 G B * I N T 8 : U s i n g d i f f u s e r s w i t h t o r c h a o 1 1 . 4 G B * | | * * M u l t i G P U I n f e r e n c e V R A M * * | F P 1 6 : U s i n g d i f f u s e r s 1 0 G B * | B F 1 6 : U s i n g d i f f u s e r s 1 5 G B * | | * * I n f e r e n c e S p e e d * * | S i n g l e A 1 0 0 : ~ 9 0 s e c o n d s , S i n g l e H 1 0 0 : ~ 4 5 s e c o n d s | S i n g l e A 1 0 0 : ~ 1 8 0 s e c o n d s , S i n g l e H 1 0 0 : ~ 9 0 s e c o n d s | | * * F i n e - t u n i n g P r e c i s i o n * * | F P 1 6 | B F 1 6 | | * * F i n e - t u n i n g V R A M C o n s u m p t i o n * * | 4 7 G B ( b s = 1 , L O R A ) 6 1 G B ( b s = 2 , L O R A ) 6 2 G B ( b s = 1 , S F T ) | 6 3 G B ( b s = 1 , L O R A ) 8 0 G B ( b s = 2 , L O R A ) 7 5 G B ( b s = 1 , S F T ) | # C u s t o m D i f f u s i o n [ C u s t o m D i f f u s i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 1 2 . 0 4 4 8 8 ) i s a t r a i n i n g t e c h n i q u e f o r p e r s o n a l i z i n g i m a g e g e n e r a t i o n m o d e l s . L i k e T e x t u a l I n v e r s i o n , D r e a m B o o t h , a n d L o R A , C u s t o m D i f f u s i o n o n l y r e q u i r e s a f e w ( ~ 4 - 5 ) e x a m p l e i m a g e s . T h i s t e c h n i q u e w o r k s b y o n l y t r a i n i n g w e i g h t s i n t h e c r o s s - a t t e n t i o n l a y e r s , a n d i t u s e s a s p e c i a l w o r d t o r e p r e s e n t t h e n e w l y l e a r n e d c o n c e p t . C u s t o m D i f f u s i o n i s u n i q u e b e c a u s e i t c a n a l s o l e a r n m u l t i p l e c o n c e p t s a t t h e s a m e t i m e . I f y o u ' r e t r a i n i n g o n a G P U w i t h l i m i t e d v R A M , y o u s h o u l d t r y e n a b l i n g x F o r m e r s w i t h ` - - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ` f o r f a s t e r t r a i n i n g w i t h l o w e r v R A M r e q u i r e m e n t s ( 1 6 G B ) . T o s a v e e v e n m o r e m e m o r y , a d d ` - - s e t _ g r a d s _ t o _ n o n e ` i n t h e t r a i n i n g a r g u m e n t t o s e t t h e g r a d i e n t s t o ` N o n e ` i n s t e a d o f z e r o ( t h i s o p t i o n c a n c a u s e s o m e i s s u e s , s o i f y o u e x p e r i e n c e a n y , t r y r e m o v i n g t h i s p a r a m e t e r ) . T h i s g u i d e w i l l e x p l o r e t h e [ t r a i n _ c u s t o m _ d i f f u s i o n . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / c u s t o m _ d i f f u s i o n / t r a i n _ c u s t o m _ d i f f u s i o n . p y ) s c r i p t t o h e l p y o u b e c o m e m o r e f a m i l i a r w i t h i t , a n d h o w y o u c a n a d a p t i t f o r y o u r o w n u s e - c a s e . B e f o r e r u n n i n g t h e s c r i p t , m a k e s u r e y o u i n s t a l l t h e l i b r a r y f r o m s o u r c e : ` ` ` b a s h g i t c l o n e h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s c d d i f f u s e r s p i p i n s t a l l . ` ` ` N a v i g a t e t o t h e e x a m p l e f o l d e r w i t h t h e t r a i n i n g s c r i p t a n d i n s t a l l t h e r e q u i r e d d e p e n d e n c i e s : ` ` ` b a s h c d e x a m p l e s / c u s t o m _ d i f f u s i o n p i p i n s t a l l - r r e q u i r e m e n t s . t x t p i p i n s t a l l c l i p - r e t r i e v a l ` ` ` < T i p > ๐Ÿค— A c c e l e r a t e i s a l i b r a r y f o r h e l p i n g y o u t r a i n o n m u l t i p l e G P U s / T P U s o r w i t h m i x e d - p r e c i s i o n . I t ' l l a u t o m a t i c a l l y c o n f i g u r e y o u r t r a i n i n g s e t u p b a s e d o n y o u r h a r d w a r e a n d e n v i r o n m e n t . T a k e a l o o k a t t h e ๐Ÿค— A c c e l e r a t e [ Q u i c k t o u r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / q u i c k t o u r ) t o l e a r n m o r e . < / T i p > I n i t i a l i z e a n ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t : ` ` ` b a s h a c c e l e r a t e c o n f i g ` ` ` T o s e t u p a d e f a u l t ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t w i t h o u t c h o o s i n g a n y c o n f i g u r a t i o n s : ` ` ` b a s h a c c e l e r a t e c o n f i g d e f a u l t ` ` ` O r i f y o u r e n v i r o n m e n t d o e s n ' t s u p p o r t a n i n t e r a c t i v e s h e l l , l i k e a n o t e b o o k , y o u c a n u s e : ` ` ` p y f r o m a c c e l e r a t e . u t i l s i m p o r t w r i t e _ b a s i c _ c o n f i g w r i t e _ b a s i c _ c o n f i g ( ) ` ` ` L a s t l y , i f y o u w a n t t o t r a i n a m o d e l o n y o u r o w n d a t a s e t , t a k e a l o o k a t t h e [ C r e a t e a d a t a s e t f o r t r a i n i n g ] ( c r e a t e _ d a t a s e t ) g u i d e t o l e a r n h o w t o c r e a t e a d a t a s e t t h a t w o r k s w i t h t h e t r a i n i n g s c r i p t . < T i p > T h e f o l l o w i n g s e c t i o n s h i g h l i g h t p a r t s o f t h e t r a i n i n g s c r i p t t h a t a r e i m p o r t a n t f o r u n d e r s t a n d i n g h o w t o m o d i f y i t , b u t i t d o e s n ' t c o v e r e v e r y a s p e c t o f t h e s c r i p t i n d e t a i l . I f y o u ' r e i n t e r e s t e d i n l e a r n i n g m o r e , f e e l f r e e t o r e a d t h r o u g h t h e [ s c r i p t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / c u s t o m _ d i f f u s i o n / t r a i n _ c u s t o m _ d i f f u s i o n . p y ) a n d l e t u s k n o w i f y o u h a v e a n y q u e s t i o n s o r c o n c e r n s . < / T i p > # # S c r i p t p a r a m e t e r s T h e t r a i n i n g s c r i p t c o n t a i n s a l l t h e p a r a m e t e r s t o h e l p y o u c u s t o m i z e y o u r t r a i n i n g r u n . T h e s e a r e f o u n d i n t h e [ ` p a r s e _ a r g s ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 4 6 0 3 3 8 9 d a 0 1 0 8 2 0 5 5 a 9 0 1 f 2 8 8 3 c 4 8 1 0 d 1 1 4 4 e d b / e x a m p l e s / c u s t o m _ d i f f u s i o n / t r a i n _ c u s t o m _ d i f f u s i o n . p y # L 3 1 9 ) f u n c t i o n . T h e f u n c t i o n c o m e s w i t h d e f a u l t v a l u e s , b u t y o u c a n a l s o s e t y o u r o w n v a l u e s i n t h e t r a i n i n g c o m m a n d i f y o u ' d l i k e . F o r e x a m p l e , t o c h a n g e t h e r e s o l u t i o n o f t h e i n p u t i m a g e : ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ c u s t o m _ d i f f u s i o n . p y \ - - r e s o l u t i o n = 2 5 6 ` ` ` M a n y o f t h e b a s i c p a r a m e t e r s a r e d e s c r i b e d i n t h e [ D r e a m B o o t h ] ( d r e a m b o o t h # s c r i p t - p a r a m e t e r s ) t r a i n i n g g u i d e , s o t h i s g u i d e f o c u s e s o n t h e p a r a m e t e r s u n i q u e t o C u s t o m D i f f u s i o n : - ` - - f r e e z e _ m o d e l ` : f r e e z e s t h e k e y a n d v a l u e p a r a m e t e r s i n t h e c r o s s - a t t e n t i o n l a y e r ; t h e d e f a u l t i s ` c r o s s a t t n _ k v ` , b u t y o u c a n s e t i t t o ` c r o s s a t t n ` t o t r a i n a l l t h e p a r a m e t e r s i n t h e c r o s s - a t t e n t i o n l a y e r - ` - - c o n c e p t s _ l i s t ` : t o l e a r n m u l t i p l e c o n c e p t s , p r o v i d e a p a t h t o a J S O N f i l e c o n t a i n i n g t h e c o n c e p t s - ` - - m o d i f i e r _ t o k e n ` : a s p e c i a l w o r d u s e d t o r e p r e s e n t t h e l e a r n e d c o n c e p t - ` - - i n i t i a l i z e r _ t o k e n ` : a s p e c i a l w o r d u s e d t o i n i t i a l i z e t h e e m b e d d i n g s o f t h e ` m o d i f i e r _ t o k e n ` # # # P r i o r p r e s e r v a t i o n l o s s P r i o r p r e s e r v a t i o n l o s s i s a m e t h o d t h a t u s e s a m o d e l ' s o w n g e n e r a t e d s a m p l e s t o h e l p i t l e a r n h o w t o g e n e r a t e m o r e d i v e r s e i m a g e s . B e c a u s e t h e s e g e n e r a t e d s a m p l e i m a g e s b e l o n g t o t h e s a m e c l a s s a s t h e i m a g e s y o u p r o v i d e d , t h e y h e l p t h e m o d e l r e t a i n w h a t i t h a s l e a r n e d a b o u t t h e c l a s s a n d h o w i t c a n u s e w h a t i t a l r e a d y k n o w s a b o u t t h e c l a s s t o m a k e n e w c o m p o s i t i o n s . M a n y o f t h e p a r a m e t e r s f o r p r i o r p r e s e r v a t i o n l o s s a r e d e s c r i b e d i n t h e [ D r e a m B o o t h ] ( d r e a m b o o t h # p r i o r - p r e s e r v a t i o n - l o s s ) t r a i n i n g g u i d e . # # # R e g u l a r i z a t i o n C u s t o m D i f f u s i o n i n c l u d e s t r a i n i n g t h e t a r g e t i m a g e s w i t h a s m a l l s e t o f r e a l i m a g e s t o p r e v e n t o v e r f i t t i n g . A s y o u c a n i m a g i n e , t h i s c a n b e e a s y t o d o w h e n y o u ' r e o n l y t r a i n i n g o n a f e w i m a g e s ! D o w n l o a d 2 0 0 r e a l i m a g e s w i t h ` c l i p _ r e t r i e v a l ` . T h e ` c l a s s _ p r o m p t ` s h o u l d b e t h e s a m e c a t e g o r y a s t h e t a r g e t i m a g e s . T h e s e i m a g e s a r e s t o r e d i n ` c l a s s _ d a t a _ d i r ` . ` ` ` b a s h p y t h o n r e t r i e v e . p y - - c l a s s _ p r o m p t c a t - - c l a s s _ d a t a _ d i r r e a l _ r e g / s a m p l e s _ c a t - - n u m _ c l a s s _ i m a g e s 2 0 0 ` ` ` T o e n a b l e r e g u l a r i z a t i o n , a d d t h e f o l l o w i n g p a r a m e t e r s : - ` - - w i t h _ p r i o r _ p r e s e r v a t i o n ` : w h e t h e r t o u s e p r i o r p r e s e r v a t i o n l o s s - ` - - p r i o r _ l o s s _ w e i g h t ` : c o n t r o l s t h e i n f l u e n c e o f t h e p r i o r p r e s e r v a t i o n l o s s o n t h e m o d e l - ` - - r e a l _ p r i o r ` : w h e t h e r t o u s e a s m a l l s e t o f r e a l i m a g e s t o p r e v e n t o v e r f i t t i n g ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ c u s t o m _ d i f f u s i o n . p y \ - - w i t h _ p r i o r _ p r e s e r v a t i o n \ - - p r i o r _ l o s s _ w e i g h t = 1 . 0 \ - - c l a s s _ d a t a _ d i r = " . / r e a l _ r e g / s a m p l e s _ c a t " \ - - c l a s s _ p r o m p t = " c a t " \ - - r e a l _ p r i o r = T r u e \ ` ` ` # # T r a i n i n g s c r i p t < T i p > A l o t o f t h e c o d e i n t h e C u s t o m D i f f u s i o n t r a i n i n g s c r i p t i s s i m i l a r t o t h e [ D r e a m B o o t h ] ( d r e a m b o o t h # t r a i n i n g - s c r i p t ) s c r i p t . T h i s g u i d e i n s t e a d f o c u s e s o n t h e c o d e t h a t i s r e l e v a n t t o C u s t o m D i f f u s i o n . < / T i p > T h e C u s t o m D i f f u s i o n t r a i n i n g s c r i p t h a s t w o d a t a s e t c l a s s e s : - [ ` C u s t o m D i f f u s i o n D a t a s e t ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 4 6 0 3 3 8 9 d a 0 1 0 8 2 0 5 5 a 9 0 1 f 2 8 8 3 c 4 8 1 0 d 1 1 4 4 e d b / e x a m p l e s / c u s t o m _ d i f f u s i o n / t r a i n _ c u s t o m _ d i f f u s i o n . p y # L 1 6 5 ) : p r e p r o c e s s e s t h e i m a g e s , c l a s s i m a g e s , a n d p r o m p t s f o r t r a i n i n g - [ ` P r o m p t D a t a s e t ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 4 6 0 3 3 8 9 d a 0 1 0 8 2 0 5 5 a 9 0 1 f 2 8 8 3 c 4 8 1 0 d 1 1 4 4 e d b / e x a m p l e s / c u s t o m _ d i f f u s i o n / t r a i n _ c u s t o m _ d i f f u s i o n . p y # L 1 4 8 ) : p r e p a r e s t h e p r o m p t s f o r g e n e r a t i n g c l a s s i m a g e s N e x t , t h e ` m o d i f i e r _ t o k e n ` i s [ a d d e d t o t h e t o k e n i z e r ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 4 6 0 3 3 8 9 d a 0 1 0 8 2 0 5 5 a 9 0 1 f 2 8 8 3 c 4 8 1 0 d 1 1 4 4 e d b / e x a m p l e s / c u s t o m _ d i f f u s i o n / t r a i n _ c u s t o m _ d i f f u s i o n . p y # L 8 1 1 ) , c o n v e r t e d t o t o k e n i d s , a n d t h e t o k e n e m b e d d i n g s a r e r e s i z e d t o a c c o u n t f o r t h e n e w ` m o d i f i e r _ t o k e n ` . T h e n t h e ` m o d i f i e r _ t o k e n ` e m b e d d i n g s a r e i n i t i a l i z e d w i t h t h e e m b e d d i n g s o f t h e ` i n i t i a l i z e r _ t o k e n ` . A l l p a r a m e t e r s i n t h e t e x t e n c o d e r a r e f r o z e n , e x c e p t f o r t h e t o k e n e m b e d d i n g s s i n c e t h i s i s w h a t t h e m o d e l i s t r y i n g t o l e a r n t o a s s o c i a t e w i t h t h e c o n c e p t s . ` ` ` p y p a r a m s _ t o _ f r e e z e = i t e r t o o l s . c h a i n ( t e x t _ e n c o d e r . t e x t _ m o d e l . e n c o d e r . p a r a m e t e r s ( ) , t e x t _ e n c o d e r . t e x t _ m o d e l . f i n a l _ l a y e r _ n o r m . p a r a m e t e r s ( ) , t e x t _ e n c o d e r . t e x t _ m o d e l . e m b e d d i n g s . p o s i t i o n _ e m b e d d i n g . p a r a m e t e r s ( ) , ) f r e e z e _ p a r a m s ( p a r a m s _ t o _ f r e e z e ) ` ` ` N o w y o u ' l l n e e d t o a d d t h e [ C u s t o m D i f f u s i o n w e i g h t s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 4 6 0 3 3 8 9 d a 0 1 0 8 2 0 5 5 a 9 0 1 f 2 8 8 3 c 4 8 1 0 d 1 1 4 4 e d b / e x a m p l e s / c u s t o m _ d i f f u s i o n / t r a i n _ c u s t o m _ d i f f u s i o n . p y # L 9 1 1 C 3 - L 9 1 1 C 3 ) t o t h e a t t e n t i o n l a y e r s . T h i s i s a r e a l l y i m p o r t a n t s t e p f o r g e t t i n g t h e s h a p e a n d s i z e o f t h e a t t e n t i o n w e i g h t s c o r r e c t , a n d f o r s e t t i n g t h e a p p r o p r i a t e n u m b e r o f a t t e n t i o n p r o c e s s o r s i n e a c h U N e t b l o c k . ` ` ` p y s t = u n e t . s t a t e _ d i c t ( ) f o r n a m e , _ i n u n e t . a t t n _ p r o c e s s o r s . i t e m s ( ) : c r o s s _ a t t e n t i o n _ d i m = N o n e i f n a m e . e n d s w i t h ( " a t t n 1 . p r o c e s s o r " ) e l s e u n e t . c o n f i g . c r o s s _ a t t e n t i o n _ d i m i f n a m e . s t a r t s w i t h ( " m i d _ b l o c k " ) : h i d d e n _ s i z e = u n e t . c o n f i g . b l o c k _ o u t _ c h a n n e l s [ - 1 ] e l i f n a m e . s t a r t s w i t h ( " u p _ b l o c k s " ) : b l o c k _ i d = i n t ( n a m e [ l e n ( " u p _ b l o c k s . " ) ] ) h i d d e n _ s i z e = l i s t ( r e v e r s e d ( u n e t . c o n f i g . b l o c k _ o u t _ c h a n n e l s ) ) [ b l o c k _ i d ] e l i f n a m e . s t a r t s w i t h ( " d o w n _ b l o c k s " ) : b l o c k _ i d = i n t ( n a m e [ l e n ( " d o w n _ b l o c k s . " ) ] ) h i d d e n _ s i z e = u n e t . c o n f i g . b l o c k _ o u t _ c h a n n e l s [ b l o c k _ i d ] l a y e r _ n a m e = n a m e . s p l i t ( " . p r o c e s s o r " ) [ 0 ] w e i g h t s = { " t o _ k _ c u s t o m _ d i f f u s i o n . w e i g h t " : s t [ l a y e r _ n a m e + " . t o _ k . w e i g h t " ] , " t o _ v _ c u s t o m _ d i f f u s i o n . w e i g h t " : s t [ l a y e r _ n a m e + " . t o _ v . w e i g h t " ] , } i f t r a i n _ q _ o u t : w e i g h t s [ " t o _ q _ c u s t o m _ d i f f u s i o n . w e i g h t " ] = s t [ l a y e r _ n a m e + " . t o _ q . w e i g h t " ] w e i g h t s [ " t o _ o u t _ c u s t o m _ d i f f u s i o n . 0 . w e i g h t " ] = s t [ l a y e r _ n a m e + " . t o _ o u t . 0 . w e i g h t " ] w e i g h t s [ " t o _ o u t _ c u s t o m _ d i f f u s i o n . 0 . b i a s " ] = s t [ l a y e r _ n a m e + " . t o _ o u t . 0 . b i a s " ] i f c r o s s _ a t t e n t i o n _ d i m i s n o t N o n e : c u s t o m _ d i f f u s i o n _ a t t n _ p r o c s [ n a m e ] = a t t e n t i o n _ c l a s s ( t r a i n _ k v = t r a i n _ k v , t r a i n _ q _ o u t = t r a i n _ q _ o u t , h i d d e n _ s i z e = h i d d e n _ s i z e , c r o s s _ a t t e n t i o n _ d i m = c r o s s _ a t t e n t i o n _ d i m , ) . t o ( u n e t . d e v i c e ) c u s t o m _ d i f f u s i o n _ a t t n _ p r o c s [ n a m e ] . l o a d _ s t a t e _ d i c t ( w e i g h t s ) e l s e : c u s t o m _ d i f f u s i o n _ a t t n _ p r o c s [ n a m e ] = a t t e n t i o n _ c l a s s ( t r a i n _ k v = F a l s e , t r a i n _ q _ o u t = F a l s e , h i d d e n _ s i z e = h i d d e n _ s i z e , c r o s s _ a t t e n t i o n _ d i m = c r o s s _ a t t e n t i o n _ d i m , ) d e l s t u n e t . s e t _ a t t n _ p r o c e s s o r ( c u s t o m _ d i f f u s i o n _ a t t n _ p r o c s ) c u s t o m _ d i f f u s i o n _ l a y e r s = A t t n P r o c s L a y e r s ( u n e t . a t t n _ p r o c e s s o r s ) ` ` ` T h e [ o p t i m i z e r ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 8 4 c d 9 e 8 d 0 1 a d b 4 7 f 0 4 6 b 1 e e 4 4 9 f c 7 6 a 0 c 3 2 d c 4 e 2 / e x a m p l e s / c u s t o m _ d i f f u s i o n / t r a i n _ c u s t o m _ d i f f u s i o n . p y # L 9 8 2 ) i s i n i t i a l i z e d t o u p d a t e t h e c r o s s - a t t e n t i o n l a y e r p a r a m e t e r s : ` ` ` p y o p t i m i z e r = o p t i m i z e r _ c l a s s ( i t e r t o o l s . c h a i n ( t e x t _ e n c o d e r . g e t _ i n p u t _ e m b e d d i n g s ( ) . p a r a m e t e r s ( ) , c u s t o m _ d i f f u s i o n _ l a y e r s . p a r a m e t e r s ( ) ) i f a r g s . m o d i f i e r _ t o k e n i s n o t N o n e e l s e c u s t o m _ d i f f u s i o n _ l a y e r s . p a r a m e t e r s ( ) , l r = a r g s . l e a r n i n g _ r a t e , b e t a s = ( a r g s . a d a m _ b e t a 1 , a r g s . a d a m _ b e t a 2 ) , w e i g h t _ d e c a y = a r g s . a d a m _ w e i g h t _ d e c a y , e p s = a r g s . a d a m _ e p s i l o n , ) ` ` ` I n t h e [ t r a i n i n g l o o p ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 8 4 c d 9 e 8 d 0 1 a d b 4 7 f 0 4 6 b 1 e e 4 4 9 f c 7 6 a 0 c 3 2 d c 4 e 2 / e x a m p l e s / c u s t o m _ d i f f u s i o n / t r a i n _ c u s t o m _ d i f f u s i o n . p y # L 1 0 4 8 ) , i t i s i m p o r t a n t t o o n l y u p d a t e t h e e m b e d d i n g s f o r t h e c o n c e p t y o u ' r e t r y i n g t o l e a r n . T h i s m e a n s s e t t i n g t h e g r a d i e n t s o f a l l t h e o t h e r t o k e n e m b e d d i n g s t o z e r o : ` ` ` p y i f a r g s . m o d i f i e r _ t o k e n i s n o t N o n e : i f a c c e l e r a t o r . n u m _ p r o c e s s e s > 1 : g r a d s _ t e x t _ e n c o d e r = t e x t _ e n c o d e r . m o d u l e . g e t _ i n p u t _ e m b e d d i n g s ( ) . w e i g h t . g r a d e l s e : g r a d s _ t e x t _ e n c o d e r = t e x t _ e n c o d e r . g e t _ i n p u t _ e m b e d d i n g s ( ) . w e i g h t . g r a d i n d e x _ g r a d s _ t o _ z e r o = t o r c h . a r a n g e ( l e n ( t o k e n i z e r ) ) ! = m o d i f i e r _ t o k e n _ i d [ 0 ] f o r i i n r a n g e ( l e n ( m o d i f i e r _ t o k e n _ i d [ 1 : ] ) ) : i n d e x _ g r a d s _ t o _ z e r o = i n d e x _ g r a d s _ t o _ z e r o & ( t o r c h . a r a n g e ( l e n ( t o k e n i z e r ) ) ! = m o d i f i e r _ t o k e n _ i d [ i ] ) g r a d s _ t e x t _ e n c o d e r . d a t a [ i n d e x _ g r a d s _ t o _ z e r o , : ] = g r a d s _ t e x t _ e n c o d e r . d a t a [ i n d e x _ g r a d s _ t o _ z e r o , : ] . f i l l _ ( 0 ) ` ` ` # # L a u n c h t h e s c r i p t O n c e y o u โ€™ v e m a d e a l l y o u r c h a n g e s o r y o u โ€™ r e o k a y w i t h t h e d e f a u l t c o n f i g u r a t i o n , y o u โ€™ r e r e a d y t o l a u n c h t h e t r a i n i n g s c r i p t ! ๐Ÿš€ I n t h i s g u i d e , y o u ' l l d o w n l o a d a n d u s e t h e s e e x a m p l e [ c a t i m a g e s ] ( h t t p s : / / w w w . c s . c m u . e d u / ~ c u s t o m - d i f f u s i o n / a s s e t s / d a t a . z i p ) . Y o u c a n a l s o c r e a t e a n d u s e y o u r o w n d a t a s e t i f y o u w a n t ( s e e t h e [ C r e a t e a d a t a s e t f o r t r a i n i n g ] ( c r e a t e _ d a t a s e t ) g u i d e ) . S e t t h e e n v i r o n m e n t v a r i a b l e ` M O D E L _ N A M E ` t o a m o d e l i d o n t h e H u b o r a p a t h t o a l o c a l m o d e l , ` I N S T A N C E _ D I R ` t o t h e p a t h w h e r e y o u j u s t d o w n l o a d e d t h e c a t i m a g e s t o , a n d ` O U T P U T _ D I R ` t o w h e r e y o u w a n t t o s a v e t h e m o d e l . Y o u ' l l u s e ` < n e w 1 > ` a s t h e s p e c i a l w o r d t o t i e t h e n e w l y l e a r n e d e m b e d d i n g s t o . T h e s c r i p t c r e a t e s a n d s a v e s m o d e l c h e c k p o i n t s a n d a p y t o r c h _ c u s t o m _ d i f f u s i o n _ w e i g h t s . b i n f i l e t o y o u r r e p o s i t o r y . T o m o n i t o r t r a i n i n g p r o g r e s s w i t h W e i g h t s a n d B i a s e s , a d d t h e ` - - r e p o r t _ t o = w a n d b ` p a r a m e t e r t o t h e t r a i n i n g c o m m a n d a n d s p e c i f y a v a l i d a t i o n p r o m p t w i t h ` - - v a l i d a t i o n _ p r o m p t ` . T h i s i s u s e f u l f o r d e b u g g i n g a n d s a v i n g i n t e r m e d i a t e r e s u l t s . < T i p > I f y o u ' r e t r a i n i n g o n h u m a n f a c e s , t h e C u s t o m D i f f u s i o n t e a m h a s f o u n d t h e f o l l o w i n g p a r a m e t e r s t o w o r k w e l l : - ` - - l e a r n i n g _ r a t e = 5 e - 6 ` - ` - - m a x _ t r a i n _ s t e p s ` c a n b e a n y w h e r e b e t w e e n 1 0 0 0 a n d 2 0 0 0 - ` - - f r e e z e _ m o d e l = c r o s s a t t n ` - u s e a t l e a s t 1 5 - 2 0 i m a g e s t o t r a i n w i t h < / T i p > < h f o p t i o n s i d = " t r a i n i n g - i n f e r e n c e " > < h f o p t i o n i d = " s i n g l e c o n c e p t " > ` ` ` b a s h e x p o r t M O D E L _ N A M E = " C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 " e x p o r t O U T P U T _ D I R = " p a t h - t o - s a v e - m o d e l " e x p o r t I N S T A N C E _ D I R = " . / d a t a / c a t " a c c e l e r a t e l a u n c h t r a i n _ c u s t o m _ d i f f u s i o n . p y \ - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h = $ M O D E L _ N A M E \ - - i n s t a n c e _ d a t a _ d i r = $ I N S T A N C E _ D I R \ - - o u t p u t _ d i r = $ O U T P U T _ D I R \ - - c l a s s _ d a t a _ d i r = . / r e a l _ r e g / s a m p l e s _ c a t / \ - - w i t h _ p r i o r _ p r e s e r v a t i o n \ - - r e a l _ p r i o r \ - - p r i o r _ l o s s _ w e i g h t = 1 . 0 \ - - c l a s s _ p r o m p t = " c a t " \ - - n u m _ c l a s s _ i m a g e s = 2 0 0 \ - - i n s t a n c e _ p r o m p t = " p h o t o o f a < n e w 1 > c a t " \ - - r e s o l u t i o n = 5 1 2 \ - - t r a i n _ b a t c h _ s i z e = 2 \ - - l e a r n i n g _ r a t e = 1 e - 5 \ - - l r _ w a r m u p _ s t e p s = 0 \ - - m a x _ t r a i n _ s t e p s = 2 5 0 \ - - s c a l e _ l r \ - - h f l i p \ - - m o d i f i e r _ t o k e n " < n e w 1 > " \ - - v a l i d a t i o n _ p r o m p t = " < n e w 1 > c a t s i t t i n g i n a b u c k e t " \ - - r e p o r t _ t o = " w a n d b " \ - - p u s h _ t o _ h u b ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " m u l t i p l e c o n c e p t s " > C u s t o m D i f f u s i o n c a n a l s o l e a r n m u l t i p l e c o n c e p t s i f y o u p r o v i d e a [ J S O N ] ( h t t p s : / / g i t h u b . c o m / a d o b e - r e s e a r c h / c u s t o m - d i f f u s i o n / b l o b / m a i n / a s s e t s / c o n c e p t _ l i s t . j s o n ) f i l e w i t h s o m e d e t a i l s a b o u t e a c h c o n c e p t i t s h o u l d l e a r n . R u n c l i p - r e t r i e v a l t o c o l l e c t s o m e r e a l i m a g e s t o u s e f o r r e g u l a r i z a t i o n : ` ` ` b a s h p i p i n s t a l l c l i p - r e t r i e v a l p y t h o n r e t r i e v e . p y - - c l a s s _ p r o m p t { } - - c l a s s _ d a t a _ d i r { } - - n u m _ c l a s s _ i m a g e s 2 0 0 ` ` ` T h e n y o u c a n l a u n c h t h e s c r i p t : ` ` ` b a s h e x p o r t M O D E L _ N A M E = " C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 " e x p o r t O U T P U T _ D I R = " p a t h - t o - s a v e - m o d e l " a c c e l e r a t e l a u n c h t r a i n _ c u s t o m _ d i f f u s i o n . p y \ - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h = $ M O D E L _ N A M E \ - - o u t p u t _ d i r = $ O U T P U T _ D I R \ - - c o n c e p t s _ l i s t = . / c o n c e p t _ l i s t . j s o n \ - - w i t h _ p r i o r _ p r e s e r v a t i o n \ - - r e a l _ p r i o r \ - - p r i o r _ l o s s _ w e i g h t = 1 . 0 \ - - r e s o l u t i o n = 5 1 2 \ - - t r a i n _ b a t c h _ s i z e = 2 \ - - l e a r n i n g _ r a t e = 1 e - 5 \ - - l r _ w a r m u p _ s t e p s = 0 \ - - m a x _ t r a i n _ s t e p s = 5 0 0 \ - - n u m _ c l a s s _ i m a g e s = 2 0 0 \ - - s c a l e _ l r \ - - h f l i p \ - - m o d i f i e r _ t o k e n " < n e w 1 > + < n e w 2 > " \ - - p u s h _ t o _ h u b ` ` ` < / h f o p t i o n > < / h f o p t i o n s > O n c e t r a i n i n g i s f i n i s h e d , y o u c a n u s e y o u r n e w C u s t o m D i f f u s i o n m o d e l f o r i n f e r e n c e . < h f o p t i o n s i d = " t r a i n i n g - i n f e r e n c e " > < h f o p t i o n i d = " s i n g l e c o n c e p t " > ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , ) . t o ( " c u d a " ) p i p e l i n e . u n e t . l o a d _ a t t n _ p r o c s ( " p a t h - t o - s a v e - m o d e l " , w e i g h t _ n a m e = " p y t o r c h _ c u s t o m _ d i f f u s i o n _ w e i g h t s . b i n " ) p i p e l i n e . l o a d _ t e x t u a l _ i n v e r s i o n ( " p a t h - t o - s a v e - m o d e l " , w e i g h t _ n a m e = " < n e w 1 > . b i n " ) i m a g e = p i p e l i n e ( " < n e w 1 > c a t s i t t i n g i n a b u c k e t " , n u m _ i n f e r e n c e _ s t e p s = 1 0 0 , g u i d a n c e _ s c a l e = 6 . 0 , e t a = 1 . 0 , ) . i m a g e s [ 0 ] i m a g e . s a v e ( " c a t . p n g " ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " m u l t i p l e c o n c e p t s " > ` ` ` p y i m p o r t t o r c h f r o m h u g g i n g f a c e _ h u b . r e p o c a r d i m p o r t R e p o C a r d f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s a y a k p a u l / c u s t o m - d i f f u s i o n - c a t - w o o d e n - p o t " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e . u n e t . l o a d _ a t t n _ p r o c s ( m o d e l _ i d , w e i g h t _ n a m e = " p y t o r c h _ c u s t o m _ d i f f u s i o n _ w e i g h t s . b i n " ) p i p e l i n e . l o a d _ t e x t u a l _ i n v e r s i o n ( m o d e l _ i d , w e i g h t _ n a m e = " < n e w 1 > . b i n " ) p i p e l i n e . l o a d _ t e x t u a l _ i n v e r s i o n ( m o d e l _ i d , w e i g h t _ n a m e = " < n e w 2 > . b i n " ) i m a g e = p i p e l i n e ( " t h e < n e w 1 > c a t s c u l p t u r e i n t h e s t y l e o f a < n e w 2 > w o o d e n p o t " , n u m _ i n f e r e n c e _ s t e p s = 1 0 0 , g u i d a n c e _ s c a l e = 6 . 0 , e t a = 1 . 0 , ) . i m a g e s [ 0 ] i m a g e . s a v e ( " m u l t i - s u b j e c t . p n g " ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > # # N e x t s t e p s C o n g r a t u l a t i o n s o n t r a i n i n g a m o d e l w i t h C u s t o m D i f f u s i o n ! ๐ŸŽ‰ T o l e a r n m o r e : - R e a d t h e [ M u l t i - C o n c e p t C u s t o m i z a t i o n o f T e x t - t o - I m a g e D i f f u s i o n ] ( h t t p s : / / w w w . c s . c m u . e d u / ~ c u s t o m - d i f f u s i o n / ) b l o g p o s t t o l e a r n m o r e d e t a i l s a b o u t t h e e x p e r i m e n t a l r e s u l t s f r o m t h e C u s t o m D i f f u s i o n t e a m . # C o n t r o l N e t [ C o n t r o l N e t ] ( h t t p s : / / h f . c o / p a p e r s / 2 3 0 2 . 0 5 5 4 3 ) m o d e l s a r e a d a p t e r s t r a i n e d o n t o p o f a n o t h e r p r e t r a i n e d m o d e l . I t a l l o w s f o r a g r e a t e r d e g r e e o f c o n t r o l o v e r i m a g e g e n e r a t i o n b y c o n d i t i o n i n g t h e m o d e l w i t h a n a d d i t i o n a l i n p u t i m a g e . T h e i n p u t i m a g e c a n b e a c a n n y e d g e , d e p t h m a p , h u m a n p o s e , a n d m a n y m o r e . I f y o u ' r e t r a i n i n g o n a G P U w i t h l i m i t e d v R A M , y o u s h o u l d t r y e n a b l i n g t h e ` g r a d i e n t _ c h e c k p o i n t i n g ` , ` g r a d i e n t _ a c c u m u l a t i o n _ s t e p s ` , a n d ` m i x e d _ p r e c i s i o n ` p a r a m e t e r s i n t h e t r a i n i n g c o m m a n d . Y o u c a n a l s o r e d u c e y o u r m e m o r y f o o t p r i n t b y u s i n g m e m o r y - e f f i c i e n t a t t e n t i o n w i t h [ x F o r m e r s ] ( . . / o p t i m i z a t i o n / x f o r m e r s ) . J A X / F l a x t r a i n i n g i s a l s o s u p p o r t e d f o r e f f i c i e n t t r a i n i n g o n T P U s a n d G P U s , b u t i t d o e s n ' t s u p p o r t g r a d i e n t c h e c k p o i n t i n g o r x F o r m e r s . Y o u s h o u l d h a v e a G P U w i t h > 3 0 G B o f m e m o r y i f y o u w a n t t o t r a i n f a s t e r w i t h F l a x . T h i s g u i d e w i l l e x p l o r e t h e [ t r a i n _ c o n t r o l n e t . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / c o n t r o l n e t / t r a i n _ c o n t r o l n e t . p y ) t r a i n i n g s c r i p t t o h e l p y o u b e c o m e f a m i l i a r w i t h i t , a n d h o w y o u c a n a d a p t i t f o r y o u r o w n u s e - c a s e . B e f o r e r u n n i n g t h e s c r i p t , m a k e s u r e y o u i n s t a l l t h e l i b r a r y f r o m s o u r c e : ` ` ` b a s h g i t c l o n e h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s c d d i f f u s e r s p i p i n s t a l l . ` ` ` T h e n n a v i g a t e t o t h e e x a m p l e f o l d e r c o n t a i n i n g t h e t r a i n i n g s c r i p t a n d i n s t a l l t h e r e q u i r e d d e p e n d e n c i e s f o r t h e s c r i p t y o u ' r e u s i n g : < h f o p t i o n s i d = " i n s t a l l a t i o n " > < h f o p t i o n i d = " P y T o r c h " > ` ` ` b a s h c d e x a m p l e s / c o n t r o l n e t p i p i n s t a l l - r r e q u i r e m e n t s . t x t ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " F l a x " > I f y o u h a v e a c c e s s t o a T P U , t h e F l a x t r a i n i n g s c r i p t r u n s e v e n f a s t e r ! L e t ' s r u n t h e t r a i n i n g s c r i p t o n t h e [ G o o g l e C l o u d T P U V M ] ( h t t p s : / / c l o u d . g o o g l e . c o m / t p u / d o c s / r u n - c a l c u l a t i o n - j a x ) . C r e a t e a s i n g l e T P U v 4 - 8 V M a n d c o n n e c t t o i t : ` ` ` b a s h Z O N E = u s - c e n t r a l 2 - b T P U _ T Y P E = v 4 - 8 V M _ N A M E = h g _ f l a x g c l o u d a l p h a c o m p u t e t p u s t p u - v m c r e a t e $ V M _ N A M E \ - - z o n e $ Z O N E \ - - a c c e l e r a t o r - t y p e $ T P U _ T Y P E \ - - v e r s i o n t p u - v m - v 4 - b a s e g c l o u d a l p h a c o m p u t e t p u s t p u - v m s s h $ V M _ N A M E - - z o n e $ Z O N E - - \ ` ` ` I n s t a l l J A X 0 . 4 . 5 : ` ` ` b a s h p i p i n s t a l l " j a x [ t p u ] = = 0 . 4 . 5 " - f h t t p s : / / s t o r a g e . g o o g l e a p i s . c o m / j a x - r e l e a s e s / l i b t p u _ r e l e a s e s . h t m l ` ` ` T h e n i n s t a l l t h e r e q u i r e d d e p e n d e n c i e s f o r t h e F l a x s c r i p t : ` ` ` b a s h c d e x a m p l e s / c o n t r o l n e t p i p i n s t a l l - r r e q u i r e m e n t s _ f l a x . t x t ` ` ` < / h f o p t i o n > < / h f o p t i o n s > < T i p > ๐Ÿค— A c c e l e r a t e i s a l i b r a r y f o r h e l p i n g y o u t r a i n o n m u l t i p l e G P U s / T P U s o r w i t h m i x e d - p r e c i s i o n . I t ' l l a u t o m a t i c a l l y c o n f i g u r e y o u r t r a i n i n g s e t u p b a s e d o n y o u r h a r d w a r e a n d e n v i r o n m e n t . T a k e a l o o k a t t h e ๐Ÿค— A c c e l e r a t e [ Q u i c k t o u r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / q u i c k t o u r ) t o l e a r n m o r e . < / T i p > I n i t i a l i z e a n ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t : ` ` ` b a s h a c c e l e r a t e c o n f i g ` ` ` T o s e t u p a d e f a u l t ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t w i t h o u t c h o o s i n g a n y c o n f i g u r a t i o n s : ` ` ` b a s h a c c e l e r a t e c o n f i g d e f a u l t ` ` ` O r i f y o u r e n v i r o n m e n t d o e s n ' t s u p p o r t a n i n t e r a c t i v e s h e l l , l i k e a n o t e b o o k , y o u c a n u s e : ` ` ` p y f r o m a c c e l e r a t e . u t i l s i m p o r t w r i t e _ b a s i c _ c o n f i g w r i t e _ b a s i c _ c o n f i g ( ) ` ` ` L a s t l y , i f y o u w a n t t o t r a i n a m o d e l o n y o u r o w n d a t a s e t , t a k e a l o o k a t t h e [ C r e a t e a d a t a s e t f o r t r a i n i n g ] ( c r e a t e _ d a t a s e t ) g u i d e t o l e a r n h o w t o c r e a t e a d a t a s e t t h a t w o r k s w i t h t h e t r a i n i n g s c r i p t . < T i p > T h e f o l l o w i n g s e c t i o n s h i g h l i g h t p a r t s o f t h e t r a i n i n g s c r i p t t h a t a r e i m p o r t a n t f o r u n d e r s t a n d i n g h o w t o m o d i f y i t , b u t i t d o e s n ' t c o v e r e v e r y a s p e c t o f t h e s c r i p t i n d e t a i l . I f y o u ' r e i n t e r e s t e d i n l e a r n i n g m o r e , f e e l f r e e t o r e a d t h r o u g h t h e [ s c r i p t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / c o n t r o l n e t / t r a i n _ c o n t r o l n e t . p y ) a n d l e t u s k n o w i f y o u h a v e a n y q u e s t i o n s o r c o n c e r n s . < / T i p > # # S c r i p t p a r a m e t e r s T h e t r a i n i n g s c r i p t p r o v i d e s m a n y p a r a m e t e r s t o h e l p y o u c u s t o m i z e y o u r t r a i n i n g r u n . A l l o f t h e p a r a m e t e r s a n d t h e i r d e s c r i p t i o n s a r e f o u n d i n t h e [ ` p a r s e _ a r g s ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 4 6 0 3 3 8 9 d a 0 1 0 8 2 0 5 5 a 9 0 1 f 2 8 8 3 c 4 8 1 0 d 1 1 4 4 e d b / e x a m p l e s / c o n t r o l n e t / t r a i n _ c o n t r o l n e t . p y # L 2 3 1 ) f u n c t i o n . T h i s f u n c t i o n p r o v i d e s d e f a u l t v a l u e s f o r e a c h p a r a m e t e r , s u c h a s t h e t r a i n i n g b a t c h s i z e a n d l e a r n i n g r a t e , b u t y o u c a n a l s o s e t y o u r o w n v a l u e s i n t h e t r a i n i n g c o m m a n d i f y o u ' d l i k e . F o r e x a m p l e , t o s p e e d u p t r a i n i n g w i t h m i x e d p r e c i s i o n u s i n g t h e f p 1 6 f o r m a t , a d d t h e ` - - m i x e d _ p r e c i s i o n ` p a r a m e t e r t o t h e t r a i n i n g c o m m a n d : ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ c o n t r o l n e t . p y \ - - m i x e d _ p r e c i s i o n = " f p 1 6 " ` ` ` M a n y o f t h e b a s i c a n d i m p o r t a n t p a r a m e t e r s a r e d e s c r i b e d i n t h e [ T e x t - t o - i m a g e ] ( t e x t 2 i m a g e # s c r i p t - p a r a m e t e r s ) t r a i n i n g g u i d e , s o t h i s g u i d e j u s t f o c u s e s o n t h e r e l e v a n t p a r a m e t e r s f o r C o n t r o l N e t : - ` - - m a x _ t r a i n _ s a m p l e s ` : t h e n u m b e r o f t r a i n i n g s a m p l e s ; t h i s c a n b e l o w e r e d f o r f a s t e r t r a i n i n g , b u t i f y o u w a n t t o s t r e a m r e a l l y l a r g e d a t a s e t s , y o u ' l l n e e d t o i n c l u d e t h i s p a r a m e t e r a n d t h e ` - - s t r e a m i n g ` p a r a m e t e r i n y o u r t r a i n i n g c o m m a n d - ` - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s ` : n u m b e r o f u p d a t e s t e p s t o a c c u m u l a t e b e f o r e t h e b a c k w a r d p a s s ; t h i s a l l o w s y o u t o t r a i n w i t h a b i g g e r b a t c h s i z e t h a n y o u r G P U m e m o r y c a n t y p i c a l l y h a n d l e # # # M i n - S N R w e i g h t i n g T h e [ M i n - S N R ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 3 . 0 9 5 5 6 ) w e i g h t i n g s t r a t e g y c a n h e l p w i t h t r a i n i n g b y r e b a l a n c i n g t h e l o s s t o a c h i e v e f a s t e r c o n v e r g e n c e . T h e t r a i n i n g s c r i p t s u p p o r t s p r e d i c t i n g ` e p s i l o n ` ( n o i s e ) o r ` v _ p r e d i c t i o n ` , b u t M i n - S N R i s c o m p a t i b l e w i t h b o t h p r e d i c t i o n t y p e s . T h i s w e i g h t i n g s t r a t e g y i s o n l y s u p p o r t e d b y P y T o r c h a n d i s u n a v a i l a b l e i n t h e F l a x t r a i n i n g s c r i p t . A d d t h e ` - - s n r _ g a m m a ` p a r a m e t e r a n d s e t i t t o t h e r e c o m m e n d e d v a l u e o f 5 . 0 : ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ c o n t r o l n e t . p y \ - - s n r _ g a m m a = 5 . 0 ` ` ` # # T r a i n i n g s c r i p t A s w i t h t h e s c r i p t p a r a m e t e r s , a g e n e r a l w a l k t h r o u g h o f t h e t r a i n i n g s c r i p t i s p r o v i d e d i n t h e [ T e x t - t o - i m a g e ] ( t e x t 2 i m a g e # t r a i n i n g - s c r i p t ) t r a i n i n g g u i d e . I n s t e a d , t h i s g u i d e t a k e s a l o o k a t t h e r e l e v a n t p a r t s o f t h e C o n t r o l N e t s c r i p t . T h e t r a i n i n g s c r i p t h a s a [ ` m a k e _ t r a i n _ d a t a s e t ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 4 6 0 3 3 8 9 d a 0 1 0 8 2 0 5 5 a 9 0 1 f 2 8 8 3 c 4 8 1 0 d 1 1 4 4 e d b / e x a m p l e s / c o n t r o l n e t / t r a i n _ c o n t r o l n e t . p y # L 5 8 2 ) f u n c t i o n f o r p r e p r o c e s s i n g t h e d a t a s e t w i t h i m a g e t r a n s f o r m s a n d c a p t i o n t o k e n i z a t i o n . Y o u ' l l s e e t h a t i n a d d i t i o n t o t h e u s u a l c a p t i o n t o k e n i z a t i o n a n d i m a g e t r a n s f o r m s , t h e s c r i p t a l s o i n c l u d e s t r a n s f o r m s f o r t h e c o n d i t i o n i n g i m a g e . < T i p > I f y o u ' r e s t r e a m i n g a d a t a s e t o n a T P U , p e r f o r m a n c e m a y b e b o t t l e n e c k e d b y t h e ๐Ÿค— D a t a s e t s l i b r a r y w h i c h i s n o t o p t i m i z e d f o r i m a g e s . T o e n s u r e m a x i m u m t h r o u g h p u t , y o u ' r e e n c o u r a g e d t o e x p l o r e o t h e r d a t a s e t f o r m a t s l i k e [ W e b D a t a s e t ] ( h t t p s : / / w e b d a t a s e t . g i t h u b . i o / w e b d a t a s e t / ) , [ T o r c h D a t a ] ( h t t p s : / / g i t h u b . c o m / p y t o r c h / d a t a ) , a n d [ T e n s o r F l o w D a t a s e t s ] ( h t t p s : / / w w w . t e n s o r f l o w . o r g / d a t a s e t s / t f l e s s _ t f d s ) . < / T i p > ` ` ` p y c o n d i t i o n i n g _ i m a g e _ t r a n s f o r m s = t r a n s f o r m s . C o m p o s e ( [ t r a n s f o r m s . R e s i z e ( a r g s . r e s o l u t i o n , i n t e r p o l a t i o n = t r a n s f o r m s . I n t e r p o l a t i o n M o d e . B I L I N E A R ) , t r a n s f o r m s . C e n t e r C r o p ( a r g s . r e s o l u t i o n ) , t r a n s f o r m s . T o T e n s o r ( ) , ] ) ` ` ` W i t h i n t h e [ ` m a i n ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 4 6 0 3 3 8 9 d a 0 1 0 8 2 0 5 5 a 9 0 1 f 2 8 8 3 c 4 8 1 0 d 1 1 4 4 e d b / e x a m p l e s / c o n t r o l n e t / t r a i n _ c o n t r o l n e t . p y # L 7 1 3 ) f u n c t i o n , y o u ' l l f i n d t h e c o d e f o r l o a d i n g t h e t o k e n i z e r , t e x t e n c o d e r , s c h e d u l e r a n d m o d e l s . T h i s i s a l s o w h e r e t h e C o n t r o l N e t m o d e l i s l o a d e d e i t h e r f r o m e x i s t i n g w e i g h t s o r r a n d o m l y i n i t i a l i z e d f r o m a U N e t : ` ` ` p y i f a r g s . c o n t r o l n e t _ m o d e l _ n a m e _ o r _ p a t h : l o g g e r . i n f o ( " L o a d i n g e x i s t i n g c o n t r o l n e t w e i g h t s " ) c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( a r g s . c o n t r o l n e t _ m o d e l _ n a m e _ o r _ p a t h ) e l s e : l o g g e r . i n f o ( " I n i t i a l i z i n g c o n t r o l n e t w e i g h t s f r o m u n e t " ) c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ u n e t ( u n e t ) ` ` ` T h e [ o p t i m i z e r ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 4 6 0 3 3 8 9 d a 0 1 0 8 2 0 5 5 a 9 0 1 f 2 8 8 3 c 4 8 1 0 d 1 1 4 4 e d b / e x a m p l e s / c o n t r o l n e t / t r a i n _ c o n t r o l n e t . p y # L 8 7 1 ) i s s e t u p t o u p d a t e t h e C o n t r o l N e t p a r a m e t e r s : ` ` ` p y p a r a m s _ t o _ o p t i m i z e = c o n t r o l n e t . p a r a m e t e r s ( ) o p t i m i z e r = o p t i m i z e r _ c l a s s ( p a r a m s _ t o _ o p t i m i z e , l r = a r g s . l e a r n i n g _ r a t e , b e t a s = ( a r g s . a d a m _ b e t a 1 , a r g s . a d a m _ b e t a 2 ) , w e i g h t _ d e c a y = a r g s . a d a m _ w e i g h t _ d e c a y , e p s = a r g s . a d a m _ e p s i l o n , ) ` ` ` F i n a l l y , i n t h e [ t r a i n i n g l o o p ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 4 6 0 3 3 8 9 d a 0 1 0 8 2 0 5 5 a 9 0 1 f 2 8 8 3 c 4 8 1 0 d 1 1 4 4 e d b / e x a m p l e s / c o n t r o l n e t / t r a i n _ c o n t r o l n e t . p y # L 9 4 3 ) , t h e c o n d i t i o n i n g t e x t e m b e d d i n g s a n d i m a g e a r e p a s s e d t o t h e d o w n a n d m i d - b l o c k s o f t h e C o n t r o l N e t m o d e l : ` ` ` p y e n c o d e r _ h i d d e n _ s t a t e s = t e x t _ e n c o d e r ( b a t c h [ " i n p u t _ i d s " ] ) [ 0 ] c o n t r o l n e t _ i m a g e = b a t c h [ " c o n d i t i o n i n g _ p i x e l _ v a l u e s " ] . t o ( d t y p e = w e i g h t _ d t y p e ) d o w n _ b l o c k _ r e s _ s a m p l e s , m i d _ b l o c k _ r e s _ s a m p l e = c o n t r o l n e t ( n o i s y _ l a t e n t s , t i m e s t e p s , e n c o d e r _ h i d d e n _ s t a t e s = e n c o d e r _ h i d d e n _ s t a t e s , c o n t r o l n e t _ c o n d = c o n t r o l n e t _ i m a g e , r e t u r n _ d i c t = F a l s e , ) ` ` ` I f y o u w a n t t o l e a r n m o r e a b o u t h o w t h e t r a i n i n g l o o p w o r k s , c h e c k o u t t h e [ U n d e r s t a n d i n g p i p e l i n e s , m o d e l s a n d s c h e d u l e r s ] ( . . / u s i n g - d i f f u s e r s / w r i t e _ o w n _ p i p e l i n e ) t u t o r i a l w h i c h b r e a k s d o w n t h e b a s i c p a t t e r n o f t h e d e n o i s i n g p r o c e s s . # # L a u n c h t h e s c r i p t N o w y o u ' r e r e a d y t o l a u n c h t h e t r a i n i n g s c r i p t ! ๐Ÿš€ T h i s g u i d e u s e s t h e [ f u s i n g / f i l l 5 0 k ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / f u s i n g / f i l l 5 0 k ) d a t a s e t , b u t r e m e m b e r , y o u c a n c r e a t e a n d u s e y o u r o w n d a t a s e t i f y o u w a n t ( s e e t h e [ C r e a t e a d a t a s e t f o r t r a i n i n g ] ( c r e a t e _ d a t a s e t ) g u i d e ) . S e t t h e e n v i r o n m e n t v a r i a b l e ` M O D E L _ N A M E ` t o a m o d e l i d o n t h e H u b o r a p a t h t o a l o c a l m o d e l a n d ` O U T P U T _ D I R ` t o w h e r e y o u w a n t t o s a v e t h e m o d e l . D o w n l o a d t h e f o l l o w i n g i m a g e s t o c o n d i t i o n y o u r t r a i n i n g w i t h : ` ` ` b a s h w g e t h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o n t r o l n e t _ t r a i n i n g / c o n d i t i o n i n g _ i m a g e _ 1 . p n g w g e t h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o n t r o l n e t _ t r a i n i n g / c o n d i t i o n i n g _ i m a g e _ 2 . p n g ` ` ` O n e m o r e t h i n g b e f o r e y o u l a u n c h t h e s c r i p t ! D e p e n d i n g o n t h e G P U y o u h a v e , y o u m a y n e e d t o e n a b l e c e r t a i n o p t i m i z a t i o n s t o t r a i n a C o n t r o l N e t . T h e d e f a u l t c o n f i g u r a t i o n i n t h i s s c r i p t r e q u i r e s ~ 3 8 G B o f v R A M . I f y o u ' r e t r a i n i n g o n m o r e t h a n o n e G P U , a d d t h e ` - - m u l t i _ g p u ` p a r a m e t e r t o t h e ` a c c e l e r a t e l a u n c h ` c o m m a n d . < h f o p t i o n s i d = " g p u - s e l e c t " > < h f o p t i o n i d = " 1 6 G B " > O n a 1 6 G B G P U , y o u c a n u s e b i t s a n d b y t e s 8 - b i t o p t i m i z e r a n d g r a d i e n t c h e c k p o i n t i n g t o o p t i m i z e y o u r t r a i n i n g r u n . I n s t a l l b i t s a n d b y t e s : ` ` ` p y p i p i n s t a l l b i t s a n d b y t e s ` ` ` T h e n , a d d t h e f o l l o w i n g p a r a m e t e r t o y o u r t r a i n i n g c o m m a n d : ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ c o n t r o l n e t . p y \ - - g r a d i e n t _ c h e c k p o i n t i n g \ - - u s e _ 8 b i t _ a d a m \ ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " 1 2 G B " > O n a 1 2 G B G P U , y o u ' l l n e e d b i t s a n d b y t e s 8 - b i t o p t i m i z e r , g r a d i e n t c h e c k p o i n t i n g , x F o r m e r s , a n d s e t t h e g r a d i e n t s t o ` N o n e ` i n s t e a d o f z e r o t o r e d u c e y o u r m e m o r y - u s a g e . ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ c o n t r o l n e t . p y \ - - u s e _ 8 b i t _ a d a m \ - - g r a d i e n t _ c h e c k p o i n t i n g \ - - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n \ - - s e t _ g r a d s _ t o _ n o n e \ ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " 8 G B " > O n a 8 G B G P U , y o u ' l l n e e d t o u s e [ D e e p S p e e d ] ( h t t p s : / / w w w . d e e p s p e e d . a i / ) t o o f f l o a d s o m e o f t h e t e n s o r s f r o m t h e v R A M t o e i t h e r t h e C P U o r N V M E t o a l l o w t r a i n i n g w i t h l e s s G P U m e m o r y . R u n t h e f o l l o w i n g c o m m a n d t o c o n f i g u r e y o u r ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t : ` ` ` b a s h a c c e l e r a t e c o n f i g ` ` ` D u r i n g c o n f i g u r a t i o n , c o n f i r m t h a t y o u w a n t t o u s e D e e p S p e e d s t a g e 2 . N o w i t s h o u l d b e p o s s i b l e t o t r a i n o n u n d e r 8 G B v R A M b y c o m b i n i n g D e e p S p e e d s t a g e 2 , f p 1 6 m i x e d p r e c i s i o n , a n d o f f l o a d i n g t h e m o d e l p a r a m e t e r s a n d t h e o p t i m i z e r s t a t e t o t h e C P U . T h e d r a w b a c k i s t h a t t h i s r e q u i r e s m o r e s y s t e m R A M ( ~ 2 5 G B ) . S e e t h e [ D e e p S p e e d d o c u m e n t a t i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / u s a g e _ g u i d e s / d e e p s p e e d ) f o r m o r e c o n f i g u r a t i o n o p t i o n s . Y o u r c o n f i g u r a t i o n f i l e s h o u l d l o o k s o m e t h i n g l i k e : ` ` ` b a s h c o m p u t e _ e n v i r o n m e n t : L O C A L _ M A C H I N E d e e p s p e e d _ c o n f i g : g r a d i e n t _ a c c u m u l a t i o n _ s t e p s : 4 o f f l o a d _ o p t i m i z e r _ d e v i c e : c p u o f f l o a d _ p a r a m _ d e v i c e : c p u z e r o 3 _ i n i t _ f l a g : f a l s e z e r o _ s t a g e : 2 d i s t r i b u t e d _ t y p e : D E E P S P E E D ` ` ` Y o u s h o u l d a l s o c h a n g e t h e d e f a u l t A d a m o p t i m i z e r t o D e e p S p e e d โ€™ s o p t i m i z e d v e r s i o n o f A d a m [ ` d e e p s p e e d . o p s . a d a m . D e e p S p e e d C P U A d a m ` ] ( h t t p s : / / d e e p s p e e d . r e a d t h e d o c s . i o / e n / l a t e s t / o p t i m i z e r s . h t m l # a d a m - c p u ) f o r a s u b s t a n t i a l s p e e d u p . E n a b l i n g ` D e e p S p e e d C P U A d a m ` r e q u i r e s y o u r s y s t e m โ€™ s C U D A t o o l c h a i n v e r s i o n t o b e t h e s a m e a s t h e o n e i n s t a l l e d w i t h P y T o r c h . b i t s a n d b y t e s 8 - b i t o p t i m i z e r s d o n โ€™ t s e e m t o b e c o m p a t i b l e w i t h D e e p S p e e d a t t h e m o m e n t . T h a t ' s i t ! Y o u d o n ' t n e e d t o a d d a n y a d d i t i o n a l p a r a m e t e r s t o y o u r t r a i n i n g c o m m a n d . < / h f o p t i o n > < / h f o p t i o n s > < h f o p t i o n s i d = " t r a i n i n g - i n f e r e n c e " > < h f o p t i o n i d = " P y T o r c h " > ` ` ` b a s h e x p o r t M O D E L _ D I R = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " e x p o r t O U T P U T _ D I R = " p a t h / t o / s a v e / m o d e l " a c c e l e r a t e l a u n c h t r a i n _ c o n t r o l n e t . p y \ - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h = $ M O D E L _ D I R \ - - o u t p u t _ d i r = $ O U T P U T _ D I R \ - - d a t a s e t _ n a m e = f u s i n g / f i l l 5 0 k \ - - r e s o l u t i o n = 5 1 2 \ - - l e a r n i n g _ r a t e = 1 e - 5 \ - - v a l i d a t i o n _ i m a g e " . / c o n d i t i o n i n g _ i m a g e _ 1 . p n g " " . / c o n d i t i o n i n g _ i m a g e _ 2 . p n g " \ - - v a l i d a t i o n _ p r o m p t " r e d c i r c l e w i t h b l u e b a c k g r o u n d " " c y a n c i r c l e w i t h b r o w n f l o r a l b a c k g r o u n d " \ - - t r a i n _ b a t c h _ s i z e = 1 \ - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s = 4 \ - - p u s h _ t o _ h u b ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " F l a x " > W i t h F l a x , y o u c a n [ p r o f i l e y o u r c o d e ] ( h t t p s : / / j a x . r e a d t h e d o c s . i o / e n / l a t e s t / p r o f i l i n g . h t m l ) b y a d d i n g t h e ` - - p r o f i l e _ s t e p s = = 5 ` p a r a m e t e r t o y o u r t r a i n i n g c o m m a n d . I n s t a l l t h e T e n s o r b o a r d p r o f i l e p l u g i n : ` ` ` b a s h p i p i n s t a l l t e n s o r f l o w t e n s o r b o a r d - p l u g i n - p r o f i l e t e n s o r b o a r d - - l o g d i r r u n s / f i l l - c i r c l e - 1 0 0 s t e p s - 2 0 2 3 0 4 1 1 _ 1 6 5 6 1 2 / ` ` ` T h e n y o u c a n i n s p e c t t h e p r o f i l e a t [ h t t p : / / l o c a l h o s t : 6 0 0 6 / # p r o f i l e ] ( h t t p : / / l o c a l h o s t : 6 0 0 6 / # p r o f i l e ) . < T i p w a r n i n g = { t r u e } > I f y o u r u n i n t o v e r s i o n c o n f l i c t s w i t h t h e p l u g i n , t r y u n i n s t a l l i n g a n d r e i n s t a l l i n g a l l v e r s i o n s o f T e n s o r F l o w a n d T e n s o r b o a r d . T h e d e b u g g i n g f u n c t i o n a l i t y o f t h e p r o f i l e p l u g i n i s s t i l l e x p e r i m e n t a l , a n d n o t a l l v i e w s a r e f u l l y f u n c t i o n a l . T h e ` t r a c e _ v i e w e r ` c u t s o f f e v e n t s a f t e r 1 M , w h i c h c a n r e s u l t i n a l l y o u r d e v i c e t r a c e s g e t t i n g l o s t i f f o r e x a m p l e , y o u p r o f i l e t h e c o m p i l a t i o n s t e p b y a c c i d e n t . < / T i p > ` ` ` b a s h p y t h o n 3 t r a i n _ c o n t r o l n e t _ f l a x . p y \ - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h = $ M O D E L _ D I R \ - - o u t p u t _ d i r = $ O U T P U T _ D I R \ - - d a t a s e t _ n a m e = f u s i n g / f i l l 5 0 k \ - - r e s o l u t i o n = 5 1 2 \ - - l e a r n i n g _ r a t e = 1 e - 5 \ - - v a l i d a t i o n _ i m a g e " . / c o n d i t i o n i n g _ i m a g e _ 1 . p n g " " . / c o n d i t i o n i n g _ i m a g e _ 2 . p n g " \ - - v a l i d a t i o n _ p r o m p t " r e d c i r c l e w i t h b l u e b a c k g r o u n d " " c y a n c i r c l e w i t h b r o w n f l o r a l b a c k g r o u n d " \ - - v a l i d a t i o n _ s t e p s = 1 0 0 0 \ - - t r a i n _ b a t c h _ s i z e = 2 \ - - r e v i s i o n = " n o n - e m a " \ - - f r o m _ p t \ - - r e p o r t _ t o = " w a n d b " \ - - t r a c k e r _ p r o j e c t _ n a m e = $ H U B _ M O D E L _ I D \ - - n u m _ t r a i n _ e p o c h s = 1 1 \ - - p u s h _ t o _ h u b \ - - h u b _ m o d e l _ i d = $ H U B _ M O D E L _ I D ` ` ` < / h f o p t i o n > < / h f o p t i o n s > O n c e t r a i n i n g i s c o m p l e t e , y o u c a n u s e y o u r n e w l y t r a i n e d m o d e l f o r i n f e r e n c e ! ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e , C o n t r o l N e t M o d e l f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m p o r t t o r c h c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " p a t h / t o / c o n t r o l n e t " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e = S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( " p a t h / t o / b a s e / m o d e l " , c o n t r o l n e t = c o n t r o l n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) c o n t r o l _ i m a g e = l o a d _ i m a g e ( " . / c o n d i t i o n i n g _ i m a g e _ 1 . p n g " ) p r o m p t = " p a l e g o l d e n r o d c i r c l e w i t h o l d l a c e b a c k g r o u n d " g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) i m a g e = p i p e l i n e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 2 0 , g e n e r a t o r = g e n e r a t o r , i m a g e = c o n t r o l _ i m a g e ) . i m a g e s [ 0 ] i m a g e . s a v e ( " . / o u t p u t . p n g " ) ` ` ` # # S t a b l e D i f f u s i o n X L S t a b l e D i f f u s i o n X L ( S D X L ) i s a p o w e r f u l t e x t - t o - i m a g e m o d e l t h a t g e n e r a t e s h i g h - r e s o l u t i o n i m a g e s , a n d i t a d d s a s e c o n d t e x t - e n c o d e r t o i t s a r c h i t e c t u r e . U s e t h e [ ` t r a i n _ c o n t r o l n e t _ s d x l . p y ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / c o n t r o l n e t / t r a i n _ c o n t r o l n e t _ s d x l . p y ) s c r i p t t o t r a i n a C o n t r o l N e t a d a p t e r f o r t h e S D X L m o d e l . T h e S D X L t r a i n i n g s c r i p t i s d i s c u s s e d i n m o r e d e t a i l i n t h e [ S D X L t r a i n i n g ] ( s d x l ) g u i d e . # # N e x t s t e p s C o n g r a t u l a t i o n s o n t r a i n i n g y o u r o w n C o n t r o l N e t ! T o l e a r n m o r e a b o u t h o w t o u s e y o u r n e w m o d e l , t h e f o l l o w i n g g u i d e s m a y b e h e l p f u l : - L e a r n h o w t o [ u s e a C o n t r o l N e t ] ( . . / u s i n g - d i f f u s e r s / c o n t r o l n e t ) f o r i n f e r e n c e o n a v a r i e t y o f t a s k s . # U n c o n d i t i o n a l i m a g e g e n e r a t i o n U n c o n d i t i o n a l i m a g e g e n e r a t i o n m o d e l s a r e n o t c o n d i t i o n e d o n t e x t o r i m a g e s d u r i n g t r a i n i n g . I t o n l y g e n e r a t e s i m a g e s t h a t r e s e m b l e i t s t r a i n i n g d a t a d i s t r i b u t i o n . T h i s g u i d e w i l l e x p l o r e t h e [ t r a i n _ u n c o n d i t i o n a l . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / u n c o n d i t i o n a l _ i m a g e _ g e n e r a t i o n / t r a i n _ u n c o n d i t i o n a l . p y ) t r a i n i n g s c r i p t t o h e l p y o u b e c o m e f a m i l i a r w i t h i t , a n d h o w y o u c a n a d a p t i t f o r y o u r o w n u s e - c a s e . B e f o r e r u n n i n g t h e s c r i p t , m a k e s u r e y o u i n s t a l l t h e l i b r a r y f r o m s o u r c e : ` ` ` b a s h g i t c l o n e h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s c d d i f f u s e r s p i p i n s t a l l . ` ` ` T h e n n a v i g a t e t o t h e e x a m p l e f o l d e r c o n t a i n i n g t h e t r a i n i n g s c r i p t a n d i n s t a l l t h e r e q u i r e d d e p e n d e n c i e s : ` ` ` b a s h c d e x a m p l e s / u n c o n d i t i o n a l _ i m a g e _ g e n e r a t i o n p i p i n s t a l l - r r e q u i r e m e n t s . t x t ` ` ` < T i p > ๐Ÿค— A c c e l e r a t e i s a l i b r a r y f o r h e l p i n g y o u t r a i n o n m u l t i p l e G P U s / T P U s o r w i t h m i x e d - p r e c i s i o n . I t ' l l a u t o m a t i c a l l y c o n f i g u r e y o u r t r a i n i n g s e t u p b a s e d o n y o u r h a r d w a r e a n d e n v i r o n m e n t . T a k e a l o o k a t t h e ๐Ÿค— A c c e l e r a t e [ Q u i c k t o u r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / q u i c k t o u r ) t o l e a r n m o r e . < / T i p > I n i t i a l i z e a n ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t : ` ` ` b a s h a c c e l e r a t e c o n f i g ` ` ` T o s e t u p a d e f a u l t ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t w i t h o u t c h o o s i n g a n y c o n f i g u r a t i o n s : ` ` ` b a s h a c c e l e r a t e c o n f i g d e f a u l t ` ` ` O r i f y o u r e n v i r o n m e n t d o e s n ' t s u p p o r t a n i n t e r a c t i v e s h e l l l i k e a n o t e b o o k , y o u c a n u s e : ` ` ` p y f r o m a c c e l e r a t e . u t i l s i m p o r t w r i t e _ b a s i c _ c o n f i g w r i t e _ b a s i c _ c o n f i g ( ) ` ` ` L a s t l y , i f y o u w a n t t o t r a i n a m o d e l o n y o u r o w n d a t a s e t , t a k e a l o o k a t t h e [ C r e a t e a d a t a s e t f o r t r a i n i n g ] ( c r e a t e _ d a t a s e t ) g u i d e t o l e a r n h o w t o c r e a t e a d a t a s e t t h a t w o r k s w i t h t h e t r a i n i n g s c r i p t . # # S c r i p t p a r a m e t e r s < T i p > T h e f o l l o w i n g s e c t i o n s h i g h l i g h t p a r t s o f t h e t r a i n i n g s c r i p t t h a t a r e i m p o r t a n t f o r u n d e r s t a n d i n g h o w t o m o d i f y i t , b u t i t d o e s n ' t c o v e r e v e r y a s p e c t o f t h e s c r i p t i n d e t a i l . I f y o u ' r e i n t e r e s t e d i n l e a r n i n g m o r e , f e e l f r e e t o r e a d t h r o u g h t h e [ s c r i p t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / u n c o n d i t i o n a l _ i m a g e _ g e n e r a t i o n / t r a i n _ u n c o n d i t i o n a l . p y ) a n d l e t u s k n o w i f y o u h a v e a n y q u e s t i o n s o r c o n c e r n s . < / T i p > T h e t r a i n i n g s c r i p t p r o v i d e s m a n y p a r a m e t e r s t o h e l p y o u c u s t o m i z e y o u r t r a i n i n g r u n . A l l o f t h e p a r a m e t e r s a n d t h e i r d e s c r i p t i o n s a r e f o u n d i n t h e [ ` p a r s e _ a r g s ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 0 9 6 f 8 4 b 0 5 f 9 5 1 4 f a e 9 f 1 8 5 c b e c 0 a 4 d 3 8 f b a d 9 9 1 9 / e x a m p l e s / u n c o n d i t i o n a l _ i m a g e _ g e n e r a t i o n / t r a i n _ u n c o n d i t i o n a l . p y # L 5 5 ) f u n c t i o n . I t p r o v i d e s d e f a u l t v a l u e s f o r e a c h p a r a m e t e r , s u c h a s t h e t r a i n i n g b a t c h s i z e a n d l e a r n i n g r a t e , b u t y o u c a n a l s o s e t y o u r o w n v a l u e s i n t h e t r a i n i n g c o m m a n d i f y o u ' d l i k e . F o r e x a m p l e , t o s p e e d u p t r a i n i n g w i t h m i x e d p r e c i s i o n u s i n g t h e b f 1 6 f o r m a t , a d d t h e ` - - m i x e d _ p r e c i s i o n ` p a r a m e t e r t o t h e t r a i n i n g c o m m a n d : ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ u n c o n d i t i o n a l . p y \ - - m i x e d _ p r e c i s i o n = " b f 1 6 " ` ` ` S o m e b a s i c a n d i m p o r t a n t p a r a m e t e r s t o s p e c i f y i n c l u d e : - ` - - d a t a s e t _ n a m e ` : t h e n a m e o f t h e d a t a s e t o n t h e H u b o r a l o c a l p a t h t o t h e d a t a s e t t o t r a i n o n - ` - - o u t p u t _ d i r ` : w h e r e t o s a v e t h e t r a i n e d m o d e l - ` - - p u s h _ t o _ h u b ` : w h e t h e r t o p u s h t h e t r a i n e d m o d e l t o t h e H u b - ` - - c h e c k p o i n t i n g _ s t e p s ` : f r e q u e n c y o f s a v i n g a c h e c k p o i n t a s t h e m o d e l t r a i n s ; t h i s i s u s e f u l i f t r a i n i n g i s i n t e r r u p t e d , y o u c a n c o n t i n u e t r a i n i n g f r o m t h a t c h e c k p o i n t b y a d d i n g ` - - r e s u m e _ f r o m _ c h e c k p o i n t ` t o y o u r t r a i n i n g c o m m a n d B r i n g y o u r d a t a s e t , a n d l e t t h e t r a i n i n g s c r i p t h a n d l e e v e r y t h i n g e l s e ! # # T r a i n i n g s c r i p t T h e c o d e f o r p r e p r o c e s s i n g t h e d a t a s e t a n d t h e t r a i n i n g l o o p i s f o u n d i n t h e [ ` m a i n ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 0 9 6 f 8 4 b 0 5 f 9 5 1 4 f a e 9 f 1 8 5 c b e c 0 a 4 d 3 8 f b a d 9 9 1 9 / e x a m p l e s / u n c o n d i t i o n a l _ i m a g e _ g e n e r a t i o n / t r a i n _ u n c o n d i t i o n a l . p y # L 2 7 5 ) f u n c t i o n . I f y o u n e e d t o a d a p t t h e t r a i n i n g s c r i p t , t h i s i s w h e r e y o u ' l l n e e d t o m a k e y o u r c h a n g e s . T h e ` t r a i n _ u n c o n d i t i o n a l ` s c r i p t [ i n i t i a l i z e s a ` U N e t 2 D M o d e l ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 0 9 6 f 8 4 b 0 5 f 9 5 1 4 f a e 9 f 1 8 5 c b e c 0 a 4 d 3 8 f b a d 9 9 1 9 / e x a m p l e s / u n c o n d i t i o n a l _ i m a g e _ g e n e r a t i o n / t r a i n _ u n c o n d i t i o n a l . p y # L 3 5 6 ) i f y o u d o n ' t p r o v i d e a m o d e l c o n f i g u r a t i o n . Y o u c a n c o n f i g u r e t h e U N e t h e r e i f y o u ' d l i k e : ` ` ` p y m o d e l = U N e t 2 D M o d e l ( s a m p l e _ s i z e = a r g s . r e s o l u t i o n , i n _ c h a n n e l s = 3 , o u t _ c h a n n e l s = 3 , l a y e r s _ p e r _ b l o c k = 2 , b l o c k _ o u t _ c h a n n e l s = ( 1 2 8 , 1 2 8 , 2 5 6 , 2 5 6 , 5 1 2 , 5 1 2 ) , d o w n _ b l o c k _ t y p e s = ( " D o w n B l o c k 2 D " , " D o w n B l o c k 2 D " , " D o w n B l o c k 2 D " , " D o w n B l o c k 2 D " , " A t t n D o w n B l o c k 2 D " , " D o w n B l o c k 2 D " , ) , u p _ b l o c k _ t y p e s = ( " U p B l o c k 2 D " , " A t t n U p B l o c k 2 D " , " U p B l o c k 2 D " , " U p B l o c k 2 D " , " U p B l o c k 2 D " , " U p B l o c k 2 D " , ) , ) ` ` ` N e x t , t h e s c r i p t i n i t i a l i z e s a [ s c h e d u l e r ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 0 9 6 f 8 4 b 0 5 f 9 5 1 4 f a e 9 f 1 8 5 c b e c 0 a 4 d 3 8 f b a d 9 9 1 9 / e x a m p l e s / u n c o n d i t i o n a l _ i m a g e _ g e n e r a t i o n / t r a i n _ u n c o n d i t i o n a l . p y # L 4 1 8 ) a n d [ o p t i m i z e r ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 0 9 6 f 8 4 b 0 5 f 9 5 1 4 f a e 9 f 1 8 5 c b e c 0 a 4 d 3 8 f b a d 9 9 1 9 / e x a m p l e s / u n c o n d i t i o n a l _ i m a g e _ g e n e r a t i o n / t r a i n _ u n c o n d i t i o n a l . p y # L 4 2 9 ) : ` ` ` p y # I n i t i a l i z e t h e s c h e d u l e r a c c e p t s _ p r e d i c t i o n _ t y p e = " p r e d i c t i o n _ t y p e " i n s e t ( i n s p e c t . s i g n a t u r e ( D D P M S c h e d u l e r . _ _ i n i t _ _ ) . p a r a m e t e r s . k e y s ( ) ) i f a c c e p t s _ p r e d i c t i o n _ t y p e : n o i s e _ s c h e d u l e r = D D P M S c h e d u l e r ( n u m _ t r a i n _ t i m e s t e p s = a r g s . d d p m _ n u m _ s t e p s , b e t a _ s c h e d u l e = a r g s . d d p m _ b e t a _ s c h e d u l e , p r e d i c t i o n _ t y p e = a r g s . p r e d i c t i o n _ t y p e , ) e l s e : n o i s e _ s c h e d u l e r = D D P M S c h e d u l e r ( n u m _ t r a i n _ t i m e s t e p s = a r g s . d d p m _ n u m _ s t e p s , b e t a _ s c h e d u l e = a r g s . d d p m _ b e t a _ s c h e d u l e ) # I n i t i a l i z e t h e o p t i m i z e r o p t i m i z e r = t o r c h . o p t i m . A d a m W ( m o d e l . p a r a m e t e r s ( ) , l r = a r g s . l e a r n i n g _ r a t e , b e t a s = ( a r g s . a d a m _ b e t a 1 , a r g s . a d a m _ b e t a 2 ) , w e i g h t _ d e c a y = a r g s . a d a m _ w e i g h t _ d e c a y , e p s = a r g s . a d a m _ e p s i l o n , ) ` ` ` T h e n i t [ l o a d s a d a t a s e t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 0 9 6 f 8 4 b 0 5 f 9 5 1 4 f a e 9 f 1 8 5 c b e c 0 a 4 d 3 8 f b a d 9 9 1 9 / e x a m p l e s / u n c o n d i t i o n a l _ i m a g e _ g e n e r a t i o n / t r a i n _ u n c o n d i t i o n a l . p y # L 4 5 1 ) a n d y o u c a n s p e c i f y h o w t o [ p r e p r o c e s s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 0 9 6 f 8 4 b 0 5 f 9 5 1 4 f a e 9 f 1 8 5 c b e c 0 a 4 d 3 8 f b a d 9 9 1 9 / e x a m p l e s / u n c o n d i t i o n a l _ i m a g e _ g e n e r a t i o n / t r a i n _ u n c o n d i t i o n a l . p y # L 4 5 5 ) i t : ` ` ` p y d a t a s e t = l o a d _ d a t a s e t ( " i m a g e f o l d e r " , d a t a _ d i r = a r g s . t r a i n _ d a t a _ d i r , c a c h e _ d i r = a r g s . c a c h e _ d i r , s p l i t = " t r a i n " ) a u g m e n t a t i o n s = t r a n s f o r m s . C o m p o s e ( [ t r a n s f o r m s . R e s i z e ( a r g s . r e s o l u t i o n , i n t e r p o l a t i o n = t r a n s f o r m s . I n t e r p o l a t i o n M o d e . B I L I N E A R ) , t r a n s f o r m s . C e n t e r C r o p ( a r g s . r e s o l u t i o n ) i f a r g s . c e n t e r _ c r o p e l s e t r a n s f o r m s . R a n d o m C r o p ( a r g s . r e s o l u t i o n ) , t r a n s f o r m s . R a n d o m H o r i z o n t a l F l i p ( ) i f a r g s . r a n d o m _ f l i p e l s e t r a n s f o r m s . L a m b d a ( l a m b d a x : x ) , t r a n s f o r m s . T o T e n s o r ( ) , t r a n s f o r m s . N o r m a l i z e ( [ 0 . 5 ] , [ 0 . 5 ] ) , ] ) ` ` ` F i n a l l y , t h e [ t r a i n i n g l o o p ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 0 9 6 f 8 4 b 0 5 f 9 5 1 4 f a e 9 f 1 8 5 c b e c 0 a 4 d 3 8 f b a d 9 9 1 9 / e x a m p l e s / u n c o n d i t i o n a l _ i m a g e _ g e n e r a t i o n / t r a i n _ u n c o n d i t i o n a l . p y # L 5 4 0 ) h a n d l e s e v e r y t h i n g e l s e s u c h a s a d d i n g n o i s e t o t h e i m a g e s , p r e d i c t i n g t h e n o i s e r e s i d u a l , c a l c u l a t i n g t h e l o s s , s a v i n g c h e c k p o i n t s a t s p e c i f i e d s t e p s , a n d s a v i n g a n d p u s h i n g t h e m o d e l t o t h e H u b . I f y o u w a n t t o l e a r n m o r e a b o u t h o w t h e t r a i n i n g l o o p w o r k s , c h e c k o u t t h e [ U n d e r s t a n d i n g p i p e l i n e s , m o d e l s a n d s c h e d u l e r s ] ( . . / u s i n g - d i f f u s e r s / w r i t e _ o w n _ p i p e l i n e ) t u t o r i a l w h i c h b r e a k s d o w n t h e b a s i c p a t t e r n o f t h e d e n o i s i n g p r o c e s s . # # L a u n c h t h e s c r i p t O n c e y o u ' v e m a d e a l l y o u r c h a n g e s o r y o u ' r e o k a y w i t h t h e d e f a u l t c o n f i g u r a t i o n , y o u ' r e r e a d y t o l a u n c h t h e t r a i n i n g s c r i p t ! ๐Ÿš€ < T i p w a r n i n g = { t r u e } > A f u l l t r a i n i n g r u n t a k e s 2 h o u r s o n 4 x V 1 0 0 G P U s . < / T i p > < h f o p t i o n s i d = " l a u n c h t r a i n i n g " > < h f o p t i o n i d = " s i n g l e G P U " > ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ u n c o n d i t i o n a l . p y \ - - d a t a s e t _ n a m e = " h u g g a n / f l o w e r s - 1 0 2 - c a t e g o r i e s " \ - - o u t p u t _ d i r = " d d p m - e m a - f l o w e r s - 6 4 " \ - - m i x e d _ p r e c i s i o n = " f p 1 6 " \ - - p u s h _ t o _ h u b ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " m u l t i - G P U " > I f y o u ' r e t r a i n i n g w i t h m o r e t h a n o n e G P U , a d d t h e ` - - m u l t i _ g p u ` p a r a m e t e r t o t h e t r a i n i n g c o m m a n d : ` ` ` b a s h a c c e l e r a t e l a u n c h - - m u l t i _ g p u t r a i n _ u n c o n d i t i o n a l . p y \ - - d a t a s e t _ n a m e = " h u g g a n / f l o w e r s - 1 0 2 - c a t e g o r i e s " \ - - o u t p u t _ d i r = " d d p m - e m a - f l o w e r s - 6 4 " \ - - m i x e d _ p r e c i s i o n = " f p 1 6 " \ - - p u s h _ t o _ h u b ` ` ` < / h f o p t i o n > < / h f o p t i o n s > T h e t r a i n i n g s c r i p t c r e a t e s a n d s a v e s a c h e c k p o i n t f i l e i n y o u r r e p o s i t o r y . N o w y o u c a n l o a d a n d u s e y o u r t r a i n e d m o d e l f o r i n f e r e n c e : ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " a n t o n - l / d d p m - b u t t e r f l i e s - 1 2 8 " ) . t o ( " c u d a " ) i m a g e = p i p e l i n e ( ) . i m a g e s [ 0 ] ` ` ` # R e i n f o r c e m e n t l e a r n i n g t r a i n i n g w i t h D D P O Y o u c a n f i n e - t u n e S t a b l e D i f f u s i o n o n a r e w a r d f u n c t i o n v i a r e i n f o r c e m e n t l e a r n i n g w i t h t h e ๐Ÿค— T R L l i b r a r y a n d ๐Ÿค— D i f f u s e r s . T h i s i s d o n e w i t h t h e D e n o i s i n g D i f f u s i o n P o l i c y O p t i m i z a t i o n ( D D P O ) a l g o r i t h m i n t r o d u c e d b y B l a c k e t a l . i n [ T r a i n i n g D i f f u s i o n M o d e l s w i t h R e i n f o r c e m e n t L e a r n i n g ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 0 5 . 1 3 3 0 1 ) , w h i c h i s i m p l e m e n t e d i n ๐Ÿค— T R L w i t h t h e [ D D P O T r a i n e r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r l / m a i n / e n / d d p o _ t r a i n e r # t r l . D D P O T r a i n e r ) . F o r m o r e i n f o r m a t i o n , c h e c k o u t t h e [ D D P O T r a i n e r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r l / m a i n / e n / d d p o _ t r a i n e r # t r l . D D P O T r a i n e r ) A P I r e f e r e n c e a n d t h e [ F i n e t u n e S t a b l e D i f f u s i o n M o d e l s w i t h D D P O v i a T R L ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / t r l - d d p o ) b l o g p o s t . # I n s t r u c t P i x 2 P i x [ I n s t r u c t P i x 2 P i x ] ( h t t p s : / / h f . c o / p a p e r s / 2 2 1 1 . 0 9 8 0 0 ) i s a S t a b l e D i f f u s i o n m o d e l t r a i n e d t o e d i t i m a g e s f r o m h u m a n - p r o v i d e d i n s t r u c t i o n s . F o r e x a m p l e , y o u r p r o m p t c a n b e " t u r n t h e c l o u d s r a i n y " a n d t h e m o d e l w i l l e d i t t h e i n p u t i m a g e a c c o r d i n g l y . T h i s m o d e l i s c o n d i t i o n e d o n t h e t e x t p r o m p t ( o r e d i t i n g i n s t r u c t i o n ) a n d t h e i n p u t i m a g e . T h i s g u i d e w i l l e x p l o r e t h e [ t r a i n _ i n s t r u c t _ p i x 2 p i x . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / i n s t r u c t _ p i x 2 p i x / t r a i n _ i n s t r u c t _ p i x 2 p i x . p y ) t r a i n i n g s c r i p t t o h e l p y o u b e c o m e f a m i l i a r w i t h i t , a n d h o w y o u c a n a d a p t i t f o r y o u r o w n u s e c a s e . B e f o r e r u n n i n g t h e s c r i p t , m a k e s u r e y o u i n s t a l l t h e l i b r a r y f r o m s o u r c e : ` ` ` b a s h g i t c l o n e h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s c d d i f f u s e r s p i p i n s t a l l . ` ` ` T h e n n a v i g a t e t o t h e e x a m p l e f o l d e r c o n t a i n i n g t h e t r a i n i n g s c r i p t a n d i n s t a l l t h e r e q u i r e d d e p e n d e n c i e s f o r t h e s c r i p t y o u ' r e u s i n g : ` ` ` b a s h c d e x a m p l e s / i n s t r u c t _ p i x 2 p i x p i p i n s t a l l - r r e q u i r e m e n t s . t x t ` ` ` < T i p > ๐Ÿค— A c c e l e r a t e i s a l i b r a r y f o r h e l p i n g y o u t r a i n o n m u l t i p l e G P U s / T P U s o r w i t h m i x e d - p r e c i s i o n . I t ' l l a u t o m a t i c a l l y c o n f i g u r e y o u r t r a i n i n g s e t u p b a s e d o n y o u r h a r d w a r e a n d e n v i r o n m e n t . T a k e a l o o k a t t h e ๐Ÿค— A c c e l e r a t e [ Q u i c k t o u r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / q u i c k t o u r ) t o l e a r n m o r e . < / T i p > I n i t i a l i z e a n ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t : ` ` ` b a s h a c c e l e r a t e c o n f i g ` ` ` T o s e t u p a d e f a u l t ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t w i t h o u t c h o o s i n g a n y c o n f i g u r a t i o n s : ` ` ` b a s h a c c e l e r a t e c o n f i g d e f a u l t ` ` ` O r i f y o u r e n v i r o n m e n t d o e s n ' t s u p p o r t a n i n t e r a c t i v e s h e l l , l i k e a n o t e b o o k , y o u c a n u s e : ` ` ` p y f r o m a c c e l e r a t e . u t i l s i m p o r t w r i t e _ b a s i c _ c o n f i g w r i t e _ b a s i c _ c o n f i g ( ) ` ` ` L a s t l y , i f y o u w a n t t o t r a i n a m o d e l o n y o u r o w n d a t a s e t , t a k e a l o o k a t t h e [ C r e a t e a d a t a s e t f o r t r a i n i n g ] ( c r e a t e _ d a t a s e t ) g u i d e t o l e a r n h o w t o c r e a t e a d a t a s e t t h a t w o r k s w i t h t h e t r a i n i n g s c r i p t . < T i p > T h e f o l l o w i n g s e c t i o n s h i g h l i g h t p a r t s o f t h e t r a i n i n g s c r i p t t h a t a r e i m p o r t a n t f o r u n d e r s t a n d i n g h o w t o m o d i f y i t , b u t i t d o e s n ' t c o v e r e v e r y a s p e c t o f t h e s c r i p t i n d e t a i l . I f y o u ' r e i n t e r e s t e d i n l e a r n i n g m o r e , f e e l f r e e t o r e a d t h r o u g h t h e [ s c r i p t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / i n s t r u c t _ p i x 2 p i x / t r a i n _ i n s t r u c t _ p i x 2 p i x . p y ) a n d l e t u s k n o w i f y o u h a v e a n y q u e s t i o n s o r c o n c e r n s . < / T i p > # # S c r i p t p a r a m e t e r s T h e t r a i n i n g s c r i p t h a s m a n y p a r a m e t e r s t o h e l p y o u c u s t o m i z e y o u r t r a i n i n g r u n . A l l o f t h e p a r a m e t e r s a n d t h e i r d e s c r i p t i o n s a r e f o u n d i n t h e [ ` p a r s e _ a r g s ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 4 6 0 3 3 8 9 d a 0 1 0 8 2 0 5 5 a 9 0 1 f 2 8 8 3 c 4 8 1 0 d 1 1 4 4 e d b / e x a m p l e s / i n s t r u c t _ p i x 2 p i x / t r a i n _ i n s t r u c t _ p i x 2 p i x . p y # L 6 5 ) f u n c t i o n . D e f a u l t v a l u e s a r e p r o v i d e d f o r m o s t p a r a m e t e r s t h a t w o r k p r e t t y w e l l , b u t y o u c a n a l s o s e t y o u r o w n v a l u e s i n t h e t r a i n i n g c o m m a n d i f y o u ' d l i k e . F o r e x a m p l e , t o i n c r e a s e t h e r e s o l u t i o n o f t h e i n p u t i m a g e : ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ i n s t r u c t _ p i x 2 p i x . p y \ - - r e s o l u t i o n = 5 1 2 \ ` ` ` M a n y o f t h e b a s i c a n d i m p o r t a n t p a r a m e t e r s a r e d e s c r i b e d i n t h e [ T e x t - t o - i m a g e ] ( t e x t 2 i m a g e # s c r i p t - p a r a m e t e r s ) t r a i n i n g g u i d e , s o t h i s g u i d e j u s t f o c u s e s o n t h e r e l e v a n t p a r a m e t e r s f o r I n s t r u c t P i x 2 P i x : - ` - - o r i g i n a l _ i m a g e _ c o l u m n ` : t h e o r i g i n a l i m a g e b e f o r e t h e e d i t s a r e m a d e - ` - - e d i t e d _ i m a g e _ c o l u m n ` : t h e i m a g e a f t e r t h e e d i t s a r e m a d e - ` - - e d i t _ p r o m p t _ c o l u m n ` : t h e i n s t r u c t i o n s t o e d i t t h e i m a g e - ` - - c o n d i t i o n i n g _ d r o p o u t _ p r o b ` : t h e d r o p o u t p r o b a b i l i t y f o r t h e e d i t e d i m a g e a n d e d i t p r o m p t s d u r i n g t r a i n i n g w h i c h e n a b l e s c l a s s i f i e r - f r e e g u i d a n c e ( C F G ) f o r o n e o r b o t h c o n d i t i o n i n g i n p u t s # # T r a i n i n g s c r i p t T h e d a t a s e t p r e p r o c e s s i n g c o d e a n d t r a i n i n g l o o p a r e f o u n d i n t h e [ ` m a i n ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 4 6 0 3 3 8 9 d a 0 1 0 8 2 0 5 5 a 9 0 1 f 2 8 8 3 c 4 8 1 0 d 1 1 4 4 e d b / e x a m p l e s / i n s t r u c t _ p i x 2 p i x / t r a i n _ i n s t r u c t _ p i x 2 p i x . p y # L 3 7 4 ) f u n c t i o n . T h i s i s w h e r e y o u ' l l m a k e y o u r c h a n g e s t o t h e t r a i n i n g s c r i p t t o a d a p t i t f o r y o u r o w n u s e - c a s e . A s w i t h t h e s c r i p t p a r a m e t e r s , a w a l k t h r o u g h o f t h e t r a i n i n g s c r i p t i s p r o v i d e d i n t h e [ T e x t - t o - i m a g e ] ( t e x t 2 i m a g e # t r a i n i n g - s c r i p t ) t r a i n i n g g u i d e . I n s t e a d , t h i s g u i d e t a k e s a l o o k a t t h e I n s t r u c t P i x 2 P i x r e l e v a n t p a r t s o f t h e s c r i p t . T h e s c r i p t b e g i n s b y m o d i f y i n g t h e [ n u m b e r o f i n p u t c h a n n e l s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 4 6 0 3 3 8 9 d a 0 1 0 8 2 0 5 5 a 9 0 1 f 2 8 8 3 c 4 8 1 0 d 1 1 4 4 e d b / e x a m p l e s / i n s t r u c t _ p i x 2 p i x / t r a i n _ i n s t r u c t _ p i x 2 p i x . p y # L 4 4 5 ) i n t h e f i r s t c o n v o l u t i o n a l l a y e r o f t h e U N e t t o a c c o u n t f o r I n s t r u c t P i x 2 P i x ' s a d d i t i o n a l c o n d i t i o n i n g i m a g e : ` ` ` p y i n _ c h a n n e l s = 8 o u t _ c h a n n e l s = u n e t . c o n v _ i n . o u t _ c h a n n e l s u n e t . r e g i s t e r _ t o _ c o n f i g ( i n _ c h a n n e l s = i n _ c h a n n e l s ) w i t h t o r c h . n o _ g r a d ( ) : n e w _ c o n v _ i n = n n . C o n v 2 d ( i n _ c h a n n e l s , o u t _ c h a n n e l s , u n e t . c o n v _ i n . k e r n e l _ s i z e , u n e t . c o n v _ i n . s t r i d e , u n e t . c o n v _ i n . p a d d i n g ) n e w _ c o n v _ i n . w e i g h t . z e r o _ ( ) n e w _ c o n v _ i n . w e i g h t [ : , : 4 , : , : ] . c o p y _ ( u n e t . c o n v _ i n . w e i g h t ) u n e t . c o n v _ i n = n e w _ c o n v _ i n ` ` ` T h e s e U N e t p a r a m e t e r s a r e [ u p d a t e d ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 4 6 0 3 3 8 9 d a 0 1 0 8 2 0 5 5 a 9 0 1 f 2 8 8 3 c 4 8 1 0 d 1 1 4 4 e d b / e x a m p l e s / i n s t r u c t _ p i x 2 p i x / t r a i n _ i n s t r u c t _ p i x 2 p i x . p y # L 5 4 5 C 1 - L 5 5 1 C 6 ) b y t h e o p t i m i z e r : ` ` ` p y o p t i m i z e r = o p t i m i z e r _ c l s ( u n e t . p a r a m e t e r s ( ) , l r = a r g s . l e a r n i n g _ r a t e , b e t a s = ( a r g s . a d a m _ b e t a 1 , a r g s . a d a m _ b e t a 2 ) , w e i g h t _ d e c a y = a r g s . a d a m _ w e i g h t _ d e c a y , e p s = a r g s . a d a m _ e p s i l o n , ) ` ` ` N e x t , t h e e d i t e d i m a g e s a n d e d i t i n s t r u c t i o n s a r e [ p r e p r o c e s s e d ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 4 6 0 3 3 8 9 d a 0 1 0 8 2 0 5 5 a 9 0 1 f 2 8 8 3 c 4 8 1 0 d 1 1 4 4 e d b / e x a m p l e s / i n s t r u c t _ p i x 2 p i x / t r a i n _ i n s t r u c t _ p i x 2 p i x . p y # L 6 2 4 ) a n d [ t o k e n i z e d ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 4 6 0 3 3 8 9 d a 0 1 0 8 2 0 5 5 a 9 0 1 f 2 8 8 3 c 4 8 1 0 d 1 1 4 4 e d b / e x a m p l e s / i n s t r u c t _ p i x 2 p i x / t r a i n _ i n s t r u c t _ p i x 2 p i x . p y # L 6 1 0 C 2 4 - L 6 1 0 C 2 4 ) . I t i s i m p o r t a n t t h e s a m e i m a g e t r a n s f o r m a t i o n s a r e a p p l i e d t o t h e o r i g i n a l a n d e d i t e d i m a g e s . ` ` ` p y d e f p r e p r o c e s s _ t r a i n ( e x a m p l e s ) : p r e p r o c e s s e d _ i m a g e s = p r e p r o c e s s _ i m a g e s ( e x a m p l e s ) o r i g i n a l _ i m a g e s , e d i t e d _ i m a g e s = p r e p r o c e s s e d _ i m a g e s . c h u n k ( 2 ) o r i g i n a l _ i m a g e s = o r i g i n a l _ i m a g e s . r e s h a p e ( - 1 , 3 , a r g s . r e s o l u t i o n , a r g s . r e s o l u t i o n ) e d i t e d _ i m a g e s = e d i t e d _ i m a g e s . r e s h a p e ( - 1 , 3 , a r g s . r e s o l u t i o n , a r g s . r e s o l u t i o n ) e x a m p l e s [ " o r i g i n a l _ p i x e l _ v a l u e s " ] = o r i g i n a l _ i m a g e s e x a m p l e s [ " e d i t e d _ p i x e l _ v a l u e s " ] = e d i t e d _ i m a g e s c a p t i o n s = l i s t ( e x a m p l e s [ e d i t _ p r o m p t _ c o l u m n ] ) e x a m p l e s [ " i n p u t _ i d s " ] = t o k e n i z e _ c a p t i o n s ( c a p t i o n s ) r e t u r n e x a m p l e s ` ` ` F i n a l l y , i n t h e [ t r a i n i n g l o o p ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 4 6 0 3 3 8 9 d a 0 1 0 8 2 0 5 5 a 9 0 1 f 2 8 8 3 c 4 8 1 0 d 1 1 4 4 e d b / e x a m p l e s / i n s t r u c t _ p i x 2 p i x / t r a i n _ i n s t r u c t _ p i x 2 p i x . p y # L 7 3 0 ) , i t s t a r t s b y e n c o d i n g t h e e d i t e d i m a g e s i n t o l a t e n t s p a c e : ` ` ` p y l a t e n t s = v a e . e n c o d e ( b a t c h [ " e d i t e d _ p i x e l _ v a l u e s " ] . t o ( w e i g h t _ d t y p e ) ) . l a t e n t _ d i s t . s a m p l e ( ) l a t e n t s = l a t e n t s * v a e . c o n f i g . s c a l i n g _ f a c t o r ` ` ` T h e n , t h e s c r i p t a p p l i e s d r o p o u t t o t h e o r i g i n a l i m a g e a n d e d i t i n s t r u c t i o n e m b e d d i n g s t o s u p p o r t C F G . T h i s i s w h a t e n a b l e s t h e m o d e l t o m o d u l a t e t h e i n f l u e n c e o f t h e e d i t i n s t r u c t i o n a n d o r i g i n a l i m a g e o n t h e e d i t e d i m a g e . ` ` ` p y e n c o d e r _ h i d d e n _ s t a t e s = t e x t _ e n c o d e r ( b a t c h [ " i n p u t _ i d s " ] ) [ 0 ] o r i g i n a l _ i m a g e _ e m b e d s = v a e . e n c o d e ( b a t c h [ " o r i g i n a l _ p i x e l _ v a l u e s " ] . t o ( w e i g h t _ d t y p e ) ) . l a t e n t _ d i s t . m o d e ( ) i f a r g s . c o n d i t i o n i n g _ d r o p o u t _ p r o b i s n o t N o n e : r a n d o m _ p = t o r c h . r a n d ( b s z , d e v i c e = l a t e n t s . d e v i c e , g e n e r a t o r = g e n e r a t o r ) p r o m p t _ m a s k = r a n d o m _ p < 2 * a r g s . c o n d i t i o n i n g _ d r o p o u t _ p r o b p r o m p t _ m a s k = p r o m p t _ m a s k . r e s h a p e ( b s z , 1 , 1 ) n u l l _ c o n d i t i o n i n g = t e x t _ e n c o d e r ( t o k e n i z e _ c a p t i o n s ( [ " " ] ) . t o ( a c c e l e r a t o r . d e v i c e ) ) [ 0 ] e n c o d e r _ h i d d e n _ s t a t e s = t o r c h . w h e r e ( p r o m p t _ m a s k , n u l l _ c o n d i t i o n i n g , e n c o d e r _ h i d d e n _ s t a t e s ) i m a g e _ m a s k _ d t y p e = o r i g i n a l _ i m a g e _ e m b e d s . d t y p e i m a g e _ m a s k = 1 - ( ( r a n d o m _ p > = a r g s . c o n d i t i o n i n g _ d r o p o u t _ p r o b ) . t o ( i m a g e _ m a s k _ d t y p e ) * ( r a n d o m _ p < 3 * a r g s . c o n d i t i o n i n g _ d r o p o u t _ p r o b ) . t o ( i m a g e _ m a s k _ d t y p e ) ) i m a g e _ m a s k = i m a g e _ m a s k . r e s h a p e ( b s z , 1 , 1 , 1 ) o r i g i n a l _ i m a g e _ e m b e d s = i m a g e _ m a s k * o r i g i n a l _ i m a g e _ e m b e d s ` ` ` T h a t ' s p r e t t y m u c h i t ! A s i d e f r o m t h e d i f f e r e n c e s d e s c r i b e d h e r e , t h e r e s t o f t h e s c r i p t i s v e r y s i m i l a r t o t h e [ T e x t - t o - i m a g e ] ( t e x t 2 i m a g e # t r a i n i n g - s c r i p t ) t r a i n i n g s c r i p t , s o f e e l f r e e t o c h e c k i t o u t f o r m o r e d e t a i l s . I f y o u w a n t t o l e a r n m o r e a b o u t h o w t h e t r a i n i n g l o o p w o r k s , c h e c k o u t t h e [ U n d e r s t a n d i n g p i p e l i n e s , m o d e l s a n d s c h e d u l e r s ] ( . . / u s i n g - d i f f u s e r s / w r i t e _ o w n _ p i p e l i n e ) t u t o r i a l w h i c h b r e a k s d o w n t h e b a s i c p a t t e r n o f t h e d e n o i s i n g p r o c e s s . # # L a u n c h t h e s c r i p t O n c e y o u ' r e h a p p y w i t h t h e c h a n g e s t o y o u r s c r i p t o r i f y o u ' r e o k a y w i t h t h e d e f a u l t c o n f i g u r a t i o n , y o u ' r e r e a d y t o l a u n c h t h e t r a i n i n g s c r i p t ! ๐Ÿš€ T h i s g u i d e u s e s t h e [ f u s i n g / i n s t r u c t p i x 2 p i x - 1 0 0 0 - s a m p l e s ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / f u s i n g / i n s t r u c t p i x 2 p i x - 1 0 0 0 - s a m p l e s ) d a t a s e t , w h i c h i s a s m a l l e r v e r s i o n o f t h e [ o r i g i n a l d a t a s e t ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / t i m b r o o k s / i n s t r u c t p i x 2 p i x - c l i p - f i l t e r e d ) . Y o u c a n a l s o c r e a t e a n d u s e y o u r o w n d a t a s e t i f y o u ' d l i k e ( s e e t h e [ C r e a t e a d a t a s e t f o r t r a i n i n g ] ( c r e a t e _ d a t a s e t ) g u i d e ) . S e t t h e ` M O D E L _ N A M E ` e n v i r o n m e n t v a r i a b l e t o t h e n a m e o f t h e m o d e l ( c a n b e a m o d e l i d o n t h e H u b o r a p a t h t o a l o c a l m o d e l ) , a n d t h e ` D A T A S E T _ I D ` t o t h e n a m e o f t h e d a t a s e t o n t h e H u b . T h e s c r i p t c r e a t e s a n d s a v e s a l l t h e c o m p o n e n t s ( f e a t u r e e x t r a c t o r , s c h e d u l e r , t e x t e n c o d e r , U N e t , e t c . ) t o a s u b f o l d e r i n y o u r r e p o s i t o r y . < T i p > F o r b e t t e r r e s u l t s , t r y l o n g e r t r a i n i n g r u n s w i t h a l a r g e r d a t a s e t . W e ' v e o n l y t e s t e d t h i s t r a i n i n g s c r i p t o n a s m a l l e r - s c a l e d a t a s e t . < b r > T o m o n i t o r t r a i n i n g p r o g r e s s w i t h W e i g h t s a n d B i a s e s , a d d t h e ` - - r e p o r t _ t o = w a n d b ` p a r a m e t e r t o t h e t r a i n i n g c o m m a n d a n d s p e c i f y a v a l i d a t i o n i m a g e w i t h ` - - v a l _ i m a g e _ u r l ` a n d a v a l i d a t i o n p r o m p t w i t h ` - - v a l i d a t i o n _ p r o m p t ` . T h i s c a n b e r e a l l y u s e f u l f o r d e b u g g i n g t h e m o d e l . < / T i p > I f y o u โ€™ r e t r a i n i n g o n m o r e t h a n o n e G P U , a d d t h e ` - - m u l t i _ g p u ` p a r a m e t e r t o t h e ` a c c e l e r a t e l a u n c h ` c o m m a n d . ` ` ` b a s h a c c e l e r a t e l a u n c h - - m i x e d _ p r e c i s i o n = " f p 1 6 " t r a i n _ i n s t r u c t _ p i x 2 p i x . p y \ - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h = $ M O D E L _ N A M E \ - - d a t a s e t _ n a m e = $ D A T A S E T _ I D \ - - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n \ - - r e s o l u t i o n = 2 5 6 \ - - r a n d o m _ f l i p \ - - t r a i n _ b a t c h _ s i z e = 4 \ - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s = 4 \ - - g r a d i e n t _ c h e c k p o i n t i n g \ - - m a x _ t r a i n _ s t e p s = 1 5 0 0 0 \ - - c h e c k p o i n t i n g _ s t e p s = 5 0 0 0 \ - - c h e c k p o i n t s _ t o t a l _ l i m i t = 1 \ - - l e a r n i n g _ r a t e = 5 e - 0 5 \ - - m a x _ g r a d _ n o r m = 1 \ - - l r _ w a r m u p _ s t e p s = 0 \ - - c o n d i t i o n i n g _ d r o p o u t _ p r o b = 0 . 0 5 \ - - m i x e d _ p r e c i s i o n = f p 1 6 \ - - s e e d = 4 2 \ - - p u s h _ t o _ h u b ` ` ` A f t e r t r a i n i n g i s f i n i s h e d , y o u c a n u s e y o u r n e w I n s t r u c t P i x 2 P i x f o r i n f e r e n c e : ` ` ` p y i m p o r t P I L i m p o r t r e q u e s t s i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n I n s t r u c t P i x 2 P i x P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e p i p e l i n e = S t a b l e D i f f u s i o n I n s t r u c t P i x 2 P i x P i p e l i n e . f r o m _ p r e t r a i n e d ( " y o u r _ c o o l _ m o d e l " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( " c u d a " ) . m a n u a l _ s e e d ( 0 ) i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / s a y a k p a u l / s a m p l e - d a t a s e t s / r e s o l v e / m a i n / t e s t _ p i x 2 p i x _ 4 . p n g " ) p r o m p t = " a d d s o m e d u c k s t o t h e l a k e " n u m _ i n f e r e n c e _ s t e p s = 2 0 i m a g e _ g u i d a n c e _ s c a l e = 1 . 5 g u i d a n c e _ s c a l e = 1 0 e d i t e d _ i m a g e = p i p e l i n e ( p r o m p t , i m a g e = i m a g e , n u m _ i n f e r e n c e _ s t e p s = n u m _ i n f e r e n c e _ s t e p s , i m a g e _ g u i d a n c e _ s c a l e = i m a g e _ g u i d a n c e _ s c a l e , g u i d a n c e _ s c a l e = g u i d a n c e _ s c a l e , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s [ 0 ] e d i t e d _ i m a g e . s a v e ( " e d i t e d _ i m a g e . p n g " ) ` ` ` Y o u s h o u l d e x p e r i m e n t w i t h d i f f e r e n t ` n u m _ i n f e r e n c e _ s t e p s ` , ` i m a g e _ g u i d a n c e _ s c a l e ` , a n d ` g u i d a n c e _ s c a l e ` v a l u e s t o s e e h o w t h e y a f f e c t i n f e r e n c e s p e e d a n d q u a l i t y . T h e g u i d a n c e s c a l e p a r a m e t e r s a r e e s p e c i a l l y i m p a c t f u l b e c a u s e t h e y c o n t r o l h o w m u c h t h e o r i g i n a l i m a g e a n d e d i t i n s t r u c t i o n s a f f e c t t h e e d i t e d i m a g e . # # S t a b l e D i f f u s i o n X L S t a b l e D i f f u s i o n X L ( S D X L ) i s a p o w e r f u l t e x t - t o - i m a g e m o d e l t h a t g e n e r a t e s h i g h - r e s o l u t i o n i m a g e s , a n d i t a d d s a s e c o n d t e x t - e n c o d e r t o i t s a r c h i t e c t u r e . U s e t h e [ ` t r a i n _ i n s t r u c t _ p i x 2 p i x _ s d x l . p y ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / i n s t r u c t _ p i x 2 p i x / t r a i n _ i n s t r u c t _ p i x 2 p i x _ s d x l . p y ) s c r i p t t o t r a i n a S D X L m o d e l t o f o l l o w i m a g e e d i t i n g i n s t r u c t i o n s . T h e S D X L t r a i n i n g s c r i p t i s d i s c u s s e d i n m o r e d e t a i l i n t h e [ S D X L t r a i n i n g ] ( s d x l ) g u i d e . # # N e x t s t e p s C o n g r a t u l a t i o n s o n t r a i n i n g y o u r o w n I n s t r u c t P i x 2 P i x m o d e l ! ๐Ÿฅณ T o l e a r n m o r e a b o u t t h e m o d e l , i t m a y b e h e l p f u l t o : - R e a d t h e [ I n s t r u c t i o n - t u n i n g S t a b l e D i f f u s i o n w i t h I n s t r u c t P i x 2 P i x ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / i n s t r u c t i o n - t u n i n g - s d ) b l o g p o s t t o l e a r n m o r e a b o u t s o m e e x p e r i m e n t s w e ' v e d o n e w i t h I n s t r u c t P i x 2 P i x , d a t a s e t p r e p a r a t i o n , a n d r e s u l t s f o r d i f f e r e n t i n s t r u c t i o n s . # K a n d i n s k y 2 . 2 < T i p w a r n i n g = { t r u e } > T h i s s c r i p t i s e x p e r i m e n t a l , a n d i t ' s e a s y t o o v e r f i t a n d r u n i n t o i s s u e s l i k e c a t a s t r o p h i c f o r g e t t i n g . T r y e x p l o r i n g d i f f e r e n t h y p e r p a r a m e t e r s t o g e t t h e b e s t r e s u l t s o n y o u r d a t a s e t . < / T i p > K a n d i n s k y 2 . 2 i s a m u l t i l i n g u a l t e x t - t o - i m a g e m o d e l c a p a b l e o f p r o d u c i n g m o r e p h o t o r e a l i s t i c i m a g e s . T h e m o d e l i n c l u d e s a n i m a g e p r i o r m o d e l f o r c r e a t i n g i m a g e e m b e d d i n g s f r o m t e x t p r o m p t s , a n d a d e c o d e r m o d e l t h a t g e n e r a t e s i m a g e s b a s e d o n t h e p r i o r m o d e l ' s e m b e d d i n g s . T h a t ' s w h y y o u ' l l f i n d t w o s e p a r a t e s c r i p t s i n D i f f u s e r s f o r K a n d i n s k y 2 . 2 , o n e f o r t r a i n i n g t h e p r i o r m o d e l a n d o n e f o r t r a i n i n g t h e d e c o d e r m o d e l . Y o u c a n t r a i n b o t h m o d e l s s e p a r a t e l y , b u t t o g e t t h e b e s t r e s u l t s , y o u s h o u l d t r a i n b o t h t h e p r i o r a n d d e c o d e r m o d e l s . D e p e n d i n g o n y o u r G P U , y o u m a y n e e d t o e n a b l e ` g r a d i e n t _ c h e c k p o i n t i n g ` ( โš  ๏ธ n o t s u p p o r t e d f o r t h e p r i o r m o d e l ! ) , ` m i x e d _ p r e c i s i o n ` , a n d ` g r a d i e n t _ a c c u m u l a t i o n _ s t e p s ` t o h e l p f i t t h e m o d e l i n t o m e m o r y a n d t o s p e e d u p t r a i n i n g . Y o u c a n r e d u c e y o u r m e m o r y - u s a g e e v e n m o r e b y e n a b l i n g m e m o r y - e f f i c i e n t a t t e n t i o n w i t h [ x F o r m e r s ] ( . . / o p t i m i z a t i o n / x f o r m e r s ) ( v e r s i o n [ v 0 . 0 . 1 6 ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / 2 2 3 4 # i s s u e c o m m e n t - 1 4 1 6 9 3 1 2 1 2 ) f a i l s f o r t r a i n i n g o n s o m e G P U s s o y o u m a y n e e d t o i n s t a l l a d e v e l o p m e n t v e r s i o n i n s t e a d ) . T h i s g u i d e e x p l o r e s t h e [ t r a i n _ t e x t _ t o _ i m a g e _ p r i o r . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / k a n d i n s k y 2 _ 2 / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ p r i o r . p y ) a n d t h e [ t r a i n _ t e x t _ t o _ i m a g e _ d e c o d e r . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / k a n d i n s k y 2 _ 2 / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ d e c o d e r . p y ) s c r i p t s t o h e l p y o u b e c o m e m o r e f a m i l i a r w i t h i t , a n d h o w y o u c a n a d a p t i t f o r y o u r o w n u s e - c a s e . B e f o r e r u n n i n g t h e s c r i p t s , m a k e s u r e y o u i n s t a l l t h e l i b r a r y f r o m s o u r c e : ` ` ` b a s h g i t c l o n e h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s c d d i f f u s e r s p i p i n s t a l l . ` ` ` T h e n n a v i g a t e t o t h e e x a m p l e f o l d e r c o n t a i n i n g t h e t r a i n i n g s c r i p t a n d i n s t a l l t h e r e q u i r e d d e p e n d e n c i e s f o r t h e s c r i p t y o u ' r e u s i n g : ` ` ` b a s h c d e x a m p l e s / k a n d i n s k y 2 _ 2 / t e x t _ t o _ i m a g e p i p i n s t a l l - r r e q u i r e m e n t s . t x t ` ` ` < T i p > ๐Ÿค— A c c e l e r a t e i s a l i b r a r y f o r h e l p i n g y o u t r a i n o n m u l t i p l e G P U s / T P U s o r w i t h m i x e d - p r e c i s i o n . I t ' l l a u t o m a t i c a l l y c o n f i g u r e y o u r t r a i n i n g s e t u p b a s e d o n y o u r h a r d w a r e a n d e n v i r o n m e n t . T a k e a l o o k a t t h e ๐Ÿค— A c c e l e r a t e [ Q u i c k t o u r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / q u i c k t o u r ) t o l e a r n m o r e . < / T i p > I n i t i a l i z e a n ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t : ` ` ` b a s h a c c e l e r a t e c o n f i g ` ` ` T o s e t u p a d e f a u l t ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t w i t h o u t c h o o s i n g a n y c o n f i g u r a t i o n s : ` ` ` b a s h a c c e l e r a t e c o n f i g d e f a u l t ` ` ` O r i f y o u r e n v i r o n m e n t d o e s n ' t s u p p o r t a n i n t e r a c t i v e s h e l l , l i k e a n o t e b o o k , y o u c a n u s e : ` ` ` p y f r o m a c c e l e r a t e . u t i l s i m p o r t w r i t e _ b a s i c _ c o n f i g w r i t e _ b a s i c _ c o n f i g ( ) ` ` ` L a s t l y , i f y o u w a n t t o t r a i n a m o d e l o n y o u r o w n d a t a s e t , t a k e a l o o k a t t h e [ C r e a t e a d a t a s e t f o r t r a i n i n g ] ( c r e a t e _ d a t a s e t ) g u i d e t o l e a r n h o w t o c r e a t e a d a t a s e t t h a t w o r k s w i t h t h e t r a i n i n g s c r i p t . < T i p > T h e f o l l o w i n g s e c t i o n s h i g h l i g h t p a r t s o f t h e t r a i n i n g s c r i p t s t h a t a r e i m p o r t a n t f o r u n d e r s t a n d i n g h o w t o m o d i f y i t , b u t i t d o e s n ' t c o v e r e v e r y a s p e c t o f t h e s c r i p t s i n d e t a i l . I f y o u ' r e i n t e r e s t e d i n l e a r n i n g m o r e , f e e l f r e e t o r e a d t h r o u g h t h e s c r i p t s a n d l e t u s k n o w i f y o u h a v e a n y q u e s t i o n s o r c o n c e r n s . < / T i p > # # S c r i p t p a r a m e t e r s T h e t r a i n i n g s c r i p t s p r o v i d e s m a n y p a r a m e t e r s t o h e l p y o u c u s t o m i z e y o u r t r a i n i n g r u n . A l l o f t h e p a r a m e t e r s a n d t h e i r d e s c r i p t i o n s a r e f o u n d i n t h e [ ` p a r s e _ a r g s ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 e 6 8 c 7 1 5 0 3 6 8 2 c 8 6 9 3 c b 5 b 0 6 a 4 d a 4 9 1 1 d f d 6 5 5 e e / e x a m p l e s / k a n d i n s k y 2 _ 2 / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ p r i o r . p y # L 1 9 0 ) f u n c t i o n . T h e t r a i n i n g s c r i p t s p r o v i d e s d e f a u l t v a l u e s f o r e a c h p a r a m e t e r , s u c h a s t h e t r a i n i n g b a t c h s i z e a n d l e a r n i n g r a t e , b u t y o u c a n a l s o s e t y o u r o w n v a l u e s i n t h e t r a i n i n g c o m m a n d i f y o u ' d l i k e . F o r e x a m p l e , t o s p e e d u p t r a i n i n g w i t h m i x e d p r e c i s i o n u s i n g t h e f p 1 6 f o r m a t , a d d t h e ` - - m i x e d _ p r e c i s i o n ` p a r a m e t e r t o t h e t r a i n i n g c o m m a n d : ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ t e x t _ t o _ i m a g e _ p r i o r . p y \ - - m i x e d _ p r e c i s i o n = " f p 1 6 " ` ` ` M o s t o f t h e p a r a m e t e r s a r e i d e n t i c a l t o t h e p a r a m e t e r s i n t h e [ T e x t - t o - i m a g e ] ( t e x t 2 i m a g e # s c r i p t - p a r a m e t e r s ) t r a i n i n g g u i d e , s o l e t ' s g e t s t r a i g h t t o a w a l k t h r o u g h o f t h e K a n d i n s k y t r a i n i n g s c r i p t s ! # # # M i n - S N R w e i g h t i n g T h e [ M i n - S N R ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 3 . 0 9 5 5 6 ) w e i g h t i n g s t r a t e g y c a n h e l p w i t h t r a i n i n g b y r e b a l a n c i n g t h e l o s s t o a c h i e v e f a s t e r c o n v e r g e n c e . T h e t r a i n i n g s c r i p t s u p p o r t s p r e d i c t i n g ` e p s i l o n ` ( n o i s e ) o r ` v _ p r e d i c t i o n ` , b u t M i n - S N R i s c o m p a t i b l e w i t h b o t h p r e d i c t i o n t y p e s . T h i s w e i g h t i n g s t r a t e g y i s o n l y s u p p o r t e d b y P y T o r c h a n d i s u n a v a i l a b l e i n t h e F l a x t r a i n i n g s c r i p t . A d d t h e ` - - s n r _ g a m m a ` p a r a m e t e r a n d s e t i t t o t h e r e c o m m e n d e d v a l u e o f 5 . 0 : ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ t e x t _ t o _ i m a g e _ p r i o r . p y \ - - s n r _ g a m m a = 5 . 0 ` ` ` # # T r a i n i n g s c r i p t T h e t r a i n i n g s c r i p t i s a l s o s i m i l a r t o t h e [ T e x t - t o - i m a g e ] ( t e x t 2 i m a g e # t r a i n i n g - s c r i p t ) t r a i n i n g g u i d e , b u t i t ' s b e e n m o d i f i e d t o s u p p o r t t r a i n i n g t h e p r i o r a n d d e c o d e r m o d e l s . T h i s g u i d e f o c u s e s o n t h e c o d e t h a t i s u n i q u e t o t h e K a n d i n s k y 2 . 2 t r a i n i n g s c r i p t s . < h f o p t i o n s i d = " s c r i p t " > < h f o p t i o n i d = " p r i o r m o d e l " > T h e [ ` m a i n ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 e 6 8 c 7 1 5 0 3 6 8 2 c 8 6 9 3 c b 5 b 0 6 a 4 d a 4 9 1 1 d f d 6 5 5 e e / e x a m p l e s / k a n d i n s k y 2 _ 2 / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ p r i o r . p y # L 4 4 1 ) f u n c t i o n c o n t a i n s t h e c o d e f o r p r e p a r i n g t h e d a t a s e t a n d t r a i n i n g t h e m o d e l . O n e o f t h e m a i n d i f f e r e n c e s y o u ' l l n o t i c e r i g h t a w a y i s t h a t t h e t r a i n i n g s c r i p t a l s o l o a d s a [ C L I P I m a g e P r o c e s s o r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / e n / m o d e l _ d o c / c l i p # t r a n s f o r m e r s . C L I P I m a g e P r o c e s s o r ) - i n a d d i t i o n t o a s c h e d u l e r a n d t o k e n i z e r - f o r p r e p r o c e s s i n g i m a g e s a n d a [ C L I P V i s i o n M o d e l W i t h P r o j e c t i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / e n / m o d e l _ d o c / c l i p # t r a n s f o r m e r s . C L I P V i s i o n M o d e l W i t h P r o j e c t i o n ) m o d e l f o r e n c o d i n g t h e i m a g e s : ` ` ` p y n o i s e _ s c h e d u l e r = D D P M S c h e d u l e r ( b e t a _ s c h e d u l e = " s q u a r e d c o s _ c a p _ v 2 " , p r e d i c t i o n _ t y p e = " s a m p l e " ) i m a g e _ p r o c e s s o r = C L I P I m a g e P r o c e s s o r . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ p r i o r _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " i m a g e _ p r o c e s s o r " ) t o k e n i z e r = C L I P T o k e n i z e r . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ p r i o r _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " t o k e n i z e r " ) w i t h C o n t e x t M a n a g e r s ( d e e p s p e e d _ z e r o _ i n i t _ d i s a b l e d _ c o n t e x t _ m a n a g e r ( ) ) : i m a g e _ e n c o d e r = C L I P V i s i o n M o d e l W i t h P r o j e c t i o n . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ p r i o r _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " i m a g e _ e n c o d e r " , t o r c h _ d t y p e = w e i g h t _ d t y p e ) . e v a l ( ) t e x t _ e n c o d e r = C L I P T e x t M o d e l W i t h P r o j e c t i o n . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ p r i o r _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " t e x t _ e n c o d e r " , t o r c h _ d t y p e = w e i g h t _ d t y p e ) . e v a l ( ) ` ` ` K a n d i n s k y u s e s a ` P r i o r T r a n s f o r m e r ` t o g e n e r a t e t h e i m a g e e m b e d d i n g s , s o y o u ' l l w a n t t o s e t u p t h e o p t i m i z e r t o l e a r n t h e p r i o r m o d e ' s p a r a m e t e r s . ` ` ` p y p r i o r = P r i o r T r a n s f o r m e r . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ p r i o r _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " p r i o r " ) p r i o r . t r a i n ( ) o p t i m i z e r = o p t i m i z e r _ c l s ( p r i o r . p a r a m e t e r s ( ) , l r = a r g s . l e a r n i n g _ r a t e , b e t a s = ( a r g s . a d a m _ b e t a 1 , a r g s . a d a m _ b e t a 2 ) , w e i g h t _ d e c a y = a r g s . a d a m _ w e i g h t _ d e c a y , e p s = a r g s . a d a m _ e p s i l o n , ) ` ` ` N e x t , t h e i n p u t c a p t i o n s a r e t o k e n i z e d , a n d i m a g e s a r e [ p r e p r o c e s s e d ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 e 6 8 c 7 1 5 0 3 6 8 2 c 8 6 9 3 c b 5 b 0 6 a 4 d a 4 9 1 1 d f d 6 5 5 e e / e x a m p l e s / k a n d i n s k y 2 _ 2 / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ p r i o r . p y # L 6 3 2 ) b y t h e [ C L I P I m a g e P r o c e s s o r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / e n / m o d e l _ d o c / c l i p # t r a n s f o r m e r s . C L I P I m a g e P r o c e s s o r ) : ` ` ` p y d e f p r e p r o c e s s _ t r a i n ( e x a m p l e s ) : i m a g e s = [ i m a g e . c o n v e r t ( " R G B " ) f o r i m a g e i n e x a m p l e s [ i m a g e _ c o l u m n ] ] e x a m p l e s [ " c l i p _ p i x e l _ v a l u e s " ] = i m a g e _ p r o c e s s o r ( i m a g e s , r e t u r n _ t e n s o r s = " p t " ) . p i x e l _ v a l u e s e x a m p l e s [ " t e x t _ i n p u t _ i d s " ] , e x a m p l e s [ " t e x t _ m a s k " ] = t o k e n i z e _ c a p t i o n s ( e x a m p l e s ) r e t u r n e x a m p l e s ` ` ` F i n a l l y , t h e [ t r a i n i n g l o o p ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 e 6 8 c 7 1 5 0 3 6 8 2 c 8 6 9 3 c b 5 b 0 6 a 4 d a 4 9 1 1 d f d 6 5 5 e e / e x a m p l e s / k a n d i n s k y 2 _ 2 / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ p r i o r . p y # L 7 1 8 ) c o n v e r t s t h e i n p u t i m a g e s i n t o l a t e n t s , a d d s n o i s e t o t h e i m a g e e m b e d d i n g s , a n d m a k e s a p r e d i c t i o n : ` ` ` p y m o d e l _ p r e d = p r i o r ( n o i s y _ l a t e n t s , t i m e s t e p = t i m e s t e p s , p r o j _ e m b e d d i n g = p r o m p t _ e m b e d s , e n c o d e r _ h i d d e n _ s t a t e s = t e x t _ e n c o d e r _ h i d d e n _ s t a t e s , a t t e n t i o n _ m a s k = t e x t _ m a s k , ) . p r e d i c t e d _ i m a g e _ e m b e d d i n g ` ` ` I f y o u w a n t t o l e a r n m o r e a b o u t h o w t h e t r a i n i n g l o o p w o r k s , c h e c k o u t t h e [ U n d e r s t a n d i n g p i p e l i n e s , m o d e l s a n d s c h e d u l e r s ] ( . . / u s i n g - d i f f u s e r s / w r i t e _ o w n _ p i p e l i n e ) t u t o r i a l w h i c h b r e a k s d o w n t h e b a s i c p a t t e r n o f t h e d e n o i s i n g p r o c e s s . < / h f o p t i o n > < h f o p t i o n i d = " d e c o d e r m o d e l " > T h e [ ` m a i n ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 e 6 8 c 7 1 5 0 3 6 8 2 c 8 6 9 3 c b 5 b 0 6 a 4 d a 4 9 1 1 d f d 6 5 5 e e / e x a m p l e s / k a n d i n s k y 2 _ 2 / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ d e c o d e r . p y # L 4 4 0 ) f u n c t i o n c o n t a i n s t h e c o d e f o r p r e p a r i n g t h e d a t a s e t a n d t r a i n i n g t h e m o d e l . U n l i k e t h e p r i o r m o d e l , t h e d e c o d e r i n i t i a l i z e s a ` V Q M o d e l ` t o d e c o d e t h e l a t e n t s i n t o i m a g e s a n d i t u s e s a ` U N e t 2 D C o n d i t i o n M o d e l ` : ` ` ` p y w i t h C o n t e x t M a n a g e r s ( d e e p s p e e d _ z e r o _ i n i t _ d i s a b l e d _ c o n t e x t _ m a n a g e r ( ) ) : v a e = V Q M o d e l . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ d e c o d e r _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " m o v q " , t o r c h _ d t y p e = w e i g h t _ d t y p e ) . e v a l ( ) i m a g e _ e n c o d e r = C L I P V i s i o n M o d e l W i t h P r o j e c t i o n . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ p r i o r _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " i m a g e _ e n c o d e r " , t o r c h _ d t y p e = w e i g h t _ d t y p e ) . e v a l ( ) u n e t = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ d e c o d e r _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " u n e t " ) ` ` ` N e x t , t h e s c r i p t i n c l u d e s s e v e r a l i m a g e t r a n s f o r m s a n d a [ p r e p r o c e s s i n g ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 e 6 8 c 7 1 5 0 3 6 8 2 c 8 6 9 3 c b 5 b 0 6 a 4 d a 4 9 1 1 d f d 6 5 5 e e / e x a m p l e s / k a n d i n s k y 2 _ 2 / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ d e c o d e r . p y # L 6 2 2 ) f u n c t i o n f o r a p p l y i n g t h e t r a n s f o r m s t o t h e i m a g e s a n d r e t u r n i n g t h e p i x e l v a l u e s : ` ` ` p y d e f p r e p r o c e s s _ t r a i n ( e x a m p l e s ) : i m a g e s = [ i m a g e . c o n v e r t ( " R G B " ) f o r i m a g e i n e x a m p l e s [ i m a g e _ c o l u m n ] ] e x a m p l e s [ " p i x e l _ v a l u e s " ] = [ t r a i n _ t r a n s f o r m s ( i m a g e ) f o r i m a g e i n i m a g e s ] e x a m p l e s [ " c l i p _ p i x e l _ v a l u e s " ] = i m a g e _ p r o c e s s o r ( i m a g e s , r e t u r n _ t e n s o r s = " p t " ) . p i x e l _ v a l u e s r e t u r n e x a m p l e s ` ` ` L a s t l y , t h e [ t r a i n i n g l o o p ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 e 6 8 c 7 1 5 0 3 6 8 2 c 8 6 9 3 c b 5 b 0 6 a 4 d a 4 9 1 1 d f d 6 5 5 e e / e x a m p l e s / k a n d i n s k y 2 _ 2 / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ d e c o d e r . p y # L 7 0 6 ) h a n d l e s c o n v e r t i n g t h e i m a g e s t o l a t e n t s , a d d i n g n o i s e , a n d p r e d i c t i n g t h e n o i s e r e s i d u a l . I f y o u w a n t t o l e a r n m o r e a b o u t h o w t h e t r a i n i n g l o o p w o r k s , c h e c k o u t t h e [ U n d e r s t a n d i n g p i p e l i n e s , m o d e l s a n d s c h e d u l e r s ] ( . . / u s i n g - d i f f u s e r s / w r i t e _ o w n _ p i p e l i n e ) t u t o r i a l w h i c h b r e a k s d o w n t h e b a s i c p a t t e r n o f t h e d e n o i s i n g p r o c e s s . ` ` ` p y m o d e l _ p r e d = u n e t ( n o i s y _ l a t e n t s , t i m e s t e p s , N o n e , a d d e d _ c o n d _ k w a r g s = a d d e d _ c o n d _ k w a r g s ) . s a m p l e [ : , : 4 ] ` ` ` < / h f o p t i o n > < / h f o p t i o n s > # # L a u n c h t h e s c r i p t O n c e y o u โ€™ v e m a d e a l l y o u r c h a n g e s o r y o u โ€™ r e o k a y w i t h t h e d e f a u l t c o n f i g u r a t i o n , y o u โ€™ r e r e a d y t o l a u n c h t h e t r a i n i n g s c r i p t ! ๐Ÿš€ Y o u ' l l t r a i n o n t h e [ N a r u t o B L I P c a p t i o n s ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / l a m b d a l a b s / n a r u t o - b l i p - c a p t i o n s ) d a t a s e t t o g e n e r a t e y o u r o w n N a r u t o c h a r a c t e r s , b u t y o u c a n a l s o c r e a t e a n d t r a i n o n y o u r o w n d a t a s e t b y f o l l o w i n g t h e [ C r e a t e a d a t a s e t f o r t r a i n i n g ] ( c r e a t e _ d a t a s e t ) g u i d e . S e t t h e e n v i r o n m e n t v a r i a b l e ` D A T A S E T _ N A M E ` t o t h e n a m e o f t h e d a t a s e t o n t h e H u b o r i f y o u ' r e t r a i n i n g o n y o u r o w n f i l e s , s e t t h e e n v i r o n m e n t v a r i a b l e ` T R A I N _ D I R ` t o a p a t h t o y o u r d a t a s e t . I f y o u โ€™ r e t r a i n i n g o n m o r e t h a n o n e G P U , a d d t h e ` - - m u l t i _ g p u ` p a r a m e t e r t o t h e ` a c c e l e r a t e l a u n c h ` c o m m a n d . < T i p > T o m o n i t o r t r a i n i n g p r o g r e s s w i t h W e i g h t s & B i a s e s , a d d t h e ` - - r e p o r t _ t o = w a n d b ` p a r a m e t e r t o t h e t r a i n i n g c o m m a n d . Y o u โ€™ l l a l s o n e e d t o a d d t h e ` - - v a l i d a t i o n _ p r o m p t ` t o t h e t r a i n i n g c o m m a n d t o k e e p t r a c k o f r e s u l t s . T h i s c a n b e r e a l l y u s e f u l f o r d e b u g g i n g t h e m o d e l a n d v i e w i n g i n t e r m e d i a t e r e s u l t s . < / T i p > < h f o p t i o n s i d = " t r a i n i n g - i n f e r e n c e " > < h f o p t i o n i d = " p r i o r m o d e l " > ` ` ` b a s h e x p o r t D A T A S E T _ N A M E = " l a m b d a l a b s / n a r u t o - b l i p - c a p t i o n s " a c c e l e r a t e l a u n c h - - m i x e d _ p r e c i s i o n = " f p 1 6 " t r a i n _ t e x t _ t o _ i m a g e _ p r i o r . p y \ - - d a t a s e t _ n a m e = $ D A T A S E T _ N A M E \ - - r e s o l u t i o n = 7 6 8 \ - - t r a i n _ b a t c h _ s i z e = 1 \ - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s = 4 \ - - m a x _ t r a i n _ s t e p s = 1 5 0 0 0 \ - - l e a r n i n g _ r a t e = 1 e - 0 5 \ - - m a x _ g r a d _ n o r m = 1 \ - - c h e c k p o i n t s _ t o t a l _ l i m i t = 3 \ - - l r _ s c h e d u l e r = " c o n s t a n t " \ - - l r _ w a r m u p _ s t e p s = 0 \ - - v a l i d a t i o n _ p r o m p t s = " A r o b o t n a r u t o , 4 k p h o t o " \ - - r e p o r t _ t o = " w a n d b " \ - - p u s h _ t o _ h u b \ - - o u t p u t _ d i r = " k a n d i 2 - p r i o r - n a r u t o - m o d e l " ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " d e c o d e r m o d e l " > ` ` ` b a s h e x p o r t D A T A S E T _ N A M E = " l a m b d a l a b s / n a r u t o - b l i p - c a p t i o n s " a c c e l e r a t e l a u n c h - - m i x e d _ p r e c i s i o n = " f p 1 6 " t r a i n _ t e x t _ t o _ i m a g e _ d e c o d e r . p y \ - - d a t a s e t _ n a m e = $ D A T A S E T _ N A M E \ - - r e s o l u t i o n = 7 6 8 \ - - t r a i n _ b a t c h _ s i z e = 1 \ - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s = 4 \ - - g r a d i e n t _ c h e c k p o i n t i n g \ - - m a x _ t r a i n _ s t e p s = 1 5 0 0 0 \ - - l e a r n i n g _ r a t e = 1 e - 0 5 \ - - m a x _ g r a d _ n o r m = 1 \ - - c h e c k p o i n t s _ t o t a l _ l i m i t = 3 \ - - l r _ s c h e d u l e r = " c o n s t a n t " \ - - l r _ w a r m u p _ s t e p s = 0 \ - - v a l i d a t i o n _ p r o m p t s = " A r o b o t n a r u t o , 4 k p h o t o " \ - - r e p o r t _ t o = " w a n d b " \ - - p u s h _ t o _ h u b \ - - o u t p u t _ d i r = " k a n d i 2 - d e c o d e r - n a r u t o - m o d e l " ` ` ` < / h f o p t i o n > < / h f o p t i o n s > O n c e t r a i n i n g i s f i n i s h e d , y o u c a n u s e y o u r n e w l y t r a i n e d m o d e l f o r i n f e r e n c e ! < h f o p t i o n s i d = " t r a i n i n g - i n f e r e n c e " > < h f o p t i o n i d = " p r i o r m o d e l " > ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e , D i f f u s i o n P i p e l i n e i m p o r t t o r c h p r i o r _ p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( o u t p u t _ d i r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p r i o r _ c o m p o n e n t s = { " p r i o r _ " + k : v f o r k , v i n p r i o r _ p i p e l i n e . c o m p o n e n t s . i t e m s ( ) } p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - d e c o d e r " , * * p r i o r _ c o m p o n e n t s , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p r o m p t = " A r o b o t n a r u t o , 4 k p h o t o " i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t ) . i m a g e s [ 0 ] ` ` ` < T i p > F e e l f r e e t o r e p l a c e ` k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - d e c o d e r ` w i t h y o u r o w n t r a i n e d d e c o d e r c h e c k p o i n t ! < / T i p > < / h f o p t i o n > < h f o p t i o n i d = " d e c o d e r m o d e l " > ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " p a t h / t o / s a v e d / m o d e l " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p r o m p t = " A r o b o t n a r u t o , 4 k p h o t o " i m a g e = p i p e l i n e ( p r o m p t = p r o m p t ) . i m a g e s [ 0 ] ` ` ` F o r t h e d e c o d e r m o d e l , y o u c a n a l s o p e r f o r m i n f e r e n c e f r o m a s a v e d c h e c k p o i n t w h i c h c a n b e u s e f u l f o r v i e w i n g i n t e r m e d i a t e r e s u l t s . I n t h i s c a s e , l o a d t h e c h e c k p o i n t i n t o t h e U N e t : ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e , U N e t 2 D C o n d i t i o n M o d e l u n e t = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( " p a t h / t o / s a v e d / m o d e l " + " / c h e c k p o i n t - < N > / u n e t " ) p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - d e c o d e r " , u n e t = u n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) i m a g e = p i p e l i n e ( p r o m p t = " A r o b o t n a r u t o , 4 k p h o t o " ) . i m a g e s [ 0 ] ` ` ` < / h f o p t i o n > < / h f o p t i o n s > # # N e x t s t e p s C o n g r a t u l a t i o n s o n t r a i n i n g a K a n d i n s k y 2 . 2 m o d e l ! T o l e a r n m o r e a b o u t h o w t o u s e y o u r n e w m o d e l , t h e f o l l o w i n g g u i d e s m a y b e h e l p f u l : - R e a d t h e [ K a n d i n s k y ] ( . . / u s i n g - d i f f u s e r s / k a n d i n s k y ) g u i d e t o l e a r n h o w t o u s e i t f o r a v a r i e t y o f d i f f e r e n t t a s k s ( t e x t - t o - i m a g e , i m a g e - t o - i m a g e , i n p a i n t i n g , i n t e r p o l a t i o n ) , a n d h o w i t c a n b e c o m b i n e d w i t h a C o n t r o l N e t . - C h e c k o u t t h e [ D r e a m B o o t h ] ( d r e a m b o o t h ) a n d [ L o R A ] ( l o r a ) t r a i n i n g g u i d e s t o l e a r n h o w t o t r a i n a p e r s o n a l i z e d K a n d i n s k y m o d e l w i t h j u s t a f e w e x a m p l e i m a g e s . T h e s e t w o t r a i n i n g t e c h n i q u e s c a n e v e n b e c o m b i n e d ! # T e x t u a l I n v e r s i o n [ T e x t u a l I n v e r s i o n ] ( h t t p s : / / h f . c o / p a p e r s / 2 2 0 8 . 0 1 6 1 8 ) i s a t r a i n i n g t e c h n i q u e f o r p e r s o n a l i z i n g i m a g e g e n e r a t i o n m o d e l s w i t h j u s t a f e w e x a m p l e i m a g e s o f w h a t y o u w a n t i t t o l e a r n . T h i s t e c h n i q u e w o r k s b y l e a r n i n g a n d u p d a t i n g t h e t e x t e m b e d d i n g s ( t h e n e w e m b e d d i n g s a r e t i e d t o a s p e c i a l w o r d y o u m u s t u s e i n t h e p r o m p t ) t o m a t c h t h e e x a m p l e i m a g e s y o u p r o v i d e . I f y o u ' r e t r a i n i n g o n a G P U w i t h l i m i t e d v R A M , y o u s h o u l d t r y e n a b l i n g t h e ` g r a d i e n t _ c h e c k p o i n t i n g ` a n d ` m i x e d _ p r e c i s i o n ` p a r a m e t e r s i n t h e t r a i n i n g c o m m a n d . Y o u c a n a l s o r e d u c e y o u r m e m o r y f o o t p r i n t b y u s i n g m e m o r y - e f f i c i e n t a t t e n t i o n w i t h [ x F o r m e r s ] ( . . / o p t i m i z a t i o n / x f o r m e r s ) . J A X / F l a x t r a i n i n g i s a l s o s u p p o r t e d f o r e f f i c i e n t t r a i n i n g o n T P U s a n d G P U s , b u t i t d o e s n ' t s u p p o r t g r a d i e n t c h e c k p o i n t i n g o r x F o r m e r s . W i t h t h e s a m e c o n f i g u r a t i o n a n d s e t u p a s P y T o r c h , t h e F l a x t r a i n i n g s c r i p t s h o u l d b e a t l e a s t ~ 7 0 % f a s t e r ! T h i s g u i d e w i l l e x p l o r e t h e [ t e x t u a l _ i n v e r s i o n . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / t e x t u a l _ i n v e r s i o n / t e x t u a l _ i n v e r s i o n . p y ) s c r i p t t o h e l p y o u b e c o m e m o r e f a m i l i a r w i t h i t , a n d h o w y o u c a n a d a p t i t f o r y o u r o w n u s e - c a s e . B e f o r e r u n n i n g t h e s c r i p t , m a k e s u r e y o u i n s t a l l t h e l i b r a r y f r o m s o u r c e : ` ` ` b a s h g i t c l o n e h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s c d d i f f u s e r s p i p i n s t a l l . ` ` ` N a v i g a t e t o t h e e x a m p l e f o l d e r w i t h t h e t r a i n i n g s c r i p t a n d i n s t a l l t h e r e q u i r e d d e p e n d e n c i e s f o r t h e s c r i p t y o u ' r e u s i n g : < h f o p t i o n s i d = " i n s t a l l a t i o n " > < h f o p t i o n i d = " P y T o r c h " > ` ` ` b a s h c d e x a m p l e s / t e x t u a l _ i n v e r s i o n p i p i n s t a l l - r r e q u i r e m e n t s . t x t ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " F l a x " > ` ` ` b a s h c d e x a m p l e s / t e x t u a l _ i n v e r s i o n p i p i n s t a l l - r r e q u i r e m e n t s _ f l a x . t x t ` ` ` < / h f o p t i o n > < / h f o p t i o n s > < T i p > ๐Ÿค— A c c e l e r a t e i s a l i b r a r y f o r h e l p i n g y o u t r a i n o n m u l t i p l e G P U s / T P U s o r w i t h m i x e d - p r e c i s i o n . I t ' l l a u t o m a t i c a l l y c o n f i g u r e y o u r t r a i n i n g s e t u p b a s e d o n y o u r h a r d w a r e a n d e n v i r o n m e n t . T a k e a l o o k a t t h e ๐Ÿค— A c c e l e r a t e [ Q u i c k t o u r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / q u i c k t o u r ) t o l e a r n m o r e . < / T i p > I n i t i a l i z e a n ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t : ` ` ` b a s h a c c e l e r a t e c o n f i g ` ` ` T o s e t u p a d e f a u l t ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t w i t h o u t c h o o s i n g a n y c o n f i g u r a t i o n s : ` ` ` b a s h a c c e l e r a t e c o n f i g d e f a u l t ` ` ` O r i f y o u r e n v i r o n m e n t d o e s n ' t s u p p o r t a n i n t e r a c t i v e s h e l l , l i k e a n o t e b o o k , y o u c a n u s e : ` ` ` p y f r o m a c c e l e r a t e . u t i l s i m p o r t w r i t e _ b a s i c _ c o n f i g w r i t e _ b a s i c _ c o n f i g ( ) ` ` ` L a s t l y , i f y o u w a n t t o t r a i n a m o d e l o n y o u r o w n d a t a s e t , t a k e a l o o k a t t h e [ C r e a t e a d a t a s e t f o r t r a i n i n g ] ( c r e a t e _ d a t a s e t ) g u i d e t o l e a r n h o w t o c r e a t e a d a t a s e t t h a t w o r k s w i t h t h e t r a i n i n g s c r i p t . < T i p > T h e f o l l o w i n g s e c t i o n s h i g h l i g h t p a r t s o f t h e t r a i n i n g s c r i p t t h a t a r e i m p o r t a n t f o r u n d e r s t a n d i n g h o w t o m o d i f y i t , b u t i t d o e s n ' t c o v e r e v e r y a s p e c t o f t h e s c r i p t i n d e t a i l . I f y o u ' r e i n t e r e s t e d i n l e a r n i n g m o r e , f e e l f r e e t o r e a d t h r o u g h t h e [ s c r i p t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / t e x t u a l _ i n v e r s i o n / t e x t u a l _ i n v e r s i o n . p y ) a n d l e t u s k n o w i f y o u h a v e a n y q u e s t i o n s o r c o n c e r n s . < / T i p > # # S c r i p t p a r a m e t e r s T h e t r a i n i n g s c r i p t h a s m a n y p a r a m e t e r s t o h e l p y o u t a i l o r t h e t r a i n i n g r u n t o y o u r n e e d s . A l l o f t h e p a r a m e t e r s a n d t h e i r d e s c r i p t i o n s a r e l i s t e d i n t h e [ ` p a r s e _ a r g s ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 8 3 9 c 2 a 5 e c e 0 a f 4 e 7 5 5 3 0 c b 5 2 0 d 7 7 b c 7 e d 8 a c f 4 7 4 / e x a m p l e s / t e x t u a l _ i n v e r s i o n / t e x t u a l _ i n v e r s i o n . p y # L 1 7 6 ) f u n c t i o n . W h e r e a p p l i c a b l e , D i f f u s e r s p r o v i d e s d e f a u l t v a l u e s f o r e a c h p a r a m e t e r s u c h a s t h e t r a i n i n g b a t c h s i z e a n d l e a r n i n g r a t e , b u t f e e l f r e e t o c h a n g e t h e s e v a l u e s i n t h e t r a i n i n g c o m m a n d i f y o u ' d l i k e . F o r e x a m p l e , t o i n c r e a s e t h e n u m b e r o f g r a d i e n t a c c u m u l a t i o n s t e p s a b o v e t h e d e f a u l t v a l u e o f 1 : ` ` ` b a s h a c c e l e r a t e l a u n c h t e x t u a l _ i n v e r s i o n . p y \ - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s = 4 ` ` ` S o m e o t h e r b a s i c a n d i m p o r t a n t p a r a m e t e r s t o s p e c i f y i n c l u d e : - ` - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h ` : t h e n a m e o f t h e m o d e l o n t h e H u b o r a l o c a l p a t h t o t h e p r e t r a i n e d m o d e l - ` - - t r a i n _ d a t a _ d i r ` : p a t h t o a f o l d e r c o n t a i n i n g t h e t r a i n i n g d a t a s e t ( e x a m p l e i m a g e s ) - ` - - o u t p u t _ d i r ` : w h e r e t o s a v e t h e t r a i n e d m o d e l - ` - - p u s h _ t o _ h u b ` : w h e t h e r t o p u s h t h e t r a i n e d m o d e l t o t h e H u b - ` - - c h e c k p o i n t i n g _ s t e p s ` : f r e q u e n c y o f s a v i n g a c h e c k p o i n t a s t h e m o d e l t r a i n s ; t h i s i s u s e f u l i f f o r s o m e r e a s o n t r a i n i n g i s i n t e r r u p t e d , y o u c a n c o n t i n u e t r a i n i n g f r o m t h a t c h e c k p o i n t b y a d d i n g ` - - r e s u m e _ f r o m _ c h e c k p o i n t ` t o y o u r t r a i n i n g c o m m a n d - ` - - n u m _ v e c t o r s ` : t h e n u m b e r o f v e c t o r s t o l e a r n t h e e m b e d d i n g s w i t h ; i n c r e a s i n g t h i s p a r a m e t e r h e l p s t h e m o d e l l e a r n b e t t e r b u t i t c o m e s w i t h i n c r e a s e d t r a i n i n g c o s t s - ` - - p l a c e h o l d e r _ t o k e n ` : t h e s p e c i a l w o r d t o t i e t h e l e a r n e d e m b e d d i n g s t o ( y o u m u s t u s e t h e w o r d i n y o u r p r o m p t f o r i n f e r e n c e ) - ` - - i n i t i a l i z e r _ t o k e n ` : a s i n g l e - w o r d t h a t r o u g h l y d e s c r i b e s t h e o b j e c t o r s t y l e y o u ' r e t r y i n g t o t r a i n o n - ` - - l e a r n a b l e _ p r o p e r t y ` : w h e t h e r y o u ' r e t r a i n i n g t h e m o d e l t o l e a r n a n e w " s t y l e " ( f o r e x a m p l e , V a n G o g h ' s p a i n t i n g s t y l e ) o r " o b j e c t " ( f o r e x a m p l e , y o u r d o g ) # # T r a i n i n g s c r i p t U n l i k e s o m e o f t h e o t h e r t r a i n i n g s c r i p t s , t e x t u a l _ i n v e r s i o n . p y h a s a c u s t o m d a t a s e t c l a s s , [ ` T e x t u a l I n v e r s i o n D a t a s e t ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / b 8 1 c 6 9 e 4 8 9 a a d 3 a 0 b a 7 3 7 9 8 c 4 5 9 a 3 3 9 9 0 d c 4 3 7 9 c / e x a m p l e s / t e x t u a l _ i n v e r s i o n / t e x t u a l _ i n v e r s i o n . p y # L 4 8 7 ) f o r c r e a t i n g a d a t a s e t . Y o u c a n c u s t o m i z e t h e i m a g e s i z e , p l a c e h o l d e r t o k e n , i n t e r p o l a t i o n m e t h o d , w h e t h e r t o c r o p t h e i m a g e , a n d m o r e . I f y o u n e e d t o c h a n g e h o w t h e d a t a s e t i s c r e a t e d , y o u c a n m o d i f y ` T e x t u a l I n v e r s i o n D a t a s e t ` . N e x t , y o u ' l l f i n d t h e d a t a s e t p r e p r o c e s s i n g c o d e a n d t r a i n i n g l o o p i n t h e [ ` m a i n ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 8 3 9 c 2 a 5 e c e 0 a f 4 e 7 5 5 3 0 c b 5 2 0 d 7 7 b c 7 e d 8 a c f 4 7 4 / e x a m p l e s / t e x t u a l _ i n v e r s i o n / t e x t u a l _ i n v e r s i o n . p y # L 5 7 3 ) f u n c t i o n . T h e s c r i p t s t a r t s b y l o a d i n g t h e [ t o k e n i z e r ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / b 8 1 c 6 9 e 4 8 9 a a d 3 a 0 b a 7 3 7 9 8 c 4 5 9 a 3 3 9 9 0 d c 4 3 7 9 c / e x a m p l e s / t e x t u a l _ i n v e r s i o n / t e x t u a l _ i n v e r s i o n . p y # L 6 1 6 ) , [ s c h e d u l e r a n d m o d e l ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / b 8 1 c 6 9 e 4 8 9 a a d 3 a 0 b a 7 3 7 9 8 c 4 5 9 a 3 3 9 9 0 d c 4 3 7 9 c / e x a m p l e s / t e x t u a l _ i n v e r s i o n / t e x t u a l _ i n v e r s i o n . p y # L 6 2 2 ) : ` ` ` p y # L o a d t o k e n i z e r i f a r g s . t o k e n i z e r _ n a m e : t o k e n i z e r = C L I P T o k e n i z e r . f r o m _ p r e t r a i n e d ( a r g s . t o k e n i z e r _ n a m e ) e l i f a r g s . p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h : t o k e n i z e r = C L I P T o k e n i z e r . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " t o k e n i z e r " ) # L o a d s c h e d u l e r a n d m o d e l s n o i s e _ s c h e d u l e r = D D P M S c h e d u l e r . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " s c h e d u l e r " ) t e x t _ e n c o d e r = C L I P T e x t M o d e l . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " t e x t _ e n c o d e r " , r e v i s i o n = a r g s . r e v i s i o n ) v a e = A u t o e n c o d e r K L . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " v a e " , r e v i s i o n = a r g s . r e v i s i o n ) u n e t = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " u n e t " , r e v i s i o n = a r g s . r e v i s i o n ) ` ` ` T h e s p e c i a l [ p l a c e h o l d e r t o k e n ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / b 8 1 c 6 9 e 4 8 9 a a d 3 a 0 b a 7 3 7 9 8 c 4 5 9 a 3 3 9 9 0 d c 4 3 7 9 c / e x a m p l e s / t e x t u a l _ i n v e r s i o n / t e x t u a l _ i n v e r s i o n . p y # L 6 3 2 ) i s a d d e d n e x t t o t h e t o k e n i z e r , a n d t h e e m b e d d i n g i s r e a d j u s t e d t o a c c o u n t f o r t h e n e w t o k e n . T h e n , t h e s c r i p t [ c r e a t e s a d a t a s e t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / b 8 1 c 6 9 e 4 8 9 a a d 3 a 0 b a 7 3 7 9 8 c 4 5 9 a 3 3 9 9 0 d c 4 3 7 9 c / e x a m p l e s / t e x t u a l _ i n v e r s i o n / t e x t u a l _ i n v e r s i o n . p y # L 7 1 6 ) f r o m t h e ` T e x t u a l I n v e r s i o n D a t a s e t ` : ` ` ` p y t r a i n _ d a t a s e t = T e x t u a l I n v e r s i o n D a t a s e t ( d a t a _ r o o t = a r g s . t r a i n _ d a t a _ d i r , t o k e n i z e r = t o k e n i z e r , s i z e = a r g s . r e s o l u t i o n , p l a c e h o l d e r _ t o k e n = ( " " . j o i n ( t o k e n i z e r . c o n v e r t _ i d s _ t o _ t o k e n s ( p l a c e h o l d e r _ t o k e n _ i d s ) ) ) , r e p e a t s = a r g s . r e p e a t s , l e a r n a b l e _ p r o p e r t y = a r g s . l e a r n a b l e _ p r o p e r t y , c e n t e r _ c r o p = a r g s . c e n t e r _ c r o p , s e t = " t r a i n " , ) t r a i n _ d a t a l o a d e r = t o r c h . u t i l s . d a t a . D a t a L o a d e r ( t r a i n _ d a t a s e t , b a t c h _ s i z e = a r g s . t r a i n _ b a t c h _ s i z e , s h u f f l e = T r u e , n u m _ w o r k e r s = a r g s . d a t a l o a d e r _ n u m _ w o r k e r s ) ` ` ` F i n a l l y , t h e [ t r a i n i n g l o o p ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / b 8 1 c 6 9 e 4 8 9 a a d 3 a 0 b a 7 3 7 9 8 c 4 5 9 a 3 3 9 9 0 d c 4 3 7 9 c / e x a m p l e s / t e x t u a l _ i n v e r s i o n / t e x t u a l _ i n v e r s i o n . p y # L 7 8 4 ) h a n d l e s e v e r y t h i n g e l s e f r o m p r e d i c t i n g t h e n o i s y r e s i d u a l t o u p d a t i n g t h e e m b e d d i n g w e i g h t s o f t h e s p e c i a l p l a c e h o l d e r t o k e n . I f y o u w a n t t o l e a r n m o r e a b o u t h o w t h e t r a i n i n g l o o p w o r k s , c h e c k o u t t h e [ U n d e r s t a n d i n g p i p e l i n e s , m o d e l s a n d s c h e d u l e r s ] ( . . / u s i n g - d i f f u s e r s / w r i t e _ o w n _ p i p e l i n e ) t u t o r i a l w h i c h b r e a k s d o w n t h e b a s i c p a t t e r n o f t h e d e n o i s i n g p r o c e s s . # # L a u n c h t h e s c r i p t O n c e y o u ' v e m a d e a l l y o u r c h a n g e s o r y o u ' r e o k a y w i t h t h e d e f a u l t c o n f i g u r a t i o n , y o u ' r e r e a d y t o l a u n c h t h e t r a i n i n g s c r i p t ! ๐Ÿš€ F o r t h i s g u i d e , y o u ' l l d o w n l o a d s o m e i m a g e s o f a [ c a t t o y ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / c a t _ t o y _ e x a m p l e ) a n d s t o r e t h e m i n a d i r e c t o r y . B u t r e m e m b e r , y o u c a n c r e a t e a n d u s e y o u r o w n d a t a s e t i f y o u w a n t ( s e e t h e [ C r e a t e a d a t a s e t f o r t r a i n i n g ] ( c r e a t e _ d a t a s e t ) g u i d e ) . ` ` ` p y f r o m h u g g i n g f a c e _ h u b i m p o r t s n a p s h o t _ d o w n l o a d l o c a l _ d i r = " . / c a t " s n a p s h o t _ d o w n l o a d ( " d i f f u s e r s / c a t _ t o y _ e x a m p l e " , l o c a l _ d i r = l o c a l _ d i r , r e p o _ t y p e = " d a t a s e t " , i g n o r e _ p a t t e r n s = " . g i t a t t r i b u t e s " ) ` ` ` S e t t h e e n v i r o n m e n t v a r i a b l e ` M O D E L _ N A M E ` t o a m o d e l i d o n t h e H u b o r a p a t h t o a l o c a l m o d e l , a n d ` D A T A _ D I R ` t o t h e p a t h w h e r e y o u j u s t d o w n l o a d e d t h e c a t i m a g e s t o . T h e s c r i p t c r e a t e s a n d s a v e s t h e f o l l o w i n g f i l e s t o y o u r r e p o s i t o r y : - ` l e a r n e d _ e m b e d s . b i n ` : t h e l e a r n e d e m b e d d i n g v e c t o r s c o r r e s p o n d i n g t o y o u r e x a m p l e i m a g e s - ` t o k e n _ i d e n t i f i e r . t x t ` : t h e s p e c i a l p l a c e h o l d e r t o k e n - ` t y p e _ o f _ c o n c e p t . t x t ` : t h e t y p e o f c o n c e p t y o u ' r e t r a i n i n g o n ( e i t h e r " o b j e c t " o r " s t y l e " ) < T i p w a r n i n g = { t r u e } > A f u l l t r a i n i n g r u n t a k e s ~ 1 h o u r o n a s i n g l e V 1 0 0 G P U . < / T i p > O n e m o r e t h i n g b e f o r e y o u l a u n c h t h e s c r i p t . I f y o u ' r e i n t e r e s t e d i n f o l l o w i n g a l o n g w i t h t h e t r a i n i n g p r o c e s s , y o u c a n p e r i o d i c a l l y s a v e g e n e r a t e d i m a g e s a s t r a i n i n g p r o g r e s s e s . A d d t h e f o l l o w i n g p a r a m e t e r s t o t h e t r a i n i n g c o m m a n d : ` ` ` b a s h - - v a l i d a t i o n _ p r o m p t = " A < c a t - t o y > t r a i n " - - n u m _ v a l i d a t i o n _ i m a g e s = 4 - - v a l i d a t i o n _ s t e p s = 1 0 0 ` ` ` < h f o p t i o n s i d = " t r a i n i n g - i n f e r e n c e " > < h f o p t i o n i d = " P y T o r c h " > ` ` ` b a s h e x p o r t M O D E L _ N A M E = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " e x p o r t D A T A _ D I R = " . / c a t " a c c e l e r a t e l a u n c h t e x t u a l _ i n v e r s i o n . p y \ - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h = $ M O D E L _ N A M E \ - - t r a i n _ d a t a _ d i r = $ D A T A _ D I R \ - - l e a r n a b l e _ p r o p e r t y = " o b j e c t " \ - - p l a c e h o l d e r _ t o k e n = " < c a t - t o y > " \ - - i n i t i a l i z e r _ t o k e n = " t o y " \ - - r e s o l u t i o n = 5 1 2 \ - - t r a i n _ b a t c h _ s i z e = 1 \ - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s = 4 \ - - m a x _ t r a i n _ s t e p s = 3 0 0 0 \ - - l e a r n i n g _ r a t e = 5 . 0 e - 0 4 \ - - s c a l e _ l r \ - - l r _ s c h e d u l e r = " c o n s t a n t " \ - - l r _ w a r m u p _ s t e p s = 0 \ - - o u t p u t _ d i r = " t e x t u a l _ i n v e r s i o n _ c a t " \ - - p u s h _ t o _ h u b ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " F l a x " > ` ` ` b a s h e x p o r t M O D E L _ N A M E = " d u o n g n a / s t a b l e - d i f f u s i o n - v 1 - 4 - f l a x " e x p o r t D A T A _ D I R = " . / c a t " p y t h o n t e x t u a l _ i n v e r s i o n _ f l a x . p y \ - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h = $ M O D E L _ N A M E \ - - t r a i n _ d a t a _ d i r = $ D A T A _ D I R \ - - l e a r n a b l e _ p r o p e r t y = " o b j e c t " \ - - p l a c e h o l d e r _ t o k e n = " < c a t - t o y > " \ - - i n i t i a l i z e r _ t o k e n = " t o y " \ - - r e s o l u t i o n = 5 1 2 \ - - t r a i n _ b a t c h _ s i z e = 1 \ - - m a x _ t r a i n _ s t e p s = 3 0 0 0 \ - - l e a r n i n g _ r a t e = 5 . 0 e - 0 4 \ - - s c a l e _ l r \ - - o u t p u t _ d i r = " t e x t u a l _ i n v e r s i o n _ c a t " \ - - p u s h _ t o _ h u b ` ` ` < / h f o p t i o n > < / h f o p t i o n s > A f t e r t r a i n i n g i s c o m p l e t e , y o u c a n u s e y o u r n e w l y t r a i n e d m o d e l f o r i n f e r e n c e l i k e : < h f o p t i o n s i d = " t r a i n i n g - i n f e r e n c e " > < h f o p t i o n i d = " P y T o r c h " > ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e i m p o r t t o r c h p i p e l i n e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e . l o a d _ t e x t u a l _ i n v e r s i o n ( " s d - c o n c e p t s - l i b r a r y / c a t - t o y " ) i m a g e = p i p e l i n e ( " A < c a t - t o y > t r a i n " , n u m _ i n f e r e n c e _ s t e p s = 5 0 ) . i m a g e s [ 0 ] i m a g e . s a v e ( " c a t - t r a i n . p n g " ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " F l a x " > F l a x d o e s n ' t s u p p o r t t h e ` l o a d _ t e x t u a l _ i n v e r s i o n ( ) ` m e t h o d , b u t t h e t e x t u a l _ i n v e r s i o n _ f l a x . p y s c r i p t [ s a v e s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / c 0 f 0 5 8 2 6 5 1 6 1 1 7 8 f 2 a 8 8 8 4 9 e 9 2 b 3 7 f f d c 8 1 f 1 d c c / e x a m p l e s / t e x t u a l _ i n v e r s i o n / t e x t u a l _ i n v e r s i o n _ f l a x . p y # L 6 3 6 C 2 - L 6 3 6 C 2 ) t h e l e a r n e d e m b e d d i n g s a s a p a r t o f t h e m o d e l a f t e r t r a i n i n g . T h i s m e a n s y o u c a n u s e t h e m o d e l f o r i n f e r e n c e l i k e a n y o t h e r F l a x m o d e l : ` ` ` p y i m p o r t j a x i m p o r t n u m p y a s n p f r o m f l a x . j a x _ u t i l s i m p o r t r e p l i c a t e f r o m f l a x . t r a i n i n g . c o m m o n _ u t i l s i m p o r t s h a r d f r o m d i f f u s e r s i m p o r t F l a x S t a b l e D i f f u s i o n P i p e l i n e m o d e l _ p a t h = " p a t h - t o - y o u r - t r a i n e d - m o d e l " p i p e l i n e , p a r a m s = F l a x S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ p a t h , d t y p e = j a x . n u m p y . b f l o a t 1 6 ) p r o m p t = " A < c a t - t o y > t r a i n " p r n g _ s e e d = j a x . r a n d o m . P R N G K e y ( 0 ) n u m _ i n f e r e n c e _ s t e p s = 5 0 n u m _ s a m p l e s = j a x . d e v i c e _ c o u n t ( ) p r o m p t = n u m _ s a m p l e s * [ p r o m p t ] p r o m p t _ i d s = p i p e l i n e . p r e p a r e _ i n p u t s ( p r o m p t ) # s h a r d i n p u t s a n d r n g p a r a m s = r e p l i c a t e ( p a r a m s ) p r n g _ s e e d = j a x . r a n d o m . s p l i t ( p r n g _ s e e d , j a x . d e v i c e _ c o u n t ( ) ) p r o m p t _ i d s = s h a r d ( p r o m p t _ i d s ) i m a g e s = p i p e l i n e ( p r o m p t _ i d s , p a r a m s , p r n g _ s e e d , n u m _ i n f e r e n c e _ s t e p s , j i t = T r u e ) . i m a g e s i m a g e s = p i p e l i n e . n u m p y _ t o _ p i l ( n p . a s a r r a y ( i m a g e s . r e s h a p e ( ( n u m _ s a m p l e s , ) + i m a g e s . s h a p e [ - 3 : ] ) ) ) i m a g e . s a v e ( " c a t - t r a i n . p n g " ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > # # N e x t s t e p s C o n g r a t u l a t i o n s o n t r a i n i n g y o u r o w n T e x t u a l I n v e r s i o n m o d e l ! ๐ŸŽ‰ T o l e a r n m o r e a b o u t h o w t o u s e y o u r n e w m o d e l , t h e f o l l o w i n g g u i d e s m a y b e h e l p f u l : - L e a r n h o w t o [ l o a d T e x t u a l I n v e r s i o n e m b e d d i n g s ] ( . . / u s i n g - d i f f u s e r s / l o a d i n g _ a d a p t e r s ) a n d a l s o u s e t h e m a s n e g a t i v e e m b e d d i n g s . - L e a r n h o w t o u s e [ T e x t u a l I n v e r s i o n ] ( t e x t u a l _ i n v e r s i o n _ i n f e r e n c e ) f o r i n f e r e n c e w i t h S t a b l e D i f f u s i o n 1 / 2 a n d S t a b l e D i f f u s i o n X L . # T e x t - t o - i m a g e < T i p w a r n i n g = { t r u e } > T h e t e x t - t o - i m a g e s c r i p t i s e x p e r i m e n t a l , a n d i t ' s e a s y t o o v e r f i t a n d r u n i n t o i s s u e s l i k e c a t a s t r o p h i c f o r g e t t i n g . T r y e x p l o r i n g d i f f e r e n t h y p e r p a r a m e t e r s t o g e t t h e b e s t r e s u l t s o n y o u r d a t a s e t . < / T i p > T e x t - t o - i m a g e m o d e l s l i k e S t a b l e D i f f u s i o n a r e c o n d i t i o n e d t o g e n e r a t e i m a g e s g i v e n a t e x t p r o m p t . T r a i n i n g a m o d e l c a n b e t a x i n g o n y o u r h a r d w a r e , b u t i f y o u e n a b l e ` g r a d i e n t _ c h e c k p o i n t i n g ` a n d ` m i x e d _ p r e c i s i o n ` , i t i s p o s s i b l e t o t r a i n a m o d e l o n a s i n g l e 2 4 G B G P U . I f y o u ' r e t r a i n i n g w i t h l a r g e r b a t c h s i z e s o r w a n t t o t r a i n f a s t e r , i t ' s b e t t e r t o u s e G P U s w i t h m o r e t h a n 3 0 G B o f m e m o r y . Y o u c a n r e d u c e y o u r m e m o r y f o o t p r i n t b y e n a b l i n g m e m o r y - e f f i c i e n t a t t e n t i o n w i t h [ x F o r m e r s ] ( . . / o p t i m i z a t i o n / x f o r m e r s ) . J A X / F l a x t r a i n i n g i s a l s o s u p p o r t e d f o r e f f i c i e n t t r a i n i n g o n T P U s a n d G P U s , b u t i t d o e s n ' t s u p p o r t g r a d i e n t c h e c k p o i n t i n g , g r a d i e n t a c c u m u l a t i o n o r x F o r m e r s . A G P U w i t h a t l e a s t 3 0 G B o f m e m o r y o r a T P U v 3 i s r e c o m m e n d e d f o r t r a i n i n g w i t h F l a x . T h i s g u i d e w i l l e x p l o r e t h e [ t r a i n _ t e x t _ t o _ i m a g e . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e . p y ) t r a i n i n g s c r i p t t o h e l p y o u b e c o m e f a m i l i a r w i t h i t , a n d h o w y o u c a n a d a p t i t f o r y o u r o w n u s e - c a s e . B e f o r e r u n n i n g t h e s c r i p t , m a k e s u r e y o u i n s t a l l t h e l i b r a r y f r o m s o u r c e : ` ` ` b a s h g i t c l o n e h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s c d d i f f u s e r s p i p i n s t a l l . ` ` ` T h e n n a v i g a t e t o t h e e x a m p l e f o l d e r c o n t a i n i n g t h e t r a i n i n g s c r i p t a n d i n s t a l l t h e r e q u i r e d d e p e n d e n c i e s f o r t h e s c r i p t y o u ' r e u s i n g : < h f o p t i o n s i d = " i n s t a l l a t i o n " > < h f o p t i o n i d = " P y T o r c h " > ` ` ` b a s h c d e x a m p l e s / t e x t _ t o _ i m a g e p i p i n s t a l l - r r e q u i r e m e n t s . t x t ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " F l a x " > ` ` ` b a s h c d e x a m p l e s / t e x t _ t o _ i m a g e p i p i n s t a l l - r r e q u i r e m e n t s _ f l a x . t x t ` ` ` < / h f o p t i o n > < / h f o p t i o n s > < T i p > ๐Ÿค— A c c e l e r a t e i s a l i b r a r y f o r h e l p i n g y o u t r a i n o n m u l t i p l e G P U s / T P U s o r w i t h m i x e d - p r e c i s i o n . I t ' l l a u t o m a t i c a l l y c o n f i g u r e y o u r t r a i n i n g s e t u p b a s e d o n y o u r h a r d w a r e a n d e n v i r o n m e n t . T a k e a l o o k a t t h e ๐Ÿค— A c c e l e r a t e [ Q u i c k t o u r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / q u i c k t o u r ) t o l e a r n m o r e . < / T i p > I n i t i a l i z e a n ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t : ` ` ` b a s h a c c e l e r a t e c o n f i g ` ` ` T o s e t u p a d e f a u l t ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t w i t h o u t c h o o s i n g a n y c o n f i g u r a t i o n s : ` ` ` b a s h a c c e l e r a t e c o n f i g d e f a u l t ` ` ` O r i f y o u r e n v i r o n m e n t d o e s n ' t s u p p o r t a n i n t e r a c t i v e s h e l l , l i k e a n o t e b o o k , y o u c a n u s e : ` ` ` p y f r o m a c c e l e r a t e . u t i l s i m p o r t w r i t e _ b a s i c _ c o n f i g w r i t e _ b a s i c _ c o n f i g ( ) ` ` ` L a s t l y , i f y o u w a n t t o t r a i n a m o d e l o n y o u r o w n d a t a s e t , t a k e a l o o k a t t h e [ C r e a t e a d a t a s e t f o r t r a i n i n g ] ( c r e a t e _ d a t a s e t ) g u i d e t o l e a r n h o w t o c r e a t e a d a t a s e t t h a t w o r k s w i t h t h e t r a i n i n g s c r i p t . # # S c r i p t p a r a m e t e r s < T i p > T h e f o l l o w i n g s e c t i o n s h i g h l i g h t p a r t s o f t h e t r a i n i n g s c r i p t t h a t a r e i m p o r t a n t f o r u n d e r s t a n d i n g h o w t o m o d i f y i t , b u t i t d o e s n ' t c o v e r e v e r y a s p e c t o f t h e s c r i p t i n d e t a i l . I f y o u ' r e i n t e r e s t e d i n l e a r n i n g m o r e , f e e l f r e e t o r e a d t h r o u g h t h e [ s c r i p t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e . p y ) a n d l e t u s k n o w i f y o u h a v e a n y q u e s t i o n s o r c o n c e r n s . < / T i p > T h e t r a i n i n g s c r i p t p r o v i d e s m a n y p a r a m e t e r s t o h e l p y o u c u s t o m i z e y o u r t r a i n i n g r u n . A l l o f t h e p a r a m e t e r s a n d t h e i r d e s c r i p t i o n s a r e f o u n d i n t h e [ ` p a r s e _ a r g s ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 8 9 5 9 c 5 b 9 d e c 1 c 9 4 d 6 b a 4 8 2 c 9 4 a 5 8 d 2 2 1 5 c 5 f d 0 2 6 / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e . p y # L 1 9 3 ) f u n c t i o n . T h i s f u n c t i o n p r o v i d e s d e f a u l t v a l u e s f o r e a c h p a r a m e t e r , s u c h a s t h e t r a i n i n g b a t c h s i z e a n d l e a r n i n g r a t e , b u t y o u c a n a l s o s e t y o u r o w n v a l u e s i n t h e t r a i n i n g c o m m a n d i f y o u ' d l i k e . F o r e x a m p l e , t o s p e e d u p t r a i n i n g w i t h m i x e d p r e c i s i o n u s i n g t h e f p 1 6 f o r m a t , a d d t h e ` - - m i x e d _ p r e c i s i o n ` p a r a m e t e r t o t h e t r a i n i n g c o m m a n d : ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ t e x t _ t o _ i m a g e . p y \ - - m i x e d _ p r e c i s i o n = " f p 1 6 " ` ` ` S o m e b a s i c a n d i m p o r t a n t p a r a m e t e r s i n c l u d e : - ` - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h ` : t h e n a m e o f t h e m o d e l o n t h e H u b o r a l o c a l p a t h t o t h e p r e t r a i n e d m o d e l - ` - - d a t a s e t _ n a m e ` : t h e n a m e o f t h e d a t a s e t o n t h e H u b o r a l o c a l p a t h t o t h e d a t a s e t t o t r a i n o n - ` - - i m a g e _ c o l u m n ` : t h e n a m e o f t h e i m a g e c o l u m n i n t h e d a t a s e t t o t r a i n o n - ` - - c a p t i o n _ c o l u m n ` : t h e n a m e o f t h e t e x t c o l u m n i n t h e d a t a s e t t o t r a i n o n - ` - - o u t p u t _ d i r ` : w h e r e t o s a v e t h e t r a i n e d m o d e l - ` - - p u s h _ t o _ h u b ` : w h e t h e r t o p u s h t h e t r a i n e d m o d e l t o t h e H u b - ` - - c h e c k p o i n t i n g _ s t e p s ` : f r e q u e n c y o f s a v i n g a c h e c k p o i n t a s t h e m o d e l t r a i n s ; t h i s i s u s e f u l i f f o r s o m e r e a s o n t r a i n i n g i s i n t e r r u p t e d , y o u c a n c o n t i n u e t r a i n i n g f r o m t h a t c h e c k p o i n t b y a d d i n g ` - - r e s u m e _ f r o m _ c h e c k p o i n t ` t o y o u r t r a i n i n g c o m m a n d # # # M i n - S N R w e i g h t i n g T h e [ M i n - S N R ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 3 . 0 9 5 5 6 ) w e i g h t i n g s t r a t e g y c a n h e l p w i t h t r a i n i n g b y r e b a l a n c i n g t h e l o s s t o a c h i e v e f a s t e r c o n v e r g e n c e . T h e t r a i n i n g s c r i p t s u p p o r t s p r e d i c t i n g ` e p s i l o n ` ( n o i s e ) o r ` v _ p r e d i c t i o n ` , b u t M i n - S N R i s c o m p a t i b l e w i t h b o t h p r e d i c t i o n t y p e s . T h i s w e i g h t i n g s t r a t e g y i s o n l y s u p p o r t e d b y P y T o r c h a n d i s u n a v a i l a b l e i n t h e F l a x t r a i n i n g s c r i p t . A d d t h e ` - - s n r _ g a m m a ` p a r a m e t e r a n d s e t i t t o t h e r e c o m m e n d e d v a l u e o f 5 . 0 : ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ t e x t _ t o _ i m a g e . p y \ - - s n r _ g a m m a = 5 . 0 ` ` ` Y o u c a n c o m p a r e t h e l o s s s u r f a c e s f o r d i f f e r e n t ` s n r _ g a m m a ` v a l u e s i n t h i s [ W e i g h t s a n d B i a s e s ] ( h t t p s : / / w a n d b . a i / s a y a k p a u l / t e x t 2 i m a g e - f i n e t u n e - m i n s n r ) r e p o r t . F o r s m a l l e r d a t a s e t s , t h e e f f e c t s o f M i n - S N R m a y n o t b e a s o b v i o u s c o m p a r e d t o l a r g e r d a t a s e t s . # # T r a i n i n g s c r i p t T h e d a t a s e t p r e p r o c e s s i n g c o d e a n d t r a i n i n g l o o p a r e f o u n d i n t h e [ ` m a i n ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 8 9 5 9 c 5 b 9 d e c 1 c 9 4 d 6 b a 4 8 2 c 9 4 a 5 8 d 2 2 1 5 c 5 f d 0 2 6 / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e . p y # L 4 9 0 ) f u n c t i o n . I f y o u n e e d t o a d a p t t h e t r a i n i n g s c r i p t , t h i s i s w h e r e y o u ' l l n e e d t o m a k e y o u r c h a n g e s . T h e ` t r a i n _ t e x t _ t o _ i m a g e ` s c r i p t s t a r t s b y [ l o a d i n g a s c h e d u l e r ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 8 9 5 9 c 5 b 9 d e c 1 c 9 4 d 6 b a 4 8 2 c 9 4 a 5 8 d 2 2 1 5 c 5 f d 0 2 6 / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e . p y # L 5 4 3 ) a n d t o k e n i z e r . Y o u c a n c h o o s e t o u s e a d i f f e r e n t s c h e d u l e r h e r e i f y o u w a n t : ` ` ` p y n o i s e _ s c h e d u l e r = D D P M S c h e d u l e r . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " s c h e d u l e r " ) t o k e n i z e r = C L I P T o k e n i z e r . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " t o k e n i z e r " , r e v i s i o n = a r g s . r e v i s i o n ) ` ` ` T h e n t h e s c r i p t [ l o a d s t h e U N e t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 8 9 5 9 c 5 b 9 d e c 1 c 9 4 d 6 b a 4 8 2 c 9 4 a 5 8 d 2 2 1 5 c 5 f d 0 2 6 / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e . p y # L 6 1 9 ) m o d e l : ` ` ` p y l o a d _ m o d e l = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( i n p u t _ d i r , s u b f o l d e r = " u n e t " ) m o d e l . r e g i s t e r _ t o _ c o n f i g ( * * l o a d _ m o d e l . c o n f i g ) m o d e l . l o a d _ s t a t e _ d i c t ( l o a d _ m o d e l . s t a t e _ d i c t ( ) ) ` ` ` N e x t , t h e t e x t a n d i m a g e c o l u m n s o f t h e d a t a s e t n e e d t o b e p r e p r o c e s s e d . T h e [ ` t o k e n i z e _ c a p t i o n s ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 8 9 5 9 c 5 b 9 d e c 1 c 9 4 d 6 b a 4 8 2 c 9 4 a 5 8 d 2 2 1 5 c 5 f d 0 2 6 / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e . p y # L 7 2 4 ) f u n c t i o n h a n d l e s t o k e n i z i n g t h e i n p u t s , a n d t h e [ ` t r a i n _ t r a n s f o r m s ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 8 9 5 9 c 5 b 9 d e c 1 c 9 4 d 6 b a 4 8 2 c 9 4 a 5 8 d 2 2 1 5 c 5 f d 0 2 6 / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e . p y # L 7 4 2 ) f u n c t i o n s p e c i f i e s t h e t y p e o f t r a n s f o r m s t o a p p l y t o t h e i m a g e . B o t h o f t h e s e f u n c t i o n s a r e b u n d l e d i n t o ` p r e p r o c e s s _ t r a i n ` : ` ` ` p y d e f p r e p r o c e s s _ t r a i n ( e x a m p l e s ) : i m a g e s = [ i m a g e . c o n v e r t ( " R G B " ) f o r i m a g e i n e x a m p l e s [ i m a g e _ c o l u m n ] ] e x a m p l e s [ " p i x e l _ v a l u e s " ] = [ t r a i n _ t r a n s f o r m s ( i m a g e ) f o r i m a g e i n i m a g e s ] e x a m p l e s [ " i n p u t _ i d s " ] = t o k e n i z e _ c a p t i o n s ( e x a m p l e s ) r e t u r n e x a m p l e s ` ` ` L a s t l y , t h e [ t r a i n i n g l o o p ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 8 9 5 9 c 5 b 9 d e c 1 c 9 4 d 6 b a 4 8 2 c 9 4 a 5 8 d 2 2 1 5 c 5 f d 0 2 6 / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e . p y # L 8 7 8 ) h a n d l e s e v e r y t h i n g e l s e . I t e n c o d e s i m a g e s i n t o l a t e n t s p a c e , a d d s n o i s e t o t h e l a t e n t s , c o m p u t e s t h e t e x t e m b e d d i n g s t o c o n d i t i o n o n , u p d a t e s t h e m o d e l p a r a m e t e r s , a n d s a v e s a n d p u s h e s t h e m o d e l t o t h e H u b . I f y o u w a n t t o l e a r n m o r e a b o u t h o w t h e t r a i n i n g l o o p w o r k s , c h e c k o u t t h e [ U n d e r s t a n d i n g p i p e l i n e s , m o d e l s a n d s c h e d u l e r s ] ( . . / u s i n g - d i f f u s e r s / w r i t e _ o w n _ p i p e l i n e ) t u t o r i a l w h i c h b r e a k s d o w n t h e b a s i c p a t t e r n o f t h e d e n o i s i n g p r o c e s s . # # L a u n c h t h e s c r i p t O n c e y o u ' v e m a d e a l l y o u r c h a n g e s o r y o u ' r e o k a y w i t h t h e d e f a u l t c o n f i g u r a t i o n , y o u ' r e r e a d y t o l a u n c h t h e t r a i n i n g s c r i p t ! ๐Ÿš€ < h f o p t i o n s i d = " t r a i n i n g - i n f e r e n c e " > < h f o p t i o n i d = " P y T o r c h " > L e t ' s t r a i n o n t h e [ N a r u t o B L I P c a p t i o n s ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / l a m b d a l a b s / n a r u t o - b l i p - c a p t i o n s ) d a t a s e t t o g e n e r a t e y o u r o w n N a r u t o c h a r a c t e r s . S e t t h e e n v i r o n m e n t v a r i a b l e s ` M O D E L _ N A M E ` a n d ` d a t a s e t _ n a m e ` t o t h e m o d e l a n d t h e d a t a s e t ( e i t h e r f r o m t h e H u b o r a l o c a l p a t h ) . I f y o u ' r e t r a i n i n g o n m o r e t h a n o n e G P U , a d d t h e ` - - m u l t i _ g p u ` p a r a m e t e r t o t h e ` a c c e l e r a t e l a u n c h ` c o m m a n d . < T i p > T o t r a i n o n a l o c a l d a t a s e t , s e t t h e ` T R A I N _ D I R ` a n d ` O U T P U T _ D I R ` e n v i r o n m e n t v a r i a b l e s t o t h e p a t h o f t h e d a t a s e t a n d w h e r e t o s a v e t h e m o d e l t o . < / T i p > ` ` ` b a s h e x p o r t M O D E L _ N A M E = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " e x p o r t d a t a s e t _ n a m e = " l a m b d a l a b s / n a r u t o - b l i p - c a p t i o n s " a c c e l e r a t e l a u n c h - - m i x e d _ p r e c i s i o n = " f p 1 6 " t r a i n _ t e x t _ t o _ i m a g e . p y \ - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h = $ M O D E L _ N A M E \ - - d a t a s e t _ n a m e = $ d a t a s e t _ n a m e \ - - u s e _ e m a \ - - r e s o l u t i o n = 5 1 2 - - c e n t e r _ c r o p - - r a n d o m _ f l i p \ - - t r a i n _ b a t c h _ s i z e = 1 \ - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s = 4 \ - - g r a d i e n t _ c h e c k p o i n t i n g \ - - m a x _ t r a i n _ s t e p s = 1 5 0 0 0 \ - - l e a r n i n g _ r a t e = 1 e - 0 5 \ - - m a x _ g r a d _ n o r m = 1 \ - - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n \ - - l r _ s c h e d u l e r = " c o n s t a n t " - - l r _ w a r m u p _ s t e p s = 0 \ - - o u t p u t _ d i r = " s d - n a r u t o - m o d e l " \ - - p u s h _ t o _ h u b ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " F l a x " > T r a i n i n g w i t h F l a x c a n b e f a s t e r o n T P U s a n d G P U s t h a n k s t o [ @ d u o n g n a 2 1 1 ] ( h t t p s : / / g i t h u b . c o m / d u o n g n a 2 1 ) . F l a x i s m o r e e f f i c i e n t o n a T P U , b u t G P U p e r f o r m a n c e i s a l s o g r e a t . S e t t h e e n v i r o n m e n t v a r i a b l e s ` M O D E L _ N A M E ` a n d ` d a t a s e t _ n a m e ` t o t h e m o d e l a n d t h e d a t a s e t ( e i t h e r f r o m t h e H u b o r a l o c a l p a t h ) . < T i p > T o t r a i n o n a l o c a l d a t a s e t , s e t t h e ` T R A I N _ D I R ` a n d ` O U T P U T _ D I R ` e n v i r o n m e n t v a r i a b l e s t o t h e p a t h o f t h e d a t a s e t a n d w h e r e t o s a v e t h e m o d e l t o . < / T i p > ` ` ` b a s h e x p o r t M O D E L _ N A M E = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " e x p o r t d a t a s e t _ n a m e = " l a m b d a l a b s / n a r u t o - b l i p - c a p t i o n s " p y t h o n t r a i n _ t e x t _ t o _ i m a g e _ f l a x . p y \ - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h = $ M O D E L _ N A M E \ - - d a t a s e t _ n a m e = $ d a t a s e t _ n a m e \ - - r e s o l u t i o n = 5 1 2 - - c e n t e r _ c r o p - - r a n d o m _ f l i p \ - - t r a i n _ b a t c h _ s i z e = 1 \ - - m a x _ t r a i n _ s t e p s = 1 5 0 0 0 \ - - l e a r n i n g _ r a t e = 1 e - 0 5 \ - - m a x _ g r a d _ n o r m = 1 \ - - o u t p u t _ d i r = " s d - n a r u t o - m o d e l " \ - - p u s h _ t o _ h u b ` ` ` < / h f o p t i o n > < / h f o p t i o n s > O n c e t r a i n i n g i s c o m p l e t e , y o u c a n u s e y o u r n e w l y t r a i n e d m o d e l f o r i n f e r e n c e : < h f o p t i o n s i d = " t r a i n i n g - i n f e r e n c e " > < h f o p t i o n i d = " P y T o r c h " > ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e i m p o r t t o r c h p i p e l i n e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " p a t h / t o / s a v e d _ m o d e l " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) i m a g e = p i p e l i n e ( p r o m p t = " y o d a " ) . i m a g e s [ 0 ] i m a g e . s a v e ( " y o d a - n a r u t o . p n g " ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " F l a x " > ` ` ` p y i m p o r t j a x i m p o r t n u m p y a s n p f r o m f l a x . j a x _ u t i l s i m p o r t r e p l i c a t e f r o m f l a x . t r a i n i n g . c o m m o n _ u t i l s i m p o r t s h a r d f r o m d i f f u s e r s i m p o r t F l a x S t a b l e D i f f u s i o n P i p e l i n e p i p e l i n e , p a r a m s = F l a x S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " p a t h / t o / s a v e d _ m o d e l " , d t y p e = j a x . n u m p y . b f l o a t 1 6 ) p r o m p t = " y o d a n a r u t o " p r n g _ s e e d = j a x . r a n d o m . P R N G K e y ( 0 ) n u m _ i n f e r e n c e _ s t e p s = 5 0 n u m _ s a m p l e s = j a x . d e v i c e _ c o u n t ( ) p r o m p t = n u m _ s a m p l e s * [ p r o m p t ] p r o m p t _ i d s = p i p e l i n e . p r e p a r e _ i n p u t s ( p r o m p t ) # s h a r d i n p u t s a n d r n g p a r a m s = r e p l i c a t e ( p a r a m s ) p r n g _ s e e d = j a x . r a n d o m . s p l i t ( p r n g _ s e e d , j a x . d e v i c e _ c o u n t ( ) ) p r o m p t _ i d s = s h a r d ( p r o m p t _ i d s ) i m a g e s = p i p e l i n e ( p r o m p t _ i d s , p a r a m s , p r n g _ s e e d , n u m _ i n f e r e n c e _ s t e p s , j i t = T r u e ) . i m a g e s i m a g e s = p i p e l i n e . n u m p y _ t o _ p i l ( n p . a s a r r a y ( i m a g e s . r e s h a p e ( ( n u m _ s a m p l e s , ) + i m a g e s . s h a p e [ - 3 : ] ) ) ) i m a g e . s a v e ( " y o d a - n a r u t o . p n g " ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > # # N e x t s t e p s C o n g r a t u l a t i o n s o n t r a i n i n g y o u r o w n t e x t - t o - i m a g e m o d e l ! T o l e a r n m o r e a b o u t h o w t o u s e y o u r n e w m o d e l , t h e f o l l o w i n g g u i d e s m a y b e h e l p f u l : - L e a r n h o w t o [ l o a d L o R A w e i g h t s ] ( . . / u s i n g - d i f f u s e r s / l o a d i n g _ a d a p t e r s # L o R A ) f o r i n f e r e n c e i f y o u t r a i n e d y o u r m o d e l w i t h L o R A . - L e a r n m o r e a b o u t h o w c e r t a i n p a r a m e t e r s l i k e g u i d a n c e s c a l e o r t e c h n i q u e s s u c h a s p r o m p t w e i g h t i n g c a n h e l p y o u c o n t r o l i n f e r e n c e i n t h e [ T e x t - t o - i m a g e ] ( . . / u s i n g - d i f f u s e r s / c o n d i t i o n a l _ i m a g e _ g e n e r a t i o n ) t a s k g u i d e . # C r e a t e a d a t a s e t f o r t r a i n i n g T h e r e a r e m a n y d a t a s e t s o n t h e [ H u b ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s ? t a s k _ c a t e g o r i e s = t a s k _ c a t e g o r i e s : t e x t - t o - i m a g e & s o r t = d o w n l o a d s ) t o t r a i n a m o d e l o n , b u t i f y o u c a n ' t f i n d o n e y o u ' r e i n t e r e s t e d i n o r w a n t t o u s e y o u r o w n , y o u c a n c r e a t e a d a t a s e t w i t h t h e ๐Ÿค— [ D a t a s e t s ] ( h f . c o / d o c s / d a t a s e t s ) l i b r a r y . T h e d a t a s e t s t r u c t u r e d e p e n d s o n t h e t a s k y o u w a n t t o t r a i n y o u r m o d e l o n . T h e m o s t b a s i c d a t a s e t s t r u c t u r e i s a d i r e c t o r y o f i m a g e s f o r t a s k s l i k e u n c o n d i t i o n a l i m a g e g e n e r a t i o n . A n o t h e r d a t a s e t s t r u c t u r e m a y b e a d i r e c t o r y o f i m a g e s a n d a t e x t f i l e c o n t a i n i n g t h e i r c o r r e s p o n d i n g t e x t c a p t i o n s f o r t a s k s l i k e t e x t - t o - i m a g e g e n e r a t i o n . T h i s g u i d e w i l l s h o w y o u t w o w a y s t o c r e a t e a d a t a s e t t o f i n e t u n e o n : - p r o v i d e a f o l d e r o f i m a g e s t o t h e ` - - t r a i n _ d a t a _ d i r ` a r g u m e n t - u p l o a d a d a t a s e t t o t h e H u b a n d p a s s t h e d a t a s e t r e p o s i t o r y i d t o t h e ` - - d a t a s e t _ n a m e ` a r g u m e n t < T i p > ๐Ÿ’ก L e a r n m o r e a b o u t h o w t o c r e a t e a n i m a g e d a t a s e t f o r t r a i n i n g i n t h e [ C r e a t e a n i m a g e d a t a s e t ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d a t a s e t s / i m a g e _ d a t a s e t ) g u i d e . < / T i p > # # P r o v i d e a d a t a s e t a s a f o l d e r F o r u n c o n d i t i o n a l g e n e r a t i o n , y o u c a n p r o v i d e y o u r o w n d a t a s e t a s a f o l d e r o f i m a g e s . T h e t r a i n i n g s c r i p t u s e s t h e [ ` I m a g e F o l d e r ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d a t a s e t s / e n / i m a g e _ d a t a s e t # i m a g e f o l d e r ) b u i l d e r f r o m ๐Ÿค— D a t a s e t s t o a u t o m a t i c a l l y b u i l d a d a t a s e t f r o m t h e f o l d e r . Y o u r d i r e c t o r y s t r u c t u r e s h o u l d l o o k l i k e : ` ` ` b a s h d a t a _ d i r / x x x . p n g d a t a _ d i r / x x y . p n g d a t a _ d i r / [ . . . ] / x x z . p n g ` ` ` P a s s t h e p a t h t o t h e d a t a s e t d i r e c t o r y t o t h e ` - - t r a i n _ d a t a _ d i r ` a r g u m e n t , a n d t h e n y o u c a n s t a r t t r a i n i n g : ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ u n c o n d i t i o n a l . p y \ - - t r a i n _ d a t a _ d i r < p a t h - t o - t r a i n - d i r e c t o r y > \ < o t h e r - a r g u m e n t s > ` ` ` # # U p l o a d y o u r d a t a t o t h e H u b < T i p > ๐Ÿ’ก F o r m o r e d e t a i l s a n d c o n t e x t a b o u t c r e a t i n g a n d u p l o a d i n g a d a t a s e t t o t h e H u b , t a k e a l o o k a t t h e [ I m a g e s e a r c h w i t h ๐Ÿค— D a t a s e t s ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / i m a g e - s e a r c h - d a t a s e t s ) p o s t . < / T i p > S t a r t b y c r e a t i n g a d a t a s e t w i t h t h e [ ` I m a g e F o l d e r ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d a t a s e t s / i m a g e _ l o a d # i m a g e f o l d e r ) f e a t u r e , w h i c h c r e a t e s a n ` i m a g e ` c o l u m n c o n t a i n i n g t h e P I L - e n c o d e d i m a g e s . Y o u c a n u s e t h e ` d a t a _ d i r ` o r ` d a t a _ f i l e s ` p a r a m e t e r s t o s p e c i f y t h e l o c a t i o n o f t h e d a t a s e t . T h e ` d a t a _ f i l e s ` p a r a m e t e r s u p p o r t s m a p p i n g s p e c i f i c f i l e s t o d a t a s e t s p l i t s l i k e ` t r a i n ` o r ` t e s t ` : ` ` ` p y t h o n f r o m d a t a s e t s i m p o r t l o a d _ d a t a s e t # e x a m p l e 1 : l o c a l f o l d e r d a t a s e t = l o a d _ d a t a s e t ( " i m a g e f o l d e r " , d a t a _ d i r = " p a t h _ t o _ y o u r _ f o l d e r " ) # e x a m p l e 2 : l o c a l f i l e s ( s u p p o r t e d f o r m a t s a r e t a r , g z i p , z i p , x z , r a r , z s t d ) d a t a s e t = l o a d _ d a t a s e t ( " i m a g e f o l d e r " , d a t a _ f i l e s = " p a t h _ t o _ z i p _ f i l e " ) # e x a m p l e 3 : r e m o t e f i l e s ( s u p p o r t e d f o r m a t s a r e t a r , g z i p , z i p , x z , r a r , z s t d ) d a t a s e t = l o a d _ d a t a s e t ( " i m a g e f o l d e r " , d a t a _ f i l e s = " h t t p s : / / d o w n l o a d . m i c r o s o f t . c o m / d o w n l o a d / 3 / E / 1 / 3 E 1 C 3 F 2 1 - E C D B - 4 8 6 9 - 8 3 6 8 - 6 D E B A 7 7 B 9 1 9 F / k a g g l e c a t s a n d d o g s _ 3 3 6 7 a . z i p " , ) # e x a m p l e 4 : p r o v i d i n g s e v e r a l s p l i t s d a t a s e t = l o a d _ d a t a s e t ( " i m a g e f o l d e r " , d a t a _ f i l e s = { " t r a i n " : [ " p a t h / t o / f i l e 1 " , " p a t h / t o / f i l e 2 " ] , " t e s t " : [ " p a t h / t o / f i l e 3 " , " p a t h / t o / f i l e 4 " ] } ) ` ` ` T h e n u s e t h e [ p u s h _ t o _ h u b ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d a t a s e t s / m a i n / e n / p a c k a g e _ r e f e r e n c e / m a i n _ c l a s s e s # d a t a s e t s . D a t a s e t . p u s h _ t o _ h u b ) m e t h o d t o u p l o a d t h e d a t a s e t t o t h e H u b : ` ` ` p y t h o n # a s s u m i n g y o u h a v e r a n t h e h u g g i n g f a c e - c l i l o g i n c o m m a n d i n a t e r m i n a l d a t a s e t . p u s h _ t o _ h u b ( " n a m e _ o f _ y o u r _ d a t a s e t " ) # i f y o u w a n t t o p u s h t o a p r i v a t e r e p o , s i m p l y p a s s p r i v a t e = T r u e : d a t a s e t . p u s h _ t o _ h u b ( " n a m e _ o f _ y o u r _ d a t a s e t " , p r i v a t e = T r u e ) ` ` ` N o w t h e d a t a s e t i s a v a i l a b l e f o r t r a i n i n g b y p a s s i n g t h e d a t a s e t n a m e t o t h e ` - - d a t a s e t _ n a m e ` a r g u m e n t : ` ` ` b a s h a c c e l e r a t e l a u n c h - - m i x e d _ p r e c i s i o n = " f p 1 6 " t r a i n _ t e x t _ t o _ i m a g e . p y \ - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " \ - - d a t a s e t _ n a m e = " n a m e _ o f _ y o u r _ d a t a s e t " \ < o t h e r - a r g u m e n t s > ` ` ` # # N e x t s t e p s N o w t h a t y o u ' v e c r e a t e d a d a t a s e t , y o u c a n p l u g i t i n t o t h e ` t r a i n _ d a t a _ d i r ` ( i f y o u r d a t a s e t i s l o c a l ) o r ` d a t a s e t _ n a m e ` ( i f y o u r d a t a s e t i s o n t h e H u b ) a r g u m e n t s o f a t r a i n i n g s c r i p t . F o r y o u r n e x t s t e p s , f e e l f r e e t o t r y a n d u s e y o u r d a t a s e t t o t r a i n a m o d e l f o r [ u n c o n d i t i o n a l g e n e r a t i o n ] ( u n c o n d i t i o n a l _ t r a i n i n g ) o r [ t e x t - t o - i m a g e g e n e r a t i o n ] ( t e x t 2 i m a g e ) ! # O v e r v i e w ๐Ÿค— D i f f u s e r s p r o v i d e s a c o l l e c t i o n o f t r a i n i n g s c r i p t s f o r y o u t o t r a i n y o u r o w n d i f f u s i o n m o d e l s . Y o u c a n f i n d a l l o f o u r t r a i n i n g s c r i p t s i n [ d i f f u s e r s / e x a m p l e s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s ) . E a c h t r a i n i n g s c r i p t i s : - * * S e l f - c o n t a i n e d * * : t h e t r a i n i n g s c r i p t d o e s n o t d e p e n d o n a n y l o c a l f i l e s , a n d a l l p a c k a g e s r e q u i r e d t o r u n t h e s c r i p t a r e i n s t a l l e d f r o m t h e ` r e q u i r e m e n t s . t x t ` f i l e . - * * E a s y - t o - t w e a k * * : t h e t r a i n i n g s c r i p t s a r e a n e x a m p l e o f h o w t o t r a i n a d i f f u s i o n m o d e l f o r a s p e c i f i c t a s k a n d w o n ' t w o r k o u t - o f - t h e - b o x f o r e v e r y t r a i n i n g s c e n a r i o . Y o u ' l l l i k e l y n e e d t o a d a p t t h e t r a i n i n g s c r i p t f o r y o u r s p e c i f i c u s e - c a s e . T o h e l p y o u w i t h t h a t , w e ' v e f u l l y e x p o s e d t h e d a t a p r e p r o c e s s i n g c o d e a n d t h e t r a i n i n g l o o p s o y o u c a n m o d i f y i t f o r y o u r o w n u s e . - * * B e g i n n e r - f r i e n d l y * * : t h e t r a i n i n g s c r i p t s a r e d e s i g n e d t o b e b e g i n n e r - f r i e n d l y a n d e a s y t o u n d e r s t a n d , r a t h e r t h a n i n c l u d i n g t h e l a t e s t s t a t e - o f - t h e - a r t m e t h o d s t o g e t t h e b e s t a n d m o s t c o m p e t i t i v e r e s u l t s . A n y t r a i n i n g m e t h o d s w e c o n s i d e r t o o c o m p l e x a r e p u r p o s e f u l l y l e f t o u t . - * * S i n g l e - p u r p o s e * * : e a c h t r a i n i n g s c r i p t i s e x p r e s s l y d e s i g n e d f o r o n l y o n e t a s k t o k e e p i t r e a d a b l e a n d u n d e r s t a n d a b l e . O u r c u r r e n t c o l l e c t i o n o f t r a i n i n g s c r i p t s i n c l u d e : | T r a i n i n g | S D X L - s u p p o r t | L o R A - s u p p o r t | F l a x - s u p p o r t | | - - - | - - - | - - - | - - - | | [ u n c o n d i t i o n a l i m a g e g e n e r a t i o n ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / u n c o n d i t i o n a l _ i m a g e _ g e n e r a t i o n ) [ ! [ O p e n I n C o l a b ] ( h t t p s : / / c o l a b . r e s e a r c h . g o o g l e . c o m / a s s e t s / c o l a b - b a d g e . s v g ) ] ( h t t p s : / / c o l a b . r e s e a r c h . g o o g l e . c o m / g i t h u b / h u g g i n g f a c e / n o t e b o o k s / b l o b / m a i n / d i f f u s e r s / t r a i n i n g _ e x a m p l e . i p y n b ) | | | | | [ t e x t - t o - i m a g e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / t e x t _ t o _ i m a g e ) | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | [ t e x t u a l i n v e r s i o n ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / t e x t u a l _ i n v e r s i o n ) [ ! [ O p e n I n C o l a b ] ( h t t p s : / / c o l a b . r e s e a r c h . g o o g l e . c o m / a s s e t s / c o l a b - b a d g e . s v g ) ] ( h t t p s : / / c o l a b . r e s e a r c h . g o o g l e . c o m / g i t h u b / h u g g i n g f a c e / n o t e b o o k s / b l o b / m a i n / d i f f u s e r s / s d _ t e x t u a l _ i n v e r s i o n _ t r a i n i n g . i p y n b ) | | | ๐Ÿ‘ | | [ D r e a m B o o t h ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / d r e a m b o o t h ) [ ! [ O p e n I n C o l a b ] ( h t t p s : / / c o l a b . r e s e a r c h . g o o g l e . c o m / a s s e t s / c o l a b - b a d g e . s v g ) ] ( h t t p s : / / c o l a b . r e s e a r c h . g o o g l e . c o m / g i t h u b / h u g g i n g f a c e / n o t e b o o k s / b l o b / m a i n / d i f f u s e r s / s d _ d r e a m b o o t h _ t r a i n i n g . i p y n b ) | ๐Ÿ‘ | ๐Ÿ‘ | ๐Ÿ‘ | | [ C o n t r o l N e t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / c o n t r o l n e t ) | ๐Ÿ‘ | | ๐Ÿ‘ | | [ I n s t r u c t P i x 2 P i x ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / i n s t r u c t _ p i x 2 p i x ) | ๐Ÿ‘ | | | | [ C u s t o m D i f f u s i o n ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / c u s t o m _ d i f f u s i o n ) | | | | | [ T 2 I - A d a p t e r s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / t 2 i _ a d a p t e r ) | ๐Ÿ‘ | | | | [ K a n d i n s k y 2 . 2 ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / k a n d i n s k y 2 _ 2 / t e x t _ t o _ i m a g e ) | | ๐Ÿ‘ | | | [ W u e r s t c h e n ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / w u e r s t c h e n / t e x t _ t o _ i m a g e ) | | ๐Ÿ‘ | | T h e s e e x a m p l e s a r e * * a c t i v e l y * * m a i n t a i n e d , s o p l e a s e f e e l f r e e t o o p e n a n i s s u e i f t h e y a r e n ' t w o r k i n g a s e x p e c t e d . I f y o u f e e l l i k e a n o t h e r t r a i n i n g e x a m p l e s h o u l d b e i n c l u d e d , y o u ' r e m o r e t h a n w e l c o m e t o s t a r t a [ F e a t u r e R e q u e s t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / n e w ? a s s i g n e e s = & l a b e l s = & t e m p l a t e = f e a t u r e _ r e q u e s t . m d & t i t l e = ) t o d i s c u s s y o u r f e a t u r e i d e a w i t h u s a n d w h e t h e r i t m e e t s o u r c r i t e r i a o f b e i n g s e l f - c o n t a i n e d , e a s y - t o - t w e a k , b e g i n n e r - f r i e n d l y , a n d s i n g l e - p u r p o s e . # # I n s t a l l M a k e s u r e y o u c a n s u c c e s s f u l l y r u n t h e l a t e s t v e r s i o n s o f t h e e x a m p l e s c r i p t s b y i n s t a l l i n g t h e l i b r a r y f r o m s o u r c e i n a n e w v i r t u a l e n v i r o n m e n t : ` ` ` b a s h g i t c l o n e h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s c d d i f f u s e r s p i p i n s t a l l . ` ` ` T h e n n a v i g a t e t o t h e f o l d e r o f t h e t r a i n i n g s c r i p t ( f o r e x a m p l e , [ D r e a m B o o t h ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / d r e a m b o o t h ) ) a n d i n s t a l l t h e ` r e q u i r e m e n t s . t x t ` f i l e . S o m e t r a i n i n g s c r i p t s h a v e a s p e c i f i c r e q u i r e m e n t f i l e f o r S D X L , L o R A o r F l a x . I f y o u ' r e u s i n g o n e o f t h e s e s c r i p t s , m a k e s u r e y o u i n s t a l l i t s c o r r e s p o n d i n g r e q u i r e m e n t s f i l e . ` ` ` b a s h c d e x a m p l e s / d r e a m b o o t h p i p i n s t a l l - r r e q u i r e m e n t s . t x t # t o t r a i n S D X L w i t h D r e a m B o o t h p i p i n s t a l l - r r e q u i r e m e n t s _ s d x l . t x t ` ` ` T o s p e e d u p t r a i n i n g a n d r e d u c e m e m o r y - u s a g e , w e r e c o m m e n d : - u s i n g P y T o r c h 2 . 0 o r h i g h e r t o a u t o m a t i c a l l y u s e [ s c a l e d d o t p r o d u c t a t t e n t i o n ] ( . . / o p t i m i z a t i o n / t o r c h 2 . 0 # s c a l e d - d o t - p r o d u c t - a t t e n t i o n ) d u r i n g t r a i n i n g ( y o u d o n ' t n e e d t o m a k e a n y c h a n g e s t o t h e t r a i n i n g c o d e ) - i n s t a l l i n g [ x F o r m e r s ] ( . . / o p t i m i z a t i o n / x f o r m e r s ) t o e n a b l e m e m o r y - e f f i c i e n t a t t e n t i o n # L o R A < T i p w a r n i n g = { t r u e } > T h i s i s e x p e r i m e n t a l a n d t h e A P I m a y c h a n g e i n t h e f u t u r e . < / T i p > [ L o R A ( L o w - R a n k A d a p t a t i o n o f L a r g e L a n g u a g e M o d e l s ) ] ( h t t p s : / / h f . c o / p a p e r s / 2 1 0 6 . 0 9 6 8 5 ) i s a p o p u l a r a n d l i g h t w e i g h t t r a i n i n g t e c h n i q u e t h a t s i g n i f i c a n t l y r e d u c e s t h e n u m b e r o f t r a i n a b l e p a r a m e t e r s . I t w o r k s b y i n s e r t i n g a s m a l l e r n u m b e r o f n e w w e i g h t s i n t o t h e m o d e l a n d o n l y t h e s e a r e t r a i n e d . T h i s m a k e s t r a i n i n g w i t h L o R A m u c h f a s t e r , m e m o r y - e f f i c i e n t , a n d p r o d u c e s s m a l l e r m o d e l w e i g h t s ( a f e w h u n d r e d M B s ) , w h i c h a r e e a s i e r t o s t o r e a n d s h a r e . L o R A c a n a l s o b e c o m b i n e d w i t h o t h e r t r a i n i n g t e c h n i q u e s l i k e D r e a m B o o t h t o s p e e d u p t r a i n i n g . < T i p > L o R A i s v e r y v e r s a t i l e a n d s u p p o r t e d f o r [ D r e a m B o o t h ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / d r e a m b o o t h / t r a i n _ d r e a m b o o t h _ l o r a . p y ) , [ K a n d i n s k y 2 . 2 ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / k a n d i n s k y 2 _ 2 / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ l o r a _ d e c o d e r . p y ) , [ S t a b l e D i f f u s i o n X L ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ l o r a _ s d x l . p y ) , [ t e x t - t o - i m a g e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ l o r a . p y ) , a n d [ W u e r s t c h e n ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / w u e r s t c h e n / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ l o r a _ p r i o r . p y ) . < / T i p > T h i s g u i d e w i l l e x p l o r e t h e [ t r a i n _ t e x t _ t o _ i m a g e _ l o r a . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ l o r a . p y ) s c r i p t t o h e l p y o u b e c o m e m o r e f a m i l i a r w i t h i t , a n d h o w y o u c a n a d a p t i t f o r y o u r o w n u s e - c a s e . B e f o r e r u n n i n g t h e s c r i p t , m a k e s u r e y o u i n s t a l l t h e l i b r a r y f r o m s o u r c e : ` ` ` b a s h g i t c l o n e h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s c d d i f f u s e r s p i p i n s t a l l . ` ` ` N a v i g a t e t o t h e e x a m p l e f o l d e r w i t h t h e t r a i n i n g s c r i p t a n d i n s t a l l t h e r e q u i r e d d e p e n d e n c i e s f o r t h e s c r i p t y o u ' r e u s i n g : < h f o p t i o n s i d = " i n s t a l l a t i o n " > < h f o p t i o n i d = " P y T o r c h " > ` ` ` b a s h c d e x a m p l e s / t e x t _ t o _ i m a g e p i p i n s t a l l - r r e q u i r e m e n t s . t x t ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " F l a x " > ` ` ` b a s h c d e x a m p l e s / t e x t _ t o _ i m a g e p i p i n s t a l l - r r e q u i r e m e n t s _ f l a x . t x t ` ` ` < / h f o p t i o n > < / h f o p t i o n s > < T i p > ๐Ÿค— A c c e l e r a t e i s a l i b r a r y f o r h e l p i n g y o u t r a i n o n m u l t i p l e G P U s / T P U s o r w i t h m i x e d - p r e c i s i o n . I t ' l l a u t o m a t i c a l l y c o n f i g u r e y o u r t r a i n i n g s e t u p b a s e d o n y o u r h a r d w a r e a n d e n v i r o n m e n t . T a k e a l o o k a t t h e ๐Ÿค— A c c e l e r a t e [ Q u i c k t o u r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / q u i c k t o u r ) t o l e a r n m o r e . < / T i p > I n i t i a l i z e a n ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t : ` ` ` b a s h a c c e l e r a t e c o n f i g ` ` ` T o s e t u p a d e f a u l t ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t w i t h o u t c h o o s i n g a n y c o n f i g u r a t i o n s : ` ` ` b a s h a c c e l e r a t e c o n f i g d e f a u l t ` ` ` O r i f y o u r e n v i r o n m e n t d o e s n ' t s u p p o r t a n i n t e r a c t i v e s h e l l , l i k e a n o t e b o o k , y o u c a n u s e : ` ` ` p y f r o m a c c e l e r a t e . u t i l s i m p o r t w r i t e _ b a s i c _ c o n f i g w r i t e _ b a s i c _ c o n f i g ( ) ` ` ` L a s t l y , i f y o u w a n t t o t r a i n a m o d e l o n y o u r o w n d a t a s e t , t a k e a l o o k a t t h e [ C r e a t e a d a t a s e t f o r t r a i n i n g ] ( c r e a t e _ d a t a s e t ) g u i d e t o l e a r n h o w t o c r e a t e a d a t a s e t t h a t w o r k s w i t h t h e t r a i n i n g s c r i p t . < T i p > T h e f o l l o w i n g s e c t i o n s h i g h l i g h t p a r t s o f t h e t r a i n i n g s c r i p t t h a t a r e i m p o r t a n t f o r u n d e r s t a n d i n g h o w t o m o d i f y i t , b u t i t d o e s n ' t c o v e r e v e r y a s p e c t o f t h e s c r i p t i n d e t a i l . I f y o u ' r e i n t e r e s t e d i n l e a r n i n g m o r e , f e e l f r e e t o r e a d t h r o u g h t h e [ s c r i p t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / t e x t _ t o _ i m a g e / t e x t _ t o _ i m a g e _ l o r a . p y ) a n d l e t u s k n o w i f y o u h a v e a n y q u e s t i o n s o r c o n c e r n s . < / T i p > # # S c r i p t p a r a m e t e r s T h e t r a i n i n g s c r i p t h a s m a n y p a r a m e t e r s t o h e l p y o u c u s t o m i z e y o u r t r a i n i n g r u n . A l l o f t h e p a r a m e t e r s a n d t h e i r d e s c r i p t i o n s a r e f o u n d i n t h e [ ` p a r s e _ a r g s ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / d d 9 a 5 c a f 6 1 f 0 4 d 1 1 c 0 f a 9 f 3 9 4 7 b 6 9 a b 0 0 1 0 c 9 a 0 f / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ l o r a . p y # L 8 5 ) f u n c t i o n . D e f a u l t v a l u e s a r e p r o v i d e d f o r m o s t p a r a m e t e r s t h a t w o r k p r e t t y w e l l , b u t y o u c a n a l s o s e t y o u r o w n v a l u e s i n t h e t r a i n i n g c o m m a n d i f y o u ' d l i k e . F o r e x a m p l e , t o i n c r e a s e t h e n u m b e r o f e p o c h s t o t r a i n : ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ t e x t _ t o _ i m a g e _ l o r a . p y \ - - n u m _ t r a i n _ e p o c h s = 1 5 0 \ ` ` ` M a n y o f t h e b a s i c a n d i m p o r t a n t p a r a m e t e r s a r e d e s c r i b e d i n t h e [ T e x t - t o - i m a g e ] ( t e x t 2 i m a g e # s c r i p t - p a r a m e t e r s ) t r a i n i n g g u i d e , s o t h i s g u i d e j u s t f o c u s e s o n t h e L o R A r e l e v a n t p a r a m e t e r s : - ` - - r a n k ` : t h e i n n e r d i m e n s i o n o f t h e l o w - r a n k m a t r i c e s t o t r a i n ; a h i g h e r r a n k m e a n s m o r e t r a i n a b l e p a r a m e t e r s - ` - - l e a r n i n g _ r a t e ` : t h e d e f a u l t l e a r n i n g r a t e i s 1 e - 4 , b u t w i t h L o R A , y o u c a n u s e a h i g h e r l e a r n i n g r a t e # # T r a i n i n g s c r i p t T h e d a t a s e t p r e p r o c e s s i n g c o d e a n d t r a i n i n g l o o p a r e f o u n d i n t h e [ ` m a i n ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / d d 9 a 5 c a f 6 1 f 0 4 d 1 1 c 0 f a 9 f 3 9 4 7 b 6 9 a b 0 0 1 0 c 9 a 0 f / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ l o r a . p y # L 3 7 1 ) f u n c t i o n , a n d i f y o u n e e d t o a d a p t t h e t r a i n i n g s c r i p t , t h i s i s w h e r e y o u ' l l m a k e y o u r c h a n g e s . A s w i t h t h e s c r i p t p a r a m e t e r s , a w a l k t h r o u g h o f t h e t r a i n i n g s c r i p t i s p r o v i d e d i n t h e [ T e x t - t o - i m a g e ] ( t e x t 2 i m a g e # t r a i n i n g - s c r i p t ) t r a i n i n g g u i d e . I n s t e a d , t h i s g u i d e t a k e s a l o o k a t t h e L o R A r e l e v a n t p a r t s o f t h e s c r i p t . < h f o p t i o n s i d = " l o r a " > < h f o p t i o n i d = " U N e t " > D i f f u s e r s u s e s ` ~ p e f t . L o r a C o n f i g ` f r o m t h e [ P E F T ] ( h t t p s : / / h f . c o / d o c s / p e f t ) l i b r a r y t o s e t u p t h e p a r a m e t e r s o f t h e L o R A a d a p t e r s u c h a s t h e r a n k , a l p h a , a n d w h i c h m o d u l e s t o i n s e r t t h e L o R A w e i g h t s i n t o . T h e a d a p t e r i s a d d e d t o t h e U N e t , a n d o n l y t h e L o R A l a y e r s a r e f i l t e r e d f o r o p t i m i z a t i o n i n ` l o r a _ l a y e r s ` . ` ` ` p y u n e t _ l o r a _ c o n f i g = L o r a C o n f i g ( r = a r g s . r a n k , l o r a _ a l p h a = a r g s . r a n k , i n i t _ l o r a _ w e i g h t s = " g a u s s i a n " , t a r g e t _ m o d u l e s = [ " t o _ k " , " t o _ q " , " t o _ v " , " t o _ o u t . 0 " ] , ) u n e t . a d d _ a d a p t e r ( u n e t _ l o r a _ c o n f i g ) l o r a _ l a y e r s = f i l t e r ( l a m b d a p : p . r e q u i r e s _ g r a d , u n e t . p a r a m e t e r s ( ) ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " t e x t e n c o d e r " > D i f f u s e r s a l s o s u p p o r t s f i n e t u n i n g t h e t e x t e n c o d e r w i t h L o R A f r o m t h e [ P E F T ] ( h t t p s : / / h f . c o / d o c s / p e f t ) l i b r a r y w h e n n e c e s s a r y s u c h a s f i n e t u n i n g S t a b l e D i f f u s i o n X L ( S D X L ) . T h e ` ~ p e f t . L o r a C o n f i g ` i s u s e d t o c o n f i g u r e t h e p a r a m e t e r s o f t h e L o R A a d a p t e r w h i c h a r e t h e n a d d e d t o t h e t e x t e n c o d e r , a n d o n l y t h e L o R A l a y e r s a r e f i l t e r e d f o r t r a i n i n g . ` ` ` p y t e x t _ l o r a _ c o n f i g = L o r a C o n f i g ( r = a r g s . r a n k , l o r a _ a l p h a = a r g s . r a n k , i n i t _ l o r a _ w e i g h t s = " g a u s s i a n " , t a r g e t _ m o d u l e s = [ " q _ p r o j " , " k _ p r o j " , " v _ p r o j " , " o u t _ p r o j " ] , ) t e x t _ e n c o d e r _ o n e . a d d _ a d a p t e r ( t e x t _ l o r a _ c o n f i g ) t e x t _ e n c o d e r _ t w o . a d d _ a d a p t e r ( t e x t _ l o r a _ c o n f i g ) t e x t _ l o r a _ p a r a m e t e r s _ o n e = l i s t ( f i l t e r ( l a m b d a p : p . r e q u i r e s _ g r a d , t e x t _ e n c o d e r _ o n e . p a r a m e t e r s ( ) ) ) t e x t _ l o r a _ p a r a m e t e r s _ t w o = l i s t ( f i l t e r ( l a m b d a p : p . r e q u i r e s _ g r a d , t e x t _ e n c o d e r _ t w o . p a r a m e t e r s ( ) ) ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > T h e [ o p t i m i z e r ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / e 4 b 8 f 1 7 3 b 9 7 7 3 1 6 8 6 e 2 9 0 b 2 e b 9 8 e 7 f 5 d f 2 b 1 b 3 2 2 / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ l o r a . p y # L 5 2 9 ) i s i n i t i a l i z e d w i t h t h e ` l o r a _ l a y e r s ` b e c a u s e t h e s e a r e t h e o n l y w e i g h t s t h a t ' l l b e o p t i m i z e d : ` ` ` p y o p t i m i z e r = o p t i m i z e r _ c l s ( l o r a _ l a y e r s , l r = a r g s . l e a r n i n g _ r a t e , b e t a s = ( a r g s . a d a m _ b e t a 1 , a r g s . a d a m _ b e t a 2 ) , w e i g h t _ d e c a y = a r g s . a d a m _ w e i g h t _ d e c a y , e p s = a r g s . a d a m _ e p s i l o n , ) ` ` ` A s i d e f r o m s e t t i n g u p t h e L o R A l a y e r s , t h e t r a i n i n g s c r i p t i s m o r e o r l e s s t h e s a m e a s t r a i n _ t e x t _ t o _ i m a g e . p y ! # # L a u n c h t h e s c r i p t O n c e y o u ' v e m a d e a l l y o u r c h a n g e s o r y o u ' r e o k a y w i t h t h e d e f a u l t c o n f i g u r a t i o n , y o u ' r e r e a d y t o l a u n c h t h e t r a i n i n g s c r i p t ! ๐Ÿš€ L e t ' s t r a i n o n t h e [ N a r u t o B L I P c a p t i o n s ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / l a m b d a l a b s / n a r u t o - b l i p - c a p t i o n s ) d a t a s e t t o g e n e r a t e y o u r o w n N a r u t o c h a r a c t e r s . S e t t h e e n v i r o n m e n t v a r i a b l e s ` M O D E L _ N A M E ` a n d ` D A T A S E T _ N A M E ` t o t h e m o d e l a n d d a t a s e t r e s p e c t i v e l y . Y o u s h o u l d a l s o s p e c i f y w h e r e t o s a v e t h e m o d e l i n ` O U T P U T _ D I R ` , a n d t h e n a m e o f t h e m o d e l t o s a v e t o o n t h e H u b w i t h ` H U B _ M O D E L _ I D ` . T h e s c r i p t c r e a t e s a n d s a v e s t h e f o l l o w i n g f i l e s t o y o u r r e p o s i t o r y : - s a v e d m o d e l c h e c k p o i n t s - ` p y t o r c h _ l o r a _ w e i g h t s . s a f e t e n s o r s ` ( t h e t r a i n e d L o R A w e i g h t s ) I f y o u ' r e t r a i n i n g o n m o r e t h a n o n e G P U , a d d t h e ` - - m u l t i _ g p u ` p a r a m e t e r t o t h e ` a c c e l e r a t e l a u n c h ` c o m m a n d . < T i p w a r n i n g = { t r u e } > A f u l l t r a i n i n g r u n t a k e s ~ 5 h o u r s o n a 2 0 8 0 T i G P U w i t h 1 1 G B o f V R A M . < / T i p > ` ` ` b a s h e x p o r t M O D E L _ N A M E = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " e x p o r t O U T P U T _ D I R = " / s d d a t a / f i n e t u n e / l o r a / n a r u t o " e x p o r t H U B _ M O D E L _ I D = " n a r u t o - l o r a " e x p o r t D A T A S E T _ N A M E = " l a m b d a l a b s / n a r u t o - b l i p - c a p t i o n s " a c c e l e r a t e l a u n c h - - m i x e d _ p r e c i s i o n = " f p 1 6 " t r a i n _ t e x t _ t o _ i m a g e _ l o r a . p y \ - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h = $ M O D E L _ N A M E \ - - d a t a s e t _ n a m e = $ D A T A S E T _ N A M E \ - - d a t a l o a d e r _ n u m _ w o r k e r s = 8 \ - - r e s o l u t i o n = 5 1 2 \ - - c e n t e r _ c r o p \ - - r a n d o m _ f l i p \ - - t r a i n _ b a t c h _ s i z e = 1 \ - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s = 4 \ - - m a x _ t r a i n _ s t e p s = 1 5 0 0 0 \ - - l e a r n i n g _ r a t e = 1 e - 0 4 \ - - m a x _ g r a d _ n o r m = 1 \ - - l r _ s c h e d u l e r = " c o s i n e " \ - - l r _ w a r m u p _ s t e p s = 0 \ - - o u t p u t _ d i r = $ { O U T P U T _ D I R } \ - - p u s h _ t o _ h u b \ - - h u b _ m o d e l _ i d = $ { H U B _ M O D E L _ I D } \ - - r e p o r t _ t o = w a n d b \ - - c h e c k p o i n t i n g _ s t e p s = 5 0 0 \ - - v a l i d a t i o n _ p r o m p t = " A n a r u t o w i t h b l u e e y e s . " \ - - s e e d = 1 3 3 7 ` ` ` O n c e t r a i n i n g h a s b e e n c o m p l e t e d , y o u c a n u s e y o u r m o d e l f o r i n f e r e n c e : ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e . l o a d _ l o r a _ w e i g h t s ( " p a t h / t o / l o r a / m o d e l " , w e i g h t _ n a m e = " p y t o r c h _ l o r a _ w e i g h t s . s a f e t e n s o r s " ) i m a g e = p i p e l i n e ( " A n a r u t o w i t h b l u e e y e s " ) . i m a g e s [ 0 ] ` ` ` # # N e x t s t e p s C o n g r a t u l a t i o n s o n t r a i n i n g a n e w m o d e l w i t h L o R A ! T o l e a r n m o r e a b o u t h o w t o u s e y o u r n e w m o d e l , t h e f o l l o w i n g g u i d e s m a y b e h e l p f u l : - L e a r n h o w t o [ l o a d d i f f e r e n t L o R A f o r m a t s ] ( . . / u s i n g - d i f f u s e r s / l o a d i n g _ a d a p t e r s # L o R A ) t r a i n e d u s i n g c o m m u n i t y t r a i n e r s l i k e K o h y a a n d T h e L a s t B e n . - L e a r n h o w t o u s e a n d [ c o m b i n e m u l t i p l e L o R A ' s ] ( . . / t u t o r i a l s / u s i n g _ p e f t _ f o r _ i n f e r e n c e ) w i t h P E F T f o r i n f e r e n c e . # S t a b l e D i f f u s i o n X L < T i p w a r n i n g = { t r u e } > T h i s s c r i p t i s e x p e r i m e n t a l , a n d i t ' s e a s y t o o v e r f i t a n d r u n i n t o i s s u e s l i k e c a t a s t r o p h i c f o r g e t t i n g . T r y e x p l o r i n g d i f f e r e n t h y p e r p a r a m e t e r s t o g e t t h e b e s t r e s u l t s o n y o u r d a t a s e t . < / T i p > [ S t a b l e D i f f u s i o n X L ( S D X L ) ] ( h t t p s : / / h f . c o / p a p e r s / 2 3 0 7 . 0 1 9 5 2 ) i s a l a r g e r a n d m o r e p o w e r f u l i t e r a t i o n o f t h e S t a b l e D i f f u s i o n m o d e l , c a p a b l e o f p r o d u c i n g h i g h e r r e s o l u t i o n i m a g e s . S D X L ' s U N e t i s 3 x l a r g e r a n d t h e m o d e l a d d s a s e c o n d t e x t e n c o d e r t o t h e a r c h i t e c t u r e . D e p e n d i n g o n t h e h a r d w a r e a v a i l a b l e t o y o u , t h i s c a n b e v e r y c o m p u t a t i o n a l l y i n t e n s i v e a n d i t m a y n o t r u n o n a c o n s u m e r G P U l i k e a T e s l a T 4 . T o h e l p f i t t h i s l a r g e r m o d e l i n t o m e m o r y a n d t o s p e e d u p t r a i n i n g , t r y e n a b l i n g ` g r a d i e n t _ c h e c k p o i n t i n g ` , ` m i x e d _ p r e c i s i o n ` , a n d ` g r a d i e n t _ a c c u m u l a t i o n _ s t e p s ` . Y o u c a n r e d u c e y o u r m e m o r y - u s a g e e v e n m o r e b y e n a b l i n g m e m o r y - e f f i c i e n t a t t e n t i o n w i t h [ x F o r m e r s ] ( . . / o p t i m i z a t i o n / x f o r m e r s ) a n d u s i n g [ b i t s a n d b y t e s ' ] ( h t t p s : / / g i t h u b . c o m / T i m D e t t m e r s / b i t s a n d b y t e s ) 8 - b i t o p t i m i z e r . T h i s g u i d e w i l l e x p l o r e t h e [ t r a i n _ t e x t _ t o _ i m a g e _ s d x l . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ s d x l . p y ) t r a i n i n g s c r i p t t o h e l p y o u b e c o m e m o r e f a m i l i a r w i t h i t , a n d h o w y o u c a n a d a p t i t f o r y o u r o w n u s e - c a s e . B e f o r e r u n n i n g t h e s c r i p t , m a k e s u r e y o u i n s t a l l t h e l i b r a r y f r o m s o u r c e : ` ` ` b a s h g i t c l o n e h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s c d d i f f u s e r s p i p i n s t a l l . ` ` ` T h e n n a v i g a t e t o t h e e x a m p l e f o l d e r c o n t a i n i n g t h e t r a i n i n g s c r i p t a n d i n s t a l l t h e r e q u i r e d d e p e n d e n c i e s f o r t h e s c r i p t y o u ' r e u s i n g : ` ` ` b a s h c d e x a m p l e s / t e x t _ t o _ i m a g e p i p i n s t a l l - r r e q u i r e m e n t s _ s d x l . t x t ` ` ` < T i p > ๐Ÿค— A c c e l e r a t e i s a l i b r a r y f o r h e l p i n g y o u t r a i n o n m u l t i p l e G P U s / T P U s o r w i t h m i x e d - p r e c i s i o n . I t ' l l a u t o m a t i c a l l y c o n f i g u r e y o u r t r a i n i n g s e t u p b a s e d o n y o u r h a r d w a r e a n d e n v i r o n m e n t . T a k e a l o o k a t t h e ๐Ÿค— A c c e l e r a t e [ Q u i c k t o u r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / q u i c k t o u r ) t o l e a r n m o r e . < / T i p > I n i t i a l i z e a n ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t : ` ` ` b a s h a c c e l e r a t e c o n f i g ` ` ` T o s e t u p a d e f a u l t ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t w i t h o u t c h o o s i n g a n y c o n f i g u r a t i o n s : ` ` ` b a s h a c c e l e r a t e c o n f i g d e f a u l t ` ` ` O r i f y o u r e n v i r o n m e n t d o e s n ' t s u p p o r t a n i n t e r a c t i v e s h e l l , l i k e a n o t e b o o k , y o u c a n u s e : ` ` ` p y f r o m a c c e l e r a t e . u t i l s i m p o r t w r i t e _ b a s i c _ c o n f i g w r i t e _ b a s i c _ c o n f i g ( ) ` ` ` L a s t l y , i f y o u w a n t t o t r a i n a m o d e l o n y o u r o w n d a t a s e t , t a k e a l o o k a t t h e [ C r e a t e a d a t a s e t f o r t r a i n i n g ] ( c r e a t e _ d a t a s e t ) g u i d e t o l e a r n h o w t o c r e a t e a d a t a s e t t h a t w o r k s w i t h t h e t r a i n i n g s c r i p t . # # S c r i p t p a r a m e t e r s < T i p > T h e f o l l o w i n g s e c t i o n s h i g h l i g h t p a r t s o f t h e t r a i n i n g s c r i p t t h a t a r e i m p o r t a n t f o r u n d e r s t a n d i n g h o w t o m o d i f y i t , b u t i t d o e s n ' t c o v e r e v e r y a s p e c t o f t h e s c r i p t i n d e t a i l . I f y o u ' r e i n t e r e s t e d i n l e a r n i n g m o r e , f e e l f r e e t o r e a d t h r o u g h t h e [ s c r i p t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ s d x l . p y ) a n d l e t u s k n o w i f y o u h a v e a n y q u e s t i o n s o r c o n c e r n s . < / T i p > T h e t r a i n i n g s c r i p t p r o v i d e s m a n y p a r a m e t e r s t o h e l p y o u c u s t o m i z e y o u r t r a i n i n g r u n . A l l o f t h e p a r a m e t e r s a n d t h e i r d e s c r i p t i o n s a r e f o u n d i n t h e [ ` p a r s e _ a r g s ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / a a b 6 d e 2 2 c 3 3 c c 0 1 f b 7 b c 8 1 c 0 8 0 7 d 6 1 0 9 e 2 c 9 9 8 c 9 / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ s d x l . p y # L 1 2 9 ) f u n c t i o n . T h i s f u n c t i o n p r o v i d e s d e f a u l t v a l u e s f o r e a c h p a r a m e t e r , s u c h a s t h e t r a i n i n g b a t c h s i z e a n d l e a r n i n g r a t e , b u t y o u c a n a l s o s e t y o u r o w n v a l u e s i n t h e t r a i n i n g c o m m a n d i f y o u ' d l i k e . F o r e x a m p l e , t o s p e e d u p t r a i n i n g w i t h m i x e d p r e c i s i o n u s i n g t h e b f 1 6 f o r m a t , a d d t h e ` - - m i x e d _ p r e c i s i o n ` p a r a m e t e r t o t h e t r a i n i n g c o m m a n d : ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ t e x t _ t o _ i m a g e _ s d x l . p y \ - - m i x e d _ p r e c i s i o n = " b f 1 6 " ` ` ` M o s t o f t h e p a r a m e t e r s a r e i d e n t i c a l t o t h e p a r a m e t e r s i n t h e [ T e x t - t o - i m a g e ] ( t e x t 2 i m a g e # s c r i p t - p a r a m e t e r s ) t r a i n i n g g u i d e , s o y o u ' l l f o c u s o n t h e p a r a m e t e r s t h a t a r e r e l e v a n t t o t r a i n i n g S D X L i n t h i s g u i d e . - ` - - p r e t r a i n e d _ v a e _ m o d e l _ n a m e _ o r _ p a t h ` : p a t h t o a p r e t r a i n e d V A E ; t h e S D X L V A E i s k n o w n t o s u f f e r f r o m n u m e r i c a l i n s t a b i l i t y , s o t h i s p a r a m e t e r a l l o w s y o u t o s p e c i f y a b e t t e r [ V A E ] ( h t t p s : / / h u g g i n g f a c e . c o / m a d e b y o l l i n / s d x l - v a e - f p 1 6 - f i x ) - ` - - p r o p o r t i o n _ e m p t y _ p r o m p t s ` : t h e p r o p o r t i o n o f i m a g e p r o m p t s t o r e p l a c e w i t h e m p t y s t r i n g s - ` - - t i m e s t e p _ b i a s _ s t r a t e g y ` : w h e r e ( e a r l i e r v s . l a t e r ) i n t h e t i m e s t e p t o a p p l y a b i a s , w h i c h c a n e n c o u r a g e t h e m o d e l t o e i t h e r l e a r n l o w o r h i g h f r e q u e n c y d e t a i l s - ` - - t i m e s t e p _ b i a s _ m u l t i p l i e r ` : t h e w e i g h t o f t h e b i a s t o a p p l y t o t h e t i m e s t e p - ` - - t i m e s t e p _ b i a s _ b e g i n ` : t h e t i m e s t e p t o b e g i n a p p l y i n g t h e b i a s - ` - - t i m e s t e p _ b i a s _ e n d ` : t h e t i m e s t e p t o e n d a p p l y i n g t h e b i a s - ` - - t i m e s t e p _ b i a s _ p o r t i o n ` : t h e p r o p o r t i o n o f t i m e s t e p s t o a p p l y t h e b i a s t o # # # M i n - S N R w e i g h t i n g T h e [ M i n - S N R ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 3 . 0 9 5 5 6 ) w e i g h t i n g s t r a t e g y c a n h e l p w i t h t r a i n i n g b y r e b a l a n c i n g t h e l o s s t o a c h i e v e f a s t e r c o n v e r g e n c e . T h e t r a i n i n g s c r i p t s u p p o r t s p r e d i c t i n g e i t h e r ` e p s i l o n ` ( n o i s e ) o r ` v _ p r e d i c t i o n ` , b u t M i n - S N R i s c o m p a t i b l e w i t h b o t h p r e d i c t i o n t y p e s . T h i s w e i g h t i n g s t r a t e g y i s o n l y s u p p o r t e d b y P y T o r c h a n d i s u n a v a i l a b l e i n t h e F l a x t r a i n i n g s c r i p t . A d d t h e ` - - s n r _ g a m m a ` p a r a m e t e r a n d s e t i t t o t h e r e c o m m e n d e d v a l u e o f 5 . 0 : ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ t e x t _ t o _ i m a g e _ s d x l . p y \ - - s n r _ g a m m a = 5 . 0 ` ` ` # # T r a i n i n g s c r i p t T h e t r a i n i n g s c r i p t i s a l s o s i m i l a r t o t h e [ T e x t - t o - i m a g e ] ( t e x t 2 i m a g e # t r a i n i n g - s c r i p t ) t r a i n i n g g u i d e , b u t i t ' s b e e n m o d i f i e d t o s u p p o r t S D X L t r a i n i n g . T h i s g u i d e w i l l f o c u s o n t h e c o d e t h a t i s u n i q u e t o t h e S D X L t r a i n i n g s c r i p t . I t s t a r t s b y c r e a t i n g f u n c t i o n s t o [ t o k e n i z e t h e p r o m p t s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / a a b 6 d e 2 2 c 3 3 c c 0 1 f b 7 b c 8 1 c 0 8 0 7 d 6 1 0 9 e 2 c 9 9 8 c 9 / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ s d x l . p y # L 4 7 8 ) t o c a l c u l a t e t h e p r o m p t e m b e d d i n g s , a n d t o c o m p u t e t h e i m a g e e m b e d d i n g s w i t h t h e [ V A E ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / a a b 6 d e 2 2 c 3 3 c c 0 1 f b 7 b c 8 1 c 0 8 0 7 d 6 1 0 9 e 2 c 9 9 8 c 9 / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ s d x l . p y # L 5 1 9 ) . N e x t , y o u ' l l a f u n c t i o n t o [ g e n e r a t e t h e t i m e s t e p s w e i g h t s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / a a b 6 d e 2 2 c 3 3 c c 0 1 f b 7 b c 8 1 c 0 8 0 7 d 6 1 0 9 e 2 c 9 9 8 c 9 / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ s d x l . p y # L 5 3 1 ) d e p e n d i n g o n t h e n u m b e r o f t i m e s t e p s a n d t h e t i m e s t e p b i a s s t r a t e g y t o a p p l y . W i t h i n t h e [ ` m a i n ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / a a b 6 d e 2 2 c 3 3 c c 0 1 f b 7 b c 8 1 c 0 8 0 7 d 6 1 0 9 e 2 c 9 9 8 c 9 / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ s d x l . p y # L 5 7 2 ) f u n c t i o n , i n a d d i t i o n t o l o a d i n g a t o k e n i z e r , t h e s c r i p t l o a d s a s e c o n d t o k e n i z e r a n d t e x t e n c o d e r b e c a u s e t h e S D X L a r c h i t e c t u r e u s e s t w o o f e a c h : ` ` ` p y t o k e n i z e r _ o n e = A u t o T o k e n i z e r . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " t o k e n i z e r " , r e v i s i o n = a r g s . r e v i s i o n , u s e _ f a s t = F a l s e ) t o k e n i z e r _ t w o = A u t o T o k e n i z e r . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " t o k e n i z e r _ 2 " , r e v i s i o n = a r g s . r e v i s i o n , u s e _ f a s t = F a l s e ) t e x t _ e n c o d e r _ c l s _ o n e = i m p o r t _ m o d e l _ c l a s s _ f r o m _ m o d e l _ n a m e _ o r _ p a t h ( a r g s . p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h , a r g s . r e v i s i o n ) t e x t _ e n c o d e r _ c l s _ t w o = i m p o r t _ m o d e l _ c l a s s _ f r o m _ m o d e l _ n a m e _ o r _ p a t h ( a r g s . p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h , a r g s . r e v i s i o n , s u b f o l d e r = " t e x t _ e n c o d e r _ 2 " ) ` ` ` T h e [ p r o m p t a n d i m a g e e m b e d d i n g s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / a a b 6 d e 2 2 c 3 3 c c 0 1 f b 7 b c 8 1 c 0 8 0 7 d 6 1 0 9 e 2 c 9 9 8 c 9 / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ s d x l . p y # L 8 5 7 ) a r e c o m p u t e d f i r s t a n d k e p t i n m e m o r y , w h i c h i s n ' t t y p i c a l l y a n i s s u e f o r a s m a l l e r d a t a s e t , b u t f o r l a r g e r d a t a s e t s i t c a n l e a d t o m e m o r y p r o b l e m s . I f t h i s i s t h e c a s e , y o u s h o u l d s a v e t h e p r e - c o m p u t e d e m b e d d i n g s t o d i s k s e p a r a t e l y a n d l o a d t h e m i n t o m e m o r y d u r i n g t h e t r a i n i n g p r o c e s s ( s e e t h i s [ P R ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / p u l l / 4 5 0 5 ) f o r m o r e d i s c u s s i o n a b o u t t h i s t o p i c ) . ` ` ` p y t e x t _ e n c o d e r s = [ t e x t _ e n c o d e r _ o n e , t e x t _ e n c o d e r _ t w o ] t o k e n i z e r s = [ t o k e n i z e r _ o n e , t o k e n i z e r _ t w o ] c o m p u t e _ e m b e d d i n g s _ f n = f u n c t o o l s . p a r t i a l ( e n c o d e _ p r o m p t , t e x t _ e n c o d e r s = t e x t _ e n c o d e r s , t o k e n i z e r s = t o k e n i z e r s , p r o p o r t i o n _ e m p t y _ p r o m p t s = a r g s . p r o p o r t i o n _ e m p t y _ p r o m p t s , c a p t i o n _ c o l u m n = a r g s . c a p t i o n _ c o l u m n , ) t r a i n _ d a t a s e t = t r a i n _ d a t a s e t . m a p ( c o m p u t e _ e m b e d d i n g s _ f n , b a t c h e d = T r u e , n e w _ f i n g e r p r i n t = n e w _ f i n g e r p r i n t ) t r a i n _ d a t a s e t = t r a i n _ d a t a s e t . m a p ( c o m p u t e _ v a e _ e n c o d i n g s _ f n , b a t c h e d = T r u e , b a t c h _ s i z e = a r g s . t r a i n _ b a t c h _ s i z e * a c c e l e r a t o r . n u m _ p r o c e s s e s * a r g s . g r a d i e n t _ a c c u m u l a t i o n _ s t e p s , n e w _ f i n g e r p r i n t = n e w _ f i n g e r p r i n t _ f o r _ v a e , ) ` ` ` A f t e r c a l c u l a t i n g t h e e m b e d d i n g s , t h e t e x t e n c o d e r , V A E , a n d t o k e n i z e r a r e d e l e t e d t o f r e e u p s o m e m e m o r y : ` ` ` p y d e l t e x t _ e n c o d e r s , t o k e n i z e r s , v a e g c . c o l l e c t ( ) t o r c h . c u d a . e m p t y _ c a c h e ( ) ` ` ` F i n a l l y , t h e [ t r a i n i n g l o o p ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / a a b 6 d e 2 2 c 3 3 c c 0 1 f b 7 b c 8 1 c 0 8 0 7 d 6 1 0 9 e 2 c 9 9 8 c 9 / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ s d x l . p y # L 9 4 3 ) t a k e s c a r e o f t h e r e s t . I f y o u c h o s e t o a p p l y a t i m e s t e p b i a s s t r a t e g y , y o u ' l l s e e t h e t i m e s t e p w e i g h t s a r e c a l c u l a t e d a n d a d d e d a s n o i s e : ` ` ` p y w e i g h t s = g e n e r a t e _ t i m e s t e p _ w e i g h t s ( a r g s , n o i s e _ s c h e d u l e r . c o n f i g . n u m _ t r a i n _ t i m e s t e p s ) . t o ( m o d e l _ i n p u t . d e v i c e ) t i m e s t e p s = t o r c h . m u l t i n o m i a l ( w e i g h t s , b s z , r e p l a c e m e n t = T r u e ) . l o n g ( ) n o i s y _ m o d e l _ i n p u t = n o i s e _ s c h e d u l e r . a d d _ n o i s e ( m o d e l _ i n p u t , n o i s e , t i m e s t e p s ) ` ` ` I f y o u w a n t t o l e a r n m o r e a b o u t h o w t h e t r a i n i n g l o o p w o r k s , c h e c k o u t t h e [ U n d e r s t a n d i n g p i p e l i n e s , m o d e l s a n d s c h e d u l e r s ] ( . . / u s i n g - d i f f u s e r s / w r i t e _ o w n _ p i p e l i n e ) t u t o r i a l w h i c h b r e a k s d o w n t h e b a s i c p a t t e r n o f t h e d e n o i s i n g p r o c e s s . # # L a u n c h t h e s c r i p t O n c e y o u โ€™ v e m a d e a l l y o u r c h a n g e s o r y o u โ€™ r e o k a y w i t h t h e d e f a u l t c o n f i g u r a t i o n , y o u โ€™ r e r e a d y t o l a u n c h t h e t r a i n i n g s c r i p t ! ๐Ÿš€ L e t โ€™ s t r a i n o n t h e [ N a r u t o B L I P c a p t i o n s ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / l a m b d a l a b s / n a r u t o - b l i p - c a p t i o n s ) d a t a s e t t o g e n e r a t e y o u r o w n N a r u t o c h a r a c t e r s . S e t t h e e n v i r o n m e n t v a r i a b l e s ` M O D E L _ N A M E ` a n d ` D A T A S E T _ N A M E ` t o t h e m o d e l a n d t h e d a t a s e t ( e i t h e r f r o m t h e H u b o r a l o c a l p a t h ) . Y o u s h o u l d a l s o s p e c i f y a V A E o t h e r t h a n t h e S D X L V A E ( e i t h e r f r o m t h e H u b o r a l o c a l p a t h ) w i t h ` V A E _ N A M E ` t o a v o i d n u m e r i c a l i n s t a b i l i t i e s . < T i p > T o m o n i t o r t r a i n i n g p r o g r e s s w i t h W e i g h t s & B i a s e s , a d d t h e ` - - r e p o r t _ t o = w a n d b ` p a r a m e t e r t o t h e t r a i n i n g c o m m a n d . Y o u โ€™ l l a l s o n e e d t o a d d t h e ` - - v a l i d a t i o n _ p r o m p t ` a n d ` - - v a l i d a t i o n _ e p o c h s ` t o t h e t r a i n i n g c o m m a n d t o k e e p t r a c k o f r e s u l t s . T h i s c a n b e r e a l l y u s e f u l f o r d e b u g g i n g t h e m o d e l a n d v i e w i n g i n t e r m e d i a t e r e s u l t s . < / T i p > ` ` ` b a s h e x p o r t M O D E L _ N A M E = " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " e x p o r t V A E _ N A M E = " m a d e b y o l l i n / s d x l - v a e - f p 1 6 - f i x " e x p o r t D A T A S E T _ N A M E = " l a m b d a l a b s / n a r u t o - b l i p - c a p t i o n s " a c c e l e r a t e l a u n c h t r a i n _ t e x t _ t o _ i m a g e _ s d x l . p y \ - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h = $ M O D E L _ N A M E \ - - p r e t r a i n e d _ v a e _ m o d e l _ n a m e _ o r _ p a t h = $ V A E _ N A M E \ - - d a t a s e t _ n a m e = $ D A T A S E T _ N A M E \ - - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n \ - - r e s o l u t i o n = 5 1 2 \ - - c e n t e r _ c r o p \ - - r a n d o m _ f l i p \ - - p r o p o r t i o n _ e m p t y _ p r o m p t s = 0 . 2 \ - - t r a i n _ b a t c h _ s i z e = 1 \ - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s = 4 \ - - g r a d i e n t _ c h e c k p o i n t i n g \ - - m a x _ t r a i n _ s t e p s = 1 0 0 0 0 \ - - u s e _ 8 b i t _ a d a m \ - - l e a r n i n g _ r a t e = 1 e - 0 6 \ - - l r _ s c h e d u l e r = " c o n s t a n t " \ - - l r _ w a r m u p _ s t e p s = 0 \ - - m i x e d _ p r e c i s i o n = " f p 1 6 " \ - - r e p o r t _ t o = " w a n d b " \ - - v a l i d a t i o n _ p r o m p t = " a c u t e S u n d a r P i c h a i c r e a t u r e " \ - - v a l i d a t i o n _ e p o c h s 5 \ - - c h e c k p o i n t i n g _ s t e p s = 5 0 0 0 \ - - o u t p u t _ d i r = " s d x l - n a r u t o - m o d e l " \ - - p u s h _ t o _ h u b ` ` ` A f t e r y o u ' v e f i n i s h e d t r a i n i n g , y o u c a n u s e y o u r n e w l y t r a i n e d S D X L m o d e l f o r i n f e r e n c e ! < h f o p t i o n s i d = " i n f e r e n c e " > < h f o p t i o n i d = " P y T o r c h " > ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " p a t h / t o / y o u r / m o d e l " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p r o m p t = " A n a r u t o w i t h g r e e n e y e s a n d r e d l e g s . " i m a g e = p i p e l i n e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 3 0 , g u i d a n c e _ s c a l e = 7 . 5 ) . i m a g e s [ 0 ] i m a g e . s a v e ( " n a r u t o . p n g " ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " P y T o r c h X L A " > [ P y T o r c h X L A ] ( h t t p s : / / p y t o r c h . o r g / x l a ) a l l o w s y o u t o r u n P y T o r c h o n X L A d e v i c e s s u c h a s T P U s , w h i c h c a n b e f a s t e r . T h e i n i t i a l w a r m u p s t e p t a k e s l o n g e r b e c a u s e t h e m o d e l n e e d s t o b e c o m p i l e d a n d o p t i m i z e d . H o w e v e r , s u b s e q u e n t c a l l s t o t h e p i p e l i n e o n a n i n p u t * * w i t h t h e s a m e l e n g t h * * a s t h e o r i g i n a l p r o m p t a r e m u c h f a s t e r b e c a u s e i t c a n r e u s e t h e o p t i m i z e d g r a p h . ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h i m p o r t t o r c h _ x l a . c o r e . x l a _ m o d e l a s x m d e v i c e = x m . x l a _ d e v i c e ( ) p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " ) . t o ( d e v i c e ) p r o m p t = " A n a r u t o w i t h g r e e n e y e s a n d r e d l e g s . " s t a r t = t i m e ( ) i m a g e = p i p e l i n e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = i n f e r e n c e _ s t e p s ) . i m a g e s [ 0 ] p r i n t ( f ' C o m p i l a t i o n t i m e i s { t i m e ( ) - s t a r t } s e c ' ) i m a g e . s a v e ( " n a r u t o . p n g " ) s t a r t = t i m e ( ) i m a g e = p i p e l i n e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = i n f e r e n c e _ s t e p s ) . i m a g e s [ 0 ] p r i n t ( f ' I n f e r e n c e t i m e i s { t i m e ( ) - s t a r t } s e c a f t e r c o m p i l a t i o n ' ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > # # N e x t s t e p s C o n g r a t u l a t i o n s o n t r a i n i n g a S D X L m o d e l ! T o l e a r n m o r e a b o u t h o w t o u s e y o u r n e w m o d e l , t h e f o l l o w i n g g u i d e s m a y b e h e l p f u l : - R e a d t h e [ S t a b l e D i f f u s i o n X L ] ( . . / u s i n g - d i f f u s e r s / s d x l ) g u i d e t o l e a r n h o w t o u s e i t f o r a v a r i e t y o f d i f f e r e n t t a s k s ( t e x t - t o - i m a g e , i m a g e - t o - i m a g e , i n p a i n t i n g ) , h o w t o u s e i t ' s r e f i n e r m o d e l , a n d t h e d i f f e r e n t t y p e s o f m i c r o - c o n d i t i o n i n g s . - C h e c k o u t t h e [ D r e a m B o o t h ] ( d r e a m b o o t h ) a n d [ L o R A ] ( l o r a ) t r a i n i n g g u i d e s t o l e a r n h o w t o t r a i n a p e r s o n a l i z e d S D X L m o d e l w i t h j u s t a f e w e x a m p l e i m a g e s . T h e s e t w o t r a i n i n g t e c h n i q u e s c a n e v e n b e c o m b i n e d ! # L a t e n t C o n s i s t e n c y D i s t i l l a t i o n [ L a t e n t C o n s i s t e n c y M o d e l s ( L C M s ) ] ( h t t p s : / / h f . c o / p a p e r s / 2 3 1 0 . 0 4 3 7 8 ) a r e a b l e t o g e n e r a t e h i g h - q u a l i t y i m a g e s i n j u s t a f e w s t e p s , r e p r e s e n t i n g a b i g l e a p f o r w a r d b e c a u s e m a n y p i p e l i n e s r e q u i r e a t l e a s t 2 5 + s t e p s . L C M s a r e p r o d u c e d b y a p p l y i n g t h e l a t e n t c o n s i s t e n c y d i s t i l l a t i o n m e t h o d t o a n y S t a b l e D i f f u s i o n m o d e l . T h i s m e t h o d w o r k s b y a p p l y i n g * o n e - s t a g e g u i d e d d i s t i l l a t i o n * t o t h e l a t e n t s p a c e , a n d i n c o r p o r a t i n g a * s k i p p i n g - s t e p * m e t h o d t o c o n s i s t e n t l y s k i p t i m e s t e p s t o a c c e l e r a t e t h e d i s t i l l a t i o n p r o c e s s ( r e f e r t o s e c t i o n 4 . 1 , 4 . 2 , a n d 4 . 3 o f t h e p a p e r f o r m o r e d e t a i l s ) . I f y o u ' r e t r a i n i n g o n a G P U w i t h l i m i t e d v R A M , t r y e n a b l i n g ` g r a d i e n t _ c h e c k p o i n t i n g ` , ` g r a d i e n t _ a c c u m u l a t i o n _ s t e p s ` , a n d ` m i x e d _ p r e c i s i o n ` t o r e d u c e m e m o r y - u s a g e a n d s p e e d u p t r a i n i n g . Y o u c a n r e d u c e y o u r m e m o r y - u s a g e e v e n m o r e b y e n a b l i n g m e m o r y - e f f i c i e n t a t t e n t i o n w i t h [ x F o r m e r s ] ( . . / o p t i m i z a t i o n / x f o r m e r s ) a n d [ b i t s a n d b y t e s ' ] ( h t t p s : / / g i t h u b . c o m / T i m D e t t m e r s / b i t s a n d b y t e s ) 8 - b i t o p t i m i z e r . T h i s g u i d e w i l l e x p l o r e t h e [ t r a i n _ l c m _ d i s t i l l _ s d _ w d s . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / c o n s i s t e n c y _ d i s t i l l a t i o n / t r a i n _ l c m _ d i s t i l l _ s d _ w d s . p y ) s c r i p t t o h e l p y o u b e c o m e m o r e f a m i l i a r w i t h i t , a n d h o w y o u c a n a d a p t i t f o r y o u r o w n u s e - c a s e . B e f o r e r u n n i n g t h e s c r i p t , m a k e s u r e y o u i n s t a l l t h e l i b r a r y f r o m s o u r c e : ` ` ` b a s h g i t c l o n e h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s c d d i f f u s e r s p i p i n s t a l l . ` ` ` T h e n n a v i g a t e t o t h e e x a m p l e f o l d e r c o n t a i n i n g t h e t r a i n i n g s c r i p t a n d i n s t a l l t h e r e q u i r e d d e p e n d e n c i e s f o r t h e s c r i p t y o u ' r e u s i n g : ` ` ` b a s h c d e x a m p l e s / c o n s i s t e n c y _ d i s t i l l a t i o n p i p i n s t a l l - r r e q u i r e m e n t s . t x t ` ` ` < T i p > ๐Ÿค— A c c e l e r a t e i s a l i b r a r y f o r h e l p i n g y o u t r a i n o n m u l t i p l e G P U s / T P U s o r w i t h m i x e d - p r e c i s i o n . I t ' l l a u t o m a t i c a l l y c o n f i g u r e y o u r t r a i n i n g s e t u p b a s e d o n y o u r h a r d w a r e a n d e n v i r o n m e n t . T a k e a l o o k a t t h e ๐Ÿค— A c c e l e r a t e [ Q u i c k t o u r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / q u i c k t o u r ) t o l e a r n m o r e . < / T i p > I n i t i a l i z e a n ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t ( t r y e n a b l i n g ` t o r c h . c o m p i l e ` t o s i g n i f i c a n t l y s p e e d u p t r a i n i n g ) : ` ` ` b a s h a c c e l e r a t e c o n f i g ` ` ` T o s e t u p a d e f a u l t ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t w i t h o u t c h o o s i n g a n y c o n f i g u r a t i o n s : ` ` ` b a s h a c c e l e r a t e c o n f i g d e f a u l t ` ` ` O r i f y o u r e n v i r o n m e n t d o e s n ' t s u p p o r t a n i n t e r a c t i v e s h e l l , l i k e a n o t e b o o k , y o u c a n u s e : ` ` ` p y f r o m a c c e l e r a t e . u t i l s i m p o r t w r i t e _ b a s i c _ c o n f i g w r i t e _ b a s i c _ c o n f i g ( ) ` ` ` L a s t l y , i f y o u w a n t t o t r a i n a m o d e l o n y o u r o w n d a t a s e t , t a k e a l o o k a t t h e [ C r e a t e a d a t a s e t f o r t r a i n i n g ] ( c r e a t e _ d a t a s e t ) g u i d e t o l e a r n h o w t o c r e a t e a d a t a s e t t h a t w o r k s w i t h t h e t r a i n i n g s c r i p t . # # S c r i p t p a r a m e t e r s < T i p > T h e f o l l o w i n g s e c t i o n s h i g h l i g h t p a r t s o f t h e t r a i n i n g s c r i p t t h a t a r e i m p o r t a n t f o r u n d e r s t a n d i n g h o w t o m o d i f y i t , b u t i t d o e s n ' t c o v e r e v e r y a s p e c t o f t h e s c r i p t i n d e t a i l . I f y o u ' r e i n t e r e s t e d i n l e a r n i n g m o r e , f e e l f r e e t o r e a d t h r o u g h t h e [ s c r i p t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / c o n s i s t e n c y _ d i s t i l l a t i o n / t r a i n _ l c m _ d i s t i l l _ s d _ w d s . p y ) a n d l e t u s k n o w i f y o u h a v e a n y q u e s t i o n s o r c o n c e r n s . < / T i p > T h e t r a i n i n g s c r i p t p r o v i d e s m a n y p a r a m e t e r s t o h e l p y o u c u s t o m i z e y o u r t r a i n i n g r u n . A l l o f t h e p a r a m e t e r s a n d t h e i r d e s c r i p t i o n s a r e f o u n d i n t h e [ ` p a r s e _ a r g s ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 3 b 3 7 4 8 8 f a 3 2 8 0 a e d 6 a 9 5 d e 0 4 4 d 7 a 4 2 f f d c b 5 6 5 e f / e x a m p l e s / c o n s i s t e n c y _ d i s t i l l a t i o n / t r a i n _ l c m _ d i s t i l l _ s d _ w d s . p y # L 4 1 9 ) f u n c t i o n . T h i s f u n c t i o n p r o v i d e s d e f a u l t v a l u e s f o r e a c h p a r a m e t e r , s u c h a s t h e t r a i n i n g b a t c h s i z e a n d l e a r n i n g r a t e , b u t y o u c a n a l s o s e t y o u r o w n v a l u e s i n t h e t r a i n i n g c o m m a n d i f y o u ' d l i k e . F o r e x a m p l e , t o s p e e d u p t r a i n i n g w i t h m i x e d p r e c i s i o n u s i n g t h e f p 1 6 f o r m a t , a d d t h e ` - - m i x e d _ p r e c i s i o n ` p a r a m e t e r t o t h e t r a i n i n g c o m m a n d : ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ l c m _ d i s t i l l _ s d _ w d s . p y \ - - m i x e d _ p r e c i s i o n = " f p 1 6 " ` ` ` M o s t o f t h e p a r a m e t e r s a r e i d e n t i c a l t o t h e p a r a m e t e r s i n t h e [ T e x t - t o - i m a g e ] ( t e x t 2 i m a g e # s c r i p t - p a r a m e t e r s ) t r a i n i n g g u i d e , s o y o u ' l l f o c u s o n t h e p a r a m e t e r s t h a t a r e r e l e v a n t t o l a t e n t c o n s i s t e n c y d i s t i l l a t i o n i n t h i s g u i d e . - ` - - p r e t r a i n e d _ t e a c h e r _ m o d e l ` : t h e p a t h t o a p r e t r a i n e d l a t e n t d i f f u s i o n m o d e l t o u s e a s t h e t e a c h e r m o d e l - ` - - p r e t r a i n e d _ v a e _ m o d e l _ n a m e _ o r _ p a t h ` : p a t h t o a p r e t r a i n e d V A E ; t h e S D X L V A E i s k n o w n t o s u f f e r f r o m n u m e r i c a l i n s t a b i l i t y , s o t h i s p a r a m e t e r a l l o w s y o u t o s p e c i f y a n a l t e r n a t i v e V A E ( l i k e t h i s [ V A E ] ( ( h t t p s : / / h u g g i n g f a c e . c o / m a d e b y o l l i n / s d x l - v a e - f p 1 6 - f i x ) ) b y m a d e b y o l l i n w h i c h w o r k s i n f p 1 6 ) - ` - - w _ m i n ` a n d ` - - w _ m a x ` : t h e m i n i m u m a n d m a x i m u m g u i d a n c e s c a l e v a l u e s f o r g u i d a n c e s c a l e s a m p l i n g - ` - - n u m _ d d i m _ t i m e s t e p s ` : t h e n u m b e r o f t i m e s t e p s f o r D D I M s a m p l i n g - ` - - l o s s _ t y p e ` : t h e t y p e o f l o s s ( L 2 o r H u b e r ) t o c a l c u l a t e f o r l a t e n t c o n s i s t e n c y d i s t i l l a t i o n ; H u b e r l o s s i s g e n e r a l l y p r e f e r r e d b e c a u s e i t ' s m o r e r o b u s t t o o u t l i e r s - ` - - h u b e r _ c ` : t h e H u b e r l o s s p a r a m e t e r # # T r a i n i n g s c r i p t T h e t r a i n i n g s c r i p t s t a r t s b y c r e a t i n g a d a t a s e t c l a s s - [ ` T e x t 2 I m a g e D a t a s e t ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 3 b 3 7 4 8 8 f a 3 2 8 0 a e d 6 a 9 5 d e 0 4 4 d 7 a 4 2 f f d c b 5 6 5 e f / e x a m p l e s / c o n s i s t e n c y _ d i s t i l l a t i o n / t r a i n _ l c m _ d i s t i l l _ s d _ w d s . p y # L 1 4 1 ) - f o r p r e p r o c e s s i n g t h e i m a g e s a n d c r e a t i n g a t r a i n i n g d a t a s e t . ` ` ` p y d e f t r a n s f o r m ( e x a m p l e ) : i m a g e = e x a m p l e [ " i m a g e " ] i m a g e = T F . r e s i z e ( i m a g e , r e s o l u t i o n , i n t e r p o l a t i o n = t r a n s f o r m s . I n t e r p o l a t i o n M o d e . B I L I N E A R ) c _ t o p , c _ l e f t , _ , _ = t r a n s f o r m s . R a n d o m C r o p . g e t _ p a r a m s ( i m a g e , o u t p u t _ s i z e = ( r e s o l u t i o n , r e s o l u t i o n ) ) i m a g e = T F . c r o p ( i m a g e , c _ t o p , c _ l e f t , r e s o l u t i o n , r e s o l u t i o n ) i m a g e = T F . t o _ t e n s o r ( i m a g e ) i m a g e = T F . n o r m a l i z e ( i m a g e , [ 0 . 5 ] , [ 0 . 5 ] ) e x a m p l e [ " i m a g e " ] = i m a g e r e t u r n e x a m p l e ` ` ` F o r i m p r o v e d p e r f o r m a n c e o n r e a d i n g a n d w r i t i n g l a r g e d a t a s e t s s t o r e d i n t h e c l o u d , t h i s s c r i p t u s e s t h e [ W e b D a t a s e t ] ( h t t p s : / / g i t h u b . c o m / w e b d a t a s e t / w e b d a t a s e t ) f o r m a t t o c r e a t e a p r e p r o c e s s i n g p i p e l i n e t o a p p l y t r a n s f o r m s a n d c r e a t e a d a t a s e t a n d d a t a l o a d e r f o r t r a i n i n g . I m a g e s a r e p r o c e s s e d a n d f e d t o t h e t r a i n i n g l o o p w i t h o u t h a v i n g t o d o w n l o a d t h e f u l l d a t a s e t f i r s t . ` ` ` p y p r o c e s s i n g _ p i p e l i n e = [ w d s . d e c o d e ( " p i l " , h a n d l e r = w d s . i g n o r e _ a n d _ c o n t i n u e ) , w d s . r e n a m e ( i m a g e = " j p g ; p n g ; j p e g ; w e b p " , t e x t = " t e x t ; t x t ; c a p t i o n " , h a n d l e r = w d s . w a r n _ a n d _ c o n t i n u e ) , w d s . m a p ( f i l t e r _ k e y s ( { " i m a g e " , " t e x t " } ) ) , w d s . m a p ( t r a n s f o r m ) , w d s . t o _ t u p l e ( " i m a g e " , " t e x t " ) , ] ` ` ` I n t h e [ ` m a i n ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 3 b 3 7 4 8 8 f a 3 2 8 0 a e d 6 a 9 5 d e 0 4 4 d 7 a 4 2 f f d c b 5 6 5 e f / e x a m p l e s / c o n s i s t e n c y _ d i s t i l l a t i o n / t r a i n _ l c m _ d i s t i l l _ s d _ w d s . p y # L 7 6 8 ) f u n c t i o n , a l l t h e n e c e s s a r y c o m p o n e n t s l i k e t h e n o i s e s c h e d u l e r , t o k e n i z e r s , t e x t e n c o d e r s , a n d V A E a r e l o a d e d . T h e t e a c h e r U N e t i s a l s o l o a d e d h e r e a n d t h e n y o u c a n c r e a t e a s t u d e n t U N e t f r o m t h e t e a c h e r U N e t . T h e s t u d e n t U N e t i s u p d a t e d b y t h e o p t i m i z e r d u r i n g t r a i n i n g . ` ` ` p y t e a c h e r _ u n e t = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ t e a c h e r _ m o d e l , s u b f o l d e r = " u n e t " , r e v i s i o n = a r g s . t e a c h e r _ r e v i s i o n ) u n e t = U N e t 2 D C o n d i t i o n M o d e l ( * * t e a c h e r _ u n e t . c o n f i g ) u n e t . l o a d _ s t a t e _ d i c t ( t e a c h e r _ u n e t . s t a t e _ d i c t ( ) , s t r i c t = F a l s e ) u n e t . t r a i n ( ) ` ` ` N o w y o u c a n c r e a t e t h e [ o p t i m i z e r ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 3 b 3 7 4 8 8 f a 3 2 8 0 a e d 6 a 9 5 d e 0 4 4 d 7 a 4 2 f f d c b 5 6 5 e f / e x a m p l e s / c o n s i s t e n c y _ d i s t i l l a t i o n / t r a i n _ l c m _ d i s t i l l _ s d _ w d s . p y # L 9 7 9 ) t o u p d a t e t h e U N e t p a r a m e t e r s : ` ` ` p y o p t i m i z e r = o p t i m i z e r _ c l a s s ( u n e t . p a r a m e t e r s ( ) , l r = a r g s . l e a r n i n g _ r a t e , b e t a s = ( a r g s . a d a m _ b e t a 1 , a r g s . a d a m _ b e t a 2 ) , w e i g h t _ d e c a y = a r g s . a d a m _ w e i g h t _ d e c a y , e p s = a r g s . a d a m _ e p s i l o n , ) ` ` ` C r e a t e t h e [ d a t a s e t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 3 b 3 7 4 8 8 f a 3 2 8 0 a e d 6 a 9 5 d e 0 4 4 d 7 a 4 2 f f d c b 5 6 5 e f / e x a m p l e s / c o n s i s t e n c y _ d i s t i l l a t i o n / t r a i n _ l c m _ d i s t i l l _ s d _ w d s . p y # L 9 9 4 ) : ` ` ` p y d a t a s e t = T e x t 2 I m a g e D a t a s e t ( t r a i n _ s h a r d s _ p a t h _ o r _ u r l = a r g s . t r a i n _ s h a r d s _ p a t h _ o r _ u r l , n u m _ t r a i n _ e x a m p l e s = a r g s . m a x _ t r a i n _ s a m p l e s , p e r _ g p u _ b a t c h _ s i z e = a r g s . t r a i n _ b a t c h _ s i z e , g l o b a l _ b a t c h _ s i z e = a r g s . t r a i n _ b a t c h _ s i z e * a c c e l e r a t o r . n u m _ p r o c e s s e s , n u m _ w o r k e r s = a r g s . d a t a l o a d e r _ n u m _ w o r k e r s , r e s o l u t i o n = a r g s . r e s o l u t i o n , s h u f f l e _ b u f f e r _ s i z e = 1 0 0 0 , p i n _ m e m o r y = T r u e , p e r s i s t e n t _ w o r k e r s = T r u e , ) t r a i n _ d a t a l o a d e r = d a t a s e t . t r a i n _ d a t a l o a d e r ` ` ` N e x t , y o u ' r e r e a d y t o s e t u p t h e [ t r a i n i n g l o o p ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 3 b 3 7 4 8 8 f a 3 2 8 0 a e d 6 a 9 5 d e 0 4 4 d 7 a 4 2 f f d c b 5 6 5 e f / e x a m p l e s / c o n s i s t e n c y _ d i s t i l l a t i o n / t r a i n _ l c m _ d i s t i l l _ s d _ w d s . p y # L 1 0 4 9 ) a n d i m p l e m e n t t h e l a t e n t c o n s i s t e n c y d i s t i l l a t i o n m e t h o d ( s e e A l g o r i t h m 1 i n t h e p a p e r f o r m o r e d e t a i l s ) . T h i s s e c t i o n o f t h e s c r i p t t a k e s c a r e o f a d d i n g n o i s e t o t h e l a t e n t s , s a m p l i n g a n d c r e a t i n g a g u i d a n c e s c a l e e m b e d d i n g , a n d p r e d i c t i n g t h e o r i g i n a l i m a g e f r o m t h e n o i s e . ` ` ` p y p r e d _ x _ 0 = p r e d i c t e d _ o r i g i n ( n o i s e _ p r e d , s t a r t _ t i m e s t e p s , n o i s y _ m o d e l _ i n p u t , n o i s e _ s c h e d u l e r . c o n f i g . p r e d i c t i o n _ t y p e , a l p h a _ s c h e d u l e , s i g m a _ s c h e d u l e , ) m o d e l _ p r e d = c _ s k i p _ s t a r t * n o i s y _ m o d e l _ i n p u t + c _ o u t _ s t a r t * p r e d _ x _ 0 ` ` ` I t g e t s t h e [ t e a c h e r m o d e l p r e d i c t i o n s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 3 b 3 7 4 8 8 f a 3 2 8 0 a e d 6 a 9 5 d e 0 4 4 d 7 a 4 2 f f d c b 5 6 5 e f / e x a m p l e s / c o n s i s t e n c y _ d i s t i l l a t i o n / t r a i n _ l c m _ d i s t i l l _ s d _ w d s . p y # L 1 1 7 2 ) a n d t h e [ L C M p r e d i c t i o n s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 3 b 3 7 4 8 8 f a 3 2 8 0 a e d 6 a 9 5 d e 0 4 4 d 7 a 4 2 f f d c b 5 6 5 e f / e x a m p l e s / c o n s i s t e n c y _ d i s t i l l a t i o n / t r a i n _ l c m _ d i s t i l l _ s d _ w d s . p y # L 1 2 0 9 ) n e x t , c a l c u l a t e s t h e l o s s , a n d t h e n b a c k p r o p a g a t e s i t t o t h e L C M . ` ` ` p y i f a r g s . l o s s _ t y p e = = " l 2 " : l o s s = F . m s e _ l o s s ( m o d e l _ p r e d . f l o a t ( ) , t a r g e t . f l o a t ( ) , r e d u c t i o n = " m e a n " ) e l i f a r g s . l o s s _ t y p e = = " h u b e r " : l o s s = t o r c h . m e a n ( t o r c h . s q r t ( ( m o d e l _ p r e d . f l o a t ( ) - t a r g e t . f l o a t ( ) ) * * 2 + a r g s . h u b e r _ c * * 2 ) - a r g s . h u b e r _ c ) ` ` ` I f y o u w a n t t o l e a r n m o r e a b o u t h o w t h e t r a i n i n g l o o p w o r k s , c h e c k o u t t h e [ U n d e r s t a n d i n g p i p e l i n e s , m o d e l s a n d s c h e d u l e r s t u t o r i a l ] ( . . / u s i n g - d i f f u s e r s / w r i t e _ o w n _ p i p e l i n e ) w h i c h b r e a k s d o w n t h e b a s i c p a t t e r n o f t h e d e n o i s i n g p r o c e s s . # # L a u n c h t h e s c r i p t N o w y o u ' r e r e a d y t o l a u n c h t h e t r a i n i n g s c r i p t a n d s t a r t d i s t i l l i n g ! F o r t h i s g u i d e , y o u ' l l u s e t h e ` - - t r a i n _ s h a r d s _ p a t h _ o r _ u r l ` t o s p e c i f y t h e p a t h t o t h e [ C o n c e p t u a l C a p t i o n s 1 2 M ] ( h t t p s : / / g i t h u b . c o m / g o o g l e - r e s e a r c h - d a t a s e t s / c o n c e p t u a l - 1 2 m ) d a t a s e t s t o r e d o n t h e H u b [ h e r e ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / l a i o n / c o n c e p t u a l - c a p t i o n s - 1 2 m - w e b d a t a s e t ) . S e t t h e ` M O D E L _ D I R ` e n v i r o n m e n t v a r i a b l e t o t h e n a m e o f t h e t e a c h e r m o d e l a n d ` O U T P U T _ D I R ` t o w h e r e y o u w a n t t o s a v e t h e m o d e l . ` ` ` b a s h e x p o r t M O D E L _ D I R = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " e x p o r t O U T P U T _ D I R = " p a t h / t o / s a v e d / m o d e l " a c c e l e r a t e l a u n c h t r a i n _ l c m _ d i s t i l l _ s d _ w d s . p y \ - - p r e t r a i n e d _ t e a c h e r _ m o d e l = $ M O D E L _ D I R \ - - o u t p u t _ d i r = $ O U T P U T _ D I R \ - - m i x e d _ p r e c i s i o n = f p 1 6 \ - - r e s o l u t i o n = 5 1 2 \ - - l e a r n i n g _ r a t e = 1 e - 6 - - l o s s _ t y p e = " h u b e r " - - e m a _ d e c a y = 0 . 9 5 - - a d a m _ w e i g h t _ d e c a y = 0 . 0 \ - - m a x _ t r a i n _ s t e p s = 1 0 0 0 \ - - m a x _ t r a i n _ s a m p l e s = 4 0 0 0 0 0 0 \ - - d a t a l o a d e r _ n u m _ w o r k e r s = 8 \ - - t r a i n _ s h a r d s _ p a t h _ o r _ u r l = " p i p e : c u r l - L - s h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / l a i o n / c o n c e p t u a l - c a p t i o n s - 1 2 m - w e b d a t a s e t / r e s o l v e / m a i n / d a t a / { 0 0 0 0 0 . . 0 1 0 9 9 } . t a r ? d o w n l o a d = t r u e " \ - - v a l i d a t i o n _ s t e p s = 2 0 0 \ - - c h e c k p o i n t i n g _ s t e p s = 2 0 0 - - c h e c k p o i n t s _ t o t a l _ l i m i t = 1 0 \ - - t r a i n _ b a t c h _ s i z e = 1 2 \ - - g r a d i e n t _ c h e c k p o i n t i n g - - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n \ - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s = 1 \ - - u s e _ 8 b i t _ a d a m \ - - r e s u m e _ f r o m _ c h e c k p o i n t = l a t e s t \ - - r e p o r t _ t o = w a n d b \ - - s e e d = 4 5 3 6 4 5 6 3 4 \ - - p u s h _ t o _ h u b ` ` ` O n c e t r a i n i n g i s c o m p l e t e , y o u c a n u s e y o u r n e w L C M f o r i n f e r e n c e . ` ` ` p y f r o m d i f f u s e r s i m p o r t U N e t 2 D C o n d i t i o n M o d e l , D i f f u s i o n P i p e l i n e , L C M S c h e d u l e r i m p o r t t o r c h u n e t = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( " y o u r - u s e r n a m e / y o u r - m o d e l " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , u n e t = u n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e . s c h e d u l e r = L C M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e l i n e . t o ( " c u d a " ) p r o m p t = " s u s h i r o l l s i n t h e f o r m o f p a n d a h e a d s , s u s h i p l a t t e r " i m a g e = p i p e l i n e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 4 , g u i d a n c e _ s c a l e = 1 . 0 ) . i m a g e s [ 0 ] ` ` ` # # L o R A L o R A i s a t r a i n i n g t e c h n i q u e f o r s i g n i f i c a n t l y r e d u c i n g t h e n u m b e r o f t r a i n a b l e p a r a m e t e r s . A s a r e s u l t , t r a i n i n g i s f a s t e r a n d i t i s e a s i e r t o s t o r e t h e r e s u l t i n g w e i g h t s b e c a u s e t h e y a r e a l o t s m a l l e r ( ~ 1 0 0 M B s ) . U s e t h e [ t r a i n _ l c m _ d i s t i l l _ l o r a _ s d _ w d s . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / c o n s i s t e n c y _ d i s t i l l a t i o n / t r a i n _ l c m _ d i s t i l l _ l o r a _ s d _ w d s . p y ) o r [ t r a i n _ l c m _ d i s t i l l _ l o r a _ s d x l . w d s . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / c o n s i s t e n c y _ d i s t i l l a t i o n / t r a i n _ l c m _ d i s t i l l _ l o r a _ s d x l _ w d s . p y ) s c r i p t t o t r a i n w i t h L o R A . T h e L o R A t r a i n i n g s c r i p t i s d i s c u s s e d i n m o r e d e t a i l i n t h e [ L o R A t r a i n i n g ] ( l o r a ) g u i d e . # # S t a b l e D i f f u s i o n X L S t a b l e D i f f u s i o n X L ( S D X L ) i s a p o w e r f u l t e x t - t o - i m a g e m o d e l t h a t g e n e r a t e s h i g h - r e s o l u t i o n i m a g e s , a n d i t a d d s a s e c o n d t e x t - e n c o d e r t o i t s a r c h i t e c t u r e . U s e t h e [ t r a i n _ l c m _ d i s t i l l _ s d x l _ w d s . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / c o n s i s t e n c y _ d i s t i l l a t i o n / t r a i n _ l c m _ d i s t i l l _ s d x l _ w d s . p y ) s c r i p t t o t r a i n a S D X L m o d e l w i t h L o R A . T h e S D X L t r a i n i n g s c r i p t i s d i s c u s s e d i n m o r e d e t a i l i n t h e [ S D X L t r a i n i n g ] ( s d x l ) g u i d e . # # N e x t s t e p s C o n g r a t u l a t i o n s o n d i s t i l l i n g a L C M m o d e l ! T o l e a r n m o r e a b o u t L C M , t h e f o l l o w i n g m a y b e h e l p f u l : - L e a r n h o w t o u s e [ L C M s f o r i n f e r e n c e ] ( . . / u s i n g - d i f f u s e r s / l c m ) f o r t e x t - t o - i m a g e , i m a g e - t o - i m a g e , a n d w i t h L o R A c h e c k p o i n t s . - R e a d t h e [ S D X L i n 4 s t e p s w i t h L a t e n t C o n s i s t e n c y L o R A s ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / l c m _ l o r a ) b l o g p o s t t o l e a r n m o r e a b o u t S D X L L C M - L o R A ' s f o r s u p e r f a s t i n f e r e n c e , q u a l i t y c o m p a r i s o n s , b e n c h m a r k s , a n d m o r e . # T 2 I - A d a p t e r [ T 2 I - A d a p t e r ] ( h t t p s : / / h f . c o / p a p e r s / 2 3 0 2 . 0 8 4 5 3 ) i s a l i g h t w e i g h t a d a p t e r m o d e l t h a t p r o v i d e s a n a d d i t i o n a l c o n d i t i o n i n g i n p u t i m a g e ( l i n e a r t , c a n n y , s k e t c h , d e p t h , p o s e ) t o b e t t e r c o n t r o l i m a g e g e n e r a t i o n . I t i s s i m i l a r t o a C o n t r o l N e t , b u t i t i s a l o t s m a l l e r ( ~ 7 7 M p a r a m e t e r s a n d ~ 3 0 0 M B f i l e s i z e ) b e c a u s e i t s o n l y i n s e r t s w e i g h t s i n t o t h e U N e t i n s t e a d o f c o p y i n g a n d t r a i n i n g i t . T h e T 2 I - A d a p t e r i s o n l y a v a i l a b l e f o r t r a i n i n g w i t h t h e S t a b l e D i f f u s i o n X L ( S D X L ) m o d e l . T h i s g u i d e w i l l e x p l o r e t h e [ t r a i n _ t 2 i _ a d a p t e r _ s d x l . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / t 2 i _ a d a p t e r / t r a i n _ t 2 i _ a d a p t e r _ s d x l . p y ) t r a i n i n g s c r i p t t o h e l p y o u b e c o m e f a m i l i a r w i t h i t , a n d h o w y o u c a n a d a p t i t f o r y o u r o w n u s e - c a s e . B e f o r e r u n n i n g t h e s c r i p t , m a k e s u r e y o u i n s t a l l t h e l i b r a r y f r o m s o u r c e : ` ` ` b a s h g i t c l o n e h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s c d d i f f u s e r s p i p i n s t a l l . ` ` ` T h e n n a v i g a t e t o t h e e x a m p l e f o l d e r c o n t a i n i n g t h e t r a i n i n g s c r i p t a n d i n s t a l l t h e r e q u i r e d d e p e n d e n c i e s f o r t h e s c r i p t y o u ' r e u s i n g : ` ` ` b a s h c d e x a m p l e s / t 2 i _ a d a p t e r p i p i n s t a l l - r r e q u i r e m e n t s . t x t ` ` ` < T i p > ๐Ÿค— A c c e l e r a t e i s a l i b r a r y f o r h e l p i n g y o u t r a i n o n m u l t i p l e G P U s / T P U s o r w i t h m i x e d - p r e c i s i o n . I t ' l l a u t o m a t i c a l l y c o n f i g u r e y o u r t r a i n i n g s e t u p b a s e d o n y o u r h a r d w a r e a n d e n v i r o n m e n t . T a k e a l o o k a t t h e ๐Ÿค— A c c e l e r a t e [ Q u i c k t o u r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / q u i c k t o u r ) t o l e a r n m o r e . < / T i p > I n i t i a l i z e a n ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t : ` ` ` b a s h a c c e l e r a t e c o n f i g ` ` ` T o s e t u p a d e f a u l t ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t w i t h o u t c h o o s i n g a n y c o n f i g u r a t i o n s : ` ` ` b a s h a c c e l e r a t e c o n f i g d e f a u l t ` ` ` O r i f y o u r e n v i r o n m e n t d o e s n ' t s u p p o r t a n i n t e r a c t i v e s h e l l , l i k e a n o t e b o o k , y o u c a n u s e : ` ` ` p y f r o m a c c e l e r a t e . u t i l s i m p o r t w r i t e _ b a s i c _ c o n f i g w r i t e _ b a s i c _ c o n f i g ( ) ` ` ` L a s t l y , i f y o u w a n t t o t r a i n a m o d e l o n y o u r o w n d a t a s e t , t a k e a l o o k a t t h e [ C r e a t e a d a t a s e t f o r t r a i n i n g ] ( c r e a t e _ d a t a s e t ) g u i d e t o l e a r n h o w t o c r e a t e a d a t a s e t t h a t w o r k s w i t h t h e t r a i n i n g s c r i p t . < T i p > T h e f o l l o w i n g s e c t i o n s h i g h l i g h t p a r t s o f t h e t r a i n i n g s c r i p t t h a t a r e i m p o r t a n t f o r u n d e r s t a n d i n g h o w t o m o d i f y i t , b u t i t d o e s n ' t c o v e r e v e r y a s p e c t o f t h e s c r i p t i n d e t a i l . I f y o u ' r e i n t e r e s t e d i n l e a r n i n g m o r e , f e e l f r e e t o r e a d t h r o u g h t h e [ s c r i p t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / t 2 i _ a d a p t e r / t r a i n _ t 2 i _ a d a p t e r _ s d x l . p y ) a n d l e t u s k n o w i f y o u h a v e a n y q u e s t i o n s o r c o n c e r n s . < / T i p > # # S c r i p t p a r a m e t e r s T h e t r a i n i n g s c r i p t p r o v i d e s m a n y p a r a m e t e r s t o h e l p y o u c u s t o m i z e y o u r t r a i n i n g r u n . A l l o f t h e p a r a m e t e r s a n d t h e i r d e s c r i p t i o n s a r e f o u n d i n t h e [ ` p a r s e _ a r g s ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / a a b 6 d e 2 2 c 3 3 c c 0 1 f b 7 b c 8 1 c 0 8 0 7 d 6 1 0 9 e 2 c 9 9 8 c 9 / e x a m p l e s / t 2 i _ a d a p t e r / t r a i n _ t 2 i _ a d a p t e r _ s d x l . p y # L 2 3 3 ) f u n c t i o n . I t p r o v i d e s d e f a u l t v a l u e s f o r e a c h p a r a m e t e r , s u c h a s t h e t r a i n i n g b a t c h s i z e a n d l e a r n i n g r a t e , b u t y o u c a n a l s o s e t y o u r o w n v a l u e s i n t h e t r a i n i n g c o m m a n d i f y o u ' d l i k e . F o r e x a m p l e , t o a c t i v a t e g r a d i e n t a c c u m u l a t i o n , a d d t h e ` - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s ` p a r a m e t e r t o t h e t r a i n i n g c o m m a n d : ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ t 2 i _ a d a p t e r _ s d x l . p y \ - - - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s = 4 ` ` ` M a n y o f t h e b a s i c a n d i m p o r t a n t p a r a m e t e r s a r e d e s c r i b e d i n t h e [ T e x t - t o - i m a g e ] ( t e x t 2 i m a g e # s c r i p t - p a r a m e t e r s ) t r a i n i n g g u i d e , s o t h i s g u i d e j u s t f o c u s e s o n t h e r e l e v a n t T 2 I - A d a p t e r p a r a m e t e r s : - ` - - p r e t r a i n e d _ v a e _ m o d e l _ n a m e _ o r _ p a t h ` : p a t h t o a p r e t r a i n e d V A E ; t h e S D X L V A E i s k n o w n t o s u f f e r f r o m n u m e r i c a l i n s t a b i l i t y , s o t h i s p a r a m e t e r a l l o w s y o u t o s p e c i f y a b e t t e r [ V A E ] ( h t t p s : / / h u g g i n g f a c e . c o / m a d e b y o l l i n / s d x l - v a e - f p 1 6 - f i x ) - ` - - c r o p s _ c o o r d s _ t o p _ l e f t _ h ` a n d ` - - c r o p s _ c o o r d s _ t o p _ l e f t _ w ` : h e i g h t a n d w i d t h c o o r d i n a t e s t o i n c l u d e i n S D X L ' s c r o p c o o r d i n a t e e m b e d d i n g s - ` - - c o n d i t i o n i n g _ i m a g e _ c o l u m n ` : t h e c o l u m n o f t h e c o n d i t i o n i n g i m a g e s i n t h e d a t a s e t - ` - - p r o p o r t i o n _ e m p t y _ p r o m p t s ` : t h e p r o p o r t i o n o f i m a g e p r o m p t s t o r e p l a c e w i t h e m p t y s t r i n g s # # T r a i n i n g s c r i p t A s w i t h t h e s c r i p t p a r a m e t e r s , a w a l k t h r o u g h o f t h e t r a i n i n g s c r i p t i s p r o v i d e d i n t h e [ T e x t - t o - i m a g e ] ( t e x t 2 i m a g e # t r a i n i n g - s c r i p t ) t r a i n i n g g u i d e . I n s t e a d , t h i s g u i d e t a k e s a l o o k a t t h e T 2 I - A d a p t e r r e l e v a n t p a r t s o f t h e s c r i p t . T h e t r a i n i n g s c r i p t b e g i n s b y p r e p a r i n g t h e d a t a s e t . T h i s i n c u d e s [ t o k e n i z i n g ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / a a b 6 d e 2 2 c 3 3 c c 0 1 f b 7 b c 8 1 c 0 8 0 7 d 6 1 0 9 e 2 c 9 9 8 c 9 / e x a m p l e s / t 2 i _ a d a p t e r / t r a i n _ t 2 i _ a d a p t e r _ s d x l . p y # L 6 7 4 ) t h e p r o m p t a n d [ a p p l y i n g t r a n s f o r m s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / a a b 6 d e 2 2 c 3 3 c c 0 1 f b 7 b c 8 1 c 0 8 0 7 d 6 1 0 9 e 2 c 9 9 8 c 9 / e x a m p l e s / t 2 i _ a d a p t e r / t r a i n _ t 2 i _ a d a p t e r _ s d x l . p y # L 7 1 4 ) t o t h e i m a g e s a n d c o n d i t i o n i n g i m a g e s . ` ` ` p y c o n d i t i o n i n g _ i m a g e _ t r a n s f o r m s = t r a n s f o r m s . C o m p o s e ( [ t r a n s f o r m s . R e s i z e ( a r g s . r e s o l u t i o n , i n t e r p o l a t i o n = t r a n s f o r m s . I n t e r p o l a t i o n M o d e . B I L I N E A R ) , t r a n s f o r m s . C e n t e r C r o p ( a r g s . r e s o l u t i o n ) , t r a n s f o r m s . T o T e n s o r ( ) , ] ) ` ` ` W i t h i n t h e [ ` m a i n ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / a a b 6 d e 2 2 c 3 3 c c 0 1 f b 7 b c 8 1 c 0 8 0 7 d 6 1 0 9 e 2 c 9 9 8 c 9 / e x a m p l e s / t 2 i _ a d a p t e r / t r a i n _ t 2 i _ a d a p t e r _ s d x l . p y # L 7 7 0 ) f u n c t i o n , t h e T 2 I - A d a p t e r i s e i t h e r l o a d e d f r o m a p r e t r a i n e d a d a p t e r o r i t i s r a n d o m l y i n i t i a l i z e d : ` ` ` p y i f a r g s . a d a p t e r _ m o d e l _ n a m e _ o r _ p a t h : l o g g e r . i n f o ( " L o a d i n g e x i s t i n g a d a p t e r w e i g h t s . " ) t 2 i a d a p t e r = T 2 I A d a p t e r . f r o m _ p r e t r a i n e d ( a r g s . a d a p t e r _ m o d e l _ n a m e _ o r _ p a t h ) e l s e : l o g g e r . i n f o ( " I n i t i a l i z i n g t 2 i a d a p t e r w e i g h t s . " ) t 2 i a d a p t e r = T 2 I A d a p t e r ( i n _ c h a n n e l s = 3 , c h a n n e l s = ( 3 2 0 , 6 4 0 , 1 2 8 0 , 1 2 8 0 ) , n u m _ r e s _ b l o c k s = 2 , d o w n s c a l e _ f a c t o r = 1 6 , a d a p t e r _ t y p e = " f u l l _ a d a p t e r _ x l " , ) ` ` ` T h e [ o p t i m i z e r ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / a a b 6 d e 2 2 c 3 3 c c 0 1 f b 7 b c 8 1 c 0 8 0 7 d 6 1 0 9 e 2 c 9 9 8 c 9 / e x a m p l e s / t 2 i _ a d a p t e r / t r a i n _ t 2 i _ a d a p t e r _ s d x l . p y # L 9 5 2 ) i s i n i t i a l i z e d f o r t h e T 2 I - A d a p t e r p a r a m e t e r s : ` ` ` p y p a r a m s _ t o _ o p t i m i z e = t 2 i a d a p t e r . p a r a m e t e r s ( ) o p t i m i z e r = o p t i m i z e r _ c l a s s ( p a r a m s _ t o _ o p t i m i z e , l r = a r g s . l e a r n i n g _ r a t e , b e t a s = ( a r g s . a d a m _ b e t a 1 , a r g s . a d a m _ b e t a 2 ) , w e i g h t _ d e c a y = a r g s . a d a m _ w e i g h t _ d e c a y , e p s = a r g s . a d a m _ e p s i l o n , ) ` ` ` L a s t l y , i n t h e [ t r a i n i n g l o o p ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / a a b 6 d e 2 2 c 3 3 c c 0 1 f b 7 b c 8 1 c 0 8 0 7 d 6 1 0 9 e 2 c 9 9 8 c 9 / e x a m p l e s / t 2 i _ a d a p t e r / t r a i n _ t 2 i _ a d a p t e r _ s d x l . p y # L 1 0 8 6 ) , t h e a d a p t e r c o n d i t i o n i n g i m a g e a n d t h e t e x t e m b e d d i n g s a r e p a s s e d t o t h e U N e t t o p r e d i c t t h e n o i s e r e s i d u a l : ` ` ` p y t 2 i a d a p t e r _ i m a g e = b a t c h [ " c o n d i t i o n i n g _ p i x e l _ v a l u e s " ] . t o ( d t y p e = w e i g h t _ d t y p e ) d o w n _ b l o c k _ a d d i t i o n a l _ r e s i d u a l s = t 2 i a d a p t e r ( t 2 i a d a p t e r _ i m a g e ) d o w n _ b l o c k _ a d d i t i o n a l _ r e s i d u a l s = [ s a m p l e . t o ( d t y p e = w e i g h t _ d t y p e ) f o r s a m p l e i n d o w n _ b l o c k _ a d d i t i o n a l _ r e s i d u a l s ] m o d e l _ p r e d = u n e t ( i n p _ n o i s y _ l a t e n t s , t i m e s t e p s , e n c o d e r _ h i d d e n _ s t a t e s = b a t c h [ " p r o m p t _ i d s " ] , a d d e d _ c o n d _ k w a r g s = b a t c h [ " u n e t _ a d d e d _ c o n d i t i o n s " ] , d o w n _ b l o c k _ a d d i t i o n a l _ r e s i d u a l s = d o w n _ b l o c k _ a d d i t i o n a l _ r e s i d u a l s , ) . s a m p l e ` ` ` I f y o u w a n t t o l e a r n m o r e a b o u t h o w t h e t r a i n i n g l o o p w o r k s , c h e c k o u t t h e [ U n d e r s t a n d i n g p i p e l i n e s , m o d e l s a n d s c h e d u l e r s ] ( . . / u s i n g - d i f f u s e r s / w r i t e _ o w n _ p i p e l i n e ) t u t o r i a l w h i c h b r e a k s d o w n t h e b a s i c p a t t e r n o f t h e d e n o i s i n g p r o c e s s . # # L a u n c h t h e s c r i p t N o w y o u โ€™ r e r e a d y t o l a u n c h t h e t r a i n i n g s c r i p t ! ๐Ÿš€ F o r t h i s e x a m p l e t r a i n i n g , y o u ' l l u s e t h e [ f u s i n g / f i l l 5 0 k ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / f u s i n g / f i l l 5 0 k ) d a t a s e t . Y o u c a n a l s o c r e a t e a n d u s e y o u r o w n d a t a s e t i f y o u w a n t ( s e e t h e [ C r e a t e a d a t a s e t f o r t r a i n i n g ] ( h t t p s : / / m o o n - c i - d o c s . h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / p r _ 5 5 1 2 / e n / t r a i n i n g / c r e a t e _ d a t a s e t ) g u i d e ) . S e t t h e e n v i r o n m e n t v a r i a b l e ` M O D E L _ D I R ` t o a m o d e l i d o n t h e H u b o r a p a t h t o a l o c a l m o d e l a n d ` O U T P U T _ D I R ` t o w h e r e y o u w a n t t o s a v e t h e m o d e l . D o w n l o a d t h e f o l l o w i n g i m a g e s t o c o n d i t i o n y o u r t r a i n i n g w i t h : ` ` ` b a s h w g e t h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o n t r o l n e t _ t r a i n i n g / c o n d i t i o n i n g _ i m a g e _ 1 . p n g w g e t h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o n t r o l n e t _ t r a i n i n g / c o n d i t i o n i n g _ i m a g e _ 2 . p n g ` ` ` < T i p > T o m o n i t o r t r a i n i n g p r o g r e s s w i t h W e i g h t s & B i a s e s , a d d t h e ` - - r e p o r t _ t o = w a n d b ` p a r a m e t e r t o t h e t r a i n i n g c o m m a n d . Y o u ' l l a l s o n e e d t o a d d t h e ` - - v a l i d a t i o n _ i m a g e ` , ` - - v a l i d a t i o n _ p r o m p t ` , a n d ` - - v a l i d a t i o n _ s t e p s ` t o t h e t r a i n i n g c o m m a n d t o k e e p t r a c k o f r e s u l t s . T h i s c a n b e r e a l l y u s e f u l f o r d e b u g g i n g t h e m o d e l a n d v i e w i n g i n t e r m e d i a t e r e s u l t s . < / T i p > ` ` ` b a s h e x p o r t M O D E L _ D I R = " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " e x p o r t O U T P U T _ D I R = " p a t h t o s a v e m o d e l " a c c e l e r a t e l a u n c h t r a i n _ t 2 i _ a d a p t e r _ s d x l . p y \ - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h = $ M O D E L _ D I R \ - - o u t p u t _ d i r = $ O U T P U T _ D I R \ - - d a t a s e t _ n a m e = f u s i n g / f i l l 5 0 k \ - - m i x e d _ p r e c i s i o n = " f p 1 6 " \ - - r e s o l u t i o n = 1 0 2 4 \ - - l e a r n i n g _ r a t e = 1 e - 5 \ - - m a x _ t r a i n _ s t e p s = 1 5 0 0 0 \ - - v a l i d a t i o n _ i m a g e " . / c o n d i t i o n i n g _ i m a g e _ 1 . p n g " " . / c o n d i t i o n i n g _ i m a g e _ 2 . p n g " \ - - v a l i d a t i o n _ p r o m p t " r e d c i r c l e w i t h b l u e b a c k g r o u n d " " c y a n c i r c l e w i t h b r o w n f l o r a l b a c k g r o u n d " \ - - v a l i d a t i o n _ s t e p s = 1 0 0 \ - - t r a i n _ b a t c h _ s i z e = 1 \ - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s = 4 \ - - r e p o r t _ t o = " w a n d b " \ - - s e e d = 4 2 \ - - p u s h _ t o _ h u b ` ` ` O n c e t r a i n i n g i s c o m p l e t e , y o u c a n u s e y o u r T 2 I - A d a p t e r f o r i n f e r e n c e : ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L A d a p t e r P i p e l i n e , T 2 I A d a p t e r , E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r T e s t f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m p o r t t o r c h a d a p t e r = T 2 I A d a p t e r . f r o m _ p r e t r a i n e d ( " p a t h / t o / a d a p t e r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e = S t a b l e D i f f u s i o n X L A d a p t e r P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , a d a p t e r = a d a p t e r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e . s c h e d u l e r = E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r T e s t . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) c o n t r o l _ i m a g e = l o a d _ i m a g e ( " . / c o n d i t i o n i n g _ i m a g e _ 1 . p n g " ) p r o m p t = " p a l e g o l d e n r o d c i r c l e w i t h o l d l a c e b a c k g r o u n d " g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) i m a g e = p i p e l i n e ( p r o m p t , i m a g e = c o n t r o l _ i m a g e , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e . s a v e ( " . / o u t p u t . p n g " ) ` ` ` # # N e x t s t e p s C o n g r a t u l a t i o n s o n t r a i n i n g a T 2 I - A d a p t e r m o d e l ! ๐ŸŽ‰ T o l e a r n m o r e : - R e a d t h e [ E f f i c i e n t C o n t r o l l a b l e G e n e r a t i o n f o r S D X L w i t h T 2 I - A d a p t e r s ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / t 2 i - s d x l - a d a p t e r s ) b l o g p o s t t o l e a r n m o r e d e t a i l s a b o u t t h e e x p e r i m e n t a l r e s u l t s f r o m t h e T 2 I - A d a p t e r t e a m . # D r e a m B o o t h [ D r e a m B o o t h ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 8 . 1 2 2 4 2 ) i s a t r a i n i n g t e c h n i q u e t h a t u p d a t e s t h e e n t i r e d i f f u s i o n m o d e l b y t r a i n i n g o n j u s t a f e w i m a g e s o f a s u b j e c t o r s t y l e . I t w o r k s b y a s s o c i a t i n g a s p e c i a l w o r d i n t h e p r o m p t w i t h t h e e x a m p l e i m a g e s . I f y o u ' r e t r a i n i n g o n a G P U w i t h l i m i t e d v R A M , y o u s h o u l d t r y e n a b l i n g t h e ` g r a d i e n t _ c h e c k p o i n t i n g ` a n d ` m i x e d _ p r e c i s i o n ` p a r a m e t e r s i n t h e t r a i n i n g c o m m a n d . Y o u c a n a l s o r e d u c e y o u r m e m o r y f o o t p r i n t b y u s i n g m e m o r y - e f f i c i e n t a t t e n t i o n w i t h [ x F o r m e r s ] ( . . / o p t i m i z a t i o n / x f o r m e r s ) . J A X / F l a x t r a i n i n g i s a l s o s u p p o r t e d f o r e f f i c i e n t t r a i n i n g o n T P U s a n d G P U s , b u t i t d o e s n ' t s u p p o r t g r a d i e n t c h e c k p o i n t i n g o r x F o r m e r s . Y o u s h o u l d h a v e a G P U w i t h > 3 0 G B o f m e m o r y i f y o u w a n t t o t r a i n f a s t e r w i t h F l a x . T h i s g u i d e w i l l e x p l o r e t h e [ t r a i n _ d r e a m b o o t h . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / d r e a m b o o t h / t r a i n _ d r e a m b o o t h . p y ) s c r i p t t o h e l p y o u b e c o m e m o r e f a m i l i a r w i t h i t , a n d h o w y o u c a n a d a p t i t f o r y o u r o w n u s e - c a s e . B e f o r e r u n n i n g t h e s c r i p t , m a k e s u r e y o u i n s t a l l t h e l i b r a r y f r o m s o u r c e : ` ` ` b a s h g i t c l o n e h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s c d d i f f u s e r s p i p i n s t a l l . ` ` ` N a v i g a t e t o t h e e x a m p l e f o l d e r w i t h t h e t r a i n i n g s c r i p t a n d i n s t a l l t h e r e q u i r e d d e p e n d e n c i e s f o r t h e s c r i p t y o u ' r e u s i n g : < h f o p t i o n s i d = " i n s t a l l a t i o n " > < h f o p t i o n i d = " P y T o r c h " > ` ` ` b a s h c d e x a m p l e s / d r e a m b o o t h p i p i n s t a l l - r r e q u i r e m e n t s . t x t ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " F l a x " > ` ` ` b a s h c d e x a m p l e s / d r e a m b o o t h p i p i n s t a l l - r r e q u i r e m e n t s _ f l a x . t x t ` ` ` < / h f o p t i o n > < / h f o p t i o n s > < T i p > ๐Ÿค— A c c e l e r a t e i s a l i b r a r y f o r h e l p i n g y o u t r a i n o n m u l t i p l e G P U s / T P U s o r w i t h m i x e d - p r e c i s i o n . I t ' l l a u t o m a t i c a l l y c o n f i g u r e y o u r t r a i n i n g s e t u p b a s e d o n y o u r h a r d w a r e a n d e n v i r o n m e n t . T a k e a l o o k a t t h e ๐Ÿค— A c c e l e r a t e [ Q u i c k t o u r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / q u i c k t o u r ) t o l e a r n m o r e . < / T i p > I n i t i a l i z e a n ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t : ` ` ` b a s h a c c e l e r a t e c o n f i g ` ` ` T o s e t u p a d e f a u l t ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t w i t h o u t c h o o s i n g a n y c o n f i g u r a t i o n s : ` ` ` b a s h a c c e l e r a t e c o n f i g d e f a u l t ` ` ` O r i f y o u r e n v i r o n m e n t d o e s n ' t s u p p o r t a n i n t e r a c t i v e s h e l l , l i k e a n o t e b o o k , y o u c a n u s e : ` ` ` p y f r o m a c c e l e r a t e . u t i l s i m p o r t w r i t e _ b a s i c _ c o n f i g w r i t e _ b a s i c _ c o n f i g ( ) ` ` ` L a s t l y , i f y o u w a n t t o t r a i n a m o d e l o n y o u r o w n d a t a s e t , t a k e a l o o k a t t h e [ C r e a t e a d a t a s e t f o r t r a i n i n g ] ( c r e a t e _ d a t a s e t ) g u i d e t o l e a r n h o w t o c r e a t e a d a t a s e t t h a t w o r k s w i t h t h e t r a i n i n g s c r i p t . < T i p > T h e f o l l o w i n g s e c t i o n s h i g h l i g h t p a r t s o f t h e t r a i n i n g s c r i p t t h a t a r e i m p o r t a n t f o r u n d e r s t a n d i n g h o w t o m o d i f y i t , b u t i t d o e s n ' t c o v e r e v e r y a s p e c t o f t h e s c r i p t i n d e t a i l . I f y o u ' r e i n t e r e s t e d i n l e a r n i n g m o r e , f e e l f r e e t o r e a d t h r o u g h t h e [ s c r i p t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / d r e a m b o o t h / t r a i n _ d r e a m b o o t h . p y ) a n d l e t u s k n o w i f y o u h a v e a n y q u e s t i o n s o r c o n c e r n s . < / T i p > # # S c r i p t p a r a m e t e r s < T i p w a r n i n g = { t r u e } > D r e a m B o o t h i s v e r y s e n s i t i v e t o t r a i n i n g h y p e r p a r a m e t e r s , a n d i t i s e a s y t o o v e r f i t . R e a d t h e [ T r a i n i n g S t a b l e D i f f u s i o n w i t h D r e a m b o o t h u s i n g ๐Ÿงจ D i f f u s e r s ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / d r e a m b o o t h ) b l o g p o s t f o r r e c o m m e n d e d s e t t i n g s f o r d i f f e r e n t s u b j e c t s t o h e l p y o u c h o o s e t h e a p p r o p r i a t e h y p e r p a r a m e t e r s . < / T i p > T h e t r a i n i n g s c r i p t o f f e r s m a n y p a r a m e t e r s f o r c u s t o m i z i n g y o u r t r a i n i n g r u n . A l l o f t h e p a r a m e t e r s a n d t h e i r d e s c r i p t i o n s a r e f o u n d i n t h e [ ` p a r s e _ a r g s ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 0 7 2 e 0 0 8 9 7 a 7 c f 4 3 0 2 c 3 4 7 a 6 3 e c 9 1 7 b 4 b 8 a d d 1 6 d 4 / e x a m p l e s / d r e a m b o o t h / t r a i n _ d r e a m b o o t h . p y # L 2 2 8 ) f u n c t i o n . T h e p a r a m e t e r s a r e s e t w i t h d e f a u l t v a l u e s t h a t s h o u l d w o r k p r e t t y w e l l o u t - o f - t h e - b o x , b u t y o u c a n a l s o s e t y o u r o w n v a l u e s i n t h e t r a i n i n g c o m m a n d i f y o u ' d l i k e . F o r e x a m p l e , t o t r a i n i n t h e b f 1 6 f o r m a t : ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ d r e a m b o o t h . p y \ - - m i x e d _ p r e c i s i o n = " b f 1 6 " ` ` ` S o m e b a s i c a n d i m p o r t a n t p a r a m e t e r s t o k n o w a n d s p e c i f y a r e : - ` - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h ` : t h e n a m e o f t h e m o d e l o n t h e H u b o r a l o c a l p a t h t o t h e p r e t r a i n e d m o d e l - ` - - i n s t a n c e _ d a t a _ d i r ` : p a t h t o a f o l d e r c o n t a i n i n g t h e t r a i n i n g d a t a s e t ( e x a m p l e i m a g e s ) - ` - - i n s t a n c e _ p r o m p t ` : t h e t e x t p r o m p t t h a t c o n t a i n s t h e s p e c i a l w o r d f o r t h e e x a m p l e i m a g e s - ` - - t r a i n _ t e x t _ e n c o d e r ` : w h e t h e r t o a l s o t r a i n t h e t e x t e n c o d e r - ` - - o u t p u t _ d i r ` : w h e r e t o s a v e t h e t r a i n e d m o d e l - ` - - p u s h _ t o _ h u b ` : w h e t h e r t o p u s h t h e t r a i n e d m o d e l t o t h e H u b - ` - - c h e c k p o i n t i n g _ s t e p s ` : f r e q u e n c y o f s a v i n g a c h e c k p o i n t a s t h e m o d e l t r a i n s ; t h i s i s u s e f u l i f f o r s o m e r e a s o n t r a i n i n g i s i n t e r r u p t e d , y o u c a n c o n t i n u e t r a i n i n g f r o m t h a t c h e c k p o i n t b y a d d i n g ` - - r e s u m e _ f r o m _ c h e c k p o i n t ` t o y o u r t r a i n i n g c o m m a n d # # # M i n - S N R w e i g h t i n g T h e [ M i n - S N R ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 3 . 0 9 5 5 6 ) w e i g h t i n g s t r a t e g y c a n h e l p w i t h t r a i n i n g b y r e b a l a n c i n g t h e l o s s t o a c h i e v e f a s t e r c o n v e r g e n c e . T h e t r a i n i n g s c r i p t s u p p o r t s p r e d i c t i n g ` e p s i l o n ` ( n o i s e ) o r ` v _ p r e d i c t i o n ` , b u t M i n - S N R i s c o m p a t i b l e w i t h b o t h p r e d i c t i o n t y p e s . T h i s w e i g h t i n g s t r a t e g y i s o n l y s u p p o r t e d b y P y T o r c h a n d i s u n a v a i l a b l e i n t h e F l a x t r a i n i n g s c r i p t . A d d t h e ` - - s n r _ g a m m a ` p a r a m e t e r a n d s e t i t t o t h e r e c o m m e n d e d v a l u e o f 5 . 0 : ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ d r e a m b o o t h . p y \ - - s n r _ g a m m a = 5 . 0 ` ` ` # # # P r i o r p r e s e r v a t i o n l o s s P r i o r p r e s e r v a t i o n l o s s i s a m e t h o d t h a t u s e s a m o d e l ' s o w n g e n e r a t e d s a m p l e s t o h e l p i t l e a r n h o w t o g e n e r a t e m o r e d i v e r s e i m a g e s . B e c a u s e t h e s e g e n e r a t e d s a m p l e i m a g e s b e l o n g t o t h e s a m e c l a s s a s t h e i m a g e s y o u p r o v i d e d , t h e y h e l p t h e m o d e l r e t a i n w h a t i t h a s l e a r n e d a b o u t t h e c l a s s a n d h o w i t c a n u s e w h a t i t a l r e a d y k n o w s a b o u t t h e c l a s s t o m a k e n e w c o m p o s i t i o n s . - ` - - w i t h _ p r i o r _ p r e s e r v a t i o n ` : w h e t h e r t o u s e p r i o r p r e s e r v a t i o n l o s s - ` - - p r i o r _ l o s s _ w e i g h t ` : c o n t r o l s t h e i n f l u e n c e o f t h e p r i o r p r e s e r v a t i o n l o s s o n t h e m o d e l - ` - - c l a s s _ d a t a _ d i r ` : p a t h t o a f o l d e r c o n t a i n i n g t h e g e n e r a t e d c l a s s s a m p l e i m a g e s - ` - - c l a s s _ p r o m p t ` : t h e t e x t p r o m p t d e s c r i b i n g t h e c l a s s o f t h e g e n e r a t e d s a m p l e i m a g e s ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ d r e a m b o o t h . p y \ - - w i t h _ p r i o r _ p r e s e r v a t i o n \ - - p r i o r _ l o s s _ w e i g h t = 1 . 0 \ - - c l a s s _ d a t a _ d i r = " p a t h / t o / c l a s s / i m a g e s " \ - - c l a s s _ p r o m p t = " t e x t p r o m p t d e s c r i b i n g c l a s s " ` ` ` # # # T r a i n t e x t e n c o d e r T o i m p r o v e t h e q u a l i t y o f t h e g e n e r a t e d o u t p u t s , y o u c a n a l s o t r a i n t h e t e x t e n c o d e r i n a d d i t i o n t o t h e U N e t . T h i s r e q u i r e s a d d i t i o n a l m e m o r y a n d y o u ' l l n e e d a G P U w i t h a t l e a s t 2 4 G B o f v R A M . I f y o u h a v e t h e n e c e s s a r y h a r d w a r e , t h e n t r a i n i n g t h e t e x t e n c o d e r p r o d u c e s b e t t e r r e s u l t s , e s p e c i a l l y w h e n g e n e r a t i n g i m a g e s o f f a c e s . E n a b l e t h i s o p t i o n b y : ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ d r e a m b o o t h . p y \ - - t r a i n _ t e x t _ e n c o d e r ` ` ` # # T r a i n i n g s c r i p t D r e a m B o o t h c o m e s w i t h i t s o w n d a t a s e t c l a s s e s : - [ ` D r e a m B o o t h D a t a s e t ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 0 7 2 e 0 0 8 9 7 a 7 c f 4 3 0 2 c 3 4 7 a 6 3 e c 9 1 7 b 4 b 8 a d d 1 6 d 4 / e x a m p l e s / d r e a m b o o t h / t r a i n _ d r e a m b o o t h . p y # L 6 0 4 ) : p r e p r o c e s s e s t h e i m a g e s a n d c l a s s i m a g e s , a n d t o k e n i z e s t h e p r o m p t s f o r t r a i n i n g - [ ` P r o m p t D a t a s e t ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 0 7 2 e 0 0 8 9 7 a 7 c f 4 3 0 2 c 3 4 7 a 6 3 e c 9 1 7 b 4 b 8 a d d 1 6 d 4 / e x a m p l e s / d r e a m b o o t h / t r a i n _ d r e a m b o o t h . p y # L 7 3 8 ) : g e n e r a t e s t h e p r o m p t e m b e d d i n g s t o g e n e r a t e t h e c l a s s i m a g e s I f y o u e n a b l e d [ p r i o r p r e s e r v a t i o n l o s s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 0 7 2 e 0 0 8 9 7 a 7 c f 4 3 0 2 c 3 4 7 a 6 3 e c 9 1 7 b 4 b 8 a d d 1 6 d 4 / e x a m p l e s / d r e a m b o o t h / t r a i n _ d r e a m b o o t h . p y # L 8 4 2 ) , t h e c l a s s i m a g e s a r e g e n e r a t e d h e r e : ` ` ` p y s a m p l e _ d a t a s e t = P r o m p t D a t a s e t ( a r g s . c l a s s _ p r o m p t , n u m _ n e w _ i m a g e s ) s a m p l e _ d a t a l o a d e r = t o r c h . u t i l s . d a t a . D a t a L o a d e r ( s a m p l e _ d a t a s e t , b a t c h _ s i z e = a r g s . s a m p l e _ b a t c h _ s i z e ) s a m p l e _ d a t a l o a d e r = a c c e l e r a t o r . p r e p a r e ( s a m p l e _ d a t a l o a d e r ) p i p e l i n e . t o ( a c c e l e r a t o r . d e v i c e ) f o r e x a m p l e i n t q d m ( s a m p l e _ d a t a l o a d e r , d e s c = " G e n e r a t i n g c l a s s i m a g e s " , d i s a b l e = n o t a c c e l e r a t o r . i s _ l o c a l _ m a i n _ p r o c e s s ) : i m a g e s = p i p e l i n e ( e x a m p l e [ " p r o m p t " ] ) . i m a g e s ` ` ` N e x t i s t h e [ ` m a i n ( ) ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 0 7 2 e 0 0 8 9 7 a 7 c f 4 3 0 2 c 3 4 7 a 6 3 e c 9 1 7 b 4 b 8 a d d 1 6 d 4 / e x a m p l e s / d r e a m b o o t h / t r a i n _ d r e a m b o o t h . p y # L 7 9 9 ) f u n c t i o n w h i c h h a n d l e s s e t t i n g u p t h e d a t a s e t f o r t r a i n i n g a n d t h e t r a i n i n g l o o p i t s e l f . T h e s c r i p t l o a d s t h e [ t o k e n i z e r ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 0 7 2 e 0 0 8 9 7 a 7 c f 4 3 0 2 c 3 4 7 a 6 3 e c 9 1 7 b 4 b 8 a d d 1 6 d 4 / e x a m p l e s / d r e a m b o o t h / t r a i n _ d r e a m b o o t h . p y # L 8 9 8 ) , [ s c h e d u l e r a n d m o d e l s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 0 7 2 e 0 0 8 9 7 a 7 c f 4 3 0 2 c 3 4 7 a 6 3 e c 9 1 7 b 4 b 8 a d d 1 6 d 4 / e x a m p l e s / d r e a m b o o t h / t r a i n _ d r e a m b o o t h . p y # L 9 1 2 C 1 - L 9 1 2 C 1 ) : ` ` ` p y # L o a d t h e t o k e n i z e r i f a r g s . t o k e n i z e r _ n a m e : t o k e n i z e r = A u t o T o k e n i z e r . f r o m _ p r e t r a i n e d ( a r g s . t o k e n i z e r _ n a m e , r e v i s i o n = a r g s . r e v i s i o n , u s e _ f a s t = F a l s e ) e l i f a r g s . p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h : t o k e n i z e r = A u t o T o k e n i z e r . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " t o k e n i z e r " , r e v i s i o n = a r g s . r e v i s i o n , u s e _ f a s t = F a l s e , ) # L o a d s c h e d u l e r a n d m o d e l s n o i s e _ s c h e d u l e r = D D P M S c h e d u l e r . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " s c h e d u l e r " ) t e x t _ e n c o d e r = t e x t _ e n c o d e r _ c l s . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " t e x t _ e n c o d e r " , r e v i s i o n = a r g s . r e v i s i o n ) i f m o d e l _ h a s _ v a e ( a r g s ) : v a e = A u t o e n c o d e r K L . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " v a e " , r e v i s i o n = a r g s . r e v i s i o n ) e l s e : v a e = N o n e u n e t = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( a r g s . p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h , s u b f o l d e r = " u n e t " , r e v i s i o n = a r g s . r e v i s i o n ) ` ` ` T h e n , i t ' s t i m e t o [ c r e a t e t h e t r a i n i n g d a t a s e t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 0 7 2 e 0 0 8 9 7 a 7 c f 4 3 0 2 c 3 4 7 a 6 3 e c 9 1 7 b 4 b 8 a d d 1 6 d 4 / e x a m p l e s / d r e a m b o o t h / t r a i n _ d r e a m b o o t h . p y # L 1 0 7 3 ) a n d D a t a L o a d e r f r o m ` D r e a m B o o t h D a t a s e t ` : ` ` ` p y t r a i n _ d a t a s e t = D r e a m B o o t h D a t a s e t ( i n s t a n c e _ d a t a _ r o o t = a r g s . i n s t a n c e _ d a t a _ d i r , i n s t a n c e _ p r o m p t = a r g s . i n s t a n c e _ p r o m p t , c l a s s _ d a t a _ r o o t = a r g s . c l a s s _ d a t a _ d i r i f a r g s . w i t h _ p r i o r _ p r e s e r v a t i o n e l s e N o n e , c l a s s _ p r o m p t = a r g s . c l a s s _ p r o m p t , c l a s s _ n u m = a r g s . n u m _ c l a s s _ i m a g e s , t o k e n i z e r = t o k e n i z e r , s i z e = a r g s . r e s o l u t i o n , c e n t e r _ c r o p = a r g s . c e n t e r _ c r o p , e n c o d e r _ h i d d e n _ s t a t e s = p r e _ c o m p u t e d _ e n c o d e r _ h i d d e n _ s t a t e s , c l a s s _ p r o m p t _ e n c o d e r _ h i d d e n _ s t a t e s = p r e _ c o m p u t e d _ c l a s s _ p r o m p t _ e n c o d e r _ h i d d e n _ s t a t e s , t o k e n i z e r _ m a x _ l e n g t h = a r g s . t o k e n i z e r _ m a x _ l e n g t h , ) t r a i n _ d a t a l o a d e r = t o r c h . u t i l s . d a t a . D a t a L o a d e r ( t r a i n _ d a t a s e t , b a t c h _ s i z e = a r g s . t r a i n _ b a t c h _ s i z e , s h u f f l e = T r u e , c o l l a t e _ f n = l a m b d a e x a m p l e s : c o l l a t e _ f n ( e x a m p l e s , a r g s . w i t h _ p r i o r _ p r e s e r v a t i o n ) , n u m _ w o r k e r s = a r g s . d a t a l o a d e r _ n u m _ w o r k e r s , ) ` ` ` L a s t l y , t h e [ t r a i n i n g l o o p ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 0 7 2 e 0 0 8 9 7 a 7 c f 4 3 0 2 c 3 4 7 a 6 3 e c 9 1 7 b 4 b 8 a d d 1 6 d 4 / e x a m p l e s / d r e a m b o o t h / t r a i n _ d r e a m b o o t h . p y # L 1 1 5 1 ) t a k e s c a r e o f t h e r e m a i n i n g s t e p s s u c h a s c o n v e r t i n g i m a g e s t o l a t e n t s p a c e , a d d i n g n o i s e t o t h e i n p u t , p r e d i c t i n g t h e n o i s e r e s i d u a l , a n d c a l c u l a t i n g t h e l o s s . I f y o u w a n t t o l e a r n m o r e a b o u t h o w t h e t r a i n i n g l o o p w o r k s , c h e c k o u t t h e [ U n d e r s t a n d i n g p i p e l i n e s , m o d e l s a n d s c h e d u l e r s ] ( . . / u s i n g - d i f f u s e r s / w r i t e _ o w n _ p i p e l i n e ) t u t o r i a l w h i c h b r e a k s d o w n t h e b a s i c p a t t e r n o f t h e d e n o i s i n g p r o c e s s . # # L a u n c h t h e s c r i p t Y o u ' r e n o w r e a d y t o l a u n c h t h e t r a i n i n g s c r i p t ! ๐Ÿš€ F o r t h i s g u i d e , y o u ' l l d o w n l o a d s o m e i m a g e s o f a [ d o g ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o g - e x a m p l e ) a n d s t o r e t h e m i n a d i r e c t o r y . B u t r e m e m b e r , y o u c a n c r e a t e a n d u s e y o u r o w n d a t a s e t i f y o u w a n t ( s e e t h e [ C r e a t e a d a t a s e t f o r t r a i n i n g ] ( c r e a t e _ d a t a s e t ) g u i d e ) . ` ` ` p y f r o m h u g g i n g f a c e _ h u b i m p o r t s n a p s h o t _ d o w n l o a d l o c a l _ d i r = " . / d o g " s n a p s h o t _ d o w n l o a d ( " d i f f u s e r s / d o g - e x a m p l e " , l o c a l _ d i r = l o c a l _ d i r , r e p o _ t y p e = " d a t a s e t " , i g n o r e _ p a t t e r n s = " . g i t a t t r i b u t e s " , ) ` ` ` S e t t h e e n v i r o n m e n t v a r i a b l e ` M O D E L _ N A M E ` t o a m o d e l i d o n t h e H u b o r a p a t h t o a l o c a l m o d e l , ` I N S T A N C E _ D I R ` t o t h e p a t h w h e r e y o u j u s t d o w n l o a d e d t h e d o g i m a g e s t o , a n d ` O U T P U T _ D I R ` t o w h e r e y o u w a n t t o s a v e t h e m o d e l . Y o u ' l l u s e ` s k s ` a s t h e s p e c i a l w o r d t o t i e t h e t r a i n i n g t o . I f y o u ' r e i n t e r e s t e d i n f o l l o w i n g a l o n g w i t h t h e t r a i n i n g p r o c e s s , y o u c a n p e r i o d i c a l l y s a v e g e n e r a t e d i m a g e s a s t r a i n i n g p r o g r e s s e s . A d d t h e f o l l o w i n g p a r a m e t e r s t o t h e t r a i n i n g c o m m a n d : ` ` ` b a s h - - v a l i d a t i o n _ p r o m p t = " a p h o t o o f a s k s d o g " - - n u m _ v a l i d a t i o n _ i m a g e s = 4 - - v a l i d a t i o n _ s t e p s = 1 0 0 ` ` ` O n e m o r e t h i n g b e f o r e y o u l a u n c h t h e s c r i p t ! D e p e n d i n g o n t h e G P U y o u h a v e , y o u m a y n e e d t o e n a b l e c e r t a i n o p t i m i z a t i o n s t o t r a i n D r e a m B o o t h . < h f o p t i o n s i d = " g p u - s e l e c t " > < h f o p t i o n i d = " 1 6 G B " > O n a 1 6 G B G P U , y o u c a n u s e b i t s a n d b y t e s 8 - b i t o p t i m i z e r a n d g r a d i e n t c h e c k p o i n t i n g t o h e l p y o u t r a i n a D r e a m B o o t h m o d e l . I n s t a l l b i t s a n d b y t e s : ` ` ` p y p i p i n s t a l l b i t s a n d b y t e s ` ` ` T h e n , a d d t h e f o l l o w i n g p a r a m e t e r t o y o u r t r a i n i n g c o m m a n d : ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ d r e a m b o o t h . p y \ - - g r a d i e n t _ c h e c k p o i n t i n g \ - - u s e _ 8 b i t _ a d a m \ ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " 1 2 G B " > O n a 1 2 G B G P U , y o u ' l l n e e d b i t s a n d b y t e s 8 - b i t o p t i m i z e r , g r a d i e n t c h e c k p o i n t i n g , x F o r m e r s , a n d s e t t h e g r a d i e n t s t o ` N o n e ` i n s t e a d o f z e r o t o r e d u c e y o u r m e m o r y - u s a g e . ` ` ` b a s h a c c e l e r a t e l a u n c h t r a i n _ d r e a m b o o t h . p y \ - - u s e _ 8 b i t _ a d a m \ - - g r a d i e n t _ c h e c k p o i n t i n g \ - - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n \ - - s e t _ g r a d s _ t o _ n o n e \ ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " 8 G B " > O n a 8 G B G P U , y o u ' l l n e e d [ D e e p S p e e d ] ( h t t p s : / / w w w . d e e p s p e e d . a i / ) t o o f f l o a d s o m e o f t h e t e n s o r s f r o m t h e v R A M t o e i t h e r t h e C P U o r N V M E t o a l l o w t r a i n i n g w i t h l e s s G P U m e m o r y . R u n t h e f o l l o w i n g c o m m a n d t o c o n f i g u r e y o u r ๐Ÿค— A c c e l e r a t e e n v i r o n m e n t : ` ` ` b a s h a c c e l e r a t e c o n f i g ` ` ` D u r i n g c o n f i g u r a t i o n , c o n f i r m t h a t y o u w a n t t o u s e D e e p S p e e d . N o w i t s h o u l d b e p o s s i b l e t o t r a i n o n u n d e r 8 G B v R A M b y c o m b i n i n g D e e p S p e e d s t a g e 2 , f p 1 6 m i x e d p r e c i s i o n , a n d o f f l o a d i n g t h e m o d e l p a r a m e t e r s a n d t h e o p t i m i z e r s t a t e t o t h e C P U . T h e d r a w b a c k i s t h a t t h i s r e q u i r e s m o r e s y s t e m R A M ( ~ 2 5 G B ) . S e e t h e [ D e e p S p e e d d o c u m e n t a t i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / u s a g e _ g u i d e s / d e e p s p e e d ) f o r m o r e c o n f i g u r a t i o n o p t i o n s . Y o u s h o u l d a l s o c h a n g e t h e d e f a u l t A d a m o p t i m i z e r t o D e e p S p e e d โ€™ s o p t i m i z e d v e r s i o n o f A d a m [ ` d e e p s p e e d . o p s . a d a m . D e e p S p e e d C P U A d a m ` ] ( h t t p s : / / d e e p s p e e d . r e a d t h e d o c s . i o / e n / l a t e s t / o p t i m i z e r s . h t m l # a d a m - c p u ) f o r a s u b s t a n t i a l s p e e d u p . E n a b l i n g ` D e e p S p e e d C P U A d a m ` r e q u i r e s y o u r s y s t e m โ€™ s C U D A t o o l c h a i n v e r s i o n t o b e t h e s a m e a s t h e o n e i n s t a l l e d w i t h P y T o r c h . b i t s a n d b y t e s 8 - b i t o p t i m i z e r s d o n โ€™ t s e e m t o b e c o m p a t i b l e w i t h D e e p S p e e d a t t h e m o m e n t . T h a t ' s i t ! Y o u d o n ' t n e e d t o a d d a n y a d d i t i o n a l p a r a m e t e r s t o y o u r t r a i n i n g c o m m a n d . < / h f o p t i o n > < / h f o p t i o n s > < h f o p t i o n s i d = " t r a i n i n g - i n f e r e n c e " > < h f o p t i o n i d = " P y T o r c h " > ` ` ` b a s h e x p o r t M O D E L _ N A M E = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " e x p o r t I N S T A N C E _ D I R = " . / d o g " e x p o r t O U T P U T _ D I R = " p a t h _ t o _ s a v e d _ m o d e l " a c c e l e r a t e l a u n c h t r a i n _ d r e a m b o o t h . p y \ - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h = $ M O D E L _ N A M E \ - - i n s t a n c e _ d a t a _ d i r = $ I N S T A N C E _ D I R \ - - o u t p u t _ d i r = $ O U T P U T _ D I R \ - - i n s t a n c e _ p r o m p t = " a p h o t o o f s k s d o g " \ - - r e s o l u t i o n = 5 1 2 \ - - t r a i n _ b a t c h _ s i z e = 1 \ - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s = 1 \ - - l e a r n i n g _ r a t e = 5 e - 6 \ - - l r _ s c h e d u l e r = " c o n s t a n t " \ - - l r _ w a r m u p _ s t e p s = 0 \ - - m a x _ t r a i n _ s t e p s = 4 0 0 \ - - p u s h _ t o _ h u b ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " F l a x " > ` ` ` b a s h e x p o r t M O D E L _ N A M E = " d u o n g n a / s t a b l e - d i f f u s i o n - v 1 - 4 - f l a x " e x p o r t I N S T A N C E _ D I R = " . / d o g " e x p o r t O U T P U T _ D I R = " p a t h - t o - s a v e - m o d e l " p y t h o n t r a i n _ d r e a m b o o t h _ f l a x . p y \ - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h = $ M O D E L _ N A M E \ - - i n s t a n c e _ d a t a _ d i r = $ I N S T A N C E _ D I R \ - - o u t p u t _ d i r = $ O U T P U T _ D I R \ - - i n s t a n c e _ p r o m p t = " a p h o t o o f s k s d o g " \ - - r e s o l u t i o n = 5 1 2 \ - - t r a i n _ b a t c h _ s i z e = 1 \ - - l e a r n i n g _ r a t e = 5 e - 6 \ - - m a x _ t r a i n _ s t e p s = 4 0 0 \ - - p u s h _ t o _ h u b ` ` ` < / h f o p t i o n > < / h f o p t i o n s > O n c e t r a i n i n g i s c o m p l e t e , y o u c a n u s e y o u r n e w l y t r a i n e d m o d e l f o r i n f e r e n c e ! < T i p > C a n ' t w a i t t o t r y y o u r m o d e l f o r i n f e r e n c e b e f o r e t r a i n i n g i s c o m p l e t e ? ๐Ÿคญ M a k e s u r e y o u h a v e t h e l a t e s t v e r s i o n o f ๐Ÿค— A c c e l e r a t e i n s t a l l e d . ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e , U N e t 2 D C o n d i t i o n M o d e l f r o m t r a n s f o r m e r s i m p o r t C L I P T e x t M o d e l i m p o r t t o r c h u n e t = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( " p a t h / t o / m o d e l / c h e c k p o i n t - 1 0 0 / u n e t " ) # i f y o u h a v e t r a i n e d w i t h ` - - a r g s . t r a i n _ t e x t _ e n c o d e r ` m a k e s u r e t o a l s o l o a d t h e t e x t e n c o d e r t e x t _ e n c o d e r = C L I P T e x t M o d e l . f r o m _ p r e t r a i n e d ( " p a t h / t o / m o d e l / c h e c k p o i n t - 1 0 0 / c h e c k p o i n t - 1 0 0 / t e x t _ e n c o d e r " ) p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , u n e t = u n e t , t e x t _ e n c o d e r = t e x t _ e n c o d e r , d t y p e = t o r c h . f l o a t 1 6 , ) . t o ( " c u d a " ) i m a g e = p i p e l i n e ( " A p h o t o o f s k s d o g i n a b u c k e t " , n u m _ i n f e r e n c e _ s t e p s = 5 0 , g u i d a n c e _ s c a l e = 7 . 5 ) . i m a g e s [ 0 ] i m a g e . s a v e ( " d o g - b u c k e t . p n g " ) ` ` ` < / T i p > < h f o p t i o n s i d = " t r a i n i n g - i n f e r e n c e " > < h f o p t i o n i d = " P y T o r c h " > ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " p a t h _ t o _ s a v e d _ m o d e l " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) i m a g e = p i p e l i n e ( " A p h o t o o f s k s d o g i n a b u c k e t " , n u m _ i n f e r e n c e _ s t e p s = 5 0 , g u i d a n c e _ s c a l e = 7 . 5 ) . i m a g e s [ 0 ] i m a g e . s a v e ( " d o g - b u c k e t . p n g " ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " F l a x " > ` ` ` p y i m p o r t j a x i m p o r t n u m p y a s n p f r o m f l a x . j a x _ u t i l s i m p o r t r e p l i c a t e f r o m f l a x . t r a i n i n g . c o m m o n _ u t i l s i m p o r t s h a r d f r o m d i f f u s e r s i m p o r t F l a x S t a b l e D i f f u s i o n P i p e l i n e p i p e l i n e , p a r a m s = F l a x S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " p a t h - t o - y o u r - t r a i n e d - m o d e l " , d t y p e = j a x . n u m p y . b f l o a t 1 6 ) p r o m p t = " A p h o t o o f s k s d o g i n a b u c k e t " p r n g _ s e e d = j a x . r a n d o m . P R N G K e y ( 0 ) n u m _ i n f e r e n c e _ s t e p s = 5 0 n u m _ s a m p l e s = j a x . d e v i c e _ c o u n t ( ) p r o m p t = n u m _ s a m p l e s * [ p r o m p t ] p r o m p t _ i d s = p i p e l i n e . p r e p a r e _ i n p u t s ( p r o m p t ) # s h a r d i n p u t s a n d r n g p a r a m s = r e p l i c a t e ( p a r a m s ) p r n g _ s e e d = j a x . r a n d o m . s p l i t ( p r n g _ s e e d , j a x . d e v i c e _ c o u n t ( ) ) p r o m p t _ i d s = s h a r d ( p r o m p t _ i d s ) i m a g e s = p i p e l i n e ( p r o m p t _ i d s , p a r a m s , p r n g _ s e e d , n u m _ i n f e r e n c e _ s t e p s , j i t = T r u e ) . i m a g e s i m a g e s = p i p e l i n e . n u m p y _ t o _ p i l ( n p . a s a r r a y ( i m a g e s . r e s h a p e ( ( n u m _ s a m p l e s , ) + i m a g e s . s h a p e [ - 3 : ] ) ) ) i m a g e . s a v e ( " d o g - b u c k e t . p n g " ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > # # L o R A L o R A i s a t r a i n i n g t e c h n i q u e f o r s i g n i f i c a n t l y r e d u c i n g t h e n u m b e r o f t r a i n a b l e p a r a m e t e r s . A s a r e s u l t , t r a i n i n g i s f a s t e r a n d i t i s e a s i e r t o s t o r e t h e r e s u l t i n g w e i g h t s b e c a u s e t h e y a r e a l o t s m a l l e r ( ~ 1 0 0 M B s ) . U s e t h e [ t r a i n _ d r e a m b o o t h _ l o r a . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / d r e a m b o o t h / t r a i n _ d r e a m b o o t h _ l o r a . p y ) s c r i p t t o t r a i n w i t h L o R A . T h e L o R A t r a i n i n g s c r i p t i s d i s c u s s e d i n m o r e d e t a i l i n t h e [ L o R A t r a i n i n g ] ( l o r a ) g u i d e . # # S t a b l e D i f f u s i o n X L S t a b l e D i f f u s i o n X L ( S D X L ) i s a p o w e r f u l t e x t - t o - i m a g e m o d e l t h a t g e n e r a t e s h i g h - r e s o l u t i o n i m a g e s , a n d i t a d d s a s e c o n d t e x t - e n c o d e r t o i t s a r c h i t e c t u r e . U s e t h e [ t r a i n _ d r e a m b o o t h _ l o r a _ s d x l . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / d r e a m b o o t h / t r a i n _ d r e a m b o o t h _ l o r a _ s d x l . p y ) s c r i p t t o t r a i n a S D X L m o d e l w i t h L o R A . T h e S D X L t r a i n i n g s c r i p t i s d i s c u s s e d i n m o r e d e t a i l i n t h e [ S D X L t r a i n i n g ] ( s d x l ) g u i d e . # # D e e p F l o y d I F D e e p F l o y d I F i s a c a s c a d i n g p i x e l d i f f u s i o n m o d e l w i t h t h r e e s t a g e s . T h e f i r s t s t a g e g e n e r a t e s a b a s e i m a g e a n d t h e s e c o n d a n d t h i r d s t a g e s p r o g r e s s i v e l y u p s c a l e s t h e b a s e i m a g e i n t o a h i g h - r e s o l u t i o n 1 0 2 4 x 1 0 2 4 i m a g e . U s e t h e [ t r a i n _ d r e a m b o o t h _ l o r a . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / d r e a m b o o t h / t r a i n _ d r e a m b o o t h _ l o r a . p y ) o r [ t r a i n _ d r e a m b o o t h . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / d r e a m b o o t h / t r a i n _ d r e a m b o o t h . p y ) s c r i p t s t o t r a i n a D e e p F l o y d I F m o d e l w i t h L o R A o r t h e f u l l m o d e l . D e e p F l o y d I F u s e s p r e d i c t e d v a r i a n c e , b u t t h e D i f f u s e r s t r a i n i n g s c r i p t s u s e s p r e d i c t e d e r r o r s o t h e t r a i n e d D e e p F l o y d I F m o d e l s a r e s w i t c h e d t o a f i x e d v a r i a n c e s c h e d u l e . T h e t r a i n i n g s c r i p t s w i l l u p d a t e t h e s c h e d u l e r c o n f i g o f t h e f u l l y t r a i n e d m o d e l f o r y o u . H o w e v e r , w h e n y o u l o a d t h e s a v e d L o R A w e i g h t s y o u m u s t a l s o u p d a t e t h e p i p e l i n e ' s s c h e d u l e r c o n f i g . ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I - X L - v 1 . 0 " , u s e _ s a f e t e n s o r s = T r u e ) p i p e . l o a d _ l o r a _ w e i g h t s ( " < l o r a w e i g h t s p a t h > " ) # U p d a t e s c h e d u l e r c o n f i g t o f i x e d v a r i a n c e s c h e d u l e p i p e . s c h e d u l e r = p i p e . s c h e d u l e r . _ _ c l a s s _ _ . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g , v a r i a n c e _ t y p e = " f i x e d _ s m a l l " ) ` ` ` T h e s t a g e 2 m o d e l r e q u i r e s a d d i t i o n a l v a l i d a t i o n i m a g e s t o u p s c a l e . Y o u c a n d o w n l o a d a n d u s e a d o w n s i z e d v e r s i o n o f t h e t r a i n i n g i m a g e s f o r t h i s . ` ` ` p y f r o m h u g g i n g f a c e _ h u b i m p o r t s n a p s h o t _ d o w n l o a d l o c a l _ d i r = " . / d o g _ d o w n s i z e d " s n a p s h o t _ d o w n l o a d ( " d i f f u s e r s / d o g - e x a m p l e - d o w n s i z e d " , l o c a l _ d i r = l o c a l _ d i r , r e p o _ t y p e = " d a t a s e t " , i g n o r e _ p a t t e r n s = " . g i t a t t r i b u t e s " , ) ` ` ` T h e c o d e s a m p l e s b e l o w p r o v i d e a b r i e f o v e r v i e w o f h o w t o t r a i n a D e e p F l o y d I F m o d e l w i t h a c o m b i n a t i o n o f D r e a m B o o t h a n d L o R A . S o m e i m p o r t a n t p a r a m e t e r s t o n o t e a r e : * ` - - r e s o l u t i o n = 6 4 ` , a m u c h s m a l l e r r e s o l u t i o n i s r e q u i r e d b e c a u s e D e e p F l o y d I F i s a p i x e l d i f f u s i o n m o d e l a n d t o w o r k o n u n c o m p r e s s e d p i x e l s , t h e i n p u t i m a g e s m u s t b e s m a l l e r * ` - - p r e _ c o m p u t e _ t e x t _ e m b e d d i n g s ` , c o m p u t e t h e t e x t e m b e d d i n g s a h e a d o f t i m e t o s a v e m e m o r y b e c a u s e t h e [ T 5 M o d e l ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / e n / m o d e l _ d o c / t 5 # t r a n s f o r m e r s . T 5 M o d e l ) c a n t a k e u p a l o t o f m e m o r y * ` - - t o k e n i z e r _ m a x _ l e n g t h = 7 7 ` , y o u c a n u s e a l o n g e r d e f a u l t t e x t l e n g t h w i t h T 5 a s t h e t e x t e n c o d e r b u t t h e d e f a u l t m o d e l e n c o d i n g p r o c e d u r e u s e s a s h o r t e r t e x t l e n g t h * ` - - t e x t _ e n c o d e r _ u s e _ a t t e n t i o n _ m a s k ` , t o p a s s t h e a t t e n t i o n m a s k t o t h e t e x t e n c o d e r < h f o p t i o n s i d = " I F - D r e a m B o o t h " > < h f o p t i o n i d = " S t a g e 1 L o R A D r e a m B o o t h " > T r a i n i n g s t a g e 1 o f D e e p F l o y d I F w i t h L o R A a n d D r e a m B o o t h r e q u i r e s ~ 2 8 G B o f m e m o r y . ` ` ` b a s h e x p o r t M O D E L _ N A M E = " D e e p F l o y d / I F - I - X L - v 1 . 0 " e x p o r t I N S T A N C E _ D I R = " d o g " e x p o r t O U T P U T _ D I R = " d r e a m b o o t h _ d o g _ l o r a " a c c e l e r a t e l a u n c h t r a i n _ d r e a m b o o t h _ l o r a . p y \ - - r e p o r t _ t o w a n d b \ - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h = $ M O D E L _ N A M E \ - - i n s t a n c e _ d a t a _ d i r = $ I N S T A N C E _ D I R \ - - o u t p u t _ d i r = $ O U T P U T _ D I R \ - - i n s t a n c e _ p r o m p t = " a s k s d o g " \ - - r e s o l u t i o n = 6 4 \ - - t r a i n _ b a t c h _ s i z e = 4 \ - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s = 1 \ - - l e a r n i n g _ r a t e = 5 e - 6 \ - - s c a l e _ l r \ - - m a x _ t r a i n _ s t e p s = 1 2 0 0 \ - - v a l i d a t i o n _ p r o m p t = " a s k s d o g " \ - - v a l i d a t i o n _ e p o c h s = 2 5 \ - - c h e c k p o i n t i n g _ s t e p s = 1 0 0 \ - - p r e _ c o m p u t e _ t e x t _ e m b e d d i n g s \ - - t o k e n i z e r _ m a x _ l e n g t h = 7 7 \ - - t e x t _ e n c o d e r _ u s e _ a t t e n t i o n _ m a s k ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " S t a g e 2 L o R A D r e a m B o o t h " > F o r s t a g e 2 o f D e e p F l o y d I F w i t h L o R A a n d D r e a m B o o t h , p a y a t t e n t i o n t o t h e s e p a r a m e t e r s : * ` - - v a l i d a t i o n _ i m a g e s ` , t h e i m a g e s t o u p s c a l e d u r i n g v a l i d a t i o n * ` - - c l a s s _ l a b e l s _ c o n d i t i o n i n g = t i m e s t e p s ` , t o a d d i t i o n a l l y c o n d i t i o n a l t h e U N e t a s n e e d e d i n s t a g e 2 * ` - - l e a r n i n g _ r a t e = 1 e - 6 ` , a l o w e r l e a r n i n g r a t e i s u s e d c o m p a r e d t o s t a g e 1 * ` - - r e s o l u t i o n = 2 5 6 ` , t h e e x p e c t e d r e s o l u t i o n f o r t h e u p s c a l e r ` ` ` b a s h e x p o r t M O D E L _ N A M E = " D e e p F l o y d / I F - I I - L - v 1 . 0 " e x p o r t I N S T A N C E _ D I R = " d o g " e x p o r t O U T P U T _ D I R = " d r e a m b o o t h _ d o g _ u p s c a l e " e x p o r t V A L I D A T I O N _ I M A G E S = " d o g _ d o w n s i z e d / i m a g e _ 1 . p n g d o g _ d o w n s i z e d / i m a g e _ 2 . p n g d o g _ d o w n s i z e d / i m a g e _ 3 . p n g d o g _ d o w n s i z e d / i m a g e _ 4 . p n g " p y t h o n t r a i n _ d r e a m b o o t h _ l o r a . p y \ - - r e p o r t _ t o w a n d b \ - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h = $ M O D E L _ N A M E \ - - i n s t a n c e _ d a t a _ d i r = $ I N S T A N C E _ D I R \ - - o u t p u t _ d i r = $ O U T P U T _ D I R \ - - i n s t a n c e _ p r o m p t = " a s k s d o g " \ - - r e s o l u t i o n = 2 5 6 \ - - t r a i n _ b a t c h _ s i z e = 4 \ - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s = 1 \ - - l e a r n i n g _ r a t e = 1 e - 6 \ - - m a x _ t r a i n _ s t e p s = 2 0 0 0 \ - - v a l i d a t i o n _ p r o m p t = " a s k s d o g " \ - - v a l i d a t i o n _ e p o c h s = 1 0 0 \ - - c h e c k p o i n t i n g _ s t e p s = 5 0 0 \ - - p r e _ c o m p u t e _ t e x t _ e m b e d d i n g s \ - - t o k e n i z e r _ m a x _ l e n g t h = 7 7 \ - - t e x t _ e n c o d e r _ u s e _ a t t e n t i o n _ m a s k \ - - v a l i d a t i o n _ i m a g e s $ V A L I D A T I O N _ I M A G E S \ - - c l a s s _ l a b e l s _ c o n d i t i o n i n g = t i m e s t e p s ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " S t a g e 1 D r e a m B o o t h " > F o r s t a g e 1 o f D e e p F l o y d I F w i t h D r e a m B o o t h , p a y a t t e n t i o n t o t h e s e p a r a m e t e r s : * ` - - s k i p _ s a v e _ t e x t _ e n c o d e r ` , t o s k i p s a v i n g t h e f u l l T 5 t e x t e n c o d e r w i t h t h e f i n e t u n e d m o d e l * ` - - u s e _ 8 b i t _ a d a m ` , t o u s e 8 - b i t A d a m o p t i m i z e r t o s a v e m e m o r y d u e t o t h e s i z e o f t h e o p t i m i z e r s t a t e w h e n t r a i n i n g t h e f u l l m o d e l * ` - - l e a r n i n g _ r a t e = 1 e - 7 ` , a r e a l l y l o w l e a r n i n g r a t e s h o u l d b e u s e d f o r f u l l m o d e l t r a i n i n g o t h e r w i s e t h e m o d e l q u a l i t y i s d e g r a d e d ( y o u c a n u s e a h i g h e r l e a r n i n g r a t e w i t h a l a r g e r b a t c h s i z e ) T r a i n i n g w i t h 8 - b i t A d a m a n d a b a t c h s i z e o f 4 , t h e f u l l m o d e l c a n b e t r a i n e d w i t h ~ 4 8 G B o f m e m o r y . ` ` ` b a s h e x p o r t M O D E L _ N A M E = " D e e p F l o y d / I F - I - X L - v 1 . 0 " e x p o r t I N S T A N C E _ D I R = " d o g " e x p o r t O U T P U T _ D I R = " d r e a m b o o t h _ i f " a c c e l e r a t e l a u n c h t r a i n _ d r e a m b o o t h . p y \ - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h = $ M O D E L _ N A M E \ - - i n s t a n c e _ d a t a _ d i r = $ I N S T A N C E _ D I R \ - - o u t p u t _ d i r = $ O U T P U T _ D I R \ - - i n s t a n c e _ p r o m p t = " a p h o t o o f s k s d o g " \ - - r e s o l u t i o n = 6 4 \ - - t r a i n _ b a t c h _ s i z e = 4 \ - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s = 1 \ - - l e a r n i n g _ r a t e = 1 e - 7 \ - - m a x _ t r a i n _ s t e p s = 1 5 0 \ - - v a l i d a t i o n _ p r o m p t " a p h o t o o f s k s d o g " \ - - v a l i d a t i o n _ s t e p s 2 5 \ - - t e x t _ e n c o d e r _ u s e _ a t t e n t i o n _ m a s k \ - - t o k e n i z e r _ m a x _ l e n g t h 7 7 \ - - p r e _ c o m p u t e _ t e x t _ e m b e d d i n g s \ - - u s e _ 8 b i t _ a d a m \ - - s e t _ g r a d s _ t o _ n o n e \ - - s k i p _ s a v e _ t e x t _ e n c o d e r \ - - p u s h _ t o _ h u b ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " S t a g e 2 D r e a m B o o t h " > F o r s t a g e 2 o f D e e p F l o y d I F w i t h D r e a m B o o t h , p a y a t t e n t i o n t o t h e s e p a r a m e t e r s : * ` - - l e a r n i n g _ r a t e = 5 e - 6 ` , u s e a l o w e r l e a r n i n g r a t e w i t h a s m a l l e r e f f e c t i v e b a t c h s i z e * ` - - r e s o l u t i o n = 2 5 6 ` , t h e e x p e c t e d r e s o l u t i o n f o r t h e u p s c a l e r * ` - - t r a i n _ b a t c h _ s i z e = 2 ` a n d ` - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s = 6 ` , t o e f f e c t i v e l y t r a i n o n i m a g e s w i h t f a c e s r e q u i r e s l a r g e r b a t c h s i z e s ` ` ` b a s h e x p o r t M O D E L _ N A M E = " D e e p F l o y d / I F - I I - L - v 1 . 0 " e x p o r t I N S T A N C E _ D I R = " d o g " e x p o r t O U T P U T _ D I R = " d r e a m b o o t h _ d o g _ u p s c a l e " e x p o r t V A L I D A T I O N _ I M A G E S = " d o g _ d o w n s i z e d / i m a g e _ 1 . p n g d o g _ d o w n s i z e d / i m a g e _ 2 . p n g d o g _ d o w n s i z e d / i m a g e _ 3 . p n g d o g _ d o w n s i z e d / i m a g e _ 4 . p n g " a c c e l e r a t e l a u n c h t r a i n _ d r e a m b o o t h . p y \ - - r e p o r t _ t o w a n d b \ - - p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h = $ M O D E L _ N A M E \ - - i n s t a n c e _ d a t a _ d i r = $ I N S T A N C E _ D I R \ - - o u t p u t _ d i r = $ O U T P U T _ D I R \ - - i n s t a n c e _ p r o m p t = " a s k s d o g " \ - - r e s o l u t i o n = 2 5 6 \ - - t r a i n _ b a t c h _ s i z e = 2 \ - - g r a d i e n t _ a c c u m u l a t i o n _ s t e p s = 6 \ - - l e a r n i n g _ r a t e = 5 e - 6 \ - - m a x _ t r a i n _ s t e p s = 2 0 0 0 \ - - v a l i d a t i o n _ p r o m p t = " a s k s d o g " \ - - v a l i d a t i o n _ s t e p s = 1 5 0 \ - - c h e c k p o i n t i n g _ s t e p s = 5 0 0 \ - - p r e _ c o m p u t e _ t e x t _ e m b e d d i n g s \ - - t o k e n i z e r _ m a x _ l e n g t h = 7 7 \ - - t e x t _ e n c o d e r _ u s e _ a t t e n t i o n _ m a s k \ - - v a l i d a t i o n _ i m a g e s $ V A L I D A T I O N _ I M A G E S \ - - c l a s s _ l a b e l s _ c o n d i t i o n i n g t i m e s t e p s \ - - p u s h _ t o _ h u b ` ` ` < / h f o p t i o n > < / h f o p t i o n s > # # # T r a i n i n g t i p s T r a i n i n g t h e D e e p F l o y d I F m o d e l c a n b e c h a l l e n g i n g , b u t h e r e a r e s o m e t i p s t h a t w e ' v e f o u n d h e l p f u l : - L o R A i s s u f f i c i e n t f o r t r a i n i n g t h e s t a g e 1 m o d e l b e c a u s e t h e m o d e l ' s l o w r e s o l u t i o n m a k e s r e p r e s e n t i n g f i n e r d e t a i l s d i f f i c u l t r e g a r d l e s s . - F o r c o m m o n o r s i m p l e o b j e c t s , y o u d o n ' t n e c e s s a r i l y n e e d t o f i n e t u n e t h e u p s c a l e r . M a k e s u r e t h e p r o m p t p a s s e d t o t h e u p s c a l e r i s a d j u s t e d t o r e m o v e t h e n e w t o k e n f r o m t h e i n s t a n c e p r o m p t . F o r e x a m p l e , i f y o u r s t a g e 1 p r o m p t i s " a s k s d o g " t h e n y o u r s t a g e 2 p r o m p t s h o u l d b e " a d o g " . - F o r f i n e r d e t a i l s l i k e f a c e s , f u l l y t r a i n i n g t h e s t a g e 2 u p s c a l e r i s b e t t e r t h a n t r a i n i n g t h e s t a g e 2 m o d e l w i t h L o R A . I t a l s o h e l p s t o u s e l o w e r l e a r n i n g r a t e s w i t h l a r g e r b a t c h s i z e s . - L o w e r l e a r n i n g r a t e s s h o u l d b e u s e d t o t r a i n t h e s t a g e 2 m o d e l . - T h e ` D D P M S c h e d u l e r ` w o r k s b e t t e r t h a n t h e D P M S o l v e r u s e d i n t h e t r a i n i n g s c r i p t s . # # N e x t s t e p s C o n g r a t u l a t i o n s o n t r a i n i n g y o u r D r e a m B o o t h m o d e l ! T o l e a r n m o r e a b o u t h o w t o u s e y o u r n e w m o d e l , t h e f o l l o w i n g g u i d e m a y b e h e l p f u l : - L e a r n h o w t o [ l o a d a D r e a m B o o t h ] ( . . / u s i n g - d i f f u s e r s / l o a d i n g _ a d a p t e r s ) m o d e l f o r i n f e r e n c e i f y o u t r a i n e d y o u r m o d e l w i t h L o R A . # A d a p t a m o d e l t o a n e w t a s k M a n y d i f f u s i o n s y s t e m s s h a r e t h e s a m e c o m p o n e n t s , a l l o w i n g y o u t o a d a p t a p r e t r a i n e d m o d e l f o r o n e t a s k t o a n e n t i r e l y d i f f e r e n t t a s k . T h i s g u i d e w i l l s h o w y o u h o w t o a d a p t a p r e t r a i n e d t e x t - t o - i m a g e m o d e l f o r i n p a i n t i n g b y i n i t i a l i z i n g a n d m o d i f y i n g t h e a r c h i t e c t u r e o f a p r e t r a i n e d ` U N e t 2 D C o n d i t i o n M o d e l ` . # # C o n f i g u r e U N e t 2 D C o n d i t i o n M o d e l p a r a m e t e r s A ` U N e t 2 D C o n d i t i o n M o d e l ` b y d e f a u l t a c c e p t s 4 c h a n n e l s i n t h e [ i n p u t s a m p l e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / v 0 . 1 6 . 0 / e n / a p i / m o d e l s # d i f f u s e r s . U N e t 2 D C o n d i t i o n M o d e l . i n _ c h a n n e l s ) . F o r e x a m p l e , l o a d a p r e t r a i n e d t e x t - t o - i m a g e m o d e l l i k e [ ` s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ` ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ) a n d t a k e a l o o k a t t h e n u m b e r o f ` i n _ c h a n n e l s ` : ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e p i p e l i n e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e . u n e t . c o n f i g [ " i n _ c h a n n e l s " ] 4 ` ` ` I n p a i n t i n g r e q u i r e s 9 c h a n n e l s i n t h e i n p u t s a m p l e . Y o u c a n c h e c k t h i s v a l u e i n a p r e t r a i n e d i n p a i n t i n g m o d e l l i k e [ ` r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g ` ] ( h t t p s : / / h u g g i n g f a c e . c o / r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g ) : ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e p i p e l i n e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g " , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e . u n e t . c o n f i g [ " i n _ c h a n n e l s " ] 9 ` ` ` T o a d a p t y o u r t e x t - t o - i m a g e m o d e l f o r i n p a i n t i n g , y o u ' l l n e e d t o c h a n g e t h e n u m b e r o f ` i n _ c h a n n e l s ` f r o m 4 t o 9 . I n i t i a l i z e a ` U N e t 2 D C o n d i t i o n M o d e l ` w i t h t h e p r e t r a i n e d t e x t - t o - i m a g e m o d e l w e i g h t s , a n d c h a n g e ` i n _ c h a n n e l s ` t o 9 . C h a n g i n g t h e n u m b e r o f ` i n _ c h a n n e l s ` m e a n s y o u n e e d t o s e t ` i g n o r e _ m i s m a t c h e d _ s i z e s = T r u e ` a n d ` l o w _ c p u _ m e m _ u s a g e = F a l s e ` t o a v o i d a s i z e m i s m a t c h e r r o r b e c a u s e t h e s h a p e i s d i f f e r e n t n o w . ` ` ` p y f r o m d i f f u s e r s i m p o r t U N e t 2 D C o n d i t i o n M o d e l m o d e l _ i d = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " u n e t = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( m o d e l _ i d , s u b f o l d e r = " u n e t " , i n _ c h a n n e l s = 9 , l o w _ c p u _ m e m _ u s a g e = F a l s e , i g n o r e _ m i s m a t c h e d _ s i z e s = T r u e , u s e _ s a f e t e n s o r s = T r u e , ) ` ` ` T h e p r e t r a i n e d w e i g h t s o f t h e o t h e r c o m p o n e n t s f r o m t h e t e x t - t o - i m a g e m o d e l a r e i n i t i a l i z e d f r o m t h e i r c h e c k p o i n t s , b u t t h e i n p u t c h a n n e l w e i g h t s ( ` c o n v _ i n . w e i g h t ` ) o f t h e ` u n e t ` a r e r a n d o m l y i n i t i a l i z e d . I t i s i m p o r t a n t t o f i n e t u n e t h e m o d e l f o r i n p a i n t i n g b e c a u s e o t h e r w i s e t h e m o d e l r e t u r n s n o i s e . # A u t o P i p e l i n e D i f f u s e r s p r o v i d e s m a n y p i p e l i n e s f o r b a s i c t a s k s l i k e g e n e r a t i n g i m a g e s , v i d e o s , a u d i o , a n d i n p a i n t i n g . O n t o p o f t h e s e , t h e r e a r e s p e c i a l i z e d p i p e l i n e s f o r a d a p t e r s a n d f e a t u r e s l i k e u p s c a l i n g , s u p e r - r e s o l u t i o n , a n d m o r e . D i f f e r e n t p i p e l i n e c l a s s e s c a n e v e n u s e t h e s a m e c h e c k p o i n t b e c a u s e t h e y s h a r e t h e s a m e p r e t r a i n e d m o d e l ! W i t h s o m a n y d i f f e r e n t p i p e l i n e s , i t c a n b e o v e r w h e l m i n g t o k n o w w h i c h p i p e l i n e c l a s s t o u s e . T h e [ A u t o P i p e l i n e ] ( . . / a p i / p i p e l i n e s / a u t o _ p i p e l i n e ) c l a s s i s d e s i g n e d t o s i m p l i f y t h e v a r i e t y o f p i p e l i n e s i n D i f f u s e r s . I t i s a g e n e r i c * t a s k - f i r s t * p i p e l i n e t h a t l e t s y o u f o c u s o n a t a s k ( ` A u t o P i p e l i n e F o r T e x t 2 I m a g e ` , ` A u t o P i p e l i n e F o r I m a g e 2 I m a g e ` , a n d ` A u t o P i p e l i n e F o r I n p a i n t i n g ` ) w i t h o u t n e e d i n g t o k n o w t h e s p e c i f i c p i p e l i n e c l a s s . T h e [ A u t o P i p e l i n e ] ( . . / a p i / p i p e l i n e s / a u t o _ p i p e l i n e ) a u t o m a t i c a l l y d e t e c t s t h e c o r r e c t p i p e l i n e c l a s s t o u s e . F o r e x a m p l e , l e t ' s u s e t h e [ d r e a m l i k e - a r t / d r e a m l i k e - p h o t o r e a l - 2 . 0 ] ( h t t p s : / / h f . c o / d r e a m l i k e - a r t / d r e a m l i k e - p h o t o r e a l - 2 . 0 ) c h e c k p o i n t . U n d e r t h e h o o d , [ A u t o P i p e l i n e ] ( . . / a p i / p i p e l i n e s / a u t o _ p i p e l i n e ) : 1 . D e t e c t s a ` " s t a b l e - d i f f u s i o n " ` c l a s s f r o m t h e [ m o d e l _ i n d e x . j s o n ] ( h t t p s : / / h f . c o / d r e a m l i k e - a r t / d r e a m l i k e - p h o t o r e a l - 2 . 0 / b l o b / m a i n / m o d e l _ i n d e x . j s o n ) f i l e . 2 . D e p e n d i n g o n t h e t a s k y o u ' r e i n t e r e s t e d i n , i t l o a d s t h e ` S t a b l e D i f f u s i o n P i p e l i n e ` , ` S t a b l e D i f f u s i o n I m g 2 I m g P i p e l i n e ` , o r ` S t a b l e D i f f u s i o n I n p a i n t P i p e l i n e ` . A n y p a r a m e t e r ( ` s t r e n g t h ` , ` n u m _ i n f e r e n c e _ s t e p s ` , e t c . ) y o u w o u l d p a s s t o t h e s e s p e c i f i c p i p e l i n e s c a n a l s o b e p a s s e d t o t h e [ A u t o P i p e l i n e ] ( . . / a p i / p i p e l i n e s / a u t o _ p i p e l i n e ) . < h f o p t i o n s i d = " a u t o p i p e l i n e " > < h f o p t i o n i d = " t e x t - t o - i m a g e " > ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e _ t x t 2 i m g = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " d r e a m l i k e - a r t / d r e a m l i k e - p h o t o r e a l - 2 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) p r o m p t = " c i n e m a t i c p h o t o o f G o d z i l l a e a t i n g s u s h i w i t h a c a t i n a i z a k a y a , 3 5 m m p h o t o g r a p h , f i l m , p r o f e s s i o n a l , 4 k , h i g h l y d e t a i l e d " g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 3 7 ) i m a g e = p i p e _ t x t 2 i m g ( p r o m p t , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a u t o p i p e l i n e - t e x t 2 i m g . p n g " / > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " i m a g e - t o - i m a g e " > ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I m a g e 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m p o r t t o r c h p i p e _ i m g 2 i m g = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " d r e a m l i k e - a r t / d r e a m l i k e - p h o t o r e a l - 2 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a u t o p i p e l i n e - t e x t 2 i m g . p n g " ) p r o m p t = " c i n e m a t i c p h o t o o f G o d z i l l a e a t i n g b u r g e r s w i t h a c a t i n a f a s t f o o d r e s t a u r a n t , 3 5 m m p h o t o g r a p h , f i l m , p r o f e s s i o n a l , 4 k , h i g h l y d e t a i l e d " g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 5 3 ) i m a g e = p i p e _ i m g 2 i m g ( p r o m p t , i m a g e = i n i t _ i m a g e , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` N o t i c e h o w t h e [ d r e a m l i k e - a r t / d r e a m l i k e - p h o t o r e a l - 2 . 0 ] ( h t t p s : / / h f . c o / d r e a m l i k e - a r t / d r e a m l i k e - p h o t o r e a l - 2 . 0 ) c h e c k p o i n t i s u s e d f o r b o t h t e x t - t o - i m a g e a n d i m a g e - t o - i m a g e t a s k s ? T o s a v e m e m o r y a n d a v o i d l o a d i n g t h e c h e c k p o i n t t w i c e , u s e t h e ` f r o m _ p i p e ( ) ` m e t h o d . ` ` ` p y p i p e _ i m g 2 i m g = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p i p e ( p i p e _ t x t 2 i m g ) . t o ( " c u d a " ) i m a g e = p i p e l i n e ( p r o m p t , i m a g e = i n i t _ i m a g e , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` Y o u c a n l e a r n m o r e a b o u t t h e ` f r o m _ p i p e ( ) ` m e t h o d i n t h e [ R e u s e a p i p e l i n e ] ( . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - a - p i p e l i n e ) g u i d e . < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a u t o p i p e l i n e - i m g 2 i m g . p n g " / > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " i n p a i n t i n g " > ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a u t o p i p e l i n e - i m g 2 i m g . p n g " ) m a s k _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a u t o p i p e l i n e - m a s k . p n g " ) p r o m p t = " c i n e m a t i c p h o t o o f a o w l , 3 5 m m p h o t o g r a p h , f i l m , p r o f e s s i o n a l , 4 k , h i g h l y d e t a i l e d " g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 3 8 ) i m a g e = p i p e l i n e ( p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e , g e n e r a t o r = g e n e r a t o r , s t r e n g t h = 0 . 4 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a u t o p i p e l i n e - i n p a i n t . p n g " / > < / d i v > < / h f o p t i o n > < / h f o p t i o n s > # # U n s u p p o r t e d c h e c k p o i n t s T h e [ A u t o P i p e l i n e ] ( . . / a p i / p i p e l i n e s / a u t o _ p i p e l i n e ) s u p p o r t s [ S t a b l e D i f f u s i o n ] ( . . / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / o v e r v i e w ) , [ S t a b l e D i f f u s i o n X L ] ( . . / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l ) , [ C o n t r o l N e t ] ( . . / a p i / p i p e l i n e s / c o n t r o l n e t ) , [ K a n d i n s k y 2 . 1 ] ( . . / a p i / p i p e l i n e s / k a n d i n s k y . m d ) , [ K a n d i n s k y 2 . 2 ] ( . . / a p i / p i p e l i n e s / k a n d i n s k y _ v 2 2 ) , a n d [ D e e p F l o y d I F ] ( . . / a p i / p i p e l i n e s / d e e p f l o y d _ i f ) c h e c k p o i n t s . I f y o u t r y t o l o a d a n u n s u p p o r t e d c h e c k p o i n t , y o u ' l l g e t a n e r r o r . ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I m a g e 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " o p e n a i / s h a p - e - i m g 2 i m g " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) " V a l u e E r r o r : A u t o P i p e l i n e c a n ' t f i n d a p i p e l i n e l i n k e d t o S h a p E I m g 2 I m g P i p e l i n e f o r N o n e " ` ` ` # W o r k i n g w i t h b i g m o d e l s A m o d e r n d i f f u s i o n m o d e l , l i k e [ S t a b l e D i f f u s i o n X L ( S D X L ) ] ( . . / u s i n g - d i f f u s e r s / s d x l ) , i s n o t j u s t a s i n g l e m o d e l , b u t a c o l l e c t i o n o f m u l t i p l e m o d e l s . S D X L h a s f o u r d i f f e r e n t m o d e l - l e v e l c o m p o n e n t s : * A v a r i a t i o n a l a u t o e n c o d e r ( V A E ) * T w o t e x t e n c o d e r s * A U N e t f o r d e n o i s i n g U s u a l l y , t h e t e x t e n c o d e r s a n d t h e d e n o i s e r a r e m u c h l a r g e r c o m p a r e d t o t h e V A E . A s m o d e l s g e t b i g g e r a n d b e t t e r , i t โ€™ s p o s s i b l e y o u r m o d e l i s s o b i g t h a t e v e n a s i n g l e c o p y w o n โ€™ t f i t i n m e m o r y . B u t t h a t d o e s n โ€™ t m e a n i t c a n โ€™ t b e l o a d e d . I f y o u h a v e m o r e t h a n o n e G P U , t h e r e i s m o r e m e m o r y a v a i l a b l e t o s t o r e y o u r m o d e l . I n t h i s c a s e , i t โ€™ s b e t t e r t o s p l i t y o u r m o d e l c h e c k p o i n t i n t o s e v e r a l s m a l l e r * c h e c k p o i n t s h a r d s * . W h e n a t e x t e n c o d e r c h e c k p o i n t h a s m u l t i p l e s h a r d s , l i k e [ T 5 - x x l f o r S D 3 ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 - m e d i u m - d i f f u s e r s / t r e e / m a i n / t e x t _ e n c o d e r _ 3 ) , i t i s a u t o m a t i c a l l y h a n d l e d b y t h e [ T r a n s f o r m e r s ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / i n d e x ) l i b r a r y a s i t i s a r e q u i r e d d e p e n d e n c y o f D i f f u s e r s w h e n u s i n g t h e ` S t a b l e D i f f u s i o n 3 P i p e l i n e ` . M o r e s p e c i f i c a l l y , T r a n s f o r m e r s w i l l a u t o m a t i c a l l y h a n d l e t h e l o a d i n g o f m u l t i p l e s h a r d s w i t h i n t h e r e q u e s t e d m o d e l c l a s s a n d g e t i t r e a d y s o t h a t i n f e r e n c e c a n b e p e r f o r m e d . T h e d e n o i s e r c h e c k p o i n t c a n a l s o h a v e m u l t i p l e s h a r d s a n d s u p p o r t s i n f e r e n c e t h a n k s t o t h e [ A c c e l e r a t e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / i n d e x ) l i b r a r y . > [ ! T I P ] > R e f e r t o t h e [ H a n d l i n g b i g m o d e l s f o r i n f e r e n c e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / m a i n / e n / c o n c e p t _ g u i d e s / b i g _ m o d e l _ i n f e r e n c e ) g u i d e f o r g e n e r a l g u i d a n c e w h e n w o r k i n g w i t h b i g m o d e l s t h a t a r e h a r d t o f i t i n t o m e m o r y . F o r e x a m p l e , l e t ' s s a v e a s h a r d e d c h e c k p o i n t f o r t h e [ S D X L U N e t ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 / t r e e / m a i n / u n e t ) : ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t U N e t 2 D C o n d i t i o n M o d e l u n e t = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , s u b f o l d e r = " u n e t " ) u n e t . s a v e _ p r e t r a i n e d ( " s d x l - u n e t - s h a r d e d " , m a x _ s h a r d _ s i z e = " 5 G B " ) ` ` ` T h e s i z e o f t h e f p 3 2 v a r i a n t o f t h e S D X L U N e t c h e c k p o i n t i s ~ 1 0 . 4 G B . S e t t h e ` m a x _ s h a r d _ s i z e ` p a r a m e t e r t o 5 G B t o c r e a t e 3 s h a r d s . A f t e r s a v i n g , y o u c a n l o a d t h e m i n ` S t a b l e D i f f u s i o n X L P i p e l i n e ` : ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t U N e t 2 D C o n d i t i o n M o d e l , S t a b l e D i f f u s i o n X L P i p e l i n e i m p o r t t o r c h u n e t = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( " s a y a k p a u l / s d x l - u n e t - s h a r d e d " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , u n e t = u n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) i m a g e = p i p e l i n e ( " a c u t e d o g r u n n i n g o n t h e g r a s s " , n u m _ i n f e r e n c e _ s t e p s = 3 0 ) . i m a g e s [ 0 ] i m a g e . s a v e ( " d o g . p n g " ) ` ` ` I f p l a c i n g a l l t h e m o d e l - l e v e l c o m p o n e n t s o n t h e G P U a t o n c e i s n o t f e a s i b l e , u s e ` e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` t o h e l p y o u : ` ` ` d i f f - p i p e l i n e . t o ( " c u d a " ) + p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` ` ` I n g e n e r a l , w e r e c o m m e n d s h a r d i n g w h e n a c h e c k p o i n t i s m o r e t h a n 5 G B ( i n f p 3 2 ) . # # D e v i c e p l a c e m e n t O n d i s t r i b u t e d s e t u p s , y o u c a n r u n i n f e r e n c e a c r o s s m u l t i p l e G P U s w i t h A c c e l e r a t e . > [ ! W A R N I N G ] > T h i s f e a t u r e i s e x p e r i m e n t a l a n d i t s A P I s m i g h t c h a n g e i n t h e f u t u r e . W i t h A c c e l e r a t e , y o u c a n u s e t h e ` d e v i c e _ m a p ` t o d e t e r m i n e h o w t o d i s t r i b u t e t h e m o d e l s o f a p i p e l i n e a c r o s s m u l t i p l e d e v i c e s . T h i s i s u s e f u l i n s i t u a t i o n s w h e r e y o u h a v e m o r e t h a n o n e G P U . F o r e x a m p l e , i f y o u h a v e t w o 8 G B G P U s , t h e n u s i n g ` e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` m a y n o t w o r k s o w e l l b e c a u s e : * i t o n l y w o r k s o n a s i n g l e G P U * a s i n g l e m o d e l m i g h t n o t f i t o n a s i n g l e G P U ( ` e n a b l e _ s e q u e n t i a l _ c p u _ o f f l o a d ( ) ` m i g h t w o r k b u t i t w i l l b e e x t r e m e l y s l o w a n d i t i s a l s o l i m i t e d t o a s i n g l e G P U ) T o m a k e u s e o f b o t h G P U s , y o u c a n u s e t h e " b a l a n c e d " d e v i c e p l a c e m e n t s t r a t e g y w h i c h s p l i t s t h e m o d e l s a c r o s s a l l a v a i l a b l e G P U s . > [ ! W A R N I N G ] > O n l y t h e " b a l a n c e d " s t r a t e g y i s s u p p o r t e d a t t h e m o m e n t , a n d w e p l a n t o s u p p o r t a d d i t i o n a l m a p p i n g s t r a t e g i e s i n t h e f u t u r e . ` ` ` d i f f f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( - " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , + " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , d e v i c e _ m a p = " b a l a n c e d " ) i m a g e = p i p e l i n e ( " a d o g " ) . i m a g e s [ 0 ] i m a g e ` ` ` Y o u c a n a l s o p a s s a d i c t i o n a r y t o e n f o r c e t h e m a x i m u m G P U m e m o r y t h a t c a n b e u s e d o n e a c h d e v i c e : ` ` ` d i f f f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h m a x _ m e m o r y = { 0 : " 1 G B " , 1 : " 1 G B " } p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , d e v i c e _ m a p = " b a l a n c e d " , + m a x _ m e m o r y = m a x _ m e m o r y ) i m a g e = p i p e l i n e ( " a d o g " ) . i m a g e s [ 0 ] i m a g e ` ` ` I f a d e v i c e i s n o t p r e s e n t i n ` m a x _ m e m o r y ` , t h e n i t w i l l b e c o m p l e t e l y i g n o r e d a n d w i l l n o t p a r t i c i p a t e i n t h e d e v i c e p l a c e m e n t . B y d e f a u l t , D i f f u s e r s u s e s t h e m a x i m u m m e m o r y o f a l l d e v i c e s . I f t h e m o d e l s d o n ' t f i t o n t h e G P U s , t h e y a r e o f f l o a d e d t o t h e C P U . I f t h e C P U d o e s n ' t h a v e e n o u g h m e m o r y , t h e n y o u m i g h t s e e a n e r r o r . I n t h a t c a s e , y o u c o u l d d e f e r t o u s i n g ` e n a b l e _ s e q u e n t i a l _ c p u _ o f f l o a d ( ) ` a n d ` e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` . C a l l ` r e s e t _ d e v i c e _ m a p ( ) ` t o r e s e t t h e ` d e v i c e _ m a p ` o f a p i p e l i n e . T h i s i s a l s o n e c e s s a r y i f y o u w a n t t o u s e m e t h o d s l i k e ` t o ( ) ` , ` e n a b l e _ s e q u e n t i a l _ c p u _ o f f l o a d ( ) ` , a n d ` e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` o n a p i p e l i n e t h a t w a s d e v i c e - m a p p e d . ` ` ` p y p i p e l i n e . r e s e t _ d e v i c e _ m a p ( ) ` ` ` O n c e a p i p e l i n e h a s b e e n d e v i c e - m a p p e d , y o u c a n a l s o a c c e s s i t s d e v i c e m a p v i a ` h f _ d e v i c e _ m a p ` : ` ` ` p y p r i n t ( p i p e l i n e . h f _ d e v i c e _ m a p ) ` ` ` A n e x a m p l e d e v i c e m a p w o u l d l o o k l i k e s o : ` ` ` b a s h { ' u n e t ' : 1 , ' v a e ' : 1 , ' s a f e t y _ c h e c k e r ' : 0 , ' t e x t _ e n c o d e r ' : 0 } ` ` ` # A c c e l e r a t e i n f e r e n c e o f t e x t - t o - i m a g e d i f f u s i o n m o d e l s D i f f u s i o n m o d e l s a r e s l o w e r t h a n t h e i r G A N c o u n t e r p a r t s b e c a u s e o f t h e i t e r a t i v e a n d s e q u e n t i a l r e v e r s e d i f f u s i o n p r o c e s s . T h e r e a r e s e v e r a l t e c h n i q u e s t h a t c a n a d d r e s s t h i s l i m i t a t i o n s u c h a s p r o g r e s s i v e t i m e s t e p d i s t i l l a t i o n ( [ L C M L o R A ] ( . . / u s i n g - d i f f u s e r s / i n f e r e n c e _ w i t h _ l c m _ l o r a ) ) , m o d e l c o m p r e s s i o n ( [ S S D - 1 B ] ( h t t p s : / / h u g g i n g f a c e . c o / s e g m i n d / S S D - 1 B ) ) , a n d r e u s i n g a d j a c e n t f e a t u r e s o f t h e d e n o i s e r ( [ D e e p C a c h e ] ( . . / o p t i m i z a t i o n / d e e p c a c h e ) ) . H o w e v e r , y o u d o n ' t n e c e s s a r i l y n e e d t o u s e t h e s e t e c h n i q u e s t o s p e e d u p i n f e r e n c e . W i t h P y T o r c h 2 a l o n e , y o u c a n a c c e l e r a t e t h e i n f e r e n c e l a t e n c y o f t e x t - t o - i m a g e d i f f u s i o n p i p e l i n e s b y u p t o 3 x . T h i s t u t o r i a l w i l l s h o w y o u h o w t o p r o g r e s s i v e l y a p p l y t h e o p t i m i z a t i o n s f o u n d i n P y T o r c h 2 t o r e d u c e i n f e r e n c e l a t e n c y . Y o u ' l l u s e t h e [ S t a b l e D i f f u s i o n X L ( S D X L ) ] ( . . / u s i n g - d i f f u s e r s / s d x l ) p i p e l i n e i n t h i s t u t o r i a l , b u t t h e s e t e c h n i q u e s a r e a p p l i c a b l e t o o t h e r t e x t - t o - i m a g e d i f f u s i o n p i p e l i n e s t o o . M a k e s u r e y o u ' r e u s i n g t h e l a t e s t v e r s i o n o f D i f f u s e r s : ` ` ` b a s h p i p i n s t a l l - U d i f f u s e r s ` ` ` T h e n u p g r a d e t h e o t h e r r e q u i r e d l i b r a r i e s t o o : ` ` ` b a s h p i p i n s t a l l - U t r a n s f o r m e r s a c c e l e r a t e p e f t ` ` ` I n s t a l l [ P y T o r c h n i g h t l y ] ( h t t p s : / / p y t o r c h . o r g / ) t o b e n e f i t f r o m t h e l a t e s t a n d f a s t e s t k e r n e l s : ` ` ` b a s h p i p 3 i n s t a l l - - p r e t o r c h - - i n d e x - u r l h t t p s : / / d o w n l o a d . p y t o r c h . o r g / w h l / n i g h t l y / c u 1 2 1 ` ` ` > [ ! T I P ] > T h e r e s u l t s r e p o r t e d b e l o w a r e f r o m a 8 0 G B 4 0 0 W A 1 0 0 w i t h i t s c l o c k r a t e s e t t o t h e m a x i m u m . > I f y o u ' r e i n t e r e s t e d i n t h e f u l l b e n c h m a r k i n g c o d e , t a k e a l o o k a t [ h u g g i n g f a c e / d i f f u s i o n - f a s t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s i o n - f a s t ) . # # B a s e l i n e L e t ' s s t a r t w i t h a b a s e l i n e . D i s a b l e r e d u c e d p r e c i s i o n a n d t h e [ ` s c a l e d _ d o t _ p r o d u c t _ a t t e n t i o n ` ( S D P A ) ] ( . . / o p t i m i z a t i o n / t o r c h 2 . 0 # s c a l e d - d o t - p r o d u c t - a t t e n t i o n ) f u n c t i o n w h i c h i s a u t o m a t i c a l l y u s e d b y D i f f u s e r s : ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e # L o a d t h e p i p e l i n e i n f u l l - p r e c i s i o n a n d p l a c e i t s m o d e l c o m p o n e n t s o n C U D A . p i p e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " ) . t o ( " c u d a " ) # R u n t h e a t t e n t i o n o p s w i t h o u t S D P A . p i p e . u n e t . s e t _ d e f a u l t _ a t t n _ p r o c e s s o r ( ) p i p e . v a e . s e t _ d e f a u l t _ a t t n _ p r o c e s s o r ( ) p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " i m a g e = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 3 0 ) . i m a g e s [ 0 ] ` ` ` T h i s d e f a u l t s e t u p t a k e s 7 . 3 6 s e c o n d s . < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / s a y a k p a u l / s a m p l e - d a t a s e t s / r e s o l v e / m a i n / p r o g r e s s i v e - a c c e l e r a t i o n - s d x l / S D X L % 2 C _ B a t c h _ S i z e % 3 A _ 1 % 2 C _ S t e p s % 3 A _ 3 0 _ 0 . p n g " w i d t h = 5 0 0 > < / d i v > # # b f l o a t 1 6 E n a b l e t h e f i r s t o p t i m i z a t i o n , r e d u c e d p r e c i s i o n o r m o r e s p e c i f i c a l l y b f l o a t 1 6 . T h e r e a r e s e v e r a l b e n e f i t s o f u s i n g r e d u c e d p r e c i s i o n : * U s i n g a r e d u c e d n u m e r i c a l p r e c i s i o n ( s u c h a s f l o a t 1 6 o r b f l o a t 1 6 ) f o r i n f e r e n c e d o e s n โ€™ t a f f e c t t h e g e n e r a t i o n q u a l i t y b u t s i g n i f i c a n t l y i m p r o v e s l a t e n c y . * T h e b e n e f i t s o f u s i n g b f l o a t 1 6 c o m p a r e d t o f l o a t 1 6 a r e h a r d w a r e d e p e n d e n t , b u t m o d e r n G P U s t e n d t o f a v o r b f l o a t 1 6 . * b f l o a t 1 6 i s m u c h m o r e r e s i l i e n t w h e n u s e d w i t h q u a n t i z a t i o n c o m p a r e d t o f l o a t 1 6 , b u t m o r e r e c e n t v e r s i o n s o f t h e q u a n t i z a t i o n l i b r a r y ( [ t o r c h a o ] ( h t t p s : / / g i t h u b . c o m / p y t o r c h - l a b s / a o ) ) w e u s e d d o n ' t h a v e n u m e r i c a l i s s u e s w i t h f l o a t 1 6 . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e i m p o r t t o r c h p i p e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) . t o ( " c u d a " ) # R u n t h e a t t e n t i o n o p s w i t h o u t S D P A . p i p e . u n e t . s e t _ d e f a u l t _ a t t n _ p r o c e s s o r ( ) p i p e . v a e . s e t _ d e f a u l t _ a t t n _ p r o c e s s o r ( ) p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " i m a g e = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 3 0 ) . i m a g e s [ 0 ] ` ` ` b f l o a t 1 6 r e d u c e s t h e l a t e n c y f r o m 7 . 3 6 s e c o n d s t o 4 . 6 3 s e c o n d s . < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / s a y a k p a u l / s a m p l e - d a t a s e t s / r e s o l v e / m a i n / p r o g r e s s i v e - a c c e l e r a t i o n - s d x l / S D X L % 2 C _ B a t c h _ S i z e % 3 A _ 1 % 2 C _ S t e p s % 3 A _ 3 0 _ 1 . p n g " w i d t h = 5 0 0 > < / d i v > < T i p > I n o u r l a t e r e x p e r i m e n t s w i t h f l o a t 1 6 , r e c e n t v e r s i o n s o f t o r c h a o d o n o t i n c u r n u m e r i c a l p r o b l e m s f r o m f l o a t 1 6 . < / T i p > T a k e a l o o k a t t h e [ S p e e d u p i n f e r e n c e ] ( . . / o p t i m i z a t i o n / f p 1 6 ) g u i d e t o l e a r n m o r e a b o u t r u n n i n g i n f e r e n c e w i t h r e d u c e d p r e c i s i o n . # # S D P A A t t e n t i o n b l o c k s a r e i n t e n s i v e t o r u n . B u t w i t h P y T o r c h ' s [ ` s c a l e d _ d o t _ p r o d u c t _ a t t e n t i o n ` ] ( . . / o p t i m i z a t i o n / t o r c h 2 . 0 # s c a l e d - d o t - p r o d u c t - a t t e n t i o n ) f u n c t i o n , i t i s a l o t m o r e e f f i c i e n t . T h i s f u n c t i o n i s u s e d b y d e f a u l t i n D i f f u s e r s s o y o u d o n ' t n e e d t o m a k e a n y c h a n g e s t o t h e c o d e . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e i m p o r t t o r c h p i p e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) . t o ( " c u d a " ) p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " i m a g e = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 3 0 ) . i m a g e s [ 0 ] ` ` ` S c a l e d d o t p r o d u c t a t t e n t i o n i m p r o v e s t h e l a t e n c y f r o m 4 . 6 3 s e c o n d s t o 3 . 3 1 s e c o n d s . < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / s a y a k p a u l / s a m p l e - d a t a s e t s / r e s o l v e / m a i n / p r o g r e s s i v e - a c c e l e r a t i o n - s d x l / S D X L % 2 C _ B a t c h _ S i z e % 3 A _ 1 % 2 C _ S t e p s % 3 A _ 3 0 _ 2 . p n g " w i d t h = 5 0 0 > < / d i v > # # t o r c h . c o m p i l e P y T o r c h 2 i n c l u d e s ` t o r c h . c o m p i l e ` w h i c h u s e s f a s t a n d o p t i m i z e d k e r n e l s . I n D i f f u s e r s , t h e U N e t a n d V A E a r e u s u a l l y c o m p i l e d b e c a u s e t h e s e a r e t h e m o s t c o m p u t e - i n t e n s i v e m o d u l e s . F i r s t , c o n f i g u r e a f e w c o m p i l e r f l a g s ( r e f e r t o t h e [ f u l l l i s t ] ( h t t p s : / / g i t h u b . c o m / p y t o r c h / p y t o r c h / b l o b / m a i n / t o r c h / _ i n d u c t o r / c o n f i g . p y ) f o r m o r e o p t i o n s ) : ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e i m p o r t t o r c h t o r c h . _ i n d u c t o r . c o n f i g . c o n v _ 1 x 1 _ a s _ m m = T r u e t o r c h . _ i n d u c t o r . c o n f i g . c o o r d i n a t e _ d e s c e n t _ t u n i n g = T r u e t o r c h . _ i n d u c t o r . c o n f i g . e p i l o g u e _ f u s i o n = F a l s e t o r c h . _ i n d u c t o r . c o n f i g . c o o r d i n a t e _ d e s c e n t _ c h e c k _ a l l _ d i r e c t i o n s = T r u e ` ` ` I t i s a l s o i m p o r t a n t t o c h a n g e t h e U N e t a n d V A E ' s m e m o r y l a y o u t t o " c h a n n e l s _ l a s t " w h e n c o m p i l i n g t h e m t o e n s u r e m a x i m u m s p e e d . ` ` ` p y t h o n p i p e . u n e t . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) p i p e . v a e . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) ` ` ` N o w c o m p i l e a n d p e r f o r m i n f e r e n c e : ` ` ` p y t h o n # C o m p i l e t h e U N e t a n d V A E . p i p e . u n e t = t o r c h . c o m p i l e ( p i p e . u n e t , m o d e = " m a x - a u t o t u n e " , f u l l g r a p h = T r u e ) p i p e . v a e . d e c o d e = t o r c h . c o m p i l e ( p i p e . v a e . d e c o d e , m o d e = " m a x - a u t o t u n e " , f u l l g r a p h = T r u e ) p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " # F i r s t c a l l t o ` p i p e ` i s s l o w , s u b s e q u e n t o n e s a r e f a s t e r . i m a g e = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 3 0 ) . i m a g e s [ 0 ] ` ` ` ` t o r c h . c o m p i l e ` o f f e r s d i f f e r e n t b a c k e n d s a n d m o d e s . F o r m a x i m u m i n f e r e n c e s p e e d , u s e " m a x - a u t o t u n e " f o r t h e i n d u c t o r b a c k e n d . โ€œ m a x - a u t o t u n e โ€ u s e s C U D A g r a p h s a n d o p t i m i z e s t h e c o m p i l a t i o n g r a p h s p e c i f i c a l l y f o r l a t e n c y . C U D A g r a p h s g r e a t l y r e d u c e s t h e o v e r h e a d o f l a u n c h i n g G P U o p e r a t i o n s b y u s i n g a m e c h a n i s m t o l a u n c h m u l t i p l e G P U o p e r a t i o n s t h r o u g h a s i n g l e C P U o p e r a t i o n . U s i n g S D P A a t t e n t i o n a n d c o m p i l i n g b o t h t h e U N e t a n d V A E c u t s t h e l a t e n c y f r o m 3 . 3 1 s e c o n d s t o 2 . 5 4 s e c o n d s . < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / s a y a k p a u l / s a m p l e - d a t a s e t s / r e s o l v e / m a i n / p r o g r e s s i v e - a c c e l e r a t i o n - s d x l / S D X L % 2 C _ B a t c h _ S i z e % 3 A _ 1 % 2 C _ S t e p s % 3 A _ 3 0 _ 3 . p n g " w i d t h = 5 0 0 > < / d i v > > [ ! T I P ] > F r o m P y T o r c h 2 . 3 . 1 , y o u c a n c o n t r o l t h e c a c h i n g b e h a v i o r o f ` t o r c h . c o m p i l e ( ) ` . T h i s i s p a r t i c u l a r l y b e n e f i c i a l f o r c o m p i l a t i o n m o d e s l i k e ` " m a x - a u t o t u n e " ` w h i c h p e r f o r m s a g r i d - s e a r c h o v e r s e v e r a l c o m p i l a t i o n f l a g s t o f i n d t h e o p t i m a l c o n f i g u r a t i o n . L e a r n m o r e i n t h e [ C o m p i l e T i m e C a c h i n g i n t o r c h . c o m p i l e ] ( h t t p s : / / p y t o r c h . o r g / t u t o r i a l s / r e c i p e s / t o r c h _ c o m p i l e _ c a c h i n g _ t u t o r i a l . h t m l ) t u t o r i a l . # # # P r e v e n t g r a p h b r e a k s S p e c i f y i n g ` f u l l g r a p h = T r u e ` e n s u r e s t h e r e a r e n o g r a p h b r e a k s i n t h e u n d e r l y i n g m o d e l t o t a k e f u l l a d v a n t a g e o f ` t o r c h . c o m p i l e ` w i t h o u t a n y p e r f o r m a n c e d e g r a d a t i o n . F o r t h e U N e t a n d V A E , t h i s m e a n s c h a n g i n g h o w y o u a c c e s s t h e r e t u r n v a r i a b l e s . ` ` ` d i f f - l a t e n t s = u n e t ( - l a t e n t s , t i m e s t e p = t i m e s t e p , e n c o d e r _ h i d d e n _ s t a t e s = p r o m p t _ e m b e d s - ) . s a m p l e + l a t e n t s = u n e t ( + l a t e n t s , t i m e s t e p = t i m e s t e p , e n c o d e r _ h i d d e n _ s t a t e s = p r o m p t _ e m b e d s , r e t u r n _ d i c t = F a l s e + ) [ 0 ] ` ` ` # # # R e m o v e G P U s y n c a f t e r c o m p i l a t i o n D u r i n g t h e i t e r a t i v e r e v e r s e d i f f u s i o n p r o c e s s , t h e ` s t e p ( ) ` f u n c t i o n i s [ c a l l e d ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 1 d 6 8 6 b a c 8 1 4 6 0 3 7 e 9 7 f 3 f d 8 c 5 6 e 4 0 6 3 2 3 0 f 7 1 7 5 1 / s r c / d i f f u s e r s / p i p e l i n e s / s t a b l e _ d i f f u s i o n _ x l / p i p e l i n e _ s t a b l e _ d i f f u s i o n _ x l . p y # L 1 2 2 8 ) o n t h e s c h e d u l e r e a c h t i m e a f t e r t h e d e n o i s e r p r e d i c t s t h e l e s s n o i s y l a t e n t e m b e d d i n g s . I n s i d e ` s t e p ( ) ` , t h e ` s i g m a s ` v a r i a b l e i s [ i n d e x e d ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 1 d 6 8 6 b a c 8 1 4 6 0 3 7 e 9 7 f 3 f d 8 c 5 6 e 4 0 6 3 2 3 0 f 7 1 7 5 1 / s r c / d i f f u s e r s / s c h e d u l e r s / s c h e d u l i n g _ e u l e r _ d i s c r e t e . p y # L 4 7 6 ) w h i c h w h e n p l a c e d o n t h e G P U , c a u s e s a c o m m u n i c a t i o n s y n c b e t w e e n t h e C P U a n d G P U . T h i s i n t r o d u c e s l a t e n c y a n d i t b e c o m e s m o r e e v i d e n t w h e n t h e d e n o i s e r h a s a l r e a d y b e e n c o m p i l e d . B u t i f t h e ` s i g m a s ` a r r a y a l w a y s [ s t a y s o n t h e C P U ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 3 5 a 9 6 9 d 2 9 7 c b a 6 9 1 1 0 d 1 7 5 e e 7 9 c 5 9 3 1 2 b 9 f 4 9 e 1 e / s r c / d i f f u s e r s / s c h e d u l e r s / s c h e d u l i n g _ e u l e r _ d i s c r e t e . p y # L 2 4 0 ) , t h e C P U a n d G P U s y n c d o e s n โ€™ t o c c u r a n d y o u d o n ' t g e t a n y l a t e n c y . I n g e n e r a l , a n y C P U a n d G P U c o m m u n i c a t i o n s y n c s h o u l d b e n o n e o r b e k e p t t o a b a r e m i n i m u m b e c a u s e i t c a n i m p a c t i n f e r e n c e l a t e n c y . # # C o m b i n e t h e a t t e n t i o n b l o c k ' s p r o j e c t i o n m a t r i c e s T h e U N e t a n d V A E i n S D X L u s e T r a n s f o r m e r - l i k e b l o c k s w h i c h c o n s i s t s o f a t t e n t i o n b l o c k s a n d f e e d - f o r w a r d b l o c k s . I n a n a t t e n t i o n b l o c k , t h e i n p u t i s p r o j e c t e d i n t o t h r e e s u b - s p a c e s u s i n g t h r e e d i f f e r e n t p r o j e c t i o n m a t r i c e s โ€“ Q , K , a n d V . T h e s e p r o j e c t i o n s a r e p e r f o r m e d s e p a r a t e l y o n t h e i n p u t . B u t w e c a n h o r i z o n t a l l y c o m b i n e t h e p r o j e c t i o n m a t r i c e s i n t o a s i n g l e m a t r i x a n d p e r f o r m t h e p r o j e c t i o n i n o n e s t e p . T h i s i n c r e a s e s t h e s i z e o f t h e m a t r i x m u l t i p l i c a t i o n s o f t h e i n p u t p r o j e c t i o n s a n d i m p r o v e s t h e i m p a c t o f q u a n t i z a t i o n . Y o u c a n c o m b i n e t h e p r o j e c t i o n m a t r i c e s w i t h j u s t a s i n g l e l i n e o f c o d e : ` ` ` p y t h o n p i p e . f u s e _ q k v _ p r o j e c t i o n s ( ) ` ` ` T h i s p r o v i d e s a m i n o r i m p r o v e m e n t f r o m 2 . 5 4 s e c o n d s t o 2 . 5 2 s e c o n d s . < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / s a y a k p a u l / s a m p l e - d a t a s e t s / r e s o l v e / m a i n / p r o g r e s s i v e - a c c e l e r a t i o n - s d x l / S D X L % 2 C _ B a t c h _ S i z e % 3 A _ 1 % 2 C _ S t e p s % 3 A _ 3 0 _ 4 . p n g " w i d t h = 5 0 0 > < / d i v > < T i p w a r n i n g = { t r u e } > S u p p o r t f o r ` f u s e _ q k v _ p r o j e c t i o n s ( ) ` i s l i m i t e d a n d e x p e r i m e n t a l . I t ' s n o t a v a i l a b l e f o r m a n y n o n - S t a b l e D i f f u s i o n p i p e l i n e s s u c h a s [ K a n d i n s k y ] ( . . / u s i n g - d i f f u s e r s / k a n d i n s k y ) . Y o u c a n r e f e r t o t h i s [ P R ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / p u l l / 6 1 7 9 ) t o g e t a n i d e a a b o u t h o w t o e n a b l e t h i s f o r t h e o t h e r p i p e l i n e s . < / T i p > # # D y n a m i c q u a n t i z a t i o n Y o u c a n a l s o u s e t h e u l t r a - l i g h t w e i g h t P y T o r c h q u a n t i z a t i o n l i b r a r y , [ t o r c h a o ] ( h t t p s : / / g i t h u b . c o m / p y t o r c h - l a b s / a o ) ( c o m m i t S H A ` 5 4 b c d 5 a 1 0 d 0 a b b e 7 b 0 c 0 4 5 0 5 2 0 2 9 2 5 7 0 9 9 f 8 3 f d 9 ` ) , t o a p p l y [ d y n a m i c i n t 8 q u a n t i z a t i o n ] ( h t t p s : / / p y t o r c h . o r g / t u t o r i a l s / r e c i p e s / r e c i p e s / d y n a m i c _ q u a n t i z a t i o n . h t m l ) t o t h e U N e t a n d V A E . Q u a n t i z a t i o n a d d s a d d i t i o n a l c o n v e r s i o n o v e r h e a d t o t h e m o d e l t h a t i s h o p e f u l l y m a d e u p f o r b y f a s t e r m a t m u l s ( d y n a m i c q u a n t i z a t i o n ) . I f t h e m a t m u l s a r e t o o s m a l l , t h e s e t e c h n i q u e s m a y d e g r a d e p e r f o r m a n c e . F i r s t , c o n f i g u r e a l l t h e c o m p i l e r t a g s : ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e i m p o r t t o r c h # N o t i c e t h e t w o n e w f l a g s a t t h e e n d . t o r c h . _ i n d u c t o r . c o n f i g . c o n v _ 1 x 1 _ a s _ m m = T r u e t o r c h . _ i n d u c t o r . c o n f i g . c o o r d i n a t e _ d e s c e n t _ t u n i n g = T r u e t o r c h . _ i n d u c t o r . c o n f i g . e p i l o g u e _ f u s i o n = F a l s e t o r c h . _ i n d u c t o r . c o n f i g . c o o r d i n a t e _ d e s c e n t _ c h e c k _ a l l _ d i r e c t i o n s = T r u e t o r c h . _ i n d u c t o r . c o n f i g . f o r c e _ f u s e _ i n t _ m m _ w i t h _ m u l = T r u e t o r c h . _ i n d u c t o r . c o n f i g . u s e _ m i x e d _ m m = T r u e ` ` ` C e r t a i n l i n e a r l a y e r s i n t h e U N e t a n d V A E d o n โ€™ t b e n e f i t f r o m d y n a m i c i n t 8 q u a n t i z a t i o n . Y o u c a n f i l t e r o u t t h o s e l a y e r s w i t h t h e [ ` d y n a m i c _ q u a n t _ f i l t e r _ f n ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s i o n - f a s t / b l o b / 0 f 1 6 9 6 4 0 b 1 d b 1 0 6 f e 6 a 4 7 9 f 7 8 c 1 e d 3 b f a e b a 3 3 8 6 / u t i l s / p i p e l i n e _ u t i l s . p y # L 1 6 ) s h o w n b e l o w . ` ` ` p y t h o n d e f d y n a m i c _ q u a n t _ f i l t e r _ f n ( m o d , * a r g s ) : r e t u r n ( i s i n s t a n c e ( m o d , t o r c h . n n . L i n e a r ) a n d m o d . i n _ f e a t u r e s > 1 6 a n d ( m o d . i n _ f e a t u r e s , m o d . o u t _ f e a t u r e s ) n o t i n [ ( 1 2 8 0 , 6 4 0 ) , ( 1 9 2 0 , 1 2 8 0 ) , ( 1 9 2 0 , 6 4 0 ) , ( 2 0 4 8 , 1 2 8 0 ) , ( 2 0 4 8 , 2 5 6 0 ) , ( 2 5 6 0 , 1 2 8 0 ) , ( 2 5 6 , 1 2 8 ) , ( 2 8 1 6 , 1 2 8 0 ) , ( 3 2 0 , 6 4 0 ) , ( 5 1 2 , 1 5 3 6 ) , ( 5 1 2 , 2 5 6 ) , ( 5 1 2 , 5 1 2 ) , ( 6 4 0 , 1 2 8 0 ) , ( 6 4 0 , 1 9 2 0 ) , ( 6 4 0 , 3 2 0 ) , ( 6 4 0 , 5 1 2 0 ) , ( 6 4 0 , 6 4 0 ) , ( 9 6 0 , 3 2 0 ) , ( 9 6 0 , 6 4 0 ) , ] ) d e f c o n v _ f i l t e r _ f n ( m o d , * a r g s ) : r e t u r n ( i s i n s t a n c e ( m o d , t o r c h . n n . C o n v 2 d ) a n d m o d . k e r n e l _ s i z e = = ( 1 , 1 ) a n d 1 2 8 i n [ m o d . i n _ c h a n n e l s , m o d . o u t _ c h a n n e l s ] ) ` ` ` F i n a l l y , a p p l y a l l t h e o p t i m i z a t i o n s d i s c u s s e d s o f a r : ` ` ` p y t h o n # S D P A + b f l o a t 1 6 . p i p e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) . t o ( " c u d a " ) # C o m b i n e a t t e n t i o n p r o j e c t i o n m a t r i c e s . p i p e . f u s e _ q k v _ p r o j e c t i o n s ( ) # C h a n g e t h e m e m o r y l a y o u t . p i p e . u n e t . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) p i p e . v a e . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) ` ` ` S i n c e d y n a m i c q u a n t i z a t i o n i s o n l y l i m i t e d t o t h e l i n e a r l a y e r s , c o n v e r t t h e a p p r o p r i a t e p o i n t w i s e c o n v o l u t i o n l a y e r s i n t o l i n e a r l a y e r s t o m a x i m i z e i t s b e n e f i t . ` ` ` p y t h o n f r o m t o r c h a o i m p o r t s w a p _ c o n v 2 d _ 1 x 1 _ t o _ l i n e a r s w a p _ c o n v 2 d _ 1 x 1 _ t o _ l i n e a r ( p i p e . u n e t , c o n v _ f i l t e r _ f n ) s w a p _ c o n v 2 d _ 1 x 1 _ t o _ l i n e a r ( p i p e . v a e , c o n v _ f i l t e r _ f n ) ` ` ` A p p l y d y n a m i c q u a n t i z a t i o n : ` ` ` p y t h o n f r o m t o r c h a o i m p o r t a p p l y _ d y n a m i c _ q u a n t a p p l y _ d y n a m i c _ q u a n t ( p i p e . u n e t , d y n a m i c _ q u a n t _ f i l t e r _ f n ) a p p l y _ d y n a m i c _ q u a n t ( p i p e . v a e , d y n a m i c _ q u a n t _ f i l t e r _ f n ) ` ` ` F i n a l l y , c o m p i l e a n d p e r f o r m i n f e r e n c e : ` ` ` p y t h o n p i p e . u n e t = t o r c h . c o m p i l e ( p i p e . u n e t , m o d e = " m a x - a u t o t u n e " , f u l l g r a p h = T r u e ) p i p e . v a e . d e c o d e = t o r c h . c o m p i l e ( p i p e . v a e . d e c o d e , m o d e = " m a x - a u t o t u n e " , f u l l g r a p h = T r u e ) p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " i m a g e = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 3 0 ) . i m a g e s [ 0 ] ` ` ` A p p l y i n g d y n a m i c q u a n t i z a t i o n i m p r o v e s t h e l a t e n c y f r o m 2 . 5 2 s e c o n d s t o 2 . 4 3 s e c o n d s . < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / s a y a k p a u l / s a m p l e - d a t a s e t s / r e s o l v e / m a i n / p r o g r e s s i v e - a c c e l e r a t i o n - s d x l / S D X L % 2 C _ B a t c h _ S i z e % 3 A _ 1 % 2 C _ S t e p s % 3 A _ 3 0 _ 5 . p n g " w i d t h = 5 0 0 > < / d i v > # L o a d L o R A s f o r i n f e r e n c e T h e r e a r e m a n y a d a p t e r t y p e s ( w i t h [ L o R A s ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / p e f t / c o n c e p t u a l _ g u i d e s / a d a p t e r # l o w - r a n k - a d a p t a t i o n - l o r a ) b e i n g t h e m o s t p o p u l a r ) t r a i n e d i n d i f f e r e n t s t y l e s t o a c h i e v e d i f f e r e n t e f f e c t s . Y o u c a n e v e n c o m b i n e m u l t i p l e a d a p t e r s t o c r e a t e n e w a n d u n i q u e i m a g e s . I n t h i s t u t o r i a l , y o u ' l l l e a r n h o w t o e a s i l y l o a d a n d m a n a g e a d a p t e r s f o r i n f e r e n c e w i t h t h e ๐Ÿค— [ P E F T ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / p e f t / i n d e x ) i n t e g r a t i o n i n ๐Ÿค— D i f f u s e r s . Y o u ' l l u s e L o R A a s t h e m a i n a d a p t e r t e c h n i q u e , s o y o u ' l l s e e t h e t e r m s L o R A a n d a d a p t e r u s e d i n t e r c h a n g e a b l y . L e t ' s f i r s t i n s t a l l a l l t h e r e q u i r e d l i b r a r i e s . ` ` ` b a s h ! p i p i n s t a l l - q t r a n s f o r m e r s a c c e l e r a t e p e f t d i f f u s e r s ` ` ` N o w , l o a d a p i p e l i n e w i t h a [ S t a b l e D i f f u s i o n X L ( S D X L ) ] ( . . / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l ) c h e c k p o i n t : ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h p i p e _ i d = " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( p i p e _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) ` ` ` N e x t , l o a d a [ C i r o N 2 0 2 2 / t o y - f a c e ] ( h t t p s : / / h u g g i n g f a c e . c o / C i r o N 2 0 2 2 / t o y - f a c e ) a d a p t e r w i t h t h e ` l o a d _ l o r a _ w e i g h t s ( ) ` m e t h o d . W i t h t h e ๐Ÿค— P E F T i n t e g r a t i o n , y o u c a n a s s i g n a s p e c i f i c ` a d a p t e r _ n a m e ` t o t h e c h e c k p o i n t , w h i c h l e t s y o u e a s i l y s w i t c h b e t w e e n d i f f e r e n t L o R A c h e c k p o i n t s . L e t ' s c a l l t h i s a d a p t e r ` " t o y " ` . ` ` ` p y t h o n p i p e . l o a d _ l o r a _ w e i g h t s ( " C i r o N 2 0 2 2 / t o y - f a c e " , w e i g h t _ n a m e = " t o y _ f a c e _ s d x l . s a f e t e n s o r s " , a d a p t e r _ n a m e = " t o y " ) ` ` ` M a k e s u r e t o i n c l u d e t h e t o k e n ` t o y _ f a c e ` i n t h e p r o m p t a n d t h e n y o u c a n p e r f o r m i n f e r e n c e : ` ` ` p y t h o n p r o m p t = " t o y _ f a c e o f a h a c k e r w i t h a h o o d i e " l o r a _ s c a l e = 0 . 9 i m a g e = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 3 0 , c r o s s _ a t t e n t i o n _ k w a r g s = { " s c a l e " : l o r a _ s c a l e } , g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) ) . i m a g e s [ 0 ] i m a g e ` ` ` ! [ t o y - f a c e ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / p e f t _ i n t e g r a t i o n / d i f f u s e r s _ p e f t _ l o r a _ i n f e r e n c e _ 8 _ 1 . p n g ) W i t h t h e ` a d a p t e r _ n a m e ` p a r a m e t e r , i t i s r e a l l y e a s y t o u s e a n o t h e r a d a p t e r f o r i n f e r e n c e ! L o a d t h e [ n e r i j s / p i x e l - a r t - x l ] ( h t t p s : / / h u g g i n g f a c e . c o / n e r i j s / p i x e l - a r t - x l ) a d a p t e r t h a t h a s b e e n f i n e - t u n e d t o g e n e r a t e p i x e l a r t i m a g e s a n d c a l l i t ` " p i x e l " ` . T h e p i p e l i n e a u t o m a t i c a l l y s e t s t h e f i r s t l o a d e d a d a p t e r ( ` " t o y " ` ) a s t h e a c t i v e a d a p t e r , b u t y o u c a n a c t i v a t e t h e ` " p i x e l " ` a d a p t e r w i t h t h e ` ~ d i f f u s e r s . l o a d e r s . U N e t 2 D C o n d i t i o n L o a d e r s M i x i n . s e t _ a d a p t e r s ` m e t h o d : ` ` ` p y t h o n p i p e . l o a d _ l o r a _ w e i g h t s ( " n e r i j s / p i x e l - a r t - x l " , w e i g h t _ n a m e = " p i x e l - a r t - x l . s a f e t e n s o r s " , a d a p t e r _ n a m e = " p i x e l " ) p i p e . s e t _ a d a p t e r s ( " p i x e l " ) ` ` ` M a k e s u r e y o u i n c l u d e t h e t o k e n ` p i x e l a r t ` i n y o u r p r o m p t t o g e n e r a t e a p i x e l a r t i m a g e : ` ` ` p y t h o n p r o m p t = " a h a c k e r w i t h a h o o d i e , p i x e l a r t " i m a g e = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 3 0 , c r o s s _ a t t e n t i o n _ k w a r g s = { " s c a l e " : l o r a _ s c a l e } , g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) ) . i m a g e s [ 0 ] i m a g e ` ` ` ! [ p i x e l - a r t ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / p e f t _ i n t e g r a t i o n / d i f f u s e r s _ p e f t _ l o r a _ i n f e r e n c e _ 1 2 _ 1 . p n g ) < T i p > B y d e f a u l t , i f t h e m o s t u p - t o - d a t e v e r s i o n s o f P E F T a n d T r a n s f o r m e r s a r e d e t e c t e d , ` l o w _ c p u _ m e m _ u s a g e ` i s s e t t o ` T r u e ` t o s p e e d u p t h e l o a d i n g t i m e o f L o R A c h e c k p o i n t s . < / T i p > # # M e r g e a d a p t e r s Y o u c a n a l s o m e r g e d i f f e r e n t a d a p t e r c h e c k p o i n t s f o r i n f e r e n c e t o b l e n d t h e i r s t y l e s t o g e t h e r . O n c e a g a i n , u s e t h e ` ~ d i f f u s e r s . l o a d e r s . U N e t 2 D C o n d i t i o n L o a d e r s M i x i n . s e t _ a d a p t e r s ` m e t h o d t o a c t i v a t e t h e ` p i x e l ` a n d ` t o y ` a d a p t e r s a n d s p e c i f y t h e w e i g h t s f o r h o w t h e y s h o u l d b e m e r g e d . ` ` ` p y t h o n p i p e . s e t _ a d a p t e r s ( [ " p i x e l " , " t o y " ] , a d a p t e r _ w e i g h t s = [ 0 . 5 , 1 . 0 ] ) ` ` ` < T i p > L o R A c h e c k p o i n t s i n t h e d i f f u s i o n c o m m u n i t y a r e a l m o s t a l w a y s o b t a i n e d w i t h [ D r e a m B o o t h ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / t r a i n i n g / d r e a m b o o t h ) . D r e a m B o o t h t r a i n i n g o f t e n r e l i e s o n " t r i g g e r " w o r d s i n t h e i n p u t t e x t p r o m p t s i n o r d e r f o r t h e g e n e r a t i o n r e s u l t s t o l o o k a s e x p e c t e d . W h e n y o u c o m b i n e m u l t i p l e L o R A c h e c k p o i n t s , i t ' s i m p o r t a n t t o e n s u r e t h e t r i g g e r w o r d s f o r t h e c o r r e s p o n d i n g L o R A c h e c k p o i n t s a r e p r e s e n t i n t h e i n p u t t e x t p r o m p t s . < / T i p > R e m e m b e r t o u s e t h e t r i g g e r w o r d s f o r [ C i r o N 2 0 2 2 / t o y - f a c e ] ( h t t p s : / / h f . c o / C i r o N 2 0 2 2 / t o y - f a c e ) a n d [ n e r i j s / p i x e l - a r t - x l ] ( h t t p s : / / h f . c o / n e r i j s / p i x e l - a r t - x l ) ( t h e s e a r e f o u n d i n t h e i r r e p o s i t o r i e s ) i n t h e p r o m p t t o g e n e r a t e a n i m a g e . ` ` ` p y t h o n p r o m p t = " t o y _ f a c e o f a h a c k e r w i t h a h o o d i e , p i x e l a r t " i m a g e = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 3 0 , c r o s s _ a t t e n t i o n _ k w a r g s = { " s c a l e " : 1 . 0 } , g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) ) . i m a g e s [ 0 ] i m a g e ` ` ` ! [ t o y - f a c e - p i x e l - a r t ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / p e f t _ i n t e g r a t i o n / d i f f u s e r s _ p e f t _ l o r a _ i n f e r e n c e _ 1 6 _ 1 . p n g ) I m p r e s s i v e ! A s y o u c a n s e e , t h e m o d e l g e n e r a t e d a n i m a g e t h a t m i x e d t h e c h a r a c t e r i s t i c s o f b o t h a d a p t e r s . > [ ! T I P ] > T h r o u g h i t s P E F T i n t e g r a t i o n , D i f f u s e r s a l s o o f f e r s m o r e e f f i c i e n t m e r g i n g m e t h o d s w h i c h y o u c a n l e a r n a b o u t i n t h e [ M e r g e L o R A s ] ( . . / u s i n g - d i f f u s e r s / m e r g e _ l o r a s ) g u i d e ! T o r e t u r n t o o n l y u s i n g o n e a d a p t e r , u s e t h e ` ~ d i f f u s e r s . l o a d e r s . U N e t 2 D C o n d i t i o n L o a d e r s M i x i n . s e t _ a d a p t e r s ` m e t h o d t o a c t i v a t e t h e ` " t o y " ` a d a p t e r : ` ` ` p y t h o n p i p e . s e t _ a d a p t e r s ( " t o y " ) p r o m p t = " t o y _ f a c e o f a h a c k e r w i t h a h o o d i e " l o r a _ s c a l e = 0 . 9 i m a g e = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 3 0 , c r o s s _ a t t e n t i o n _ k w a r g s = { " s c a l e " : l o r a _ s c a l e } , g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) ) . i m a g e s [ 0 ] i m a g e ` ` ` O r t o d i s a b l e a l l a d a p t e r s e n t i r e l y , u s e t h e ` ~ d i f f u s e r s . l o a d e r s . U N e t 2 D C o n d i t i o n L o a d e r s M i x i n . d i s a b l e _ l o r a ` m e t h o d t o r e t u r n t h e b a s e m o d e l . ` ` ` p y t h o n p i p e . d i s a b l e _ l o r a ( ) p r o m p t = " t o y _ f a c e o f a h a c k e r w i t h a h o o d i e " i m a g e = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 3 0 , g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) ) . i m a g e s [ 0 ] i m a g e ` ` ` ! [ n o - l o r a ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / p e f t _ i n t e g r a t i o n / d i f f u s e r s _ p e f t _ l o r a _ i n f e r e n c e _ 2 0 _ 1 . p n g ) # # # C u s t o m i z e a d a p t e r s s t r e n g t h F o r e v e n m o r e c u s t o m i z a t i o n , y o u c a n c o n t r o l h o w s t r o n g l y t h e a d a p t e r a f f e c t s e a c h p a r t o f t h e p i p e l i n e . F o r t h i s , p a s s a d i c t i o n a r y w i t h t h e c o n t r o l s t r e n g t h s ( c a l l e d " s c a l e s " ) t o ` ~ d i f f u s e r s . l o a d e r s . U N e t 2 D C o n d i t i o n L o a d e r s M i x i n . s e t _ a d a p t e r s ` . F o r e x a m p l e , h e r e ' s h o w y o u c a n t u r n o n t h e a d a p t e r f o r t h e ` d o w n ` p a r t s , b u t t u r n i t o f f f o r t h e ` m i d ` a n d ` u p ` p a r t s : ` ` ` p y t h o n p i p e . e n a b l e _ l o r a ( ) # e n a b l e l o r a a g a i n , a f t e r w e d i s a b l e d i t a b o v e p r o m p t = " t o y _ f a c e o f a h a c k e r w i t h a h o o d i e , p i x e l a r t " a d a p t e r _ w e i g h t _ s c a l e s = { " u n e t " : { " d o w n " : 1 , " m i d " : 0 , " u p " : 0 } } p i p e . s e t _ a d a p t e r s ( " p i x e l " , a d a p t e r _ w e i g h t _ s c a l e s ) i m a g e = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 3 0 , g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) ) . i m a g e s [ 0 ] i m a g e ` ` ` ! [ b l o c k - l o r a - t e x t - a n d - d o w n ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / p e f t _ i n t e g r a t i o n / d i f f u s e r s _ p e f t _ l o r a _ i n f e r e n c e _ b l o c k _ d o w n . p n g ) L e t ' s s e e h o w t u r n i n g o f f t h e ` d o w n ` p a r t a n d t u r n i n g o n t h e ` m i d ` a n d ` u p ` p a r t r e s p e c t i v e l y c h a n g e s t h e i m a g e . ` ` ` p y t h o n a d a p t e r _ w e i g h t _ s c a l e s = { " u n e t " : { " d o w n " : 0 , " m i d " : 1 , " u p " : 0 } } p i p e . s e t _ a d a p t e r s ( " p i x e l " , a d a p t e r _ w e i g h t _ s c a l e s ) i m a g e = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 3 0 , g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) ) . i m a g e s [ 0 ] i m a g e ` ` ` ! [ b l o c k - l o r a - t e x t - a n d - m i d ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / p e f t _ i n t e g r a t i o n / d i f f u s e r s _ p e f t _ l o r a _ i n f e r e n c e _ b l o c k _ m i d . p n g ) ` ` ` p y t h o n a d a p t e r _ w e i g h t _ s c a l e s = { " u n e t " : { " d o w n " : 0 , " m i d " : 0 , " u p " : 1 } } p i p e . s e t _ a d a p t e r s ( " p i x e l " , a d a p t e r _ w e i g h t _ s c a l e s ) i m a g e = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 3 0 , g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) ) . i m a g e s [ 0 ] i m a g e ` ` ` ! [ b l o c k - l o r a - t e x t - a n d - u p ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / p e f t _ i n t e g r a t i o n / d i f f u s e r s _ p e f t _ l o r a _ i n f e r e n c e _ b l o c k _ u p . p n g ) L o o k s c o o l ! T h i s i s a r e a l l y p o w e r f u l f e a t u r e . Y o u c a n u s e i t t o c o n t r o l t h e a d a p t e r s t r e n g t h s d o w n t o p e r - t r a n s f o r m e r l e v e l . A n d y o u c a n e v e n u s e i t f o r m u l t i p l e a d a p t e r s . ` ` ` p y t h o n a d a p t e r _ w e i g h t _ s c a l e s _ t o y = 0 . 5 a d a p t e r _ w e i g h t _ s c a l e s _ p i x e l = { " u n e t " : { " d o w n " : 0 . 9 , # a l l t r a n s f o r m e r s i n t h e d o w n - p a r t w i l l u s e s c a l e 0 . 9 # " m i d " # b e c a u s e , i n t h i s e x a m p l e , " m i d " i s n o t g i v e n , a l l t r a n s f o r m e r s i n t h e m i d p a r t w i l l u s e t h e d e f a u l t s c a l e 1 . 0 " u p " : { " b l o c k _ 0 " : 0 . 6 , # a l l 3 t r a n s f o r m e r s i n t h e 0 t h b l o c k i n t h e u p - p a r t w i l l u s e s c a l e 0 . 6 " b l o c k _ 1 " : [ 0 . 4 , 0 . 8 , 1 . 0 ] , # t h e 3 t r a n s f o r m e r s i n t h e 1 s t b l o c k i n t h e u p - p a r t w i l l u s e s c a l e s 0 . 4 , 0 . 8 a n d 1 . 0 r e s p e c t i v e l y } } } p i p e . s e t _ a d a p t e r s ( [ " t o y " , " p i x e l " ] , [ a d a p t e r _ w e i g h t _ s c a l e s _ t o y , a d a p t e r _ w e i g h t _ s c a l e s _ p i x e l ] ) i m a g e = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 3 0 , g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) ) . i m a g e s [ 0 ] i m a g e ` ` ` ! [ b l o c k - l o r a - m i x e d ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / p e f t _ i n t e g r a t i o n / d i f f u s e r s _ p e f t _ l o r a _ i n f e r e n c e _ b l o c k _ m i x e d . p n g ) # # M a n a g e a c t i v e a d a p t e r s Y o u h a v e a t t a c h e d m u l t i p l e a d a p t e r s i n t h i s t u t o r i a l , a n d i f y o u ' r e f e e l i n g a b i t l o s t o n w h a t a d a p t e r s h a v e b e e n a t t a c h e d t o t h e p i p e l i n e ' s c o m p o n e n t s , u s e t h e ` g e t _ a c t i v e _ a d a p t e r s ( ) ` m e t h o d t o c h e c k t h e l i s t o f a c t i v e a d a p t e r s : ` ` ` p y a c t i v e _ a d a p t e r s = p i p e . g e t _ a c t i v e _ a d a p t e r s ( ) a c t i v e _ a d a p t e r s [ " t o y " , " p i x e l " ] ` ` ` Y o u c a n a l s o g e t t h e a c t i v e a d a p t e r s o f e a c h p i p e l i n e c o m p o n e n t w i t h ` g e t _ l i s t _ a d a p t e r s ( ) ` : ` ` ` p y l i s t _ a d a p t e r s _ c o m p o n e n t _ w i s e = p i p e . g e t _ l i s t _ a d a p t e r s ( ) l i s t _ a d a p t e r s _ c o m p o n e n t _ w i s e { " t e x t _ e n c o d e r " : [ " t o y " , " p i x e l " ] , " u n e t " : [ " t o y " , " p i x e l " ] , " t e x t _ e n c o d e r _ 2 " : [ " t o y " , " p i x e l " ] } ` ` ` # O v e r v i e w W e l c o m e t o ๐Ÿงจ D i f f u s e r s ! I f y o u ' r e n e w t o d i f f u s i o n m o d e l s a n d g e n e r a t i v e A I , a n d w a n t t o l e a r n m o r e , t h e n y o u ' v e c o m e t o t h e r i g h t p l a c e . T h e s e b e g i n n e r - f r i e n d l y t u t o r i a l s a r e d e s i g n e d t o p r o v i d e a g e n t l e i n t r o d u c t i o n t o d i f f u s i o n m o d e l s a n d h e l p y o u u n d e r s t a n d t h e l i b r a r y f u n d a m e n t a l s - t h e c o r e c o m p o n e n t s a n d h o w ๐Ÿงจ D i f f u s e r s i s m e a n t t o b e u s e d . Y o u ' l l l e a r n h o w t o u s e a p i p e l i n e f o r i n f e r e n c e t o r a p i d l y g e n e r a t e t h i n g s , a n d t h e n d e c o n s t r u c t t h a t p i p e l i n e t o r e a l l y u n d e r s t a n d h o w t o u s e t h e l i b r a r y a s a m o d u l a r t o o l b o x f o r b u i l d i n g y o u r o w n d i f f u s i o n s y s t e m s . I n t h e n e x t l e s s o n , y o u ' l l l e a r n h o w t o t r a i n y o u r o w n d i f f u s i o n m o d e l t o g e n e r a t e w h a t y o u w a n t . A f t e r c o m p l e t i n g t h e t u t o r i a l s , y o u ' l l h a v e g a i n e d t h e n e c e s s a r y s k i l l s t o s t a r t e x p l o r i n g t h e l i b r a r y o n y o u r o w n a n d s e e h o w t o u s e i t f o r y o u r o w n p r o j e c t s a n d a p p l i c a t i o n s . F e e l f r e e t o j o i n o u r c o m m u n i t y o n [ D i s c o r d ] ( h t t p s : / / d i s c o r d . c o m / i n v i t e / J f A t k v E t R b ) o r t h e [ f o r u m s ] ( h t t p s : / / d i s c u s s . h u g g i n g f a c e . c o / c / d i s c u s s i o n - r e l a t e d - t o - h t t p s g i t h u b c o m h u g g i n g f a c e d i f f u s e r s / 6 3 ) t o c o n n e c t a n d c o l l a b o r a t e w i t h o t h e r u s e r s a n d d e v e l o p e r s ! L e t ' s s t a r t d i f f u s i n g ! ๐Ÿงจ # T r a i n a d i f f u s i o n m o d e l U n c o n d i t i o n a l i m a g e g e n e r a t i o n i s a p o p u l a r a p p l i c a t i o n o f d i f f u s i o n m o d e l s t h a t g e n e r a t e s i m a g e s t h a t l o o k l i k e t h o s e i n t h e d a t a s e t u s e d f o r t r a i n i n g . T y p i c a l l y , t h e b e s t r e s u l t s a r e o b t a i n e d f r o m f i n e t u n i n g a p r e t r a i n e d m o d e l o n a s p e c i f i c d a t a s e t . Y o u c a n f i n d m a n y o f t h e s e c h e c k p o i n t s o n t h e [ H u b ] ( h t t p s : / / h u g g i n g f a c e . c o / s e a r c h / f u l l - t e x t ? q = u n c o n d i t i o n a l - i m a g e - g e n e r a t i o n & t y p e = m o d e l ) , b u t i f y o u c a n ' t f i n d o n e y o u l i k e , y o u c a n a l w a y s t r a i n y o u r o w n ! T h i s t u t o r i a l w i l l t e a c h y o u h o w t o t r a i n a ` U N e t 2 D M o d e l ` f r o m s c r a t c h o n a s u b s e t o f t h e [ S m i t h s o n i a n B u t t e r f l i e s ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g a n / s m i t h s o n i a n _ b u t t e r f l i e s _ s u b s e t ) d a t a s e t t o g e n e r a t e y o u r o w n ๐Ÿฆ‹ b u t t e r f l i e s ๐Ÿฆ‹ . < T i p > ๐Ÿ’ก T h i s t r a i n i n g t u t o r i a l i s b a s e d o n t h e [ T r a i n i n g w i t h ๐Ÿงจ D i f f u s e r s ] ( h t t p s : / / c o l a b . r e s e a r c h . g o o g l e . c o m / g i t h u b / h u g g i n g f a c e / n o t e b o o k s / b l o b / m a i n / d i f f u s e r s / t r a i n i n g _ e x a m p l e . i p y n b ) n o t e b o o k . F o r a d d i t i o n a l d e t a i l s a n d c o n t e x t a b o u t d i f f u s i o n m o d e l s l i k e h o w t h e y w o r k , c h e c k o u t t h e n o t e b o o k ! < / T i p > B e f o r e y o u b e g i n , m a k e s u r e y o u h a v e ๐Ÿค— D a t a s e t s i n s t a l l e d t o l o a d a n d p r e p r o c e s s i m a g e d a t a s e t s , a n d ๐Ÿค— A c c e l e r a t e , t o s i m p l i f y t r a i n i n g o n a n y n u m b e r o f G P U s . T h e f o l l o w i n g c o m m a n d w i l l a l s o i n s t a l l [ T e n s o r B o a r d ] ( h t t p s : / / w w w . t e n s o r f l o w . o r g / t e n s o r b o a r d ) t o v i s u a l i z e t r a i n i n g m e t r i c s ( y o u c a n a l s o u s e [ W e i g h t s & B i a s e s ] ( h t t p s : / / d o c s . w a n d b . a i / ) t o t r a c k y o u r t r a i n i n g ) . ` ` ` p y # u n c o m m e n t t o i n s t a l l t h e n e c e s s a r y l i b r a r i e s i n C o l a b # ! p i p i n s t a l l d i f f u s e r s [ t r a i n i n g ] ` ` ` W e e n c o u r a g e y o u t o s h a r e y o u r m o d e l w i t h t h e c o m m u n i t y , a n d i n o r d e r t o d o t h a t , y o u ' l l n e e d t o l o g i n t o y o u r H u g g i n g F a c e a c c o u n t ( c r e a t e o n e [ h e r e ] ( h t t p s : / / h f . c o / j o i n ) i f y o u d o n ' t a l r e a d y h a v e o n e ! ) . Y o u c a n l o g i n f r o m a n o t e b o o k a n d e n t e r y o u r t o k e n w h e n p r o m p t e d . M a k e s u r e y o u r t o k e n h a s t h e w r i t e r o l e . ` ` ` p y > > > f r o m h u g g i n g f a c e _ h u b i m p o r t n o t e b o o k _ l o g i n > > > n o t e b o o k _ l o g i n ( ) ` ` ` O r l o g i n i n f r o m t h e t e r m i n a l : ` ` ` b a s h h u g g i n g f a c e - c l i l o g i n ` ` ` S i n c e t h e m o d e l c h e c k p o i n t s a r e q u i t e l a r g e , i n s t a l l [ G i t - L F S ] ( h t t p s : / / g i t - l f s . c o m / ) t o v e r s i o n t h e s e l a r g e f i l e s : ` ` ` b a s h ! s u d o a p t - q q i n s t a l l g i t - l f s ! g i t c o n f i g - - g l o b a l c r e d e n t i a l . h e l p e r s t o r e ` ` ` # # T r a i n i n g c o n f i g u r a t i o n F o r c o n v e n i e n c e , c r e a t e a ` T r a i n i n g C o n f i g ` c l a s s c o n t a i n i n g t h e t r a i n i n g h y p e r p a r a m e t e r s ( f e e l f r e e t o a d j u s t t h e m ) : ` ` ` p y > > > f r o m d a t a c l a s s e s i m p o r t d a t a c l a s s > > > @ d a t a c l a s s . . . c l a s s T r a i n i n g C o n f i g : . . . i m a g e _ s i z e = 1 2 8 # t h e g e n e r a t e d i m a g e r e s o l u t i o n . . . t r a i n _ b a t c h _ s i z e = 1 6 . . . e v a l _ b a t c h _ s i z e = 1 6 # h o w m a n y i m a g e s t o s a m p l e d u r i n g e v a l u a t i o n . . . n u m _ e p o c h s = 5 0 . . . g r a d i e n t _ a c c u m u l a t i o n _ s t e p s = 1 . . . l e a r n i n g _ r a t e = 1 e - 4 . . . l r _ w a r m u p _ s t e p s = 5 0 0 . . . s a v e _ i m a g e _ e p o c h s = 1 0 . . . s a v e _ m o d e l _ e p o c h s = 3 0 . . . m i x e d _ p r e c i s i o n = " f p 1 6 " # ` n o ` f o r f l o a t 3 2 , ` f p 1 6 ` f o r a u t o m a t i c m i x e d p r e c i s i o n . . . o u t p u t _ d i r = " d d p m - b u t t e r f l i e s - 1 2 8 " # t h e m o d e l n a m e l o c a l l y a n d o n t h e H F H u b . . . p u s h _ t o _ h u b = T r u e # w h e t h e r t o u p l o a d t h e s a v e d m o d e l t o t h e H F H u b . . . h u b _ m o d e l _ i d = " < y o u r - u s e r n a m e > / < m y - a w e s o m e - m o d e l > " # t h e n a m e o f t h e r e p o s i t o r y t o c r e a t e o n t h e H F H u b . . . h u b _ p r i v a t e _ r e p o = F a l s e . . . o v e r w r i t e _ o u t p u t _ d i r = T r u e # o v e r w r i t e t h e o l d m o d e l w h e n r e - r u n n i n g t h e n o t e b o o k . . . s e e d = 0 > > > c o n f i g = T r a i n i n g C o n f i g ( ) ` ` ` # # L o a d t h e d a t a s e t Y o u c a n e a s i l y l o a d t h e [ S m i t h s o n i a n B u t t e r f l i e s ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g a n / s m i t h s o n i a n _ b u t t e r f l i e s _ s u b s e t ) d a t a s e t w i t h t h e ๐Ÿค— D a t a s e t s l i b r a r y : ` ` ` p y > > > f r o m d a t a s e t s i m p o r t l o a d _ d a t a s e t > > > c o n f i g . d a t a s e t _ n a m e = " h u g g a n / s m i t h s o n i a n _ b u t t e r f l i e s _ s u b s e t " > > > d a t a s e t = l o a d _ d a t a s e t ( c o n f i g . d a t a s e t _ n a m e , s p l i t = " t r a i n " ) ` ` ` < T i p > ๐Ÿ’ก Y o u c a n f i n d a d d i t i o n a l d a t a s e t s f r o m t h e [ H u g G a n C o m m u n i t y E v e n t ] ( h t t p s : / / h u g g i n g f a c e . c o / h u g g a n ) o r y o u c a n u s e y o u r o w n d a t a s e t b y c r e a t i n g a l o c a l [ ` I m a g e F o l d e r ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d a t a s e t s / i m a g e _ d a t a s e t # i m a g e f o l d e r ) . S e t ` c o n f i g . d a t a s e t _ n a m e ` t o t h e r e p o s i t o r y i d o f t h e d a t a s e t i f i t i s f r o m t h e H u g G a n C o m m u n i t y E v e n t , o r ` i m a g e f o l d e r ` i f y o u ' r e u s i n g y o u r o w n i m a g e s . < / T i p > ๐Ÿค— D a t a s e t s u s e s t h e [ I m a g e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d a t a s e t s / m a i n / e n / p a c k a g e _ r e f e r e n c e / m a i n _ c l a s s e s # d a t a s e t s . I m a g e ) f e a t u r e t o a u t o m a t i c a l l y d e c o d e t h e i m a g e d a t a a n d l o a d i t a s a [ ` P I L . I m a g e ` ] ( h t t p s : / / p i l l o w . r e a d t h e d o c s . i o / e n / s t a b l e / r e f e r e n c e / I m a g e . h t m l ) w h i c h w e c a n v i s u a l i z e : ` ` ` p y > > > i m p o r t m a t p l o t l i b . p y p l o t a s p l t > > > f i g , a x s = p l t . s u b p l o t s ( 1 , 4 , f i g s i z e = ( 1 6 , 4 ) ) > > > f o r i , i m a g e i n e n u m e r a t e ( d a t a s e t [ : 4 ] [ " i m a g e " ] ) : . . . a x s [ i ] . i m s h o w ( i m a g e ) . . . a x s [ i ] . s e t _ a x i s _ o f f ( ) > > > f i g . s h o w ( ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / b u t t e r f l i e s _ d s . p n g " / > < / d i v > T h e i m a g e s a r e a l l d i f f e r e n t s i z e s t h o u g h , s o y o u ' l l n e e d t o p r e p r o c e s s t h e m f i r s t : * ` R e s i z e ` c h a n g e s t h e i m a g e s i z e t o t h e o n e d e f i n e d i n ` c o n f i g . i m a g e _ s i z e ` . * ` R a n d o m H o r i z o n t a l F l i p ` a u g m e n t s t h e d a t a s e t b y r a n d o m l y m i r r o r i n g t h e i m a g e s . * ` N o r m a l i z e ` i s i m p o r t a n t t o r e s c a l e t h e p i x e l v a l u e s i n t o a [ - 1 , 1 ] r a n g e , w h i c h i s w h a t t h e m o d e l e x p e c t s . ` ` ` p y > > > f r o m t o r c h v i s i o n i m p o r t t r a n s f o r m s > > > p r e p r o c e s s = t r a n s f o r m s . C o m p o s e ( . . . [ . . . t r a n s f o r m s . R e s i z e ( ( c o n f i g . i m a g e _ s i z e , c o n f i g . i m a g e _ s i z e ) ) , . . . t r a n s f o r m s . R a n d o m H o r i z o n t a l F l i p ( ) , . . . t r a n s f o r m s . T o T e n s o r ( ) , . . . t r a n s f o r m s . N o r m a l i z e ( [ 0 . 5 ] , [ 0 . 5 ] ) , . . . ] . . . ) ` ` ` U s e ๐Ÿค— D a t a s e t s ' [ s e t _ t r a n s f o r m ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d a t a s e t s / m a i n / e n / p a c k a g e _ r e f e r e n c e / m a i n _ c l a s s e s # d a t a s e t s . D a t a s e t . s e t _ t r a n s f o r m ) m e t h o d t o a p p l y t h e ` p r e p r o c e s s ` f u n c t i o n o n t h e f l y d u r i n g t r a i n i n g : ` ` ` p y > > > d e f t r a n s f o r m ( e x a m p l e s ) : . . . i m a g e s = [ p r e p r o c e s s ( i m a g e . c o n v e r t ( " R G B " ) ) f o r i m a g e i n e x a m p l e s [ " i m a g e " ] ] . . . r e t u r n { " i m a g e s " : i m a g e s } > > > d a t a s e t . s e t _ t r a n s f o r m ( t r a n s f o r m ) ` ` ` F e e l f r e e t o v i s u a l i z e t h e i m a g e s a g a i n t o c o n f i r m t h a t t h e y ' v e b e e n r e s i z e d . N o w y o u ' r e r e a d y t o w r a p t h e d a t a s e t i n a [ D a t a L o a d e r ] ( h t t p s : / / p y t o r c h . o r g / d o c s / s t a b l e / d a t a # t o r c h . u t i l s . d a t a . D a t a L o a d e r ) f o r t r a i n i n g ! ` ` ` p y > > > i m p o r t t o r c h > > > t r a i n _ d a t a l o a d e r = t o r c h . u t i l s . d a t a . D a t a L o a d e r ( d a t a s e t , b a t c h _ s i z e = c o n f i g . t r a i n _ b a t c h _ s i z e , s h u f f l e = T r u e ) ` ` ` # # C r e a t e a U N e t 2 D M o d e l P r e t r a i n e d m o d e l s i n ๐Ÿงจ D i f f u s e r s a r e e a s i l y c r e a t e d f r o m t h e i r m o d e l c l a s s w i t h t h e p a r a m e t e r s y o u w a n t . F o r e x a m p l e , t o c r e a t e a ` U N e t 2 D M o d e l ` : ` ` ` p y > > > f r o m d i f f u s e r s i m p o r t U N e t 2 D M o d e l > > > m o d e l = U N e t 2 D M o d e l ( . . . s a m p l e _ s i z e = c o n f i g . i m a g e _ s i z e , # t h e t a r g e t i m a g e r e s o l u t i o n . . . i n _ c h a n n e l s = 3 , # t h e n u m b e r o f i n p u t c h a n n e l s , 3 f o r R G B i m a g e s . . . o u t _ c h a n n e l s = 3 , # t h e n u m b e r o f o u t p u t c h a n n e l s . . . l a y e r s _ p e r _ b l o c k = 2 , # h o w m a n y R e s N e t l a y e r s t o u s e p e r U N e t b l o c k . . . b l o c k _ o u t _ c h a n n e l s = ( 1 2 8 , 1 2 8 , 2 5 6 , 2 5 6 , 5 1 2 , 5 1 2 ) , # t h e n u m b e r o f o u t p u t c h a n n e l s f o r e a c h U N e t b l o c k . . . d o w n _ b l o c k _ t y p e s = ( . . . " D o w n B l o c k 2 D " , # a r e g u l a r R e s N e t d o w n s a m p l i n g b l o c k . . . " D o w n B l o c k 2 D " , . . . " D o w n B l o c k 2 D " , . . . " D o w n B l o c k 2 D " , . . . " A t t n D o w n B l o c k 2 D " , # a R e s N e t d o w n s a m p l i n g b l o c k w i t h s p a t i a l s e l f - a t t e n t i o n . . . " D o w n B l o c k 2 D " , . . . ) , . . . u p _ b l o c k _ t y p e s = ( . . . " U p B l o c k 2 D " , # a r e g u l a r R e s N e t u p s a m p l i n g b l o c k . . . " A t t n U p B l o c k 2 D " , # a R e s N e t u p s a m p l i n g b l o c k w i t h s p a t i a l s e l f - a t t e n t i o n . . . " U p B l o c k 2 D " , . . . " U p B l o c k 2 D " , . . . " U p B l o c k 2 D " , . . . " U p B l o c k 2 D " , . . . ) , . . . ) ` ` ` I t i s o f t e n a g o o d i d e a t o q u i c k l y c h e c k t h e s a m p l e i m a g e s h a p e m a t c h e s t h e m o d e l o u t p u t s h a p e : ` ` ` p y > > > s a m p l e _ i m a g e = d a t a s e t [ 0 ] [ " i m a g e s " ] . u n s q u e e z e ( 0 ) > > > p r i n t ( " I n p u t s h a p e : " , s a m p l e _ i m a g e . s h a p e ) I n p u t s h a p e : t o r c h . S i z e ( [ 1 , 3 , 1 2 8 , 1 2 8 ] ) > > > p r i n t ( " O u t p u t s h a p e : " , m o d e l ( s a m p l e _ i m a g e , t i m e s t e p = 0 ) . s a m p l e . s h a p e ) O u t p u t s h a p e : t o r c h . S i z e ( [ 1 , 3 , 1 2 8 , 1 2 8 ] ) ` ` ` G r e a t ! N e x t , y o u ' l l n e e d a s c h e d u l e r t o a d d s o m e n o i s e t o t h e i m a g e . # # C r e a t e a s c h e d u l e r T h e s c h e d u l e r b e h a v e s d i f f e r e n t l y d e p e n d i n g o n w h e t h e r y o u ' r e u s i n g t h e m o d e l f o r t r a i n i n g o r i n f e r e n c e . D u r i n g i n f e r e n c e , t h e s c h e d u l e r g e n e r a t e s i m a g e f r o m t h e n o i s e . D u r i n g t r a i n i n g , t h e s c h e d u l e r t a k e s a m o d e l o u t p u t - o r a s a m p l e - f r o m a s p e c i f i c p o i n t i n t h e d i f f u s i o n p r o c e s s a n d a p p l i e s n o i s e t o t h e i m a g e a c c o r d i n g t o a * n o i s e s c h e d u l e * a n d a n * u p d a t e r u l e * . L e t ' s t a k e a l o o k a t t h e ` D D P M S c h e d u l e r ` a n d u s e t h e ` a d d _ n o i s e ` m e t h o d t o a d d s o m e r a n d o m n o i s e t o t h e ` s a m p l e _ i m a g e ` f r o m b e f o r e : ` ` ` p y > > > i m p o r t t o r c h > > > f r o m P I L i m p o r t I m a g e > > > f r o m d i f f u s e r s i m p o r t D D P M S c h e d u l e r > > > n o i s e _ s c h e d u l e r = D D P M S c h e d u l e r ( n u m _ t r a i n _ t i m e s t e p s = 1 0 0 0 ) > > > n o i s e = t o r c h . r a n d n ( s a m p l e _ i m a g e . s h a p e ) > > > t i m e s t e p s = t o r c h . L o n g T e n s o r ( [ 5 0 ] ) > > > n o i s y _ i m a g e = n o i s e _ s c h e d u l e r . a d d _ n o i s e ( s a m p l e _ i m a g e , n o i s e , t i m e s t e p s ) > > > I m a g e . f r o m a r r a y ( ( ( n o i s y _ i m a g e . p e r m u t e ( 0 , 2 , 3 , 1 ) + 1 . 0 ) * 1 2 7 . 5 ) . t y p e ( t o r c h . u i n t 8 ) . n u m p y ( ) [ 0 ] ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / n o i s y _ b u t t e r f l y . p n g " / > < / d i v > T h e t r a i n i n g o b j e c t i v e o f t h e m o d e l i s t o p r e d i c t t h e n o i s e a d d e d t o t h e i m a g e . T h e l o s s a t t h i s s t e p c a n b e c a l c u l a t e d b y : ` ` ` p y > > > i m p o r t t o r c h . n n . f u n c t i o n a l a s F > > > n o i s e _ p r e d = m o d e l ( n o i s y _ i m a g e , t i m e s t e p s ) . s a m p l e > > > l o s s = F . m s e _ l o s s ( n o i s e _ p r e d , n o i s e ) ` ` ` # # T r a i n t h e m o d e l B y n o w , y o u h a v e m o s t o f t h e p i e c e s t o s t a r t t r a i n i n g t h e m o d e l a n d a l l t h a t ' s l e f t i s p u t t i n g e v e r y t h i n g t o g e t h e r . F i r s t , y o u ' l l n e e d a n o p t i m i z e r a n d a l e a r n i n g r a t e s c h e d u l e r : ` ` ` p y > > > f r o m d i f f u s e r s . o p t i m i z a t i o n i m p o r t g e t _ c o s i n e _ s c h e d u l e _ w i t h _ w a r m u p > > > o p t i m i z e r = t o r c h . o p t i m . A d a m W ( m o d e l . p a r a m e t e r s ( ) , l r = c o n f i g . l e a r n i n g _ r a t e ) > > > l r _ s c h e d u l e r = g e t _ c o s i n e _ s c h e d u l e _ w i t h _ w a r m u p ( . . . o p t i m i z e r = o p t i m i z e r , . . . n u m _ w a r m u p _ s t e p s = c o n f i g . l r _ w a r m u p _ s t e p s , . . . n u m _ t r a i n i n g _ s t e p s = ( l e n ( t r a i n _ d a t a l o a d e r ) * c o n f i g . n u m _ e p o c h s ) , . . . ) ` ` ` T h e n , y o u ' l l n e e d a w a y t o e v a l u a t e t h e m o d e l . F o r e v a l u a t i o n , y o u c a n u s e t h e ` D D P M P i p e l i n e ` t o g e n e r a t e a b a t c h o f s a m p l e i m a g e s a n d s a v e i t a s a g r i d : ` ` ` p y > > > f r o m d i f f u s e r s i m p o r t D D P M P i p e l i n e > > > f r o m d i f f u s e r s . u t i l s i m p o r t m a k e _ i m a g e _ g r i d > > > i m p o r t o s > > > d e f e v a l u a t e ( c o n f i g , e p o c h , p i p e l i n e ) : . . . # S a m p l e s o m e i m a g e s f r o m r a n d o m n o i s e ( t h i s i s t h e b a c k w a r d d i f f u s i o n p r o c e s s ) . . . . # T h e d e f a u l t p i p e l i n e o u t p u t t y p e i s ` L i s t [ P I L . I m a g e ] ` . . . i m a g e s = p i p e l i n e ( . . . b a t c h _ s i z e = c o n f i g . e v a l _ b a t c h _ s i z e , . . . g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = ' c p u ' ) . m a n u a l _ s e e d ( c o n f i g . s e e d ) , # U s e a s e p a r a t e t o r c h g e n e r a t o r t o a v o i d r e w i n d i n g t h e r a n d o m s t a t e o f t h e m a i n t r a i n i n g l o o p . . . ) . i m a g e s . . . # M a k e a g r i d o u t o f t h e i m a g e s . . . i m a g e _ g r i d = m a k e _ i m a g e _ g r i d ( i m a g e s , r o w s = 4 , c o l s = 4 ) . . . # S a v e t h e i m a g e s . . . t e s t _ d i r = o s . p a t h . j o i n ( c o n f i g . o u t p u t _ d i r , " s a m p l e s " ) . . . o s . m a k e d i r s ( t e s t _ d i r , e x i s t _ o k = T r u e ) . . . i m a g e _ g r i d . s a v e ( f " { t e s t _ d i r } / { e p o c h : 0 4 d } . p n g " ) ` ` ` N o w y o u c a n w r a p a l l t h e s e c o m p o n e n t s t o g e t h e r i n a t r a i n i n g l o o p w i t h ๐Ÿค— A c c e l e r a t e f o r e a s y T e n s o r B o a r d l o g g i n g , g r a d i e n t a c c u m u l a t i o n , a n d m i x e d p r e c i s i o n t r a i n i n g . T o u p l o a d t h e m o d e l t o t h e H u b , w r i t e a f u n c t i o n t o g e t y o u r r e p o s i t o r y n a m e a n d i n f o r m a t i o n a n d t h e n p u s h i t t o t h e H u b . < T i p > ๐Ÿ’ก T h e t r a i n i n g l o o p b e l o w m a y l o o k i n t i m i d a t i n g a n d l o n g , b u t i t ' l l b e w o r t h i t l a t e r w h e n y o u l a u n c h y o u r t r a i n i n g i n j u s t o n e l i n e o f c o d e ! I f y o u c a n ' t w a i t a n d w a n t t o s t a r t g e n e r a t i n g i m a g e s , f e e l f r e e t o c o p y a n d r u n t h e c o d e b e l o w . Y o u c a n a l w a y s c o m e b a c k a n d e x a m i n e t h e t r a i n i n g l o o p m o r e c l o s e l y l a t e r , l i k e w h e n y o u ' r e w a i t i n g f o r y o u r m o d e l t o f i n i s h t r a i n i n g . ๐Ÿค— < / T i p > ` ` ` p y > > > f r o m a c c e l e r a t e i m p o r t A c c e l e r a t o r > > > f r o m h u g g i n g f a c e _ h u b i m p o r t c r e a t e _ r e p o , u p l o a d _ f o l d e r > > > f r o m t q d m . a u t o i m p o r t t q d m > > > f r o m p a t h l i b i m p o r t P a t h > > > i m p o r t o s > > > d e f t r a i n _ l o o p ( c o n f i g , m o d e l , n o i s e _ s c h e d u l e r , o p t i m i z e r , t r a i n _ d a t a l o a d e r , l r _ s c h e d u l e r ) : . . . # I n i t i a l i z e a c c e l e r a t o r a n d t e n s o r b o a r d l o g g i n g . . . a c c e l e r a t o r = A c c e l e r a t o r ( . . . m i x e d _ p r e c i s i o n = c o n f i g . m i x e d _ p r e c i s i o n , . . . g r a d i e n t _ a c c u m u l a t i o n _ s t e p s = c o n f i g . g r a d i e n t _ a c c u m u l a t i o n _ s t e p s , . . . l o g _ w i t h = " t e n s o r b o a r d " , . . . p r o j e c t _ d i r = o s . p a t h . j o i n ( c o n f i g . o u t p u t _ d i r , " l o g s " ) , . . . ) . . . i f a c c e l e r a t o r . i s _ m a i n _ p r o c e s s : . . . i f c o n f i g . o u t p u t _ d i r i s n o t N o n e : . . . o s . m a k e d i r s ( c o n f i g . o u t p u t _ d i r , e x i s t _ o k = T r u e ) . . . i f c o n f i g . p u s h _ t o _ h u b : . . . r e p o _ i d = c r e a t e _ r e p o ( . . . r e p o _ i d = c o n f i g . h u b _ m o d e l _ i d o r P a t h ( c o n f i g . o u t p u t _ d i r ) . n a m e , e x i s t _ o k = T r u e . . . ) . r e p o _ i d . . . a c c e l e r a t o r . i n i t _ t r a c k e r s ( " t r a i n _ e x a m p l e " ) . . . # P r e p a r e e v e r y t h i n g . . . # T h e r e i s n o s p e c i f i c o r d e r t o r e m e m b e r , y o u j u s t n e e d t o u n p a c k t h e . . . # o b j e c t s i n t h e s a m e o r d e r y o u g a v e t h e m t o t h e p r e p a r e m e t h o d . . . . m o d e l , o p t i m i z e r , t r a i n _ d a t a l o a d e r , l r _ s c h e d u l e r = a c c e l e r a t o r . p r e p a r e ( . . . m o d e l , o p t i m i z e r , t r a i n _ d a t a l o a d e r , l r _ s c h e d u l e r . . . ) . . . g l o b a l _ s t e p = 0 . . . # N o w y o u t r a i n t h e m o d e l . . . f o r e p o c h i n r a n g e ( c o n f i g . n u m _ e p o c h s ) : . . . p r o g r e s s _ b a r = t q d m ( t o t a l = l e n ( t r a i n _ d a t a l o a d e r ) , d i s a b l e = n o t a c c e l e r a t o r . i s _ l o c a l _ m a i n _ p r o c e s s ) . . . p r o g r e s s _ b a r . s e t _ d e s c r i p t i o n ( f " E p o c h { e p o c h } " ) . . . f o r s t e p , b a t c h i n e n u m e r a t e ( t r a i n _ d a t a l o a d e r ) : . . . c l e a n _ i m a g e s = b a t c h [ " i m a g e s " ] . . . # S a m p l e n o i s e t o a d d t o t h e i m a g e s . . . n o i s e = t o r c h . r a n d n ( c l e a n _ i m a g e s . s h a p e , d e v i c e = c l e a n _ i m a g e s . d e v i c e ) . . . b s = c l e a n _ i m a g e s . s h a p e [ 0 ] . . . # S a m p l e a r a n d o m t i m e s t e p f o r e a c h i m a g e . . . t i m e s t e p s = t o r c h . r a n d i n t ( . . . 0 , n o i s e _ s c h e d u l e r . c o n f i g . n u m _ t r a i n _ t i m e s t e p s , ( b s , ) , d e v i c e = c l e a n _ i m a g e s . d e v i c e , . . . d t y p e = t o r c h . i n t 6 4 . . . ) . . . # A d d n o i s e t o t h e c l e a n i m a g e s a c c o r d i n g t o t h e n o i s e m a g n i t u d e a t e a c h t i m e s t e p . . . # ( t h i s i s t h e f o r w a r d d i f f u s i o n p r o c e s s ) . . . n o i s y _ i m a g e s = n o i s e _ s c h e d u l e r . a d d _ n o i s e ( c l e a n _ i m a g e s , n o i s e , t i m e s t e p s ) . . . w i t h a c c e l e r a t o r . a c c u m u l a t e ( m o d e l ) : . . . # P r e d i c t t h e n o i s e r e s i d u a l . . . n o i s e _ p r e d = m o d e l ( n o i s y _ i m a g e s , t i m e s t e p s , r e t u r n _ d i c t = F a l s e ) [ 0 ] . . . l o s s = F . m s e _ l o s s ( n o i s e _ p r e d , n o i s e ) . . . a c c e l e r a t o r . b a c k w a r d ( l o s s ) . . . i f a c c e l e r a t o r . s y n c _ g r a d i e n t s : . . . a c c e l e r a t o r . c l i p _ g r a d _ n o r m _ ( m o d e l . p a r a m e t e r s ( ) , 1 . 0 ) . . . o p t i m i z e r . s t e p ( ) . . . l r _ s c h e d u l e r . s t e p ( ) . . . o p t i m i z e r . z e r o _ g r a d ( ) . . . p r o g r e s s _ b a r . u p d a t e ( 1 ) . . . l o g s = { " l o s s " : l o s s . d e t a c h ( ) . i t e m ( ) , " l r " : l r _ s c h e d u l e r . g e t _ l a s t _ l r ( ) [ 0 ] , " s t e p " : g l o b a l _ s t e p } . . . p r o g r e s s _ b a r . s e t _ p o s t f i x ( * * l o g s ) . . . a c c e l e r a t o r . l o g ( l o g s , s t e p = g l o b a l _ s t e p ) . . . g l o b a l _ s t e p + = 1 . . . # A f t e r e a c h e p o c h y o u o p t i o n a l l y s a m p l e s o m e d e m o i m a g e s w i t h e v a l u a t e ( ) a n d s a v e t h e m o d e l . . . i f a c c e l e r a t o r . i s _ m a i n _ p r o c e s s : . . . p i p e l i n e = D D P M P i p e l i n e ( u n e t = a c c e l e r a t o r . u n w r a p _ m o d e l ( m o d e l ) , s c h e d u l e r = n o i s e _ s c h e d u l e r ) . . . i f ( e p o c h + 1 ) % c o n f i g . s a v e _ i m a g e _ e p o c h s = = 0 o r e p o c h = = c o n f i g . n u m _ e p o c h s - 1 : . . . e v a l u a t e ( c o n f i g , e p o c h , p i p e l i n e ) . . . i f ( e p o c h + 1 ) % c o n f i g . s a v e _ m o d e l _ e p o c h s = = 0 o r e p o c h = = c o n f i g . n u m _ e p o c h s - 1 : . . . i f c o n f i g . p u s h _ t o _ h u b : . . . u p l o a d _ f o l d e r ( . . . r e p o _ i d = r e p o _ i d , . . . f o l d e r _ p a t h = c o n f i g . o u t p u t _ d i r , . . . c o m m i t _ m e s s a g e = f " E p o c h { e p o c h } " , . . . i g n o r e _ p a t t e r n s = [ " s t e p _ * " , " e p o c h _ * " ] , . . . ) . . . e l s e : . . . p i p e l i n e . s a v e _ p r e t r a i n e d ( c o n f i g . o u t p u t _ d i r ) ` ` ` P h e w , t h a t w a s q u i t e a b i t o f c o d e ! B u t y o u ' r e f i n a l l y r e a d y t o l a u n c h t h e t r a i n i n g w i t h ๐Ÿค— A c c e l e r a t e ' s [ n o t e b o o k _ l a u n c h e r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / m a i n / e n / p a c k a g e _ r e f e r e n c e / l a u n c h e r s # a c c e l e r a t e . n o t e b o o k _ l a u n c h e r ) f u n c t i o n . P a s s t h e f u n c t i o n t h e t r a i n i n g l o o p , a l l t h e t r a i n i n g a r g u m e n t s , a n d t h e n u m b e r o f p r o c e s s e s ( y o u c a n c h a n g e t h i s v a l u e t o t h e n u m b e r o f G P U s a v a i l a b l e t o y o u ) t o u s e f o r t r a i n i n g : ` ` ` p y > > > f r o m a c c e l e r a t e i m p o r t n o t e b o o k _ l a u n c h e r > > > a r g s = ( c o n f i g , m o d e l , n o i s e _ s c h e d u l e r , o p t i m i z e r , t r a i n _ d a t a l o a d e r , l r _ s c h e d u l e r ) > > > n o t e b o o k _ l a u n c h e r ( t r a i n _ l o o p , a r g s , n u m _ p r o c e s s e s = 1 ) ` ` ` O n c e t r a i n i n g i s c o m p l e t e , t a k e a l o o k a t t h e f i n a l ๐Ÿฆ‹ i m a g e s ๐Ÿฆ‹ g e n e r a t e d b y y o u r d i f f u s i o n m o d e l ! ` ` ` p y > > > i m p o r t g l o b > > > s a m p l e _ i m a g e s = s o r t e d ( g l o b . g l o b ( f " { c o n f i g . o u t p u t _ d i r } / s a m p l e s / * . p n g " ) ) > > > I m a g e . o p e n ( s a m p l e _ i m a g e s [ - 1 ] ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / b u t t e r f l i e s _ f i n a l . p n g " / > < / d i v > # # N e x t s t e p s U n c o n d i t i o n a l i m a g e g e n e r a t i o n i s o n e e x a m p l e o f a t a s k t h a t c a n b e t r a i n e d . Y o u c a n e x p l o r e o t h e r t a s k s a n d t r a i n i n g t e c h n i q u e s b y v i s i t i n g t h e [ ๐Ÿงจ D i f f u s e r s T r a i n i n g E x a m p l e s ] ( . . / t r a i n i n g / o v e r v i e w ) p a g e . H e r e a r e s o m e e x a m p l e s o f w h a t y o u c a n l e a r n : * [ T e x t u a l I n v e r s i o n ] ( . . / t r a i n i n g / t e x t _ i n v e r s i o n ) , a n a l g o r i t h m t h a t t e a c h e s a m o d e l a s p e c i f i c v i s u a l c o n c e p t a n d i n t e g r a t e s i t i n t o t h e g e n e r a t e d i m a g e . * [ D r e a m B o o t h ] ( . . / t r a i n i n g / d r e a m b o o t h ) , a t e c h n i q u e f o r g e n e r a t i n g p e r s o n a l i z e d i m a g e s o f a s u b j e c t g i v e n s e v e r a l i n p u t i m a g e s o f t h e s u b j e c t . * [ G u i d e ] ( . . / t r a i n i n g / t e x t 2 i m a g e ) t o f i n e t u n i n g a S t a b l e D i f f u s i o n m o d e l o n y o u r o w n d a t a s e t . * [ G u i d e ] ( . . / t r a i n i n g / l o r a ) t o u s i n g L o R A , a m e m o r y - e f f i c i e n t t e c h n i q u e f o r f i n e t u n i n g r e a l l y l a r g e m o d e l s f a s t e r . # O u t p a i n t i n g O u t p a i n t i n g e x t e n d s a n i m a g e b e y o n d i t s o r i g i n a l b o u n d a r i e s , a l l o w i n g y o u t o a d d , r e p l a c e , o r m o d i f y v i s u a l e l e m e n t s i n a n i m a g e w h i l e p r e s e r v i n g t h e o r i g i n a l i m a g e . L i k e [ i n p a i n t i n g ] ( . . / u s i n g - d i f f u s e r s / i n p a i n t ) , y o u w a n t t o f i l l t h e w h i t e a r e a ( i n t h i s c a s e , t h e a r e a o u t s i d e o f t h e o r i g i n a l i m a g e ) w i t h n e w v i s u a l e l e m e n t s w h i l e k e e p i n g t h e o r i g i n a l i m a g e ( r e p r e s e n t e d b y a m a s k o f b l a c k p i x e l s ) . T h e r e a r e a c o u p l e o f w a y s t o o u t p a i n t , s u c h a s w i t h a [ C o n t r o l N e t ] ( h t t p s : / / h f . c o / b l o g / O z z y G T / o u t p a i n t i n g - c o n t r o l n e t ) o r w i t h [ D i f f e r e n t i a l D i f f u s i o n ] ( h t t p s : / / h f . c o / b l o g / O z z y G T / o u t p a i n t i n g - d i f f e r e n t i a l - d i f f u s i o n ) . T h i s g u i d e w i l l s h o w y o u h o w t o o u t p a i n t w i t h a n i n p a i n t i n g m o d e l , C o n t r o l N e t , a n d a Z o e D e p t h e s t i m a t o r . B e f o r e y o u b e g i n , m a k e s u r e y o u h a v e t h e [ c o n t r o l n e t _ a u x ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / c o n t r o l n e t _ a u x ) l i b r a r y i n s t a l l e d s o y o u c a n u s e t h e Z o e D e p t h e s t i m a t o r . ` ` ` p y ! p i p i n s t a l l - q c o n t r o l n e t _ a u x ` ` ` # # I m a g e p r e p a r a t i o n S t a r t b y p i c k i n g a n i m a g e t o o u t p a i n t w i t h a n d r e m o v e t h e b a c k g r o u n d w i t h a S p a c e l i k e [ B R I A - R M B G - 1 . 4 ] ( h t t p s : / / h f . c o / s p a c e s / b r i a a i / B R I A - R M B G - 1 . 4 ) . < i f r a m e s r c = " h t t p s : / / b r i a a i - b r i a - r m b g - 1 - 4 . h f . s p a c e " f r a m e b o r d e r = " 0 " w i d t h = " 8 5 0 " h e i g h t = " 4 5 0 " > < / i f r a m e > F o r e x a m p l e , r e m o v e t h e b a c k g r o u n d f r o m t h i s i m a g e o f a p a i r o f s h o e s . < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / s t e v h l i u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / o r i g i n a l - j o r d a n . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > o r i g i n a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / s t e v h l i u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / n o - b a c k g r o u n d - j o r d a n . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > b a c k g r o u n d r e m o v e d < / f i g c a p t i o n > < / d i v > < / d i v > [ S t a b l e D i f f u s i o n X L ( S D X L ) ] ( . . / u s i n g - d i f f u s e r s / s d x l ) m o d e l s w o r k b e s t w i t h 1 0 2 4 x 1 0 2 4 i m a g e s , b u t y o u c a n r e s i z e t h e i m a g e t o a n y s i z e a s l o n g a s y o u r h a r d w a r e h a s e n o u g h m e m o r y t o s u p p o r t i t . T h e t r a n s p a r e n t b a c k g r o u n d i n t h e i m a g e s h o u l d a l s o b e r e p l a c e d w i t h a w h i t e b a c k g r o u n d . C r e a t e a f u n c t i o n ( l i k e t h e o n e b e l o w ) t h a t s c a l e s a n d p a s t e s t h e i m a g e o n t o a w h i t e b a c k g r o u n d . ` ` ` p y i m p o r t r a n d o m i m p o r t r e q u e s t s i m p o r t t o r c h f r o m c o n t r o l n e t _ a u x i m p o r t Z o e D e t e c t o r f r o m P I L i m p o r t I m a g e , I m a g e O p s f r o m d i f f u s e r s i m p o r t ( A u t o e n c o d e r K L , C o n t r o l N e t M o d e l , S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e , S t a b l e D i f f u s i o n X L I n p a i n t P i p e l i n e , ) d e f s c a l e _ a n d _ p a s t e ( o r i g i n a l _ i m a g e ) : a s p e c t _ r a t i o = o r i g i n a l _ i m a g e . w i d t h / o r i g i n a l _ i m a g e . h e i g h t i f o r i g i n a l _ i m a g e . w i d t h > o r i g i n a l _ i m a g e . h e i g h t : n e w _ w i d t h = 1 0 2 4 n e w _ h e i g h t = r o u n d ( n e w _ w i d t h / a s p e c t _ r a t i o ) e l s e : n e w _ h e i g h t = 1 0 2 4 n e w _ w i d t h = r o u n d ( n e w _ h e i g h t * a s p e c t _ r a t i o ) r e s i z e d _ o r i g i n a l = o r i g i n a l _ i m a g e . r e s i z e ( ( n e w _ w i d t h , n e w _ h e i g h t ) , I m a g e . L A N C Z O S ) w h i t e _ b a c k g r o u n d = I m a g e . n e w ( " R G B A " , ( 1 0 2 4 , 1 0 2 4 ) , " w h i t e " ) x = ( 1 0 2 4 - n e w _ w i d t h ) / / 2 y = ( 1 0 2 4 - n e w _ h e i g h t ) / / 2 w h i t e _ b a c k g r o u n d . p a s t e ( r e s i z e d _ o r i g i n a l , ( x , y ) , r e s i z e d _ o r i g i n a l ) r e t u r n r e s i z e d _ o r i g i n a l , w h i t e _ b a c k g r o u n d o r i g i n a l _ i m a g e = I m a g e . o p e n ( r e q u e s t s . g e t ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / s t e v h l i u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / n o - b a c k g r o u n d - j o r d a n . p n g " , s t r e a m = T r u e , ) . r a w ) . c o n v e r t ( " R G B A " ) r e s i z e d _ i m g , w h i t e _ b g _ i m a g e = s c a l e _ a n d _ p a s t e ( o r i g i n a l _ i m a g e ) ` ` ` T o a v o i d a d d i n g u n w a n t e d e x t r a d e t a i l s , u s e t h e Z o e D e p t h e s t i m a t o r t o p r o v i d e a d d i t i o n a l g u i d a n c e d u r i n g g e n e r a t i o n a n d t o e n s u r e t h e s h o e s r e m a i n c o n s i s t e n t w i t h t h e o r i g i n a l i m a g e . ` ` ` p y z o e = Z o e D e t e c t o r . f r o m _ p r e t r a i n e d ( " l l l y a s v i e l / A n n o t a t o r s " ) i m a g e _ z o e = z o e ( w h i t e _ b g _ i m a g e , d e t e c t _ r e s o l u t i o n = 5 1 2 , i m a g e _ r e s o l u t i o n = 1 0 2 4 ) i m a g e _ z o e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / s t e v h l i u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / z o e d e p t h - j o r d a n . p n g " / > < / d i v > # # O u t p a i n t O n c e y o u r i m a g e i s r e a d y , y o u c a n g e n e r a t e c o n t e n t i n t h e w h i t e a r e a a r o u n d t h e s h o e s w i t h [ c o n t r o l n e t - i n p a i n t - d r e a m e r - s d x l ] ( h t t p s : / / h f . c o / d e s t i t e c h / c o n t r o l n e t - i n p a i n t - d r e a m e r - s d x l ) , a S D X L C o n t r o l N e t t r a i n e d f o r i n p a i n t i n g . L o a d t h e i n p a i n t i n g C o n t r o l N e t , Z o e D e p t h m o d e l , V A E a n d p a s s t h e m t o t h e ` S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e ` . T h e n y o u c a n c r e a t e a n o p t i o n a l ` g e n e r a t e _ i m a g e ` f u n c t i o n ( f o r c o n v e n i e n c e ) t o o u t p a i n t a n i n i t i a l i m a g e . ` ` ` p y c o n t r o l n e t s = [ C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " d e s t i t e c h / c o n t r o l n e t - i n p a i n t - d r e a m e r - s d x l " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) , C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " d i f f u s e r s / c o n t r o l n e t - z o e - d e p t h - s d x l - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) , ] v a e = A u t o e n c o d e r K L . f r o m _ p r e t r a i n e d ( " m a d e b y o l l i n / s d x l - v a e - f p 1 6 - f i x " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e = S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( " S G 1 6 1 2 2 2 / R e a l V i s X L _ V 4 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , c o n t r o l n e t = c o n t r o l n e t s , v a e = v a e ) . t o ( " c u d a " ) d e f g e n e r a t e _ i m a g e ( p r o m p t , n e g a t i v e _ p r o m p t , i n p a i n t _ i m a g e , z o e _ i m a g e , s e e d : i n t = N o n e ) : i f s e e d i s N o n e : s e e d = r a n d o m . r a n d i n t ( 0 , 2 * * 3 2 - 1 ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( s e e d ) i m a g e = p i p e l i n e ( p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , i m a g e = [ i n p a i n t _ i m a g e , z o e _ i m a g e ] , g u i d a n c e _ s c a l e = 6 . 5 , n u m _ i n f e r e n c e _ s t e p s = 2 5 , g e n e r a t o r = g e n e r a t o r , c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e = [ 0 . 5 , 0 . 8 ] , c o n t r o l _ g u i d a n c e _ e n d = [ 0 . 9 , 0 . 6 ] , ) . i m a g e s [ 0 ] r e t u r n i m a g e p r o m p t = " n i k e a i r j o r d a n s o n a b a s k e t b a l l c o u r t " n e g a t i v e _ p r o m p t = " " t e m p _ i m a g e = g e n e r a t e _ i m a g e ( p r o m p t , n e g a t i v e _ p r o m p t , w h i t e _ b g _ i m a g e , i m a g e _ z o e , 9 0 8 0 9 7 ) ` ` ` P a s t e t h e o r i g i n a l i m a g e o v e r t h e i n i t i a l o u t p a i n t e d i m a g e . Y o u ' l l i m p r o v e t h e o u t p a i n t e d b a c k g r o u n d i n a l a t e r s t e p . ` ` ` p y x = ( 1 0 2 4 - r e s i z e d _ i m g . w i d t h ) / / 2 y = ( 1 0 2 4 - r e s i z e d _ i m g . h e i g h t ) / / 2 t e m p _ i m a g e . p a s t e ( r e s i z e d _ i m g , ( x , y ) , r e s i z e d _ i m g ) t e m p _ i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / s t e v h l i u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / i n i t i a l - o u t p a i n t . p n g " / > < / d i v > > [ ! T I P ] > N o w i s a g o o d t i m e t o f r e e u p s o m e m e m o r y i f y o u ' r e r u n n i n g l o w ! > > ` ` ` p y > p i p e l i n e = N o n e > t o r c h . c u d a . e m p t y _ c a c h e ( ) > ` ` ` N o w t h a t y o u h a v e a n i n i t i a l o u t p a i n t e d i m a g e , l o a d t h e ` S t a b l e D i f f u s i o n X L I n p a i n t P i p e l i n e ` w i t h t h e [ R e a l V i s X L ] ( h t t p s : / / h f . c o / S G 1 6 1 2 2 2 / R e a l V i s X L _ V 4 . 0 ) m o d e l t o g e n e r a t e t h e f i n a l o u t p a i n t e d i m a g e w i t h b e t t e r q u a l i t y . ` ` ` p y p i p e l i n e = S t a b l e D i f f u s i o n X L I n p a i n t P i p e l i n e . f r o m _ p r e t r a i n e d ( " O z z y G T / R e a l V i s X L _ V 4 . 0 _ i n p a i n t i n g " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , v a e = v a e , ) . t o ( " c u d a " ) ` ` ` P r e p a r e a m a s k f o r t h e f i n a l o u t p a i n t e d i m a g e . T o c r e a t e a m o r e n a t u r a l t r a n s i t i o n b e t w e e n t h e o r i g i n a l i m a g e a n d t h e o u t p a i n t e d b a c k g r o u n d , b l u r t h e m a s k t o h e l p i t b l e n d b e t t e r . ` ` ` p y m a s k = I m a g e . n e w ( " L " , t e m p _ i m a g e . s i z e ) m a s k . p a s t e ( r e s i z e d _ i m g . s p l i t ( ) [ 3 ] , ( x , y ) ) m a s k = I m a g e O p s . i n v e r t ( m a s k ) f i n a l _ m a s k = m a s k . p o i n t ( l a m b d a p : p > 1 2 8 a n d 2 5 5 ) m a s k _ b l u r r e d = p i p e l i n e . m a s k _ p r o c e s s o r . b l u r ( f i n a l _ m a s k , b l u r _ f a c t o r = 2 0 ) m a s k _ b l u r r e d ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / s t e v h l i u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / b l u r r e d - m a s k . p n g " / > < / d i v > C r e a t e a b e t t e r p r o m p t a n d p a s s i t t o t h e ` g e n e r a t e _ o u t p a i n t ` f u n c t i o n t o g e n e r a t e t h e f i n a l o u t p a i n t e d i m a g e . A g a i n , p a s t e t h e o r i g i n a l i m a g e o v e r t h e f i n a l o u t p a i n t e d b a c k g r o u n d . ` ` ` p y d e f g e n e r a t e _ o u t p a i n t ( p r o m p t , n e g a t i v e _ p r o m p t , i m a g e , m a s k , s e e d : i n t = N o n e ) : i f s e e d i s N o n e : s e e d = r a n d o m . r a n d i n t ( 0 , 2 * * 3 2 - 1 ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( s e e d ) i m a g e = p i p e l i n e ( p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , i m a g e = i m a g e , m a s k _ i m a g e = m a s k , g u i d a n c e _ s c a l e = 1 0 . 0 , s t r e n g t h = 0 . 8 , n u m _ i n f e r e n c e _ s t e p s = 3 0 , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s [ 0 ] r e t u r n i m a g e p r o m p t = " h i g h q u a l i t y p h o t o o f n i k e a i r j o r d a n s o n a b a s k e t b a l l c o u r t , h i g h l y d e t a i l e d " n e g a t i v e _ p r o m p t = " " f i n a l _ i m a g e = g e n e r a t e _ o u t p a i n t ( p r o m p t , n e g a t i v e _ p r o m p t , t e m p _ i m a g e , m a s k _ b l u r r e d , 7 6 8 8 7 7 8 ) x = ( 1 0 2 4 - r e s i z e d _ i m g . w i d t h ) / / 2 y = ( 1 0 2 4 - r e s i z e d _ i m g . h e i g h t ) / / 2 f i n a l _ i m a g e . p a s t e ( r e s i z e d _ i m g , ( x , y ) , r e s i z e d _ i m g ) f i n a l _ i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / s t e v h l i u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / f i n a l - o u t p a i n t . p n g " / > < / d i v > # L o g g i n g ๐Ÿค— D i f f u s e r s h a s a c e n t r a l i z e d l o g g i n g s y s t e m t o e a s i l y m a n a g e t h e v e r b o s i t y o f t h e l i b r a r y . T h e d e f a u l t v e r b o s i t y i s s e t t o ` W A R N I N G ` . T o c h a n g e t h e v e r b o s i t y l e v e l , u s e o n e o f t h e d i r e c t s e t t e r s . F o r i n s t a n c e , t o c h a n g e t h e v e r b o s i t y t o t h e ` I N F O ` l e v e l . ` ` ` p y t h o n i m p o r t d i f f u s e r s d i f f u s e r s . l o g g i n g . s e t _ v e r b o s i t y _ i n f o ( ) ` ` ` Y o u c a n a l s o u s e t h e e n v i r o n m e n t v a r i a b l e ` D I F F U S E R S _ V E R B O S I T Y ` t o o v e r r i d e t h e d e f a u l t v e r b o s i t y . Y o u c a n s e t i t t o o n e o f t h e f o l l o w i n g : ` d e b u g ` , ` i n f o ` , ` w a r n i n g ` , ` e r r o r ` , ` c r i t i c a l ` . F o r e x a m p l e : ` ` ` b a s h D I F F U S E R S _ V E R B O S I T Y = e r r o r . / m y p r o g r a m . p y ` ` ` A d d i t i o n a l l y , s o m e ` w a r n i n g s ` c a n b e d i s a b l e d b y s e t t i n g t h e e n v i r o n m e n t v a r i a b l e ` D I F F U S E R S _ N O _ A D V I S O R Y _ W A R N I N G S ` t o a t r u e v a l u e , l i k e ` 1 ` . T h i s d i s a b l e s a n y w a r n i n g l o g g e d b y ` l o g g e r . w a r n i n g _ a d v i c e ` . F o r e x a m p l e : ` ` ` b a s h D I F F U S E R S _ N O _ A D V I S O R Y _ W A R N I N G S = 1 . / m y p r o g r a m . p y ` ` ` H e r e i s a n e x a m p l e o f h o w t o u s e t h e s a m e l o g g e r a s t h e l i b r a r y i n y o u r o w n m o d u l e o r s c r i p t : ` ` ` p y t h o n f r o m d i f f u s e r s . u t i l s i m p o r t l o g g i n g l o g g i n g . s e t _ v e r b o s i t y _ i n f o ( ) l o g g e r = l o g g i n g . g e t _ l o g g e r ( " d i f f u s e r s " ) l o g g e r . i n f o ( " I N F O " ) l o g g e r . w a r n i n g ( " W A R N " ) ` ` ` A l l m e t h o d s o f t h e l o g g i n g m o d u l e a r e d o c u m e n t e d b e l o w . T h e m a i n m e t h o d s a r e ` l o g g i n g . g e t _ v e r b o s i t y ` t o g e t t h e c u r r e n t l e v e l o f v e r b o s i t y i n t h e l o g g e r a n d ` l o g g i n g . s e t _ v e r b o s i t y ` t o s e t t h e v e r b o s i t y t o t h e l e v e l o f y o u r c h o i c e . I n o r d e r f r o m t h e l e a s t v e r b o s e t o t h e m o s t v e r b o s e : | M e t h o d | I n t e g e r v a l u e | D e s c r i p t i o n | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - : | - - - - - - - - - - - - - - : | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - : | | ` d i f f u s e r s . l o g g i n g . C R I T I C A L ` o r ` d i f f u s e r s . l o g g i n g . F A T A L ` | 5 0 | o n l y r e p o r t t h e m o s t c r i t i c a l e r r o r s | | ` d i f f u s e r s . l o g g i n g . E R R O R ` | 4 0 | o n l y r e p o r t e r r o r s | | ` d i f f u s e r s . l o g g i n g . W A R N I N G ` o r ` d i f f u s e r s . l o g g i n g . W A R N ` | 3 0 | o n l y r e p o r t e r r o r s a n d w a r n i n g s ( d e f a u l t ) | | ` d i f f u s e r s . l o g g i n g . I N F O ` | 2 0 | o n l y r e p o r t e r r o r s , w a r n i n g s , a n d b a s i c i n f o r m a t i o n | | ` d i f f u s e r s . l o g g i n g . D E B U G ` | 1 0 | r e p o r t a l l i n f o r m a t i o n | B y d e f a u l t , ` t q d m ` p r o g r e s s b a r s a r e d i s p l a y e d d u r i n g m o d e l d o w n l o a d . ` l o g g i n g . d i s a b l e _ p r o g r e s s _ b a r ` a n d ` l o g g i n g . e n a b l e _ p r o g r e s s _ b a r ` a r e u s e d t o e n a b l e o r d i s a b l e t h i s b e h a v i o r . # # B a s e s e t t e r s # # O t h e r f u n c t i o n s [ [ a u t o d o c ] ] u t i l s . l o g g i n g . s e t _ v e r b o s i t y _ e r r o r [ [ a u t o d o c ] ] u t i l s . l o g g i n g . s e t _ v e r b o s i t y _ w a r n i n g [ [ a u t o d o c ] ] u t i l s . l o g g i n g . s e t _ v e r b o s i t y _ i n f o [ [ a u t o d o c ] ] u t i l s . l o g g i n g . s e t _ v e r b o s i t y _ d e b u g [ [ a u t o d o c ] ] u t i l s . l o g g i n g . g e t _ v e r b o s i t y [ [ a u t o d o c ] ] u t i l s . l o g g i n g . s e t _ v e r b o s i t y [ [ a u t o d o c ] ] u t i l s . l o g g i n g . g e t _ l o g g e r [ [ a u t o d o c ] ] u t i l s . l o g g i n g . e n a b l e _ d e f a u l t _ h a n d l e r [ [ a u t o d o c ] ] u t i l s . l o g g i n g . d i s a b l e _ d e f a u l t _ h a n d l e r [ [ a u t o d o c ] ] u t i l s . l o g g i n g . e n a b l e _ e x p l i c i t _ f o r m a t [ [ a u t o d o c ] ] u t i l s . l o g g i n g . r e s e t _ f o r m a t [ [ a u t o d o c ] ] u t i l s . l o g g i n g . e n a b l e _ p r o g r e s s _ b a r [ [ a u t o d o c ] ] u t i l s . l o g g i n g . d i s a b l e _ p r o g r e s s _ b a r # V A E I m a g e P r o c e s s o r T h e ` V a e I m a g e P r o c e s s o r ` p r o v i d e s a u n i f i e d A P I f o r ` S t a b l e D i f f u s i o n P i p e l i n e ` s t o p r e p a r e i m a g e i n p u t s f o r V A E e n c o d i n g a n d p o s t - p r o c e s s i n g o u t p u t s o n c e t h e y ' r e d e c o d e d . T h i s i n c l u d e s t r a n s f o r m a t i o n s s u c h a s r e s i z i n g , n o r m a l i z a t i o n , a n d c o n v e r s i o n b e t w e e n P I L I m a g e , P y T o r c h , a n d N u m P y a r r a y s . A l l p i p e l i n e s w i t h ` V a e I m a g e P r o c e s s o r ` a c c e p t P I L I m a g e , P y T o r c h t e n s o r , o r N u m P y a r r a y s a s i m a g e i n p u t s a n d r e t u r n o u t p u t s b a s e d o n t h e ` o u t p u t _ t y p e ` a r g u m e n t b y t h e u s e r . Y o u c a n p a s s e n c o d e d i m a g e l a t e n t s d i r e c t l y t o t h e p i p e l i n e a n d r e t u r n l a t e n t s f r o m t h e p i p e l i n e a s a s p e c i f i c o u t p u t w i t h t h e ` o u t p u t _ t y p e ` a r g u m e n t ( f o r e x a m p l e ` o u t p u t _ t y p e = " l a t e n t " ` ) . T h i s a l l o w s y o u t o t a k e t h e g e n e r a t e d l a t e n t s f r o m o n e p i p e l i n e a n d p a s s i t t o a n o t h e r p i p e l i n e a s i n p u t w i t h o u t l e a v i n g t h e l a t e n t s p a c e . I t a l s o m a k e s i t m u c h e a s i e r t o u s e m u l t i p l e p i p e l i n e s t o g e t h e r b y p a s s i n g P y T o r c h t e n s o r s d i r e c t l y b e t w e e n d i f f e r e n t p i p e l i n e s . # # V a e I m a g e P r o c e s s o r # # V a e I m a g e P r o c e s s o r L D M 3 D T h e ` V a e I m a g e P r o c e s s o r L D M 3 D ` a c c e p t s R G B a n d d e p t h i n p u t s a n d r e t u r n s R G B a n d d e p t h o u t p u t s . # # P i x A r t I m a g e P r o c e s s o r # # I P A d a p t e r M a s k P r o c e s s o r [ [ a u t o d o c ] ] i m a g e _ p r o c e s s o r . V a e I m a g e P r o c e s s o r [ [ a u t o d o c ] ] i m a g e _ p r o c e s s o r . V a e I m a g e P r o c e s s o r L D M 3 D [ [ a u t o d o c ] ] i m a g e _ p r o c e s s o r . P i x A r t I m a g e P r o c e s s o r [ [ a u t o d o c ] ] i m a g e _ p r o c e s s o r . I P A d a p t e r M a s k P r o c e s s o r # C o n f i g u r a t i o n S c h e d u l e r s f r o m ` S c h e d u l e r M i x i n ` a n d m o d e l s f r o m ` M o d e l M i x i n ` i n h e r i t f r o m ` C o n f i g M i x i n ` w h i c h s t o r e s a l l t h e p a r a m e t e r s t h a t a r e p a s s e d t o t h e i r r e s p e c t i v e ` _ _ i n i t _ _ ` m e t h o d s i n a J S O N - c o n f i g u r a t i o n f i l e . < T i p > T o u s e p r i v a t e o r [ g a t e d ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / h u b / m o d e l s - g a t e d # g a t e d - m o d e l s ) m o d e l s , l o g - i n w i t h ` h u g g i n g f a c e - c l i l o g i n ` . < / T i p > # # C o n f i g M i x i n [ [ a u t o d o c ] ] C o n f i g M i x i n - l o a d _ c o n f i g - f r o m _ c o n f i g - s a v e _ c o n f i g - t o _ j s o n _ f i l e - t o _ j s o n _ s t r i n g # V i d e o P r o c e s s o r T h e ` V i d e o P r o c e s s o r ` p r o v i d e s a u n i f i e d A P I f o r v i d e o p i p e l i n e s t o p r e p a r e i n p u t s f o r V A E e n c o d i n g a n d p o s t - p r o c e s s i n g o u t p u t s o n c e t h e y ' r e d e c o d e d . T h e c l a s s i n h e r i t s ` V a e I m a g e P r o c e s s o r ` s o i t i n c l u d e s t r a n s f o r m a t i o n s s u c h a s r e s i z i n g , n o r m a l i z a t i o n , a n d c o n v e r s i o n b e t w e e n P I L I m a g e , P y T o r c h , a n d N u m P y a r r a y s . # # V i d e o P r o c e s s o r [ [ a u t o d o c ] ] v i d e o _ p r o c e s s o r . V i d e o P r o c e s s o r . p r e p r o c e s s _ v i d e o [ [ a u t o d o c ] ] v i d e o _ p r o c e s s o r . V i d e o P r o c e s s o r . p o s t p r o c e s s _ v i d e o # N o r m a l i z a t i o n l a y e r s C u s t o m i z e d n o r m a l i z a t i o n l a y e r s f o r s u p p o r t i n g v a r i o u s m o d e l s i n ๐Ÿค— D i f f u s e r s . # # A d a L a y e r N o r m # # A d a L a y e r N o r m Z e r o # # A d a L a y e r N o r m S i n g l e # # A d a G r o u p N o r m [ [ a u t o d o c ] ] m o d e l s . n o r m a l i z a t i o n . A d a L a y e r N o r m [ [ a u t o d o c ] ] m o d e l s . n o r m a l i z a t i o n . A d a L a y e r N o r m Z e r o [ [ a u t o d o c ] ] m o d e l s . n o r m a l i z a t i o n . A d a L a y e r N o r m S i n g l e [ [ a u t o d o c ] ] m o d e l s . n o r m a l i z a t i o n . A d a G r o u p N o r m # O u t p u t s A l l m o d e l o u t p u t s a r e s u b c l a s s e s o f ` B a s e O u t p u t ` , d a t a s t r u c t u r e s c o n t a i n i n g a l l t h e i n f o r m a t i o n r e t u r n e d b y t h e m o d e l . T h e o u t p u t s c a n a l s o b e u s e d a s t u p l e s o r d i c t i o n a r i e s . F o r e x a m p l e : ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D D I M P i p e l i n e p i p e l i n e = D D I M P i p e l i n e . f r o m _ p r e t r a i n e d ( " g o o g l e / d d p m - c i f a r 1 0 - 3 2 " ) o u t p u t s = p i p e l i n e ( ) ` ` ` T h e ` o u t p u t s ` o b j e c t i s a ` I m a g e P i p e l i n e O u t p u t ` w h i c h m e a n s i t h a s a n i m a g e a t t r i b u t e . Y o u c a n a c c e s s e a c h a t t r i b u t e a s y o u n o r m a l l y w o u l d o r w i t h a k e y w o r d l o o k u p , a n d i f t h a t a t t r i b u t e i s n o t r e t u r n e d b y t h e m o d e l , y o u w i l l g e t ` N o n e ` : ` ` ` p y t h o n o u t p u t s . i m a g e s o u t p u t s [ " i m a g e s " ] ` ` ` W h e n c o n s i d e r i n g t h e ` o u t p u t s ` o b j e c t a s a t u p l e , i t o n l y c o n s i d e r s t h e a t t r i b u t e s t h a t d o n ' t h a v e ` N o n e ` v a l u e s . F o r i n s t a n c e , r e t r i e v i n g a n i m a g e b y i n d e x i n g i n t o i t r e t u r n s t h e t u p l e ` ( o u t p u t s . i m a g e s ) ` : ` ` ` p y t h o n o u t p u t s [ : 1 ] ` ` ` < T i p > T o c h e c k a s p e c i f i c p i p e l i n e o r m o d e l o u t p u t , r e f e r t o i t s c o r r e s p o n d i n g A P I d o c u m e n t a t i o n . < / T i p > # # B a s e O u t p u t # # I m a g e P i p e l i n e O u t p u t # # F l a x I m a g e P i p e l i n e O u t p u t # # A u d i o P i p e l i n e O u t p u t # # I m a g e T e x t P i p e l i n e O u t p u t [ [ a u t o d o c ] ] u t i l s . B a s e O u t p u t - t o _ t u p l e [ [ a u t o d o c ] ] p i p e l i n e s . I m a g e P i p e l i n e O u t p u t [ [ a u t o d o c ] ] p i p e l i n e s . p i p e l i n e _ f l a x _ u t i l s . F l a x I m a g e P i p e l i n e O u t p u t [ [ a u t o d o c ] ] p i p e l i n e s . A u d i o P i p e l i n e O u t p u t [ [ a u t o d o c ] ] I m a g e T e x t P i p e l i n e O u t p u t # O v e r v i e w T h e A P I s i n t h i s s e c t i o n a r e m o r e e x p e r i m e n t a l a n d p r o n e t o b r e a k i n g c h a n g e s . M o s t o f t h e m a r e u s e d i n t e r n a l l y f o r d e v e l o p m e n t , b u t t h e y m a y a l s o b e u s e f u l t o y o u i f y o u ' r e i n t e r e s t e d i n b u i l d i n g a d i f f u s i o n m o d e l w i t h s o m e c u s t o m p a r t s o r i f y o u ' r e i n t e r e s t e d i n s o m e o f o u r h e l p e r u t i l i t i e s f o r w o r k i n g w i t h ๐Ÿค— D i f f u s e r s . # Q u a n t i z a t i o n Q u a n t i z a t i o n t e c h n i q u e s r e d u c e m e m o r y a n d c o m p u t a t i o n a l c o s t s b y r e p r e s e n t i n g w e i g h t s a n d a c t i v a t i o n s w i t h l o w e r - p r e c i s i o n d a t a t y p e s l i k e 8 - b i t i n t e g e r s ( i n t 8 ) . T h i s e n a b l e s l o a d i n g l a r g e r m o d e l s y o u n o r m a l l y w o u l d n ' t b e a b l e t o f i t i n t o m e m o r y , a n d s p e e d i n g u p i n f e r e n c e . D i f f u s e r s s u p p o r t s 8 - b i t a n d 4 - b i t q u a n t i z a t i o n w i t h [ b i t s a n d b y t e s ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / b i t s a n d b y t e s / e n / i n d e x ) . Q u a n t i z a t i o n t e c h n i q u e s t h a t a r e n ' t s u p p o r t e d i n T r a n s f o r m e r s c a n b e a d d e d w i t h t h e ` D i f f u s e r s Q u a n t i z e r ` c l a s s . < T i p > L e a r n h o w t o q u a n t i z e m o d e l s i n t h e [ Q u a n t i z a t i o n ] ( . . / q u a n t i z a t i o n / o v e r v i e w ) g u i d e . < / T i p > # # B i t s A n d B y t e s C o n f i g # # D i f f u s e r s Q u a n t i z e r [ [ a u t o d o c ] ] B i t s A n d B y t e s C o n f i g [ [ a u t o d o c ] ] q u a n t i z e r s . b a s e . D i f f u s e r s Q u a n t i z e r # U t i l i t i e s U t i l i t y a n d h e l p e r f u n c t i o n s f o r w o r k i n g w i t h ๐Ÿค— D i f f u s e r s . # # n u m p y _ t o _ p i l # # p t _ t o _ p i l # # l o a d _ i m a g e # # e x p o r t _ t o _ g i f # # e x p o r t _ t o _ v i d e o # # m a k e _ i m a g e _ g r i d # # r a n d n _ t e n s o r [ [ a u t o d o c ] ] u t i l s . n u m p y _ t o _ p i l [ [ a u t o d o c ] ] u t i l s . p t _ t o _ p i l [ [ a u t o d o c ] ] u t i l s . l o a d _ i m a g e [ [ a u t o d o c ] ] u t i l s . e x p o r t _ t o _ g i f [ [ a u t o d o c ] ] u t i l s . e x p o r t _ t o _ v i d e o [ [ a u t o d o c ] ] u t i l s . m a k e _ i m a g e _ g r i d [ [ a u t o d o c ] ] u t i l s . t o r c h _ u t i l s . r a n d n _ t e n s o r # A c t i v a t i o n f u n c t i o n s C u s t o m i z e d a c t i v a t i o n f u n c t i o n s f o r s u p p o r t i n g v a r i o u s m o d e l s i n ๐Ÿค— D i f f u s e r s . # # G E L U # # G E G L U # # A p p r o x i m a t e G E L U [ [ a u t o d o c ] ] m o d e l s . a c t i v a t i o n s . G E L U [ [ a u t o d o c ] ] m o d e l s . a c t i v a t i o n s . G E G L U [ [ a u t o d o c ] ] m o d e l s . a c t i v a t i o n s . A p p r o x i m a t e G E L U # A t t e n t i o n P r o c e s s o r A n a t t e n t i o n p r o c e s s o r i s a c l a s s f o r a p p l y i n g d i f f e r e n t t y p e s o f a t t e n t i o n m e c h a n i s m s . # # A t t n P r o c e s s o r # # A t t n P r o c e s s o r 2 _ 0 # # A t t n A d d e d K V P r o c e s s o r # # A t t n A d d e d K V P r o c e s s o r 2 _ 0 # # C r o s s F r a m e A t t n P r o c e s s o r # # C u s t o m D i f f u s i o n A t t n P r o c e s s o r # # C u s t o m D i f f u s i o n A t t n P r o c e s s o r 2 _ 0 # # C u s t o m D i f f u s i o n X F o r m e r s A t t n P r o c e s s o r # # F u s e d A t t n P r o c e s s o r 2 _ 0 # # S l i c e d A t t n P r o c e s s o r # # S l i c e d A t t n A d d e d K V P r o c e s s o r # # X F o r m e r s A t t n P r o c e s s o r # # A t t n P r o c e s s o r N P U [ [ a u t o d o c ] ] m o d e l s . a t t e n t i o n _ p r o c e s s o r . A t t n P r o c e s s o r [ [ a u t o d o c ] ] m o d e l s . a t t e n t i o n _ p r o c e s s o r . A t t n P r o c e s s o r 2 _ 0 [ [ a u t o d o c ] ] m o d e l s . a t t e n t i o n _ p r o c e s s o r . A t t n A d d e d K V P r o c e s s o r [ [ a u t o d o c ] ] m o d e l s . a t t e n t i o n _ p r o c e s s o r . A t t n A d d e d K V P r o c e s s o r 2 _ 0 [ [ a u t o d o c ] ] p i p e l i n e s . t e x t _ t o _ v i d e o _ s y n t h e s i s . p i p e l i n e _ t e x t _ t o _ v i d e o _ z e r o . C r o s s F r a m e A t t n P r o c e s s o r [ [ a u t o d o c ] ] m o d e l s . a t t e n t i o n _ p r o c e s s o r . C u s t o m D i f f u s i o n A t t n P r o c e s s o r [ [ a u t o d o c ] ] m o d e l s . a t t e n t i o n _ p r o c e s s o r . C u s t o m D i f f u s i o n A t t n P r o c e s s o r 2 _ 0 [ [ a u t o d o c ] ] m o d e l s . a t t e n t i o n _ p r o c e s s o r . C u s t o m D i f f u s i o n X F o r m e r s A t t n P r o c e s s o r [ [ a u t o d o c ] ] m o d e l s . a t t e n t i o n _ p r o c e s s o r . F u s e d A t t n P r o c e s s o r 2 _ 0 [ [ a u t o d o c ] ] m o d e l s . a t t e n t i o n _ p r o c e s s o r . S l i c e d A t t n P r o c e s s o r [ [ a u t o d o c ] ] m o d e l s . a t t e n t i o n _ p r o c e s s o r . S l i c e d A t t n A d d e d K V P r o c e s s o r [ [ a u t o d o c ] ] m o d e l s . a t t e n t i o n _ p r o c e s s o r . X F o r m e r s A t t n P r o c e s s o r [ [ a u t o d o c ] ] m o d e l s . a t t e n t i o n _ p r o c e s s o r . A t t n P r o c e s s o r N P U # P r i o r T r a n s f o r m e r T h e P r i o r T r a n s f o r m e r w a s o r i g i n a l l y i n t r o d u c e d i n [ H i e r a r c h i c a l T e x t - C o n d i t i o n a l I m a g e G e n e r a t i o n w i t h C L I P L a t e n t s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 4 . 0 6 1 2 5 ) b y R a m e s h e t a l . I t i s u s e d t o p r e d i c t C L I P i m a g e e m b e d d i n g s f r o m C L I P t e x t e m b e d d i n g s ; i m a g e e m b e d d i n g s a r e p r e d i c t e d t h r o u g h a d e n o i s i n g d i f f u s i o n p r o c e s s . T h e a b s t r a c t f r o m t h e p a p e r i s : * C o n t r a s t i v e m o d e l s l i k e C L I P h a v e b e e n s h o w n t o l e a r n r o b u s t r e p r e s e n t a t i o n s o f i m a g e s t h a t c a p t u r e b o t h s e m a n t i c s a n d s t y l e . T o l e v e r a g e t h e s e r e p r e s e n t a t i o n s f o r i m a g e g e n e r a t i o n , w e p r o p o s e a t w o - s t a g e m o d e l : a p r i o r t h a t g e n e r a t e s a C L I P i m a g e e m b e d d i n g g i v e n a t e x t c a p t i o n , a n d a d e c o d e r t h a t g e n e r a t e s a n i m a g e c o n d i t i o n e d o n t h e i m a g e e m b e d d i n g . W e s h o w t h a t e x p l i c i t l y g e n e r a t i n g i m a g e r e p r e s e n t a t i o n s i m p r o v e s i m a g e d i v e r s i t y w i t h m i n i m a l l o s s i n p h o t o r e a l i s m a n d c a p t i o n s i m i l a r i t y . O u r d e c o d e r s c o n d i t i o n e d o n i m a g e r e p r e s e n t a t i o n s c a n a l s o p r o d u c e v a r i a t i o n s o f a n i m a g e t h a t p r e s e r v e b o t h i t s s e m a n t i c s a n d s t y l e , w h i l e v a r y i n g t h e n o n - e s s e n t i a l d e t a i l s a b s e n t f r o m t h e i m a g e r e p r e s e n t a t i o n . M o r e o v e r , t h e j o i n t e m b e d d i n g s p a c e o f C L I P e n a b l e s l a n g u a g e - g u i d e d i m a g e m a n i p u l a t i o n s i n a z e r o - s h o t f a s h i o n . W e u s e d i f f u s i o n m o d e l s f o r t h e d e c o d e r a n d e x p e r i m e n t w i t h b o t h a u t o r e g r e s s i v e a n d d i f f u s i o n m o d e l s f o r t h e p r i o r , f i n d i n g t h a t t h e l a t t e r a r e c o m p u t a t i o n a l l y m o r e e f f i c i e n t a n d p r o d u c e h i g h e r - q u a l i t y s a m p l e s . * # # P r i o r T r a n s f o r m e r # # P r i o r T r a n s f o r m e r O u t p u t [ [ a u t o d o c ] ] P r i o r T r a n s f o r m e r [ [ a u t o d o c ] ] m o d e l s . t r a n s f o r m e r s . p r i o r _ t r a n s f o r m e r . P r i o r T r a n s f o r m e r O u t p u t # A u t o e n c o d e r K L M o c h i T h e 3 D v a r i a t i o n a l a u t o e n c o d e r ( V A E ) m o d e l w i t h K L l o s s u s e d i n [ M o c h i ] ( h t t p s : / / g i t h u b . c o m / g e n m o a i / m o d e l s ) w a s i n t r o d u c e d i n [ M o c h i 1 P r e v i e w ] ( h t t p s : / / h u g g i n g f a c e . c o / g e n m o / m o c h i - 1 - p r e v i e w ) b y T s i n g h u a U n i v e r s i t y & Z h i p u A I . T h e m o d e l c a n b e l o a d e d w i t h t h e f o l l o w i n g c o d e s n i p p e t . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t A u t o e n c o d e r K L M o c h i v a e = A u t o e n c o d e r K L M o c h i . f r o m _ p r e t r a i n e d ( " g e n m o / m o c h i - 1 - p r e v i e w " , s u b f o l d e r = " v a e " , t o r c h _ d t y p e = t o r c h . f l o a t 3 2 ) . t o ( " c u d a " ) ` ` ` # # A u t o e n c o d e r K L M o c h i # # D e c o d e r O u t p u t [ [ a u t o d o c ] ] A u t o e n c o d e r K L M o c h i - d e c o d e - a l l [ [ a u t o d o c ] ] m o d e l s . a u t o e n c o d e r s . v a e . D e c o d e r O u t p u t # U N e t 2 D C o n d i t i o n M o d e l T h e [ U N e t ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 1 5 0 5 . 0 4 5 9 7 ) m o d e l w a s o r i g i n a l l y i n t r o d u c e d b y R o n n e b e r g e r e t a l . f o r b i o m e d i c a l i m a g e s e g m e n t a t i o n , b u t i t i s a l s o c o m m o n l y u s e d i n ๐Ÿค— D i f f u s e r s b e c a u s e i t o u t p u t s i m a g e s t h a t a r e t h e s a m e s i z e a s t h e i n p u t . I t i s o n e o f t h e m o s t i m p o r t a n t c o m p o n e n t s o f a d i f f u s i o n s y s t e m b e c a u s e i t f a c i l i t a t e s t h e a c t u a l d i f f u s i o n p r o c e s s . T h e r e a r e s e v e r a l v a r i a n t s o f t h e U N e t m o d e l i n ๐Ÿค— D i f f u s e r s , d e p e n d i n g o n i t ' s n u m b e r o f d i m e n s i o n s a n d w h e t h e r i t i s a c o n d i t i o n a l m o d e l o r n o t . T h i s i s a 2 D U N e t c o n d i t i o n a l m o d e l . T h e a b s t r a c t f r o m t h e p a p e r i s : * T h e r e i s l a r g e c o n s e n t t h a t s u c c e s s f u l t r a i n i n g o f d e e p n e t w o r k s r e q u i r e s m a n y t h o u s a n d a n n o t a t e d t r a i n i n g s a m p l e s . I n t h i s p a p e r , w e p r e s e n t a n e t w o r k a n d t r a i n i n g s t r a t e g y t h a t r e l i e s o n t h e s t r o n g u s e o f d a t a a u g m e n t a t i o n t o u s e t h e a v a i l a b l e a n n o t a t e d s a m p l e s m o r e e f f i c i e n t l y . T h e a r c h i t e c t u r e c o n s i s t s o f a c o n t r a c t i n g p a t h t o c a p t u r e c o n t e x t a n d a s y m m e t r i c e x p a n d i n g p a t h t h a t e n a b l e s p r e c i s e l o c a l i z a t i o n . W e s h o w t h a t s u c h a n e t w o r k c a n b e t r a i n e d e n d - t o - e n d f r o m v e r y f e w i m a g e s a n d o u t p e r f o r m s t h e p r i o r b e s t m e t h o d ( a s l i d i n g - w i n d o w c o n v o l u t i o n a l n e t w o r k ) o n t h e I S B I c h a l l e n g e f o r s e g m e n t a t i o n o f n e u r o n a l s t r u c t u r e s i n e l e c t r o n m i c r o s c o p i c s t a c k s . U s i n g t h e s a m e n e t w o r k t r a i n e d o n t r a n s m i t t e d l i g h t m i c r o s c o p y i m a g e s ( p h a s e c o n t r a s t a n d D I C ) w e w o n t h e I S B I c e l l t r a c k i n g c h a l l e n g e 2 0 1 5 i n t h e s e c a t e g o r i e s b y a l a r g e m a r g i n . M o r e o v e r , t h e n e t w o r k i s f a s t . S e g m e n t a t i o n o f a 5 1 2 x 5 1 2 i m a g e t a k e s l e s s t h a n a s e c o n d o n a r e c e n t G P U . T h e f u l l i m p l e m e n t a t i o n ( b a s e d o n C a f f e ) a n d t h e t r a i n e d n e t w o r k s a r e a v a i l a b l e a t h t t p : / / l m b . i n f o r m a t i k . u n i - f r e i b u r g . d e / p e o p l e / r o n n e b e r / u - n e t . * # # U N e t 2 D C o n d i t i o n M o d e l # # U N e t 2 D C o n d i t i o n O u t p u t # # F l a x U N e t 2 D C o n d i t i o n M o d e l # # F l a x U N e t 2 D C o n d i t i o n O u t p u t [ [ a u t o d o c ] ] U N e t 2 D C o n d i t i o n M o d e l [ [ a u t o d o c ] ] m o d e l s . u n e t s . u n e t _ 2 d _ c o n d i t i o n . U N e t 2 D C o n d i t i o n O u t p u t [ [ a u t o d o c ] ] m o d e l s . u n e t s . u n e t _ 2 d _ c o n d i t i o n _ f l a x . F l a x U N e t 2 D C o n d i t i o n M o d e l [ [ a u t o d o c ] ] m o d e l s . u n e t s . u n e t _ 2 d _ c o n d i t i o n _ f l a x . F l a x U N e t 2 D C o n d i t i o n O u t p u t # F l u x T r a n s f o r m e r 2 D M o d e l A T r a n s f o r m e r m o d e l f o r i m a g e - l i k e d a t a f r o m [ F l u x ] ( h t t p s : / / b l a c k f o r e s t l a b s . a i / a n n o u n c i n g - b l a c k - f o r e s t - l a b s / ) . # # F l u x T r a n s f o r m e r 2 D M o d e l [ [ a u t o d o c ] ] F l u x T r a n s f o r m e r 2 D M o d e l # C o g V i d e o X T r a n s f o r m e r 3 D M o d e l A D i f f u s i o n T r a n s f o r m e r m o d e l f o r 3 D d a t a f r o m [ C o g V i d e o X ] ( h t t p s : / / g i t h u b . c o m / T H U D M / C o g V i d e o ) w a s i n t r o d u c e d i n [ C o g V i d e o X : T e x t - t o - V i d e o D i f f u s i o n M o d e l s w i t h A n E x p e r t T r a n s f o r m e r ] ( h t t p s : / / g i t h u b . c o m / T H U D M / C o g V i d e o / b l o b / m a i n / r e s o u r c e s / C o g V i d e o X . p d f ) b y T s i n g h u a U n i v e r s i t y & Z h i p u A I . T h e m o d e l c a n b e l o a d e d w i t h t h e f o l l o w i n g c o d e s n i p p e t . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t C o g V i d e o X T r a n s f o r m e r 3 D M o d e l v a e = C o g V i d e o X T r a n s f o r m e r 3 D M o d e l . f r o m _ p r e t r a i n e d ( " T H U D M / C o g V i d e o X - 2 b " , s u b f o l d e r = " t r a n s f o r m e r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) ` ` ` # # C o g V i d e o X T r a n s f o r m e r 3 D M o d e l # # T r a n s f o r m e r 2 D M o d e l O u t p u t [ [ a u t o d o c ] ] C o g V i d e o X T r a n s f o r m e r 3 D M o d e l [ [ a u t o d o c ] ] m o d e l s . m o d e l i n g _ o u t p u t s . T r a n s f o r m e r 2 D M o d e l O u t p u t # U N e t 3 D C o n d i t i o n M o d e l T h e [ U N e t ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 1 5 0 5 . 0 4 5 9 7 ) m o d e l w a s o r i g i n a l l y i n t r o d u c e d b y R o n n e b e r g e r e t a l . f o r b i o m e d i c a l i m a g e s e g m e n t a t i o n , b u t i t i s a l s o c o m m o n l y u s e d i n ๐Ÿค— D i f f u s e r s b e c a u s e i t o u t p u t s i m a g e s t h a t a r e t h e s a m e s i z e a s t h e i n p u t . I t i s o n e o f t h e m o s t i m p o r t a n t c o m p o n e n t s o f a d i f f u s i o n s y s t e m b e c a u s e i t f a c i l i t a t e s t h e a c t u a l d i f f u s i o n p r o c e s s . T h e r e a r e s e v e r a l v a r i a n t s o f t h e U N e t m o d e l i n ๐Ÿค— D i f f u s e r s , d e p e n d i n g o n i t ' s n u m b e r o f d i m e n s i o n s a n d w h e t h e r i t i s a c o n d i t i o n a l m o d e l o r n o t . T h i s i s a 3 D U N e t c o n d i t i o n a l m o d e l . T h e a b s t r a c t f r o m t h e p a p e r i s : * T h e r e i s l a r g e c o n s e n t t h a t s u c c e s s f u l t r a i n i n g o f d e e p n e t w o r k s r e q u i r e s m a n y t h o u s a n d a n n o t a t e d t r a i n i n g s a m p l e s . I n t h i s p a p e r , w e p r e s e n t a n e t w o r k a n d t r a i n i n g s t r a t e g y t h a t r e l i e s o n t h e s t r o n g u s e o f d a t a a u g m e n t a t i o n t o u s e t h e a v a i l a b l e a n n o t a t e d s a m p l e s m o r e e f f i c i e n t l y . T h e a r c h i t e c t u r e c o n s i s t s o f a c o n t r a c t i n g p a t h t o c a p t u r e c o n t e x t a n d a s y m m e t r i c e x p a n d i n g p a t h t h a t e n a b l e s p r e c i s e l o c a l i z a t i o n . W e s h o w t h a t s u c h a n e t w o r k c a n b e t r a i n e d e n d - t o - e n d f r o m v e r y f e w i m a g e s a n d o u t p e r f o r m s t h e p r i o r b e s t m e t h o d ( a s l i d i n g - w i n d o w c o n v o l u t i o n a l n e t w o r k ) o n t h e I S B I c h a l l e n g e f o r s e g m e n t a t i o n o f n e u r o n a l s t r u c t u r e s i n e l e c t r o n m i c r o s c o p i c s t a c k s . U s i n g t h e s a m e n e t w o r k t r a i n e d o n t r a n s m i t t e d l i g h t m i c r o s c o p y i m a g e s ( p h a s e c o n t r a s t a n d D I C ) w e w o n t h e I S B I c e l l t r a c k i n g c h a l l e n g e 2 0 1 5 i n t h e s e c a t e g o r i e s b y a l a r g e m a r g i n . M o r e o v e r , t h e n e t w o r k i s f a s t . S e g m e n t a t i o n o f a 5 1 2 x 5 1 2 i m a g e t a k e s l e s s t h a n a s e c o n d o n a r e c e n t G P U . T h e f u l l i m p l e m e n t a t i o n ( b a s e d o n C a f f e ) a n d t h e t r a i n e d n e t w o r k s a r e a v a i l a b l e a t h t t p : / / l m b . i n f o r m a t i k . u n i - f r e i b u r g . d e / p e o p l e / r o n n e b e r / u - n e t . * # # U N e t 3 D C o n d i t i o n M o d e l # # U N e t 3 D C o n d i t i o n O u t p u t [ [ a u t o d o c ] ] U N e t 3 D C o n d i t i o n M o d e l [ [ a u t o d o c ] ] m o d e l s . u n e t s . u n e t _ 3 d _ c o n d i t i o n . U N e t 3 D C o n d i t i o n O u t p u t # C o n t r o l N e t M o d e l T h e C o n t r o l N e t m o d e l w a s i n t r o d u c e d i n [ A d d i n g C o n d i t i o n a l C o n t r o l t o T e x t - t o - I m a g e D i f f u s i o n M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 2 . 0 5 5 4 3 ) b y L v m i n Z h a n g , A n y i R a o , M a n e e s h A g r a w a l a . I t p r o v i d e s a g r e a t e r d e g r e e o f c o n t r o l o v e r t e x t - t o - i m a g e g e n e r a t i o n b y c o n d i t i o n i n g t h e m o d e l o n a d d i t i o n a l i n p u t s s u c h a s e d g e m a p s , d e p t h m a p s , s e g m e n t a t i o n m a p s , a n d k e y p o i n t s f o r p o s e d e t e c t i o n . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e p r e s e n t C o n t r o l N e t , a n e u r a l n e t w o r k a r c h i t e c t u r e t o a d d s p a t i a l c o n d i t i o n i n g c o n t r o l s t o l a r g e , p r e t r a i n e d t e x t - t o - i m a g e d i f f u s i o n m o d e l s . C o n t r o l N e t l o c k s t h e p r o d u c t i o n - r e a d y l a r g e d i f f u s i o n m o d e l s , a n d r e u s e s t h e i r d e e p a n d r o b u s t e n c o d i n g l a y e r s p r e t r a i n e d w i t h b i l l i o n s o f i m a g e s a s a s t r o n g b a c k b o n e t o l e a r n a d i v e r s e s e t o f c o n d i t i o n a l c o n t r o l s . T h e n e u r a l a r c h i t e c t u r e i s c o n n e c t e d w i t h " z e r o c o n v o l u t i o n s " ( z e r o - i n i t i a l i z e d c o n v o l u t i o n l a y e r s ) t h a t p r o g r e s s i v e l y g r o w t h e p a r a m e t e r s f r o m z e r o a n d e n s u r e t h a t n o h a r m f u l n o i s e c o u l d a f f e c t t h e f i n e t u n i n g . W e t e s t v a r i o u s c o n d i t i o n i n g c o n t r o l s , e g , e d g e s , d e p t h , s e g m e n t a t i o n , h u m a n p o s e , e t c , w i t h S t a b l e D i f f u s i o n , u s i n g s i n g l e o r m u l t i p l e c o n d i t i o n s , w i t h o r w i t h o u t p r o m p t s . W e s h o w t h a t t h e t r a i n i n g o f C o n t r o l N e t s i s r o b u s t w i t h s m a l l ( < 5 0 k ) a n d l a r g e ( > 1 m ) d a t a s e t s . E x t e n s i v e r e s u l t s s h o w t h a t C o n t r o l N e t m a y f a c i l i t a t e w i d e r a p p l i c a t i o n s t o c o n t r o l i m a g e d i f f u s i o n m o d e l s . * # # L o a d i n g f r o m t h e o r i g i n a l f o r m a t B y d e f a u l t t h e ` C o n t r o l N e t M o d e l ` s h o u l d b e l o a d e d w i t h ` f r o m _ p r e t r a i n e d ( ) ` , b u t i t c a n a l s o b e l o a d e d f r o m t h e o r i g i n a l f o r m a t u s i n g ` F r o m O r i g i n a l M o d e l M i x i n . f r o m _ s i n g l e _ f i l e ` a s f o l l o w s : ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e , C o n t r o l N e t M o d e l u r l = " h t t p s : / / h u g g i n g f a c e . c o / l l l y a s v i e l / C o n t r o l N e t - v 1 - 1 / b l o b / m a i n / c o n t r o l _ v 1 1 p _ s d 1 5 _ c a n n y . p t h " # c a n a l s o b e a l o c a l p a t h c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ s i n g l e _ f i l e ( u r l ) u r l = " h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 / b l o b / m a i n / v 1 - 5 - p r u n e d . s a f e t e n s o r s " # c a n a l s o b e a l o c a l p a t h p i p e = S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e . f r o m _ s i n g l e _ f i l e ( u r l , c o n t r o l n e t = c o n t r o l n e t ) ` ` ` # # C o n t r o l N e t M o d e l # # C o n t r o l N e t O u t p u t # # F l a x C o n t r o l N e t M o d e l # # F l a x C o n t r o l N e t O u t p u t [ [ a u t o d o c ] ] C o n t r o l N e t M o d e l [ [ a u t o d o c ] ] m o d e l s . c o n t r o l n e t s . c o n t r o l n e t . C o n t r o l N e t O u t p u t [ [ a u t o d o c ] ] F l a x C o n t r o l N e t M o d e l [ [ a u t o d o c ] ] m o d e l s . c o n t r o l n e t s . c o n t r o l n e t _ f l a x . F l a x C o n t r o l N e t O u t p u t # C o n s i s t e n c y D e c o d e r C o n s i s t e n c y d e c o d e r c a n b e u s e d t o d e c o d e t h e l a t e n t s f r o m t h e d e n o i s i n g U N e t i n t h e ` S t a b l e D i f f u s i o n P i p e l i n e ` . T h i s d e c o d e r w a s i n t r o d u c e d i n t h e [ D A L L - E 3 t e c h n i c a l r e p o r t ] ( h t t p s : / / o p e n a i . c o m / d a l l - e - 3 ) . T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ o p e n a i / c o n s i s t e n c y d e c o d e r ] ( h t t p s : / / g i t h u b . c o m / o p e n a i / c o n s i s t e n c y d e c o d e r ) . < T i p w a r n i n g = { t r u e } > I n f e r e n c e i s o n l y s u p p o r t e d f o r 2 i t e r a t i o n s a s o f n o w . < / T i p > T h e p i p e l i n e c o u l d n o t h a v e b e e n c o n t r i b u t e d w i t h o u t t h e h e l p o f [ m a d e b y o l l i n ] ( h t t p s : / / g i t h u b . c o m / m a d e b y o l l i n ) a n d [ m r s t e y k ] ( h t t p s : / / g i t h u b . c o m / m r s t e y k ) f r o m [ t h i s i s s u e ] ( h t t p s : / / g i t h u b . c o m / o p e n a i / c o n s i s t e n c y d e c o d e r / i s s u e s / 1 ) . # # C o n s i s t e n c y D e c o d e r V A E [ [ a u t o d o c ] ] C o n s i s t e n c y D e c o d e r V A E - a l l - d e c o d e # P i x A r t T r a n s f o r m e r 2 D M o d e l A T r a n s f o r m e r m o d e l f o r i m a g e - l i k e d a t a f r o m [ P i x A r t - A l p h a ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 1 0 . 0 0 4 2 6 ) a n d [ P i x A r t - S i g m a ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 4 0 3 . 0 4 6 9 2 ) . # # P i x A r t T r a n s f o r m e r 2 D M o d e l [ [ a u t o d o c ] ] P i x A r t T r a n s f o r m e r 2 D M o d e l # U N e t 1 D M o d e l T h e [ U N e t ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 1 5 0 5 . 0 4 5 9 7 ) m o d e l w a s o r i g i n a l l y i n t r o d u c e d b y R o n n e b e r g e r e t a l . f o r b i o m e d i c a l i m a g e s e g m e n t a t i o n , b u t i t i s a l s o c o m m o n l y u s e d i n ๐Ÿค— D i f f u s e r s b e c a u s e i t o u t p u t s i m a g e s t h a t a r e t h e s a m e s i z e a s t h e i n p u t . I t i s o n e o f t h e m o s t i m p o r t a n t c o m p o n e n t s o f a d i f f u s i o n s y s t e m b e c a u s e i t f a c i l i t a t e s t h e a c t u a l d i f f u s i o n p r o c e s s . T h e r e a r e s e v e r a l v a r i a n t s o f t h e U N e t m o d e l i n ๐Ÿค— D i f f u s e r s , d e p e n d i n g o n i t ' s n u m b e r o f d i m e n s i o n s a n d w h e t h e r i t i s a c o n d i t i o n a l m o d e l o r n o t . T h i s i s a 1 D U N e t m o d e l . T h e a b s t r a c t f r o m t h e p a p e r i s : * T h e r e i s l a r g e c o n s e n t t h a t s u c c e s s f u l t r a i n i n g o f d e e p n e t w o r k s r e q u i r e s m a n y t h o u s a n d a n n o t a t e d t r a i n i n g s a m p l e s . I n t h i s p a p e r , w e p r e s e n t a n e t w o r k a n d t r a i n i n g s t r a t e g y t h a t r e l i e s o n t h e s t r o n g u s e o f d a t a a u g m e n t a t i o n t o u s e t h e a v a i l a b l e a n n o t a t e d s a m p l e s m o r e e f f i c i e n t l y . T h e a r c h i t e c t u r e c o n s i s t s o f a c o n t r a c t i n g p a t h t o c a p t u r e c o n t e x t a n d a s y m m e t r i c e x p a n d i n g p a t h t h a t e n a b l e s p r e c i s e l o c a l i z a t i o n . W e s h o w t h a t s u c h a n e t w o r k c a n b e t r a i n e d e n d - t o - e n d f r o m v e r y f e w i m a g e s a n d o u t p e r f o r m s t h e p r i o r b e s t m e t h o d ( a s l i d i n g - w i n d o w c o n v o l u t i o n a l n e t w o r k ) o n t h e I S B I c h a l l e n g e f o r s e g m e n t a t i o n o f n e u r o n a l s t r u c t u r e s i n e l e c t r o n m i c r o s c o p i c s t a c k s . U s i n g t h e s a m e n e t w o r k t r a i n e d o n t r a n s m i t t e d l i g h t m i c r o s c o p y i m a g e s ( p h a s e c o n t r a s t a n d D I C ) w e w o n t h e I S B I c e l l t r a c k i n g c h a l l e n g e 2 0 1 5 i n t h e s e c a t e g o r i e s b y a l a r g e m a r g i n . M o r e o v e r , t h e n e t w o r k i s f a s t . S e g m e n t a t i o n o f a 5 1 2 x 5 1 2 i m a g e t a k e s l e s s t h a n a s e c o n d o n a r e c e n t G P U . T h e f u l l i m p l e m e n t a t i o n ( b a s e d o n C a f f e ) a n d t h e t r a i n e d n e t w o r k s a r e a v a i l a b l e a t h t t p : / / l m b . i n f o r m a t i k . u n i - f r e i b u r g . d e / p e o p l e / r o n n e b e r / u - n e t . * # # U N e t 1 D M o d e l # # U N e t 1 D O u t p u t [ [ a u t o d o c ] ] U N e t 1 D M o d e l [ [ a u t o d o c ] ] m o d e l s . u n e t s . u n e t _ 1 d . U N e t 1 D O u t p u t # D i T T r a n s f o r m e r 2 D M o d e l A T r a n s f o r m e r m o d e l f o r i m a g e - l i k e d a t a f r o m [ D i T ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 1 2 . 0 9 7 4 8 ) . # # D i T T r a n s f o r m e r 2 D M o d e l [ [ a u t o d o c ] ] D i T T r a n s f o r m e r 2 D M o d e l # U N e t M o t i o n M o d e l T h e [ U N e t ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 1 5 0 5 . 0 4 5 9 7 ) m o d e l w a s o r i g i n a l l y i n t r o d u c e d b y R o n n e b e r g e r e t a l f o r b i o m e d i c a l i m a g e s e g m e n t a t i o n , b u t i t i s a l s o c o m m o n l y u s e d i n ๐Ÿค— D i f f u s e r s b e c a u s e i t o u t p u t s i m a g e s t h a t a r e t h e s a m e s i z e a s t h e i n p u t . I t i s o n e o f t h e m o s t i m p o r t a n t c o m p o n e n t s o f a d i f f u s i o n s y s t e m b e c a u s e i t f a c i l i t a t e s t h e a c t u a l d i f f u s i o n p r o c e s s . T h e r e a r e s e v e r a l v a r i a n t s o f t h e U N e t m o d e l i n ๐Ÿค— D i f f u s e r s , d e p e n d i n g o n i t ' s n u m b e r o f d i m e n s i o n s a n d w h e t h e r i t i s a c o n d i t i o n a l m o d e l o r n o t . T h i s i s a 2 D U N e t m o d e l . T h e a b s t r a c t f r o m t h e p a p e r i s : * T h e r e i s l a r g e c o n s e n t t h a t s u c c e s s f u l t r a i n i n g o f d e e p n e t w o r k s r e q u i r e s m a n y t h o u s a n d a n n o t a t e d t r a i n i n g s a m p l e s . I n t h i s p a p e r , w e p r e s e n t a n e t w o r k a n d t r a i n i n g s t r a t e g y t h a t r e l i e s o n t h e s t r o n g u s e o f d a t a a u g m e n t a t i o n t o u s e t h e a v a i l a b l e a n n o t a t e d s a m p l e s m o r e e f f i c i e n t l y . T h e a r c h i t e c t u r e c o n s i s t s o f a c o n t r a c t i n g p a t h t o c a p t u r e c o n t e x t a n d a s y m m e t r i c e x p a n d i n g p a t h t h a t e n a b l e s p r e c i s e l o c a l i z a t i o n . W e s h o w t h a t s u c h a n e t w o r k c a n b e t r a i n e d e n d - t o - e n d f r o m v e r y f e w i m a g e s a n d o u t p e r f o r m s t h e p r i o r b e s t m e t h o d ( a s l i d i n g - w i n d o w c o n v o l u t i o n a l n e t w o r k ) o n t h e I S B I c h a l l e n g e f o r s e g m e n t a t i o n o f n e u r o n a l s t r u c t u r e s i n e l e c t r o n m i c r o s c o p i c s t a c k s . U s i n g t h e s a m e n e t w o r k t r a i n e d o n t r a n s m i t t e d l i g h t m i c r o s c o p y i m a g e s ( p h a s e c o n t r a s t a n d D I C ) w e w o n t h e I S B I c e l l t r a c k i n g c h a l l e n g e 2 0 1 5 i n t h e s e c a t e g o r i e s b y a l a r g e m a r g i n . M o r e o v e r , t h e n e t w o r k i s f a s t . S e g m e n t a t i o n o f a 5 1 2 x 5 1 2 i m a g e t a k e s l e s s t h a n a s e c o n d o n a r e c e n t G P U . T h e f u l l i m p l e m e n t a t i o n ( b a s e d o n C a f f e ) a n d t h e t r a i n e d n e t w o r k s a r e a v a i l a b l e a t h t t p : / / l m b . i n f o r m a t i k . u n i - f r e i b u r g . d e / p e o p l e / r o n n e b e r / u - n e t . * # # U N e t M o t i o n M o d e l # # U N e t 3 D C o n d i t i o n O u t p u t [ [ a u t o d o c ] ] U N e t M o t i o n M o d e l [ [ a u t o d o c ] ] m o d e l s . u n e t s . u n e t _ 3 d _ c o n d i t i o n . U N e t 3 D C o n d i t i o n O u t p u t # T r a n s f o r m e r 2 D M o d e l A T r a n s f o r m e r m o d e l f o r i m a g e - l i k e d a t a f r o m [ C o m p V i s ] ( h t t p s : / / h u g g i n g f a c e . c o / C o m p V i s ) t h a t i s b a s e d o n t h e [ V i s i o n T r a n s f o r m e r ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 0 1 0 . 1 1 9 2 9 ) i n t r o d u c e d b y D o s o v i t s k i y e t a l . T h e ` T r a n s f o r m e r 2 D M o d e l ` a c c e p t s d i s c r e t e ( c l a s s e s o f v e c t o r e m b e d d i n g s ) o r c o n t i n u o u s ( a c t u a l e m b e d d i n g s ) i n p u t s . W h e n t h e i n p u t i s * * c o n t i n u o u s * * : 1 . P r o j e c t t h e i n p u t a n d r e s h a p e i t t o ` ( b a t c h _ s i z e , s e q u e n c e _ l e n g t h , f e a t u r e _ d i m e n s i o n ) ` . 2 . A p p l y t h e T r a n s f o r m e r b l o c k s i n t h e s t a n d a r d w a y . 3 . R e s h a p e t o i m a g e . W h e n t h e i n p u t i s * * d i s c r e t e * * : < T i p > I t i s a s s u m e d o n e o f t h e i n p u t c l a s s e s i s t h e m a s k e d l a t e n t p i x e l . T h e p r e d i c t e d c l a s s e s o f t h e u n n o i s e d i m a g e d o n ' t c o n t a i n a p r e d i c t i o n f o r t h e m a s k e d p i x e l b e c a u s e t h e u n n o i s e d i m a g e c a n n o t b e m a s k e d . < / T i p > 1 . C o n v e r t i n p u t ( c l a s s e s o f l a t e n t p i x e l s ) t o e m b e d d i n g s a n d a p p l y p o s i t i o n a l e m b e d d i n g s . 2 . A p p l y t h e T r a n s f o r m e r b l o c k s i n t h e s t a n d a r d w a y . 3 . P r e d i c t c l a s s e s o f u n n o i s e d i m a g e . # # T r a n s f o r m e r 2 D M o d e l # # T r a n s f o r m e r 2 D M o d e l O u t p u t [ [ a u t o d o c ] ] T r a n s f o r m e r 2 D M o d e l [ [ a u t o d o c ] ] m o d e l s . m o d e l i n g _ o u t p u t s . T r a n s f o r m e r 2 D M o d e l O u t p u t # S D 3 T r a n s f o r m e r M o d e l T h e T r a n s f o r m e r m o d e l i n t r o d u c e d i n [ S t a b l e D i f f u s i o n 3 ] ( h t t p s : / / h f . c o / p a p e r s / 2 4 0 3 . 0 3 2 0 6 ) . I t s n o v e l t y l i e s i n t h e M M D i T t r a n s f o r m e r b l o c k . # # S D 3 T r a n s f o r m e r 2 D M o d e l [ [ a u t o d o c ] ] S D 3 T r a n s f o r m e r 2 D M o d e l # C o g V i e w 3 P l u s T r a n s f o r m e r 2 D M o d e l A D i f f u s i o n T r a n s f o r m e r m o d e l f o r 2 D d a t a f r o m [ C o g V i e w 3 P l u s ] ( h t t p s : / / g i t h u b . c o m / T H U D M / C o g V i e w 3 ) w a s i n t r o d u c e d i n [ C o g V i e w 3 : F i n e r a n d F a s t e r T e x t - t o - I m a g e G e n e r a t i o n v i a R e l a y D i f f u s i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 4 0 3 . 0 5 1 2 1 ) b y T s i n g h u a U n i v e r s i t y & Z h i p u A I . T h e m o d e l c a n b e l o a d e d w i t h t h e f o l l o w i n g c o d e s n i p p e t . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t C o g V i e w 3 P l u s T r a n s f o r m e r 2 D M o d e l v a e = C o g V i e w 3 P l u s T r a n s f o r m e r 2 D M o d e l . f r o m _ p r e t r a i n e d ( " T H U D M / C o g V i e w 3 P l u s - 3 b " , s u b f o l d e r = " t r a n s f o r m e r " , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) . t o ( " c u d a " ) ` ` ` # # C o g V i e w 3 P l u s T r a n s f o r m e r 2 D M o d e l # # T r a n s f o r m e r 2 D M o d e l O u t p u t [ [ a u t o d o c ] ] C o g V i e w 3 P l u s T r a n s f o r m e r 2 D M o d e l [ [ a u t o d o c ] ] m o d e l s . m o d e l i n g _ o u t p u t s . T r a n s f o r m e r 2 D M o d e l O u t p u t # M o c h i T r a n s f o r m e r 3 D M o d e l A D i f f u s i o n T r a n s f o r m e r m o d e l f o r 3 D v i d e o - l i k e d a t a w a s i n t r o d u c e d i n [ M o c h i - 1 P r e v i e w ] ( h t t p s : / / h u g g i n g f a c e . c o / g e n m o / m o c h i - 1 - p r e v i e w ) b y G e n m o . T h e m o d e l c a n b e l o a d e d w i t h t h e f o l l o w i n g c o d e s n i p p e t . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t M o c h i T r a n s f o r m e r 3 D M o d e l v a e = M o c h i T r a n s f o r m e r 3 D M o d e l . f r o m _ p r e t r a i n e d ( " g e n m o / m o c h i - 1 - p r e v i e w " , s u b f o l d e r = " t r a n s f o r m e r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) ` ` ` # # M o c h i T r a n s f o r m e r 3 D M o d e l # # T r a n s f o r m e r 2 D M o d e l O u t p u t [ [ a u t o d o c ] ] M o c h i T r a n s f o r m e r 3 D M o d e l [ [ a u t o d o c ] ] m o d e l s . m o d e l i n g _ o u t p u t s . T r a n s f o r m e r 2 D M o d e l O u t p u t # A u t o e n c o d e r K L T h e v a r i a t i o n a l a u t o e n c o d e r ( V A E ) m o d e l w i t h K L l o s s w a s i n t r o d u c e d i n [ A u t o - E n c o d i n g V a r i a t i o n a l B a y e s ] ( h t t p s : / / a r x i v . o r g / a b s / 1 3 1 2 . 6 1 1 4 v 1 1 ) b y D i e d e r i k P . K i n g m a a n d M a x W e l l i n g . T h e m o d e l i s u s e d i n ๐Ÿค— D i f f u s e r s t o e n c o d e i m a g e s i n t o l a t e n t s a n d t o d e c o d e l a t e n t r e p r e s e n t a t i o n s i n t o i m a g e s . T h e a b s t r a c t f r o m t h e p a p e r i s : * H o w c a n w e p e r f o r m e f f i c i e n t i n f e r e n c e a n d l e a r n i n g i n d i r e c t e d p r o b a b i l i s t i c m o d e l s , i n t h e p r e s e n c e o f c o n t i n u o u s l a t e n t v a r i a b l e s w i t h i n t r a c t a b l e p o s t e r i o r d i s t r i b u t i o n s , a n d l a r g e d a t a s e t s ? W e i n t r o d u c e a s t o c h a s t i c v a r i a t i o n a l i n f e r e n c e a n d l e a r n i n g a l g o r i t h m t h a t s c a l e s t o l a r g e d a t a s e t s a n d , u n d e r s o m e m i l d d i f f e r e n t i a b i l i t y c o n d i t i o n s , e v e n w o r k s i n t h e i n t r a c t a b l e c a s e . O u r c o n t r i b u t i o n s a r e t w o - f o l d . F i r s t , w e s h o w t h a t a r e p a r a m e t e r i z a t i o n o f t h e v a r i a t i o n a l l o w e r b o u n d y i e l d s a l o w e r b o u n d e s t i m a t o r t h a t c a n b e s t r a i g h t f o r w a r d l y o p t i m i z e d u s i n g s t a n d a r d s t o c h a s t i c g r a d i e n t m e t h o d s . S e c o n d , w e s h o w t h a t f o r i . i . d . d a t a s e t s w i t h c o n t i n u o u s l a t e n t v a r i a b l e s p e r d a t a p o i n t , p o s t e r i o r i n f e r e n c e c a n b e m a d e e s p e c i a l l y e f f i c i e n t b y f i t t i n g a n a p p r o x i m a t e i n f e r e n c e m o d e l ( a l s o c a l l e d a r e c o g n i t i o n m o d e l ) t o t h e i n t r a c t a b l e p o s t e r i o r u s i n g t h e p r o p o s e d l o w e r b o u n d e s t i m a t o r . T h e o r e t i c a l a d v a n t a g e s a r e r e f l e c t e d i n e x p e r i m e n t a l r e s u l t s . * # # L o a d i n g f r o m t h e o r i g i n a l f o r m a t B y d e f a u l t t h e ` A u t o e n c o d e r K L ` s h o u l d b e l o a d e d w i t h ` f r o m _ p r e t r a i n e d ( ) ` , b u t i t c a n a l s o b e l o a d e d f r o m t h e o r i g i n a l f o r m a t u s i n g ` F r o m O r i g i n a l M o d e l M i x i n . f r o m _ s i n g l e _ f i l e ` a s f o l l o w s : ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o e n c o d e r K L u r l = " h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s d - v a e - f t - m s e - o r i g i n a l / b l o b / m a i n / v a e - f t - m s e - 8 4 0 0 0 0 - e m a - p r u n e d . s a f e t e n s o r s " # c a n a l s o b e a l o c a l f i l e m o d e l = A u t o e n c o d e r K L . f r o m _ s i n g l e _ f i l e ( u r l ) ` ` ` # # A u t o e n c o d e r K L # # A u t o e n c o d e r K L O u t p u t # # D e c o d e r O u t p u t # # F l a x A u t o e n c o d e r K L # # F l a x A u t o e n c o d e r K L O u t p u t # # F l a x D e c o d e r O u t p u t [ [ a u t o d o c ] ] A u t o e n c o d e r K L - d e c o d e - e n c o d e - a l l [ [ a u t o d o c ] ] m o d e l s . a u t o e n c o d e r s . a u t o e n c o d e r _ k l . A u t o e n c o d e r K L O u t p u t [ [ a u t o d o c ] ] m o d e l s . a u t o e n c o d e r s . v a e . D e c o d e r O u t p u t [ [ a u t o d o c ] ] F l a x A u t o e n c o d e r K L [ [ a u t o d o c ] ] m o d e l s . v a e _ f l a x . F l a x A u t o e n c o d e r K L O u t p u t [ [ a u t o d o c ] ] m o d e l s . v a e _ f l a x . F l a x D e c o d e r O u t p u t # S D 3 C o n t r o l N e t M o d e l S D 3 C o n t r o l N e t M o d e l i s a n i m p l e m e n t a t i o n o f C o n t r o l N e t f o r S t a b l e D i f f u s i o n 3 . T h e C o n t r o l N e t m o d e l w a s i n t r o d u c e d i n [ A d d i n g C o n d i t i o n a l C o n t r o l t o T e x t - t o - I m a g e D i f f u s i o n M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 2 . 0 5 5 4 3 ) b y L v m i n Z h a n g , A n y i R a o , M a n e e s h A g r a w a l a . I t p r o v i d e s a g r e a t e r d e g r e e o f c o n t r o l o v e r t e x t - t o - i m a g e g e n e r a t i o n b y c o n d i t i o n i n g t h e m o d e l o n a d d i t i o n a l i n p u t s s u c h a s e d g e m a p s , d e p t h m a p s , s e g m e n t a t i o n m a p s , a n d k e y p o i n t s f o r p o s e d e t e c t i o n . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e p r e s e n t C o n t r o l N e t , a n e u r a l n e t w o r k a r c h i t e c t u r e t o a d d s p a t i a l c o n d i t i o n i n g c o n t r o l s t o l a r g e , p r e t r a i n e d t e x t - t o - i m a g e d i f f u s i o n m o d e l s . C o n t r o l N e t l o c k s t h e p r o d u c t i o n - r e a d y l a r g e d i f f u s i o n m o d e l s , a n d r e u s e s t h e i r d e e p a n d r o b u s t e n c o d i n g l a y e r s p r e t r a i n e d w i t h b i l l i o n s o f i m a g e s a s a s t r o n g b a c k b o n e t o l e a r n a d i v e r s e s e t o f c o n d i t i o n a l c o n t r o l s . T h e n e u r a l a r c h i t e c t u r e i s c o n n e c t e d w i t h " z e r o c o n v o l u t i o n s " ( z e r o - i n i t i a l i z e d c o n v o l u t i o n l a y e r s ) t h a t p r o g r e s s i v e l y g r o w t h e p a r a m e t e r s f r o m z e r o a n d e n s u r e t h a t n o h a r m f u l n o i s e c o u l d a f f e c t t h e f i n e t u n i n g . W e t e s t v a r i o u s c o n d i t i o n i n g c o n t r o l s , e g , e d g e s , d e p t h , s e g m e n t a t i o n , h u m a n p o s e , e t c , w i t h S t a b l e D i f f u s i o n , u s i n g s i n g l e o r m u l t i p l e c o n d i t i o n s , w i t h o r w i t h o u t p r o m p t s . W e s h o w t h a t t h e t r a i n i n g o f C o n t r o l N e t s i s r o b u s t w i t h s m a l l ( < 5 0 k ) a n d l a r g e ( > 1 m ) d a t a s e t s . E x t e n s i v e r e s u l t s s h o w t h a t C o n t r o l N e t m a y f a c i l i t a t e w i d e r a p p l i c a t i o n s t o c o n t r o l i m a g e d i f f u s i o n m o d e l s . * # # L o a d i n g f r o m t h e o r i g i n a l f o r m a t B y d e f a u l t t h e ` S D 3 C o n t r o l N e t M o d e l ` s h o u l d b e l o a d e d w i t h ` f r o m _ p r e t r a i n e d ( ) ` . ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n 3 C o n t r o l N e t P i p e l i n e f r o m d i f f u s e r s . m o d e l s i m p o r t S D 3 C o n t r o l N e t M o d e l , S D 3 M u l t i C o n t r o l N e t M o d e l c o n t r o l n e t = S D 3 C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " I n s t a n t X / S D 3 - C o n t r o l n e t - C a n n y " ) p i p e = S t a b l e D i f f u s i o n 3 C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 - m e d i u m - d i f f u s e r s " , c o n t r o l n e t = c o n t r o l n e t ) ` ` ` # # S D 3 C o n t r o l N e t M o d e l # # S D 3 C o n t r o l N e t O u t p u t [ [ a u t o d o c ] ] S D 3 C o n t r o l N e t M o d e l [ [ a u t o d o c ] ] m o d e l s . c o n t r o l n e t s . c o n t r o l n e t _ s d 3 . S D 3 C o n t r o l N e t O u t p u t # T r a n s f o r m e r T e m p o r a l M o d e l A T r a n s f o r m e r m o d e l f o r v i d e o - l i k e d a t a . # # T r a n s f o r m e r T e m p o r a l M o d e l # # T r a n s f o r m e r T e m p o r a l M o d e l O u t p u t [ [ a u t o d o c ] ] m o d e l s . t r a n s f o r m e r s . t r a n s f o r m e r _ t e m p o r a l . T r a n s f o r m e r T e m p o r a l M o d e l [ [ a u t o d o c ] ] m o d e l s . t r a n s f o r m e r s . t r a n s f o r m e r _ t e m p o r a l . T r a n s f o r m e r T e m p o r a l M o d e l O u t p u t # A u r a F l o w T r a n s f o r m e r 2 D M o d e l A T r a n s f o r m e r m o d e l f o r i m a g e - l i k e d a t a f r o m [ A u r a F l o w ] ( h t t p s : / / b l o g . f a l . a i / a u r a f l o w / ) . # # A u r a F l o w T r a n s f o r m e r 2 D M o d e l [ [ a u t o d o c ] ] A u r a F l o w T r a n s f o r m e r 2 D M o d e l # M o d e l s ๐Ÿค— D i f f u s e r s p r o v i d e s p r e t r a i n e d m o d e l s f o r p o p u l a r a l g o r i t h m s a n d m o d u l e s t o c r e a t e c u s t o m d i f f u s i o n s y s t e m s . T h e p r i m a r y f u n c t i o n o f m o d e l s i s t o d e n o i s e a n i n p u t s a m p l e a s m o d e l e d b y t h e d i s t r i b u t i o n \ \ ( p _ { \ t h e t a } ( x _ { t - 1 } | x _ { t } ) \ \ ) . A l l m o d e l s a r e b u i l t f r o m t h e b a s e ` M o d e l M i x i n ` c l a s s w h i c h i s a [ ` t o r c h . n n . M o d u l e ` ] ( h t t p s : / / p y t o r c h . o r g / d o c s / s t a b l e / g e n e r a t e d / t o r c h . n n . M o d u l e . h t m l ) p r o v i d i n g b a s i c f u n c t i o n a l i t y f o r s a v i n g a n d l o a d i n g m o d e l s , l o c a l l y a n d f r o m t h e H u g g i n g F a c e H u b . # # M o d e l M i x i n # # F l a x M o d e l M i x i n # # P u s h T o H u b M i x i n [ [ a u t o d o c ] ] M o d e l M i x i n [ [ a u t o d o c ] ] F l a x M o d e l M i x i n [ [ a u t o d o c ] ] u t i l s . P u s h T o H u b M i x i n # A u t o e n c o d e r K L C o g V i d e o X T h e 3 D v a r i a t i o n a l a u t o e n c o d e r ( V A E ) m o d e l w i t h K L l o s s u s e d i n [ C o g V i d e o X ] ( h t t p s : / / g i t h u b . c o m / T H U D M / C o g V i d e o ) w a s i n t r o d u c e d i n [ C o g V i d e o X : T e x t - t o - V i d e o D i f f u s i o n M o d e l s w i t h A n E x p e r t T r a n s f o r m e r ] ( h t t p s : / / g i t h u b . c o m / T H U D M / C o g V i d e o / b l o b / m a i n / r e s o u r c e s / C o g V i d e o X . p d f ) b y T s i n g h u a U n i v e r s i t y & Z h i p u A I . T h e m o d e l c a n b e l o a d e d w i t h t h e f o l l o w i n g c o d e s n i p p e t . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t A u t o e n c o d e r K L C o g V i d e o X v a e = A u t o e n c o d e r K L C o g V i d e o X . f r o m _ p r e t r a i n e d ( " T H U D M / C o g V i d e o X - 2 b " , s u b f o l d e r = " v a e " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) ` ` ` # # A u t o e n c o d e r K L C o g V i d e o X # # A u t o e n c o d e r K L O u t p u t # # D e c o d e r O u t p u t [ [ a u t o d o c ] ] A u t o e n c o d e r K L C o g V i d e o X - d e c o d e - e n c o d e - a l l [ [ a u t o d o c ] ] m o d e l s . a u t o e n c o d e r s . a u t o e n c o d e r _ k l . A u t o e n c o d e r K L O u t p u t [ [ a u t o d o c ] ] m o d e l s . a u t o e n c o d e r s . v a e . D e c o d e r O u t p u t # A s y m m e t r i c A u t o e n c o d e r K L I m p r o v e d l a r g e r v a r i a t i o n a l a u t o e n c o d e r ( V A E ) m o d e l w i t h K L l o s s f o r i n p a i n t i n g t a s k : [ D e s i g n i n g a B e t t e r A s y m m e t r i c V Q G A N f o r S t a b l e D i f f u s i o n ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 0 6 . 0 4 6 3 2 ) b y Z i x i n Z h u , X u e l u F e n g , D o n g d o n g C h e n , J i a n m i n B a o , L e W a n g , Y i n p e n g C h e n , L u Y u a n , G a n g H u a . T h e a b s t r a c t f r o m t h e p a p e r i s : * S t a b l e D i f f u s i o n i s a r e v o l u t i o n a r y t e x t - t o - i m a g e g e n e r a t o r t h a t i s c a u s i n g a s t i r i n t h e w o r l d o f i m a g e g e n e r a t i o n a n d e d i t i n g . U n l i k e t r a d i t i o n a l m e t h o d s t h a t l e a r n a d i f f u s i o n m o d e l i n p i x e l s p a c e , S t a b l e D i f f u s i o n l e a r n s a d i f f u s i o n m o d e l i n t h e l a t e n t s p a c e v i a a V Q G A N , e n s u r i n g b o t h e f f i c i e n c y a n d q u a l i t y . I t n o t o n l y s u p p o r t s i m a g e g e n e r a t i o n t a s k s , b u t a l s o e n a b l e s i m a g e e d i t i n g f o r r e a l i m a g e s , s u c h a s i m a g e i n p a i n t i n g a n d l o c a l e d i t i n g . H o w e v e r , w e h a v e o b s e r v e d t h a t t h e v a n i l l a V Q G A N u s e d i n S t a b l e D i f f u s i o n l e a d s t o s i g n i f i c a n t i n f o r m a t i o n l o s s , c a u s i n g d i s t o r t i o n a r t i f a c t s e v e n i n n o n - e d i t e d i m a g e r e g i o n s . T o t h i s e n d , w e p r o p o s e a n e w a s y m m e t r i c V Q G A N w i t h t w o s i m p l e d e s i g n s . F i r s t l y , i n a d d i t i o n t o t h e i n p u t f r o m t h e e n c o d e r , t h e d e c o d e r c o n t a i n s a c o n d i t i o n a l b r a n c h t h a t i n c o r p o r a t e s i n f o r m a t i o n f r o m t a s k - s p e c i f i c p r i o r s , s u c h a s t h e u n m a s k e d i m a g e r e g i o n i n i n p a i n t i n g . S e c o n d l y , t h e d e c o d e r i s m u c h h e a v i e r t h a n t h e e n c o d e r , a l l o w i n g f o r m o r e d e t a i l e d r e c o v e r y w h i l e o n l y s l i g h t l y i n c r e a s i n g t h e t o t a l i n f e r e n c e c o s t . T h e t r a i n i n g c o s t o f o u r a s y m m e t r i c V Q G A N i s c h e a p , a n d w e o n l y n e e d t o r e t r a i n a n e w a s y m m e t r i c d e c o d e r w h i l e k e e p i n g t h e v a n i l l a V Q G A N e n c o d e r a n d S t a b l e D i f f u s i o n u n c h a n g e d . O u r a s y m m e t r i c V Q G A N c a n b e w i d e l y u s e d i n S t a b l e D i f f u s i o n - b a s e d i n p a i n t i n g a n d l o c a l e d i t i n g m e t h o d s . E x t e n s i v e e x p e r i m e n t s d e m o n s t r a t e t h a t i t c a n s i g n i f i c a n t l y i m p r o v e t h e i n p a i n t i n g a n d e d i t i n g p e r f o r m a n c e , w h i l e m a i n t a i n i n g t h e o r i g i n a l t e x t - t o - i m a g e c a p a b i l i t y . T h e c o d e i s a v a i l a b l e a t h t t p s : / / g i t h u b . c o m / b u x i a n g z h i r e n / A s y m m e t r i c _ V Q G A N * E v a l u a t i o n r e s u l t s c a n b e f o u n d i n s e c t i o n 4 . 1 o f t h e o r i g i n a l p a p e r . # # A v a i l a b l e c h e c k p o i n t s * [ h t t p s : / / h u g g i n g f a c e . c o / c r o s s - a t t e n t i o n / a s y m m e t r i c - a u t o e n c o d e r - k l - x - 1 - 5 ] ( h t t p s : / / h u g g i n g f a c e . c o / c r o s s - a t t e n t i o n / a s y m m e t r i c - a u t o e n c o d e r - k l - x - 1 - 5 ) * [ h t t p s : / / h u g g i n g f a c e . c o / c r o s s - a t t e n t i o n / a s y m m e t r i c - a u t o e n c o d e r - k l - x - 2 ] ( h t t p s : / / h u g g i n g f a c e . c o / c r o s s - a t t e n t i o n / a s y m m e t r i c - a u t o e n c o d e r - k l - x - 2 ) # # E x a m p l e U s a g e ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t A s y m m e t r i c A u t o e n c o d e r K L , S t a b l e D i f f u s i o n I n p a i n t P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d p r o m p t = " a p h o t o o f a p e r s o n w i t h b e a r d " i m g _ u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / r e p a i n t / c e l e b a _ h q _ 2 5 6 . p n g " m a s k _ u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / r e p a i n t / m a s k _ 2 5 6 . p n g " o r i g i n a l _ i m a g e = l o a d _ i m a g e ( i m g _ u r l ) . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) m a s k _ i m a g e = l o a d _ i m a g e ( m a s k _ u r l ) . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) p i p e = S t a b l e D i f f u s i o n I n p a i n t P i p e l i n e . f r o m _ p r e t r a i n e d ( " r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g " ) p i p e . v a e = A s y m m e t r i c A u t o e n c o d e r K L . f r o m _ p r e t r a i n e d ( " c r o s s - a t t e n t i o n / a s y m m e t r i c - a u t o e n c o d e r - k l - x - 1 - 5 " ) p i p e . t o ( " c u d a " ) i m a g e = p i p e ( p r o m p t = p r o m p t , i m a g e = o r i g i n a l _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ o r i g i n a l _ i m a g e , m a s k _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` # # A s y m m e t r i c A u t o e n c o d e r K L # # A u t o e n c o d e r K L O u t p u t # # D e c o d e r O u t p u t [ [ a u t o d o c ] ] m o d e l s . a u t o e n c o d e r s . a u t o e n c o d e r _ a s y m _ k l . A s y m m e t r i c A u t o e n c o d e r K L [ [ a u t o d o c ] ] m o d e l s . a u t o e n c o d e r s . a u t o e n c o d e r _ k l . A u t o e n c o d e r K L O u t p u t [ [ a u t o d o c ] ] m o d e l s . a u t o e n c o d e r s . v a e . D e c o d e r O u t p u t # A u t o e n c o d e r O o b l e c k T h e O o b l e c k v a r i a t i o n a l a u t o e n c o d e r ( V A E ) m o d e l w i t h K L l o s s w a s i n t r o d u c e d i n [ S t a b i l i t y - A I / s t a b l e - a u d i o - t o o l s ] ( h t t p s : / / g i t h u b . c o m / S t a b i l i t y - A I / s t a b l e - a u d i o - t o o l s ) a n d [ S t a b l e A u d i o O p e n ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 4 0 7 . 1 4 3 5 8 ) b y S t a b i l i t y A I . T h e m o d e l i s u s e d i n ๐Ÿค— D i f f u s e r s t o e n c o d e a u d i o w a v e f o r m s i n t o l a t e n t s a n d t o d e c o d e l a t e n t r e p r e s e n t a t i o n s i n t o a u d i o w a v e f o r m s . T h e a b s t r a c t f r o m t h e p a p e r i s : * O p e n g e n e r a t i v e m o d e l s a r e v i t a l l y i m p o r t a n t f o r t h e c o m m u n i t y , a l l o w i n g f o r f i n e - t u n e s a n d s e r v i n g a s b a s e l i n e s w h e n p r e s e n t i n g n e w m o d e l s . H o w e v e r , m o s t c u r r e n t t e x t - t o - a u d i o m o d e l s a r e p r i v a t e a n d n o t a c c e s s i b l e f o r a r t i s t s a n d r e s e a r c h e r s t o b u i l d u p o n . H e r e w e d e s c r i b e t h e a r c h i t e c t u r e a n d t r a i n i n g p r o c e s s o f a n e w o p e n - w e i g h t s t e x t - t o - a u d i o m o d e l t r a i n e d w i t h C r e a t i v e C o m m o n s d a t a . O u r e v a l u a t i o n s h o w s t h a t t h e m o d e l ' s p e r f o r m a n c e i s c o m p e t i t i v e w i t h t h e s t a t e - o f - t h e - a r t a c r o s s v a r i o u s m e t r i c s . N o t a b l y , t h e r e p o r t e d F D o p e n l 3 r e s u l t s ( m e a s u r i n g t h e r e a l i s m o f t h e g e n e r a t i o n s ) s h o w c a s e i t s p o t e n t i a l f o r h i g h - q u a l i t y s t e r e o s o u n d s y n t h e s i s a t 4 4 . 1 k H z . * # # A u t o e n c o d e r O o b l e c k # # O o b l e c k D e c o d e r O u t p u t # # O o b l e c k D e c o d e r O u t p u t # # A u t o e n c o d e r O o b l e c k O u t p u t [ [ a u t o d o c ] ] A u t o e n c o d e r O o b l e c k - d e c o d e - e n c o d e - a l l [ [ a u t o d o c ] ] m o d e l s . a u t o e n c o d e r s . a u t o e n c o d e r _ o o b l e c k . O o b l e c k D e c o d e r O u t p u t [ [ a u t o d o c ] ] m o d e l s . a u t o e n c o d e r s . a u t o e n c o d e r _ o o b l e c k . O o b l e c k D e c o d e r O u t p u t [ [ a u t o d o c ] ] m o d e l s . a u t o e n c o d e r s . a u t o e n c o d e r _ o o b l e c k . A u t o e n c o d e r O o b l e c k O u t p u t # T i n y A u t o E n c o d e r T i n y A u t o E n c o d e r f o r S t a b l e D i f f u s i o n ( T A E S D ) w a s i n t r o d u c e d i n [ m a d e b y o l l i n / t a e s d ] ( h t t p s : / / g i t h u b . c o m / m a d e b y o l l i n / t a e s d ) b y O l l i n B o e r B o h a n . I t i s a t i n y d i s t i l l e d v e r s i o n o f S t a b l e D i f f u s i o n ' s V A E t h a t c a n q u i c k l y d e c o d e t h e l a t e n t s i n a ` S t a b l e D i f f u s i o n P i p e l i n e ` o r ` S t a b l e D i f f u s i o n X L P i p e l i n e ` a l m o s t i n s t a n t l y . T o u s e w i t h S t a b l e D i f f u s i o n v - 2 . 1 : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e , A u t o e n c o d e r T i n y p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - 1 - b a s e " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . v a e = A u t o e n c o d e r T i n y . f r o m _ p r e t r a i n e d ( " m a d e b y o l l i n / t a e s d " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e = p i p e . t o ( " c u d a " ) p r o m p t = " s l i c e o f d e l i c i o u s N e w Y o r k - s t y l e b e r r y c h e e s e c a k e " i m a g e = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 2 5 ) . i m a g e s [ 0 ] i m a g e ` ` ` T o u s e w i t h S t a b l e D i f f u s i o n X L 1 . 0 ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e , A u t o e n c o d e r T i n y p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . v a e = A u t o e n c o d e r T i n y . f r o m _ p r e t r a i n e d ( " m a d e b y o l l i n / t a e s d x l " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e = p i p e . t o ( " c u d a " ) p r o m p t = " s l i c e o f d e l i c i o u s N e w Y o r k - s t y l e b e r r y c h e e s e c a k e " i m a g e = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 2 5 ) . i m a g e s [ 0 ] i m a g e ` ` ` # # A u t o e n c o d e r T i n y # # A u t o e n c o d e r T i n y O u t p u t [ [ a u t o d o c ] ] A u t o e n c o d e r T i n y [ [ a u t o d o c ] ] m o d e l s . a u t o e n c o d e r s . a u t o e n c o d e r _ t i n y . A u t o e n c o d e r T i n y O u t p u t # S t a b l e A u d i o D i T M o d e l A T r a n s f o r m e r m o d e l f o r a u d i o w a v e f o r m s f r o m [ S t a b l e A u d i o O p e n ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 4 0 7 . 1 4 3 5 8 ) . # # S t a b l e A u d i o D i T M o d e l [ [ a u t o d o c ] ] S t a b l e A u d i o D i T M o d e l # A u t o e n c o d e r K L A l l e g r o T h e 3 D v a r i a t i o n a l a u t o e n c o d e r ( V A E ) m o d e l w i t h K L l o s s u s e d i n [ A l l e g r o ] ( h t t p s : / / g i t h u b . c o m / r h y m e s - a i / A l l e g r o ) w a s i n t r o d u c e d i n [ A l l e g r o : O p e n t h e B l a c k B o x o f C o m m e r c i a l - L e v e l V i d e o G e n e r a t i o n M o d e l ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 4 1 0 . 1 5 4 5 8 ) b y R h y m e s A I . T h e m o d e l c a n b e l o a d e d w i t h t h e f o l l o w i n g c o d e s n i p p e t . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t A u t o e n c o d e r K L A l l e g r o v a e = A u t o e n c o d e r K L C o g V i d e o X . f r o m _ p r e t r a i n e d ( " r h y m e s - a i / A l l e g r o " , s u b f o l d e r = " v a e " , t o r c h _ d t y p e = t o r c h . f l o a t 3 2 ) . t o ( " c u d a " ) ` ` ` # # A u t o e n c o d e r K L A l l e g r o # # A u t o e n c o d e r K L O u t p u t # # D e c o d e r O u t p u t [ [ a u t o d o c ] ] A u t o e n c o d e r K L A l l e g r o - d e c o d e - e n c o d e - a l l [ [ a u t o d o c ] ] m o d e l s . a u t o e n c o d e r s . a u t o e n c o d e r _ k l . A u t o e n c o d e r K L O u t p u t [ [ a u t o d o c ] ] m o d e l s . a u t o e n c o d e r s . v a e . D e c o d e r O u t p u t # # L a t t e T r a n s f o r m e r 3 D M o d e l A D i f f u s i o n T r a n s f o r m e r m o d e l f o r 3 D d a t a f r o m [ L a t t e ] ( h t t p s : / / g i t h u b . c o m / V c h i t e c t / L a t t e ) . # # L a t t e T r a n s f o r m e r 3 D M o d e l [ [ a u t o d o c ] ] L a t t e T r a n s f o r m e r 3 D M o d e l # L u m i n a N e x t D i T 2 D M o d e l A N e x t V e r s i o n o f D i f f u s i o n T r a n s f o r m e r m o d e l f o r 2 D d a t a f r o m [ L u m i n a - T 2 X ] ( h t t p s : / / g i t h u b . c o m / A l p h a - V L L M / L u m i n a - T 2 X ) . # # L u m i n a N e x t D i T 2 D M o d e l [ [ a u t o d o c ] ] L u m i n a N e x t D i T 2 D M o d e l # H u n y u a n D i T 2 D C o n t r o l N e t M o d e l H u n y u a n D i T 2 D C o n t r o l N e t M o d e l i s a n i m p l e m e n t a t i o n o f C o n t r o l N e t f o r [ H u n y u a n - D i T ] ( h t t p s : / / a r x i v . o r g / a b s / 2 4 0 5 . 0 8 7 4 8 ) . C o n t r o l N e t w a s i n t r o d u c e d i n [ A d d i n g C o n d i t i o n a l C o n t r o l t o T e x t - t o - I m a g e D i f f u s i o n M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 2 . 0 5 5 4 3 ) b y L v m i n Z h a n g , A n y i R a o , a n d M a n e e s h A g r a w a l a . W i t h a C o n t r o l N e t m o d e l , y o u c a n p r o v i d e a n a d d i t i o n a l c o n t r o l i m a g e t o c o n d i t i o n a n d c o n t r o l H u n y u a n - D i T g e n e r a t i o n . F o r e x a m p l e , i f y o u p r o v i d e a d e p t h m a p , t h e C o n t r o l N e t m o d e l g e n e r a t e s a n i m a g e t h a t ' l l p r e s e r v e t h e s p a t i a l i n f o r m a t i o n f r o m t h e d e p t h m a p . I t i s a m o r e f l e x i b l e a n d a c c u r a t e w a y t o c o n t r o l t h e i m a g e g e n e r a t i o n p r o c e s s . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e p r e s e n t C o n t r o l N e t , a n e u r a l n e t w o r k a r c h i t e c t u r e t o a d d s p a t i a l c o n d i t i o n i n g c o n t r o l s t o l a r g e , p r e t r a i n e d t e x t - t o - i m a g e d i f f u s i o n m o d e l s . C o n t r o l N e t l o c k s t h e p r o d u c t i o n - r e a d y l a r g e d i f f u s i o n m o d e l s , a n d r e u s e s t h e i r d e e p a n d r o b u s t e n c o d i n g l a y e r s p r e t r a i n e d w i t h b i l l i o n s o f i m a g e s a s a s t r o n g b a c k b o n e t o l e a r n a d i v e r s e s e t o f c o n d i t i o n a l c o n t r o l s . T h e n e u r a l a r c h i t e c t u r e i s c o n n e c t e d w i t h " z e r o c o n v o l u t i o n s " ( z e r o - i n i t i a l i z e d c o n v o l u t i o n l a y e r s ) t h a t p r o g r e s s i v e l y g r o w t h e p a r a m e t e r s f r o m z e r o a n d e n s u r e t h a t n o h a r m f u l n o i s e c o u l d a f f e c t t h e f i n e t u n i n g . W e t e s t v a r i o u s c o n d i t i o n i n g c o n t r o l s , e g , e d g e s , d e p t h , s e g m e n t a t i o n , h u m a n p o s e , e t c , w i t h S t a b l e D i f f u s i o n , u s i n g s i n g l e o r m u l t i p l e c o n d i t i o n s , w i t h o r w i t h o u t p r o m p t s . W e s h o w t h a t t h e t r a i n i n g o f C o n t r o l N e t s i s r o b u s t w i t h s m a l l ( < 5 0 k ) a n d l a r g e ( > 1 m ) d a t a s e t s . E x t e n s i v e r e s u l t s s h o w t h a t C o n t r o l N e t m a y f a c i l i t a t e w i d e r a p p l i c a t i o n s t o c o n t r o l i m a g e d i f f u s i o n m o d e l s . * T h i s c o d e i s i m p l e m e n t e d b y T e n c e n t H u n y u a n T e a m . Y o u c a n f i n d p r e - t r a i n e d c h e c k p o i n t s f o r H u n y u a n - D i T C o n t r o l N e t s o n [ T e n c e n t H u n y u a n ] ( h t t p s : / / h u g g i n g f a c e . c o / T e n c e n t - H u n y u a n ) . # # E x a m p l e F o r L o a d i n g H u n y u a n D i T 2 D C o n t r o l N e t M o d e l ` ` ` p y f r o m d i f f u s e r s i m p o r t H u n y u a n D i T 2 D C o n t r o l N e t M o d e l i m p o r t t o r c h c o n t r o l n e t = H u n y u a n D i T 2 D C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " T e n c e n t - H u n y u a n / H u n y u a n D i T - v 1 . 1 - C o n t r o l N e t - D i f f u s e r s - P o s e " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) ` ` ` # # H u n y u a n D i T 2 D C o n t r o l N e t M o d e l [ [ a u t o d o c ] ] H u n y u a n D i T 2 D C o n t r o l N e t M o d e l # H u n y u a n D i T 2 D M o d e l A D i f f u s i o n T r a n s f o r m e r m o d e l f o r 2 D d a t a f r o m [ H u n y u a n - D i T ] ( h t t p s : / / g i t h u b . c o m / T e n c e n t / H u n y u a n D i T ) . # # H u n y u a n D i T 2 D M o d e l [ [ a u t o d o c ] ] H u n y u a n D i T 2 D M o d e l # S t a b l e C a s c a d e U N e t A U N e t m o d e l f r o m t h e [ S t a b l e C a s c a d e p i p e l i n e ] ( . . / p i p e l i n e s / s t a b l e _ c a s c a d e . m d ) . # # S t a b l e C a s c a d e U N e t [ [ a u t o d o c ] ] m o d e l s . u n e t s . u n e t _ s t a b l e _ c a s c a d e . S t a b l e C a s c a d e U N e t # U N e t 2 D M o d e l T h e [ U N e t ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 1 5 0 5 . 0 4 5 9 7 ) m o d e l w a s o r i g i n a l l y i n t r o d u c e d b y R o n n e b e r g e r e t a l . f o r b i o m e d i c a l i m a g e s e g m e n t a t i o n , b u t i t i s a l s o c o m m o n l y u s e d i n ๐Ÿค— D i f f u s e r s b e c a u s e i t o u t p u t s i m a g e s t h a t a r e t h e s a m e s i z e a s t h e i n p u t . I t i s o n e o f t h e m o s t i m p o r t a n t c o m p o n e n t s o f a d i f f u s i o n s y s t e m b e c a u s e i t f a c i l i t a t e s t h e a c t u a l d i f f u s i o n p r o c e s s . T h e r e a r e s e v e r a l v a r i a n t s o f t h e U N e t m o d e l i n ๐Ÿค— D i f f u s e r s , d e p e n d i n g o n i t ' s n u m b e r o f d i m e n s i o n s a n d w h e t h e r i t i s a c o n d i t i o n a l m o d e l o r n o t . T h i s i s a 2 D U N e t m o d e l . T h e a b s t r a c t f r o m t h e p a p e r i s : * T h e r e i s l a r g e c o n s e n t t h a t s u c c e s s f u l t r a i n i n g o f d e e p n e t w o r k s r e q u i r e s m a n y t h o u s a n d a n n o t a t e d t r a i n i n g s a m p l e s . I n t h i s p a p e r , w e p r e s e n t a n e t w o r k a n d t r a i n i n g s t r a t e g y t h a t r e l i e s o n t h e s t r o n g u s e o f d a t a a u g m e n t a t i o n t o u s e t h e a v a i l a b l e a n n o t a t e d s a m p l e s m o r e e f f i c i e n t l y . T h e a r c h i t e c t u r e c o n s i s t s o f a c o n t r a c t i n g p a t h t o c a p t u r e c o n t e x t a n d a s y m m e t r i c e x p a n d i n g p a t h t h a t e n a b l e s p r e c i s e l o c a l i z a t i o n . W e s h o w t h a t s u c h a n e t w o r k c a n b e t r a i n e d e n d - t o - e n d f r o m v e r y f e w i m a g e s a n d o u t p e r f o r m s t h e p r i o r b e s t m e t h o d ( a s l i d i n g - w i n d o w c o n v o l u t i o n a l n e t w o r k ) o n t h e I S B I c h a l l e n g e f o r s e g m e n t a t i o n o f n e u r o n a l s t r u c t u r e s i n e l e c t r o n m i c r o s c o p i c s t a c k s . U s i n g t h e s a m e n e t w o r k t r a i n e d o n t r a n s m i t t e d l i g h t m i c r o s c o p y i m a g e s ( p h a s e c o n t r a s t a n d D I C ) w e w o n t h e I S B I c e l l t r a c k i n g c h a l l e n g e 2 0 1 5 i n t h e s e c a t e g o r i e s b y a l a r g e m a r g i n . M o r e o v e r , t h e n e t w o r k i s f a s t . S e g m e n t a t i o n o f a 5 1 2 x 5 1 2 i m a g e t a k e s l e s s t h a n a s e c o n d o n a r e c e n t G P U . T h e f u l l i m p l e m e n t a t i o n ( b a s e d o n C a f f e ) a n d t h e t r a i n e d n e t w o r k s a r e a v a i l a b l e a t h t t p : / / l m b . i n f o r m a t i k . u n i - f r e i b u r g . d e / p e o p l e / r o n n e b e r / u - n e t . * # # U N e t 2 D M o d e l # # U N e t 2 D O u t p u t [ [ a u t o d o c ] ] U N e t 2 D M o d e l [ [ a u t o d o c ] ] m o d e l s . u n e t s . u n e t _ 2 d . U N e t 2 D O u t p u t # A l l e g r o T r a n s f o r m e r 3 D M o d e l A D i f f u s i o n T r a n s f o r m e r m o d e l f o r 3 D d a t a f r o m [ A l l e g r o ] ( h t t p s : / / g i t h u b . c o m / r h y m e s - a i / A l l e g r o ) w a s i n t r o d u c e d i n [ A l l e g r o : O p e n t h e B l a c k B o x o f C o m m e r c i a l - L e v e l V i d e o G e n e r a t i o n M o d e l ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 4 1 0 . 1 5 4 5 8 ) b y R h y m e s A I . T h e m o d e l c a n b e l o a d e d w i t h t h e f o l l o w i n g c o d e s n i p p e t . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t A l l e g r o T r a n s f o r m e r 3 D M o d e l v a e = A l l e g r o T r a n s f o r m e r 3 D M o d e l . f r o m _ p r e t r a i n e d ( " r h y m e s - a i / A l l e g r o " , s u b f o l d e r = " t r a n s f o r m e r " , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) . t o ( " c u d a " ) ` ` ` # # A l l e g r o T r a n s f o r m e r 3 D M o d e l # # T r a n s f o r m e r 2 D M o d e l O u t p u t [ [ a u t o d o c ] ] A l l e g r o T r a n s f o r m e r 3 D M o d e l [ [ a u t o d o c ] ] m o d e l s . m o d e l i n g _ o u t p u t s . T r a n s f o r m e r 2 D M o d e l O u t p u t # V Q M o d e l T h e V Q - V A E m o d e l w a s i n t r o d u c e d i n [ N e u r a l D i s c r e t e R e p r e s e n t a t i o n L e a r n i n g ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 1 7 1 1 . 0 0 9 3 7 ) b y A a r o n v a n d e n O o r d , O r i o l V i n y a l s a n d K o r a y K a v u k c u o g l u . T h e m o d e l i s u s e d i n ๐Ÿค— D i f f u s e r s t o d e c o d e l a t e n t r e p r e s e n t a t i o n s i n t o i m a g e s . U n l i k e [ A u t o e n c o d e r K L ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / a u t o e n c o d e r k l # d i f f u s e r s . A u t o e n c o d e r K L ) , t h e ` V Q M o d e l ` w o r k s i n a q u a n t i z e d l a t e n t s p a c e . T h e a b s t r a c t f r o m t h e p a p e r i s : * L e a r n i n g u s e f u l r e p r e s e n t a t i o n s w i t h o u t s u p e r v i s i o n r e m a i n s a k e y c h a l l e n g e i n m a c h i n e l e a r n i n g . I n t h i s p a p e r , w e p r o p o s e a s i m p l e y e t p o w e r f u l g e n e r a t i v e m o d e l t h a t l e a r n s s u c h d i s c r e t e r e p r e s e n t a t i o n s . O u r m o d e l , t h e V e c t o r Q u a n t i s e d - V a r i a t i o n a l A u t o E n c o d e r ( V Q - V A E ) , d i f f e r s f r o m V A E s i n t w o k e y w a y s : t h e e n c o d e r n e t w o r k o u t p u t s d i s c r e t e , r a t h e r t h a n c o n t i n u o u s , c o d e s ; a n d t h e p r i o r i s l e a r n t r a t h e r t h a n s t a t i c . I n o r d e r t o l e a r n a d i s c r e t e l a t e n t r e p r e s e n t a t i o n , w e i n c o r p o r a t e i d e a s f r o m v e c t o r q u a n t i s a t i o n ( V Q ) . U s i n g t h e V Q m e t h o d a l l o w s t h e m o d e l t o c i r c u m v e n t i s s u e s o f " p o s t e r i o r c o l l a p s e " - - w h e r e t h e l a t e n t s a r e i g n o r e d w h e n t h e y a r e p a i r e d w i t h a p o w e r f u l a u t o r e g r e s s i v e d e c o d e r - - t y p i c a l l y o b s e r v e d i n t h e V A E f r a m e w o r k . P a i r i n g t h e s e r e p r e s e n t a t i o n s w i t h a n a u t o r e g r e s s i v e p r i o r , t h e m o d e l c a n g e n e r a t e h i g h q u a l i t y i m a g e s , v i d e o s , a n d s p e e c h a s w e l l a s d o i n g h i g h q u a l i t y s p e a k e r c o n v e r s i o n a n d u n s u p e r v i s e d l e a r n i n g o f p h o n e m e s , p r o v i d i n g f u r t h e r e v i d e n c e o f t h e u t i l i t y o f t h e l e a r n t r e p r e s e n t a t i o n s . * # # V Q M o d e l # # V Q E n c o d e r O u t p u t [ [ a u t o d o c ] ] V Q M o d e l [ [ a u t o d o c ] ] m o d e l s . a u t o e n c o d e r s . v q _ m o d e l . V Q E n c o d e r O u t p u t # U V i t 2 D M o d e l T h e [ U - V i T ] ( h t t p s : / / h f . c o / p a p e r s / 2 3 0 1 . 1 1 0 9 3 ) m o d e l i s a v i s i o n t r a n s f o r m e r ( V i T ) b a s e d U N e t . T h i s m o d e l i n c o r p o r a t e s e l e m e n t s f r o m V i T ( c o n s i d e r s a l l i n p u t s s u c h a s t i m e , c o n d i t i o n s a n d n o i s y i m a g e p a t c h e s a s t o k e n s ) a n d a U N e t ( l o n g s k i p c o n n e c t i o n s b e t w e e n t h e s h a l l o w a n d d e e p l a y e r s ) . T h e s k i p c o n n e c t i o n i s i m p o r t a n t f o r p r e d i c t i n g p i x e l - l e v e l f e a t u r e s . A n a d d i t i o n a l 3 x 3 c o n v o l u t i o n a l b l o c k i s a p p l i e d p r i o r t o t h e f i n a l o u t p u t t o i m p r o v e i m a g e q u a l i t y . T h e a b s t r a c t f r o m t h e p a p e r i s : * C u r r e n t l y , a p p l y i n g d i f f u s i o n m o d e l s i n p i x e l s p a c e o f h i g h r e s o l u t i o n i m a g e s i s d i f f i c u l t . I n s t e a d , e x i s t i n g a p p r o a c h e s f o c u s o n d i f f u s i o n i n l o w e r d i m e n s i o n a l s p a c e s ( l a t e n t d i f f u s i o n ) , o r h a v e m u l t i p l e s u p e r - r e s o l u t i o n l e v e l s o f g e n e r a t i o n r e f e r r e d t o a s c a s c a d e s . T h e d o w n s i d e i s t h a t t h e s e a p p r o a c h e s a d d a d d i t i o n a l c o m p l e x i t y t o t h e d i f f u s i o n f r a m e w o r k . T h i s p a p e r a i m s t o i m p r o v e d e n o i s i n g d i f f u s i o n f o r h i g h r e s o l u t i o n i m a g e s w h i l e k e e p i n g t h e m o d e l a s s i m p l e a s p o s s i b l e . T h e p a p e r i s c e n t e r e d a r o u n d t h e r e s e a r c h q u e s t i o n : H o w c a n o n e t r a i n a s t a n d a r d d e n o i s i n g d i f f u s i o n m o d e l s o n h i g h r e s o l u t i o n i m a g e s , a n d s t i l l o b t a i n p e r f o r m a n c e c o m p a r a b l e t o t h e s e a l t e r n a t e a p p r o a c h e s ? T h e f o u r m a i n f i n d i n g s a r e : 1 ) t h e n o i s e s c h e d u l e s h o u l d b e a d j u s t e d f o r h i g h r e s o l u t i o n i m a g e s , 2 ) I t i s s u f f i c i e n t t o s c a l e o n l y a p a r t i c u l a r p a r t o f t h e a r c h i t e c t u r e , 3 ) d r o p o u t s h o u l d b e a d d e d a t s p e c i f i c l o c a t i o n s i n t h e a r c h i t e c t u r e , a n d 4 ) d o w n s a m p l i n g i s a n e f f e c t i v e s t r a t e g y t o a v o i d h i g h r e s o l u t i o n f e a t u r e m a p s . C o m b i n i n g t h e s e s i m p l e y e t e f f e c t i v e t e c h n i q u e s , w e a c h i e v e s t a t e - o f - t h e - a r t o n i m a g e g e n e r a t i o n a m o n g d i f f u s i o n m o d e l s w i t h o u t s a m p l i n g m o d i f i e r s o n I m a g e N e t . * # # U V i t 2 D M o d e l # # U V i t 2 D C o n v E m b e d # # U V i t B l o c k # # C o n v N e x t B l o c k # # C o n v M l m L a y e r [ [ a u t o d o c ] ] U V i t 2 D M o d e l [ [ a u t o d o c ] ] m o d e l s . u n e t s . u v i t _ 2 d . U V i t 2 D C o n v E m b e d [ [ a u t o d o c ] ] m o d e l s . u n e t s . u v i t _ 2 d . U V i t B l o c k [ [ a u t o d o c ] ] m o d e l s . u n e t s . u v i t _ 2 d . C o n v N e x t B l o c k [ [ a u t o d o c ] ] m o d e l s . u n e t s . u v i t _ 2 d . C o n v M l m L a y e r # R e P a i n t S c h e d u l e r ` R e P a i n t S c h e d u l e r ` i s a D D P M - b a s e d i n p a i n t i n g s c h e d u l e r f o r u n s u p e r v i s e d i n p a i n t i n g w i t h e x t r e m e m a s k s . I t i s d e s i g n e d t o b e u s e d w i t h t h e ` R e P a i n t P i p e l i n e ` , a n d i t i s b a s e d o n t h e p a p e r [ R e P a i n t : I n p a i n t i n g u s i n g D e n o i s i n g D i f f u s i o n P r o b a b i l i s t i c M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 1 . 0 9 8 6 5 ) b y A n d r e a s L u g m a y r e t a l . T h e a b s t r a c t f r o m t h e p a p e r i s : * F r e e - f o r m i n p a i n t i n g i s t h e t a s k o f a d d i n g n e w c o n t e n t t o a n i m a g e i n t h e r e g i o n s s p e c i f i e d b y a n a r b i t r a r y b i n a r y m a s k . M o s t e x i s t i n g a p p r o a c h e s t r a i n f o r a c e r t a i n d i s t r i b u t i o n o f m a s k s , w h i c h l i m i t s t h e i r g e n e r a l i z a t i o n c a p a b i l i t i e s t o u n s e e n m a s k t y p e s . F u r t h e r m o r e , t r a i n i n g w i t h p i x e l - w i s e a n d p e r c e p t u a l l o s s e s o f t e n l e a d s t o s i m p l e t e x t u r a l e x t e n s i o n s t o w a r d s t h e m i s s i n g a r e a s i n s t e a d o f s e m a n t i c a l l y m e a n i n g f u l g e n e r a t i o n . I n t h i s w o r k , w e p r o p o s e R e P a i n t : A D e n o i s i n g D i f f u s i o n P r o b a b i l i s t i c M o d e l ( D D P M ) b a s e d i n p a i n t i n g a p p r o a c h t h a t i s a p p l i c a b l e t o e v e n e x t r e m e m a s k s . W e e m p l o y a p r e t r a i n e d u n c o n d i t i o n a l D D P M a s t h e g e n e r a t i v e p r i o r . T o c o n d i t i o n t h e g e n e r a t i o n p r o c e s s , w e o n l y a l t e r t h e r e v e r s e d i f f u s i o n i t e r a t i o n s b y s a m p l i n g t h e u n m a s k e d r e g i o n s u s i n g t h e g i v e n i m a g e i n f o r m a t i o n . S i n c e t h i s t e c h n i q u e d o e s n o t m o d i f y o r c o n d i t i o n t h e o r i g i n a l D D P M n e t w o r k i t s e l f , t h e m o d e l p r o d u c e s h i g h - q u a l i t y a n d d i v e r s e o u t p u t i m a g e s f o r a n y i n p a i n t i n g f o r m . W e v a l i d a t e o u r m e t h o d f o r b o t h f a c e s a n d g e n e r a l - p u r p o s e i m a g e i n p a i n t i n g u s i n g s t a n d a r d a n d e x t r e m e m a s k s . R e P a i n t o u t p e r f o r m s s t a t e - o f - t h e - a r t A u t o r e g r e s s i v e , a n d G A N a p p r o a c h e s f o r a t l e a s t f i v e o u t o f s i x m a s k d i s t r i b u t i o n s . G i t H u b R e p o s i t o r y : [ t h i s h t t p U R L ] ( h t t p : / / g i t . i o / R e P a i n t ) . * T h e o r i g i n a l i m p l e m e n t a t i o n c a n b e f o u n d a t [ a n d r e a s 1 2 8 / R e P a i n t ] ( h t t p s : / / g i t h u b . c o m / a n d r e a s 1 2 8 / ) . # # R e P a i n t S c h e d u l e r # # R e P a i n t S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] R e P a i n t S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ r e p a i n t . R e P a i n t S c h e d u l e r O u t p u t # E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r A s c h e d u l e r t h a t u s e s a n c e s t r a l s a m p l i n g w i t h E u l e r m e t h o d s t e p s . T h i s i s a f a s t s c h e d u l e r w h i c h c a n o f t e n g e n e r a t e g o o d o u t p u t s i n 2 0 - 3 0 s t e p s . T h e s c h e d u l e r i s b a s e d o n t h e o r i g i n a l [ k - d i f f u s i o n ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / k - d i f f u s i o n / b l o b / 4 8 1 6 7 7 d 1 1 4 f 6 e a 4 4 5 a a 0 0 9 c f 5 b d 7 a 9 c d e e 9 0 9 e 4 7 / k _ d i f f u s i o n / s a m p l i n g . p y # L 7 2 ) i m p l e m e n t a t i o n b y [ K a t h e r i n e C r o w s o n ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / ) . # # E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r # # E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ e u l e r _ a n c e s t r a l _ d i s c r e t e . E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r O u t p u t # F l o w M a t c h H e u n D i s c r e t e S c h e d u l e r ` F l o w M a t c h H e u n D i s c r e t e S c h e d u l e r ` i s b a s e d o n t h e f l o w - m a t c h i n g s a m p l i n g i n t r o d u c e d i n [ E D M ] ( h t t p s : / / a r x i v . o r g / a b s / 2 4 0 3 . 0 3 2 0 6 ) . # # F l o w M a t c h H e u n D i s c r e t e S c h e d u l e r [ [ a u t o d o c ] ] F l o w M a t c h H e u n D i s c r e t e S c h e d u l e r # H e u n D i s c r e t e S c h e d u l e r T h e H e u n s c h e d u l e r ( A l g o r i t h m 1 ) i s f r o m t h e [ E l u c i d a t i n g t h e D e s i g n S p a c e o f D i f f u s i o n - B a s e d G e n e r a t i v e M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 6 . 0 0 3 6 4 ) p a p e r b y K a r r a s e t a l . T h e s c h e d u l e r i s p o r t e d f r o m t h e [ k - d i f f u s i o n ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / k - d i f f u s i o n ) l i b r a r y a n d c r e a t e d b y [ K a t h e r i n e C r o w s o n ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / ) . # # H e u n D i s c r e t e S c h e d u l e r # # S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] H e u n D i s c r e t e S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ u t i l s . S c h e d u l e r O u t p u t # U n i P C M u l t i s t e p S c h e d u l e r ` U n i P C M u l t i s t e p S c h e d u l e r ` i s a t r a i n i n g - f r e e f r a m e w o r k d e s i g n e d f o r f a s t s a m p l i n g o f d i f f u s i o n m o d e l s . I t w a s i n t r o d u c e d i n [ U n i P C : A U n i f i e d P r e d i c t o r - C o r r e c t o r F r a m e w o r k f o r F a s t S a m p l i n g o f D i f f u s i o n M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 2 . 0 4 8 6 7 ) b y W e n l i a n g Z h a o , L u j i a B a i , Y o n g m i n g R a o , J i e Z h o u , J i w e n L u . I t c o n s i s t s o f a c o r r e c t o r ( U n i C ) a n d a p r e d i c t o r ( U n i P ) t h a t s h a r e a u n i f i e d a n a l y t i c a l f o r m a n d s u p p o r t a r b i t r a r y o r d e r s . U n i P C i s b y d e s i g n m o d e l - a g n o s t i c , s u p p o r t i n g p i x e l - s p a c e / l a t e n t - s p a c e D P M s o n u n c o n d i t i o n a l / c o n d i t i o n a l s a m p l i n g . I t c a n a l s o b e a p p l i e d t o b o t h n o i s e p r e d i c t i o n a n d d a t a p r e d i c t i o n m o d e l s . T h e c o r r e c t o r U n i C c a n b e a l s o a p p l i e d a f t e r a n y o f f - t h e - s h e l f s o l v e r s t o i n c r e a s e t h e o r d e r o f a c c u r a c y . T h e a b s t r a c t f r o m t h e p a p e r i s : * D i f f u s i o n p r o b a b i l i s t i c m o d e l s ( D P M s ) h a v e d e m o n s t r a t e d a v e r y p r o m i s i n g a b i l i t y i n h i g h - r e s o l u t i o n i m a g e s y n t h e s i s . H o w e v e r , s a m p l i n g f r o m a p r e - t r a i n e d D P M i s t i m e - c o n s u m i n g d u e t o t h e m u l t i p l e e v a l u a t i o n s o f t h e d e n o i s i n g n e t w o r k , m a k i n g i t m o r e a n d m o r e i m p o r t a n t t o a c c e l e r a t e t h e s a m p l i n g o f D P M s . D e s p i t e r e c e n t p r o g r e s s i n d e s i g n i n g f a s t s a m p l e r s , e x i s t i n g m e t h o d s s t i l l c a n n o t g e n e r a t e s a t i s f y i n g i m a g e s i n m a n y a p p l i c a t i o n s w h e r e f e w e r s t e p s ( e . g . , < 1 0 ) a r e f a v o r e d . I n t h i s p a p e r , w e d e v e l o p a u n i f i e d c o r r e c t o r ( U n i C ) t h a t c a n b e a p p l i e d a f t e r a n y e x i s t i n g D P M s a m p l e r t o i n c r e a s e t h e o r d e r o f a c c u r a c y w i t h o u t e x t r a m o d e l e v a l u a t i o n s , a n d d e r i v e a u n i f i e d p r e d i c t o r ( U n i P ) t h a t s u p p o r t s a r b i t r a r y o r d e r a s a b y p r o d u c t . C o m b i n i n g U n i P a n d U n i C , w e p r o p o s e a u n i f i e d p r e d i c t o r - c o r r e c t o r f r a m e w o r k c a l l e d U n i P C f o r t h e f a s t s a m p l i n g o f D P M s , w h i c h h a s a u n i f i e d a n a l y t i c a l f o r m f o r a n y o r d e r a n d c a n s i g n i f i c a n t l y i m p r o v e t h e s a m p l i n g q u a l i t y o v e r p r e v i o u s m e t h o d s , e s p e c i a l l y i n e x t r e m e l y f e w s t e p s . W e e v a l u a t e o u r m e t h o d s t h r o u g h e x t e n s i v e e x p e r i m e n t s i n c l u d i n g b o t h u n c o n d i t i o n a l a n d c o n d i t i o n a l s a m p l i n g u s i n g p i x e l - s p a c e a n d l a t e n t - s p a c e D P M s . O u r U n i P C c a n a c h i e v e 3 . 8 7 F I D o n C I F A R 1 0 ( u n c o n d i t i o n a l ) a n d 7 . 5 1 F I D o n I m a g e N e t 2 5 6 ร— 2 5 6 ( c o n d i t i o n a l ) w i t h o n l y 1 0 f u n c t i o n e v a l u a t i o n s . C o d e i s a v a i l a b l e a t [ t h i s h t t p s U R L ] ( h t t p s : / / g i t h u b . c o m / w l - z h a o / U n i P C ) . * # # T i p s I t i s r e c o m m e n d e d t o s e t ` s o l v e r _ o r d e r ` t o 2 f o r g u i d e s a m p l i n g , a n d ` s o l v e r _ o r d e r = 3 ` f o r u n c o n d i t i o n a l s a m p l i n g . D y n a m i c t h r e s h o l d i n g f r o m [ I m a g e n ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 5 . 1 1 4 8 7 ) i s s u p p o r t e d , a n d f o r p i x e l - s p a c e d i f f u s i o n m o d e l s , y o u c a n s e t b o t h ` p r e d i c t _ x 0 = T r u e ` a n d ` t h r e s h o l d i n g = T r u e ` t o u s e d y n a m i c t h r e s h o l d i n g . T h i s t h r e s h o l d i n g m e t h o d i s u n s u i t a b l e f o r l a t e n t - s p a c e d i f f u s i o n m o d e l s s u c h a s S t a b l e D i f f u s i o n . # # U n i P C M u l t i s t e p S c h e d u l e r # # S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] U n i P C M u l t i s t e p S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ u t i l s . S c h e d u l e r O u t p u t # D D P M S c h e d u l e r [ D e n o i s i n g D i f f u s i o n P r o b a b i l i s t i c M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 0 0 6 . 1 1 2 3 9 ) ( D D P M ) b y J o n a t h a n H o , A j a y J a i n a n d P i e t e r A b b e e l p r o p o s e s a d i f f u s i o n b a s e d m o d e l o f t h e s a m e n a m e . I n t h e c o n t e x t o f t h e ๐Ÿค— D i f f u s e r s l i b r a r y , D D P M r e f e r s t o t h e d i s c r e t e d e n o i s i n g s c h e d u l e r f r o m t h e p a p e r a s w e l l a s t h e p i p e l i n e . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e p r e s e n t h i g h q u a l i t y i m a g e s y n t h e s i s r e s u l t s u s i n g d i f f u s i o n p r o b a b i l i s t i c m o d e l s , a c l a s s o f l a t e n t v a r i a b l e m o d e l s i n s p i r e d b y c o n s i d e r a t i o n s f r o m n o n e q u i l i b r i u m t h e r m o d y n a m i c s . O u r b e s t r e s u l t s a r e o b t a i n e d b y t r a i n i n g o n a w e i g h t e d v a r i a t i o n a l b o u n d d e s i g n e d a c c o r d i n g t o a n o v e l c o n n e c t i o n b e t w e e n d i f f u s i o n p r o b a b i l i s t i c m o d e l s a n d d e n o i s i n g s c o r e m a t c h i n g w i t h L a n g e v i n d y n a m i c s , a n d o u r m o d e l s n a t u r a l l y a d m i t a p r o g r e s s i v e l o s s y d e c o m p r e s s i o n s c h e m e t h a t c a n b e i n t e r p r e t e d a s a g e n e r a l i z a t i o n o f a u t o r e g r e s s i v e d e c o d i n g . O n t h e u n c o n d i t i o n a l C I F A R 1 0 d a t a s e t , w e o b t a i n a n I n c e p t i o n s c o r e o f 9 . 4 6 a n d a s t a t e - o f - t h e - a r t F I D s c o r e o f 3 . 1 7 . O n 2 5 6 x 2 5 6 L S U N , w e o b t a i n s a m p l e q u a l i t y s i m i l a r t o P r o g r e s s i v e G A N . O u r i m p l e m e n t a t i o n i s a v a i l a b l e a t [ t h i s h t t p s U R L ] ( h t t p s : / / g i t h u b . c o m / h o j o n a t h a n h o / d i f f u s i o n ) . * # # D D P M S c h e d u l e r # # D D P M S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] D D P M S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ d d p m . D D P M S c h e d u l e r O u t p u t # P N D M S c h e d u l e r ` P N D M S c h e d u l e r ` , o r p s e u d o n u m e r i c a l m e t h o d s f o r d i f f u s i o n m o d e l s , u s e s m o r e a d v a n c e d O D E i n t e g r a t i o n t e c h n i q u e s l i k e t h e R u n g e - K u t t a a n d l i n e a r m u l t i - s t e p m e t h o d . T h e o r i g i n a l i m p l e m e n t a t i o n c a n b e f o u n d a t [ c r o w s o n k b / k - d i f f u s i o n ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / k - d i f f u s i o n / b l o b / 4 8 1 6 7 7 d 1 1 4 f 6 e a 4 4 5 a a 0 0 9 c f 5 b d 7 a 9 c d e e 9 0 9 e 4 7 / k _ d i f f u s i o n / s a m p l i n g . p y # L 1 8 1 ) . # # P N D M S c h e d u l e r # # S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] P N D M S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ u t i l s . S c h e d u l e r O u t p u t # V Q D i f f u s i o n S c h e d u l e r ` V Q D i f f u s i o n S c h e d u l e r ` c o n v e r t s t h e t r a n s f o r m e r m o d e l ' s o u t p u t i n t o a s a m p l e f o r t h e u n n o i s e d i m a g e a t t h e p r e v i o u s d i f f u s i o n t i m e s t e p . I t w a s i n t r o d u c e d i n [ V e c t o r Q u a n t i z e d D i f f u s i o n M o d e l f o r T e x t - t o - I m a g e S y n t h e s i s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 1 1 1 . 1 4 8 2 2 ) b y S h u y a n g G u , D o n g C h e n , J i a n m i n B a o , F a n g W e n , B o Z h a n g , D o n g d o n g C h e n , L u Y u a n , B a i n i n g G u o . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e p r e s e n t t h e v e c t o r q u a n t i z e d d i f f u s i o n ( V Q - D i f f u s i o n ) m o d e l f o r t e x t - t o - i m a g e g e n e r a t i o n . T h i s m e t h o d i s b a s e d o n a v e c t o r q u a n t i z e d v a r i a t i o n a l a u t o e n c o d e r ( V Q - V A E ) w h o s e l a t e n t s p a c e i s m o d e l e d b y a c o n d i t i o n a l v a r i a n t o f t h e r e c e n t l y d e v e l o p e d D e n o i s i n g D i f f u s i o n P r o b a b i l i s t i c M o d e l ( D D P M ) . W e f i n d t h a t t h i s l a t e n t - s p a c e m e t h o d i s w e l l - s u i t e d f o r t e x t - t o - i m a g e g e n e r a t i o n t a s k s b e c a u s e i t n o t o n l y e l i m i n a t e s t h e u n i d i r e c t i o n a l b i a s w i t h e x i s t i n g m e t h o d s b u t a l s o a l l o w s u s t o i n c o r p o r a t e a m a s k - a n d - r e p l a c e d i f f u s i o n s t r a t e g y t o a v o i d t h e a c c u m u l a t i o n o f e r r o r s , w h i c h i s a s e r i o u s p r o b l e m w i t h e x i s t i n g m e t h o d s . O u r e x p e r i m e n t s s h o w t h a t t h e V Q - D i f f u s i o n p r o d u c e s s i g n i f i c a n t l y b e t t e r t e x t - t o - i m a g e g e n e r a t i o n r e s u l t s w h e n c o m p a r e d w i t h c o n v e n t i o n a l a u t o r e g r e s s i v e ( A R ) m o d e l s w i t h s i m i l a r n u m b e r s o f p a r a m e t e r s . C o m p a r e d w i t h p r e v i o u s G A N - b a s e d t e x t - t o - i m a g e m e t h o d s , o u r V Q - D i f f u s i o n c a n h a n d l e m o r e c o m p l e x s c e n e s a n d i m p r o v e t h e s y n t h e s i z e d i m a g e q u a l i t y b y a l a r g e m a r g i n . F i n a l l y , w e s h o w t h a t t h e i m a g e g e n e r a t i o n c o m p u t a t i o n i n o u r m e t h o d c a n b e m a d e h i g h l y e f f i c i e n t b y r e p a r a m e t e r i z a t i o n . W i t h t r a d i t i o n a l A R m e t h o d s , t h e t e x t - t o - i m a g e g e n e r a t i o n t i m e i n c r e a s e s l i n e a r l y w i t h t h e o u t p u t i m a g e r e s o l u t i o n a n d h e n c e i s q u i t e t i m e c o n s u m i n g e v e n f o r n o r m a l s i z e i m a g e s . T h e V Q - D i f f u s i o n a l l o w s u s t o a c h i e v e a b e t t e r t r a d e - o f f b e t w e e n q u a l i t y a n d s p e e d . O u r e x p e r i m e n t s i n d i c a t e t h a t t h e V Q - D i f f u s i o n m o d e l w i t h t h e r e p a r a m e t e r i z a t i o n i s f i f t e e n t i m e s f a s t e r t h a n t r a d i t i o n a l A R m e t h o d s w h i l e a c h i e v i n g a b e t t e r i m a g e q u a l i t y . * # # V Q D i f f u s i o n S c h e d u l e r # # V Q D i f f u s i o n S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] V Q D i f f u s i o n S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ v q _ d i f f u s i o n . V Q D i f f u s i o n S c h e d u l e r O u t p u t # D D I M S c h e d u l e r [ D e n o i s i n g D i f f u s i o n I m p l i c i t M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 0 1 0 . 0 2 5 0 2 ) ( D D I M ) b y J i a m i n g S o n g , C h e n l i n M e n g a n d S t e f a n o E r m o n . T h e a b s t r a c t f r o m t h e p a p e r i s : * D e n o i s i n g d i f f u s i o n p r o b a b i l i s t i c m o d e l s ( D D P M s ) h a v e a c h i e v e d h i g h q u a l i t y i m a g e g e n e r a t i o n w i t h o u t a d v e r s a r i a l t r a i n i n g , y e t t h e y r e q u i r e s i m u l a t i n g a M a r k o v c h a i n f o r m a n y s t e p s t o p r o d u c e a s a m p l e . T o a c c e l e r a t e s a m p l i n g , w e p r e s e n t d e n o i s i n g d i f f u s i o n i m p l i c i t m o d e l s ( D D I M s ) , a m o r e e f f i c i e n t c l a s s o f i t e r a t i v e i m p l i c i t p r o b a b i l i s t i c m o d e l s w i t h t h e s a m e t r a i n i n g p r o c e d u r e a s D D P M s . I n D D P M s , t h e g e n e r a t i v e p r o c e s s i s d e f i n e d a s t h e r e v e r s e o f a M a r k o v i a n d i f f u s i o n p r o c e s s . W e c o n s t r u c t a c l a s s o f n o n - M a r k o v i a n d i f f u s i o n p r o c e s s e s t h a t l e a d t o t h e s a m e t r a i n i n g o b j e c t i v e , b u t w h o s e r e v e r s e p r o c e s s c a n b e m u c h f a s t e r t o s a m p l e f r o m . W e e m p i r i c a l l y d e m o n s t r a t e t h a t D D I M s c a n p r o d u c e h i g h q u a l i t y s a m p l e s 1 0 ร— t o 5 0 ร— f a s t e r i n t e r m s o f w a l l - c l o c k t i m e c o m p a r e d t o D D P M s , a l l o w u s t o t r a d e o f f c o m p u t a t i o n f o r s a m p l e q u a l i t y , a n d c a n p e r f o r m s e m a n t i c a l l y m e a n i n g f u l i m a g e i n t e r p o l a t i o n d i r e c t l y i n t h e l a t e n t s p a c e . * T h e o r i g i n a l c o d e b a s e o f t h i s p a p e r c a n b e f o u n d a t [ e r m o n g r o u p / d d i m ] ( h t t p s : / / g i t h u b . c o m / e r m o n g r o u p / d d i m ) , a n d y o u c a n c o n t a c t t h e a u t h o r o n [ t s o n g . m e ] ( h t t p s : / / t s o n g . m e / ) . # # T i p s T h e p a p e r [ C o m m o n D i f f u s i o n N o i s e S c h e d u l e s a n d S a m p l e S t e p s a r e F l a w e d ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 5 . 0 8 8 9 1 ) c l a i m s t h a t a m i s m a t c h b e t w e e n t h e t r a i n i n g a n d i n f e r e n c e s e t t i n g s l e a d s t o s u b o p t i m a l i n f e r e n c e g e n e r a t i o n r e s u l t s f o r S t a b l e D i f f u s i o n . T o f i x t h i s , t h e a u t h o r s p r o p o s e : < T i p w a r n i n g = { t r u e } > ๐Ÿงช T h i s i s a n e x p e r i m e n t a l f e a t u r e ! < / T i p > 1 . r e s c a l e t h e n o i s e s c h e d u l e t o e n f o r c e z e r o t e r m i n a l s i g n a l - t o - n o i s e r a t i o ( S N R ) ` ` ` p y p i p e . s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g , r e s c a l e _ b e t a s _ z e r o _ s n r = T r u e ) ` ` ` 2 . t r a i n a m o d e l w i t h ` v _ p r e d i c t i o n ` ( a d d t h e f o l l o w i n g a r g u m e n t t o t h e [ t r a i n _ t e x t _ t o _ i m a g e . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e . p y ) o r [ t r a i n _ t e x t _ t o _ i m a g e _ l o r a . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ l o r a . p y ) s c r i p t s ) ` ` ` b a s h - - p r e d i c t i o n _ t y p e = " v _ p r e d i c t i o n " ` ` ` 3 . c h a n g e t h e s a m p l e r t o a l w a y s s t a r t f r o m t h e l a s t t i m e s t e p ` ` ` p y p i p e . s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g , t i m e s t e p _ s p a c i n g = " t r a i l i n g " ) ` ` ` 4 . r e s c a l e c l a s s i f i e r - f r e e g u i d a n c e t o p r e v e n t o v e r - e x p o s u r e ` ` ` p y i m a g e = p i p e ( p r o m p t , g u i d a n c e _ r e s c a l e = 0 . 7 ) . i m a g e s [ 0 ] ` ` ` F o r e x a m p l e : ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e , D D I M S c h e d u l e r i m p o r t t o r c h p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " p t x 0 / p s e u d o - j o u r n e y - v 2 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g , r e s c a l e _ b e t a s _ z e r o _ s n r = T r u e , t i m e s t e p _ s p a c i n g = " t r a i l i n g " ) p i p e . t o ( " c u d a " ) p r o m p t = " A l i o n i n g a l a x i e s , s p i r a l s , n e b u l a e , s t a r s , s m o k e , i r i d e s c e n t , i n t r i c a t e d e t a i l , o c t a n e r e n d e r , 8 k " i m a g e = p i p e ( p r o m p t , g u i d a n c e _ r e s c a l e = 0 . 7 ) . i m a g e s [ 0 ] i m a g e ` ` ` # # D D I M S c h e d u l e r # # D D I M S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] D D I M S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ d d i m . D D I M S c h e d u l e r O u t p u t # K D P M 2 D i s c r e t e S c h e d u l e r T h e ` K D P M 2 D i s c r e t e S c h e d u l e r ` i s i n s p i r e d b y t h e [ E l u c i d a t i n g t h e D e s i g n S p a c e o f D i f f u s i o n - B a s e d G e n e r a t i v e M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 6 . 0 0 3 6 4 ) p a p e r , a n d t h e s c h e d u l e r i s p o r t e d f r o m a n d c r e a t e d b y [ K a t h e r i n e C r o w s o n ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / ) . T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ c r o w s o n k b / k - d i f f u s i o n ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / k - d i f f u s i o n ) . # # K D P M 2 D i s c r e t e S c h e d u l e r # # S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] K D P M 2 D i s c r e t e S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ u t i l s . S c h e d u l e r O u t p u t # E D M E u l e r S c h e d u l e r T h e K a r r a s f o r m u l a t i o n o f t h e E u l e r s c h e d u l e r ( A l g o r i t h m 2 ) f r o m t h e [ E l u c i d a t i n g t h e D e s i g n S p a c e o f D i f f u s i o n - B a s e d G e n e r a t i v e M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 6 . 0 0 3 6 4 ) p a p e r b y K a r r a s e t a l . T h i s i s a f a s t s c h e d u l e r w h i c h c a n o f t e n g e n e r a t e g o o d o u t p u t s i n 2 0 - 3 0 s t e p s . T h e s c h e d u l e r i s b a s e d o n t h e o r i g i n a l [ k - d i f f u s i o n ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / k - d i f f u s i o n / b l o b / 4 8 1 6 7 7 d 1 1 4 f 6 e a 4 4 5 a a 0 0 9 c f 5 b d 7 a 9 c d e e 9 0 9 e 4 7 / k _ d i f f u s i o n / s a m p l i n g . p y # L 5 1 ) i m p l e m e n t a t i o n b y [ K a t h e r i n e C r o w s o n ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / ) . # # E D M E u l e r S c h e d u l e r # # E D M E u l e r S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] E D M E u l e r S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ e d m _ e u l e r . E D M E u l e r S c h e d u l e r O u t p u t # K a r r a s V e S c h e d u l e r ` K a r r a s V e S c h e d u l e r ` i s a s t o c h a s t i c s a m p l e r t a i l o r e d t o v a r i a n c e - e x p a n d i n g ( V E ) m o d e l s . I t i s b a s e d o n t h e [ E l u c i d a t i n g t h e D e s i g n S p a c e o f D i f f u s i o n - B a s e d G e n e r a t i v e M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 6 . 0 0 3 6 4 ) a n d [ S c o r e - b a s e d g e n e r a t i v e m o d e l i n g t h r o u g h s t o c h a s t i c d i f f e r e n t i a l e q u a t i o n s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 0 1 1 . 1 3 4 5 6 ) p a p e r s . # # K a r r a s V e S c h e d u l e r # # K a r r a s V e O u t p u t [ [ a u t o d o c ] ] K a r r a s V e S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . d e p r e c a t e d . s c h e d u l i n g _ k a r r a s _ v e . K a r r a s V e O u t p u t # C o s i n e D P M S o l v e r M u l t i s t e p S c h e d u l e r T h e ` C o s i n e D P M S o l v e r M u l t i s t e p S c h e d u l e r ` i s a v a r i a n t o f ` D P M S o l v e r M u l t i s t e p S c h e d u l e r ` w i t h c o s i n e s c h e d u l e , p r o p o s e d b y N i c h o l a n d D h a r i w a l ( 2 0 2 1 ) . I t i s b e i n g u s e d i n t h e [ S t a b l e A u d i o O p e n ] ( h t t p s : / / a r x i v . o r g / a b s / 2 4 0 7 . 1 4 3 5 8 ) p a p e r a n d t h e [ S t a b i l i t y - A I / s t a b l e - a u d i o - t o o l ] ( h t t p s : / / g i t h u b . c o m / S t a b i l i t y - A I / s t a b l e - a u d i o - t o o l ) c o d e b a s e . T h i s s c h e d u l e r w a s c o n t r i b u t e d b y [ Y o a c h L a c o m b e ] ( h t t p s : / / h u g g i n g f a c e . c o / y l a c o m b e ) . # # C o s i n e D P M S o l v e r M u l t i s t e p S c h e d u l e r # # S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] C o s i n e D P M S o l v e r M u l t i s t e p S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ u t i l s . S c h e d u l e r O u t p u t # K D P M 2 A n c e s t r a l D i s c r e t e S c h e d u l e r T h e ` K D P M 2 D i s c r e t e S c h e d u l e r ` w i t h a n c e s t r a l s a m p l i n g i s i n s p i r e d b y t h e [ E l u c i d a t i n g t h e D e s i g n S p a c e o f D i f f u s i o n - B a s e d G e n e r a t i v e M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 6 . 0 0 3 6 4 ) p a p e r , a n d t h e s c h e d u l e r i s p o r t e d f r o m a n d c r e a t e d b y [ K a t h e r i n e C r o w s o n ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / ) . T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ c r o w s o n k b / k - d i f f u s i o n ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / k - d i f f u s i o n ) . # # K D P M 2 A n c e s t r a l D i s c r e t e S c h e d u l e r # # S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] K D P M 2 A n c e s t r a l D i s c r e t e S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ u t i l s . S c h e d u l e r O u t p u t # S c h e d u l e r s ๐Ÿค— D i f f u s e r s p r o v i d e s m a n y s c h e d u l e r f u n c t i o n s f o r t h e d i f f u s i o n p r o c e s s . A s c h e d u l e r t a k e s a m o d e l ' s o u t p u t ( t h e s a m p l e w h i c h t h e d i f f u s i o n p r o c e s s i s i t e r a t i n g o n ) a n d a t i m e s t e p t o r e t u r n a d e n o i s e d s a m p l e . T h e t i m e s t e p i s i m p o r t a n t b e c a u s e i t d i c t a t e s w h e r e i n t h e d i f f u s i o n p r o c e s s t h e s t e p i s ; d a t a i s g e n e r a t e d b y i t e r a t i n g f o r w a r d * n * t i m e s t e p s a n d i n f e r e n c e o c c u r s b y p r o p a g a t i n g b a c k w a r d t h r o u g h t h e t i m e s t e p s . B a s e d o n t h e t i m e s t e p , a s c h e d u l e r m a y b e * d i s c r e t e * i n w h i c h c a s e t h e t i m e s t e p i s a n ` i n t ` o r * c o n t i n u o u s * i n w h i c h c a s e t h e t i m e s t e p i s a ` f l o a t ` . D e p e n d i n g o n t h e c o n t e x t , a s c h e d u l e r d e f i n e s h o w t o i t e r a t i v e l y a d d n o i s e t o a n i m a g e o r h o w t o u p d a t e a s a m p l e b a s e d o n a m o d e l ' s o u t p u t : - d u r i n g * t r a i n i n g * , a s c h e d u l e r a d d s n o i s e ( t h e r e a r e d i f f e r e n t a l g o r i t h m s f o r h o w t o a d d n o i s e ) t o a s a m p l e t o t r a i n a d i f f u s i o n m o d e l - d u r i n g * i n f e r e n c e * , a s c h e d u l e r d e f i n e s h o w t o u p d a t e a s a m p l e b a s e d o n a p r e t r a i n e d m o d e l ' s o u t p u t M a n y s c h e d u l e r s a r e i m p l e m e n t e d f r o m t h e [ k - d i f f u s i o n ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / k - d i f f u s i o n ) l i b r a r y b y [ K a t h e r i n e C r o w s o n ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / ) , a n d t h e y ' r e a l s o w i d e l y u s e d i n A 1 1 1 1 . T o h e l p y o u m a p t h e s c h e d u l e r s f r o m k - d i f f u s i o n a n d A 1 1 1 1 t o t h e s c h e d u l e r s i n ๐Ÿค— D i f f u s e r s , t a k e a l o o k a t t h e t a b l e b e l o w : | A 1 1 1 1 / k - d i f f u s i o n | ๐Ÿค— D i f f u s e r s | U s a g e | | - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | D P M + + 2 M | ` D P M S o l v e r M u l t i s t e p S c h e d u l e r ` | | | D P M + + 2 M K a r r a s | ` D P M S o l v e r M u l t i s t e p S c h e d u l e r ` | i n i t w i t h ` u s e _ k a r r a s _ s i g m a s = T r u e ` | | D P M + + 2 M S D E | ` D P M S o l v e r M u l t i s t e p S c h e d u l e r ` | i n i t w i t h ` a l g o r i t h m _ t y p e = " s d e - d p m s o l v e r + + " ` | | D P M + + 2 M S D E K a r r a s | ` D P M S o l v e r M u l t i s t e p S c h e d u l e r ` | i n i t w i t h ` u s e _ k a r r a s _ s i g m a s = T r u e ` a n d ` a l g o r i t h m _ t y p e = " s d e - d p m s o l v e r + + " ` | | D P M + + 2 S a | N / A | v e r y s i m i l a r t o ` D P M S o l v e r S i n g l e s t e p S c h e d u l e r ` | | D P M + + 2 S a K a r r a s | N / A | v e r y s i m i l a r t o ` D P M S o l v e r S i n g l e s t e p S c h e d u l e r ( u s e _ k a r r a s _ s i g m a s = T r u e , . . . ) ` | | D P M + + S D E | ` D P M S o l v e r S i n g l e s t e p S c h e d u l e r ` | | | D P M + + S D E K a r r a s | ` D P M S o l v e r S i n g l e s t e p S c h e d u l e r ` | i n i t w i t h ` u s e _ k a r r a s _ s i g m a s = T r u e ` | | D P M 2 | [ K D P M 2 D i s c r e t e S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / d p m _ d i s c r e t e # d i f f u s e r s . K D P M 2 D i s c r e t e S c h e d u l e r ) | | | D P M 2 K a r r a s | [ K D P M 2 D i s c r e t e S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / d p m _ d i s c r e t e # d i f f u s e r s . K D P M 2 D i s c r e t e S c h e d u l e r ) | i n i t w i t h ` u s e _ k a r r a s _ s i g m a s = T r u e ` | | D P M 2 a | [ K D P M 2 A n c e s t r a l D i s c r e t e S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / d p m _ d i s c r e t e _ a n c e s t r a l # d i f f u s e r s . K D P M 2 A n c e s t r a l D i s c r e t e S c h e d u l e r ) | | | D P M 2 a K a r r a s | [ K D P M 2 A n c e s t r a l D i s c r e t e S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / d p m _ d i s c r e t e _ a n c e s t r a l # d i f f u s e r s . K D P M 2 A n c e s t r a l D i s c r e t e S c h e d u l e r ) | i n i t w i t h ` u s e _ k a r r a s _ s i g m a s = T r u e ` | | D P M a d a p t i v e | N / A | | | D P M f a s t | N / A | | | E u l e r | ` E u l e r D i s c r e t e S c h e d u l e r ` | | | E u l e r a | [ E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / e u l e r _ a n c e s t r a l # d i f f u s e r s . E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r ) | | | H e u n | [ H e u n D i s c r e t e S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / h e u n # d i f f u s e r s . H e u n D i s c r e t e S c h e d u l e r ) | | | L M S | ` L M S D i s c r e t e S c h e d u l e r ` | | | L M S K a r r a s | ` L M S D i s c r e t e S c h e d u l e r ` | i n i t w i t h ` u s e _ k a r r a s _ s i g m a s = T r u e ` | | N / A | ` D E I S M u l t i s t e p S c h e d u l e r ` | | | N / A | [ U n i P C M u l t i s t e p S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / u n i p c # d i f f u s e r s . U n i P C M u l t i s t e p S c h e d u l e r ) | | # # N o i s e s c h e d u l e s a n d s c h e d u l e t y p e s | A 1 1 1 1 / k - d i f f u s i o n | ๐Ÿค— D i f f u s e r s | | - - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | K a r r a s | i n i t w i t h ` u s e _ k a r r a s _ s i g m a s = T r u e ` | | s g m _ u n i f o r m | i n i t w i t h ` t i m e s t e p _ s p a c i n g = " t r a i l i n g " ` | | s i m p l e | i n i t w i t h ` t i m e s t e p _ s p a c i n g = " t r a i l i n g " ` | | e x p o n e n t i a l | i n i t w i t h ` t i m e s t e p _ s p a c i n g = " l i n s p a c e " ` , ` u s e _ e x p o n e n t i a l _ s i g m a s = T r u e ` | | b e t a | i n i t w i t h ` t i m e s t e p _ s p a c i n g = " l i n s p a c e " ` , ` u s e _ b e t a _ s i g m a s = T r u e ` | A l l s c h e d u l e r s a r e b u i l t f r o m t h e b a s e ` S c h e d u l e r M i x i n ` c l a s s w h i c h i m p l e m e n t s l o w l e v e l u t i l i t i e s s h a r e d b y a l l s c h e d u l e r s . # # S c h e d u l e r M i x i n # # S c h e d u l e r O u t p u t # # K a r r a s D i f f u s i o n S c h e d u l e r s ` K a r r a s D i f f u s i o n S c h e d u l e r s ` a r e a b r o a d g e n e r a l i z a t i o n o f s c h e d u l e r s i n ๐Ÿค— D i f f u s e r s . T h e s c h e d u l e r s i n t h i s c l a s s a r e d i s t i n g u i s h e d a t a h i g h l e v e l b y t h e i r n o i s e s a m p l i n g s t r a t e g y , t h e t y p e o f n e t w o r k a n d s c a l i n g , t h e t r a i n i n g s t r a t e g y , a n d h o w t h e l o s s i s w e i g h e d . T h e d i f f e r e n t s c h e d u l e r s i n t h i s c l a s s , d e p e n d i n g o n t h e o r d i n a r y d i f f e r e n t i a l e q u a t i o n s ( O D E ) s o l v e r t y p e , f a l l i n t o t h e a b o v e t a x o n o m y a n d p r o v i d e a g o o d a b s t r a c t i o n f o r t h e d e s i g n o f t h e m a i n s c h e d u l e r s i m p l e m e n t e d i n ๐Ÿค— D i f f u s e r s . T h e s c h e d u l e r s i n t h i s c l a s s a r e g i v e n [ h e r e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / a 6 9 7 5 4 b b 8 7 9 e d 5 5 b 9 b 6 d c 9 d d 0 b 3 c f 4 f a 4 1 2 4 c 7 6 5 / s r c / d i f f u s e r s / s c h e d u l e r s / s c h e d u l i n g _ u t i l s . p y # L 3 2 ) . # # P u s h T o H u b M i x i n [ [ a u t o d o c ] ] S c h e d u l e r M i x i n [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ u t i l s . S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] u t i l s . P u s h T o H u b M i x i n # T C D S c h e d u l e r [ T r a j e c t o r y C o n s i s t e n c y D i s t i l l a t i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 4 0 2 . 1 9 1 5 9 ) b y J i a n b i n Z h e n g , M i n g h u i H u , Z h o n g y i F a n , C h a o y u e W a n g , C h a n g x i n g D i n g , D a c h e n g T a o a n d T a t - J e n C h a m i n t r o d u c e d a S t r a t e g i c S t o c h a s t i c S a m p l i n g ( A l g o r i t h m 4 ) t h a t i s c a p a b l e o f g e n e r a t i n g g o o d s a m p l e s i n a s m a l l n u m b e r o f s t e p s . D i s t i n g u i s h i n g i t a s a n a d v a n c e d i t e r a t i o n o f t h e m u l t i s t e p s c h e d u l e r ( A l g o r i t h m 1 ) i n t h e [ C o n s i s t e n c y M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 3 . 0 1 4 6 9 ) , S t r a t e g i c S t o c h a s t i c S a m p l i n g s p e c i f i c a l l y t a i l o r e d f o r t h e t r a j e c t o r y c o n s i s t e n c y f u n c t i o n . T h e a b s t r a c t f r o m t h e p a p e r i s : * L a t e n t C o n s i s t e n c y M o d e l ( L C M ) e x t e n d s t h e C o n s i s t e n c y M o d e l t o t h e l a t e n t s p a c e a n d l e v e r a g e s t h e g u i d e d c o n s i s t e n c y d i s t i l l a t i o n t e c h n i q u e t o a c h i e v e i m p r e s s i v e p e r f o r m a n c e i n a c c e l e r a t i n g t e x t - t o - i m a g e s y n t h e s i s . H o w e v e r , w e o b s e r v e d t h a t L C M s t r u g g l e s t o g e n e r a t e i m a g e s w i t h b o t h c l a r i t y a n d d e t a i l e d i n t r i c a c y . T o a d d r e s s t h i s l i m i t a t i o n , w e i n i t i a l l y d e l v e i n t o a n d e l u c i d a t e t h e u n d e r l y i n g c a u s e s . O u r i n v e s t i g a t i o n i d e n t i f i e s t h a t t h e p r i m a r y i s s u e s t e m s f r o m e r r o r s i n t h r e e d i s t i n c t a r e a s . C o n s e q u e n t l y , w e i n t r o d u c e T r a j e c t o r y C o n s i s t e n c y D i s t i l l a t i o n ( T C D ) , w h i c h e n c o m p a s s e s t r a j e c t o r y c o n s i s t e n c y f u n c t i o n a n d s t r a t e g i c s t o c h a s t i c s a m p l i n g . T h e t r a j e c t o r y c o n s i s t e n c y f u n c t i o n d i m i n i s h e s t h e d i s t i l l a t i o n e r r o r s b y b r o a d e n i n g t h e s c o p e o f t h e s e l f - c o n s i s t e n c y b o u n d a r y c o n d i t i o n a n d e n d o w i n g t h e T C D w i t h t h e a b i l i t y t o a c c u r a t e l y t r a c e t h e e n t i r e t r a j e c t o r y o f t h e P r o b a b i l i t y F l o w O D E . A d d i t i o n a l l y , s t r a t e g i c s t o c h a s t i c s a m p l i n g i s s p e c i f i c a l l y d e s i g n e d t o c i r c u m v e n t t h e a c c u m u l a t e d e r r o r s i n h e r e n t i n m u l t i - s t e p c o n s i s t e n c y s a m p l i n g , w h i c h i s m e t i c u l o u s l y t a i l o r e d t o c o m p l e m e n t t h e T C D m o d e l . E x p e r i m e n t s d e m o n s t r a t e t h a t T C D n o t o n l y s i g n i f i c a n t l y e n h a n c e s i m a g e q u a l i t y a t l o w N F E s b u t a l s o y i e l d s m o r e d e t a i l e d r e s u l t s c o m p a r e d t o t h e t e a c h e r m o d e l a t h i g h N F E s . * T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ j a b i r - z h e n g / T C D ] ( h t t p s : / / g i t h u b . c o m / j a b i r - z h e n g / T C D ) . # # T C D S c h e d u l e r # # T C D S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] T C D S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ t c d . T C D S c h e d u l e r O u t p u t # D P M S o l v e r S i n g l e s t e p S c h e d u l e r ` D P M S o l v e r S i n g l e s t e p S c h e d u l e r ` i s a s i n g l e s t e p s c h e d u l e r f r o m [ D P M - S o l v e r : A F a s t O D E S o l v e r f o r D i f f u s i o n P r o b a b i l i s t i c M o d e l S a m p l i n g i n A r o u n d 1 0 S t e p s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 6 . 0 0 9 2 7 ) a n d [ D P M - S o l v e r + + : F a s t S o l v e r f o r G u i d e d S a m p l i n g o f D i f f u s i o n P r o b a b i l i s t i c M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 1 1 . 0 1 0 9 5 ) b y C h e n g L u , Y u h a o Z h o u , F a n B a o , J i a n f e i C h e n , C h o n g x u a n L i , a n d J u n Z h u . D P M S o l v e r ( a n d t h e i m p r o v e d v e r s i o n D P M S o l v e r + + ) i s a f a s t d e d i c a t e d h i g h - o r d e r s o l v e r f o r d i f f u s i o n O D E s w i t h c o n v e r g e n c e o r d e r g u a r a n t e e . E m p i r i c a l l y , D P M S o l v e r s a m p l i n g w i t h o n l y 2 0 s t e p s c a n g e n e r a t e h i g h - q u a l i t y s a m p l e s , a n d i t c a n g e n e r a t e q u i t e g o o d s a m p l e s e v e n i n 1 0 s t e p s . T h e o r i g i n a l i m p l e m e n t a t i o n c a n b e f o u n d a t [ L u C h e n g T H U / d p m - s o l v e r ] ( h t t p s : / / g i t h u b . c o m / L u C h e n g T H U / d p m - s o l v e r ) . # # T i p s I t i s r e c o m m e n d e d t o s e t ` s o l v e r _ o r d e r ` t o 2 f o r g u i d e s a m p l i n g , a n d ` s o l v e r _ o r d e r = 3 ` f o r u n c o n d i t i o n a l s a m p l i n g . D y n a m i c t h r e s h o l d i n g f r o m [ I m a g e n ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 5 . 1 1 4 8 7 ) i s s u p p o r t e d , a n d f o r p i x e l - s p a c e d i f f u s i o n m o d e l s , y o u c a n s e t b o t h ` a l g o r i t h m _ t y p e = " d p m s o l v e r + + " ` a n d ` t h r e s h o l d i n g = T r u e ` t o u s e d y n a m i c t h r e s h o l d i n g . T h i s t h r e s h o l d i n g m e t h o d i s u n s u i t a b l e f o r l a t e n t - s p a c e d i f f u s i o n m o d e l s s u c h a s S t a b l e D i f f u s i o n . # # D P M S o l v e r S i n g l e s t e p S c h e d u l e r # # S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] D P M S o l v e r S i n g l e s t e p S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ u t i l s . S c h e d u l e r O u t p u t # S c o r e S d e V e S c h e d u l e r ` S c o r e S d e V e S c h e d u l e r ` i s a v a r i a n c e e x p l o d i n g s t o c h a s t i c d i f f e r e n t i a l e q u a t i o n ( S D E ) s c h e d u l e r . I t w a s i n t r o d u c e d i n t h e [ S c o r e - B a s e d G e n e r a t i v e M o d e l i n g t h r o u g h S t o c h a s t i c D i f f e r e n t i a l E q u a t i o n s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 0 1 1 . 1 3 4 5 6 ) p a p e r b y Y a n g S o n g , J a s c h a S o h l - D i c k s t e i n , D i e d e r i k P . K i n g m a , A b h i s h e k K u m a r , S t e f a n o E r m o n , B e n P o o l e . T h e a b s t r a c t f r o m t h e p a p e r i s : * C r e a t i n g n o i s e f r o m d a t a i s e a s y ; c r e a t i n g d a t a f r o m n o i s e i s g e n e r a t i v e m o d e l i n g . W e p r e s e n t a s t o c h a s t i c d i f f e r e n t i a l e q u a t i o n ( S D E ) t h a t s m o o t h l y t r a n s f o r m s a c o m p l e x d a t a d i s t r i b u t i o n t o a k n o w n p r i o r d i s t r i b u t i o n b y s l o w l y i n j e c t i n g n o i s e , a n d a c o r r e s p o n d i n g r e v e r s e - t i m e S D E t h a t t r a n s f o r m s t h e p r i o r d i s t r i b u t i o n b a c k i n t o t h e d a t a d i s t r i b u t i o n b y s l o w l y r e m o v i n g t h e n o i s e . C r u c i a l l y , t h e r e v e r s e - t i m e S D E d e p e n d s o n l y o n t h e t i m e - d e p e n d e n t g r a d i e n t f i e l d ( \ a k a , s c o r e ) o f t h e p e r t u r b e d d a t a d i s t r i b u t i o n . B y l e v e r a g i n g a d v a n c e s i n s c o r e - b a s e d g e n e r a t i v e m o d e l i n g , w e c a n a c c u r a t e l y e s t i m a t e t h e s e s c o r e s w i t h n e u r a l n e t w o r k s , a n d u s e n u m e r i c a l S D E s o l v e r s t o g e n e r a t e s a m p l e s . W e s h o w t h a t t h i s f r a m e w o r k e n c a p s u l a t e s p r e v i o u s a p p r o a c h e s i n s c o r e - b a s e d g e n e r a t i v e m o d e l i n g a n d d i f f u s i o n p r o b a b i l i s t i c m o d e l i n g , a l l o w i n g f o r n e w s a m p l i n g p r o c e d u r e s a n d n e w m o d e l i n g c a p a b i l i t i e s . I n p a r t i c u l a r , w e i n t r o d u c e a p r e d i c t o r - c o r r e c t o r f r a m e w o r k t o c o r r e c t e r r o r s i n t h e e v o l u t i o n o f t h e d i s c r e t i z e d r e v e r s e - t i m e S D E . W e a l s o d e r i v e a n e q u i v a l e n t n e u r a l O D E t h a t s a m p l e s f r o m t h e s a m e d i s t r i b u t i o n a s t h e S D E , b u t a d d i t i o n a l l y e n a b l e s e x a c t l i k e l i h o o d c o m p u t a t i o n , a n d i m p r o v e d s a m p l i n g e f f i c i e n c y . I n a d d i t i o n , w e p r o v i d e a n e w w a y t o s o l v e i n v e r s e p r o b l e m s w i t h s c o r e - b a s e d m o d e l s , a s d e m o n s t r a t e d w i t h e x p e r i m e n t s o n c l a s s - c o n d i t i o n a l g e n e r a t i o n , i m a g e i n p a i n t i n g , a n d c o l o r i z a t i o n . C o m b i n e d w i t h m u l t i p l e a r c h i t e c t u r a l i m p r o v e m e n t s , w e a c h i e v e r e c o r d - b r e a k i n g p e r f o r m a n c e f o r u n c o n d i t i o n a l i m a g e g e n e r a t i o n o n C I F A R - 1 0 w i t h a n I n c e p t i o n s c o r e o f 9 . 8 9 a n d F I D o f 2 . 2 0 , a c o m p e t i t i v e l i k e l i h o o d o f 2 . 9 9 b i t s / d i m , a n d d e m o n s t r a t e h i g h f i d e l i t y g e n e r a t i o n o f 1 0 2 4 x 1 0 2 4 i m a g e s f o r t h e f i r s t t i m e f r o m a s c o r e - b a s e d g e n e r a t i v e m o d e l . * # # S c o r e S d e V e S c h e d u l e r # # S d e V e O u t p u t [ [ a u t o d o c ] ] S c o r e S d e V e S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ s d e _ v e . S d e V e O u t p u t # D E I S M u l t i s t e p S c h e d u l e r D i f f u s i o n E x p o n e n t i a l I n t e g r a t o r S a m p l e r ( D E I S ) i s p r o p o s e d i n [ F a s t S a m p l i n g o f D i f f u s i o n M o d e l s w i t h E x p o n e n t i a l I n t e g r a t o r ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 4 . 1 3 9 0 2 ) b y Q i n s h e n g Z h a n g a n d Y o n g x i n C h e n . ` D E I S M u l t i s t e p S c h e d u l e r ` i s a f a s t h i g h o r d e r s o l v e r f o r d i f f u s i o n o r d i n a r y d i f f e r e n t i a l e q u a t i o n s ( O D E s ) . T h i s i m p l e m e n t a t i o n m o d i f i e s t h e p o l y n o m i a l f i t t i n g f o r m u l a i n l o g - r h o s p a c e i n s t e a d o f t h e o r i g i n a l l i n e a r ` t ` s p a c e i n t h e D E I S p a p e r . T h e m o d i f i c a t i o n e n j o y s c l o s e d - f o r m c o e f f i c i e n t s f o r e x p o n e n t i a l m u l t i s t e p u p d a t e i n s t e a d o f r e p l y i n g o n t h e n u m e r i c a l s o l v e r . T h e a b s t r a c t f r o m t h e p a p e r i s : * T h e p a s t f e w y e a r s h a v e w i t n e s s e d t h e g r e a t s u c c e s s o f D i f f u s i o n m o d e l s ~ ( D M s ) i n g e n e r a t i n g h i g h - f i d e l i t y s a m p l e s i n g e n e r a t i v e m o d e l i n g t a s k s . A m a j o r l i m i t a t i o n o f t h e D M i s i t s n o t o r i o u s l y s l o w s a m p l i n g p r o c e d u r e w h i c h n o r m a l l y r e q u i r e s h u n d r e d s t o t h o u s a n d s o f t i m e d i s c r e t i z a t i o n s t e p s o f t h e l e a r n e d d i f f u s i o n p r o c e s s t o r e a c h t h e d e s i r e d a c c u r a c y . O u r g o a l i s t o d e v e l o p a f a s t s a m p l i n g m e t h o d f o r D M s w i t h a m u c h l e s s n u m b e r o f s t e p s w h i l e r e t a i n i n g h i g h s a m p l e q u a l i t y . T o t h i s e n d , w e s y s t e m a t i c a l l y a n a l y z e t h e s a m p l i n g p r o c e d u r e i n D M s a n d i d e n t i f y k e y f a c t o r s t h a t a f f e c t t h e s a m p l e q u a l i t y , a m o n g w h i c h t h e m e t h o d o f d i s c r e t i z a t i o n i s m o s t c r u c i a l . B y c a r e f u l l y e x a m i n i n g t h e l e a r n e d d i f f u s i o n p r o c e s s , w e p r o p o s e D i f f u s i o n E x p o n e n t i a l I n t e g r a t o r S a m p l e r ~ ( D E I S ) . I t i s b a s e d o n t h e E x p o n e n t i a l I n t e g r a t o r d e s i g n e d f o r d i s c r e t i z i n g o r d i n a r y d i f f e r e n t i a l e q u a t i o n s ( O D E s ) a n d l e v e r a g e s a s e m i l i n e a r s t r u c t u r e o f t h e l e a r n e d d i f f u s i o n p r o c e s s t o r e d u c e t h e d i s c r e t i z a t i o n e r r o r . T h e p r o p o s e d m e t h o d c a n b e a p p l i e d t o a n y D M s a n d c a n g e n e r a t e h i g h - f i d e l i t y s a m p l e s i n a s f e w a s 1 0 s t e p s . I n o u r e x p e r i m e n t s , i t t a k e s a b o u t 3 m i n u t e s o n o n e A 6 0 0 0 G P U t o g e n e r a t e 5 0 k i m a g e s f r o m C I F A R 1 0 . M o r e o v e r , b y d i r e c t l y u s i n g p r e - t r a i n e d D M s , w e a c h i e v e t h e s t a t e - o f - a r t s a m p l i n g p e r f o r m a n c e w h e n t h e n u m b e r o f s c o r e f u n c t i o n e v a l u a t i o n ~ ( N F E ) i s l i m i t e d , e . g . , 4 . 1 7 F I D w i t h 1 0 N F E s , 3 . 3 7 F I D , a n d 9 . 7 4 I S w i t h o n l y 1 5 N F E s o n C I F A R 1 0 . C o d e i s a v a i l a b l e a t [ t h i s h t t p s U R L ] ( h t t p s : / / g i t h u b . c o m / q s h - z h / d e i s ) . * # # T i p s I t i s r e c o m m e n d e d t o s e t ` s o l v e r _ o r d e r ` t o 2 o r 3 , w h i l e ` s o l v e r _ o r d e r = 1 ` i s e q u i v a l e n t t o [ D D I M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / d d i m # d i f f u s e r s . D D I M S c h e d u l e r ) . D y n a m i c t h r e s h o l d i n g f r o m [ I m a g e n ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 5 . 1 1 4 8 7 ) i s s u p p o r t e d , a n d f o r p i x e l - s p a c e d i f f u s i o n m o d e l s , y o u c a n s e t ` t h r e s h o l d i n g = T r u e ` t o u s e t h e d y n a m i c t h r e s h o l d i n g . # # D E I S M u l t i s t e p S c h e d u l e r # # S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] D E I S M u l t i s t e p S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ u t i l s . S c h e d u l e r O u t p u t # L a t e n t C o n s i s t e n c y M o d e l M u l t i s t e p S c h e d u l e r # # O v e r v i e w M u l t i s t e p a n d o n e s t e p s c h e d u l e r ( A l g o r i t h m 3 ) i n t r o d u c e d a l o n g s i d e l a t e n t c o n s i s t e n c y m o d e l s i n t h e p a p e r [ L a t e n t C o n s i s t e n c y M o d e l s : S y n t h e s i z i n g H i g h - R e s o l u t i o n I m a g e s w i t h F e w - S t e p I n f e r e n c e ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 1 0 . 0 4 3 7 8 ) b y S i m i a n L u o , Y i q i n T a n , L o n g b o H u a n g , J i a n L i , a n d H a n g Z h a o . T h i s s c h e d u l e r s h o u l d b e a b l e t o g e n e r a t e g o o d s a m p l e s f r o m ` L a t e n t C o n s i s t e n c y M o d e l P i p e l i n e ` i n 1 - 8 s t e p s . # # L C M S c h e d u l e r [ [ a u t o d o c ] ] L C M S c h e d u l e r # E D M D P M S o l v e r M u l t i s t e p S c h e d u l e r ` E D M D P M S o l v e r M u l t i s t e p S c h e d u l e r ` i s a [ K a r r a s f o r m u l a t i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 6 . 0 0 3 6 4 ) o f ` D P M S o l v e r M u l t i s t e p S c h e d u l e r ` , a m u l t i s t e p s c h e d u l e r f r o m [ D P M - S o l v e r : A F a s t O D E S o l v e r f o r D i f f u s i o n P r o b a b i l i s t i c M o d e l S a m p l i n g i n A r o u n d 1 0 S t e p s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 6 . 0 0 9 2 7 ) a n d [ D P M - S o l v e r + + : F a s t S o l v e r f o r G u i d e d S a m p l i n g o f D i f f u s i o n P r o b a b i l i s t i c M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 1 1 . 0 1 0 9 5 ) b y C h e n g L u , Y u h a o Z h o u , F a n B a o , J i a n f e i C h e n , C h o n g x u a n L i , a n d J u n Z h u . D P M S o l v e r ( a n d t h e i m p r o v e d v e r s i o n D P M S o l v e r + + ) i s a f a s t d e d i c a t e d h i g h - o r d e r s o l v e r f o r d i f f u s i o n O D E s w i t h c o n v e r g e n c e o r d e r g u a r a n t e e . E m p i r i c a l l y , D P M S o l v e r s a m p l i n g w i t h o n l y 2 0 s t e p s c a n g e n e r a t e h i g h - q u a l i t y s a m p l e s , a n d i t c a n g e n e r a t e q u i t e g o o d s a m p l e s e v e n i n 1 0 s t e p s . # # E D M D P M S o l v e r M u l t i s t e p S c h e d u l e r # # S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] E D M D P M S o l v e r M u l t i s t e p S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ u t i l s . S c h e d u l e r O u t p u t # L M S D i s c r e t e S c h e d u l e r ` L M S D i s c r e t e S c h e d u l e r ` i s a l i n e a r m u l t i s t e p s c h e d u l e r f o r d i s c r e t e b e t a s c h e d u l e s . T h e s c h e d u l e r i s p o r t e d f r o m a n d c r e a t e d b y [ K a t h e r i n e C r o w s o n ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / ) , a n d t h e o r i g i n a l i m p l e m e n t a t i o n c a n b e f o u n d a t [ c r o w s o n k b / k - d i f f u s i o n ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / k - d i f f u s i o n / b l o b / 4 8 1 6 7 7 d 1 1 4 f 6 e a 4 4 5 a a 0 0 9 c f 5 b d 7 a 9 c d e e 9 0 9 e 4 7 / k _ d i f f u s i o n / s a m p l i n g . p y # L 1 8 1 ) . # # L M S D i s c r e t e S c h e d u l e r # # L M S D i s c r e t e S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] L M S D i s c r e t e S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ l m s _ d i s c r e t e . L M S D i s c r e t e S c h e d u l e r O u t p u t # S c o r e S d e V p S c h e d u l e r ` S c o r e S d e V p S c h e d u l e r ` i s a v a r i a n c e p r e s e r v i n g s t o c h a s t i c d i f f e r e n t i a l e q u a t i o n ( S D E ) s c h e d u l e r . I t w a s i n t r o d u c e d i n t h e [ S c o r e - B a s e d G e n e r a t i v e M o d e l i n g t h r o u g h S t o c h a s t i c D i f f e r e n t i a l E q u a t i o n s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 0 1 1 . 1 3 4 5 6 ) p a p e r b y Y a n g S o n g , J a s c h a S o h l - D i c k s t e i n , D i e d e r i k P . K i n g m a , A b h i s h e k K u m a r , S t e f a n o E r m o n , B e n P o o l e . T h e a b s t r a c t f r o m t h e p a p e r i s : * C r e a t i n g n o i s e f r o m d a t a i s e a s y ; c r e a t i n g d a t a f r o m n o i s e i s g e n e r a t i v e m o d e l i n g . W e p r e s e n t a s t o c h a s t i c d i f f e r e n t i a l e q u a t i o n ( S D E ) t h a t s m o o t h l y t r a n s f o r m s a c o m p l e x d a t a d i s t r i b u t i o n t o a k n o w n p r i o r d i s t r i b u t i o n b y s l o w l y i n j e c t i n g n o i s e , a n d a c o r r e s p o n d i n g r e v e r s e - t i m e S D E t h a t t r a n s f o r m s t h e p r i o r d i s t r i b u t i o n b a c k i n t o t h e d a t a d i s t r i b u t i o n b y s l o w l y r e m o v i n g t h e n o i s e . C r u c i a l l y , t h e r e v e r s e - t i m e S D E d e p e n d s o n l y o n t h e t i m e - d e p e n d e n t g r a d i e n t f i e l d ( \ a k a , s c o r e ) o f t h e p e r t u r b e d d a t a d i s t r i b u t i o n . B y l e v e r a g i n g a d v a n c e s i n s c o r e - b a s e d g e n e r a t i v e m o d e l i n g , w e c a n a c c u r a t e l y e s t i m a t e t h e s e s c o r e s w i t h n e u r a l n e t w o r k s , a n d u s e n u m e r i c a l S D E s o l v e r s t o g e n e r a t e s a m p l e s . W e s h o w t h a t t h i s f r a m e w o r k e n c a p s u l a t e s p r e v i o u s a p p r o a c h e s i n s c o r e - b a s e d g e n e r a t i v e m o d e l i n g a n d d i f f u s i o n p r o b a b i l i s t i c m o d e l i n g , a l l o w i n g f o r n e w s a m p l i n g p r o c e d u r e s a n d n e w m o d e l i n g c a p a b i l i t i e s . I n p a r t i c u l a r , w e i n t r o d u c e a p r e d i c t o r - c o r r e c t o r f r a m e w o r k t o c o r r e c t e r r o r s i n t h e e v o l u t i o n o f t h e d i s c r e t i z e d r e v e r s e - t i m e S D E . W e a l s o d e r i v e a n e q u i v a l e n t n e u r a l O D E t h a t s a m p l e s f r o m t h e s a m e d i s t r i b u t i o n a s t h e S D E , b u t a d d i t i o n a l l y e n a b l e s e x a c t l i k e l i h o o d c o m p u t a t i o n , a n d i m p r o v e d s a m p l i n g e f f i c i e n c y . I n a d d i t i o n , w e p r o v i d e a n e w w a y t o s o l v e i n v e r s e p r o b l e m s w i t h s c o r e - b a s e d m o d e l s , a s d e m o n s t r a t e d w i t h e x p e r i m e n t s o n c l a s s - c o n d i t i o n a l g e n e r a t i o n , i m a g e i n p a i n t i n g , a n d c o l o r i z a t i o n . C o m b i n e d w i t h m u l t i p l e a r c h i t e c t u r a l i m p r o v e m e n t s , w e a c h i e v e r e c o r d - b r e a k i n g p e r f o r m a n c e f o r u n c o n d i t i o n a l i m a g e g e n e r a t i o n o n C I F A R - 1 0 w i t h a n I n c e p t i o n s c o r e o f 9 . 8 9 a n d F I D o f 2 . 2 0 , a c o m p e t i t i v e l i k e l i h o o d o f 2 . 9 9 b i t s / d i m , a n d d e m o n s t r a t e h i g h f i d e l i t y g e n e r a t i o n o f 1 0 2 4 x 1 0 2 4 i m a g e s f o r t h e f i r s t t i m e f r o m a s c o r e - b a s e d g e n e r a t i v e m o d e l . * < T i p w a r n i n g = { t r u e } > ๐Ÿšง T h i s s c h e d u l e r i s u n d e r c o n s t r u c t i o n ! < / T i p > # # S c o r e S d e V p S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . d e p r e c a t e d . s c h e d u l i n g _ s d e _ v p . S c o r e S d e V p S c h e d u l e r # D D I M I n v e r s e S c h e d u l e r ` D D I M I n v e r s e S c h e d u l e r ` i s t h e i n v e r t e d s c h e d u l e r f r o m [ D e n o i s i n g D i f f u s i o n I m p l i c i t M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 0 1 0 . 0 2 5 0 2 ) ( D D I M ) b y J i a m i n g S o n g , C h e n l i n M e n g a n d S t e f a n o E r m o n . T h e i m p l e m e n t a t i o n i s m o s t l y b a s e d o n t h e D D I M i n v e r s i o n d e f i n i t i o n f r o m [ N u l l - t e x t I n v e r s i o n f o r E d i t i n g R e a l I m a g e s u s i n g G u i d e d D i f f u s i o n M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 1 1 . 0 9 7 9 4 ) . # # D D I M I n v e r s e S c h e d u l e r [ [ a u t o d o c ] ] D D I M I n v e r s e S c h e d u l e r # C o n s i s t e n c y D e c o d e r S c h e d u l e r T h i s s c h e d u l e r i s a p a r t o f t h e ` C o n s i s t e n c y D e c o d e r P i p e l i n e ` a n d w a s i n t r o d u c e d i n [ D A L L - E 3 ] ( h t t p s : / / o p e n a i . c o m / d a l l - e - 3 ) . T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ o p e n a i / c o n s i s t e n c y _ m o d e l s ] ( h t t p s : / / g i t h u b . c o m / o p e n a i / c o n s i s t e n c y _ m o d e l s ) . # # C o n s i s t e n c y D e c o d e r S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ c o n s i s t e n c y _ d e c o d e r . C o n s i s t e n c y D e c o d e r S c h e d u l e r # D P M S o l v e r S D E S c h e d u l e r T h e ` D P M S o l v e r S D E S c h e d u l e r ` i s i n s p i r e d b y t h e s t o c h a s t i c s a m p l e r f r o m t h e [ E l u c i d a t i n g t h e D e s i g n S p a c e o f D i f f u s i o n - B a s e d G e n e r a t i v e M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 6 . 0 0 3 6 4 ) p a p e r , a n d t h e s c h e d u l e r i s p o r t e d f r o m a n d c r e a t e d b y [ K a t h e r i n e C r o w s o n ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / ) . # # D P M S o l v e r S D E S c h e d u l e r # # S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] D P M S o l v e r S D E S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ u t i l s . S c h e d u l e r O u t p u t # I P N D M S c h e d u l e r ` I P N D M S c h e d u l e r ` i s a f o u r t h - o r d e r I m p r o v e d P s e u d o L i n e a r M u l t i s t e p s c h e d u l e r . T h e o r i g i n a l i m p l e m e n t a t i o n c a n b e f o u n d a t [ c r o w s o n k b / v - d i f f u s i o n - p y t o r c h ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / v - d i f f u s i o n - p y t o r c h / b l o b / 9 8 7 f 8 9 8 5 e 3 8 2 0 8 3 4 5 c 1 9 5 9 b 0 e a 7 6 7 a 6 2 5 8 3 1 c c 9 b / d i f f u s i o n / s a m p l i n g . p y # L 2 9 6 ) . # # I P N D M S c h e d u l e r # # S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] I P N D M S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ u t i l s . S c h e d u l e r O u t p u t # E u l e r D i s c r e t e S c h e d u l e r T h e E u l e r s c h e d u l e r ( A l g o r i t h m 2 ) i s f r o m t h e [ E l u c i d a t i n g t h e D e s i g n S p a c e o f D i f f u s i o n - B a s e d G e n e r a t i v e M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 6 . 0 0 3 6 4 ) p a p e r b y K a r r a s e t a l . T h i s i s a f a s t s c h e d u l e r w h i c h c a n o f t e n g e n e r a t e g o o d o u t p u t s i n 2 0 - 3 0 s t e p s . T h e s c h e d u l e r i s b a s e d o n t h e o r i g i n a l [ k - d i f f u s i o n ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / k - d i f f u s i o n / b l o b / 4 8 1 6 7 7 d 1 1 4 f 6 e a 4 4 5 a a 0 0 9 c f 5 b d 7 a 9 c d e e 9 0 9 e 4 7 / k _ d i f f u s i o n / s a m p l i n g . p y # L 5 1 ) i m p l e m e n t a t i o n b y [ K a t h e r i n e C r o w s o n ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / ) . # # E u l e r D i s c r e t e S c h e d u l e r # # E u l e r D i s c r e t e S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] E u l e r D i s c r e t e S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ e u l e r _ d i s c r e t e . E u l e r D i s c r e t e S c h e d u l e r O u t p u t # F l o w M a t c h E u l e r D i s c r e t e S c h e d u l e r ` F l o w M a t c h E u l e r D i s c r e t e S c h e d u l e r ` i s b a s e d o n t h e f l o w - m a t c h i n g s a m p l i n g i n t r o d u c e d i n [ S t a b l e D i f f u s i o n 3 ] ( h t t p s : / / a r x i v . o r g / a b s / 2 4 0 3 . 0 3 2 0 6 ) . # # F l o w M a t c h E u l e r D i s c r e t e S c h e d u l e r [ [ a u t o d o c ] ] F l o w M a t c h E u l e r D i s c r e t e S c h e d u l e r # D P M S o l v e r M u l t i s t e p I n v e r s e ` D P M S o l v e r M u l t i s t e p I n v e r s e ` i s t h e i n v e r t e d s c h e d u l e r f r o m [ D P M - S o l v e r : A F a s t O D E S o l v e r f o r D i f f u s i o n P r o b a b i l i s t i c M o d e l S a m p l i n g i n A r o u n d 1 0 S t e p s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 6 . 0 0 9 2 7 ) a n d [ D P M - S o l v e r + + : F a s t S o l v e r f o r G u i d e d S a m p l i n g o f D i f f u s i o n P r o b a b i l i s t i c M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 1 1 . 0 1 0 9 5 ) b y C h e n g L u , Y u h a o Z h o u , F a n B a o , J i a n f e i C h e n , C h o n g x u a n L i , a n d J u n Z h u . T h e i m p l e m e n t a t i o n i s m o s t l y b a s e d o n t h e D D I M i n v e r s i o n d e f i n i t i o n o f [ N u l l - t e x t I n v e r s i o n f o r E d i t i n g R e a l I m a g e s u s i n g G u i d e d D i f f u s i o n M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 1 1 . 0 9 7 9 4 ) a n d n o t e b o o k i m p l e m e n t a t i o n o f t h e ` D i f f E d i t ` l a t e n t i n v e r s i o n f r o m [ X i a n g - c d / D i f f E d i t - s t a b l e - d i f f u s i o n ] ( h t t p s : / / g i t h u b . c o m / X i a n g - c d / D i f f E d i t - s t a b l e - d i f f u s i o n / b l o b / m a i n / d i f f e d i t . i p y n b ) . # # T i p s D y n a m i c t h r e s h o l d i n g f r o m [ I m a g e n ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 5 . 1 1 4 8 7 ) i s s u p p o r t e d , a n d f o r p i x e l - s p a c e d i f f u s i o n m o d e l s , y o u c a n s e t b o t h ` a l g o r i t h m _ t y p e = " d p m s o l v e r + + " ` a n d ` t h r e s h o l d i n g = T r u e ` t o u s e t h e d y n a m i c t h r e s h o l d i n g . T h i s t h r e s h o l d i n g m e t h o d i s u n s u i t a b l e f o r l a t e n t - s p a c e d i f f u s i o n m o d e l s s u c h a s S t a b l e D i f f u s i o n . # # D P M S o l v e r M u l t i s t e p I n v e r s e S c h e d u l e r # # S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] D P M S o l v e r M u l t i s t e p I n v e r s e S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ u t i l s . S c h e d u l e r O u t p u t # D P M S o l v e r M u l t i s t e p S c h e d u l e r ` D P M S o l v e r M u l t i s t e p S c h e d u l e r ` i s a m u l t i s t e p s c h e d u l e r f r o m [ D P M - S o l v e r : A F a s t O D E S o l v e r f o r D i f f u s i o n P r o b a b i l i s t i c M o d e l S a m p l i n g i n A r o u n d 1 0 S t e p s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 6 . 0 0 9 2 7 ) a n d [ D P M - S o l v e r + + : F a s t S o l v e r f o r G u i d e d S a m p l i n g o f D i f f u s i o n P r o b a b i l i s t i c M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 1 1 . 0 1 0 9 5 ) b y C h e n g L u , Y u h a o Z h o u , F a n B a o , J i a n f e i C h e n , C h o n g x u a n L i , a n d J u n Z h u . D P M S o l v e r ( a n d t h e i m p r o v e d v e r s i o n D P M S o l v e r + + ) i s a f a s t d e d i c a t e d h i g h - o r d e r s o l v e r f o r d i f f u s i o n O D E s w i t h c o n v e r g e n c e o r d e r g u a r a n t e e . E m p i r i c a l l y , D P M S o l v e r s a m p l i n g w i t h o n l y 2 0 s t e p s c a n g e n e r a t e h i g h - q u a l i t y s a m p l e s , a n d i t c a n g e n e r a t e q u i t e g o o d s a m p l e s e v e n i n 1 0 s t e p s . # # T i p s I t i s r e c o m m e n d e d t o s e t ` s o l v e r _ o r d e r ` t o 2 f o r g u i d e s a m p l i n g , a n d ` s o l v e r _ o r d e r = 3 ` f o r u n c o n d i t i o n a l s a m p l i n g . D y n a m i c t h r e s h o l d i n g f r o m [ I m a g e n ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 5 . 1 1 4 8 7 ) i s s u p p o r t e d , a n d f o r p i x e l - s p a c e d i f f u s i o n m o d e l s , y o u c a n s e t b o t h ` a l g o r i t h m _ t y p e = " d p m s o l v e r + + " ` a n d ` t h r e s h o l d i n g = T r u e ` t o u s e t h e d y n a m i c t h r e s h o l d i n g . T h i s t h r e s h o l d i n g m e t h o d i s u n s u i t a b l e f o r l a t e n t - s p a c e d i f f u s i o n m o d e l s s u c h a s S t a b l e D i f f u s i o n . T h e S D E v a r i a n t o f D P M S o l v e r a n d D P M - S o l v e r + + i s a l s o s u p p o r t e d , b u t o n l y f o r t h e f i r s t a n d s e c o n d - o r d e r s o l v e r s . T h i s i s a f a s t S D E s o l v e r f o r t h e r e v e r s e d i f f u s i o n S D E . I t i s r e c o m m e n d e d t o u s e t h e s e c o n d - o r d e r ` s d e - d p m s o l v e r + + ` . # # D P M S o l v e r M u l t i s t e p S c h e d u l e r # # S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] D P M S o l v e r M u l t i s t e p S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ u t i l s . S c h e d u l e r O u t p u t # C M S t o c h a s t i c I t e r a t i v e S c h e d u l e r [ C o n s i s t e n c y M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 3 . 0 1 4 6 9 ) b y Y a n g S o n g , P r a f u l l a D h a r i w a l , M a r k C h e n , a n d I l y a S u t s k e v e r i n t r o d u c e d a m u l t i s t e p a n d o n e s t e p s c h e d u l e r ( A l g o r i t h m 1 ) t h a t i s c a p a b l e o f g e n e r a t i n g g o o d s a m p l e s i n o n e o r a s m a l l n u m b e r o f s t e p s . T h e a b s t r a c t f r o m t h e p a p e r i s : * D i f f u s i o n m o d e l s h a v e s i g n i f i c a n t l y a d v a n c e d t h e f i e l d s o f i m a g e , a u d i o , a n d v i d e o g e n e r a t i o n , b u t t h e y d e p e n d o n a n i t e r a t i v e s a m p l i n g p r o c e s s t h a t c a u s e s s l o w g e n e r a t i o n . T o o v e r c o m e t h i s l i m i t a t i o n , w e p r o p o s e c o n s i s t e n c y m o d e l s , a n e w f a m i l y o f m o d e l s t h a t g e n e r a t e h i g h q u a l i t y s a m p l e s b y d i r e c t l y m a p p i n g n o i s e t o d a t a . T h e y s u p p o r t f a s t o n e - s t e p g e n e r a t i o n b y d e s i g n , w h i l e s t i l l a l l o w i n g m u l t i s t e p s a m p l i n g t o t r a d e c o m p u t e f o r s a m p l e q u a l i t y . T h e y a l s o s u p p o r t z e r o - s h o t d a t a e d i t i n g , s u c h a s i m a g e i n p a i n t i n g , c o l o r i z a t i o n , a n d s u p e r - r e s o l u t i o n , w i t h o u t r e q u i r i n g e x p l i c i t t r a i n i n g o n t h e s e t a s k s . C o n s i s t e n c y m o d e l s c a n b e t r a i n e d e i t h e r b y d i s t i l l i n g p r e - t r a i n e d d i f f u s i o n m o d e l s , o r a s s t a n d a l o n e g e n e r a t i v e m o d e l s a l t o g e t h e r . T h r o u g h e x t e n s i v e e x p e r i m e n t s , w e d e m o n s t r a t e t h a t t h e y o u t p e r f o r m e x i s t i n g d i s t i l l a t i o n t e c h n i q u e s f o r d i f f u s i o n m o d e l s i n o n e - a n d f e w - s t e p s a m p l i n g , a c h i e v i n g t h e n e w s t a t e - o f - t h e - a r t F I D o f 3 . 5 5 o n C I F A R - 1 0 a n d 6 . 2 0 o n I m a g e N e t 6 4 x 6 4 f o r o n e - s t e p g e n e r a t i o n . W h e n t r a i n e d i n i s o l a t i o n , c o n s i s t e n c y m o d e l s b e c o m e a n e w f a m i l y o f g e n e r a t i v e m o d e l s t h a t c a n o u t p e r f o r m e x i s t i n g o n e - s t e p , n o n - a d v e r s a r i a l g e n e r a t i v e m o d e l s o n s t a n d a r d b e n c h m a r k s s u c h a s C I F A R - 1 0 , I m a g e N e t 6 4 x 6 4 a n d L S U N 2 5 6 x 2 5 6 . * T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ o p e n a i / c o n s i s t e n c y _ m o d e l s ] ( h t t p s : / / g i t h u b . c o m / o p e n a i / c o n s i s t e n c y _ m o d e l s ) . # # C M S t o c h a s t i c I t e r a t i v e S c h e d u l e r # # C M S t o c h a s t i c I t e r a t i v e S c h e d u l e r O u t p u t [ [ a u t o d o c ] ] C M S t o c h a s t i c I t e r a t i v e S c h e d u l e r [ [ a u t o d o c ] ] s c h e d u l e r s . s c h e d u l i n g _ c o n s i s t e n c y _ m o d e l s . C M S t o c h a s t i c I t e r a t i v e S c h e d u l e r O u t p u t # I P - A d a p t e r [ I P - A d a p t e r ] ( h t t p s : / / h f . c o / p a p e r s / 2 3 0 8 . 0 6 7 2 1 ) i s a l i g h t w e i g h t a d a p t e r t h a t e n a b l e s p r o m p t i n g a d i f f u s i o n m o d e l w i t h a n i m a g e . T h i s m e t h o d d e c o u p l e s t h e c r o s s - a t t e n t i o n l a y e r s o f t h e i m a g e a n d t e x t f e a t u r e s . T h e i m a g e f e a t u r e s a r e g e n e r a t e d f r o m a n i m a g e e n c o d e r . < T i p > L e a r n h o w t o l o a d a n I P - A d a p t e r c h e c k p o i n t a n d i m a g e i n t h e I P - A d a p t e r [ l o a d i n g ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g _ a d a p t e r s # i p - a d a p t e r ) g u i d e , a n d y o u c a n s e e h o w t o u s e i t i n t h e [ u s a g e ] ( . . / . . / u s i n g - d i f f u s e r s / i p _ a d a p t e r ) g u i d e . < / T i p > # # I P A d a p t e r M i x i n # # I P A d a p t e r M a s k P r o c e s s o r [ [ a u t o d o c ] ] l o a d e r s . i p _ a d a p t e r . I P A d a p t e r M i x i n [ [ a u t o d o c ] ] i m a g e _ p r o c e s s o r . I P A d a p t e r M a s k P r o c e s s o r # U N e t S o m e t r a i n i n g m e t h o d s - l i k e L o R A a n d C u s t o m D i f f u s i o n - t y p i c a l l y t a r g e t t h e U N e t ' s a t t e n t i o n l a y e r s , b u t t h e s e t r a i n i n g m e t h o d s c a n a l s o t a r g e t o t h e r n o n - a t t e n t i o n l a y e r s . I n s t e a d o f t r a i n i n g a l l o f a m o d e l ' s p a r a m e t e r s , o n l y a s u b s e t o f t h e p a r a m e t e r s a r e t r a i n e d , w h i c h i s f a s t e r a n d m o r e e f f i c i e n t . T h i s c l a s s i s u s e f u l i f y o u ' r e * o n l y * l o a d i n g w e i g h t s i n t o a U N e t . I f y o u n e e d t o l o a d w e i g h t s i n t o t h e t e x t e n c o d e r o r a t e x t e n c o d e r a n d U N e t , t r y u s i n g t h e ` l o a d _ l o r a _ w e i g h t s ( ) ` f u n c t i o n i n s t e a d . T h e ` U N e t 2 D C o n d i t i o n L o a d e r s M i x i n ` c l a s s p r o v i d e s f u n c t i o n s f o r l o a d i n g a n d s a v i n g w e i g h t s , f u s i n g a n d u n f u s i n g L o R A s , d i s a b l i n g a n d e n a b l i n g L o R A s , a n d s e t t i n g a n d d e l e t i n g a d a p t e r s . < T i p > T o l e a r n m o r e a b o u t h o w t o l o a d L o R A w e i g h t s , s e e t h e [ L o R A ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g _ a d a p t e r s # l o r a ) l o a d i n g g u i d e . < / T i p > # # U N e t 2 D C o n d i t i o n L o a d e r s M i x i n [ [ a u t o d o c ] ] l o a d e r s . u n e t . U N e t 2 D C o n d i t i o n L o a d e r s M i x i n # T e x t u a l I n v e r s i o n T e x t u a l I n v e r s i o n i s a t r a i n i n g m e t h o d f o r p e r s o n a l i z i n g m o d e l s b y l e a r n i n g n e w t e x t e m b e d d i n g s f r o m a f e w e x a m p l e i m a g e s . T h e f i l e p r o d u c e d f r o m t r a i n i n g i s e x t r e m e l y s m a l l ( a f e w K B s ) a n d t h e n e w e m b e d d i n g s c a n b e l o a d e d i n t o t h e t e x t e n c o d e r . ` T e x t u a l I n v e r s i o n L o a d e r M i x i n ` p r o v i d e s a f u n c t i o n f o r l o a d i n g T e x t u a l I n v e r s i o n e m b e d d i n g s f r o m D i f f u s e r s a n d A u t o m a t i c 1 1 1 1 i n t o t h e t e x t e n c o d e r a n d l o a d i n g a s p e c i a l t o k e n t o a c t i v a t e t h e e m b e d d i n g s . < T i p > T o l e a r n m o r e a b o u t h o w t o l o a d T e x t u a l I n v e r s i o n e m b e d d i n g s , s e e t h e [ T e x t u a l I n v e r s i o n ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g _ a d a p t e r s # t e x t u a l - i n v e r s i o n ) l o a d i n g g u i d e . < / T i p > # # T e x t u a l I n v e r s i o n L o a d e r M i x i n [ [ a u t o d o c ] ] l o a d e r s . t e x t u a l _ i n v e r s i o n . T e x t u a l I n v e r s i o n L o a d e r M i x i n # P E F T D i f f u s e r s s u p p o r t s l o a d i n g a d a p t e r s s u c h a s [ L o R A ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g _ a d a p t e r s ) w i t h t h e [ P E F T ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / p e f t / i n d e x ) l i b r a r y w i t h t h e ` P e f t A d a p t e r M i x i n ` c l a s s . T h i s a l l o w s m o d e l i n g c l a s s e s i n D i f f u s e r s l i k e [ U N e t 2 D C o n d i t i o n M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / u n e t 2 d - c o n d # d i f f u s e r s . U N e t 2 D C o n d i t i o n M o d e l ) , [ S D 3 T r a n s f o r m e r 2 D M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / s d 3 _ t r a n s f o r m e r 2 d # d i f f u s e r s . S D 3 T r a n s f o r m e r 2 D M o d e l ) t o o p e r a t e w i t h a n a d a p t e r . < T i p > R e f e r t o t h e [ I n f e r e n c e w i t h P E F T ] ( . . / . . / t u t o r i a l s / u s i n g _ p e f t _ f o r _ i n f e r e n c e . m d ) t u t o r i a l f o r a n o v e r v i e w o f h o w t o u s e P E F T i n D i f f u s e r s f o r i n f e r e n c e . < / T i p > # # P e f t A d a p t e r M i x i n [ [ a u t o d o c ] ] l o a d e r s . p e f t . P e f t A d a p t e r M i x i n # L o R A L o R A i s a f a s t a n d l i g h t w e i g h t t r a i n i n g m e t h o d t h a t i n s e r t s a n d t r a i n s a s i g n i f i c a n t l y s m a l l e r n u m b e r o f p a r a m e t e r s i n s t e a d o f a l l t h e m o d e l p a r a m e t e r s . T h i s p r o d u c e s a s m a l l e r f i l e ( ~ 1 0 0 M B s ) a n d m a k e s i t e a s i e r t o q u i c k l y t r a i n a m o d e l t o l e a r n a n e w c o n c e p t . L o R A w e i g h t s a r e t y p i c a l l y l o a d e d i n t o t h e d e n o i s e r , t e x t e n c o d e r o r b o t h . T h e d e n o i s e r u s u a l l y c o r r e s p o n d s t o a U N e t ( [ U N e t 2 D C o n d i t i o n M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / u n e t 2 d - c o n d # d i f f u s e r s . U N e t 2 D C o n d i t i o n M o d e l ) , f o r e x a m p l e ) o r a T r a n s f o r m e r ( [ S D 3 T r a n s f o r m e r 2 D M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / s d 3 _ t r a n s f o r m e r 2 d # d i f f u s e r s . S D 3 T r a n s f o r m e r 2 D M o d e l ) , f o r e x a m p l e ) . T h e r e a r e s e v e r a l c l a s s e s f o r l o a d i n g L o R A w e i g h t s : - ` S t a b l e D i f f u s i o n L o r a L o a d e r M i x i n ` p r o v i d e s f u n c t i o n s f o r l o a d i n g a n d u n l o a d i n g , f u s i n g a n d u n f u s i n g , e n a b l i n g a n d d i s a b l i n g , a n d m o r e f u n c t i o n s f o r m a n a g i n g L o R A w e i g h t s . T h i s c l a s s c a n b e u s e d w i t h a n y m o d e l . - ` S t a b l e D i f f u s i o n X L L o r a L o a d e r M i x i n ` i s a [ S t a b l e D i f f u s i o n ( S D X L ) ] ( . . / . . / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l ) v e r s i o n o f t h e ` S t a b l e D i f f u s i o n L o r a L o a d e r M i x i n ` c l a s s f o r l o a d i n g a n d s a v i n g L o R A w e i g h t s . I t c a n o n l y b e u s e d w i t h t h e S D X L m o d e l . - ` S D 3 L o r a L o a d e r M i x i n ` p r o v i d e s s i m i l a r f u n c t i o n s f o r [ S t a b l e D i f f u s i o n 3 ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / s d 3 ) . - ` A m u s e d L o r a L o a d e r M i x i n ` i s f o r t h e ` A m u s e d P i p e l i n e ` . - ` L o r a B a s e M i x i n ` p r o v i d e s a b a s e c l a s s w i t h s e v e r a l u t i l i t y m e t h o d s t o f u s e , u n f u s e , u n l o a d , L o R A s a n d m o r e . < T i p > T o l e a r n m o r e a b o u t h o w t o l o a d L o R A w e i g h t s , s e e t h e [ L o R A ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g _ a d a p t e r s # l o r a ) l o a d i n g g u i d e . < / T i p > # # S t a b l e D i f f u s i o n L o r a L o a d e r M i x i n # # S t a b l e D i f f u s i o n X L L o r a L o a d e r M i x i n # # S D 3 L o r a L o a d e r M i x i n # # A m u s e d L o r a L o a d e r M i x i n # # L o r a B a s e M i x i n [ [ a u t o d o c ] ] l o a d e r s . l o r a _ p i p e l i n e . S t a b l e D i f f u s i o n L o r a L o a d e r M i x i n [ [ a u t o d o c ] ] l o a d e r s . l o r a _ p i p e l i n e . S t a b l e D i f f u s i o n X L L o r a L o a d e r M i x i n [ [ a u t o d o c ] ] l o a d e r s . l o r a _ p i p e l i n e . S D 3 L o r a L o a d e r M i x i n [ [ a u t o d o c ] ] l o a d e r s . l o r a _ p i p e l i n e . A m u s e d L o r a L o a d e r M i x i n [ [ a u t o d o c ] ] l o a d e r s . l o r a _ b a s e . L o r a B a s e M i x i n # S i n g l e f i l e s T h e ` f r o m _ s i n g l e _ f i l e ( ) ` m e t h o d a l l o w s y o u t o l o a d : * a m o d e l s t o r e d i n a s i n g l e f i l e , w h i c h i s u s e f u l i f y o u ' r e w o r k i n g w i t h m o d e l s f r o m t h e d i f f u s i o n e c o s y s t e m , l i k e A u t o m a t i c 1 1 1 1 , a n d c o m m o n l y r e l y o n a s i n g l e - f i l e l a y o u t t o s t o r e a n d s h a r e m o d e l s * a m o d e l s t o r e d i n t h e i r o r i g i n a l l y d i s t r i b u t e d l a y o u t , w h i c h i s u s e f u l i f y o u ' r e w o r k i n g w i t h m o d e l s f i n e t u n e d w i t h o t h e r s e r v i c e s , a n d w a n t t o l o a d i t d i r e c t l y i n t o D i f f u s e r s m o d e l o b j e c t s a n d p i p e l i n e s > [ ! T I P ] > R e a d t h e [ M o d e l f i l e s a n d l a y o u t s ] ( . . / . . / u s i n g - d i f f u s e r s / o t h e r - f o r m a t s ) g u i d e t o l e a r n m o r e a b o u t t h e D i f f u s e r s - m u l t i f o l d e r l a y o u t v e r s u s t h e s i n g l e - f i l e l a y o u t , a n d h o w t o l o a d m o d e l s s t o r e d i n t h e s e d i f f e r e n t l a y o u t s . # # S u p p o r t e d p i p e l i n e s - ` S t a b l e D i f f u s i o n P i p e l i n e ` - ` S t a b l e D i f f u s i o n I m g 2 I m g P i p e l i n e ` - ` S t a b l e D i f f u s i o n I n p a i n t P i p e l i n e ` - ` S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e ` - ` S t a b l e D i f f u s i o n C o n t r o l N e t I m g 2 I m g P i p e l i n e ` - ` S t a b l e D i f f u s i o n C o n t r o l N e t I n p a i n t P i p e l i n e ` - ` S t a b l e D i f f u s i o n U p s c a l e P i p e l i n e ` - ` S t a b l e D i f f u s i o n X L P i p e l i n e ` - ` S t a b l e D i f f u s i o n X L I m g 2 I m g P i p e l i n e ` - ` S t a b l e D i f f u s i o n X L I n p a i n t P i p e l i n e ` - ` S t a b l e D i f f u s i o n X L I n s t r u c t P i x 2 P i x P i p e l i n e ` - ` S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e ` - ` S t a b l e D i f f u s i o n X L K D i f f u s i o n P i p e l i n e ` - ` S t a b l e D i f f u s i o n 3 P i p e l i n e ` - ` L a t e n t C o n s i s t e n c y M o d e l P i p e l i n e ` - ` L a t e n t C o n s i s t e n c y M o d e l I m g 2 I m g P i p e l i n e ` - ` S t a b l e D i f f u s i o n C o n t r o l N e t X S P i p e l i n e ` - ` S t a b l e D i f f u s i o n X L C o n t r o l N e t X S P i p e l i n e ` - ` L E d i t s P P P i p e l i n e S t a b l e D i f f u s i o n ` - ` L E d i t s P P P i p e l i n e S t a b l e D i f f u s i o n X L ` - ` P I A P i p e l i n e ` # # S u p p o r t e d m o d e l s - [ U N e t 2 D C o n d i t i o n M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / u n e t 2 d - c o n d # d i f f u s e r s . U N e t 2 D C o n d i t i o n M o d e l ) - ` S t a b l e C a s c a d e U N e t ` - [ A u t o e n c o d e r K L ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / a u t o e n c o d e r k l # d i f f u s e r s . A u t o e n c o d e r K L ) - [ C o n t r o l N e t M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / c o n t r o l n e t # d i f f u s e r s . C o n t r o l N e t M o d e l ) - [ S D 3 T r a n s f o r m e r 2 D M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / s d 3 _ t r a n s f o r m e r 2 d # d i f f u s e r s . S D 3 T r a n s f o r m e r 2 D M o d e l ) - [ F l u x T r a n s f o r m e r 2 D M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / f l u x _ t r a n s f o r m e r # d i f f u s e r s . F l u x T r a n s f o r m e r 2 D M o d e l ) # # F r o m S i n g l e F i l e M i x i n # # F r o m O r i g i n a l M o d e l M i x i n [ [ a u t o d o c ] ] l o a d e r s . s i n g l e _ f i l e . F r o m S i n g l e F i l e M i x i n [ [ a u t o d o c ] ] l o a d e r s . s i n g l e _ f i l e _ m o d e l . F r o m O r i g i n a l M o d e l M i x i n # I n s t r u c t P i x 2 P i x [ I n s t r u c t P i x 2 P i x : L e a r n i n g t o F o l l o w I m a g e E d i t i n g I n s t r u c t i o n s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 1 1 . 0 9 8 0 0 ) i s b y T i m B r o o k s , A l e k s a n d e r H o l y n s k i a n d A l e x e i A . E f r o s . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e p r o p o s e a m e t h o d f o r e d i t i n g i m a g e s f r o m h u m a n i n s t r u c t i o n s : g i v e n a n i n p u t i m a g e a n d a w r i t t e n i n s t r u c t i o n t h a t t e l l s t h e m o d e l w h a t t o d o , o u r m o d e l f o l l o w s t h e s e i n s t r u c t i o n s t o e d i t t h e i m a g e . T o o b t a i n t r a i n i n g d a t a f o r t h i s p r o b l e m , w e c o m b i n e t h e k n o w l e d g e o f t w o l a r g e p r e t r a i n e d m o d e l s - - a l a n g u a g e m o d e l ( G P T - 3 ) a n d a t e x t - t o - i m a g e m o d e l ( S t a b l e D i f f u s i o n ) - - t o g e n e r a t e a l a r g e d a t a s e t o f i m a g e e d i t i n g e x a m p l e s . O u r c o n d i t i o n a l d i f f u s i o n m o d e l , I n s t r u c t P i x 2 P i x , i s t r a i n e d o n o u r g e n e r a t e d d a t a , a n d g e n e r a l i z e s t o r e a l i m a g e s a n d u s e r - w r i t t e n i n s t r u c t i o n s a t i n f e r e n c e t i m e . S i n c e i t p e r f o r m s e d i t s i n t h e f o r w a r d p a s s a n d d o e s n o t r e q u i r e p e r e x a m p l e f i n e - t u n i n g o r i n v e r s i o n , o u r m o d e l e d i t s i m a g e s q u i c k l y , i n a m a t t e r o f s e c o n d s . W e s h o w c o m p e l l i n g e d i t i n g r e s u l t s f o r a d i v e r s e c o l l e c t i o n o f i n p u t i m a g e s a n d w r i t t e n i n s t r u c t i o n s . * Y o u c a n f i n d a d d i t i o n a l i n f o r m a t i o n a b o u t I n s t r u c t P i x 2 P i x o n t h e [ p r o j e c t p a g e ] ( h t t p s : / / w w w . t i m o t h y b r o o k s . c o m / i n s t r u c t - p i x 2 p i x ) , [ o r i g i n a l c o d e b a s e ] ( h t t p s : / / g i t h u b . c o m / t i m o t h y b r o o k s / i n s t r u c t - p i x 2 p i x ) , a n d t r y i t o u t i n a [ d e m o ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / t i m b r o o k s / i n s t r u c t - p i x 2 p i x ) . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # S t a b l e D i f f u s i o n I n s t r u c t P i x 2 P i x P i p e l i n e # # S t a b l e D i f f u s i o n X L I n s t r u c t P i x 2 P i x P i p e l i n e [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n I n s t r u c t P i x 2 P i x P i p e l i n e - _ _ c a l l _ _ - a l l - l o a d _ t e x t u a l _ i n v e r s i o n - l o a d _ l o r a _ w e i g h t s - s a v e _ l o r a _ w e i g h t s [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n X L I n s t r u c t P i x 2 P i x P i p e l i n e - _ _ c a l l _ _ - a l l # L a t t e ! [ l a t t e t e x t - t o - v i d e o ] ( h t t p s : / / g i t h u b . c o m / V c h i t e c t / L a t t e / b l o b / 5 2 b c 0 0 2 9 8 9 9 b a b b d 6 e 9 2 5 0 3 8 4 c 8 3 d 8 e d 2 6 7 0 f f 7 a / v i s u a l s / l a t t e . g i f ? r a w = t r u e ) [ L a t t e : L a t e n t D i f f u s i o n T r a n s f o r m e r f o r V i d e o G e n e r a t i o n ] ( h t t p s : / / a r x i v . o r g / a b s / 2 4 0 1 . 0 3 0 4 8 ) f r o m M o n a s h U n i v e r s i t y , S h a n g h a i A I L a b , N a n j i n g U n i v e r s i t y , a n d N a n y a n g T e c h n o l o g i c a l U n i v e r s i t y . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e p r o p o s e a n o v e l L a t e n t D i f f u s i o n T r a n s f o r m e r , n a m e l y L a t t e , f o r v i d e o g e n e r a t i o n . L a t t e f i r s t e x t r a c t s s p a t i o - t e m p o r a l t o k e n s f r o m i n p u t v i d e o s a n d t h e n a d o p t s a s e r i e s o f T r a n s f o r m e r b l o c k s t o m o d e l v i d e o d i s t r i b u t i o n i n t h e l a t e n t s p a c e . I n o r d e r t o m o d e l a s u b s t a n t i a l n u m b e r o f t o k e n s e x t r a c t e d f r o m v i d e o s , f o u r e f f i c i e n t v a r i a n t s a r e i n t r o d u c e d f r o m t h e p e r s p e c t i v e o f d e c o m p o s i n g t h e s p a t i a l a n d t e m p o r a l d i m e n s i o n s o f i n p u t v i d e o s . T o i m p r o v e t h e q u a l i t y o f g e n e r a t e d v i d e o s , w e d e t e r m i n e t h e b e s t p r a c t i c e s o f L a t t e t h r o u g h r i g o r o u s e x p e r i m e n t a l a n a l y s i s , i n c l u d i n g v i d e o c l i p p a t c h e m b e d d i n g , m o d e l v a r i a n t s , t i m e s t e p - c l a s s i n f o r m a t i o n i n j e c t i o n , t e m p o r a l p o s i t i o n a l e m b e d d i n g , a n d l e a r n i n g s t r a t e g i e s . O u r c o m p r e h e n s i v e e v a l u a t i o n d e m o n s t r a t e s t h a t L a t t e a c h i e v e s s t a t e - o f - t h e - a r t p e r f o r m a n c e a c r o s s f o u r s t a n d a r d v i d e o g e n e r a t i o n d a t a s e t s , i . e . , F a c e F o r e n s i c s , S k y T i m e l a p s e , U C F 1 0 1 , a n d T a i c h i - H D . I n a d d i t i o n , w e e x t e n d L a t t e t o t e x t - t o - v i d e o g e n e r a t i o n ( T 2 V ) t a s k , w h e r e L a t t e a c h i e v e s c o m p a r a b l e r e s u l t s c o m p a r e d t o r e c e n t T 2 V m o d e l s . W e s t r o n g l y b e l i e v e t h a t L a t t e p r o v i d e s v a l u a b l e i n s i g h t s f o r f u t u r e r e s e a r c h o n i n c o r p o r a t i n g T r a n s f o r m e r s i n t o d i f f u s i o n m o d e l s f o r v i d e o g e n e r a t i o n . * * * H i g h l i g h t s * * : L a t t e i s a l a t e n t d i f f u s i o n t r a n s f o r m e r p r o p o s e d a s a b a c k b o n e f o r m o d e l i n g d i f f e r e n t m o d a l i t i e s ( t r a i n e d f o r t e x t - t o - v i d e o g e n e r a t i o n h e r e ) . I t a c h i e v e s s t a t e - o f - t h e - a r t p e r f o r m a n c e a c r o s s f o u r s t a n d a r d v i d e o b e n c h m a r k s - [ F a c e F o r e n s i c s ] ( h t t p s : / / a r x i v . o r g / a b s / 1 8 0 3 . 0 9 1 7 9 ) , [ S k y T i m e l a p s e ] ( h t t p s : / / a r x i v . o r g / a b s / 1 7 0 9 . 0 7 5 9 2 ) , [ U C F 1 0 1 ] ( h t t p s : / / a r x i v . o r g / a b s / 1 2 1 2 . 0 4 0 2 ) a n d [ T a i c h i - H D ] ( h t t p s : / / a r x i v . o r g / a b s / 2 0 0 3 . 0 0 1 9 6 ) . T o p r e p a r e a n d d o w n l o a d t h e d a t a s e t s f o r e v a l u a t i o n , p l e a s e r e f e r t o [ t h i s h t t p s U R L ] ( h t t p s : / / g i t h u b . c o m / V c h i t e c t / L a t t e / b l o b / m a i n / d o c s / d a t a s e t s _ e v a l u a t i o n . m d ) . T h i s p i p e l i n e w a s c o n t r i b u t e d b y [ m a x i n - c n ] ( h t t p s : / / g i t h u b . c o m / m a x i n - c n ) . T h e o r i g i n a l c o d e b a s e c a n b e f o u n d [ h e r e ] ( h t t p s : / / g i t h u b . c o m / V c h i t e c t / L a t t e ) . T h e o r i g i n a l w e i g h t s c a n b e f o u n d u n d e r [ h f . c o / m a x i n - c n ] ( h t t p s : / / h u g g i n g f a c e . c o / m a x i n - c n ) . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s . m d ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g . m d # r e u s e - a - p i p e l i n e ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # # I n f e r e n c e U s e [ ` t o r c h . c o m p i l e ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / t u t o r i a l s / f a s t _ d i f f u s i o n # t o r c h c o m p i l e ) t o r e d u c e t h e i n f e r e n c e l a t e n c y . F i r s t , l o a d t h e p i p e l i n e : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t L a t t e P i p e l i n e p i p e l i n e = L a t t e P i p e l i n e . f r o m _ p r e t r a i n e d ( " m a x i n - c n / L a t t e - 1 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) ` ` ` T h e n c h a n g e t h e m e m o r y l a y o u t o f t h e p i p e l i n e s ` t r a n s f o r m e r ` a n d ` v a e ` c o m p o n e n t s t o ` t o r c h . c h a n n e l s - l a s t ` : ` ` ` p y t h o n p i p e l i n e . t r a n s f o r m e r . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) p i p e l i n e . v a e . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) ` ` ` F i n a l l y , c o m p i l e t h e c o m p o n e n t s a n d r u n i n f e r e n c e : ` ` ` p y t h o n p i p e l i n e . t r a n s f o r m e r = t o r c h . c o m p i l e ( p i p e l i n e . t r a n s f o r m e r ) p i p e l i n e . v a e . d e c o d e = t o r c h . c o m p i l e ( p i p e l i n e . v a e . d e c o d e ) v i d e o = p i p e l i n e ( p r o m p t = " A d o g w e a r i n g s u n g l a s s e s f l o a t i n g i n s p a c e , s u r r e a l , n e b u l a e i n b a c k g r o u n d " ) . f r a m e s [ 0 ] ` ` ` T h e [ b e n c h m a r k ] ( h t t p s : / / g i s t . g i t h u b . c o m / a - r - r - o - w / 4 e 1 6 9 4 c a 4 6 3 7 4 7 9 3 c 0 3 6 1 d 7 4 0 a 9 9 f f 1 9 ) r e s u l t s o n a n 8 0 G B A 1 0 0 m a c h i n e a r e : ` ` ` W i t h o u t t o r c h . c o m p i l e ( ) : A v e r a g e i n f e r e n c e t i m e : 1 6 . 2 4 6 s e c o n d s . W i t h t o r c h . c o m p i l e ( ) : A v e r a g e i n f e r e n c e t i m e : 1 4 . 5 7 3 s e c o n d s . ` ` ` # # L a t t e P i p e l i n e [ [ a u t o d o c ] ] L a t t e P i p e l i n e - a l l - _ _ c a l l _ _ # a M U S E d a M U S E d w a s i n t r o d u c e d i n [ a M U S E d : A n O p e n M U S E R e p r o d u c t i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 4 0 1 . 0 1 8 0 8 ) b y S u r a j P a t i l , W i l l i a m B e r m a n , R o b i n R o m b a c h , a n d P a t r i c k v o n P l a t e n . A m u s e d i s a l i g h t w e i g h t t e x t t o i m a g e m o d e l b a s e d o f f o f t h e [ M U S E ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 0 1 . 0 0 7 0 4 ) a r c h i t e c t u r e . A m u s e d i s p a r t i c u l a r l y u s e f u l i n a p p l i c a t i o n s t h a t r e q u i r e a l i g h t w e i g h t a n d f a s t m o d e l s u c h a s g e n e r a t i n g m a n y i m a g e s q u i c k l y a t o n c e . A m u s e d i s a v q v a e t o k e n b a s e d t r a n s f o r m e r t h a t c a n g e n e r a t e a n i m a g e i n f e w e r f o r w a r d p a s s e s t h a n m a n y d i f f u s i o n m o d e l s . I n c o n t r a s t w i t h m u s e , i t u s e s t h e s m a l l e r t e x t e n c o d e r C L I P - L / 1 4 i n s t e a d o f t 5 - x x l . D u e t o i t s s m a l l p a r a m e t e r c o u n t a n d f e w f o r w a r d p a s s g e n e r a t i o n p r o c e s s , a m u s e d c a n g e n e r a t e m a n y i m a g e s q u i c k l y . T h i s b e n e f i t i s s e e n p a r t i c u l a r l y a t l a r g e r b a t c h s i z e s . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e p r e s e n t a M U S E d , a n o p e n - s o u r c e , l i g h t w e i g h t m a s k e d i m a g e m o d e l ( M I M ) f o r t e x t - t o - i m a g e g e n e r a t i o n b a s e d o n M U S E . W i t h 1 0 p e r c e n t o f M U S E ' s p a r a m e t e r s , a M U S E d i s f o c u s e d o n f a s t i m a g e g e n e r a t i o n . W e b e l i e v e M I M i s u n d e r - e x p l o r e d c o m p a r e d t o l a t e n t d i f f u s i o n , t h e p r e v a i l i n g a p p r o a c h f o r t e x t - t o - i m a g e g e n e r a t i o n . C o m p a r e d t o l a t e n t d i f f u s i o n , M I M r e q u i r e s f e w e r i n f e r e n c e s t e p s a n d i s m o r e i n t e r p r e t a b l e . A d d i t i o n a l l y , M I M c a n b e f i n e - t u n e d t o l e a r n a d d i t i o n a l s t y l e s w i t h o n l y a s i n g l e i m a g e . W e h o p e t o e n c o u r a g e f u r t h e r e x p l o r a t i o n o f M I M b y d e m o n s t r a t i n g i t s e f f e c t i v e n e s s o n l a r g e - s c a l e t e x t - t o - i m a g e g e n e r a t i o n a n d r e l e a s i n g r e p r o d u c i b l e t r a i n i n g c o d e . W e a l s o r e l e a s e c h e c k p o i n t s f o r t w o m o d e l s w h i c h d i r e c t l y p r o d u c e i m a g e s a t 2 5 6 x 2 5 6 a n d 5 1 2 x 5 1 2 r e s o l u t i o n s . * | M o d e l | P a r a m s | | - - - - - - - | - - - - - - - - | | [ a m u s e d - 2 5 6 ] ( h t t p s : / / h u g g i n g f a c e . c o / a m u s e d / a m u s e d - 2 5 6 ) | 6 0 3 M | | [ a m u s e d - 5 1 2 ] ( h t t p s : / / h u g g i n g f a c e . c o / a m u s e d / a m u s e d - 5 1 2 ) | 6 0 8 M | # # A m u s e d P i p e l i n e [ [ a u t o d o c ] ] A m u s e d P i p e l i n e - _ _ c a l l _ _ - a l l - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - d i s a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n [ [ a u t o d o c ] ] A m u s e d I m g 2 I m g P i p e l i n e - _ _ c a l l _ _ - a l l - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - d i s a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n [ [ a u t o d o c ] ] A m u s e d I n p a i n t P i p e l i n e - _ _ c a l l _ _ - a l l - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - d i s a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n # I 2 V G e n - X L [ I 2 V G e n - X L : H i g h - Q u a l i t y I m a g e - t o - V i d e o S y n t h e s i s v i a C a s c a d e d D i f f u s i o n M o d e l s ] ( h t t p s : / / h f . c o / p a p e r s / 2 3 1 1 . 0 4 1 4 5 . p d f ) b y S h i w e i Z h a n g , J i a y u W a n g , Y i n g y a Z h a n g , K a n g Z h a o , H a n g j i e Y u a n , Z h i w u Q i n , X i a n g W a n g , D e l i Z h a o , a n d J i n g r e n Z h o u . T h e a b s t r a c t f r o m t h e p a p e r i s : * V i d e o s y n t h e s i s h a s r e c e n t l y m a d e r e m a r k a b l e s t r i d e s b e n e f i t i n g f r o m t h e r a p i d d e v e l o p m e n t o f d i f f u s i o n m o d e l s . H o w e v e r , i t s t i l l e n c o u n t e r s c h a l l e n g e s i n t e r m s o f s e m a n t i c a c c u r a c y , c l a r i t y a n d s p a t i o - t e m p o r a l c o n t i n u i t y . T h e y p r i m a r i l y a r i s e f r o m t h e s c a r c i t y o f w e l l - a l i g n e d t e x t - v i d e o d a t a a n d t h e c o m p l e x i n h e r e n t s t r u c t u r e o f v i d e o s , m a k i n g i t d i f f i c u l t f o r t h e m o d e l t o s i m u l t a n e o u s l y e n s u r e s e m a n t i c a n d q u a l i t a t i v e e x c e l l e n c e . I n t h i s r e p o r t , w e p r o p o s e a c a s c a d e d I 2 V G e n - X L a p p r o a c h t h a t e n h a n c e s m o d e l p e r f o r m a n c e b y d e c o u p l i n g t h e s e t w o f a c t o r s a n d e n s u r e s t h e a l i g n m e n t o f t h e i n p u t d a t a b y u t i l i z i n g s t a t i c i m a g e s a s a f o r m o f c r u c i a l g u i d a n c e . I 2 V G e n - X L c o n s i s t s o f t w o s t a g e s : i ) t h e b a s e s t a g e g u a r a n t e e s c o h e r e n t s e m a n t i c s a n d p r e s e r v e s c o n t e n t f r o m i n p u t i m a g e s b y u s i n g t w o h i e r a r c h i c a l e n c o d e r s , a n d i i ) t h e r e f i n e m e n t s t a g e e n h a n c e s t h e v i d e o ' s d e t a i l s b y i n c o r p o r a t i n g a n a d d i t i o n a l b r i e f t e x t a n d i m p r o v e s t h e r e s o l u t i o n t o 1 2 8 0 ร— 7 2 0 . T o i m p r o v e t h e d i v e r s i t y , w e c o l l e c t a r o u n d 3 5 m i l l i o n s i n g l e - s h o t t e x t - v i d e o p a i r s a n d 6 b i l l i o n t e x t - i m a g e p a i r s t o o p t i m i z e t h e m o d e l . B y t h i s m e a n s , I 2 V G e n - X L c a n s i m u l t a n e o u s l y e n h a n c e t h e s e m a n t i c a c c u r a c y , c o n t i n u i t y o f d e t a i l s a n d c l a r i t y o f g e n e r a t e d v i d e o s . T h r o u g h e x t e n s i v e e x p e r i m e n t s , w e h a v e i n v e s t i g a t e d t h e u n d e r l y i n g p r i n c i p l e s o f I 2 V G e n - X L a n d c o m p a r e d i t w i t h c u r r e n t t o p m e t h o d s , w h i c h c a n d e m o n s t r a t e i t s e f f e c t i v e n e s s o n d i v e r s e d a t a . T h e s o u r c e c o d e a n d m o d e l s w i l l b e p u b l i c l y a v a i l a b l e a t [ t h i s h t t p s U R L ] ( h t t p s : / / i 2 v g e n - x l . g i t h u b . i o / ) . * T h e o r i g i n a l c o d e b a s e c a n b e f o u n d [ h e r e ] ( h t t p s : / / g i t h u b . c o m / a l i - v i l a b / i 2 v g e n - x l / ) . T h e m o d e l c h e c k p o i n t s c a n b e f o u n d [ h e r e ] ( h t t p s : / / h u g g i n g f a c e . c o / a l i - v i l a b / ) . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . A l s o , t o k n o w m o r e a b o u t r e d u c i n g t h e m e m o r y u s a g e o f t h i s p i p e l i n e , r e f e r t o t h e [ " R e d u c e m e m o r y u s a g e " ] s e c t i o n [ h e r e ] ( . . / . . / u s i n g - d i f f u s e r s / s v d # r e d u c e - m e m o r y - u s a g e ) . < / T i p > S a m p l e o u t p u t w i t h I 2 V G e n X L : < t a b l e > < t r > < t d > < c e n t e r > l i b r a r y . < b r > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i 2 v g e n - x l - e x a m p l e . g i f " a l t = " l i b r a r y " s t y l e = " w i d t h : 3 0 0 p x ; " / > < / c e n t e r > < / t d > < / t r > < / t a b l e > # # N o t e s * I 2 V G e n X L a l w a y s u s e s a ` c l i p _ s k i p ` v a l u e o f 1 . T h i s m e a n s i t l e v e r a g e s t h e p e n u l t i m a t e l a y e r r e p r e s e n t a t i o n s f r o m t h e t e x t e n c o d e r o f C L I P . * I t c a n g e n e r a t e v i d e o s o f q u a l i t y t h a t i s o f t e n o n p a r w i t h [ S t a b l e V i d e o D i f f u s i o n ] ( . . / . . / u s i n g - d i f f u s e r s / s v d ) ( S V D ) . * U n l i k e S V D , i t a d d i t i o n a l l y a c c e p t s t e x t p r o m p t s a s i n p u t s . * I t c a n g e n e r a t e h i g h e r r e s o l u t i o n v i d e o s . * W h e n u s i n g t h e [ D D I M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / d d i m # d i f f u s e r s . D D I M S c h e d u l e r ) ( w h i c h i s d e f a u l t f o r t h i s p i p e l i n e ) , l e s s t h a n 5 0 s t e p s f o r i n f e r e n c e l e a d s t o b a d r e s u l t s . * T h i s i m p l e m e n t a t i o n i s 1 - s t a g e v a r i a n t o f I 2 V G e n X L . T h e m a i n f i g u r e i n t h e [ I 2 V G e n - X L ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 1 1 . 0 4 1 4 5 ) p a p e r s h o w s a 2 - s t a g e v a r i a n t , h o w e v e r , 1 - s t a g e v a r i a n t w o r k s w e l l . S e e [ t h i s d i s c u s s i o n ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / d i s c u s s i o n s / 7 9 5 2 ) f o r m o r e d e t a i l s . # # I 2 V G e n X L P i p e l i n e # # I 2 V G e n X L P i p e l i n e O u t p u t [ [ a u t o d o c ] ] I 2 V G e n X L P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . i 2 v g e n _ x l . p i p e l i n e _ i 2 v g e n _ x l . I 2 V G e n X L P i p e l i n e O u t p u t # D a n c e D i f f u s i o n [ D a n c e D i f f u s i o n ] ( h t t p s : / / g i t h u b . c o m / H a r m o n a i - o r g / s a m p l e - g e n e r a t o r ) i s b y Z a c h E v a n s . D a n c e D i f f u s i o n i s t h e f i r s t i n a s u i t e o f g e n e r a t i v e a u d i o t o o l s f o r p r o d u c e r s a n d m u s i c i a n s r e l e a s e d b y [ H a r m o n a i ] ( h t t p s : / / g i t h u b . c o m / H a r m o n a i - o r g ) . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # D a n c e D i f f u s i o n P i p e l i n e # # A u d i o P i p e l i n e O u t p u t [ [ a u t o d o c ] ] D a n c e D i f f u s i o n P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . A u d i o P i p e l i n e O u t p u t # W รผ r s t c h e n < i m g s r c = " h t t p s : / / g i t h u b . c o m / d o m e 2 7 2 / W u e r s t c h e n / a s s e t s / 6 1 9 3 8 6 9 4 / 0 6 1 7 c 8 6 3 - 1 6 5 a - 4 3 e e - 9 3 0 3 - 2 a 1 7 2 9 9 a 0 c f 9 " > [ W u e r s t c h e n : A n E f f i c i e n t A r c h i t e c t u r e f o r L a r g e - S c a l e T e x t - t o - I m a g e D i f f u s i o n M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 6 . 0 0 6 3 7 ) i s b y P a b l o P e r n i a s , D o m i n i c R a m p a s , M a t s L . R i c h t e r a n d C h r i s t o p h e r P a l a n d M a r c A u b r e v i l l e . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e i n t r o d u c e W รผ r s t c h e n , a n o v e l a r c h i t e c t u r e f o r t e x t - t o - i m a g e s y n t h e s i s t h a t c o m b i n e s c o m p e t i t i v e p e r f o r m a n c e w i t h u n p r e c e d e n t e d c o s t - e f f e c t i v e n e s s f o r l a r g e - s c a l e t e x t - t o - i m a g e d i f f u s i o n m o d e l s . A k e y c o n t r i b u t i o n o f o u r w o r k i s t o d e v e l o p a l a t e n t d i f f u s i o n t e c h n i q u e i n w h i c h w e l e a r n a d e t a i l e d b u t e x t r e m e l y c o m p a c t s e m a n t i c i m a g e r e p r e s e n t a t i o n u s e d t o g u i d e t h e d i f f u s i o n p r o c e s s . T h i s h i g h l y c o m p r e s s e d r e p r e s e n t a t i o n o f a n i m a g e p r o v i d e s m u c h m o r e d e t a i l e d g u i d a n c e c o m p a r e d t o l a t e n t r e p r e s e n t a t i o n s o f l a n g u a g e a n d t h i s s i g n i f i c a n t l y r e d u c e s t h e c o m p u t a t i o n a l r e q u i r e m e n t s t o a c h i e v e s t a t e - o f - t h e - a r t r e s u l t s . O u r a p p r o a c h a l s o i m p r o v e s t h e q u a l i t y o f t e x t - c o n d i t i o n e d i m a g e g e n e r a t i o n b a s e d o n o u r u s e r p r e f e r e n c e s t u d y . T h e t r a i n i n g r e q u i r e m e n t s o f o u r a p p r o a c h c o n s i s t s o f 2 4 , 6 0 2 A 1 0 0 - G P U h o u r s - c o m p a r e d t o S t a b l e D i f f u s i o n 2 . 1 ' s 2 0 0 , 0 0 0 G P U h o u r s . O u r a p p r o a c h a l s o r e q u i r e s l e s s t r a i n i n g d a t a t o a c h i e v e t h e s e r e s u l t s . F u r t h e r m o r e , o u r c o m p a c t l a t e n t r e p r e s e n t a t i o n s a l l o w s u s t o p e r f o r m i n f e r e n c e o v e r t w i c e a s f a s t , s l a s h i n g t h e u s u a l c o s t s a n d c a r b o n f o o t p r i n t o f a s t a t e - o f - t h e - a r t ( S O T A ) d i f f u s i o n m o d e l s i g n i f i c a n t l y , w i t h o u t c o m p r o m i s i n g t h e e n d p e r f o r m a n c e . I n a b r o a d e r c o m p a r i s o n a g a i n s t S O T A m o d e l s o u r a p p r o a c h i s s u b s t a n t i a l l y m o r e e f f i c i e n t a n d c o m p a r e s f a v o r a b l y i n t e r m s o f i m a g e q u a l i t y . W e b e l i e v e t h a t t h i s w o r k m o t i v a t e s m o r e e m p h a s i s o n t h e p r i o r i t i z a t i o n o f b o t h p e r f o r m a n c e a n d c o m p u t a t i o n a l a c c e s s i b i l i t y . * # # W รผ r s t c h e n O v e r v i e w W รผ r s t c h e n i s a d i f f u s i o n m o d e l , w h o s e t e x t - c o n d i t i o n a l m o d e l w o r k s i n a h i g h l y c o m p r e s s e d l a t e n t s p a c e o f i m a g e s . W h y i s t h i s i m p o r t a n t ? C o m p r e s s i n g d a t a c a n r e d u c e c o m p u t a t i o n a l c o s t s f o r b o t h t r a i n i n g a n d i n f e r e n c e b y m a g n i t u d e s . T r a i n i n g o n 1 0 2 4 x 1 0 2 4 i m a g e s i s w a y m o r e e x p e n s i v e t h a n t r a i n i n g o n 3 2 x 3 2 . U s u a l l y , o t h e r w o r k s m a k e u s e o f a r e l a t i v e l y s m a l l c o m p r e s s i o n , i n t h e r a n g e o f 4 x - 8 x s p a t i a l c o m p r e s s i o n . W รผ r s t c h e n t a k e s t h i s t o a n e x t r e m e . T h r o u g h i t s n o v e l d e s i g n , w e a c h i e v e a 4 2 x s p a t i a l c o m p r e s s i o n . T h i s w a s u n s e e n b e f o r e b e c a u s e c o m m o n m e t h o d s f a i l t o f a i t h f u l l y r e c o n s t r u c t d e t a i l e d i m a g e s a f t e r 1 6 x s p a t i a l c o m p r e s s i o n . W รผ r s t c h e n e m p l o y s a t w o - s t a g e c o m p r e s s i o n , w h a t w e c a l l S t a g e A a n d S t a g e B . S t a g e A i s a V Q G A N , a n d S t a g e B i s a D i f f u s i o n A u t o e n c o d e r ( m o r e d e t a i l s c a n b e f o u n d i n t h e [ p a p e r ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 6 . 0 0 6 3 7 ) ) . A t h i r d m o d e l , S t a g e C , i s l e a r n e d i n t h a t h i g h l y c o m p r e s s e d l a t e n t s p a c e . T h i s t r a i n i n g r e q u i r e s f r a c t i o n s o f t h e c o m p u t e u s e d f o r c u r r e n t t o p - p e r f o r m i n g m o d e l s , w h i l e a l s o a l l o w i n g c h e a p e r a n d f a s t e r i n f e r e n c e . # # W รผ r s t c h e n v 2 c o m e s t o D i f f u s e r s A f t e r t h e i n i t i a l p a p e r r e l e a s e , w e h a v e i m p r o v e d n u m e r o u s t h i n g s i n t h e a r c h i t e c t u r e , t r a i n i n g a n d s a m p l i n g , m a k i n g W รผ r s t c h e n c o m p e t i t i v e t o c u r r e n t s t a t e - o f - t h e - a r t m o d e l s i n m a n y w a y s . W e a r e e x c i t e d t o r e l e a s e t h i s n e w v e r s i o n t o g e t h e r w i t h D i f f u s e r s . H e r e i s a l i s t o f t h e i m p r o v e m e n t s . - H i g h e r r e s o l u t i o n ( 1 0 2 4 x 1 0 2 4 u p t o 2 0 4 8 x 2 0 4 8 ) - F a s t e r i n f e r e n c e - M u l t i A s p e c t R e s o l u t i o n S a m p l i n g - B e t t e r q u a l i t y W e a r e r e l e a s i n g 3 c h e c k p o i n t s f o r t h e t e x t - c o n d i t i o n a l i m a g e g e n e r a t i o n m o d e l ( S t a g e C ) . T h o s e a r e : - v 2 - b a s e - v 2 - a e s t h e t i c - * * ( d e f a u l t ) * * v 2 - i n t e r p o l a t e d ( 5 0 % i n t e r p o l a t i o n b e t w e e n v 2 - b a s e a n d v 2 - a e s t h e t i c ) W e r e c o m m e n d u s i n g v 2 - i n t e r p o l a t e d , a s i t h a s a n i c e t o u c h o f b o t h p h o t o r e a l i s m a n d a e s t h e t i c s . U s e v 2 - b a s e f o r f i n e t u n i n g s a s i t d o e s n o t h a v e a s t y l e b i a s a n d u s e v 2 - a e s t h e t i c f o r v e r y a r t i s t i c g e n e r a t i o n s . A c o m p a r i s o n c a n b e s e e n h e r e : < i m g s r c = " h t t p s : / / g i t h u b . c o m / d o m e 2 7 2 / W u e r s t c h e n / a s s e t s / 6 1 9 3 8 6 9 4 / 2 9 1 4 8 3 0 f - c b d 3 - 4 6 1 c - b e 6 4 - d 5 0 7 3 4 f 4 b 4 9 d " w i d t h = 5 0 0 > # # T e x t - t o - I m a g e G e n e r a t i o n F o r t h e s a k e o f u s a b i l i t y , W รผ r s t c h e n c a n b e u s e d w i t h a s i n g l e p i p e l i n e . T h i s p i p e l i n e c a n b e u s e d a s f o l l o w s : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e f r o m d i f f u s e r s . p i p e l i n e s . w u e r s t c h e n i m p o r t D E F A U L T _ S T A G E _ C _ T I M E S T E P S p i p e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " w a r p - a i / w u e r s t c h e n " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) c a p t i o n = " A n t h r o p o m o r p h i c c a t d r e s s e d a s a f i r e f i g h t e r " i m a g e s = p i p e ( c a p t i o n , w i d t h = 1 0 2 4 , h e i g h t = 1 5 3 6 , p r i o r _ t i m e s t e p s = D E F A U L T _ S T A G E _ C _ T I M E S T E P S , p r i o r _ g u i d a n c e _ s c a l e = 4 . 0 , n u m _ i m a g e s _ p e r _ p r o m p t = 2 , ) . i m a g e s ` ` ` F o r e x p l a n a t i o n p u r p o s e s , w e c a n a l s o i n i t i a l i z e t h e t w o m a i n p i p e l i n e s o f W รผ r s t c h e n i n d i v i d u a l l y . W รผ r s t c h e n c o n s i s t s o f 3 s t a g e s : S t a g e C , S t a g e B , S t a g e A . T h e y a l l h a v e d i f f e r e n t j o b s a n d w o r k o n l y t o g e t h e r . W h e n g e n e r a t i n g t e x t - c o n d i t i o n a l i m a g e s , S t a g e C w i l l f i r s t g e n e r a t e t h e l a t e n t s i n a v e r y c o m p r e s s e d l a t e n t s p a c e . T h i s i s w h a t h a p p e n s i n t h e ` p r i o r _ p i p e l i n e ` . A f t e r w a r d s , t h e g e n e r a t e d l a t e n t s w i l l b e p a s s e d t o S t a g e B , w h i c h d e c o m p r e s s e s t h e l a t e n t s i n t o a b i g g e r l a t e n t s p a c e o f a V Q G A N . T h e s e l a t e n t s c a n t h e n b e d e c o d e d b y S t a g e A , w h i c h i s a V Q G A N , i n t o t h e p i x e l - s p a c e . S t a g e B & S t a g e A a r e b o t h e n c a p s u l a t e d i n t h e ` d e c o d e r _ p i p e l i n e ` . F o r m o r e d e t a i l s , t a k e a l o o k a t t h e [ p a p e r ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 6 . 0 0 6 3 7 ) . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t W u e r s t c h e n D e c o d e r P i p e l i n e , W u e r s t c h e n P r i o r P i p e l i n e f r o m d i f f u s e r s . p i p e l i n e s . w u e r s t c h e n i m p o r t D E F A U L T _ S T A G E _ C _ T I M E S T E P S d e v i c e = " c u d a " d t y p e = t o r c h . f l o a t 1 6 n u m _ i m a g e s _ p e r _ p r o m p t = 2 p r i o r _ p i p e l i n e = W u e r s t c h e n P r i o r P i p e l i n e . f r o m _ p r e t r a i n e d ( " w a r p - a i / w u e r s t c h e n - p r i o r " , t o r c h _ d t y p e = d t y p e ) . t o ( d e v i c e ) d e c o d e r _ p i p e l i n e = W u e r s t c h e n D e c o d e r P i p e l i n e . f r o m _ p r e t r a i n e d ( " w a r p - a i / w u e r s t c h e n " , t o r c h _ d t y p e = d t y p e ) . t o ( d e v i c e ) c a p t i o n = " A n t h r o p o m o r p h i c c a t d r e s s e d a s a f i r e f i g h t e r " n e g a t i v e _ p r o m p t = " " p r i o r _ o u t p u t = p r i o r _ p i p e l i n e ( p r o m p t = c a p t i o n , h e i g h t = 1 0 2 4 , w i d t h = 1 5 3 6 , t i m e s t e p s = D E F A U L T _ S T A G E _ C _ T I M E S T E P S , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , g u i d a n c e _ s c a l e = 4 . 0 , n u m _ i m a g e s _ p e r _ p r o m p t = n u m _ i m a g e s _ p e r _ p r o m p t , ) d e c o d e r _ o u t p u t = d e c o d e r _ p i p e l i n e ( i m a g e _ e m b e d d i n g s = p r i o r _ o u t p u t . i m a g e _ e m b e d d i n g s , p r o m p t = c a p t i o n , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , g u i d a n c e _ s c a l e = 0 . 0 , o u t p u t _ t y p e = " p i l " , ) . i m a g e s [ 0 ] d e c o d e r _ o u t p u t ` ` ` # # S p e e d - U p I n f e r e n c e Y o u c a n m a k e u s e o f ` t o r c h . c o m p i l e ` f u n c t i o n a n d g a i n a s p e e d - u p o f a b o u t 2 - 3 x : ` ` ` p y t h o n p r i o r _ p i p e l i n e . p r i o r = t o r c h . c o m p i l e ( p r i o r _ p i p e l i n e . p r i o r , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) d e c o d e r _ p i p e l i n e . d e c o d e r = t o r c h . c o m p i l e ( d e c o d e r _ p i p e l i n e . d e c o d e r , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) ` ` ` # # L i m i t a t i o n s - D u e t o t h e h i g h c o m p r e s s i o n e m p l o y e d b y W รผ r s t c h e n , g e n e r a t i o n s c a n l a c k a g o o d a m o u n t o f d e t a i l . T o o u r h u m a n e y e , t h i s i s e s p e c i a l l y n o t i c e a b l e i n f a c e s , h a n d s e t c . - * * I m a g e s c a n o n l y b e g e n e r a t e d i n 1 2 8 - p i x e l s t e p s * * , e . g . t h e n e x t h i g h e r r e s o l u t i o n a f t e r 1 0 2 4 x 1 0 2 4 i s 1 1 5 2 x 1 1 5 2 - T h e m o d e l l a c k s t h e a b i l i t y t o r e n d e r c o r r e c t t e x t i n i m a g e s - T h e m o d e l o f t e n d o e s n o t a c h i e v e p h o t o r e a l i s m - D i f f i c u l t c o m p o s i t i o n a l p r o m p t s a r e h a r d f o r t h e m o d e l T h e o r i g i n a l c o d e b a s e , a s w e l l a s e x p e r i m e n t a l i d e a s , c a n b e f o u n d a t [ d o m e 2 7 2 / W u e r s t c h e n ] ( h t t p s : / / g i t h u b . c o m / d o m e 2 7 2 / W u e r s t c h e n ) . # # W u e r s t c h e n C o m b i n e d P i p e l i n e # # W u e r s t c h e n P r i o r P i p e l i n e # # W u e r s t c h e n P r i o r P i p e l i n e O u t p u t # # W u e r s t c h e n D e c o d e r P i p e l i n e # # C i t a t i o n ` ` ` b i b t e x @ m i s c { p e r n i a s 2 0 2 3 w u e r s t c h e n , t i t l e = { W u e r s t c h e n : A n E f f i c i e n t A r c h i t e c t u r e f o r L a r g e - S c a l e T e x t - t o - I m a g e D i f f u s i o n M o d e l s } , a u t h o r = { P a b l o P e r n i a s a n d D o m i n i c R a m p a s a n d M a t s L . R i c h t e r a n d C h r i s t o p h e r J . P a l a n d M a r c A u b r e v i l l e } , y e a r = { 2 0 2 3 } , e p r i n t = { 2 3 0 6 . 0 0 6 3 7 } , a r c h i v e P r e f i x = { a r X i v } , p r i m a r y C l a s s = { c s . C V } } ` ` ` [ [ a u t o d o c ] ] W u e r s t c h e n C o m b i n e d P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] W u e r s t c h e n P r i o r P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . w u e r s t c h e n . p i p e l i n e _ w u e r s t c h e n _ p r i o r . W u e r s t c h e n P r i o r P i p e l i n e O u t p u t [ [ a u t o d o c ] ] W u e r s t c h e n D e c o d e r P i p e l i n e - a l l - _ _ c a l l _ _ # M u l t i D i f f u s i o n [ M u l t i D i f f u s i o n : F u s i n g D i f f u s i o n P a t h s f o r C o n t r o l l e d I m a g e G e n e r a t i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 2 . 0 8 1 1 3 ) i s b y O m e r B a r - T a l , L i o r Y a r i v , Y a r o n L i p m a n , a n d T a l i D e k e l . T h e a b s t r a c t f r o m t h e p a p e r i s : * R e c e n t a d v a n c e s i n t e x t - t o - i m a g e g e n e r a t i o n w i t h d i f f u s i o n m o d e l s p r e s e n t t r a n s f o r m a t i v e c a p a b i l i t i e s i n i m a g e q u a l i t y . H o w e v e r , u s e r c o n t r o l l a b i l i t y o f t h e g e n e r a t e d i m a g e , a n d f a s t a d a p t a t i o n t o n e w t a s k s s t i l l r e m a i n s a n o p e n c h a l l e n g e , c u r r e n t l y m o s t l y a d d r e s s e d b y c o s t l y a n d l o n g r e - t r a i n i n g a n d f i n e - t u n i n g o r a d - h o c a d a p t a t i o n s t o s p e c i f i c i m a g e g e n e r a t i o n t a s k s . I n t h i s w o r k , w e p r e s e n t M u l t i D i f f u s i o n , a u n i f i e d f r a m e w o r k t h a t e n a b l e s v e r s a t i l e a n d c o n t r o l l a b l e i m a g e g e n e r a t i o n , u s i n g a p r e - t r a i n e d t e x t - t o - i m a g e d i f f u s i o n m o d e l , w i t h o u t a n y f u r t h e r t r a i n i n g o r f i n e t u n i n g . A t t h e c e n t e r o f o u r a p p r o a c h i s a n e w g e n e r a t i o n p r o c e s s , b a s e d o n a n o p t i m i z a t i o n t a s k t h a t b i n d s t o g e t h e r m u l t i p l e d i f f u s i o n g e n e r a t i o n p r o c e s s e s w i t h a s h a r e d s e t o f p a r a m e t e r s o r c o n s t r a i n t s . W e s h o w t h a t M u l t i D i f f u s i o n c a n b e r e a d i l y a p p l i e d t o g e n e r a t e h i g h q u a l i t y a n d d i v e r s e i m a g e s t h a t a d h e r e t o u s e r - p r o v i d e d c o n t r o l s , s u c h a s d e s i r e d a s p e c t r a t i o ( e . g . , p a n o r a m a ) , a n d s p a t i a l g u i d i n g s i g n a l s , r a n g i n g f r o m t i g h t s e g m e n t a t i o n m a s k s t o b o u n d i n g b o x e s . * Y o u c a n f i n d a d d i t i o n a l i n f o r m a t i o n a b o u t M u l t i D i f f u s i o n o n t h e [ p r o j e c t p a g e ] ( h t t p s : / / m u l t i d i f f u s i o n . g i t h u b . i o / ) , [ o r i g i n a l c o d e b a s e ] ( h t t p s : / / g i t h u b . c o m / o m e r b t / M u l t i D i f f u s i o n ) , a n d t r y i t o u t i n a [ d e m o ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / w e i z m a n n s c i e n c e / M u l t i D i f f u s i o n ) . # # T i p s W h i l e c a l l i n g ` S t a b l e D i f f u s i o n P a n o r a m a P i p e l i n e ` , i t ' s p o s s i b l e t o s p e c i f y t h e ` v i e w _ b a t c h _ s i z e ` p a r a m e t e r t o b e > 1 . F o r s o m e G P U s w i t h h i g h p e r f o r m a n c e , t h i s c a n s p e e d u p t h e g e n e r a t i o n p r o c e s s a n d i n c r e a s e V R A M u s a g e . T o g e n e r a t e p a n o r a m a - l i k e i m a g e s m a k e s u r e y o u p a s s t h e w i d t h p a r a m e t e r a c c o r d i n g l y . W e r e c o m m e n d a w i d t h v a l u e o f 2 0 4 8 w h i c h i s t h e d e f a u l t . C i r c u l a r p a d d i n g i s a p p l i e d t o e n s u r e t h e r e a r e n o s t i t c h i n g a r t i f a c t s w h e n w o r k i n g w i t h p a n o r a m a s t o e n s u r e a s e a m l e s s t r a n s i t i o n f r o m t h e r i g h t m o s t p a r t t o t h e l e f t m o s t p a r t . B y e n a b l i n g c i r c u l a r p a d d i n g ( s e t ` c i r c u l a r _ p a d d i n g = T r u e ` ) , t h e o p e r a t i o n a p p l i e s a d d i t i o n a l c r o p s a f t e r t h e r i g h t m o s t p o i n t o f t h e i m a g e , a l l o w i n g t h e m o d e l t o " s e e โ€ t h e t r a n s i t i o n f r o m t h e r i g h t m o s t p a r t t o t h e l e f t m o s t p a r t . T h i s h e l p s m a i n t a i n v i s u a l c o n s i s t e n c y i n a 3 6 0 - d e g r e e s e n s e a n d c r e a t e s a p r o p e r โ€œ p a n o r a m a โ€ t h a t c a n b e v i e w e d u s i n g 3 6 0 - d e g r e e p a n o r a m a v i e w e r s . W h e n d e c o d i n g l a t e n t s i n S t a b l e D i f f u s i o n , c i r c u l a r p a d d i n g i s a p p l i e d t o e n s u r e t h a t t h e d e c o d e d l a t e n t s m a t c h i n t h e R G B s p a c e . F o r e x a m p l e , w i t h o u t c i r c u l a r p a d d i n g , t h e r e i s a s t i t c h i n g a r t i f a c t ( d e f a u l t ) : ! [ i m g ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / i n d o o r _ % 2 0 n o _ c i r c u l a r _ p a d d i n g . p n g ) B u t w i t h c i r c u l a r p a d d i n g , t h e r i g h t a n d t h e l e f t p a r t s a r e m a t c h i n g ( ` c i r c u l a r _ p a d d i n g = T r u e ` ) : ! [ i m g ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / i n d o o r _ % 2 0 c i r c u l a r _ p a d d i n g . p n g ) < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # S t a b l e D i f f u s i o n P a n o r a m a P i p e l i n e # # S t a b l e D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n P a n o r a m a P i p e l i n e - _ _ c a l l _ _ - a l l [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # L u m i n a - T 2 X ! [ c o n c e p t s ] ( h t t p s : / / g i t h u b . c o m / A l p h a - V L L M / L u m i n a - T 2 X / a s s e t s / 5 4 8 7 9 5 1 2 / 9 f 5 2 e a b b - 0 7 d c - 4 8 8 1 - 8 2 5 7 - 6 d 8 a 5 f 2 a 0 a 5 a ) [ L u m i n a - N e x t : M a k i n g L u m i n a - T 2 X S t r o n g e r a n d F a s t e r w i t h N e x t - D i T ] ( h t t p s : / / g i t h u b . c o m / A l p h a - V L L M / L u m i n a - T 2 X / b l o b / m a i n / a s s e t s / l u m i n a - n e x t . p d f ) f r o m A l p h a - V L L M , O p e n G V L a b , S h a n g h a i A I L a b o r a t o r y . T h e a b s t r a c t f r o m t h e p a p e r i s : * L u m i n a - T 2 X i s a n a s c e n t f a m i l y o f F l o w - b a s e d L a r g e D i f f u s i o n T r a n s f o r m e r s ( F l a g - D i T ) t h a t e s t a b l i s h e s a u n i f i e d f r a m e w o r k f o r t r a n s f o r m i n g n o i s e i n t o v a r i o u s m o d a l i t i e s , s u c h a s i m a g e s a n d v i d e o s , c o n d i t i o n e d o n t e x t i n s t r u c t i o n s . D e s p i t e i t s p r o m i s i n g c a p a b i l i t i e s , L u m i n a - T 2 X s t i l l e n c o u n t e r s c h a l l e n g e s i n c l u d i n g t r a i n i n g i n s t a b i l i t y , s l o w i n f e r e n c e , a n d e x t r a p o l a t i o n a r t i f a c t s . I n t h i s p a p e r , w e p r e s e n t L u m i n a - N e x t , a n i m p r o v e d v e r s i o n o f L u m i n a - T 2 X , s h o w c a s i n g s t r o n g e r g e n e r a t i o n p e r f o r m a n c e w i t h i n c r e a s e d t r a i n i n g a n d i n f e r e n c e e f f i c i e n c y . W e b e g i n w i t h a c o m p r e h e n s i v e a n a l y s i s o f t h e F l a g - D i T a r c h i t e c t u r e a n d i d e n t i f y s e v e r a l s u b o p t i m a l c o m p o n e n t s , w h i c h w e a d d r e s s b y i n t r o d u c i n g t h e N e x t - D i T a r c h i t e c t u r e w i t h 3 D R o P E a n d s a n d w i c h n o r m a l i z a t i o n s . T o e n a b l e b e t t e r r e s o l u t i o n e x t r a p o l a t i o n , w e t h o r o u g h l y c o m p a r e d i f f e r e n t c o n t e x t e x t r a p o l a t i o n m e t h o d s a p p l i e d t o t e x t - t o - i m a g e g e n e r a t i o n w i t h 3 D R o P E , a n d p r o p o s e F r e q u e n c y - a n d T i m e - A w a r e S c a l e d R o P E t a i l o r e d f o r d i f f u s i o n t r a n s f o r m e r s . A d d i t i o n a l l y , w e i n t r o d u c e a s i g m o i d t i m e d i s c r e t i z a t i o n s c h e d u l e t o r e d u c e s a m p l i n g s t e p s i n s o l v i n g t h e F l o w O D E a n d t h e C o n t e x t D r o p m e t h o d t o m e r g e r e d u n d a n t v i s u a l t o k e n s f o r f a s t e r n e t w o r k e v a l u a t i o n , e f f e c t i v e l y b o o s t i n g t h e o v e r a l l s a m p l i n g s p e e d . T h a n k s t o t h e s e i m p r o v e m e n t s , L u m i n a - N e x t n o t o n l y i m p r o v e s t h e q u a l i t y a n d e f f i c i e n c y o f b a s i c t e x t - t o - i m a g e g e n e r a t i o n b u t a l s o d e m o n s t r a t e s s u p e r i o r r e s o l u t i o n e x t r a p o l a t i o n c a p a b i l i t i e s a n d m u l t i l i n g u a l g e n e r a t i o n u s i n g d e c o d e r - b a s e d L L M s a s t h e t e x t e n c o d e r , a l l i n a z e r o - s h o t m a n n e r . T o f u r t h e r v a l i d a t e L u m i n a - N e x t a s a v e r s a t i l e g e n e r a t i v e f r a m e w o r k , w e i n s t a n t i a t e i t o n d i v e r s e t a s k s i n c l u d i n g v i s u a l r e c o g n i t i o n , m u l t i - v i e w , a u d i o , m u s i c , a n d p o i n t c l o u d g e n e r a t i o n , s h o w c a s i n g s t r o n g p e r f o r m a n c e a c r o s s t h e s e d o m a i n s . B y r e l e a s i n g a l l c o d e s a n d m o d e l w e i g h t s a t h t t p s : / / g i t h u b . c o m / A l p h a - V L L M / L u m i n a - T 2 X , w e a i m t o a d v a n c e t h e d e v e l o p m e n t o f n e x t - g e n e r a t i o n g e n e r a t i v e A I c a p a b l e o f u n i v e r s a l m o d e l i n g . * * * H i g h l i g h t s * * : L u m i n a - N e x t i s a n e x t - g e n e r a t i o n D i f f u s i o n T r a n s f o r m e r t h a t s i g n i f i c a n t l y e n h a n c e s t e x t - t o - i m a g e g e n e r a t i o n , m u l t i l i n g u a l g e n e r a t i o n , a n d m u l t i t a s k p e r f o r m a n c e b y i n t r o d u c i n g t h e N e x t - D i T a r c h i t e c t u r e , 3 D R o P E , a n d f r e q u e n c y - a n d t i m e - a w a r e R o P E , a m o n g o t h e r i m p r o v e m e n t s . L u m i n a - N e x t h a s t h e f o l l o w i n g c o m p o n e n t s : * I t i m p r o v e s s a m p l i n g e f f i c i e n c y w i t h f e w e r a n d f a s t e r S t e p s . * I t u s e s a N e x t - D i T a s a t r a n s f o r m e r b a c k b o n e w i t h S a n d w i c h n o r m 3 D R o P E , a n d G r o u p e d - Q u e r y A t t e n t i o n . * I t u s e s a F r e q u e n c y - a n d T i m e - A w a r e S c a l e d R o P E . - - - [ L u m i n a - T 2 X : T r a n s f o r m i n g T e x t i n t o A n y M o d a l i t y , R e s o l u t i o n , a n d D u r a t i o n v i a F l o w - b a s e d L a r g e D i f f u s i o n T r a n s f o r m e r s ] ( h t t p s : / / a r x i v . o r g / a b s / 2 4 0 5 . 0 5 9 4 5 ) f r o m A l p h a - V L L M , O p e n G V L a b , S h a n g h a i A I L a b o r a t o r y . T h e a b s t r a c t f r o m t h e p a p e r i s : * S o r a u n v e i l s t h e p o t e n t i a l o f s c a l i n g D i f f u s i o n T r a n s f o r m e r f o r g e n e r a t i n g p h o t o r e a l i s t i c i m a g e s a n d v i d e o s a t a r b i t r a r y r e s o l u t i o n s , a s p e c t r a t i o s , a n d d u r a t i o n s , y e t i t s t i l l l a c k s s u f f i c i e n t i m p l e m e n t a t i o n d e t a i l s . I n t h i s t e c h n i c a l r e p o r t , w e i n t r o d u c e t h e L u m i n a - T 2 X f a m i l y - a s e r i e s o f F l o w - b a s e d L a r g e D i f f u s i o n T r a n s f o r m e r s ( F l a g - D i T ) e q u i p p e d w i t h z e r o - i n i t i a l i z e d a t t e n t i o n , a s a u n i f i e d f r a m e w o r k d e s i g n e d t o t r a n s f o r m n o i s e i n t o i m a g e s , v i d e o s , m u l t i - v i e w 3 D o b j e c t s , a n d a u d i o c l i p s c o n d i t i o n e d o n t e x t i n s t r u c t i o n s . B y t o k e n i z i n g t h e l a t e n t s p a t i a l - t e m p o r a l s p a c e a n d i n c o r p o r a t i n g l e a r n a b l e p l a c e h o l d e r s s u c h a s [ n e x t l i n e ] a n d [ n e x t f r a m e ] t o k e n s , L u m i n a - T 2 X s e a m l e s s l y u n i f i e s t h e r e p r e s e n t a t i o n s o f d i f f e r e n t m o d a l i t i e s a c r o s s v a r i o u s s p a t i a l - t e m p o r a l r e s o l u t i o n s . T h i s u n i f i e d a p p r o a c h e n a b l e s t r a i n i n g w i t h i n a s i n g l e f r a m e w o r k f o r d i f f e r e n t m o d a l i t i e s a n d a l l o w s f o r f l e x i b l e g e n e r a t i o n o f m u l t i m o d a l d a t a a t a n y r e s o l u t i o n , a s p e c t r a t i o , a n d l e n g t h d u r i n g i n f e r e n c e . A d v a n c e d t e c h n i q u e s l i k e R o P E , R M S N o r m , a n d f l o w m a t c h i n g e n h a n c e t h e s t a b i l i t y , f l e x i b i l i t y , a n d s c a l a b i l i t y o f F l a g - D i T , e n a b l i n g m o d e l s o f L u m i n a - T 2 X t o s c a l e u p t o 7 b i l l i o n p a r a m e t e r s a n d e x t e n d t h e c o n t e x t w i n d o w t o 1 2 8 K t o k e n s . T h i s i s p a r t i c u l a r l y b e n e f i c i a l f o r c r e a t i n g u l t r a - h i g h - d e f i n i t i o n i m a g e s w i t h o u r L u m i n a - T 2 I m o d e l a n d l o n g 7 2 0 p v i d e o s w i t h o u r L u m i n a - T 2 V m o d e l . R e m a r k a b l y , L u m i n a - T 2 I , p o w e r e d b y a 5 - b i l l i o n - p a r a m e t e r F l a g - D i T , r e q u i r e s o n l y 3 5 % o f t h e t r a i n i n g c o m p u t a t i o n a l c o s t s o f a 6 0 0 - m i l l i o n - p a r a m e t e r n a i v e D i T . O u r f u r t h e r c o m p r e h e n s i v e a n a l y s i s u n d e r s c o r e s L u m i n a - T 2 X ' s p r e l i m i n a r y c a p a b i l i t y i n r e s o l u t i o n e x t r a p o l a t i o n , h i g h - r e s o l u t i o n e d i t i n g , g e n e r a t i n g c o n s i s t e n t 3 D v i e w s , a n d s y n t h e s i z i n g v i d e o s w i t h s e a m l e s s t r a n s i t i o n s . W e e x p e c t t h a t t h e o p e n - s o u r c i n g o f L u m i n a - T 2 X w i l l f u r t h e r f o s t e r c r e a t i v i t y , t r a n s p a r e n c y , a n d d i v e r s i t y i n t h e g e n e r a t i v e A I c o m m u n i t y . * Y o u c a n f i n d t h e o r i g i n a l c o d e b a s e a t [ A l p h a - V L L M ] ( h t t p s : / / g i t h u b . c o m / A l p h a - V L L M / L u m i n a - T 2 X ) a n d a l l t h e a v a i l a b l e c h e c k p o i n t s a t [ A l p h a - V L L M L u m i n a F a m i l y ] ( h t t p s : / / h u g g i n g f a c e . c o / c o l l e c t i o n s / A l p h a - V L L M / l u m i n a - f a m i l y - 6 6 4 2 3 2 0 5 b e d b 8 1 1 7 1 f d 0 6 4 4 b ) . * * H i g h l i g h t s * * : L u m i n a - T 2 X s u p p o r t s A n y M o d a l i t y , R e s o l u t i o n , a n d D u r a t i o n . L u m i n a - T 2 X h a s t h e f o l l o w i n g c o m p o n e n t s : * I t u s e s a F l o w - b a s e d L a r g e D i f f u s i o n T r a n s f o r m e r a s t h e b a c k b o n e * I t s u p p o r t s d i f f e r e n t a n y m o d a l i t i e s w i t h o n e b a c k b o n e a n d c o r r e s p o n d i n g e n c o d e r , d e c o d e r . T h i s p i p e l i n e w a s c o n t r i b u t e d b y [ P o m m e s P e t e r ] ( h t t p s : / / g i t h u b . c o m / P o m m e s P e t e r ) . T h e o r i g i n a l c o d e b a s e c a n b e f o u n d [ h e r e ] ( h t t p s : / / g i t h u b . c o m / A l p h a - V L L M / L u m i n a - T 2 X ) . T h e o r i g i n a l w e i g h t s c a n b e f o u n d u n d e r [ h f . c o / A l p h a - V L L M ] ( h t t p s : / / h u g g i n g f a c e . c o / A l p h a - V L L M ) . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s . m d ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g . m d # r e u s e - a - p i p e l i n e ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # # I n f e r e n c e ( T e x t - t o - I m a g e ) U s e [ ` t o r c h . c o m p i l e ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / t u t o r i a l s / f a s t _ d i f f u s i o n # t o r c h c o m p i l e ) t o r e d u c e t h e i n f e r e n c e l a t e n c y . F i r s t , l o a d t h e p i p e l i n e : ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t L u m i n a T e x t 2 I m g P i p e l i n e i m p o r t t o r c h p i p e l i n e = L u m i n a T e x t 2 I m g P i p e l i n e . f r o m _ p r e t r a i n e d ( " A l p h a - V L L M / L u m i n a - N e x t - S F T - d i f f u s e r s " , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) . t o ( " c u d a " ) ` ` ` T h e n c h a n g e t h e m e m o r y l a y o u t o f t h e p i p e l i n e s ` t r a n s f o r m e r ` a n d ` v a e ` c o m p o n e n t s t o ` t o r c h . c h a n n e l s - l a s t ` : ` ` ` p y t h o n p i p e l i n e . t r a n s f o r m e r . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) p i p e l i n e . v a e . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) ` ` ` F i n a l l y , c o m p i l e t h e c o m p o n e n t s a n d r u n i n f e r e n c e : ` ` ` p y t h o n p i p e l i n e . t r a n s f o r m e r = t o r c h . c o m p i l e ( p i p e l i n e . t r a n s f o r m e r , m o d e = " m a x - a u t o t u n e " , f u l l g r a p h = T r u e ) p i p e l i n e . v a e . d e c o d e = t o r c h . c o m p i l e ( p i p e l i n e . v a e . d e c o d e , m o d e = " m a x - a u t o t u n e " , f u l l g r a p h = T r u e ) i m a g e = p i p e l i n e ( p r o m p t = " U p p e r b o d y o f a y o u n g w o m a n i n a V i c t o r i a n - e r a o u t f i t w i t h b r a s s g o g g l e s a n d l e a t h e r s t r a p s . B a c k g r o u n d s h o w s a n i n d u s t r i a l r e v o l u t i o n c i t y s c a p e w i t h s m o k y s k i e s a n d t a l l , m e t a l s t r u c t u r e s " ) . i m a g e s [ 0 ] ` ` ` # # L u m i n a T e x t 2 I m g P i p e l i n e [ [ a u t o d o c ] ] L u m i n a T e x t 2 I m g P i p e l i n e - a l l - _ _ c a l l _ _ # C o g V i d e o X [ C o g V i d e o X : T e x t - t o - V i d e o D i f f u s i o n M o d e l s w i t h A n E x p e r t T r a n s f o r m e r ] ( h t t p s : / / a r x i v . o r g / a b s / 2 4 0 8 . 0 6 0 7 2 ) f r o m T s i n g h u a U n i v e r s i t y & Z h i p u A I , b y Z h u o y i Y a n g , J i a y a n T e n g , W e n d i Z h e n g , M i n g D i n g , S h i y u H u a n g , J i a z h e n g X u , Y u a n m i n g Y a n g , W e n y i H o n g , X i a o h a n Z h a n g , G u a n y u F e n g , D a Y i n , X i a o t a o G u , Y u x u a n Z h a n g , W e i h a n W a n g , Y e a n C h e n g , T i n g L i u , B i n X u , Y u x i a o D o n g , J i e T a n g . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e i n t r o d u c e C o g V i d e o X , a l a r g e - s c a l e d i f f u s i o n t r a n s f o r m e r m o d e l d e s i g n e d f o r g e n e r a t i n g v i d e o s b a s e d o n t e x t p r o m p t s . T o e f f i c e n t l y m o d e l v i d e o d a t a , w e p r o p o s e t o l e v e a r g e a 3 D V a r i a t i o n a l A u t o e n c o d e r ( V A E ) t o c o m p r e s s e s v i d e o s a l o n g b o t h s p a t i a l a n d t e m p o r a l d i m e n s i o n s . T o i m p r o v e t h e t e x t - v i d e o a l i g n m e n t , w e p r o p o s e a n e x p e r t t r a n s f o r m e r w i t h t h e e x p e r t a d a p t i v e L a y e r N o r m t o f a c i l i t a t e t h e d e e p f u s i o n b e t w e e n t h e t w o m o d a l i t i e s . B y e m p l o y i n g a p r o g r e s s i v e t r a i n i n g t e c h n i q u e , C o g V i d e o X i s a d e p t a t p r o d u c i n g c o h e r e n t , l o n g - d u r a t i o n v i d e o s c h a r a c t e r i z e d b y s i g n i f i c a n t m o t i o n . I n a d d i t i o n , w e d e v e l o p a n e f f e c t i v e l y t e x t - v i d e o d a t a p r o c e s s i n g p i p e l i n e t h a t i n c l u d e s v a r i o u s d a t a p r e p r o c e s s i n g s t r a t e g i e s a n d a v i d e o c a p t i o n i n g m e t h o d . I t s i g n i f i c a n t l y h e l p s e n h a n c e t h e p e r f o r m a n c e o f C o g V i d e o X , i m p r o v i n g b o t h g e n e r a t i o n q u a l i t y a n d s e m a n t i c a l i g n m e n t . R e s u l t s s h o w t h a t C o g V i d e o X d e m o n s t r a t e s s t a t e - o f - t h e - a r t p e r f o r m a n c e a c r o s s b o t h m u l t i p l e m a c h i n e m e t r i c s a n d h u m a n e v a l u a t i o n s . T h e m o d e l w e i g h t o f C o g V i d e o X - 2 B i s p u b l i c l y a v a i l a b l e a t h t t p s : / / g i t h u b . c o m / T H U D M / C o g V i d e o . * < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s . m d ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g . m d # r e u s e - a - p i p e l i n e ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > T h i s p i p e l i n e w a s c o n t r i b u t e d b y [ z R z R z R z R z R z R z R ] ( h t t p s : / / g i t h u b . c o m / z R z R z R z R z R z R z R ) . T h e o r i g i n a l c o d e b a s e c a n b e f o u n d [ h e r e ] ( h t t p s : / / h u g g i n g f a c e . c o / T H U D M ) . T h e o r i g i n a l w e i g h t s c a n b e f o u n d u n d e r [ h f . c o / T H U D M ] ( h t t p s : / / h u g g i n g f a c e . c o / T H U D M ) . T h e r e a r e t w o m o d e l s a v a i l a b l e t h a t c a n b e u s e d w i t h t h e t e x t - t o - v i d e o a n d v i d e o - t o - v i d e o C o g V i d e o X p i p e l i n e s : - [ ` T H U D M / C o g V i d e o X - 2 b ` ] ( h t t p s : / / h u g g i n g f a c e . c o / T H U D M / C o g V i d e o X - 2 b ) : T h e r e c o m m e n d e d d t y p e f o r r u n n i n g t h i s m o d e l i s ` f p 1 6 ` . - [ ` T H U D M / C o g V i d e o X - 5 b ` ] ( h t t p s : / / h u g g i n g f a c e . c o / T H U D M / C o g V i d e o X - 5 b ) : T h e r e c o m m e n d e d d t y p e f o r r u n n i n g t h i s m o d e l i s ` b f 1 6 ` . T h e r e i s o n e m o d e l a v a i l a b l e t h a t c a n b e u s e d w i t h t h e i m a g e - t o - v i d e o C o g V i d e o X p i p e l i n e : - [ ` T H U D M / C o g V i d e o X - 5 b - I 2 V ` ] ( h t t p s : / / h u g g i n g f a c e . c o / T H U D M / C o g V i d e o X - 5 b - I 2 V ) : T h e r e c o m m e n d e d d t y p e f o r r u n n i n g t h i s m o d e l i s ` b f 1 6 ` . T h e r e a r e t w o m o d e l s t h a t s u p p o r t p o s e c o n t r o l l a b l e g e n e r a t i o n ( b y t h e [ A l i b a b a - P A I ] ( h t t p s : / / h u g g i n g f a c e . c o / a l i b a b a - p a i ) t e a m ) : - [ ` a l i b a b a - p a i / C o g V i d e o X - F u n - V 1 . 1 - 2 b - P o s e ` ] ( h t t p s : / / h u g g i n g f a c e . c o / a l i b a b a - p a i / C o g V i d e o X - F u n - V 1 . 1 - 2 b - P o s e ) : T h e r e c o m m e n d e d d t y p e f o r r u n n i n g t h i s m o d e l i s ` b f 1 6 ` . - [ ` a l i b a b a - p a i / C o g V i d e o X - F u n - V 1 . 1 - 5 b - P o s e ` ] ( h t t p s : / / h u g g i n g f a c e . c o / a l i b a b a - p a i / C o g V i d e o X - F u n - V 1 . 1 - 5 b - P o s e ) : T h e r e c o m m e n d e d d t y p e f o r r u n n i n g t h i s m o d e l i s ` b f 1 6 ` . # # I n f e r e n c e U s e [ ` t o r c h . c o m p i l e ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / t u t o r i a l s / f a s t _ d i f f u s i o n # t o r c h c o m p i l e ) t o r e d u c e t h e i n f e r e n c e l a t e n c y . F i r s t , l o a d t h e p i p e l i n e : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t C o g V i d e o X P i p e l i n e , C o g V i d e o X I m a g e T o V i d e o P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ v i d e o , l o a d _ i m a g e p i p e = C o g V i d e o X P i p e l i n e . f r o m _ p r e t r a i n e d ( " T H U D M / C o g V i d e o X - 5 b " ) . t o ( " c u d a " ) # o r " T H U D M / C o g V i d e o X - 2 b " ` ` ` I f y o u a r e u s i n g t h e i m a g e - t o - v i d e o p i p e l i n e , l o a d i t a s f o l l o w s : ` ` ` p y t h o n p i p e = C o g V i d e o X I m a g e T o V i d e o P i p e l i n e . f r o m _ p r e t r a i n e d ( " T H U D M / C o g V i d e o X - 5 b - I 2 V " ) . t o ( " c u d a " ) ` ` ` T h e n c h a n g e t h e m e m o r y l a y o u t o f t h e p i p e l i n e s ` t r a n s f o r m e r ` c o m p o n e n t t o ` t o r c h . c h a n n e l s _ l a s t ` : ` ` ` p y t h o n p i p e . t r a n s f o r m e r . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) ` ` ` C o m p i l e t h e c o m p o n e n t s a n d r u n i n f e r e n c e : ` ` ` p y t h o n p i p e . t r a n s f o r m e r = t o r c h . c o m p i l e ( p i p e l i n e . t r a n s f o r m e r , m o d e = " m a x - a u t o t u n e " , f u l l g r a p h = T r u e ) # C o g V i d e o X w o r k s w e l l w i t h l o n g a n d w e l l - d e s c r i b e d p r o m p t s p r o m p t = " A p a n d a , d r e s s e d i n a s m a l l , r e d j a c k e t a n d a t i n y h a t , s i t s o n a w o o d e n s t o o l i n a s e r e n e b a m b o o f o r e s t . T h e p a n d a ' s f l u f f y p a w s s t r u m a m i n i a t u r e a c o u s t i c g u i t a r , p r o d u c i n g s o f t , m e l o d i c t u n e s . N e a r b y , a f e w o t h e r p a n d a s g a t h e r , w a t c h i n g c u r i o u s l y a n d s o m e c l a p p i n g i n r h y t h m . S u n l i g h t f i l t e r s t h r o u g h t h e t a l l b a m b o o , c a s t i n g a g e n t l e g l o w o n t h e s c e n e . T h e p a n d a ' s f a c e i s e x p r e s s i v e , s h o w i n g c o n c e n t r a t i o n a n d j o y a s i t p l a y s . T h e b a c k g r o u n d i n c l u d e s a s m a l l , f l o w i n g s t r e a m a n d v i b r a n t g r e e n f o l i a g e , e n h a n c i n g t h e p e a c e f u l a n d m a g i c a l a t m o s p h e r e o f t h i s u n i q u e m u s i c a l p e r f o r m a n c e . " v i d e o = p i p e ( p r o m p t = p r o m p t , g u i d a n c e _ s c a l e = 6 , n u m _ i n f e r e n c e _ s t e p s = 5 0 ) . f r a m e s [ 0 ] ` ` ` T h e [ T 2 V b e n c h m a r k ] ( h t t p s : / / g i s t . g i t h u b . c o m / a - r - r - o - w / 5 1 8 3 d 7 5 e 4 5 2 a 3 6 8 f d 1 7 4 4 8 f c c 8 1 0 b d 3 f ) r e s u l t s o n a n 8 0 G B A 1 0 0 m a c h i n e a r e : ` ` ` W i t h o u t t o r c h . c o m p i l e ( ) : A v e r a g e i n f e r e n c e t i m e : 9 6 . 8 9 s e c o n d s . W i t h t o r c h . c o m p i l e ( ) : A v e r a g e i n f e r e n c e t i m e : 7 6 . 2 7 s e c o n d s . ` ` ` # # # M e m o r y o p t i m i z a t i o n C o g V i d e o X - 2 b r e q u i r e s a b o u t 1 9 G B o f G P U m e m o r y t o d e c o d e 4 9 f r a m e s ( 6 s e c o n d s o f v i d e o a t 8 F P S ) w i t h o u t p u t r e s o l u t i o n 7 2 0 x 4 8 0 ( W x H ) , w h i c h m a k e s i t n o t p o s s i b l e t o r u n o n c o n s u m e r G P U s o r f r e e - t i e r T 4 C o l a b . T h e f o l l o w i n g m e m o r y o p t i m i z a t i o n s c o u l d b e u s e d t o r e d u c e t h e m e m o r y f o o t p r i n t . F o r r e p l i c a t i o n , y o u c a n r e f e r t o [ t h i s ] ( h t t p s : / / g i s t . g i t h u b . c o m / a - r - r - o - w / 3 9 5 9 a 0 3 f 1 5 b e 5 c 9 b d 1 f e 5 4 5 b 0 9 d f c c 9 3 ) s c r i p t . - ` p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` : - W i t h o u t e n a b l i n g c p u o f f l o a d i n g , m e m o r y u s a g e i s ` 3 3 G B ` - W i t h e n a b l i n g c p u o f f l o a d i n g , m e m o r y u s a g e i s ` 1 9 G B ` - ` p i p e . e n a b l e _ s e q u e n t i a l _ c p u _ o f f l o a d ( ) ` : - S i m i l a r t o ` e n a b l e _ m o d e l _ c p u _ o f f l o a d ` b u t c a n s i g n i f i c a n t l y r e d u c e m e m o r y u s a g e a t t h e c o s t o f s l o w i n f e r e n c e - W h e n e n a b l e d , m e m o r y u s a g e i s u n d e r ` 4 G B ` - ` p i p e . v a e . e n a b l e _ t i l i n g ( ) ` : - W i t h e n a b l i n g c p u o f f l o a d i n g a n d t i l i n g , m e m o r y u s a g e i s ` 1 1 G B ` - ` p i p e . v a e . e n a b l e _ s l i c i n g ( ) ` # # # Q u a n t i z e d i n f e r e n c e [ t o r c h a o ] ( h t t p s : / / g i t h u b . c o m / p y t o r c h / a o ) a n d [ o p t i m u m - q u a n t o ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / o p t i m u m - q u a n t o / ) c a n b e u s e d t o q u a n t i z e t h e t e x t e n c o d e r , t r a n s f o r m e r a n d V A E m o d u l e s t o l o w e r t h e m e m o r y r e q u i r e m e n t s . T h i s m a k e s i t p o s s i b l e t o r u n t h e m o d e l o n a f r e e - t i e r T 4 C o l a b o r l o w e r V R A M G P U s ! I t i s a l s o w o r t h n o t i n g t h a t t o r c h a o q u a n t i z a t i o n i s f u l l y c o m p a t i b l e w i t h [ t o r c h . c o m p i l e ] ( / o p t i m i z a t i o n / t o r c h 2 . 0 # t o r c h c o m p i l e ) , w h i c h a l l o w s f o r m u c h f a s t e r i n f e r e n c e s p e e d . A d d i t i o n a l l y , m o d e l s c a n b e s e r i a l i z e d a n d s t o r e d i n a q u a n t i z e d d a t a t y p e t o s a v e d i s k s p a c e w i t h t o r c h a o . F i n d e x a m p l e s a n d b e n c h m a r k s i n t h e g i s t s b e l o w . - [ t o r c h a o ] ( h t t p s : / / g i s t . g i t h u b . c o m / a - r - r - o - w / 4 d 9 7 3 2 d 1 7 4 1 2 8 8 8 c 8 8 5 4 8 0 c 6 5 2 1 a 9 8 9 7 ) - [ q u a n t o ] ( h t t p s : / / g i s t . g i t h u b . c o m / a - r - r - o - w / 3 1 b e 6 2 8 2 8 b 0 0 a 9 2 9 2 8 2 1 b 8 5 c 1 0 1 7 e f f a ) # # C o g V i d e o X P i p e l i n e # # C o g V i d e o X I m a g e T o V i d e o P i p e l i n e # # C o g V i d e o X V i d e o T o V i d e o P i p e l i n e # # C o g V i d e o X F u n C o n t r o l P i p e l i n e # # C o g V i d e o X P i p e l i n e O u t p u t [ [ a u t o d o c ] ] C o g V i d e o X P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] C o g V i d e o X I m a g e T o V i d e o P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] C o g V i d e o X V i d e o T o V i d e o P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] C o g V i d e o X F u n C o n t r o l P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . c o g v i d e o . p i p e l i n e _ o u t p u t . C o g V i d e o X P i p e l i n e O u t p u t # C o n t r o l N e t - X S w i t h S t a b l e D i f f u s i o n X L C o n t r o l N e t - X S w a s i n t r o d u c e d i n [ C o n t r o l N e t - X S ] ( h t t p s : / / v i s l e a r n . g i t h u b . i o / C o n t r o l N e t - X S / ) b y D e n i s Z a v a d s k i a n d C a r s t e n R o t h e r . I t i s b a s e d o n t h e o b s e r v a t i o n t h a t t h e c o n t r o l m o d e l i n t h e [ o r i g i n a l C o n t r o l N e t ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 2 . 0 5 5 4 3 ) c a n b e m a d e m u c h s m a l l e r a n d s t i l l p r o d u c e g o o d r e s u l t s . L i k e t h e o r i g i n a l C o n t r o l N e t m o d e l , y o u c a n p r o v i d e a n a d d i t i o n a l c o n t r o l i m a g e t o c o n d i t i o n a n d c o n t r o l S t a b l e D i f f u s i o n g e n e r a t i o n . F o r e x a m p l e , i f y o u p r o v i d e a d e p t h m a p , t h e C o n t r o l N e t m o d e l g e n e r a t e s a n i m a g e t h a t ' l l p r e s e r v e t h e s p a t i a l i n f o r m a t i o n f r o m t h e d e p t h m a p . I t i s a m o r e f l e x i b l e a n d a c c u r a t e w a y t o c o n t r o l t h e i m a g e g e n e r a t i o n p r o c e s s . C o n t r o l N e t - X S g e n e r a t e s i m a g e s w i t h c o m p a r a b l e q u a l i t y t o a r e g u l a r C o n t r o l N e t , b u t i t i s 2 0 - 2 5 % f a s t e r ( [ s e e b e n c h m a r k ] ( h t t p s : / / g i t h u b . c o m / U m e r H A / c o n t r o l n e t - x s - b e n c h m a r k / b l o b / m a i n / S p e e d % 2 0 B e n c h m a r k . i p y n b ) ) a n d u s e s ~ 4 5 % l e s s m e m o r y . H e r e ' s t h e o v e r v i e w f r o m t h e [ p r o j e c t p a g e ] ( h t t p s : / / v i s l e a r n . g i t h u b . i o / C o n t r o l N e t - X S / ) : * W i t h i n c r e a s i n g c o m p u t i n g c a p a b i l i t i e s , c u r r e n t m o d e l a r c h i t e c t u r e s a p p e a r t o f o l l o w t h e t r e n d o f s i m p l y u p s c a l i n g a l l c o m p o n e n t s w i t h o u t v a l i d a t i n g t h e n e c e s s i t y f o r d o i n g s o . I n t h i s p r o j e c t w e i n v e s t i g a t e t h e s i z e a n d a r c h i t e c t u r a l d e s i g n o f C o n t r o l N e t [ Z h a n g e t a l . , 2 0 2 3 ] f o r c o n t r o l l i n g t h e i m a g e g e n e r a t i o n p r o c e s s w i t h s t a b l e d i f f u s i o n - b a s e d m o d e l s . W e s h o w t h a t a n e w a r c h i t e c t u r e w i t h a s l i t t l e a s 1 % o f t h e p a r a m e t e r s o f t h e b a s e m o d e l a c h i e v e s s t a t e - o f - t h e a r t r e s u l t s , c o n s i d e r a b l y b e t t e r t h a n C o n t r o l N e t i n t e r m s o f F I D s c o r e . H e n c e w e c a l l i t C o n t r o l N e t - X S . W e p r o v i d e t h e c o d e f o r c o n t r o l l i n g S t a b l e D i f f u s i o n - X L [ P o d e l l e t a l . , 2 0 2 3 ] ( M o d e l B , 4 8 M P a r a m e t e r s ) a n d S t a b l e D i f f u s i o n 2 . 1 [ R o m b a c h e t a l . 2 0 2 2 ] ( M o d e l B , 1 4 M P a r a m e t e r s ) , a l l u n d e r o p e n r a i l l i c e n s e . * T h i s m o d e l w a s c o n t r i b u t e d b y [ U m e r H A ] ( h t t p s : / / t w i t t e r . c o m / U m e r H A d i l ) . โค ๏ธ < T i p w a r n i n g = { t r u e } > ๐Ÿงช M a n y o f t h e S D X L C o n t r o l N e t c h e c k p o i n t s a r e e x p e r i m e n t a l , a n d t h e r e i s a l o t o f r o o m f o r i m p r o v e m e n t . F e e l f r e e t o o p e n a n [ I s s u e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / n e w / c h o o s e ) a n d l e a v e u s f e e d b a c k o n h o w w e c a n i m p r o v e ! < / T i p > < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # S t a b l e D i f f u s i o n X L C o n t r o l N e t X S P i p e l i n e # # S t a b l e D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n X L C o n t r o l N e t X S P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # P e r t u r b e d - A t t e n t i o n G u i d a n c e [ P e r t u r b e d - A t t e n t i o n G u i d a n c e ( P A G ) ] ( h t t p s : / / k u - c v l a b . g i t h u b . i o / P e r t u r b e d - A t t e n t i o n - G u i d a n c e / ) i s a n e w d i f f u s i o n s a m p l i n g g u i d a n c e t h a t i m p r o v e s s a m p l e q u a l i t y a c r o s s b o t h u n c o n d i t i o n a l a n d c o n d i t i o n a l s e t t i n g s , a c h i e v i n g t h i s w i t h o u t r e q u i r i n g f u r t h e r t r a i n i n g o r t h e i n t e g r a t i o n o f e x t e r n a l m o d u l e s . P A G w a s i n t r o d u c e d i n [ S e l f - R e c t i f y i n g D i f f u s i o n S a m p l i n g w i t h P e r t u r b e d - A t t e n t i o n G u i d a n c e ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 4 0 3 . 1 7 3 7 7 ) b y D o n g h o o n A h n , H y o u n g w o n C h o , J a e w o n M i n , W o o s e o k J a n g , J u n g w o o K i m , S e o n H w a K i m , H y u n H e e P a r k , K y o n g H w a n J i n a n d S e u n g r y o n g K i m . T h e a b s t r a c t f r o m t h e p a p e r i s : * R e c e n t s t u d i e s h a v e d e m o n s t r a t e d t h a t d i f f u s i o n m o d e l s a r e c a p a b l e o f g e n e r a t i n g h i g h - q u a l i t y s a m p l e s , b u t t h e i r q u a l i t y h e a v i l y d e p e n d s o n s a m p l i n g g u i d a n c e t e c h n i q u e s , s u c h a s c l a s s i f i e r g u i d a n c e ( C G ) a n d c l a s s i f i e r - f r e e g u i d a n c e ( C F G ) . T h e s e t e c h n i q u e s a r e o f t e n n o t a p p l i c a b l e i n u n c o n d i t i o n a l g e n e r a t i o n o r i n v a r i o u s d o w n s t r e a m t a s k s s u c h a s i m a g e r e s t o r a t i o n . I n t h i s p a p e r , w e p r o p o s e a n o v e l s a m p l i n g g u i d a n c e , c a l l e d P e r t u r b e d - A t t e n t i o n G u i d a n c e ( P A G ) , w h i c h i m p r o v e s d i f f u s i o n s a m p l e q u a l i t y a c r o s s b o t h u n c o n d i t i o n a l a n d c o n d i t i o n a l s e t t i n g s , a c h i e v i n g t h i s w i t h o u t r e q u i r i n g a d d i t i o n a l t r a i n i n g o r t h e i n t e g r a t i o n o f e x t e r n a l m o d u l e s . P A G i s d e s i g n e d t o p r o g r e s s i v e l y e n h a n c e t h e s t r u c t u r e o f s a m p l e s t h r o u g h o u t t h e d e n o i s i n g p r o c e s s . I t i n v o l v e s g e n e r a t i n g i n t e r m e d i a t e s a m p l e s w i t h d e g r a d e d s t r u c t u r e b y s u b s t i t u t i n g s e l e c t e d s e l f - a t t e n t i o n m a p s i n d i f f u s i o n U - N e t w i t h a n i d e n t i t y m a t r i x , b y c o n s i d e r i n g t h e s e l f - a t t e n t i o n m e c h a n i s m s ' a b i l i t y t o c a p t u r e s t r u c t u r a l i n f o r m a t i o n , a n d g u i d i n g t h e d e n o i s i n g p r o c e s s a w a y f r o m t h e s e d e g r a d e d s a m p l e s . I n b o t h A D M a n d S t a b l e D i f f u s i o n , P A G s u r p r i s i n g l y i m p r o v e s s a m p l e q u a l i t y i n c o n d i t i o n a l a n d e v e n u n c o n d i t i o n a l s c e n a r i o s . M o r e o v e r , P A G s i g n i f i c a n t l y i m p r o v e s t h e b a s e l i n e p e r f o r m a n c e i n v a r i o u s d o w n s t r e a m t a s k s w h e r e e x i s t i n g g u i d a n c e s s u c h a s C G o r C F G c a n n o t b e f u l l y u t i l i z e d , i n c l u d i n g C o n t r o l N e t w i t h e m p t y p r o m p t s a n d i m a g e r e s t o r a t i o n s u c h a s i n p a i n t i n g a n d d e b l u r r i n g . * P A G c a n b e u s e d b y s p e c i f y i n g t h e ` p a g _ a p p l i e d _ l a y e r s ` a s a p a r a m e t e r w h e n i n s t a n t i a t i n g a P A G p i p e l i n e . I t c a n b e a s i n g l e s t r i n g o r a l i s t o f s t r i n g s . E a c h s t r i n g c a n b e a u n i q u e l a y e r i d e n t i f i e r o r a r e g u l a r e x p r e s s i o n t o i d e n t i f y o n e o r m o r e l a y e r s . - F u l l i d e n t i f i e r a s a n o r m a l s t r i n g : ` d o w n _ b l o c k s . 2 . a t t e n t i o n s . 0 . t r a n s f o r m e r _ b l o c k s . 0 . a t t n 1 . p r o c e s s o r ` - F u l l i d e n t i f i e r a s a R e g E x : ` d o w n _ b l o c k s . 2 . ( a t t e n t i o n s | m o t i o n _ m o d u l e s ) . 0 . t r a n s f o r m e r _ b l o c k s . 0 . a t t n 1 . p r o c e s s o r ` - P a r t i a l i d e n t i f i e r a s a R e g E x : ` d o w n _ b l o c k s . 2 ` , o r ` a t t n 1 ` - L i s t o f i d e n t i f i e r s ( c a n b e c o m b o o f s t r i n g s a n d R e G e x ) : ` [ " b l o c k s . 1 " , " b l o c k s . ( 1 4 | 2 0 ) " , r " d o w n _ b l o c k s \ . ( 2 , 3 ) " ] ` < T i p w a r n i n g = { t r u e } > S i n c e R e g E x i s s u p p o r t e d a s a w a y f o r m a t c h i n g l a y e r i d e n t i f i e r s , i t i s c r u c i a l t o u s e i t c o r r e c t l y o t h e r w i s e t h e r e m i g h t b e u n e x p e c t e d b e h a v i o u r . T h e r e c o m m e n d e d w a y t o u s e P A G i s b y s p e c i f y i n g l a y e r s a s ` b l o c k s . { l a y e r _ i n d e x } ` a n d ` b l o c k s . ( { l a y e r _ i n d e x _ 1 | l a y e r _ i n d e x _ 2 | . . . } ) ` . U s i n g i t i n a n y o t h e r w a y , w h i l e d o a b l e , m a y b y p a s s o u r b a s i c v a l i d a t i o n c h e c k s a n d g i v e y o u u n e x p e c t e d r e s u l t s . < / T i p > # # A n i m a t e D i f f P A G P i p e l i n e # # H u n y u a n D i T P A G P i p e l i n e # # K o l o r s P A G P i p e l i n e # # S t a b l e D i f f u s i o n P A G P i p e l i n e # # S t a b l e D i f f u s i o n P A G I m g 2 I m g P i p e l i n e # # S t a b l e D i f f u s i o n C o n t r o l N e t P A G P i p e l i n e # # S t a b l e D i f f u s i o n C o n t r o l N e t P A G I n p a i n t P i p e l i n e # # S t a b l e D i f f u s i o n X L P A G P i p e l i n e # # S t a b l e D i f f u s i o n X L P A G I m g 2 I m g P i p e l i n e # # S t a b l e D i f f u s i o n X L P A G I n p a i n t P i p e l i n e # # S t a b l e D i f f u s i o n X L C o n t r o l N e t P A G P i p e l i n e # # S t a b l e D i f f u s i o n X L C o n t r o l N e t P A G I m g 2 I m g P i p e l i n e # # S t a b l e D i f f u s i o n 3 P A G P i p e l i n e # # P i x A r t S i g m a P A G P i p e l i n e [ [ a u t o d o c ] ] A n i m a t e D i f f P A G P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] H u n y u a n D i T P A G P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] K o l o r s P A G P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n P A G P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n P A G I m g 2 I m g P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n C o n t r o l N e t P A G P i p e l i n e [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n C o n t r o l N e t P A G I n p a i n t P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n X L P A G P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n X L P A G I m g 2 I m g P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n X L P A G I n p a i n t P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n X L C o n t r o l N e t P A G P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n X L C o n t r o l N e t P A G I m g 2 I m g P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n 3 P A G P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] P i x A r t S i g m a P A G P i p e l i n e - a l l - _ _ c a l l _ _ # C o n t r o l N e t w i t h F l u x . 1 F l u x C o n t r o l N e t P i p e l i n e i s a n i m p l e m e n t a t i o n o f C o n t r o l N e t f o r F l u x . 1 . C o n t r o l N e t w a s i n t r o d u c e d i n [ A d d i n g C o n d i t i o n a l C o n t r o l t o T e x t - t o - I m a g e D i f f u s i o n M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 2 . 0 5 5 4 3 ) b y L v m i n Z h a n g , A n y i R a o , a n d M a n e e s h A g r a w a l a . W i t h a C o n t r o l N e t m o d e l , y o u c a n p r o v i d e a n a d d i t i o n a l c o n t r o l i m a g e t o c o n d i t i o n a n d c o n t r o l S t a b l e D i f f u s i o n g e n e r a t i o n . F o r e x a m p l e , i f y o u p r o v i d e a d e p t h m a p , t h e C o n t r o l N e t m o d e l g e n e r a t e s a n i m a g e t h a t ' l l p r e s e r v e t h e s p a t i a l i n f o r m a t i o n f r o m t h e d e p t h m a p . I t i s a m o r e f l e x i b l e a n d a c c u r a t e w a y t o c o n t r o l t h e i m a g e g e n e r a t i o n p r o c e s s . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e p r e s e n t C o n t r o l N e t , a n e u r a l n e t w o r k a r c h i t e c t u r e t o a d d s p a t i a l c o n d i t i o n i n g c o n t r o l s t o l a r g e , p r e t r a i n e d t e x t - t o - i m a g e d i f f u s i o n m o d e l s . C o n t r o l N e t l o c k s t h e p r o d u c t i o n - r e a d y l a r g e d i f f u s i o n m o d e l s , a n d r e u s e s t h e i r d e e p a n d r o b u s t e n c o d i n g l a y e r s p r e t r a i n e d w i t h b i l l i o n s o f i m a g e s a s a s t r o n g b a c k b o n e t o l e a r n a d i v e r s e s e t o f c o n d i t i o n a l c o n t r o l s . T h e n e u r a l a r c h i t e c t u r e i s c o n n e c t e d w i t h " z e r o c o n v o l u t i o n s " ( z e r o - i n i t i a l i z e d c o n v o l u t i o n l a y e r s ) t h a t p r o g r e s s i v e l y g r o w t h e p a r a m e t e r s f r o m z e r o a n d e n s u r e t h a t n o h a r m f u l n o i s e c o u l d a f f e c t t h e f i n e t u n i n g . W e t e s t v a r i o u s c o n d i t i o n i n g c o n t r o l s , e g , e d g e s , d e p t h , s e g m e n t a t i o n , h u m a n p o s e , e t c , w i t h S t a b l e D i f f u s i o n , u s i n g s i n g l e o r m u l t i p l e c o n d i t i o n s , w i t h o r w i t h o u t p r o m p t s . W e s h o w t h a t t h e t r a i n i n g o f C o n t r o l N e t s i s r o b u s t w i t h s m a l l ( < 5 0 k ) a n d l a r g e ( > 1 m ) d a t a s e t s . E x t e n s i v e r e s u l t s s h o w t h a t C o n t r o l N e t m a y f a c i l i t a t e w i d e r a p p l i c a t i o n s t o c o n t r o l i m a g e d i f f u s i o n m o d e l s . * T h i s c o n t r o l n e t c o d e i s i m p l e m e n t e d b y [ T h e I n s t a n t X T e a m ] ( h t t p s : / / h u g g i n g f a c e . c o / I n s t a n t X ) . Y o u c a n f i n d p r e - t r a i n e d c h e c k p o i n t s f o r F l u x - C o n t r o l N e t i n t h e t a b l e b e l o w : | C o n t r o l N e t t y p e | D e v e l o p e r | L i n k | | - - - - - - - - | - - - - - - - - - - | - - - - | | C a n n y | [ T h e I n s t a n t X T e a m ] ( h t t p s : / / h u g g i n g f a c e . c o / I n s t a n t X ) | [ L i n k ] ( h t t p s : / / h u g g i n g f a c e . c o / I n s t a n t X / F L U X . 1 - d e v - C o n t r o l n e t - C a n n y ) | | D e p t h | [ T h e I n s t a n t X T e a m ] ( h t t p s : / / h u g g i n g f a c e . c o / I n s t a n t X ) | [ L i n k ] ( h t t p s : / / h u g g i n g f a c e . c o / S h a k k e r - L a b s / F L U X . 1 - d e v - C o n t r o l N e t - D e p t h ) | | U n i o n | [ T h e I n s t a n t X T e a m ] ( h t t p s : / / h u g g i n g f a c e . c o / I n s t a n t X ) | [ L i n k ] ( h t t p s : / / h u g g i n g f a c e . c o / I n s t a n t X / F L U X . 1 - d e v - C o n t r o l n e t - U n i o n ) | X L a b s C o n t r o l N e t s a r e a l s o s u p p o r t e d , w h i c h w a s c o n t r i b u t e d b y t h e [ X L a b s t e a m ] ( h t t p s : / / h u g g i n g f a c e . c o / X L a b s - A I ) . | C o n t r o l N e t t y p e | D e v e l o p e r | L i n k | | - - - - - - - - | - - - - - - - - - - | - - - - | | C a n n y | [ T h e X L a b s T e a m ] ( h t t p s : / / h u g g i n g f a c e . c o / X L a b s - A I ) | [ L i n k ] ( h t t p s : / / h u g g i n g f a c e . c o / X L a b s - A I / f l u x - c o n t r o l n e t - c a n n y - d i f f u s e r s ) | | D e p t h | [ T h e X L a b s T e a m ] ( h t t p s : / / h u g g i n g f a c e . c o / X L a b s - A I ) | [ L i n k ] ( h t t p s : / / h u g g i n g f a c e . c o / X L a b s - A I / f l u x - c o n t r o l n e t - d e p t h - d i f f u s e r s ) | | H E D | [ T h e X L a b s T e a m ] ( h t t p s : / / h u g g i n g f a c e . c o / X L a b s - A I ) | [ L i n k ] ( h t t p s : / / h u g g i n g f a c e . c o / X L a b s - A I / f l u x - c o n t r o l n e t - h e d - d i f f u s e r s ) | < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # F l u x C o n t r o l N e t P i p e l i n e # # F l u x P i p e l i n e O u t p u t [ [ a u t o d o c ] ] F l u x C o n t r o l N e t P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . f l u x . p i p e l i n e _ o u t p u t . F l u x P i p e l i n e O u t p u t # D D P M [ D e n o i s i n g D i f f u s i o n P r o b a b i l i s t i c M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 0 0 6 . 1 1 2 3 9 ) ( D D P M ) b y J o n a t h a n H o , A j a y J a i n a n d P i e t e r A b b e e l p r o p o s e s a d i f f u s i o n b a s e d m o d e l o f t h e s a m e n a m e . I n t h e ๐Ÿค— D i f f u s e r s l i b r a r y , D D P M r e f e r s t o t h e * d i s c r e t e d e n o i s i n g s c h e d u l e r * f r o m t h e p a p e r a s w e l l a s t h e p i p e l i n e . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e p r e s e n t h i g h q u a l i t y i m a g e s y n t h e s i s r e s u l t s u s i n g d i f f u s i o n p r o b a b i l i s t i c m o d e l s , a c l a s s o f l a t e n t v a r i a b l e m o d e l s i n s p i r e d b y c o n s i d e r a t i o n s f r o m n o n e q u i l i b r i u m t h e r m o d y n a m i c s . O u r b e s t r e s u l t s a r e o b t a i n e d b y t r a i n i n g o n a w e i g h t e d v a r i a t i o n a l b o u n d d e s i g n e d a c c o r d i n g t o a n o v e l c o n n e c t i o n b e t w e e n d i f f u s i o n p r o b a b i l i s t i c m o d e l s a n d d e n o i s i n g s c o r e m a t c h i n g w i t h L a n g e v i n d y n a m i c s , a n d o u r m o d e l s n a t u r a l l y a d m i t a p r o g r e s s i v e l o s s y d e c o m p r e s s i o n s c h e m e t h a t c a n b e i n t e r p r e t e d a s a g e n e r a l i z a t i o n o f a u t o r e g r e s s i v e d e c o d i n g . O n t h e u n c o n d i t i o n a l C I F A R 1 0 d a t a s e t , w e o b t a i n a n I n c e p t i o n s c o r e o f 9 . 4 6 a n d a s t a t e - o f - t h e - a r t F I D s c o r e o f 3 . 1 7 . O n 2 5 6 x 2 5 6 L S U N , w e o b t a i n s a m p l e q u a l i t y s i m i l a r t o P r o g r e s s i v e G A N . * T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ h o h o n a t h a n h o / d i f f u s i o n ] ( h t t p s : / / g i t h u b . c o m / h o j o n a t h a n h o / d i f f u s i o n ) . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # D D P M P i p e l i n e # # I m a g e P i p e l i n e O u t p u t [ [ a u t o d o c ] ] D D P M P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . I m a g e P i p e l i n e O u t p u t # D i T [ S c a l a b l e D i f f u s i o n M o d e l s w i t h T r a n s f o r m e r s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 1 2 . 0 9 7 4 8 ) ( D i T ) i s b y W i l l i a m P e e b l e s a n d S a i n i n g X i e . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e e x p l o r e a n e w c l a s s o f d i f f u s i o n m o d e l s b a s e d o n t h e t r a n s f o r m e r a r c h i t e c t u r e . W e t r a i n l a t e n t d i f f u s i o n m o d e l s o f i m a g e s , r e p l a c i n g t h e c o m m o n l y - u s e d U - N e t b a c k b o n e w i t h a t r a n s f o r m e r t h a t o p e r a t e s o n l a t e n t p a t c h e s . W e a n a l y z e t h e s c a l a b i l i t y o f o u r D i f f u s i o n T r a n s f o r m e r s ( D i T s ) t h r o u g h t h e l e n s o f f o r w a r d p a s s c o m p l e x i t y a s m e a s u r e d b y G f l o p s . W e f i n d t h a t D i T s w i t h h i g h e r G f l o p s - - t h r o u g h i n c r e a s e d t r a n s f o r m e r d e p t h / w i d t h o r i n c r e a s e d n u m b e r o f i n p u t t o k e n s - - c o n s i s t e n t l y h a v e l o w e r F I D . I n a d d i t i o n t o p o s s e s s i n g g o o d s c a l a b i l i t y p r o p e r t i e s , o u r l a r g e s t D i T - X L / 2 m o d e l s o u t p e r f o r m a l l p r i o r d i f f u s i o n m o d e l s o n t h e c l a s s - c o n d i t i o n a l I m a g e N e t 5 1 2 x 5 1 2 a n d 2 5 6 x 2 5 6 b e n c h m a r k s , a c h i e v i n g a s t a t e - o f - t h e - a r t F I D o f 2 . 2 7 o n t h e l a t t e r . * T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ f a c e b o o k r e s e a r c h / d i t ] ( h t t p s : / / g i t h u b . c o m / f a c e b o o k r e s e a r c h / d i t ) . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # D i T P i p e l i n e # # I m a g e P i p e l i n e O u t p u t [ [ a u t o d o c ] ] D i T P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . I m a g e P i p e l i n e O u t p u t # C o n t r o l N e t C o n t r o l N e t w a s i n t r o d u c e d i n [ A d d i n g C o n d i t i o n a l C o n t r o l t o T e x t - t o - I m a g e D i f f u s i o n M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 2 . 0 5 5 4 3 ) b y L v m i n Z h a n g , A n y i R a o , a n d M a n e e s h A g r a w a l a . W i t h a C o n t r o l N e t m o d e l , y o u c a n p r o v i d e a n a d d i t i o n a l c o n t r o l i m a g e t o c o n d i t i o n a n d c o n t r o l S t a b l e D i f f u s i o n g e n e r a t i o n . F o r e x a m p l e , i f y o u p r o v i d e a d e p t h m a p , t h e C o n t r o l N e t m o d e l g e n e r a t e s a n i m a g e t h a t ' l l p r e s e r v e t h e s p a t i a l i n f o r m a t i o n f r o m t h e d e p t h m a p . I t i s a m o r e f l e x i b l e a n d a c c u r a t e w a y t o c o n t r o l t h e i m a g e g e n e r a t i o n p r o c e s s . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e p r e s e n t C o n t r o l N e t , a n e u r a l n e t w o r k a r c h i t e c t u r e t o a d d s p a t i a l c o n d i t i o n i n g c o n t r o l s t o l a r g e , p r e t r a i n e d t e x t - t o - i m a g e d i f f u s i o n m o d e l s . C o n t r o l N e t l o c k s t h e p r o d u c t i o n - r e a d y l a r g e d i f f u s i o n m o d e l s , a n d r e u s e s t h e i r d e e p a n d r o b u s t e n c o d i n g l a y e r s p r e t r a i n e d w i t h b i l l i o n s o f i m a g e s a s a s t r o n g b a c k b o n e t o l e a r n a d i v e r s e s e t o f c o n d i t i o n a l c o n t r o l s . T h e n e u r a l a r c h i t e c t u r e i s c o n n e c t e d w i t h " z e r o c o n v o l u t i o n s " ( z e r o - i n i t i a l i z e d c o n v o l u t i o n l a y e r s ) t h a t p r o g r e s s i v e l y g r o w t h e p a r a m e t e r s f r o m z e r o a n d e n s u r e t h a t n o h a r m f u l n o i s e c o u l d a f f e c t t h e f i n e t u n i n g . W e t e s t v a r i o u s c o n d i t i o n i n g c o n t r o l s , e g , e d g e s , d e p t h , s e g m e n t a t i o n , h u m a n p o s e , e t c , w i t h S t a b l e D i f f u s i o n , u s i n g s i n g l e o r m u l t i p l e c o n d i t i o n s , w i t h o r w i t h o u t p r o m p t s . W e s h o w t h a t t h e t r a i n i n g o f C o n t r o l N e t s i s r o b u s t w i t h s m a l l ( < 5 0 k ) a n d l a r g e ( > 1 m ) d a t a s e t s . E x t e n s i v e r e s u l t s s h o w t h a t C o n t r o l N e t m a y f a c i l i t a t e w i d e r a p p l i c a t i o n s t o c o n t r o l i m a g e d i f f u s i o n m o d e l s . * T h i s m o d e l w a s c o n t r i b u t e d b y [ t a k u m a 1 0 4 ] ( h t t p s : / / h u g g i n g f a c e . c o / t a k u m a 1 0 4 ) . โค ๏ธ T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ l l l y a s v i e l / C o n t r o l N e t ] ( h t t p s : / / g i t h u b . c o m / l l l y a s v i e l / C o n t r o l N e t ) , a n d y o u c a n f i n d o f f i c i a l C o n t r o l N e t c h e c k p o i n t s o n [ l l l y a s v i e l ' s ] ( h t t p s : / / h u g g i n g f a c e . c o / l l l y a s v i e l ) H u b p r o f i l e . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e # # S t a b l e D i f f u s i o n C o n t r o l N e t I m g 2 I m g P i p e l i n e # # S t a b l e D i f f u s i o n C o n t r o l N e t I n p a i n t P i p e l i n e # # S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # # F l a x S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e # # F l a x S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e - a l l - _ _ c a l l _ _ - e n a b l e _ a t t e n t i o n _ s l i c i n g - d i s a b l e _ a t t e n t i o n _ s l i c i n g - e n a b l e _ v a e _ s l i c i n g - d i s a b l e _ v a e _ s l i c i n g - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - d i s a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - l o a d _ t e x t u a l _ i n v e r s i o n [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n C o n t r o l N e t I m g 2 I m g P i p e l i n e - a l l - _ _ c a l l _ _ - e n a b l e _ a t t e n t i o n _ s l i c i n g - d i s a b l e _ a t t e n t i o n _ s l i c i n g - e n a b l e _ v a e _ s l i c i n g - d i s a b l e _ v a e _ s l i c i n g - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - d i s a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - l o a d _ t e x t u a l _ i n v e r s i o n [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n C o n t r o l N e t I n p a i n t P i p e l i n e - a l l - _ _ c a l l _ _ - e n a b l e _ a t t e n t i o n _ s l i c i n g - d i s a b l e _ a t t e n t i o n _ s l i c i n g - e n a b l e _ v a e _ s l i c i n g - d i s a b l e _ v a e _ s l i c i n g - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - d i s a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - l o a d _ t e x t u a l _ i n v e r s i o n [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . S t a b l e D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] F l a x S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . F l a x S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # P a i n t b y E x a m p l e [ P a i n t b y E x a m p l e : E x e m p l a r - b a s e d I m a g e E d i t i n g w i t h D i f f u s i o n M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 1 1 . 1 3 2 2 7 ) i s b y B i n x i n Y a n g , S h u y a n g G u , B o Z h a n g , T i n g Z h a n g , X u e j i n C h e n , X i a o y a n S u n , D o n g C h e n , F a n g W e n . T h e a b s t r a c t f r o m t h e p a p e r i s : * L a n g u a g e - g u i d e d i m a g e e d i t i n g h a s a c h i e v e d g r e a t s u c c e s s r e c e n t l y . I n t h i s p a p e r , f o r t h e f i r s t t i m e , w e i n v e s t i g a t e e x e m p l a r - g u i d e d i m a g e e d i t i n g f o r m o r e p r e c i s e c o n t r o l . W e a c h i e v e t h i s g o a l b y l e v e r a g i n g s e l f - s u p e r v i s e d t r a i n i n g t o d i s e n t a n g l e a n d r e - o r g a n i z e t h e s o u r c e i m a g e a n d t h e e x e m p l a r . H o w e v e r , t h e n a i v e a p p r o a c h w i l l c a u s e o b v i o u s f u s i n g a r t i f a c t s . W e c a r e f u l l y a n a l y z e i t a n d p r o p o s e a n i n f o r m a t i o n b o t t l e n e c k a n d s t r o n g a u g m e n t a t i o n s t o a v o i d t h e t r i v i a l s o l u t i o n o f d i r e c t l y c o p y i n g a n d p a s t i n g t h e e x e m p l a r i m a g e . M e a n w h i l e , t o e n s u r e t h e c o n t r o l l a b i l i t y o f t h e e d i t i n g p r o c e s s , w e d e s i g n a n a r b i t r a r y s h a p e m a s k f o r t h e e x e m p l a r i m a g e a n d l e v e r a g e t h e c l a s s i f i e r - f r e e g u i d a n c e t o i n c r e a s e t h e s i m i l a r i t y t o t h e e x e m p l a r i m a g e . T h e w h o l e f r a m e w o r k i n v o l v e s a s i n g l e f o r w a r d o f t h e d i f f u s i o n m o d e l w i t h o u t a n y i t e r a t i v e o p t i m i z a t i o n . W e d e m o n s t r a t e t h a t o u r m e t h o d a c h i e v e s a n i m p r e s s i v e p e r f o r m a n c e a n d e n a b l e s c o n t r o l l a b l e e d i t i n g o n i n - t h e - w i l d i m a g e s w i t h h i g h f i d e l i t y . * T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ F a n t a s y - S t u d i o / P a i n t - b y - E x a m p l e ] ( h t t p s : / / g i t h u b . c o m / F a n t a s y - S t u d i o / P a i n t - b y - E x a m p l e ) , a n d y o u c a n t r y i t o u t i n a [ d e m o ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / F a n t a s y - S t u d i o / P a i n t - b y - E x a m p l e ) . # # T i p s P a i n t b y E x a m p l e i s s u p p o r t e d b y t h e o f f i c i a l [ F a n t a s y - S t u d i o / P a i n t - b y - E x a m p l e ] ( h t t p s : / / h u g g i n g f a c e . c o / F a n t a s y - S t u d i o / P a i n t - b y - E x a m p l e ) c h e c k p o i n t . T h e c h e c k p o i n t i s w a r m - s t a r t e d f r o m [ C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 ] ( h t t p s : / / h u g g i n g f a c e . c o / C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 ) t o i n p a i n t p a r t l y m a s k e d i m a g e s c o n d i t i o n e d o n e x a m p l e a n d r e f e r e n c e i m a g e s . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # P a i n t B y E x a m p l e P i p e l i n e # # S t a b l e D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] P a i n t B y E x a m p l e P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # P i x A r t - ฮฑ ! [ ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / p i x a r t / h e a d e r _ c o l l a g e . p n g ) [ P i x A r t - ฮฑ : F a s t T r a i n i n g o f D i f f u s i o n T r a n s f o r m e r f o r P h o t o r e a l i s t i c T e x t - t o - I m a g e S y n t h e s i s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 1 0 . 0 0 4 2 6 ) i s J u n s o n g C h e n , J i n c h e n g Y u , C h o n g j i a n G e , L e w e i Y a o , E n z e X i e , Y u e W u , Z h o n g d a o W a n g , J a m e s K w o k , P i n g L u o , H u c h u a n L u , a n d Z h e n g u o L i . T h e a b s t r a c t f r o m t h e p a p e r i s : * T h e m o s t a d v a n c e d t e x t - t o - i m a g e ( T 2 I ) m o d e l s r e q u i r e s i g n i f i c a n t t r a i n i n g c o s t s ( e . g . , m i l l i o n s o f G P U h o u r s ) , s e r i o u s l y h i n d e r i n g t h e f u n d a m e n t a l i n n o v a t i o n f o r t h e A I G C c o m m u n i t y w h i l e i n c r e a s i n g C O 2 e m i s s i o n s . T h i s p a p e r i n t r o d u c e s P I X A R T - ฮฑ , a T r a n s f o r m e r - b a s e d T 2 I d i f f u s i o n m o d e l w h o s e i m a g e g e n e r a t i o n q u a l i t y i s c o m p e t i t i v e w i t h s t a t e - o f - t h e - a r t i m a g e g e n e r a t o r s ( e . g . , I m a g e n , S D X L , a n d e v e n M i d j o u r n e y ) , r e a c h i n g n e a r - c o m m e r c i a l a p p l i c a t i o n s t a n d a r d s . A d d i t i o n a l l y , i t s u p p o r t s h i g h - r e s o l u t i o n i m a g e s y n t h e s i s u p t o 1 0 2 4 p x r e s o l u t i o n w i t h l o w t r a i n i n g c o s t , a s s h o w n i n F i g u r e 1 a n d 2 . T o a c h i e v e t h i s g o a l , t h r e e c o r e d e s i g n s a r e p r o p o s e d : ( 1 ) T r a i n i n g s t r a t e g y d e c o m p o s i t i o n : W e d e v i s e t h r e e d i s t i n c t t r a i n i n g s t e p s t h a t s e p a r a t e l y o p t i m i z e p i x e l d e p e n d e n c y , t e x t - i m a g e a l i g n m e n t , a n d i m a g e a e s t h e t i c q u a l i t y ; ( 2 ) E f f i c i e n t T 2 I T r a n s f o r m e r : W e i n c o r p o r a t e c r o s s - a t t e n t i o n m o d u l e s i n t o D i f f u s i o n T r a n s f o r m e r ( D i T ) t o i n j e c t t e x t c o n d i t i o n s a n d s t r e a m l i n e t h e c o m p u t a t i o n - i n t e n s i v e c l a s s - c o n d i t i o n b r a n c h ; ( 3 ) H i g h - i n f o r m a t i v e d a t a : W e e m p h a s i z e t h e s i g n i f i c a n c e o f c o n c e p t d e n s i t y i n t e x t - i m a g e p a i r s a n d l e v e r a g e a l a r g e V i s i o n - L a n g u a g e m o d e l t o a u t o - l a b e l d e n s e p s e u d o - c a p t i o n s t o a s s i s t t e x t - i m a g e a l i g n m e n t l e a r n i n g . A s a r e s u l t , P I X A R T - ฮฑ ' s t r a i n i n g s p e e d m a r k e d l y s u r p a s s e s e x i s t i n g l a r g e - s c a l e T 2 I m o d e l s , e . g . , P I X A R T - ฮฑ o n l y t a k e s 1 0 . 8 % o f S t a b l e D i f f u s i o n v 1 . 5 ' s t r a i n i n g t i m e ( 6 7 5 v s . 6 , 2 5 0 A 1 0 0 G P U d a y s ) , s a v i n g n e a r l y $ 3 0 0 , 0 0 0 ( $ 2 6 , 0 0 0 v s . $ 3 2 0 , 0 0 0 ) a n d r e d u c i n g 9 0 % C O 2 e m i s s i o n s . M o r e o v e r , c o m p a r e d w i t h a l a r g e r S O T A m o d e l , R A P H A E L , o u r t r a i n i n g c o s t i s m e r e l y 1 % . E x t e n s i v e e x p e r i m e n t s d e m o n s t r a t e t h a t P I X A R T - ฮฑ e x c e l s i n i m a g e q u a l i t y , a r t i s t r y , a n d s e m a n t i c c o n t r o l . W e h o p e P I X A R T - ฮฑ w i l l p r o v i d e n e w i n s i g h t s t o t h e A I G C c o m m u n i t y a n d s t a r t u p s t o a c c e l e r a t e b u i l d i n g t h e i r o w n h i g h - q u a l i t y y e t l o w - c o s t g e n e r a t i v e m o d e l s f r o m s c r a t c h . * Y o u c a n f i n d t h e o r i g i n a l c o d e b a s e a t [ P i x A r t - a l p h a / P i x A r t - a l p h a ] ( h t t p s : / / g i t h u b . c o m / P i x A r t - a l p h a / P i x A r t - a l p h a ) a n d a l l t h e a v a i l a b l e c h e c k p o i n t s a t [ P i x A r t - a l p h a ] ( h t t p s : / / h u g g i n g f a c e . c o / P i x A r t - a l p h a ) . S o m e n o t e s a b o u t t h i s p i p e l i n e : * I t u s e s a T r a n s f o r m e r b a c k b o n e ( i n s t e a d o f a U N e t ) f o r d e n o i s i n g . A s s u c h i t h a s a s i m i l a r a r c h i t e c t u r e a s [ D i T ] ( . / d i t ) . * I t w a s t r a i n e d u s i n g t e x t c o n d i t i o n s c o m p u t e d f r o m T 5 . T h i s a s p e c t m a k e s t h e p i p e l i n e b e t t e r a t f o l l o w i n g c o m p l e x t e x t p r o m p t s w i t h i n t r i c a t e d e t a i l s . * I t i s g o o d a t p r o d u c i n g h i g h - r e s o l u t i o n i m a g e s a t d i f f e r e n t a s p e c t r a t i o s . T o g e t t h e b e s t r e s u l t s , t h e a u t h o r s r e c o m m e n d s o m e s i z e b r a c k e t s w h i c h c a n b e f o u n d [ h e r e ] ( h t t p s : / / g i t h u b . c o m / P i x A r t - a l p h a / P i x A r t - a l p h a / b l o b / 0 8 f b b d 2 8 1 e c 9 6 8 6 6 1 0 9 b d d 2 c d b 7 5 f 2 f 5 8 f b 1 7 6 1 0 / d i f f u s i o n / d a t a / d a t a s e t s / u t i l s . p y ) . * I t r i v a l s t h e q u a l i t y o f s t a t e - o f - t h e - a r t t e x t - t o - i m a g e g e n e r a t i o n s y s t e m s ( a s o f t h i s w r i t i n g ) s u c h a s S t a b l e D i f f u s i o n X L , I m a g e n , a n d D A L L - E 2 , w h i l e b e i n g m o r e e f f i c i e n t t h a n t h e m . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s . m d ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g . m d # r e u s e - a - p i p e l i n e ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # I n f e r e n c e w i t h u n d e r 8 G B G P U V R A M R u n t h e ` P i x A r t A l p h a P i p e l i n e ` w i t h u n d e r 8 G B G P U V R A M b y l o a d i n g t h e t e x t e n c o d e r i n 8 - b i t p r e c i s i o n . L e t ' s w a l k t h r o u g h a f u l l - f l e d g e d e x a m p l e . F i r s t , i n s t a l l t h e [ b i t s a n d b y t e s ] ( h t t p s : / / g i t h u b . c o m / T i m D e t t m e r s / b i t s a n d b y t e s ) l i b r a r y : ` ` ` b a s h p i p i n s t a l l - U b i t s a n d b y t e s ` ` ` T h e n l o a d t h e t e x t e n c o d e r i n 8 - b i t : ` ` ` p y t h o n f r o m t r a n s f o r m e r s i m p o r t T 5 E n c o d e r M o d e l f r o m d i f f u s e r s i m p o r t P i x A r t A l p h a P i p e l i n e i m p o r t t o r c h t e x t _ e n c o d e r = T 5 E n c o d e r M o d e l . f r o m _ p r e t r a i n e d ( " P i x A r t - a l p h a / P i x A r t - X L - 2 - 1 0 2 4 - M S " , s u b f o l d e r = " t e x t _ e n c o d e r " , l o a d _ i n _ 8 b i t = T r u e , d e v i c e _ m a p = " a u t o " , ) p i p e = P i x A r t A l p h a P i p e l i n e . f r o m _ p r e t r a i n e d ( " P i x A r t - a l p h a / P i x A r t - X L - 2 - 1 0 2 4 - M S " , t e x t _ e n c o d e r = t e x t _ e n c o d e r , t r a n s f o r m e r = N o n e , d e v i c e _ m a p = " a u t o " ) ` ` ` N o w , u s e t h e ` p i p e ` t o e n c o d e a p r o m p t : ` ` ` p y t h o n w i t h t o r c h . n o _ g r a d ( ) : p r o m p t = " c u t e c a t " p r o m p t _ e m b e d s , p r o m p t _ a t t e n t i o n _ m a s k , n e g a t i v e _ e m b e d s , n e g a t i v e _ p r o m p t _ a t t e n t i o n _ m a s k = p i p e . e n c o d e _ p r o m p t ( p r o m p t ) ` ` ` S i n c e t e x t e m b e d d i n g s h a v e b e e n c o m p u t e d , r e m o v e t h e ` t e x t _ e n c o d e r ` a n d ` p i p e ` f r o m t h e m e m o r y , a n d f r e e u p s o m e G P U V R A M : ` ` ` p y t h o n i m p o r t g c d e f f l u s h ( ) : g c . c o l l e c t ( ) t o r c h . c u d a . e m p t y _ c a c h e ( ) d e l t e x t _ e n c o d e r d e l p i p e f l u s h ( ) ` ` ` T h e n c o m p u t e t h e l a t e n t s w i t h t h e p r o m p t e m b e d d i n g s a s i n p u t s : ` ` ` p y t h o n p i p e = P i x A r t A l p h a P i p e l i n e . f r o m _ p r e t r a i n e d ( " P i x A r t - a l p h a / P i x A r t - X L - 2 - 1 0 2 4 - M S " , t e x t _ e n c o d e r = N o n e , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , ) . t o ( " c u d a " ) l a t e n t s = p i p e ( n e g a t i v e _ p r o m p t = N o n e , p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , n e g a t i v e _ p r o m p t _ e m b e d s = n e g a t i v e _ e m b e d s , p r o m p t _ a t t e n t i o n _ m a s k = p r o m p t _ a t t e n t i o n _ m a s k , n e g a t i v e _ p r o m p t _ a t t e n t i o n _ m a s k = n e g a t i v e _ p r o m p t _ a t t e n t i o n _ m a s k , n u m _ i m a g e s _ p e r _ p r o m p t = 1 , o u t p u t _ t y p e = " l a t e n t " , ) . i m a g e s d e l p i p e . t r a n s f o r m e r f l u s h ( ) ` ` ` < T i p > N o t i c e t h a t w h i l e i n i t i a l i z i n g ` p i p e ` , y o u ' r e s e t t i n g ` t e x t _ e n c o d e r ` t o ` N o n e ` s o t h a t i t ' s n o t l o a d e d . < / T i p > O n c e t h e l a t e n t s a r e c o m p u t e d , p a s s i t o f f t o t h e V A E t o d e c o d e i n t o a r e a l i m a g e : ` ` ` p y t h o n w i t h t o r c h . n o _ g r a d ( ) : i m a g e = p i p e . v a e . d e c o d e ( l a t e n t s / p i p e . v a e . c o n f i g . s c a l i n g _ f a c t o r , r e t u r n _ d i c t = F a l s e ) [ 0 ] i m a g e = p i p e . i m a g e _ p r o c e s s o r . p o s t p r o c e s s ( i m a g e , o u t p u t _ t y p e = " p i l " ) [ 0 ] i m a g e . s a v e ( " c a t . p n g " ) ` ` ` B y d e l e t i n g c o m p o n e n t s y o u a r e n ' t u s i n g a n d f l u s h i n g t h e G P U V R A M , y o u s h o u l d b e a b l e t o r u n ` P i x A r t A l p h a P i p e l i n e ` w i t h u n d e r 8 G B G P U V R A M . ! [ ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / p i x a r t / 8 b i t s _ c a t . p n g ) I f y o u w a n t a r e p o r t o f y o u r m e m o r y - u s a g e , r u n t h i s [ s c r i p t ] ( h t t p s : / / g i s t . g i t h u b . c o m / s a y a k p a u l / 3 a e 0 f 8 4 7 0 0 1 d 3 4 2 a f 2 7 0 1 8 a 9 6 f 4 6 7 e 4 e ) . < T i p w a r n i n g = { t r u e } > T e x t e m b e d d i n g s c o m p u t e d i n 8 - b i t c a n i m p a c t t h e q u a l i t y o f t h e g e n e r a t e d i m a g e s b e c a u s e o f t h e i n f o r m a t i o n l o s s i n t h e r e p r e s e n t a t i o n s p a c e c a u s e d b y t h e r e d u c e d p r e c i s i o n . I t ' s r e c o m m e n d e d t o c o m p a r e t h e o u t p u t s w i t h a n d w i t h o u t 8 - b i t . < / T i p > W h i l e l o a d i n g t h e ` t e x t _ e n c o d e r ` , y o u s e t ` l o a d _ i n _ 8 b i t ` t o ` T r u e ` . Y o u c o u l d a l s o s p e c i f y ` l o a d _ i n _ 4 b i t ` t o b r i n g y o u r m e m o r y r e q u i r e m e n t s d o w n e v e n f u r t h e r t o u n d e r 7 G B . # # P i x A r t A l p h a P i p e l i n e [ [ a u t o d o c ] ] P i x A r t A l p h a P i p e l i n e - a l l - _ _ c a l l _ _ # L a t e n t C o n s i s t e n c y M o d e l s L a t e n t C o n s i s t e n c y M o d e l s ( L C M s ) w e r e p r o p o s e d i n [ L a t e n t C o n s i s t e n c y M o d e l s : S y n t h e s i z i n g H i g h - R e s o l u t i o n I m a g e s w i t h F e w - S t e p I n f e r e n c e ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 1 0 . 0 4 3 7 8 ) b y S i m i a n L u o , Y i q i n T a n , L o n g b o H u a n g , J i a n L i , a n d H a n g Z h a o . T h e a b s t r a c t o f t h e p a p e r i s a s f o l l o w s : * L a t e n t D i f f u s i o n m o d e l s ( L D M s ) h a v e a c h i e v e d r e m a r k a b l e r e s u l t s i n s y n t h e s i z i n g h i g h - r e s o l u t i o n i m a g e s . H o w e v e r , t h e i t e r a t i v e s a m p l i n g p r o c e s s i s c o m p u t a t i o n a l l y i n t e n s i v e a n d l e a d s t o s l o w g e n e r a t i o n . I n s p i r e d b y C o n s i s t e n c y M o d e l s ( s o n g e t a l . ) , w e p r o p o s e L a t e n t C o n s i s t e n c y M o d e l s ( L C M s ) , e n a b l i n g s w i f t i n f e r e n c e w i t h m i n i m a l s t e p s o n a n y p r e - t r a i n e d L D M s , i n c l u d i n g S t a b l e D i f f u s i o n ( r o m b a c h e t a l ) . V i e w i n g t h e g u i d e d r e v e r s e d i f f u s i o n p r o c e s s a s s o l v i n g a n a u g m e n t e d p r o b a b i l i t y f l o w O D E ( P F - O D E ) , L C M s a r e d e s i g n e d t o d i r e c t l y p r e d i c t t h e s o l u t i o n o f s u c h O D E i n l a t e n t s p a c e , m i t i g a t i n g t h e n e e d f o r n u m e r o u s i t e r a t i o n s a n d a l l o w i n g r a p i d , h i g h - f i d e l i t y s a m p l i n g . E f f i c i e n t l y d i s t i l l e d f r o m p r e - t r a i n e d c l a s s i f i e r - f r e e g u i d e d d i f f u s i o n m o d e l s , a h i g h - q u a l i t y 7 6 8 x 7 6 8 2 ~ 4 - s t e p L C M t a k e s o n l y 3 2 A 1 0 0 G P U h o u r s f o r t r a i n i n g . F u r t h e r m o r e , w e i n t r o d u c e L a t e n t C o n s i s t e n c y F i n e - t u n i n g ( L C F ) , a n o v e l m e t h o d t h a t i s t a i l o r e d f o r f i n e - t u n i n g L C M s o n c u s t o m i z e d i m a g e d a t a s e t s . E v a l u a t i o n o n t h e L A I O N - 5 B - A e s t h e t i c s d a t a s e t d e m o n s t r a t e s t h a t L C M s a c h i e v e s t a t e - o f - t h e - a r t t e x t - t o - i m a g e g e n e r a t i o n p e r f o r m a n c e w i t h f e w - s t e p i n f e r e n c e . P r o j e c t P a g e : [ t h i s h t t p s U R L ] ( h t t p s : / / l a t e n t - c o n s i s t e n c y - m o d e l s . g i t h u b . i o / ) . * A d e m o f o r t h e [ S i m i a n L u o / L C M _ D r e a m s h a p e r _ v 7 ] ( h t t p s : / / h u g g i n g f a c e . c o / S i m i a n L u o / L C M _ D r e a m s h a p e r _ v 7 ) c h e c k p o i n t c a n b e f o u n d [ h e r e ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / S i m i a n L u o / L a t e n t _ C o n s i s t e n c y _ M o d e l ) . T h e p i p e l i n e s w e r e c o n t r i b u t e d b y [ l u o s i a l l e n ] ( h t t p s : / / l u o s i a l l e n . g i t h u b . i o / ) , [ n a g o l i n c ] ( h t t p s : / / g i t h u b . c o m / n a g o l i n c ) , a n d [ d g 8 4 5 ] ( h t t p s : / / g i t h u b . c o m / d g 8 4 5 ) . # # L a t e n t C o n s i s t e n c y M o d e l P i p e l i n e # # L a t e n t C o n s i s t e n c y M o d e l I m g 2 I m g P i p e l i n e # # S t a b l e D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] L a t e n t C o n s i s t e n c y M o d e l P i p e l i n e - a l l - _ _ c a l l _ _ - e n a b l e _ f r e e u - d i s a b l e _ f r e e u - e n a b l e _ v a e _ s l i c i n g - d i s a b l e _ v a e _ s l i c i n g - e n a b l e _ v a e _ t i l i n g - d i s a b l e _ v a e _ t i l i n g [ [ a u t o d o c ] ] L a t e n t C o n s i s t e n c y M o d e l I m g 2 I m g P i p e l i n e - a l l - _ _ c a l l _ _ - e n a b l e _ f r e e u - d i s a b l e _ f r e e u - e n a b l e _ v a e _ s l i c i n g - d i s a b l e _ v a e _ s l i c i n g - e n a b l e _ v a e _ t i l i n g - d i s a b l e _ v a e _ t i l i n g [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # u n C L I P [ H i e r a r c h i c a l T e x t - C o n d i t i o n a l I m a g e G e n e r a t i o n w i t h C L I P L a t e n t s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 4 . 0 6 1 2 5 ) i s b y A d i t y a R a m e s h , P r a f u l l a D h a r i w a l , A l e x N i c h o l , C a s e y C h u , M a r k C h e n . T h e u n C L I P m o d e l i n ๐Ÿค— D i f f u s e r s c o m e s f r o m k a k a o b r a i n ' s [ k a r l o ] ( h t t p s : / / g i t h u b . c o m / k a k a o b r a i n / k a r l o ) . T h e a b s t r a c t f r o m t h e p a p e r i s f o l l o w i n g : * C o n t r a s t i v e m o d e l s l i k e C L I P h a v e b e e n s h o w n t o l e a r n r o b u s t r e p r e s e n t a t i o n s o f i m a g e s t h a t c a p t u r e b o t h s e m a n t i c s a n d s t y l e . T o l e v e r a g e t h e s e r e p r e s e n t a t i o n s f o r i m a g e g e n e r a t i o n , w e p r o p o s e a t w o - s t a g e m o d e l : a p r i o r t h a t g e n e r a t e s a C L I P i m a g e e m b e d d i n g g i v e n a t e x t c a p t i o n , a n d a d e c o d e r t h a t g e n e r a t e s a n i m a g e c o n d i t i o n e d o n t h e i m a g e e m b e d d i n g . W e s h o w t h a t e x p l i c i t l y g e n e r a t i n g i m a g e r e p r e s e n t a t i o n s i m p r o v e s i m a g e d i v e r s i t y w i t h m i n i m a l l o s s i n p h o t o r e a l i s m a n d c a p t i o n s i m i l a r i t y . O u r d e c o d e r s c o n d i t i o n e d o n i m a g e r e p r e s e n t a t i o n s c a n a l s o p r o d u c e v a r i a t i o n s o f a n i m a g e t h a t p r e s e r v e b o t h i t s s e m a n t i c s a n d s t y l e , w h i l e v a r y i n g t h e n o n - e s s e n t i a l d e t a i l s a b s e n t f r o m t h e i m a g e r e p r e s e n t a t i o n . M o r e o v e r , t h e j o i n t e m b e d d i n g s p a c e o f C L I P e n a b l e s l a n g u a g e - g u i d e d i m a g e m a n i p u l a t i o n s i n a z e r o - s h o t f a s h i o n . W e u s e d i f f u s i o n m o d e l s f o r t h e d e c o d e r a n d e x p e r i m e n t w i t h b o t h a u t o r e g r e s s i v e a n d d i f f u s i o n m o d e l s f o r t h e p r i o r , f i n d i n g t h a t t h e l a t t e r a r e c o m p u t a t i o n a l l y m o r e e f f i c i e n t a n d p r o d u c e h i g h e r - q u a l i t y s a m p l e s . * Y o u c a n f i n d l u c i d r a i n s ' D A L L - E 2 r e c r e a t i o n a t [ l u c i d r a i n s / D A L L E 2 - p y t o r c h ] ( h t t p s : / / g i t h u b . c o m / l u c i d r a i n s / D A L L E 2 - p y t o r c h ) . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # U n C L I P P i p e l i n e # # U n C L I P I m a g e V a r i a t i o n P i p e l i n e # # I m a g e P i p e l i n e O u t p u t [ [ a u t o d o c ] ] U n C L I P P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] U n C L I P I m a g e V a r i a t i o n P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . I m a g e P i p e l i n e O u t p u t # T e x t - t o - V i d e o G e n e r a t i o n w i t h A n i m a t e D i f f # # O v e r v i e w [ A n i m a t e D i f f : A n i m a t e Y o u r P e r s o n a l i z e d T e x t - t o - I m a g e D i f f u s i o n M o d e l s w i t h o u t S p e c i f i c T u n i n g ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 0 7 . 0 4 7 2 5 ) b y Y u w e i G u o , C e y u a n Y a n g , A n y i R a o , Y a o h u i W a n g , Y u Q i a o , D a h u a L i n , B o D a i . T h e a b s t r a c t o f t h e p a p e r i s t h e f o l l o w i n g : * W i t h t h e a d v a n c e o f t e x t - t o - i m a g e m o d e l s ( e . g . , S t a b l e D i f f u s i o n ) a n d c o r r e s p o n d i n g p e r s o n a l i z a t i o n t e c h n i q u e s s u c h a s D r e a m B o o t h a n d L o R A , e v e r y o n e c a n m a n i f e s t t h e i r i m a g i n a t i o n i n t o h i g h - q u a l i t y i m a g e s a t a n a f f o r d a b l e c o s t . S u b s e q u e n t l y , t h e r e i s a g r e a t d e m a n d f o r i m a g e a n i m a t i o n t e c h n i q u e s t o f u r t h e r c o m b i n e g e n e r a t e d s t a t i c i m a g e s w i t h m o t i o n d y n a m i c s . I n t h i s r e p o r t , w e p r o p o s e a p r a c t i c a l f r a m e w o r k t o a n i m a t e m o s t o f t h e e x i s t i n g p e r s o n a l i z e d t e x t - t o - i m a g e m o d e l s o n c e a n d f o r a l l , s a v i n g e f f o r t s i n m o d e l - s p e c i f i c t u n i n g . A t t h e c o r e o f t h e p r o p o s e d f r a m e w o r k i s t o i n s e r t a n e w l y i n i t i a l i z e d m o t i o n m o d e l i n g m o d u l e i n t o t h e f r o z e n t e x t - t o - i m a g e m o d e l a n d t r a i n i t o n v i d e o c l i p s t o d i s t i l l r e a s o n a b l e m o t i o n p r i o r s . O n c e t r a i n e d , b y s i m p l y i n j e c t i n g t h i s m o t i o n m o d e l i n g m o d u l e , a l l p e r s o n a l i z e d v e r s i o n s d e r i v e d f r o m t h e s a m e b a s e T 2 I r e a d i l y b e c o m e t e x t - d r i v e n m o d e l s t h a t p r o d u c e d i v e r s e a n d p e r s o n a l i z e d a n i m a t e d i m a g e s . W e c o n d u c t o u r e v a l u a t i o n o n s e v e r a l p u b l i c r e p r e s e n t a t i v e p e r s o n a l i z e d t e x t - t o - i m a g e m o d e l s a c r o s s a n i m e p i c t u r e s a n d r e a l i s t i c p h o t o g r a p h s , a n d d e m o n s t r a t e t h a t o u r p r o p o s e d f r a m e w o r k h e l p s t h e s e m o d e l s g e n e r a t e t e m p o r a l l y s m o o t h a n i m a t i o n c l i p s w h i l e p r e s e r v i n g t h e d o m a i n a n d d i v e r s i t y o f t h e i r o u t p u t s . C o d e a n d p r e - t r a i n e d w e i g h t s w i l l b e p u b l i c l y a v a i l a b l e a t [ t h i s h t t p s U R L ] ( h t t p s : / / a n i m a t e d i f f . g i t h u b . i o / ) . * # # A v a i l a b l e P i p e l i n e s | P i p e l i n e | T a s k s | D e m o | - - - | - - - | : - - - : | | [ A n i m a t e D i f f P i p e l i n e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / a n i m a t e d i f f / p i p e l i n e _ a n i m a t e d i f f . p y ) | * T e x t - t o - V i d e o G e n e r a t i o n w i t h A n i m a t e D i f f * | | [ A n i m a t e D i f f C o n t r o l N e t P i p e l i n e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / a n i m a t e d i f f / p i p e l i n e _ a n i m a t e d i f f _ c o n t r o l n e t . p y ) | * C o n t r o l l e d V i d e o - t o - V i d e o G e n e r a t i o n w i t h A n i m a t e D i f f u s i n g C o n t r o l N e t * | | [ A n i m a t e D i f f S p a r s e C o n t r o l N e t P i p e l i n e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / a n i m a t e d i f f / p i p e l i n e _ a n i m a t e d i f f _ s p a r s e c t r l . p y ) | * C o n t r o l l e d V i d e o - t o - V i d e o G e n e r a t i o n w i t h A n i m a t e D i f f u s i n g S p a r s e C t r l * | | [ A n i m a t e D i f f S D X L P i p e l i n e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / a n i m a t e d i f f / p i p e l i n e _ a n i m a t e d i f f _ s d x l . p y ) | * V i d e o - t o - V i d e o G e n e r a t i o n w i t h A n i m a t e D i f f * | | [ A n i m a t e D i f f V i d e o T o V i d e o P i p e l i n e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / a n i m a t e d i f f / p i p e l i n e _ a n i m a t e d i f f _ v i d e o 2 v i d e o . p y ) | * V i d e o - t o - V i d e o G e n e r a t i o n w i t h A n i m a t e D i f f * | | [ A n i m a t e D i f f V i d e o T o V i d e o C o n t r o l N e t P i p e l i n e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / a n i m a t e d i f f / p i p e l i n e _ a n i m a t e d i f f _ v i d e o 2 v i d e o _ c o n t r o l n e t . p y ) | * V i d e o - t o - V i d e o G e n e r a t i o n w i t h A n i m a t e D i f f u s i n g C o n t r o l N e t * | # # A v a i l a b l e c h e c k p o i n t s M o t i o n A d a p t e r c h e c k p o i n t s c a n b e f o u n d u n d e r [ g u o y w w ] ( h t t p s : / / h u g g i n g f a c e . c o / g u o y w w / ) . T h e s e c h e c k p o i n t s a r e m e a n t t o w o r k w i t h a n y m o d e l b a s e d o n S t a b l e D i f f u s i o n 1 . 4 / 1 . 5 . # # U s a g e e x a m p l e # # # A n i m a t e D i f f P i p e l i n e A n i m a t e D i f f w o r k s w i t h a M o t i o n A d a p t e r c h e c k p o i n t a n d a S t a b l e D i f f u s i o n m o d e l c h e c k p o i n t . T h e M o t i o n A d a p t e r i s a c o l l e c t i o n o f M o t i o n M o d u l e s t h a t a r e r e s p o n s i b l e f o r a d d i n g c o h e r e n t m o t i o n a c r o s s i m a g e f r a m e s . T h e s e m o d u l e s a r e a p p l i e d a f t e r t h e R e s n e t a n d A t t e n t i o n b l o c k s i n S t a b l e D i f f u s i o n U N e t . T h e f o l l o w i n g e x a m p l e d e m o n s t r a t e s h o w t o u s e a * M o t i o n A d a p t e r * c h e c k p o i n t w i t h D i f f u s e r s f o r i n f e r e n c e b a s e d o n S t a b l e D i f f u s i o n - 1 . 4 / 1 . 5 . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A n i m a t e D i f f P i p e l i n e , D D I M S c h e d u l e r , M o t i o n A d a p t e r f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f # L o a d t h e m o t i o n a d a p t e r a d a p t e r = M o t i o n A d a p t e r . f r o m _ p r e t r a i n e d ( " g u o y w w / a n i m a t e d i f f - m o t i o n - a d a p t e r - v 1 - 5 - 2 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) # l o a d S D 1 . 5 b a s e d f i n e t u n e d m o d e l m o d e l _ i d = " S G 1 6 1 2 2 2 / R e a l i s t i c _ V i s i o n _ V 5 . 1 _ n o V A E " p i p e = A n i m a t e D i f f P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , m o t i o n _ a d a p t e r = a d a p t e r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ p r e t r a i n e d ( m o d e l _ i d , s u b f o l d e r = " s c h e d u l e r " , c l i p _ s a m p l e = F a l s e , t i m e s t e p _ s p a c i n g = " l i n s p a c e " , b e t a _ s c h e d u l e = " l i n e a r " , s t e p s _ o f f s e t = 1 , ) p i p e . s c h e d u l e r = s c h e d u l e r # e n a b l e m e m o r y s a v i n g s p i p e . e n a b l e _ v a e _ s l i c i n g ( ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) o u t p u t = p i p e ( p r o m p t = ( " m a s t e r p i e c e , b e s t q u a l i t y , h i g h l y d e t a i l e d , u l t r a d e t a i l e d , s u n s e t , " " o r a n g e s k y , w a r m l i g h t i n g , f i s h i n g b o a t s , o c e a n w a v e s s e a g u l l s , " " r i p p l i n g w a t e r , w h a r f , s i l h o u e t t e , s e r e n e a t m o s p h e r e , d u s k , e v e n i n g g l o w , " " g o l d e n h o u r , c o a s t a l l a n d s c a p e , s e a s i d e s c e n e r y " ) , n e g a t i v e _ p r o m p t = " b a d q u a l i t y , w o r s e q u a l i t y " , n u m _ f r a m e s = 1 6 , g u i d a n c e _ s c a l e = 7 . 5 , n u m _ i n f e r e n c e _ s t e p s = 2 5 , g e n e r a t o r = t o r c h . G e n e r a t o r ( " c p u " ) . m a n u a l _ s e e d ( 4 2 ) , ) f r a m e s = o u t p u t . f r a m e s [ 0 ] e x p o r t _ t o _ g i f ( f r a m e s , " a n i m a t i o n . g i f " ) ` ` ` H e r e a r e s o m e s a m p l e o u t p u t s : < t a b l e > < t r > < t d > < c e n t e r > m a s t e r p i e c e , b e s t q u a l i t y , s u n s e t . < b r > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - r e a l i s t i c - d o c . g i f " a l t = " m a s t e r p i e c e , b e s t q u a l i t y , s u n s e t " s t y l e = " w i d t h : 3 0 0 p x ; " / > < / c e n t e r > < / t d > < / t r > < / t a b l e > < T i p > A n i m a t e D i f f t e n d s t o w o r k b e t t e r w i t h f i n e t u n e d S t a b l e D i f f u s i o n m o d e l s . I f y o u p l a n o n u s i n g a s c h e d u l e r t h a t c a n c l i p s a m p l e s , m a k e s u r e t o d i s a b l e i t b y s e t t i n g ` c l i p _ s a m p l e = F a l s e ` i n t h e s c h e d u l e r a s t h i s c a n a l s o h a v e a n a d v e r s e e f f e c t o n g e n e r a t e d s a m p l e s . A d d i t i o n a l l y , t h e A n i m a t e D i f f c h e c k p o i n t s c a n b e s e n s i t i v e t o t h e b e t a s c h e d u l e o f t h e s c h e d u l e r . W e r e c o m m e n d s e t t i n g t h i s t o ` l i n e a r ` . < / T i p > # # # A n i m a t e D i f f C o n t r o l N e t P i p e l i n e A n i m a t e D i f f c a n a l s o b e u s e d w i t h C o n t r o l N e t s C o n t r o l N e t w a s i n t r o d u c e d i n [ A d d i n g C o n d i t i o n a l C o n t r o l t o T e x t - t o - I m a g e D i f f u s i o n M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 2 . 0 5 5 4 3 ) b y L v m i n Z h a n g , A n y i R a o , a n d M a n e e s h A g r a w a l a . W i t h a C o n t r o l N e t m o d e l , y o u c a n p r o v i d e a n a d d i t i o n a l c o n t r o l i m a g e t o c o n d i t i o n a n d c o n t r o l S t a b l e D i f f u s i o n g e n e r a t i o n . F o r e x a m p l e , i f y o u p r o v i d e d e p t h m a p s , t h e C o n t r o l N e t m o d e l g e n e r a t e s a v i d e o t h a t ' l l p r e s e r v e t h e s p a t i a l i n f o r m a t i o n f r o m t h e d e p t h m a p s . I t i s a m o r e f l e x i b l e a n d a c c u r a t e w a y t o c o n t r o l t h e v i d e o g e n e r a t i o n p r o c e s s . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A n i m a t e D i f f C o n t r o l N e t P i p e l i n e , A u t o e n c o d e r K L , C o n t r o l N e t M o d e l , M o t i o n A d a p t e r , L C M S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f , l o a d _ v i d e o # A d d i t i o n a l l y , y o u w i l l n e e d a p r e p r o c e s s v i d e o s b e f o r e t h e y c a n b e u s e d w i t h t h e C o n t r o l N e t # H F m a i n t a i n s j u s t t h e r i g h t p a c k a g e f o r i t : ` p i p i n s t a l l c o n t r o l n e t _ a u x ` f r o m c o n t r o l n e t _ a u x . p r o c e s s o r i m p o r t Z o e D e t e c t o r # D o w n l o a d c o n t r o l n e t s f r o m h t t p s : / / h u g g i n g f a c e . c o / l l l y a s v i e l / C o n t r o l N e t - v 1 - 1 t o u s e . f r o m _ s i n g l e _ f i l e # D o w n l o a d D i f f u s e r s - f o r m a t c o n t r o l n e t s , s u c h a s h t t p s : / / h u g g i n g f a c e . c o / l l l y a s v i e l / s d - c o n t r o l n e t - d e p t h , t o u s e . f r o m _ p r e t r a i n e d ( ) c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ s i n g l e _ f i l e ( " c o n t r o l _ v 1 1 f 1 p _ s d 1 5 _ d e p t h . p t h " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) # W e u s e A n i m a t e L C M f o r t h i s e x a m p l e b u t o n e c a n u s e t h e o r i g i n a l m o t i o n a d a p t e r s a s w e l l ( f o r e x a m p l e , h t t p s : / / h u g g i n g f a c e . c o / g u o y w w / a n i m a t e d i f f - m o t i o n - a d a p t e r - v 1 - 5 - 3 ) m o t i o n _ a d a p t e r = M o t i o n A d a p t e r . f r o m _ p r e t r a i n e d ( " w a n g f u y u n / A n i m a t e L C M " ) v a e = A u t o e n c o d e r K L . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s d - v a e - f t - m s e " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e : A n i m a t e D i f f C o n t r o l N e t P i p e l i n e = A n i m a t e D i f f C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( " S G 1 6 1 2 2 2 / R e a l i s t i c _ V i s i o n _ V 5 . 1 _ n o V A E " , m o t i o n _ a d a p t e r = m o t i o n _ a d a p t e r , c o n t r o l n e t = c o n t r o l n e t , v a e = v a e , ) . t o ( d e v i c e = " c u d a " , d t y p e = t o r c h . f l o a t 1 6 ) p i p e . s c h e d u l e r = L C M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g , b e t a _ s c h e d u l e = " l i n e a r " ) p i p e . l o a d _ l o r a _ w e i g h t s ( " w a n g f u y u n / A n i m a t e L C M " , w e i g h t _ n a m e = " A n i m a t e L C M _ s d 1 5 _ t 2 v _ l o r a . s a f e t e n s o r s " , a d a p t e r _ n a m e = " l c m - l o r a " ) p i p e . s e t _ a d a p t e r s ( [ " l c m - l o r a " ] , [ 0 . 8 ] ) d e p t h _ d e t e c t o r = Z o e D e t e c t o r . f r o m _ p r e t r a i n e d ( " l l l y a s v i e l / A n n o t a t o r s " ) . t o ( " c u d a " ) v i d e o = l o a d _ v i d e o ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - v i d 2 v i d - i n p u t - 1 . g i f " ) c o n d i t i o n i n g _ f r a m e s = [ ] w i t h p i p e . p r o g r e s s _ b a r ( t o t a l = l e n ( v i d e o ) ) a s p r o g r e s s _ b a r : f o r f r a m e i n v i d e o : c o n d i t i o n i n g _ f r a m e s . a p p e n d ( d e p t h _ d e t e c t o r ( f r a m e ) ) p r o g r e s s _ b a r . u p d a t e ( ) p r o m p t = " a p a n d a , p l a y i n g a g u i t a r , s i t t i n g i n a p i n k b o a t , i n t h e o c e a n , m o u n t a i n s i n b a c k g r o u n d , r e a l i s t i c , h i g h q u a l i t y " n e g a t i v e _ p r o m p t = " b a d q u a l i t y , w o r s t q u a l i t y " v i d e o = p i p e ( p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , n u m _ f r a m e s = l e n ( v i d e o ) , n u m _ i n f e r e n c e _ s t e p s = 1 0 , g u i d a n c e _ s c a l e = 2 . 0 , c o n d i t i o n i n g _ f r a m e s = c o n d i t i o n i n g _ f r a m e s , g e n e r a t o r = t o r c h . G e n e r a t o r ( ) . m a n u a l _ s e e d ( 4 2 ) , ) . f r a m e s [ 0 ] e x p o r t _ t o _ g i f ( v i d e o , " a n i m a t e d i f f _ c o n t r o l n e t . g i f " , f p s = 8 ) ` ` ` H e r e a r e s o m e s a m p l e o u t p u t s : < t a b l e a l i g n = " c e n t e r " > < t r > < t h a l i g n = " c e n t e r " > S o u r c e V i d e o < / t h > < t h a l i g n = " c e n t e r " > O u t p u t V i d e o < / t h > < / t r > < t r > < t d a l i g n = " c e n t e r " > r a c c o o n p l a y i n g a g u i t a r < b r / > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - v i d 2 v i d - i n p u t - 1 . g i f " a l t = " r a c o o n p l a y i n g a g u i t a r " / > < / t d > < t d a l i g n = " c e n t e r " > a p a n d a , p l a y i n g a g u i t a r , s i t t i n g i n a p i n k b o a t , i n t h e o c e a n , m o u n t a i n s i n b a c k g r o u n d , r e a l i s t i c , h i g h q u a l i t y < b r / > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - c o n t r o l n e t - o u t p u t . g i f " a l t = " a p a n d a , p l a y i n g a g u i t a r , s i t t i n g i n a p i n k b o a t , i n t h e o c e a n , m o u n t a i n s i n b a c k g r o u n d , r e a l i s t i c , h i g h q u a l i t y " / > < / t d > < / t r > < / t a b l e > # # # A n i m a t e D i f f S p a r s e C o n t r o l N e t P i p e l i n e [ S p a r s e C t r l : A d d i n g S p a r s e C o n t r o l s t o T e x t - t o - V i d e o D i f f u s i o n M o d e l s ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 1 1 . 1 6 9 3 3 ) f o r a c h i e v i n g c o n t r o l l e d g e n e r a t i o n i n t e x t - t o - v i d e o d i f f u s i o n m o d e l s b y Y u w e i G u o , C e y u a n Y a n g , A n y i R a o , M a n e e s h A g r a w a l a , D a h u a L i n , a n d B o D a i . T h e a b s t r a c t f r o m t h e p a p e r i s : * T h e d e v e l o p m e n t o f t e x t - t o - v i d e o ( T 2 V ) , i . e . , g e n e r a t i n g v i d e o s w i t h a g i v e n t e x t p r o m p t , h a s b e e n s i g n i f i c a n t l y a d v a n c e d i n r e c e n t y e a r s . H o w e v e r , r e l y i n g s o l e l y o n t e x t p r o m p t s o f t e n r e s u l t s i n a m b i g u o u s f r a m e c o m p o s i t i o n d u e t o s p a t i a l u n c e r t a i n t y . T h e r e s e a r c h c o m m u n i t y t h u s l e v e r a g e s t h e d e n s e s t r u c t u r e s i g n a l s , e . g . , p e r - f r a m e d e p t h / e d g e s e q u e n c e s , t o e n h a n c e c o n t r o l l a b i l i t y , w h o s e c o l l e c t i o n a c c o r d i n g l y i n c r e a s e s t h e b u r d e n o f i n f e r e n c e . I n t h i s w o r k , w e p r e s e n t S p a r s e C t r l t o e n a b l e f l e x i b l e s t r u c t u r e c o n t r o l w i t h t e m p o r a l l y s p a r s e s i g n a l s , r e q u i r i n g o n l y o n e o r a f e w i n p u t s , a s s h o w n i n F i g u r e 1 . I t i n c o r p o r a t e s a n a d d i t i o n a l c o n d i t i o n e n c o d e r t o p r o c e s s t h e s e s p a r s e s i g n a l s w h i l e l e a v i n g t h e p r e - t r a i n e d T 2 V m o d e l u n t o u c h e d . T h e p r o p o s e d a p p r o a c h i s c o m p a t i b l e w i t h v a r i o u s m o d a l i t i e s , i n c l u d i n g s k e t c h e s , d e p t h m a p s , a n d R G B i m a g e s , p r o v i d i n g m o r e p r a c t i c a l c o n t r o l f o r v i d e o g e n e r a t i o n a n d p r o m o t i n g a p p l i c a t i o n s s u c h a s s t o r y b o a r d i n g , d e p t h r e n d e r i n g , k e y f r a m e a n i m a t i o n , a n d i n t e r p o l a t i o n . E x t e n s i v e e x p e r i m e n t s d e m o n s t r a t e t h e g e n e r a l i z a t i o n o f S p a r s e C t r l o n b o t h o r i g i n a l a n d p e r s o n a l i z e d T 2 V g e n e r a t o r s . C o d e s a n d m o d e l s w i l l b e p u b l i c l y a v a i l a b l e a t [ t h i s h t t p s U R L ] ( h t t p s : / / g u o y w w . g i t h u b . i o / p r o j e c t s / S p a r s e C t r l ) . * S p a r s e C t r l i n t r o d u c e s t h e f o l l o w i n g c h e c k p o i n t s f o r c o n t r o l l e d t e x t - t o - v i d e o g e n e r a t i o n : - [ S p a r s e C t r l S c r i b b l e ] ( h t t p s : / / h u g g i n g f a c e . c o / g u o y w w / a n i m a t e d i f f - s p a r s e c t r l - s c r i b b l e ) - [ S p a r s e C t r l R G B ] ( h t t p s : / / h u g g i n g f a c e . c o / g u o y w w / a n i m a t e d i f f - s p a r s e c t r l - r g b ) # # # # U s i n g S p a r s e C t r l S c r i b b l e ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A n i m a t e D i f f S p a r s e C o n t r o l N e t P i p e l i n e f r o m d i f f u s e r s . m o d e l s i m p o r t A u t o e n c o d e r K L , M o t i o n A d a p t e r , S p a r s e C o n t r o l N e t M o d e l f r o m d i f f u s e r s . s c h e d u l e r s i m p o r t D P M S o l v e r M u l t i s t e p S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f , l o a d _ i m a g e m o d e l _ i d = " S G 1 6 1 2 2 2 / R e a l i s t i c _ V i s i o n _ V 5 . 1 _ n o V A E " m o t i o n _ a d a p t e r _ i d = " g u o y w w / a n i m a t e d i f f - m o t i o n - a d a p t e r - v 1 - 5 - 3 " c o n t r o l n e t _ i d = " g u o y w w / a n i m a t e d i f f - s p a r s e c t r l - s c r i b b l e " l o r a _ a d a p t e r _ i d = " g u o y w w / a n i m a t e d i f f - m o t i o n - l o r a - v 1 - 5 - 3 " v a e _ i d = " s t a b i l i t y a i / s d - v a e - f t - m s e " d e v i c e = " c u d a " m o t i o n _ a d a p t e r = M o t i o n A d a p t e r . f r o m _ p r e t r a i n e d ( m o t i o n _ a d a p t e r _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( d e v i c e ) c o n t r o l n e t = S p a r s e C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( c o n t r o l n e t _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( d e v i c e ) v a e = A u t o e n c o d e r K L . f r o m _ p r e t r a i n e d ( v a e _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( d e v i c e ) s c h e d u l e r = D P M S o l v e r M u l t i s t e p S c h e d u l e r . f r o m _ p r e t r a i n e d ( m o d e l _ i d , s u b f o l d e r = " s c h e d u l e r " , b e t a _ s c h e d u l e = " l i n e a r " , a l g o r i t h m _ t y p e = " d p m s o l v e r + + " , u s e _ k a r r a s _ s i g m a s = T r u e , ) p i p e = A n i m a t e D i f f S p a r s e C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , m o t i o n _ a d a p t e r = m o t i o n _ a d a p t e r , c o n t r o l n e t = c o n t r o l n e t , v a e = v a e , s c h e d u l e r = s c h e d u l e r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , ) . t o ( d e v i c e ) p i p e . l o a d _ l o r a _ w e i g h t s ( l o r a _ a d a p t e r _ i d , a d a p t e r _ n a m e = " m o t i o n _ l o r a " ) p i p e . f u s e _ l o r a ( l o r a _ s c a l e = 1 . 0 ) p r o m p t = " a n a e r i a l v i e w o f a c y b e r p u n k c i t y , n i g h t t i m e , n e o n l i g h t s , m a s t e r p i e c e , h i g h q u a l i t y " n e g a t i v e _ p r o m p t = " l o w q u a l i t y , w o r s t q u a l i t y , l e t t e r b o x e d " i m a g e _ f i l e s = [ " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - s c r i b b l e - 1 . p n g " , " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - s c r i b b l e - 2 . p n g " , " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - s c r i b b l e - 3 . p n g " ] c o n d i t i o n _ f r a m e _ i n d i c e s = [ 0 , 8 , 1 5 ] c o n d i t i o n i n g _ f r a m e s = [ l o a d _ i m a g e ( i m g _ f i l e ) f o r i m g _ f i l e i n i m a g e _ f i l e s ] v i d e o = p i p e ( p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 2 5 , c o n d i t i o n i n g _ f r a m e s = c o n d i t i o n i n g _ f r a m e s , c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e = 1 . 0 , c o n t r o l n e t _ f r a m e _ i n d i c e s = c o n d i t i o n _ f r a m e _ i n d i c e s , g e n e r a t o r = t o r c h . G e n e r a t o r ( ) . m a n u a l _ s e e d ( 1 3 3 7 ) , ) . f r a m e s [ 0 ] e x p o r t _ t o _ g i f ( v i d e o , " o u t p u t . g i f " ) ` ` ` H e r e a r e s o m e s a m p l e o u t p u t s : < t a b l e a l i g n = " c e n t e r " > < t r > < c e n t e r > < b > a n a e r i a l v i e w o f a c y b e r p u n k c i t y , n i g h t t i m e , n e o n l i g h t s , m a s t e r p i e c e , h i g h q u a l i t y < / b > < / c e n t e r > < / t r > < t r > < t d > < c e n t e r > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - s c r i b b l e - 1 . p n g " a l t = " s c r i b b l e - 1 " / > < / c e n t e r > < / t d > < t d > < c e n t e r > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - s c r i b b l e - 2 . p n g " a l t = " s c r i b b l e - 2 " / > < / c e n t e r > < / t d > < t d > < c e n t e r > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - s c r i b b l e - 3 . p n g " a l t = " s c r i b b l e - 3 " / > < / c e n t e r > < / t d > < / t r > < t r > < t d c o l s p a n = 3 > < c e n t e r > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - s p a r s e c t r l - s c r i b b l e - r e s u l t s . g i f " a l t = " a n a e r i a l v i e w o f a c y b e r p u n k c i t y , n i g h t t i m e , n e o n l i g h t s , m a s t e r p i e c e , h i g h q u a l i t y " / > < / c e n t e r > < / t d > < / t r > < / t a b l e > # # # # U s i n g S p a r s e C t r l R G B ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A n i m a t e D i f f S p a r s e C o n t r o l N e t P i p e l i n e f r o m d i f f u s e r s . m o d e l s i m p o r t A u t o e n c o d e r K L , M o t i o n A d a p t e r , S p a r s e C o n t r o l N e t M o d e l f r o m d i f f u s e r s . s c h e d u l e r s i m p o r t D P M S o l v e r M u l t i s t e p S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f , l o a d _ i m a g e m o d e l _ i d = " S G 1 6 1 2 2 2 / R e a l i s t i c _ V i s i o n _ V 5 . 1 _ n o V A E " m o t i o n _ a d a p t e r _ i d = " g u o y w w / a n i m a t e d i f f - m o t i o n - a d a p t e r - v 1 - 5 - 3 " c o n t r o l n e t _ i d = " g u o y w w / a n i m a t e d i f f - s p a r s e c t r l - r g b " l o r a _ a d a p t e r _ i d = " g u o y w w / a n i m a t e d i f f - m o t i o n - l o r a - v 1 - 5 - 3 " v a e _ i d = " s t a b i l i t y a i / s d - v a e - f t - m s e " d e v i c e = " c u d a " m o t i o n _ a d a p t e r = M o t i o n A d a p t e r . f r o m _ p r e t r a i n e d ( m o t i o n _ a d a p t e r _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( d e v i c e ) c o n t r o l n e t = S p a r s e C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( c o n t r o l n e t _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( d e v i c e ) v a e = A u t o e n c o d e r K L . f r o m _ p r e t r a i n e d ( v a e _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( d e v i c e ) s c h e d u l e r = D P M S o l v e r M u l t i s t e p S c h e d u l e r . f r o m _ p r e t r a i n e d ( m o d e l _ i d , s u b f o l d e r = " s c h e d u l e r " , b e t a _ s c h e d u l e = " l i n e a r " , a l g o r i t h m _ t y p e = " d p m s o l v e r + + " , u s e _ k a r r a s _ s i g m a s = T r u e , ) p i p e = A n i m a t e D i f f S p a r s e C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , m o t i o n _ a d a p t e r = m o t i o n _ a d a p t e r , c o n t r o l n e t = c o n t r o l n e t , v a e = v a e , s c h e d u l e r = s c h e d u l e r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , ) . t o ( d e v i c e ) p i p e . l o a d _ l o r a _ w e i g h t s ( l o r a _ a d a p t e r _ i d , a d a p t e r _ n a m e = " m o t i o n _ l o r a " ) i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - f i r e w o r k . p n g " ) v i d e o = p i p e ( p r o m p t = " c l o s e u p f a c e p h o t o o f m a n i n b l a c k c l o t h e s , n i g h t c i t y s t r e e t , b o k e h , f i r e w o r k s i n b a c k g r o u n d " , n e g a t i v e _ p r o m p t = " l o w q u a l i t y , w o r s t q u a l i t y " , n u m _ i n f e r e n c e _ s t e p s = 2 5 , c o n d i t i o n i n g _ f r a m e s = i m a g e , c o n t r o l n e t _ f r a m e _ i n d i c e s = [ 0 ] , c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e = 1 . 0 , g e n e r a t o r = t o r c h . G e n e r a t o r ( ) . m a n u a l _ s e e d ( 4 2 ) , ) . f r a m e s [ 0 ] e x p o r t _ t o _ g i f ( v i d e o , " o u t p u t . g i f " ) ` ` ` H e r e a r e s o m e s a m p l e o u t p u t s : < t a b l e a l i g n = " c e n t e r " > < t r > < c e n t e r > < b > c l o s e u p f a c e p h o t o o f m a n i n b l a c k c l o t h e s , n i g h t c i t y s t r e e t , b o k e h , f i r e w o r k s i n b a c k g r o u n d < / b > < / c e n t e r > < / t r > < t r > < t d > < c e n t e r > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - f i r e w o r k . p n g " a l t = " c l o s e u p f a c e p h o t o o f m a n i n b l a c k c l o t h e s , n i g h t c i t y s t r e e t , b o k e h , f i r e w o r k s i n b a c k g r o u n d " / > < / c e n t e r > < / t d > < t d > < c e n t e r > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - s p a r s e c t r l - r g b - r e s u l t . g i f " a l t = " c l o s e u p f a c e p h o t o o f m a n i n b l a c k c l o t h e s , n i g h t c i t y s t r e e t , b o k e h , f i r e w o r k s i n b a c k g r o u n d " / > < / c e n t e r > < / t d > < / t r > < / t a b l e > # # # A n i m a t e D i f f S D X L P i p e l i n e A n i m a t e D i f f c a n a l s o b e u s e d w i t h S D X L m o d e l s . T h i s i s c u r r e n t l y a n e x p e r i m e n t a l f e a t u r e a s o n l y a b e t a r e l e a s e o f t h e m o t i o n a d a p t e r c h e c k p o i n t i s a v a i l a b l e . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s . m o d e l s i m p o r t M o t i o n A d a p t e r f r o m d i f f u s e r s i m p o r t A n i m a t e D i f f S D X L P i p e l i n e , D D I M S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f a d a p t e r = M o t i o n A d a p t e r . f r o m _ p r e t r a i n e d ( " g u o y w w / a n i m a t e d i f f - m o t i o n - a d a p t e r - s d x l - b e t a " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) m o d e l _ i d = " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ p r e t r a i n e d ( m o d e l _ i d , s u b f o l d e r = " s c h e d u l e r " , c l i p _ s a m p l e = F a l s e , t i m e s t e p _ s p a c i n g = " l i n s p a c e " , b e t a _ s c h e d u l e = " l i n e a r " , s t e p s _ o f f s e t = 1 , ) p i p e = A n i m a t e D i f f S D X L P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , m o t i o n _ a d a p t e r = a d a p t e r , s c h e d u l e r = s c h e d u l e r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) . t o ( " c u d a " ) # e n a b l e m e m o r y s a v i n g s p i p e . e n a b l e _ v a e _ s l i c i n g ( ) p i p e . e n a b l e _ v a e _ t i l i n g ( ) o u t p u t = p i p e ( p r o m p t = " a p a n d a s u r f i n g i n t h e o c e a n , r e a l i s t i c , h i g h q u a l i t y " , n e g a t i v e _ p r o m p t = " l o w q u a l i t y , w o r s t q u a l i t y " , n u m _ i n f e r e n c e _ s t e p s = 2 0 , g u i d a n c e _ s c a l e = 8 , w i d t h = 1 0 2 4 , h e i g h t = 1 0 2 4 , n u m _ f r a m e s = 1 6 , ) f r a m e s = o u t p u t . f r a m e s [ 0 ] e x p o r t _ t o _ g i f ( f r a m e s , " a n i m a t i o n . g i f " ) ` ` ` # # # A n i m a t e D i f f V i d e o T o V i d e o P i p e l i n e A n i m a t e D i f f c a n a l s o b e u s e d t o g e n e r a t e v i s u a l l y s i m i l a r v i d e o s o r e n a b l e s t y l e / c h a r a c t e r / b a c k g r o u n d o r o t h e r e d i t s s t a r t i n g f r o m a n i n i t i a l v i d e o , a l l o w i n g y o u t o s e a m l e s s l y e x p l o r e c r e a t i v e p o s s i b i l i t i e s . ` ` ` p y t h o n i m p o r t i m a g e i o i m p o r t r e q u e s t s i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A n i m a t e D i f f V i d e o T o V i d e o P i p e l i n e , D D I M S c h e d u l e r , M o t i o n A d a p t e r f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f f r o m i o i m p o r t B y t e s I O f r o m P I L i m p o r t I m a g e # L o a d t h e m o t i o n a d a p t e r a d a p t e r = M o t i o n A d a p t e r . f r o m _ p r e t r a i n e d ( " g u o y w w / a n i m a t e d i f f - m o t i o n - a d a p t e r - v 1 - 5 - 2 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) # l o a d S D 1 . 5 b a s e d f i n e t u n e d m o d e l m o d e l _ i d = " S G 1 6 1 2 2 2 / R e a l i s t i c _ V i s i o n _ V 5 . 1 _ n o V A E " p i p e = A n i m a t e D i f f V i d e o T o V i d e o P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , m o t i o n _ a d a p t e r = a d a p t e r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ p r e t r a i n e d ( m o d e l _ i d , s u b f o l d e r = " s c h e d u l e r " , c l i p _ s a m p l e = F a l s e , t i m e s t e p _ s p a c i n g = " l i n s p a c e " , b e t a _ s c h e d u l e = " l i n e a r " , s t e p s _ o f f s e t = 1 , ) p i p e . s c h e d u l e r = s c h e d u l e r # e n a b l e m e m o r y s a v i n g s p i p e . e n a b l e _ v a e _ s l i c i n g ( ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # h e l p e r f u n c t i o n t o l o a d v i d e o s d e f l o a d _ v i d e o ( f i l e _ p a t h : s t r ) : i m a g e s = [ ] i f f i l e _ p a t h . s t a r t s w i t h ( ( ' h t t p : / / ' , ' h t t p s : / / ' ) ) : # I f t h e f i l e _ p a t h i s a U R L r e s p o n s e = r e q u e s t s . g e t ( f i l e _ p a t h ) r e s p o n s e . r a i s e _ f o r _ s t a t u s ( ) c o n t e n t = B y t e s I O ( r e s p o n s e . c o n t e n t ) v i d = i m a g e i o . g e t _ r e a d e r ( c o n t e n t ) e l s e : # A s s u m i n g i t ' s a l o c a l f i l e p a t h v i d = i m a g e i o . g e t _ r e a d e r ( f i l e _ p a t h ) f o r f r a m e i n v i d : p i l _ i m a g e = I m a g e . f r o m a r r a y ( f r a m e ) i m a g e s . a p p e n d ( p i l _ i m a g e ) r e t u r n i m a g e s v i d e o = l o a d _ v i d e o ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - v i d 2 v i d - i n p u t - 1 . g i f " ) o u t p u t = p i p e ( v i d e o = v i d e o , p r o m p t = " p a n d a p l a y i n g a g u i t a r , o n a b o a t , i n t h e o c e a n , h i g h q u a l i t y " , n e g a t i v e _ p r o m p t = " b a d q u a l i t y , w o r s e q u a l i t y " , g u i d a n c e _ s c a l e = 7 . 5 , n u m _ i n f e r e n c e _ s t e p s = 2 5 , s t r e n g t h = 0 . 5 , g e n e r a t o r = t o r c h . G e n e r a t o r ( " c p u " ) . m a n u a l _ s e e d ( 4 2 ) , ) f r a m e s = o u t p u t . f r a m e s [ 0 ] e x p o r t _ t o _ g i f ( f r a m e s , " a n i m a t i o n . g i f " ) ` ` ` H e r e a r e s o m e s a m p l e o u t p u t s : < t a b l e > < t r > < t h a l i g n = c e n t e r > S o u r c e V i d e o < / t h > < t h a l i g n = c e n t e r > O u t p u t V i d e o < / t h > < / t r > < t r > < t d a l i g n = c e n t e r > r a c c o o n p l a y i n g a g u i t a r < b r / > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - v i d 2 v i d - i n p u t - 1 . g i f " a l t = " r a c o o n p l a y i n g a g u i t a r " s t y l e = " w i d t h : 3 0 0 p x ; " / > < / t d > < t d a l i g n = c e n t e r > p a n d a p l a y i n g a g u i t a r < b r / > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - v i d 2 v i d - o u t p u t - 1 . g i f " a l t = " p a n d a p l a y i n g a g u i t a r " s t y l e = " w i d t h : 3 0 0 p x ; " / > < / t d > < / t r > < t r > < t d a l i g n = c e n t e r > c l o s e u p o f m a r g o t r o b b i e , f i r e w o r k s i n t h e b a c k g r o u n d , h i g h q u a l i t y < b r / > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - v i d 2 v i d - i n p u t - 2 . g i f " a l t = " c l o s e u p o f m a r g o t r o b b i e , f i r e w o r k s i n t h e b a c k g r o u n d , h i g h q u a l i t y " s t y l e = " w i d t h : 3 0 0 p x ; " / > < / t d > < t d a l i g n = c e n t e r > c l o s e u p o f t o n y s t a r k , r o b e r t d o w n e y j r , f i r e w o r k s < b r / > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - v i d 2 v i d - o u t p u t - 2 . g i f " a l t = " c l o s e u p o f t o n y s t a r k , r o b e r t d o w n e y j r , f i r e w o r k s " s t y l e = " w i d t h : 3 0 0 p x ; " / > < / t d > < / t r > < / t a b l e > # # # A n i m a t e D i f f V i d e o T o V i d e o C o n t r o l N e t P i p e l i n e A n i m a t e D i f f c a n b e u s e d t o g e t h e r w i t h C o n t r o l N e t s t o e n h a n c e v i d e o - t o - v i d e o g e n e r a t i o n b y a l l o w i n g f o r p r e c i s e c o n t r o l o v e r t h e o u t p u t . C o n t r o l N e t w a s i n t r o d u c e d i n [ A d d i n g C o n d i t i o n a l C o n t r o l t o T e x t - t o - I m a g e D i f f u s i o n M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 2 . 0 5 5 4 3 ) b y L v m i n Z h a n g , A n y i R a o , a n d M a n e e s h A g r a w a l a , a n d a l l o w s y o u t o c o n d i t i o n S t a b l e D i f f u s i o n w i t h a n a d d i t i o n a l c o n t r o l i m a g e t o e n s u r e t h a t t h e s p a t i a l i n f o r m a t i o n i s p r e s e r v e d t h r o u g h o u t t h e v i d e o . T h i s p i p e l i n e a l l o w s y o u t o c o n d i t i o n y o u r g e n e r a t i o n b o t h o n t h e o r i g i n a l v i d e o a n d o n a s e q u e n c e o f c o n t r o l i m a g e s . ` ` ` p y t h o n i m p o r t t o r c h f r o m P I L i m p o r t I m a g e f r o m t q d m . a u t o i m p o r t t q d m f r o m c o n t r o l n e t _ a u x . p r o c e s s o r i m p o r t O p e n p o s e D e t e c t o r f r o m d i f f u s e r s i m p o r t A n i m a t e D i f f V i d e o T o V i d e o C o n t r o l N e t P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f , l o a d _ v i d e o f r o m d i f f u s e r s i m p o r t A u t o e n c o d e r K L , C o n t r o l N e t M o d e l , M o t i o n A d a p t e r , L C M S c h e d u l e r # L o a d t h e C o n t r o l N e t c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " l l l y a s v i e l / s d - c o n t r o l n e t - o p e n p o s e " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) # L o a d t h e m o t i o n a d a p t e r m o t i o n _ a d a p t e r = M o t i o n A d a p t e r . f r o m _ p r e t r a i n e d ( " w a n g f u y u n / A n i m a t e L C M " ) # L o a d S D 1 . 5 b a s e d f i n e t u n e d m o d e l v a e = A u t o e n c o d e r K L . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s d - v a e - f t - m s e " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e = A n i m a t e D i f f V i d e o T o V i d e o C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( " S G 1 6 1 2 2 2 / R e a l i s t i c _ V i s i o n _ V 5 . 1 _ n o V A E " , m o t i o n _ a d a p t e r = m o t i o n _ a d a p t e r , c o n t r o l n e t = c o n t r o l n e t , v a e = v a e , ) . t o ( d e v i c e = " c u d a " , d t y p e = t o r c h . f l o a t 1 6 ) # E n a b l e L C M t o s p e e d u p i n f e r e n c e p i p e . s c h e d u l e r = L C M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g , b e t a _ s c h e d u l e = " l i n e a r " ) p i p e . l o a d _ l o r a _ w e i g h t s ( " w a n g f u y u n / A n i m a t e L C M " , w e i g h t _ n a m e = " A n i m a t e L C M _ s d 1 5 _ t 2 v _ l o r a . s a f e t e n s o r s " , a d a p t e r _ n a m e = " l c m - l o r a " ) p i p e . s e t _ a d a p t e r s ( [ " l c m - l o r a " ] , [ 0 . 8 ] ) v i d e o = l o a d _ v i d e o ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / d a n c e . g i f " ) v i d e o = [ f r a m e . c o n v e r t ( " R G B " ) f o r f r a m e i n v i d e o ] p r o m p t = " a s t r o n a u t i n s p a c e , d a n c i n g " n e g a t i v e _ p r o m p t = " b a d q u a l i t y , w o r s t q u a l i t y , j p e g a r t i f a c t s , u g l y " # C r e a t e c o n t r o l n e t p r e p r o c e s s o r o p e n _ p o s e = O p e n p o s e D e t e c t o r . f r o m _ p r e t r a i n e d ( " l l l y a s v i e l / A n n o t a t o r s " ) . t o ( " c u d a " ) # P r e p r o c e s s c o n t r o l n e t i m a g e s c o n d i t i o n i n g _ f r a m e s = [ ] f o r f r a m e i n t q d m ( v i d e o ) : c o n d i t i o n i n g _ f r a m e s . a p p e n d ( o p e n _ p o s e ( f r a m e ) ) s t r e n g t h = 0 . 8 w i t h t o r c h . i n f e r e n c e _ m o d e ( ) : v i d e o = p i p e ( v i d e o = v i d e o , p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 1 0 , g u i d a n c e _ s c a l e = 2 . 0 , c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e = 0 . 7 5 , c o n d i t i o n i n g _ f r a m e s = c o n d i t i o n i n g _ f r a m e s , s t r e n g t h = s t r e n g t h , g e n e r a t o r = t o r c h . G e n e r a t o r ( ) . m a n u a l _ s e e d ( 4 2 ) , ) . f r a m e s [ 0 ] v i d e o = [ f r a m e . r e s i z e ( c o n d i t i o n i n g _ f r a m e s [ 0 ] . s i z e ) f o r f r a m e i n v i d e o ] e x p o r t _ t o _ g i f ( v i d e o , f " a n i m a t e d i f f _ v i d 2 v i d _ c o n t r o l n e t . g i f " , f p s = 8 ) ` ` ` H e r e a r e s o m e s a m p l e o u t p u t s : < t a b l e a l i g n = " c e n t e r " > < t r > < t h a l i g n = " c e n t e r " > S o u r c e V i d e o < / t h > < t h a l i g n = " c e n t e r " > O u t p u t V i d e o < / t h > < / t r > < t r > < t d a l i g n = " c e n t e r " > a n i m e g i r l , d a n c i n g < b r / > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / d a n c e . g i f " a l t = " a n i m e g i r l , d a n c i n g " / > < / t d > < t d a l i g n = " c e n t e r " > a s t r o n a u t i n s p a c e , d a n c i n g < b r / > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f _ v i d 2 v i d _ c o n t r o l n e t . g i f " a l t = " a s t r o n a u t i n s p a c e , d a n c i n g " / > < / t d > < / t r > < / t a b l e > * * T h e l i g h t s a n d c o m p o s i t i o n w e r e t r a n s f e r r e d f r o m t h e S o u r c e V i d e o . * * # # U s i n g M o t i o n L o R A s M o t i o n L o R A s a r e a c o l l e c t i o n o f L o R A s t h a t w o r k w i t h t h e ` g u o y w w / a n i m a t e d i f f - m o t i o n - a d a p t e r - v 1 - 5 - 2 ` c h e c k p o i n t . T h e s e L o R A s a r e r e s p o n s i b l e f o r a d d i n g s p e c i f i c t y p e s o f m o t i o n t o t h e a n i m a t i o n s . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A n i m a t e D i f f P i p e l i n e , D D I M S c h e d u l e r , M o t i o n A d a p t e r f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f # L o a d t h e m o t i o n a d a p t e r a d a p t e r = M o t i o n A d a p t e r . f r o m _ p r e t r a i n e d ( " g u o y w w / a n i m a t e d i f f - m o t i o n - a d a p t e r - v 1 - 5 - 2 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) # l o a d S D 1 . 5 b a s e d f i n e t u n e d m o d e l m o d e l _ i d = " S G 1 6 1 2 2 2 / R e a l i s t i c _ V i s i o n _ V 5 . 1 _ n o V A E " p i p e = A n i m a t e D i f f P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , m o t i o n _ a d a p t e r = a d a p t e r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . l o a d _ l o r a _ w e i g h t s ( " g u o y w w / a n i m a t e d i f f - m o t i o n - l o r a - z o o m - o u t " , a d a p t e r _ n a m e = " z o o m - o u t " ) s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ p r e t r a i n e d ( m o d e l _ i d , s u b f o l d e r = " s c h e d u l e r " , c l i p _ s a m p l e = F a l s e , b e t a _ s c h e d u l e = " l i n e a r " , t i m e s t e p _ s p a c i n g = " l i n s p a c e " , s t e p s _ o f f s e t = 1 , ) p i p e . s c h e d u l e r = s c h e d u l e r # e n a b l e m e m o r y s a v i n g s p i p e . e n a b l e _ v a e _ s l i c i n g ( ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) o u t p u t = p i p e ( p r o m p t = ( " m a s t e r p i e c e , b e s t q u a l i t y , h i g h l y d e t a i l e d , u l t r a d e t a i l e d , s u n s e t , " " o r a n g e s k y , w a r m l i g h t i n g , f i s h i n g b o a t s , o c e a n w a v e s s e a g u l l s , " " r i p p l i n g w a t e r , w h a r f , s i l h o u e t t e , s e r e n e a t m o s p h e r e , d u s k , e v e n i n g g l o w , " " g o l d e n h o u r , c o a s t a l l a n d s c a p e , s e a s i d e s c e n e r y " ) , n e g a t i v e _ p r o m p t = " b a d q u a l i t y , w o r s e q u a l i t y " , n u m _ f r a m e s = 1 6 , g u i d a n c e _ s c a l e = 7 . 5 , n u m _ i n f e r e n c e _ s t e p s = 2 5 , g e n e r a t o r = t o r c h . G e n e r a t o r ( " c p u " ) . m a n u a l _ s e e d ( 4 2 ) , ) f r a m e s = o u t p u t . f r a m e s [ 0 ] e x p o r t _ t o _ g i f ( f r a m e s , " a n i m a t i o n . g i f " ) ` ` ` < t a b l e > < t r > < t d > < c e n t e r > m a s t e r p i e c e , b e s t q u a l i t y , s u n s e t . < b r > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - z o o m - o u t - l o r a . g i f " a l t = " m a s t e r p i e c e , b e s t q u a l i t y , s u n s e t " s t y l e = " w i d t h : 3 0 0 p x ; " / > < / c e n t e r > < / t d > < / t r > < / t a b l e > # # U s i n g M o t i o n L o R A s w i t h P E F T Y o u c a n a l s o l e v e r a g e t h e [ P E F T ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / p e f t ) b a c k e n d t o c o m b i n e M o t i o n L o R A ' s a n d c r e a t e m o r e c o m p l e x a n i m a t i o n s . F i r s t i n s t a l l P E F T w i t h ` ` ` s h e l l p i p i n s t a l l p e f t ` ` ` T h e n y o u c a n u s e t h e f o l l o w i n g c o d e t o c o m b i n e M o t i o n L o R A s . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A n i m a t e D i f f P i p e l i n e , D D I M S c h e d u l e r , M o t i o n A d a p t e r f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f # L o a d t h e m o t i o n a d a p t e r a d a p t e r = M o t i o n A d a p t e r . f r o m _ p r e t r a i n e d ( " g u o y w w / a n i m a t e d i f f - m o t i o n - a d a p t e r - v 1 - 5 - 2 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) # l o a d S D 1 . 5 b a s e d f i n e t u n e d m o d e l m o d e l _ i d = " S G 1 6 1 2 2 2 / R e a l i s t i c _ V i s i o n _ V 5 . 1 _ n o V A E " p i p e = A n i m a t e D i f f P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , m o t i o n _ a d a p t e r = a d a p t e r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . l o a d _ l o r a _ w e i g h t s ( " d i f f u s e r s / a n i m a t e d i f f - m o t i o n - l o r a - z o o m - o u t " , a d a p t e r _ n a m e = " z o o m - o u t " , ) p i p e . l o a d _ l o r a _ w e i g h t s ( " d i f f u s e r s / a n i m a t e d i f f - m o t i o n - l o r a - p a n - l e f t " , a d a p t e r _ n a m e = " p a n - l e f t " , ) p i p e . s e t _ a d a p t e r s ( [ " z o o m - o u t " , " p a n - l e f t " ] , a d a p t e r _ w e i g h t s = [ 1 . 0 , 1 . 0 ] ) s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ p r e t r a i n e d ( m o d e l _ i d , s u b f o l d e r = " s c h e d u l e r " , c l i p _ s a m p l e = F a l s e , t i m e s t e p _ s p a c i n g = " l i n s p a c e " , b e t a _ s c h e d u l e = " l i n e a r " , s t e p s _ o f f s e t = 1 , ) p i p e . s c h e d u l e r = s c h e d u l e r # e n a b l e m e m o r y s a v i n g s p i p e . e n a b l e _ v a e _ s l i c i n g ( ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) o u t p u t = p i p e ( p r o m p t = ( " m a s t e r p i e c e , b e s t q u a l i t y , h i g h l y d e t a i l e d , u l t r a d e t a i l e d , s u n s e t , " " o r a n g e s k y , w a r m l i g h t i n g , f i s h i n g b o a t s , o c e a n w a v e s s e a g u l l s , " " r i p p l i n g w a t e r , w h a r f , s i l h o u e t t e , s e r e n e a t m o s p h e r e , d u s k , e v e n i n g g l o w , " " g o l d e n h o u r , c o a s t a l l a n d s c a p e , s e a s i d e s c e n e r y " ) , n e g a t i v e _ p r o m p t = " b a d q u a l i t y , w o r s e q u a l i t y " , n u m _ f r a m e s = 1 6 , g u i d a n c e _ s c a l e = 7 . 5 , n u m _ i n f e r e n c e _ s t e p s = 2 5 , g e n e r a t o r = t o r c h . G e n e r a t o r ( " c p u " ) . m a n u a l _ s e e d ( 4 2 ) , ) f r a m e s = o u t p u t . f r a m e s [ 0 ] e x p o r t _ t o _ g i f ( f r a m e s , " a n i m a t i o n . g i f " ) ` ` ` < t a b l e > < t r > < t d > < c e n t e r > m a s t e r p i e c e , b e s t q u a l i t y , s u n s e t . < b r > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - z o o m - o u t - p a n - l e f t - l o r a . g i f " a l t = " m a s t e r p i e c e , b e s t q u a l i t y , s u n s e t " s t y l e = " w i d t h : 3 0 0 p x ; " / > < / c e n t e r > < / t d > < / t r > < / t a b l e > # # U s i n g F r e e I n i t [ F r e e I n i t : B r i d g i n g I n i t i a l i z a t i o n G a p i n V i d e o D i f f u s i o n M o d e l s ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 1 2 . 0 7 5 3 7 ) b y T i a n x i n g W u , C h e n y a n g S i , Y u m i n g J i a n g , Z i q i H u a n g , Z i w e i L i u . F r e e I n i t i s a n e f f e c t i v e m e t h o d t h a t i m p r o v e s t e m p o r a l c o n s i s t e n c y a n d o v e r a l l q u a l i t y o f v i d e o s g e n e r a t e d u s i n g v i d e o - d i f f u s i o n - m o d e l s w i t h o u t a n y a d d i t i o n t r a i n i n g . I t c a n b e a p p l i e d t o A n i m a t e D i f f , M o d e l S c o p e , V i d e o C r a f t e r a n d v a r i o u s o t h e r v i d e o g e n e r a t i o n m o d e l s s e a m l e s s l y a t i n f e r e n c e t i m e , a n d w o r k s b y i t e r a t i v e l y r e f i n i n g t h e l a t e n t - i n i t i a l i z a t i o n n o i s e . M o r e d e t a i l s c a n b e f o u n d i t t h e p a p e r . T h e f o l l o w i n g e x a m p l e d e m o n s t r a t e s t h e u s a g e o f F r e e I n i t . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t M o t i o n A d a p t e r , A n i m a t e D i f f P i p e l i n e , D D I M S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f a d a p t e r = M o t i o n A d a p t e r . f r o m _ p r e t r a i n e d ( " g u o y w w / a n i m a t e d i f f - m o t i o n - a d a p t e r - v 1 - 5 - 2 " ) m o d e l _ i d = " S G 1 6 1 2 2 2 / R e a l i s t i c _ V i s i o n _ V 5 . 1 _ n o V A E " p i p e = A n i m a t e D i f f P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , m o t i o n _ a d a p t e r = a d a p t e r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e . s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ p r e t r a i n e d ( m o d e l _ i d , s u b f o l d e r = " s c h e d u l e r " , b e t a _ s c h e d u l e = " l i n e a r " , c l i p _ s a m p l e = F a l s e , t i m e s t e p _ s p a c i n g = " l i n s p a c e " , s t e p s _ o f f s e t = 1 ) # e n a b l e m e m o r y s a v i n g s p i p e . e n a b l e _ v a e _ s l i c i n g ( ) p i p e . e n a b l e _ v a e _ t i l i n g ( ) # e n a b l e F r e e I n i t # R e f e r t o t h e e n a b l e _ f r e e _ i n i t d o c u m e n t a t i o n f o r a f u l l l i s t o f c o n f i g u r a b l e p a r a m e t e r s p i p e . e n a b l e _ f r e e _ i n i t ( m e t h o d = " b u t t e r w o r t h " , u s e _ f a s t _ s a m p l i n g = T r u e ) # r u n i n f e r e n c e o u t p u t = p i p e ( p r o m p t = " a p a n d a p l a y i n g a g u i t a r , o n a b o a t , i n t h e o c e a n , h i g h q u a l i t y " , n e g a t i v e _ p r o m p t = " b a d q u a l i t y , w o r s e q u a l i t y " , n u m _ f r a m e s = 1 6 , g u i d a n c e _ s c a l e = 7 . 5 , n u m _ i n f e r e n c e _ s t e p s = 2 0 , g e n e r a t o r = t o r c h . G e n e r a t o r ( " c p u " ) . m a n u a l _ s e e d ( 6 6 6 ) , ) # d i s a b l e F r e e I n i t p i p e . d i s a b l e _ f r e e _ i n i t ( ) f r a m e s = o u t p u t . f r a m e s [ 0 ] e x p o r t _ t o _ g i f ( f r a m e s , " a n i m a t i o n . g i f " ) ` ` ` < T i p w a r n i n g = { t r u e } > F r e e I n i t i s n o t r e a l l y f r e e - t h e i m p r o v e d q u a l i t y c o m e s a t t h e c o s t o f e x t r a c o m p u t a t i o n . I t r e q u i r e s s a m p l i n g a f e w e x t r a t i m e s d e p e n d i n g o n t h e ` n u m _ i t e r s ` p a r a m e t e r t h a t i s s e t w h e n e n a b l i n g i t . S e t t i n g t h e ` u s e _ f a s t _ s a m p l i n g ` p a r a m e t e r t o ` T r u e ` c a n i m p r o v e t h e o v e r a l l p e r f o r m a n c e ( a t t h e c o s t o f l o w e r q u a l i t y c o m p a r e d t o w h e n ` u s e _ f a s t _ s a m p l i n g = F a l s e ` b u t s t i l l b e t t e r r e s u l t s t h a n v a n i l l a v i d e o g e n e r a t i o n m o d e l s ) . < / T i p > < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > < t a b l e > < t r > < t h a l i g n = c e n t e r > W i t h o u t F r e e I n i t e n a b l e d < / t h > < t h a l i g n = c e n t e r > W i t h F r e e I n i t e n a b l e d < / t h > < / t r > < t r > < t d a l i g n = c e n t e r > p a n d a p l a y i n g a g u i t a r < b r / > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - n o - f r e e i n i t . g i f " a l t = " p a n d a p l a y i n g a g u i t a r " s t y l e = " w i d t h : 3 0 0 p x ; " / > < / t d > < t d a l i g n = c e n t e r > p a n d a p l a y i n g a g u i t a r < b r / > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f - f r e e i n i t . g i f " a l t = " p a n d a p l a y i n g a g u i t a r " s t y l e = " w i d t h : 3 0 0 p x ; " / > < / t d > < / t r > < / t a b l e > # # U s i n g A n i m a t e L C M [ A n i m a t e L C M ] ( h t t p s : / / a n i m a t e l c m . g i t h u b . i o / ) i s a m o t i o n m o d u l e c h e c k p o i n t a n d a n [ L C M L o R A ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / u s i n g - d i f f u s e r s / i n f e r e n c e _ w i t h _ l c m _ l o r a ) t h a t h a v e b e e n c r e a t e d u s i n g a c o n s i s t e n c y l e a r n i n g s t r a t e g y t h a t d e c o u p l e s t h e d i s t i l l a t i o n o f t h e i m a g e g e n e r a t i o n p r i o r s a n d t h e m o t i o n g e n e r a t i o n p r i o r s . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A n i m a t e D i f f P i p e l i n e , L C M S c h e d u l e r , M o t i o n A d a p t e r f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f a d a p t e r = M o t i o n A d a p t e r . f r o m _ p r e t r a i n e d ( " w a n g f u y u n / A n i m a t e L C M " ) p i p e = A n i m a t e D i f f P i p e l i n e . f r o m _ p r e t r a i n e d ( " e m i l i a n J R / e p i C R e a l i s m " , m o t i o n _ a d a p t e r = a d a p t e r ) p i p e . s c h e d u l e r = L C M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g , b e t a _ s c h e d u l e = " l i n e a r " ) p i p e . l o a d _ l o r a _ w e i g h t s ( " w a n g f u y u n / A n i m a t e L C M " , w e i g h t _ n a m e = " s d 1 5 _ l o r a _ b e t a . s a f e t e n s o r s " , a d a p t e r _ n a m e = " l c m - l o r a " ) p i p e . e n a b l e _ v a e _ s l i c i n g ( ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) o u t p u t = p i p e ( p r o m p t = " A s p a c e r o c k e t w i t h t r a i l s o f s m o k e b e h i n d i t l a u n c h i n g i n t o s p a c e f r o m t h e d e s e r t , 4 k , h i g h r e s o l u t i o n " , n e g a t i v e _ p r o m p t = " b a d q u a l i t y , w o r s e q u a l i t y , l o w r e s o l u t i o n " , n u m _ f r a m e s = 1 6 , g u i d a n c e _ s c a l e = 1 . 5 , n u m _ i n f e r e n c e _ s t e p s = 6 , g e n e r a t o r = t o r c h . G e n e r a t o r ( " c p u " ) . m a n u a l _ s e e d ( 0 ) , ) f r a m e s = o u t p u t . f r a m e s [ 0 ] e x p o r t _ t o _ g i f ( f r a m e s , " a n i m a t e l c m . g i f " ) ` ` ` < t a b l e > < t r > < t d > < c e n t e r > A s p a c e r o c k e t , 4 K . < b r > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e l c m - o u t p u t . g i f " a l t = " A s p a c e r o c k e t , 4 K " s t y l e = " w i d t h : 3 0 0 p x ; " / > < / c e n t e r > < / t d > < / t r > < / t a b l e > A n i m a t e L C M i s a l s o c o m p a t i b l e w i t h e x i s t i n g [ M o t i o n L o R A s ] ( h t t p s : / / h u g g i n g f a c e . c o / c o l l e c t i o n s / d n 6 / a n i m a t e d i f f - m o t i o n - l o r a s - 6 5 4 c b 8 a d 7 3 2 b 9 e 3 c f 4 d 3 c 1 7 e ) . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A n i m a t e D i f f P i p e l i n e , L C M S c h e d u l e r , M o t i o n A d a p t e r f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f a d a p t e r = M o t i o n A d a p t e r . f r o m _ p r e t r a i n e d ( " w a n g f u y u n / A n i m a t e L C M " ) p i p e = A n i m a t e D i f f P i p e l i n e . f r o m _ p r e t r a i n e d ( " e m i l i a n J R / e p i C R e a l i s m " , m o t i o n _ a d a p t e r = a d a p t e r ) p i p e . s c h e d u l e r = L C M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g , b e t a _ s c h e d u l e = " l i n e a r " ) p i p e . l o a d _ l o r a _ w e i g h t s ( " w a n g f u y u n / A n i m a t e L C M " , w e i g h t _ n a m e = " s d 1 5 _ l o r a _ b e t a . s a f e t e n s o r s " , a d a p t e r _ n a m e = " l c m - l o r a " ) p i p e . l o a d _ l o r a _ w e i g h t s ( " g u o y w w / a n i m a t e d i f f - m o t i o n - l o r a - t i l t - u p " , a d a p t e r _ n a m e = " t i l t - u p " ) p i p e . s e t _ a d a p t e r s ( [ " l c m - l o r a " , " t i l t - u p " ] , [ 1 . 0 , 0 . 8 ] ) p i p e . e n a b l e _ v a e _ s l i c i n g ( ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) o u t p u t = p i p e ( p r o m p t = " A s p a c e r o c k e t w i t h t r a i l s o f s m o k e b e h i n d i t l a u n c h i n g i n t o s p a c e f r o m t h e d e s e r t , 4 k , h i g h r e s o l u t i o n " , n e g a t i v e _ p r o m p t = " b a d q u a l i t y , w o r s e q u a l i t y , l o w r e s o l u t i o n " , n u m _ f r a m e s = 1 6 , g u i d a n c e _ s c a l e = 1 . 5 , n u m _ i n f e r e n c e _ s t e p s = 6 , g e n e r a t o r = t o r c h . G e n e r a t o r ( " c p u " ) . m a n u a l _ s e e d ( 0 ) , ) f r a m e s = o u t p u t . f r a m e s [ 0 ] e x p o r t _ t o _ g i f ( f r a m e s , " a n i m a t e l c m - m o t i o n - l o r a . g i f " ) ` ` ` < t a b l e > < t r > < t d > < c e n t e r > A s p a c e r o c k e t , 4 K . < b r > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e l c m - m o t i o n - l o r a . g i f " a l t = " A s p a c e r o c k e t , 4 K " s t y l e = " w i d t h : 3 0 0 p x ; " / > < / c e n t e r > < / t d > < / t r > < / t a b l e > # # U s i n g F r e e N o i s e [ F r e e N o i s e : T u n i n g - F r e e L o n g e r V i d e o D i f f u s i o n v i a N o i s e R e s c h e d u l i n g ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 1 0 . 1 5 1 6 9 ) b y H a o n a n Q i u , M e n g h a n X i a , Y o n g Z h a n g , Y i n g q i n g H e , X i n t a o W a n g , Y i n g S h a n , Z i w e i L i u . F r e e N o i s e i s a s a m p l i n g m e c h a n i s m t h a t c a n g e n e r a t e l o n g e r v i d e o s w i t h s h o r t - v i d e o g e n e r a t i o n m o d e l s b y e m p l o y i n g n o i s e - r e s c h e d u l i n g , t e m p o r a l a t t e n t i o n o v e r s l i d i n g w i n d o w s , a n d w e i g h t e d a v e r a g i n g o f l a t e n t f r a m e s . I t a l s o c a n b e u s e d w i t h m u l t i p l e p r o m p t s t o a l l o w f o r i n t e r p o l a t e d v i d e o g e n e r a t i o n s . M o r e d e t a i l s a r e a v a i l a b l e i n t h e p a p e r . T h e c u r r e n t l y s u p p o r t e d A n i m a t e D i f f p i p e l i n e s t h a t c a n b e u s e d w i t h F r e e N o i s e a r e : - ` A n i m a t e D i f f P i p e l i n e ` - ` A n i m a t e D i f f C o n t r o l N e t P i p e l i n e ` - ` A n i m a t e D i f f V i d e o T o V i d e o P i p e l i n e ` - ` A n i m a t e D i f f V i d e o T o V i d e o C o n t r o l N e t P i p e l i n e ` I n o r d e r t o u s e F r e e N o i s e , a s i n g l e l i n e n e e d s t o b e a d d e d t o t h e i n f e r e n c e c o d e a f t e r l o a d i n g y o u r p i p e l i n e s . ` ` ` d i f f + p i p e . e n a b l e _ f r e e _ n o i s e ( ) ` ` ` A f t e r t h i s , e i t h e r a s i n g l e p r o m p t c o u l d b e u s e d , o r m u l t i p l e p r o m p t s c a n b e p a s s e d a s a d i c t i o n a r y o f i n t e g e r - s t r i n g p a i r s . T h e i n t e g e r k e y s o f t h e d i c t i o n a r y c o r r e s p o n d t o t h e f r a m e i n d e x a t w h i c h t h e i n f l u e n c e o f t h a t p r o m p t w o u l d b e m a x i m u m . E a c h f r a m e i n d e x s h o u l d m a p t o a s i n g l e s t r i n g p r o m p t . T h e p r o m p t s f o r i n t e r m e d i a t e f r a m e i n d i c e s , t h a t a r e n o t p a s s e d i n t h e d i c t i o n a r y , a r e c r e a t e d b y i n t e r p o l a t i n g b e t w e e n t h e f r a m e p r o m p t s t h a t a r e p a s s e d . B y d e f a u l t , s i m p l e l i n e a r i n t e r p o l a t i o n i s u s e d . H o w e v e r , y o u c a n c u s t o m i z e t h i s b e h a v i o u r w i t h a c a l l b a c k t o t h e ` p r o m p t _ i n t e r p o l a t i o n _ c a l l b a c k ` p a r a m e t e r w h e n e n a b l i n g F r e e N o i s e . F u l l e x a m p l e : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o e n c o d e r K L , A n i m a t e D i f f P i p e l i n e , L C M S c h e d u l e r , M o t i o n A d a p t e r f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ v i d e o , l o a d _ i m a g e # L o a d p i p e l i n e d t y p e = t o r c h . f l o a t 1 6 m o t i o n _ a d a p t e r = M o t i o n A d a p t e r . f r o m _ p r e t r a i n e d ( " w a n g f u y u n / A n i m a t e L C M " , t o r c h _ d t y p e = d t y p e ) v a e = A u t o e n c o d e r K L . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s d - v a e - f t - m s e " , t o r c h _ d t y p e = d t y p e ) p i p e = A n i m a t e D i f f P i p e l i n e . f r o m _ p r e t r a i n e d ( " e m i l i a n J R / e p i C R e a l i s m " , m o t i o n _ a d a p t e r = m o t i o n _ a d a p t e r , v a e = v a e , t o r c h _ d t y p e = d t y p e ) p i p e . s c h e d u l e r = L C M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g , b e t a _ s c h e d u l e = " l i n e a r " ) p i p e . l o a d _ l o r a _ w e i g h t s ( " w a n g f u y u n / A n i m a t e L C M " , w e i g h t _ n a m e = " A n i m a t e L C M _ s d 1 5 _ t 2 v _ l o r a . s a f e t e n s o r s " , a d a p t e r _ n a m e = " l c m _ l o r a " ) p i p e . s e t _ a d a p t e r s ( [ " l c m _ l o r a " ] , [ 0 . 8 ] ) # E n a b l e F r e e N o i s e f o r l o n g p r o m p t g e n e r a t i o n p i p e . e n a b l e _ f r e e _ n o i s e ( c o n t e x t _ l e n g t h = 1 6 , c o n t e x t _ s t r i d e = 4 ) p i p e . t o ( " c u d a " ) # C a n b e a s i n g l e p r o m p t , o r a d i c t i o n a r y w i t h f r a m e t i m e s t e p s p r o m p t = { 0 : " A c a t e r p i l l a r o n a l e a f , h i g h q u a l i t y , p h o t o r e a l i s t i c " , 4 0 : " A c a t e r p i l l a r t r a n s f o r m i n g i n t o a c o c o o n , o n a l e a f , n e a r f l o w e r s , p h o t o r e a l i s t i c " , 8 0 : " A c o c o o n o n a l e a f , f l o w e r s i n t h e b a c k g r o n d , p h o t o r e a l i s t i c " , 1 2 0 : " A c o c o o n m a t u r i n g a n d a b u t t e r f l y b e i n g b o r n , f l o w e r s a n d l e a v e s v i s i b l e i n t h e b a c k g r o u n d , p h o t o r e a l i s t i c " , 1 6 0 : " A b e a u t i f u l b u t t e r f l y , v i b r a n t c o l o r s , s i t t i n g o n a l e a f , f l o w e r s i n t h e b a c k g r o u n d , p h o t o r e a l i s t i c " , 2 0 0 : " A b e a u t i f u l b u t t e r f l y , f l y i n g a w a y i n a f o r e s t , p h o t o r e a l i s t i c " , 2 4 0 : " A c y b e r p u n k b u t t e r f l y , n e o n l i g h t s , g l o w i n g " , } n e g a t i v e _ p r o m p t = " b a d q u a l i t y , w o r s t q u a l i t y , j p e g a r t i f a c t s " # R u n i n f e r e n c e o u t p u t = p i p e ( p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , n u m _ f r a m e s = 2 5 6 , g u i d a n c e _ s c a l e = 2 . 5 , n u m _ i n f e r e n c e _ s t e p s = 1 0 , g e n e r a t o r = t o r c h . G e n e r a t o r ( " c p u " ) . m a n u a l _ s e e d ( 0 ) , ) # S a v e v i d e o f r a m e s = o u t p u t . f r a m e s [ 0 ] e x p o r t _ t o _ v i d e o ( f r a m e s , " o u t p u t . m p 4 " , f p s = 1 6 ) ` ` ` # # # F r e e N o i s e m e m o r y s a v i n g s S i n c e F r e e N o i s e p r o c e s s e s m u l t i p l e f r a m e s t o g e t h e r , t h e r e a r e p a r t s i n t h e m o d e l i n g w h e r e t h e m e m o r y r e q u i r e d e x c e e d s t h a t a v a i l a b l e o n n o r m a l c o n s u m e r G P U s . T h e m a i n m e m o r y b o t t l e n e c k s t h a t w e i d e n t i f i e d a r e s p a t i a l a n d t e m p o r a l a t t e n t i o n b l o c k s , u p s a m p l i n g a n d d o w n s a m p l i n g b l o c k s , r e s n e t b l o c k s a n d f e e d - f o r w a r d l a y e r s . S i n c e m o s t o f t h e s e b l o c k s o p e r a t e e f f e c t i v e l y o n l y o n t h e c h a n n e l / e m b e d d i n g d i m e n s i o n , o n e c a n p e r f o r m c h u n k e d i n f e r e n c e a c r o s s t h e b a t c h d i m e n s i o n s . T h e b a t c h d i m e n s i o n i n A n i m a t e D i f f a r e e i t h e r s p a t i a l ( ` [ B x F , H x W , C ] ` ) o r t e m p o r a l ( ` B x H x W , F , C ` ) i n n a t u r e ( n o t e t h a t i t m a y s e e m c o u n t e r - i n t u i t i v e , b u t t h e b a t c h d i m e n s i o n h e r e a r e c o r r e c t , b e c a u s e s p a t i a l b l o c k s p r o c e s s a c r o s s t h e ` B x F ` d i m e n s i o n w h i l e t h e t e m p o r a l b l o c k s p r o c e s s a c r o s s t h e ` B x H x W ` d i m e n s i o n ) . W e i n t r o d u c e a ` S p l i t I n f e r e n c e M o d u l e ` t h a t m a k e s i t e a s i e r t o c h u n k a c r o s s a n y d i m e n s i o n a n d p e r f o r m i n f e r e n c e . T h i s s a v e s a l o t o f m e m o r y b u t c o m e s a t t h e c o s t o f r e q u i r i n g m o r e t i m e f o r i n f e r e n c e . ` ` ` d i f f # L o a d p i p e l i n e a n d a d a p t e r s # . . . + p i p e . e n a b l e _ f r e e _ n o i s e _ s p l i t _ i n f e r e n c e ( ) + p i p e . u n e t . e n a b l e _ f o r w a r d _ c h u n k i n g ( 1 6 ) ` ` ` T h e c a l l t o ` p i p e . e n a b l e _ f r e e _ n o i s e _ s p l i t _ i n f e r e n c e ` m e t h o d a c c e p t s t w o p a r a m e t e r s : ` s p a t i a l _ s p l i t _ s i z e ` ( d e f a u l t s t o ` 2 5 6 ` ) a n d ` t e m p o r a l _ s p l i t _ s i z e ` ( d e f a u l t s t o ` 1 6 ` ) . T h e s e c a n b e c o n f i g u r e d b a s e d o n h o w m u c h V R A M y o u h a v e a v a i l a b l e . A l o w e r s p l i t s i z e r e s u l t s i n l o w e r m e m o r y u s a g e b u t s l o w e r i n f e r e n c e , w h e r e a s a l a r g e r s p l i t s i z e r e s u l t s i n f a s t e r i n f e r e n c e a t t h e c o s t o f m o r e m e m o r y . # # U s i n g ` f r o m _ s i n g l e _ f i l e ` w i t h t h e M o t i o n A d a p t e r ` d i f f u s e r s > = 0 . 3 0 . 0 ` s u p p o r t s l o a d i n g t h e A n i m a t e D i f f c h e c k p o i n t s i n t o t h e ` M o t i o n A d a p t e r ` i n t h e i r o r i g i n a l f o r m a t v i a ` f r o m _ s i n g l e _ f i l e ` ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t M o t i o n A d a p t e r c k p t _ p a t h = " h t t p s : / / h u g g i n g f a c e . c o / L i g h t r i c k s / L o n g A n i m a t e D i f f / b l o b / m a i n / l t _ l o n g _ m m _ 3 2 _ f r a m e s . c k p t " a d a p t e r = M o t i o n A d a p t e r . f r o m _ s i n g l e _ f i l e ( c k p t _ p a t h , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e = A n i m a t e D i f f P i p e l i n e . f r o m _ p r e t r a i n e d ( " e m i l i a n J R / e p i C R e a l i s m " , m o t i o n _ a d a p t e r = a d a p t e r ) ` ` ` # # A n i m a t e D i f f P i p e l i n e # # A n i m a t e D i f f C o n t r o l N e t P i p e l i n e # # A n i m a t e D i f f S p a r s e C o n t r o l N e t P i p e l i n e # # A n i m a t e D i f f S D X L P i p e l i n e # # A n i m a t e D i f f V i d e o T o V i d e o P i p e l i n e # # A n i m a t e D i f f V i d e o T o V i d e o C o n t r o l N e t P i p e l i n e # # A n i m a t e D i f f P i p e l i n e O u t p u t [ [ a u t o d o c ] ] A n i m a t e D i f f P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] A n i m a t e D i f f C o n t r o l N e t P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] A n i m a t e D i f f S p a r s e C o n t r o l N e t P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] A n i m a t e D i f f S D X L P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] A n i m a t e D i f f V i d e o T o V i d e o P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] A n i m a t e D i f f V i d e o T o V i d e o C o n t r o l N e t P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . a n i m a t e d i f f . A n i m a t e D i f f P i p e l i n e O u t p u t # M o c h i [ M o c h i 1 P r e v i e w ] ( h t t p s : / / h u g g i n g f a c e . c o / g e n m o / m o c h i - 1 - p r e v i e w ) f r o m G e n m o . * M o c h i 1 p r e v i e w i s a n o p e n s t a t e - o f - t h e - a r t v i d e o g e n e r a t i o n m o d e l w i t h h i g h - f i d e l i t y m o t i o n a n d s t r o n g p r o m p t a d h e r e n c e i n p r e l i m i n a r y e v a l u a t i o n . T h i s m o d e l d r a m a t i c a l l y c l o s e s t h e g a p b e t w e e n c l o s e d a n d o p e n v i d e o g e n e r a t i o n s y s t e m s . T h e m o d e l i s r e l e a s e d u n d e r a p e r m i s s i v e A p a c h e 2 . 0 l i c e n s e . * < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s . m d ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g . m d # r e u s e - a - p i p e l i n e ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # M o c h i P i p e l i n e # # M o c h i P i p e l i n e O u t p u t [ [ a u t o d o c ] ] M o c h i P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . m o c h i . p i p e l i n e _ o u t p u t . M o c h i P i p e l i n e O u t p u t # F l u x F l u x i s a s e r i e s o f t e x t - t o - i m a g e g e n e r a t i o n m o d e l s b a s e d o n d i f f u s i o n t r a n s f o r m e r s . T o k n o w m o r e a b o u t F l u x , c h e c k o u t t h e o r i g i n a l [ b l o g p o s t ] ( h t t p s : / / b l a c k f o r e s t l a b s . a i / a n n o u n c i n g - b l a c k - f o r e s t - l a b s / ) b y t h e c r e a t o r s o f F l u x , B l a c k F o r e s t L a b s . O r i g i n a l m o d e l c h e c k p o i n t s f o r F l u x c a n b e f o u n d [ h e r e ] ( h t t p s : / / h u g g i n g f a c e . c o / b l a c k - f o r e s t - l a b s ) . O r i g i n a l i n f e r e n c e c o d e c a n b e f o u n d [ h e r e ] ( h t t p s : / / g i t h u b . c o m / b l a c k - f o r e s t - l a b s / f l u x ) . < T i p > F l u x c a n b e q u i t e e x p e n s i v e t o r u n o n c o n s u m e r h a r d w a r e d e v i c e s . H o w e v e r , y o u c a n p e r f o r m a s u i t e o f o p t i m i z a t i o n s t o r u n i t f a s t e r a n d i n a m o r e m e m o r y - f r i e n d l y m a n n e r . C h e c k o u t [ t h i s s e c t i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / s d 3 # m e m o r y - o p t i m i z a t i o n s - f o r - s d 3 ) f o r m o r e d e t a i l s . A d d i t i o n a l l y , F l u x c a n b e n e f i t f r o m q u a n t i z a t i o n f o r m e m o r y e f f i c i e n c y w i t h a t r a d e - o f f i n i n f e r e n c e l a t e n c y . R e f e r t o [ t h i s b l o g p o s t ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / q u a n t o - d i f f u s e r s ) t o l e a r n m o r e . F o r a n e x h a u s t i v e l i s t o f r e s o u r c e s , c h e c k o u t [ t h i s g i s t ] ( h t t p s : / / g i s t . g i t h u b . c o m / s a y a k p a u l / b 6 6 4 6 0 5 c a f 0 a a 3 b f 8 5 8 5 a b 1 0 9 d d 5 a c 9 c ) . < / T i p > F l u x c o m e s i n t w o v a r i a n t s : * T i m e s t e p - d i s t i l l e d ( ` b l a c k - f o r e s t - l a b s / F L U X . 1 - s c h n e l l ` ) * G u i d a n c e - d i s t i l l e d ( ` b l a c k - f o r e s t - l a b s / F L U X . 1 - d e v ` ) B o t h c h e c k p o i n t s h a v e s l i g h t l y d i f f e r e n c e u s a g e w h i c h w e d e t a i l b e l o w . # # # T i m e s t e p - d i s t i l l e d * ` m a x _ s e q u e n c e _ l e n g t h ` c a n n o t b e m o r e t h a n 2 5 6 . * ` g u i d a n c e _ s c a l e ` n e e d s t o b e 0 . * A s t h i s i s a t i m e s t e p - d i s t i l l e d m o d e l , i t b e n e f i t s f r o m f e w e r s a m p l i n g s t e p s . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t F l u x P i p e l i n e p i p e = F l u x P i p e l i n e . f r o m _ p r e t r a i n e d ( " b l a c k - f o r e s t - l a b s / F L U X . 1 - s c h n e l l " , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p r o m p t = " A c a t h o l d i n g a s i g n t h a t s a y s h e l l o w o r l d " o u t = p i p e ( p r o m p t = p r o m p t , g u i d a n c e _ s c a l e = 0 . , h e i g h t = 7 6 8 , w i d t h = 1 3 6 0 , n u m _ i n f e r e n c e _ s t e p s = 4 , m a x _ s e q u e n c e _ l e n g t h = 2 5 6 , ) . i m a g e s [ 0 ] o u t . s a v e ( " i m a g e . p n g " ) ` ` ` # # # G u i d a n c e - d i s t i l l e d * T h e g u i d a n c e - d i s t i l l e d v a r i a n t t a k e s a b o u t 5 0 s a m p l i n g s t e p s f o r g o o d - q u a l i t y g e n e r a t i o n . * I t d o e s n ' t h a v e a n y l i m i t a t i o n s a r o u n d t h e ` m a x _ s e q u e n c e _ l e n g t h ` . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t F l u x P i p e l i n e p i p e = F l u x P i p e l i n e . f r o m _ p r e t r a i n e d ( " b l a c k - f o r e s t - l a b s / F L U X . 1 - d e v " , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p r o m p t = " a t i n y a s t r o n a u t h a t c h i n g f r o m a n e g g o n t h e m o o n " o u t = p i p e ( p r o m p t = p r o m p t , g u i d a n c e _ s c a l e = 3 . 5 , h e i g h t = 7 6 8 , w i d t h = 1 3 6 0 , n u m _ i n f e r e n c e _ s t e p s = 5 0 , ) . i m a g e s [ 0 ] o u t . s a v e ( " i m a g e . p n g " ) ` ` ` # # R u n n i n g F P 1 6 i n f e r e n c e F l u x c a n g e n e r a t e h i g h - q u a l i t y i m a g e s w i t h F P 1 6 ( i . e . t o a c c e l e r a t e i n f e r e n c e o n T u r i n g / V o l t a G P U s ) b u t p r o d u c e s d i f f e r e n t o u t p u t s c o m p a r e d t o F P 3 2 / B F 1 6 . T h e i s s u e i s t h a t s o m e a c t i v a t i o n s i n t h e t e x t e n c o d e r s h a v e t o b e c l i p p e d w h e n r u n n i n g i n F P 1 6 , w h i c h a f f e c t s t h e o v e r a l l i m a g e . F o r c i n g t e x t e n c o d e r s t o r u n w i t h F P 3 2 i n f e r e n c e t h u s r e m o v e s t h i s o u t p u t d i f f e r e n c e . S e e [ h e r e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / p u l l / 9 0 9 7 # i s s u e c o m m e n t - 2 2 7 2 2 9 2 5 1 6 ) f o r d e t a i l s . F P 1 6 i n f e r e n c e c o d e : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t F l u x P i p e l i n e p i p e = F l u x P i p e l i n e . f r o m _ p r e t r a i n e d ( " b l a c k - f o r e s t - l a b s / F L U X . 1 - s c h n e l l " , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) # c a n r e p l a c e s c h n e l l w i t h d e v # t o r u n o n l o w v r a m G P U s ( i . e . b e t w e e n 4 a n d 3 2 G B V R A M ) p i p e . e n a b l e _ s e q u e n t i a l _ c p u _ o f f l o a d ( ) p i p e . v a e . e n a b l e _ s l i c i n g ( ) p i p e . v a e . e n a b l e _ t i l i n g ( ) p i p e . t o ( t o r c h . f l o a t 1 6 ) # c a s t i n g h e r e i n s t e a d o f i n t h e p i p e l i n e c o n s t r u c t o r b e c a u s e d o i n g s o i n t h e c o n s t r u c t o r l o a d s a l l m o d e l s i n t o C P U m e m o r y a t o n c e p r o m p t = " A c a t h o l d i n g a s i g n t h a t s a y s h e l l o w o r l d " o u t = p i p e ( p r o m p t = p r o m p t , g u i d a n c e _ s c a l e = 0 . , h e i g h t = 7 6 8 , w i d t h = 1 3 6 0 , n u m _ i n f e r e n c e _ s t e p s = 4 , m a x _ s e q u e n c e _ l e n g t h = 2 5 6 , ) . i m a g e s [ 0 ] o u t . s a v e ( " i m a g e . p n g " ) ` ` ` # # S i n g l e F i l e L o a d i n g f o r t h e ` F l u x T r a n s f o r m e r 2 D M o d e l ` T h e ` F l u x T r a n s f o r m e r 2 D M o d e l ` s u p p o r t s l o a d i n g c h e c k p o i n t s i n t h e o r i g i n a l f o r m a t s h i p p e d b y B l a c k F o r e s t L a b s . T h i s i s a l s o u s e f u l w h e n t r y i n g t o l o a d f i n e t u n e s o r q u a n t i z e d v e r s i o n s o f t h e m o d e l s t h a t h a v e b e e n p u b l i s h e d b y t h e c o m m u n i t y . < T i p > ` F P 8 ` i n f e r e n c e c a n b e b r i t t l e d e p e n d i n g o n t h e G P U t y p e , C U D A v e r s i o n , a n d ` t o r c h ` v e r s i o n t h a t y o u a r e u s i n g . I t i s r e c o m m e n d e d t h a t y o u u s e t h e ` o p t i m u m - q u a n t o ` l i b r a r y i n o r d e r t o r u n F P 8 i n f e r e n c e o n y o u r m a c h i n e . < / T i p > T h e f o l l o w i n g e x a m p l e d e m o n s t r a t e s h o w t o r u n F l u x w i t h l e s s t h a n 1 6 G B o f V R A M . F i r s t i n s t a l l ` o p t i m u m - q u a n t o ` ` ` ` s h e l l p i p i n s t a l l o p t i m u m - q u a n t o ` ` ` T h e n r u n t h e f o l l o w i n g e x a m p l e ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t F l u x T r a n s f o r m e r 2 D M o d e l , F l u x P i p e l i n e f r o m t r a n s f o r m e r s i m p o r t T 5 E n c o d e r M o d e l , C L I P T e x t M o d e l f r o m o p t i m u m . q u a n t o i m p o r t f r e e z e , q f l o a t 8 , q u a n t i z e b f l _ r e p o = " b l a c k - f o r e s t - l a b s / F L U X . 1 - d e v " d t y p e = t o r c h . b f l o a t 1 6 t r a n s f o r m e r = F l u x T r a n s f o r m e r 2 D M o d e l . f r o m _ s i n g l e _ f i l e ( " h t t p s : / / h u g g i n g f a c e . c o / K i j a i / f l u x - f p 8 / b l o b / m a i n / f l u x 1 - d e v - f p 8 . s a f e t e n s o r s " , t o r c h _ d t y p e = d t y p e ) q u a n t i z e ( t r a n s f o r m e r , w e i g h t s = q f l o a t 8 ) f r e e z e ( t r a n s f o r m e r ) t e x t _ e n c o d e r _ 2 = T 5 E n c o d e r M o d e l . f r o m _ p r e t r a i n e d ( b f l _ r e p o , s u b f o l d e r = " t e x t _ e n c o d e r _ 2 " , t o r c h _ d t y p e = d t y p e ) q u a n t i z e ( t e x t _ e n c o d e r _ 2 , w e i g h t s = q f l o a t 8 ) f r e e z e ( t e x t _ e n c o d e r _ 2 ) p i p e = F l u x P i p e l i n e . f r o m _ p r e t r a i n e d ( b f l _ r e p o , t r a n s f o r m e r = N o n e , t e x t _ e n c o d e r _ 2 = N o n e , t o r c h _ d t y p e = d t y p e ) p i p e . t r a n s f o r m e r = t r a n s f o r m e r p i p e . t e x t _ e n c o d e r _ 2 = t e x t _ e n c o d e r _ 2 p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p r o m p t = " A c a t h o l d i n g a s i g n t h a t s a y s h e l l o w o r l d " i m a g e = p i p e ( p r o m p t , g u i d a n c e _ s c a l e = 3 . 5 , o u t p u t _ t y p e = " p i l " , n u m _ i n f e r e n c e _ s t e p s = 2 0 , g e n e r a t o r = t o r c h . G e n e r a t o r ( " c p u " ) . m a n u a l _ s e e d ( 0 ) ) . i m a g e s [ 0 ] i m a g e . s a v e ( " f l u x - f p 8 - d e v . p n g " ) ` ` ` # # F l u x P i p e l i n e # # F l u x I m g 2 I m g P i p e l i n e # # F l u x I n p a i n t P i p e l i n e # # F l u x C o n t r o l N e t I n p a i n t P i p e l i n e # # F l u x C o n t r o l N e t I m g 2 I m g P i p e l i n e [ [ a u t o d o c ] ] F l u x P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] F l u x I m g 2 I m g P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] F l u x I n p a i n t P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] F l u x C o n t r o l N e t I n p a i n t P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] F l u x C o n t r o l N e t I m g 2 I m g P i p e l i n e - a l l - _ _ c a l l _ _ # T e x t 2 V i d e o - Z e r o [ T e x t 2 V i d e o - Z e r o : T e x t - t o - I m a g e D i f f u s i o n M o d e l s a r e Z e r o - S h o t V i d e o G e n e r a t o r s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 3 . 1 3 4 3 9 ) i s b y L e v o n K h a c h a t r y a n , A n d r a n i k M o v s i s y a n , V a h r a m T a d e v o s y a n , R o b e r t o H e n s c h e l , [ Z h a n g y a n g W a n g ] ( h t t p s : / / w w w . e c e . u t e x a s . e d u / p e o p l e / f a c u l t y / a t l a s - w a n g ) , S h a n t N a v a s a r d y a n , [ H u m p h r e y S h i ] ( h t t p s : / / w w w . h u m p h r e y s h i . c o m ) . T e x t 2 V i d e o - Z e r o e n a b l e s z e r o - s h o t v i d e o g e n e r a t i o n u s i n g e i t h e r : 1 . A t e x t u a l p r o m p t 2 . A p r o m p t c o m b i n e d w i t h g u i d a n c e f r o m p o s e s o r e d g e s 3 . V i d e o I n s t r u c t - P i x 2 P i x ( i n s t r u c t i o n - g u i d e d v i d e o e d i t i n g ) R e s u l t s a r e t e m p o r a l l y c o n s i s t e n t a n d c l o s e l y f o l l o w t h e g u i d a n c e a n d t e x t u a l p r o m p t s . ! [ t e a s e r - i m g ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / t 2 v _ z e r o _ t e a s e r . p n g ) T h e a b s t r a c t f r o m t h e p a p e r i s : * R e c e n t t e x t - t o - v i d e o g e n e r a t i o n a p p r o a c h e s r e l y o n c o m p u t a t i o n a l l y h e a v y t r a i n i n g a n d r e q u i r e l a r g e - s c a l e v i d e o d a t a s e t s . I n t h i s p a p e r , w e i n t r o d u c e a n e w t a s k o f z e r o - s h o t t e x t - t o - v i d e o g e n e r a t i o n a n d p r o p o s e a l o w - c o s t a p p r o a c h ( w i t h o u t a n y t r a i n i n g o r o p t i m i z a t i o n ) b y l e v e r a g i n g t h e p o w e r o f e x i s t i n g t e x t - t o - i m a g e s y n t h e s i s m e t h o d s ( e . g . , S t a b l e D i f f u s i o n ) , m a k i n g t h e m s u i t a b l e f o r t h e v i d e o d o m a i n . O u r k e y m o d i f i c a t i o n s i n c l u d e ( i ) e n r i c h i n g t h e l a t e n t c o d e s o f t h e g e n e r a t e d f r a m e s w i t h m o t i o n d y n a m i c s t o k e e p t h e g l o b a l s c e n e a n d t h e b a c k g r o u n d t i m e c o n s i s t e n t ; a n d ( i i ) r e p r o g r a m m i n g f r a m e - l e v e l s e l f - a t t e n t i o n u s i n g a n e w c r o s s - f r a m e a t t e n t i o n o f e a c h f r a m e o n t h e f i r s t f r a m e , t o p r e s e r v e t h e c o n t e x t , a p p e a r a n c e , a n d i d e n t i t y o f t h e f o r e g r o u n d o b j e c t . E x p e r i m e n t s s h o w t h a t t h i s l e a d s t o l o w o v e r h e a d , y e t h i g h - q u a l i t y a n d r e m a r k a b l y c o n s i s t e n t v i d e o g e n e r a t i o n . M o r e o v e r , o u r a p p r o a c h i s n o t l i m i t e d t o t e x t - t o - v i d e o s y n t h e s i s b u t i s a l s o a p p l i c a b l e t o o t h e r t a s k s s u c h a s c o n d i t i o n a l a n d c o n t e n t - s p e c i a l i z e d v i d e o g e n e r a t i o n , a n d V i d e o I n s t r u c t - P i x 2 P i x , i . e . , i n s t r u c t i o n - g u i d e d v i d e o e d i t i n g . A s e x p e r i m e n t s s h o w , o u r m e t h o d p e r f o r m s c o m p a r a b l y o r s o m e t i m e s b e t t e r t h a n r e c e n t a p p r o a c h e s , d e s p i t e n o t b e i n g t r a i n e d o n a d d i t i o n a l v i d e o d a t a . * Y o u c a n f i n d a d d i t i o n a l i n f o r m a t i o n a b o u t T e x t 2 V i d e o - Z e r o o n t h e [ p r o j e c t p a g e ] ( h t t p s : / / t e x t 2 v i d e o - z e r o . g i t h u b . i o / ) , [ p a p e r ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 0 3 . 1 3 4 3 9 ) , a n d [ o r i g i n a l c o d e b a s e ] ( h t t p s : / / g i t h u b . c o m / P i c s a r t - A I - R e s e a r c h / T e x t 2 V i d e o - Z e r o ) . # # U s a g e e x a m p l e # # # T e x t - T o - V i d e o T o g e n e r a t e a v i d e o f r o m p r o m p t , r u n t h e f o l l o w i n g P y t h o n c o d e : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t T e x t T o V i d e o Z e r o P i p e l i n e i m p o r t i m a g e i o m o d e l _ i d = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " p i p e = T e x t T o V i d e o Z e r o P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p r o m p t = " A p a n d a i s p l a y i n g g u i t a r o n t i m e s s q u a r e " r e s u l t = p i p e ( p r o m p t = p r o m p t ) . i m a g e s r e s u l t = [ ( r * 2 5 5 ) . a s t y p e ( " u i n t 8 " ) f o r r i n r e s u l t ] i m a g e i o . m i m s a v e ( " v i d e o . m p 4 " , r e s u l t , f p s = 4 ) ` ` ` Y o u c a n c h a n g e t h e s e p a r a m e t e r s i n t h e p i p e l i n e c a l l : * M o t i o n f i e l d s t r e n g t h ( s e e t h e [ p a p e r ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 0 3 . 1 3 4 3 9 ) , S e c t . 3 . 3 . 1 ) : * ` m o t i o n _ f i e l d _ s t r e n g t h _ x ` a n d ` m o t i o n _ f i e l d _ s t r e n g t h _ y ` . D e f a u l t : ` m o t i o n _ f i e l d _ s t r e n g t h _ x = 1 2 ` , ` m o t i o n _ f i e l d _ s t r e n g t h _ y = 1 2 ` * ` T ` a n d ` T ' ` ( s e e t h e [ p a p e r ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 0 3 . 1 3 4 3 9 ) , S e c t . 3 . 3 . 1 ) * ` t 0 ` a n d ` t 1 ` i n t h e r a n g e ` { 0 , . . . , n u m _ i n f e r e n c e _ s t e p s } ` . D e f a u l t : ` t 0 = 4 5 ` , ` t 1 = 4 8 ` * V i d e o l e n g t h : * ` v i d e o _ l e n g t h ` , t h e n u m b e r o f f r a m e s v i d e o _ l e n g t h t o b e g e n e r a t e d . D e f a u l t : ` v i d e o _ l e n g t h = 8 ` W e c a n a l s o g e n e r a t e l o n g e r v i d e o s b y d o i n g t h e p r o c e s s i n g i n a c h u n k - b y - c h u n k m a n n e r : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t T e x t T o V i d e o Z e r o P i p e l i n e i m p o r t n u m p y a s n p m o d e l _ i d = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " p i p e = T e x t T o V i d e o Z e r o P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) s e e d = 0 v i d e o _ l e n g t h = 2 4 # 2 4 รท 4 f p s = 6 s e c o n d s c h u n k _ s i z e = 8 p r o m p t = " A p a n d a i s p l a y i n g g u i t a r o n t i m e s s q u a r e " # G e n e r a t e t h e v i d e o c h u n k - b y - c h u n k r e s u l t = [ ] c h u n k _ i d s = n p . a r a n g e ( 0 , v i d e o _ l e n g t h , c h u n k _ s i z e - 1 ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c u d a " ) f o r i i n r a n g e ( l e n ( c h u n k _ i d s ) ) : p r i n t ( f " P r o c e s s i n g c h u n k { i + 1 } / { l e n ( c h u n k _ i d s ) } " ) c h _ s t a r t = c h u n k _ i d s [ i ] c h _ e n d = v i d e o _ l e n g t h i f i = = l e n ( c h u n k _ i d s ) - 1 e l s e c h u n k _ i d s [ i + 1 ] # A t t a c h t h e f i r s t f r a m e f o r C r o s s F r a m e A t t e n t i o n f r a m e _ i d s = [ 0 ] + l i s t ( r a n g e ( c h _ s t a r t , c h _ e n d ) ) # F i x t h e s e e d f o r t h e t e m p o r a l c o n s i s t e n c y g e n e r a t o r . m a n u a l _ s e e d ( s e e d ) o u t p u t = p i p e ( p r o m p t = p r o m p t , v i d e o _ l e n g t h = l e n ( f r a m e _ i d s ) , g e n e r a t o r = g e n e r a t o r , f r a m e _ i d s = f r a m e _ i d s ) r e s u l t . a p p e n d ( o u t p u t . i m a g e s [ 1 : ] ) # C o n c a t e n a t e c h u n k s a n d s a v e r e s u l t = n p . c o n c a t e n a t e ( r e s u l t ) r e s u l t = [ ( r * 2 5 5 ) . a s t y p e ( " u i n t 8 " ) f o r r i n r e s u l t ] i m a g e i o . m i m s a v e ( " v i d e o . m p 4 " , r e s u l t , f p s = 4 ) ` ` ` - # # # # S D X L S u p p o r t I n o r d e r t o u s e t h e S D X L m o d e l w h e n g e n e r a t i n g a v i d e o f r o m p r o m p t , u s e t h e ` T e x t T o V i d e o Z e r o S D X L P i p e l i n e ` p i p e l i n e : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t T e x t T o V i d e o Z e r o S D X L P i p e l i n e m o d e l _ i d = " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " p i p e = T e x t T o V i d e o Z e r o S D X L P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) ` ` ` # # # T e x t - T o - V i d e o w i t h P o s e C o n t r o l T o g e n e r a t e a v i d e o f r o m p r o m p t w i t h a d d i t i o n a l p o s e c o n t r o l 1 . D o w n l o a d a d e m o v i d e o ` ` ` p y t h o n f r o m h u g g i n g f a c e _ h u b i m p o r t h f _ h u b _ d o w n l o a d f i l e n a m e = " _ _ a s s e t s _ _ / p o s e s _ s k e l e t o n _ g i f s / d a n c e 1 _ c o r r . m p 4 " r e p o _ i d = " P A I R / T e x t 2 V i d e o - Z e r o " v i d e o _ p a t h = h f _ h u b _ d o w n l o a d ( r e p o _ t y p e = " s p a c e " , r e p o _ i d = r e p o _ i d , f i l e n a m e = f i l e n a m e ) ` ` ` 2 . R e a d v i d e o c o n t a i n i n g e x t r a c t e d p o s e i m a g e s ` ` ` p y t h o n f r o m P I L i m p o r t I m a g e i m p o r t i m a g e i o r e a d e r = i m a g e i o . g e t _ r e a d e r ( v i d e o _ p a t h , " f f m p e g " ) f r a m e _ c o u n t = 8 p o s e _ i m a g e s = [ I m a g e . f r o m a r r a y ( r e a d e r . g e t _ d a t a ( i ) ) f o r i i n r a n g e ( f r a m e _ c o u n t ) ] ` ` ` T o e x t r a c t p o s e f r o m a c t u a l v i d e o , r e a d [ C o n t r o l N e t d o c u m e n t a t i o n ] ( c o n t r o l n e t ) . 3 . R u n ` S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e ` w i t h o u r c u s t o m a t t e n t i o n p r o c e s s o r ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e , C o n t r o l N e t M o d e l f r o m d i f f u s e r s . p i p e l i n e s . t e x t _ t o _ v i d e o _ s y n t h e s i s . p i p e l i n e _ t e x t _ t o _ v i d e o _ z e r o i m p o r t C r o s s F r a m e A t t n P r o c e s s o r m o d e l _ i d = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " l l l y a s v i e l / s d - c o n t r o l n e t - o p e n p o s e " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e = S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , c o n t r o l n e t = c o n t r o l n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) # S e t t h e a t t e n t i o n p r o c e s s o r p i p e . u n e t . s e t _ a t t n _ p r o c e s s o r ( C r o s s F r a m e A t t n P r o c e s s o r ( b a t c h _ s i z e = 2 ) ) p i p e . c o n t r o l n e t . s e t _ a t t n _ p r o c e s s o r ( C r o s s F r a m e A t t n P r o c e s s o r ( b a t c h _ s i z e = 2 ) ) # f i x l a t e n t s f o r a l l f r a m e s l a t e n t s = t o r c h . r a n d n ( ( 1 , 4 , 6 4 , 6 4 ) , d e v i c e = " c u d a " , d t y p e = t o r c h . f l o a t 1 6 ) . r e p e a t ( l e n ( p o s e _ i m a g e s ) , 1 , 1 , 1 ) p r o m p t = " D a r t h V a d e r d a n c i n g i n a d e s e r t " r e s u l t = p i p e ( p r o m p t = [ p r o m p t ] * l e n ( p o s e _ i m a g e s ) , i m a g e = p o s e _ i m a g e s , l a t e n t s = l a t e n t s ) . i m a g e s i m a g e i o . m i m s a v e ( " v i d e o . m p 4 " , r e s u l t , f p s = 4 ) ` ` ` - # # # # S D X L S u p p o r t S i n c e o u r a t t e n t i o n p r o c e s s o r a l s o w o r k s w i t h S D X L , i t c a n b e u t i l i z e d t o g e n e r a t e a v i d e o f r o m p r o m p t u s i n g C o n t r o l N e t m o d e l s p o w e r e d b y S D X L : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e , C o n t r o l N e t M o d e l f r o m d i f f u s e r s . p i p e l i n e s . t e x t _ t o _ v i d e o _ s y n t h e s i s . p i p e l i n e _ t e x t _ t o _ v i d e o _ z e r o i m p o r t C r o s s F r a m e A t t n P r o c e s s o r c o n t r o l n e t _ m o d e l _ i d = ' t h i b a u d / c o n t r o l n e t - o p e n p o s e - s d x l - 1 . 0 ' m o d e l _ i d = ' s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 ' c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( c o n t r o l n e t _ m o d e l _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e = S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , c o n t r o l n e t = c o n t r o l n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( ' c u d a ' ) # S e t t h e a t t e n t i o n p r o c e s s o r p i p e . u n e t . s e t _ a t t n _ p r o c e s s o r ( C r o s s F r a m e A t t n P r o c e s s o r ( b a t c h _ s i z e = 2 ) ) p i p e . c o n t r o l n e t . s e t _ a t t n _ p r o c e s s o r ( C r o s s F r a m e A t t n P r o c e s s o r ( b a t c h _ s i z e = 2 ) ) # f i x l a t e n t s f o r a l l f r a m e s l a t e n t s = t o r c h . r a n d n ( ( 1 , 4 , 1 2 8 , 1 2 8 ) , d e v i c e = " c u d a " , d t y p e = t o r c h . f l o a t 1 6 ) . r e p e a t ( l e n ( p o s e _ i m a g e s ) , 1 , 1 , 1 ) p r o m p t = " D a r t h V a d e r d a n c i n g i n a d e s e r t " r e s u l t = p i p e ( p r o m p t = [ p r o m p t ] * l e n ( p o s e _ i m a g e s ) , i m a g e = p o s e _ i m a g e s , l a t e n t s = l a t e n t s ) . i m a g e s i m a g e i o . m i m s a v e ( " v i d e o . m p 4 " , r e s u l t , f p s = 4 ) ` ` ` # # # T e x t - T o - V i d e o w i t h E d g e C o n t r o l T o g e n e r a t e a v i d e o f r o m p r o m p t w i t h a d d i t i o n a l C a n n y e d g e c o n t r o l , f o l l o w t h e s a m e s t e p s d e s c r i b e d a b o v e f o r p o s e - g u i d e d g e n e r a t i o n u s i n g [ C a n n y e d g e C o n t r o l N e t m o d e l ] ( h t t p s : / / h u g g i n g f a c e . c o / l l l y a s v i e l / s d - c o n t r o l n e t - c a n n y ) . # # # V i d e o I n s t r u c t - P i x 2 P i x T o p e r f o r m t e x t - g u i d e d v i d e o e d i t i n g ( w i t h [ I n s t r u c t P i x 2 P i x ] ( p i x 2 p i x ) ) : 1 . D o w n l o a d a d e m o v i d e o ` ` ` p y t h o n f r o m h u g g i n g f a c e _ h u b i m p o r t h f _ h u b _ d o w n l o a d f i l e n a m e = " _ _ a s s e t s _ _ / p i x 2 p i x v i d e o / c a m e l . m p 4 " r e p o _ i d = " P A I R / T e x t 2 V i d e o - Z e r o " v i d e o _ p a t h = h f _ h u b _ d o w n l o a d ( r e p o _ t y p e = " s p a c e " , r e p o _ i d = r e p o _ i d , f i l e n a m e = f i l e n a m e ) ` ` ` 2 . R e a d v i d e o f r o m p a t h ` ` ` p y t h o n f r o m P I L i m p o r t I m a g e i m p o r t i m a g e i o r e a d e r = i m a g e i o . g e t _ r e a d e r ( v i d e o _ p a t h , " f f m p e g " ) f r a m e _ c o u n t = 8 v i d e o = [ I m a g e . f r o m a r r a y ( r e a d e r . g e t _ d a t a ( i ) ) f o r i i n r a n g e ( f r a m e _ c o u n t ) ] ` ` ` 3 . R u n ` S t a b l e D i f f u s i o n I n s t r u c t P i x 2 P i x P i p e l i n e ` w i t h o u r c u s t o m a t t e n t i o n p r o c e s s o r ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n I n s t r u c t P i x 2 P i x P i p e l i n e f r o m d i f f u s e r s . p i p e l i n e s . t e x t _ t o _ v i d e o _ s y n t h e s i s . p i p e l i n e _ t e x t _ t o _ v i d e o _ z e r o i m p o r t C r o s s F r a m e A t t n P r o c e s s o r m o d e l _ i d = " t i m b r o o k s / i n s t r u c t - p i x 2 p i x " p i p e = S t a b l e D i f f u s i o n I n s t r u c t P i x 2 P i x P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e . u n e t . s e t _ a t t n _ p r o c e s s o r ( C r o s s F r a m e A t t n P r o c e s s o r ( b a t c h _ s i z e = 3 ) ) p r o m p t = " m a k e i t V a n G o g h S t a r r y N i g h t s t y l e " r e s u l t = p i p e ( p r o m p t = [ p r o m p t ] * l e n ( v i d e o ) , i m a g e = v i d e o ) . i m a g e s i m a g e i o . m i m s a v e ( " e d i t e d _ v i d e o . m p 4 " , r e s u l t , f p s = 4 ) ` ` ` # # # D r e a m B o o t h s p e c i a l i z a t i o n M e t h o d s * * T e x t - T o - V i d e o * * , * * T e x t - T o - V i d e o w i t h P o s e C o n t r o l * * a n d * * T e x t - T o - V i d e o w i t h E d g e C o n t r o l * * c a n r u n w i t h c u s t o m [ D r e a m B o o t h ] ( . . / . . / t r a i n i n g / d r e a m b o o t h ) m o d e l s , a s s h o w n b e l o w f o r [ C a n n y e d g e C o n t r o l N e t m o d e l ] ( h t t p s : / / h u g g i n g f a c e . c o / l l l y a s v i e l / s d - c o n t r o l n e t - c a n n y ) a n d [ A v a t a r s t y l e D r e a m B o o t h ] ( h t t p s : / / h u g g i n g f a c e . c o / P A I R / t e x t 2 v i d e o - z e r o - c o n t r o l n e t - c a n n y - a v a t a r ) m o d e l : 1 . D o w n l o a d a d e m o v i d e o ` ` ` p y t h o n f r o m h u g g i n g f a c e _ h u b i m p o r t h f _ h u b _ d o w n l o a d f i l e n a m e = " _ _ a s s e t s _ _ / c a n n y _ v i d e o s _ m p 4 / g i r l _ t u r n i n g . m p 4 " r e p o _ i d = " P A I R / T e x t 2 V i d e o - Z e r o " v i d e o _ p a t h = h f _ h u b _ d o w n l o a d ( r e p o _ t y p e = " s p a c e " , r e p o _ i d = r e p o _ i d , f i l e n a m e = f i l e n a m e ) ` ` ` 2 . R e a d v i d e o f r o m p a t h ` ` ` p y t h o n f r o m P I L i m p o r t I m a g e i m p o r t i m a g e i o r e a d e r = i m a g e i o . g e t _ r e a d e r ( v i d e o _ p a t h , " f f m p e g " ) f r a m e _ c o u n t = 8 c a n n y _ e d g e s = [ I m a g e . f r o m a r r a y ( r e a d e r . g e t _ d a t a ( i ) ) f o r i i n r a n g e ( f r a m e _ c o u n t ) ] ` ` ` 3 . R u n ` S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e ` w i t h c u s t o m t r a i n e d D r e a m B o o t h m o d e l ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e , C o n t r o l N e t M o d e l f r o m d i f f u s e r s . p i p e l i n e s . t e x t _ t o _ v i d e o _ s y n t h e s i s . p i p e l i n e _ t e x t _ t o _ v i d e o _ z e r o i m p o r t C r o s s F r a m e A t t n P r o c e s s o r # s e t m o d e l i d t o c u s t o m m o d e l m o d e l _ i d = " P A I R / t e x t 2 v i d e o - z e r o - c o n t r o l n e t - c a n n y - a v a t a r " c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " l l l y a s v i e l / s d - c o n t r o l n e t - c a n n y " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e = S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , c o n t r o l n e t = c o n t r o l n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) # S e t t h e a t t e n t i o n p r o c e s s o r p i p e . u n e t . s e t _ a t t n _ p r o c e s s o r ( C r o s s F r a m e A t t n P r o c e s s o r ( b a t c h _ s i z e = 2 ) ) p i p e . c o n t r o l n e t . s e t _ a t t n _ p r o c e s s o r ( C r o s s F r a m e A t t n P r o c e s s o r ( b a t c h _ s i z e = 2 ) ) # f i x l a t e n t s f o r a l l f r a m e s l a t e n t s = t o r c h . r a n d n ( ( 1 , 4 , 6 4 , 6 4 ) , d e v i c e = " c u d a " , d t y p e = t o r c h . f l o a t 1 6 ) . r e p e a t ( l e n ( c a n n y _ e d g e s ) , 1 , 1 , 1 ) p r o m p t = " o i l p a i n t i n g o f a b e a u t i f u l g i r l a v a t a r s t y l e " r e s u l t = p i p e ( p r o m p t = [ p r o m p t ] * l e n ( c a n n y _ e d g e s ) , i m a g e = c a n n y _ e d g e s , l a t e n t s = l a t e n t s ) . i m a g e s i m a g e i o . m i m s a v e ( " v i d e o . m p 4 " , r e s u l t , f p s = 4 ) ` ` ` Y o u c a n f i l t e r o u t s o m e a v a i l a b l e D r e a m B o o t h - t r a i n e d m o d e l s w i t h [ t h i s l i n k ] ( h t t p s : / / h u g g i n g f a c e . c o / m o d e l s ? s e a r c h = d r e a m b o o t h ) . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # T e x t T o V i d e o Z e r o P i p e l i n e # # T e x t T o V i d e o Z e r o S D X L P i p e l i n e # # T e x t T o V i d e o P i p e l i n e O u t p u t [ [ a u t o d o c ] ] T e x t T o V i d e o Z e r o P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] T e x t T o V i d e o Z e r o S D X L P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . t e x t _ t o _ v i d e o _ s y n t h e s i s . p i p e l i n e _ t e x t _ t o _ v i d e o _ z e r o . T e x t T o V i d e o P i p e l i n e O u t p u t # D D I M [ D e n o i s i n g D i f f u s i o n I m p l i c i t M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 0 1 0 . 0 2 5 0 2 ) ( D D I M ) b y J i a m i n g S o n g , C h e n l i n M e n g a n d S t e f a n o E r m o n . T h e a b s t r a c t f r o m t h e p a p e r i s : * D e n o i s i n g d i f f u s i o n p r o b a b i l i s t i c m o d e l s ( D D P M s ) h a v e a c h i e v e d h i g h q u a l i t y i m a g e g e n e r a t i o n w i t h o u t a d v e r s a r i a l t r a i n i n g , y e t t h e y r e q u i r e s i m u l a t i n g a M a r k o v c h a i n f o r m a n y s t e p s t o p r o d u c e a s a m p l e . T o a c c e l e r a t e s a m p l i n g , w e p r e s e n t d e n o i s i n g d i f f u s i o n i m p l i c i t m o d e l s ( D D I M s ) , a m o r e e f f i c i e n t c l a s s o f i t e r a t i v e i m p l i c i t p r o b a b i l i s t i c m o d e l s w i t h t h e s a m e t r a i n i n g p r o c e d u r e a s D D P M s . I n D D P M s , t h e g e n e r a t i v e p r o c e s s i s d e f i n e d a s t h e r e v e r s e o f a M a r k o v i a n d i f f u s i o n p r o c e s s . W e c o n s t r u c t a c l a s s o f n o n - M a r k o v i a n d i f f u s i o n p r o c e s s e s t h a t l e a d t o t h e s a m e t r a i n i n g o b j e c t i v e , b u t w h o s e r e v e r s e p r o c e s s c a n b e m u c h f a s t e r t o s a m p l e f r o m . W e e m p i r i c a l l y d e m o n s t r a t e t h a t D D I M s c a n p r o d u c e h i g h q u a l i t y s a m p l e s 1 0 ร— t o 5 0 ร— f a s t e r i n t e r m s o f w a l l - c l o c k t i m e c o m p a r e d t o D D P M s , a l l o w u s t o t r a d e o f f c o m p u t a t i o n f o r s a m p l e q u a l i t y , a n d c a n p e r f o r m s e m a n t i c a l l y m e a n i n g f u l i m a g e i n t e r p o l a t i o n d i r e c t l y i n t h e l a t e n t s p a c e . * T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ e r m o n g r o u p / d d i m ] ( h t t p s : / / g i t h u b . c o m / e r m o n g r o u p / d d i m ) . # # D D I M P i p e l i n e # # I m a g e P i p e l i n e O u t p u t [ [ a u t o d o c ] ] D D I M P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . I m a g e P i p e l i n e O u t p u t < T i p w a r n i n g = { t r u e } > ๐Ÿงช T h i s p i p e l i n e i s f o r r e s e a r c h p u r p o s e s o n l y . < / T i p > # T e x t - t o - v i d e o [ M o d e l S c o p e T e x t - t o - V i d e o T e c h n i c a l R e p o r t ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 0 8 . 0 6 5 7 1 ) i s b y J i u n i u W a n g , H a n g j i e Y u a n , D a y o u C h e n , Y i n g y a Z h a n g , X i a n g W a n g , S h i w e i Z h a n g . T h e a b s t r a c t f r o m t h e p a p e r i s : * T h i s p a p e r i n t r o d u c e s M o d e l S c o p e T 2 V , a t e x t - t o - v i d e o s y n t h e s i s m o d e l t h a t e v o l v e s f r o m a t e x t - t o - i m a g e s y n t h e s i s m o d e l ( i . e . , S t a b l e D i f f u s i o n ) . M o d e l S c o p e T 2 V i n c o r p o r a t e s s p a t i o - t e m p o r a l b l o c k s t o e n s u r e c o n s i s t e n t f r a m e g e n e r a t i o n a n d s m o o t h m o v e m e n t t r a n s i t i o n s . T h e m o d e l c o u l d a d a p t t o v a r y i n g f r a m e n u m b e r s d u r i n g t r a i n i n g a n d i n f e r e n c e , r e n d e r i n g i t s u i t a b l e f o r b o t h i m a g e - t e x t a n d v i d e o - t e x t d a t a s e t s . M o d e l S c o p e T 2 V b r i n g s t o g e t h e r t h r e e c o m p o n e n t s ( i . e . , V Q G A N , a t e x t e n c o d e r , a n d a d e n o i s i n g U N e t ) , t o t a l l y c o m p r i s i n g 1 . 7 b i l l i o n p a r a m e t e r s , i n w h i c h 0 . 5 b i l l i o n p a r a m e t e r s a r e d e d i c a t e d t o t e m p o r a l c a p a b i l i t i e s . T h e m o d e l d e m o n s t r a t e s s u p e r i o r p e r f o r m a n c e o v e r s t a t e - o f - t h e - a r t m e t h o d s a c r o s s t h r e e e v a l u a t i o n m e t r i c s . T h e c o d e a n d a n o n l i n e d e m o a r e a v a i l a b l e a t h t t p s : / / m o d e l s c o p e . c n / m o d e l s / d a m o / t e x t - t o - v i d e o - s y n t h e s i s / s u m m a r y . * Y o u c a n f i n d a d d i t i o n a l i n f o r m a t i o n a b o u t T e x t - t o - V i d e o o n t h e [ p r o j e c t p a g e ] ( h t t p s : / / m o d e l s c o p e . c n / m o d e l s / d a m o / t e x t - t o - v i d e o - s y n t h e s i s / s u m m a r y ) , [ o r i g i n a l c o d e b a s e ] ( h t t p s : / / g i t h u b . c o m / m o d e l s c o p e / m o d e l s c o p e / ) , a n d t r y i t o u t i n a [ d e m o ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / d a m o - v i l a b / m o d e l s c o p e - t e x t - t o - v i d e o - s y n t h e s i s ) . O f f i c i a l c h e c k p o i n t s c a n b e f o u n d a t [ d a m o - v i l a b ] ( h t t p s : / / h u g g i n g f a c e . c o / d a m o - v i l a b ) a n d [ c e r s p e n s e ] ( h t t p s : / / h u g g i n g f a c e . c o / c e r s p e n s e ) . # # U s a g e e x a m p l e # # # ` t e x t - t o - v i d e o - m s - 1 . 7 b ` L e t ' s s t a r t b y g e n e r a t i n g a s h o r t v i d e o w i t h t h e d e f a u l t l e n g t h o f 1 6 f r a m e s ( 2 s a t 8 f p s ) : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ v i d e o p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " d a m o - v i l a b / t e x t - t o - v i d e o - m s - 1 . 7 b " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e = p i p e . t o ( " c u d a " ) p r o m p t = " S p i d e r m a n i s s u r f i n g " v i d e o _ f r a m e s = p i p e ( p r o m p t ) . f r a m e s [ 0 ] v i d e o _ p a t h = e x p o r t _ t o _ v i d e o ( v i d e o _ f r a m e s ) v i d e o _ p a t h ` ` ` D i f f u s e r s s u p p o r t s d i f f e r e n t o p t i m i z a t i o n t e c h n i q u e s t o i m p r o v e t h e l a t e n c y a n d m e m o r y f o o t p r i n t o f a p i p e l i n e . S i n c e v i d e o s a r e o f t e n m o r e m e m o r y - h e a v y t h a n i m a g e s , w e c a n e n a b l e C P U o f f l o a d i n g a n d V A E s l i c i n g t o k e e p t h e m e m o r y f o o t p r i n t a t b a y . L e t ' s g e n e r a t e a v i d e o o f 8 s e c o n d s ( 6 4 f r a m e s ) o n t h e s a m e G P U u s i n g C P U o f f l o a d i n g a n d V A E s l i c i n g : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ v i d e o p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " d a m o - v i l a b / t e x t - t o - v i d e o - m s - 1 . 7 b " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # m e m o r y o p t i m i z a t i o n p i p e . e n a b l e _ v a e _ s l i c i n g ( ) p r o m p t = " D a r t h V a d e r s u r f i n g a w a v e " v i d e o _ f r a m e s = p i p e ( p r o m p t , n u m _ f r a m e s = 6 4 ) . f r a m e s [ 0 ] v i d e o _ p a t h = e x p o r t _ t o _ v i d e o ( v i d e o _ f r a m e s ) v i d e o _ p a t h ` ` ` I t j u s t t a k e s * * 7 G B s o f G P U m e m o r y * * t o g e n e r a t e t h e 6 4 v i d e o f r a m e s u s i n g P y T o r c h 2 . 0 , " f p 1 6 " p r e c i s i o n a n d t h e t e c h n i q u e s m e n t i o n e d a b o v e . W e c a n a l s o u s e a d i f f e r e n t s c h e d u l e r e a s i l y , u s i n g t h e s a m e m e t h o d w e ' d u s e f o r S t a b l e D i f f u s i o n : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e , D P M S o l v e r M u l t i s t e p S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ v i d e o p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " d a m o - v i l a b / t e x t - t o - v i d e o - m s - 1 . 7 b " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e . s c h e d u l e r = D P M S o l v e r M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p r o m p t = " S p i d e r m a n i s s u r f i n g " v i d e o _ f r a m e s = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 2 5 ) . f r a m e s [ 0 ] v i d e o _ p a t h = e x p o r t _ t o _ v i d e o ( v i d e o _ f r a m e s ) v i d e o _ p a t h ` ` ` H e r e a r e s o m e s a m p l e o u t p u t s : < t a b l e > < t r > < t d > < c e n t e r > A n a s t r o n a u t r i d i n g a h o r s e . < b r > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a s t r . g i f " a l t = " A n a s t r o n a u t r i d i n g a h o r s e . " s t y l e = " w i d t h : 3 0 0 p x ; " / > < / c e n t e r > < / t d > < t d > < c e n t e r > D a r t h v a d e r s u r f i n g i n w a v e s . < b r > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / v a d e r . g i f " a l t = " D a r t h v a d e r s u r f i n g i n w a v e s . " s t y l e = " w i d t h : 3 0 0 p x ; " / > < / c e n t e r > < / t d > < / t r > < / t a b l e > # # # ` c e r s p e n s e / z e r o s c o p e _ v 2 _ 5 7 6 w ` & ` c e r s p e n s e / z e r o s c o p e _ v 2 _ X L ` Z e r o s c o p e a r e w a t e r m a r k - f r e e m o d e l a n d h a v e b e e n t r a i n e d o n s p e c i f i c s i z e s s u c h a s ` 5 7 6 x 3 2 0 ` a n d ` 1 0 2 4 x 5 7 6 ` . O n e s h o u l d f i r s t g e n e r a t e a v i d e o u s i n g t h e l o w e r r e s o l u t i o n c h e c k p o i n t [ ` c e r s p e n s e / z e r o s c o p e _ v 2 _ 5 7 6 w ` ] ( h t t p s : / / h u g g i n g f a c e . c o / c e r s p e n s e / z e r o s c o p e _ v 2 _ 5 7 6 w ) w i t h ` T e x t T o V i d e o S D P i p e l i n e ` , w h i c h c a n t h e n b e u p s c a l e d u s i n g ` V i d e o T o V i d e o S D P i p e l i n e ` a n d [ ` c e r s p e n s e / z e r o s c o p e _ v 2 _ X L ` ] ( h t t p s : / / h u g g i n g f a c e . c o / c e r s p e n s e / z e r o s c o p e _ v 2 _ X L ) . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e , D P M S o l v e r M u l t i s t e p S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ v i d e o f r o m P I L i m p o r t I m a g e p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " c e r s p e n s e / z e r o s c o p e _ v 2 _ 5 7 6 w " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # m e m o r y o p t i m i z a t i o n p i p e . u n e t . e n a b l e _ f o r w a r d _ c h u n k i n g ( c h u n k _ s i z e = 1 , d i m = 1 ) p i p e . e n a b l e _ v a e _ s l i c i n g ( ) p r o m p t = " D a r t h V a d e r s u r f i n g a w a v e " v i d e o _ f r a m e s = p i p e ( p r o m p t , n u m _ f r a m e s = 2 4 ) . f r a m e s [ 0 ] v i d e o _ p a t h = e x p o r t _ t o _ v i d e o ( v i d e o _ f r a m e s ) v i d e o _ p a t h ` ` ` N o w t h e v i d e o c a n b e u p s c a l e d : ` ` ` p y p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " c e r s p e n s e / z e r o s c o p e _ v 2 _ X L " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . s c h e d u l e r = D P M S o l v e r M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # m e m o r y o p t i m i z a t i o n p i p e . u n e t . e n a b l e _ f o r w a r d _ c h u n k i n g ( c h u n k _ s i z e = 1 , d i m = 1 ) p i p e . e n a b l e _ v a e _ s l i c i n g ( ) v i d e o = [ I m a g e . f r o m a r r a y ( f r a m e ) . r e s i z e ( ( 1 0 2 4 , 5 7 6 ) ) f o r f r a m e i n v i d e o _ f r a m e s ] v i d e o _ f r a m e s = p i p e ( p r o m p t , v i d e o = v i d e o , s t r e n g t h = 0 . 6 ) . f r a m e s [ 0 ] v i d e o _ p a t h = e x p o r t _ t o _ v i d e o ( v i d e o _ f r a m e s ) v i d e o _ p a t h ` ` ` H e r e a r e s o m e s a m p l e o u t p u t s : < t a b l e > < t r > < t d > < c e n t e r > D a r t h v a d e r s u r f i n g i n w a v e s . < b r > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / d a r t h v a d e r _ c e r p e n s e . g i f " a l t = " D a r t h v a d e r s u r f i n g i n w a v e s . " s t y l e = " w i d t h : 5 7 6 p x ; " / > < / c e n t e r > < / t d > < / t r > < / t a b l e > # # T i p s V i d e o g e n e r a t i o n i s m e m o r y - i n t e n s i v e a n d o n e w a y t o r e d u c e y o u r m e m o r y u s a g e i s t o s e t ` e n a b l e _ f o r w a r d _ c h u n k i n g ` o n t h e p i p e l i n e ' s U N e t s o y o u d o n ' t r u n t h e e n t i r e f e e d f o r w a r d l a y e r a t o n c e . B r e a k i n g i t u p i n t o c h u n k s i n a l o o p i s m o r e e f f i c i e n t . C h e c k o u t t h e [ T e x t o r i m a g e - t o - v i d e o ] ( t e x t - i m g 2 v i d ) g u i d e f o r m o r e d e t a i l s a b o u t h o w c e r t a i n p a r a m e t e r s c a n a f f e c t v i d e o g e n e r a t i o n a n d h o w t o o p t i m i z e i n f e r e n c e b y r e d u c i n g m e m o r y u s a g e . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # T e x t T o V i d e o S D P i p e l i n e # # V i d e o T o V i d e o S D P i p e l i n e # # T e x t T o V i d e o S D P i p e l i n e O u t p u t [ [ a u t o d o c ] ] T e x t T o V i d e o S D P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] V i d e o T o V i d e o S D P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . t e x t _ t o _ v i d e o _ s y n t h e s i s . T e x t T o V i d e o S D P i p e l i n e O u t p u t # K o l o r s : E f f e c t i v e T r a i n i n g o f D i f f u s i o n M o d e l f o r P h o t o r e a l i s t i c T e x t - t o - I m a g e S y n t h e s i s ! [ ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / k o l o r s / k o l o r s _ h e a d e r _ c o l l a g e . p n g ) K o l o r s i s a l a r g e - s c a l e t e x t - t o - i m a g e g e n e r a t i o n m o d e l b a s e d o n l a t e n t d i f f u s i o n , d e v e l o p e d b y [ t h e K u a i s h o u K o l o r s t e a m ] ( h t t p s : / / g i t h u b . c o m / K w a i - K o l o r s / K o l o r s ) . T r a i n e d o n b i l l i o n s o f t e x t - i m a g e p a i r s , K o l o r s e x h i b i t s s i g n i f i c a n t a d v a n t a g e s o v e r b o t h o p e n - s o u r c e a n d c l o s e d - s o u r c e m o d e l s i n v i s u a l q u a l i t y , c o m p l e x s e m a n t i c a c c u r a c y , a n d t e x t r e n d e r i n g f o r b o t h C h i n e s e a n d E n g l i s h c h a r a c t e r s . F u r t h e r m o r e , K o l o r s s u p p o r t s b o t h C h i n e s e a n d E n g l i s h i n p u t s , d e m o n s t r a t i n g s t r o n g p e r f o r m a n c e i n u n d e r s t a n d i n g a n d g e n e r a t i n g C h i n e s e - s p e c i f i c c o n t e n t . F o r m o r e d e t a i l s , p l e a s e r e f e r t o t h i s [ t e c h n i c a l r e p o r t ] ( h t t p s : / / g i t h u b . c o m / K w a i - K o l o r s / K o l o r s / b l o b / m a s t e r / i m g s / K o l o r s _ p a p e r . p d f ) . T h e a b s t r a c t f r o m t h e t e c h n i c a l r e p o r t i s : * W e p r e s e n t K o l o r s , a l a t e n t d i f f u s i o n m o d e l f o r t e x t - t o - i m a g e s y n t h e s i s , c h a r a c t e r i z e d b y i t s p r o f o u n d u n d e r s t a n d i n g o f b o t h E n g l i s h a n d C h i n e s e , a s w e l l a s a n i m p r e s s i v e d e g r e e o f p h o t o r e a l i s m . T h e r e a r e t h r e e k e y i n s i g h t s c o n t r i b u t i n g t o t h e d e v e l o p m e n t o f K o l o r s . F i r s t l y , u n l i k e l a r g e l a n g u a g e m o d e l T 5 u s e d i n I m a g e n a n d S t a b l e D i f f u s i o n 3 , K o l o r s i s b u i l t u p o n t h e G e n e r a l L a n g u a g e M o d e l ( G L M ) , w h i c h e n h a n c e s i t s c o m p r e h e n s i o n c a p a b i l i t i e s i n b o t h E n g l i s h a n d C h i n e s e . M o r e o v e r , w e e m p l o y a m u l t i m o d a l l a r g e l a n g u a g e m o d e l t o r e c a p t i o n t h e e x t e n s i v e t r a i n i n g d a t a s e t f o r f i n e - g r a i n e d t e x t u n d e r s t a n d i n g . T h e s e s t r a t e g i e s s i g n i f i c a n t l y i m p r o v e K o l o r s โ€™ a b i l i t y t o c o m p r e h e n d i n t r i c a t e s e m a n t i c s , p a r t i c u l a r l y t h o s e i n v o l v i n g m u l t i p l e e n t i t i e s , a n d e n a b l e i t s a d v a n c e d t e x t r e n d e r i n g c a p a b i l i t i e s . S e c o n d l y , w e d i v i d e t h e t r a i n i n g o f K o l o r s i n t o t w o p h a s e s : t h e c o n c e p t l e a r n i n g p h a s e w i t h b r o a d k n o w l e d g e a n d t h e q u a l i t y i m p r o v e m e n t p h a s e w i t h s p e c i f i c a l l y c u r a t e d h i g h - a e s t h e t i c d a t a . F u r t h e r m o r e , w e i n v e s t i g a t e t h e c r i t i c a l r o l e o f t h e n o i s e s c h e d u l e a n d i n t r o d u c e a n o v e l s c h e d u l e t o o p t i m i z e h i g h - r e s o l u t i o n i m a g e g e n e r a t i o n . T h e s e s t r a t e g i e s c o l l e c t i v e l y e n h a n c e t h e v i s u a l a p p e a l o f t h e g e n e r a t e d h i g h - r e s o l u t i o n i m a g e s . L a s t l y , w e p r o p o s e a c a t e g o r y - b a l a n c e d b e n c h m a r k K o l o r s P r o m p t s , w h i c h s e r v e s a s a g u i d e f o r t h e t r a i n i n g a n d e v a l u a t i o n o f K o l o r s . C o n s e q u e n t l y , e v e n w h e n e m p l o y i n g t h e c o m m o n l y u s e d U - N e t b a c k b o n e , K o l o r s h a s d e m o n s t r a t e d r e m a r k a b l e p e r f o r m a n c e i n h u m a n e v a l u a t i o n s , s u r p a s s i n g t h e e x i s t i n g o p e n - s o u r c e m o d e l s a n d a c h i e v i n g M i d j o u r n e y - v 6 l e v e l p e r f o r m a n c e , e s p e c i a l l y i n t e r m s o f v i s u a l a p p e a l . W e w i l l r e l e a s e t h e c o d e a n d w e i g h t s o f K o l o r s a t < h t t p s : / / g i t h u b . c o m / K w a i - K o l o r s / K o l o r s > , a n d h o p e t h a t i t w i l l b e n e f i t f u t u r e r e s e a r c h a n d a p p l i c a t i o n s i n t h e v i s u a l g e n e r a t i o n c o m m u n i t y . * # # U s a g e E x a m p l e ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D P M S o l v e r M u l t i s t e p S c h e d u l e r , K o l o r s P i p e l i n e p i p e = K o l o r s P i p e l i n e . f r o m _ p r e t r a i n e d ( " K w a i - K o l o r s / K o l o r s - d i f f u s e r s " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e . t o ( " c u d a " ) p i p e . s c h e d u l e r = D P M S o l v e r M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g , u s e _ k a r r a s _ s i g m a s = T r u e ) i m a g e = p i p e ( p r o m p t = ' ไธ€ ๅผ  ็“ข ่™ซ ็š„ ็…ง ็‰‡ ๏ผŒ ๅพฎ ่ท ๏ผŒ ๅ˜ ็„ฆ ๏ผŒ ้ซ˜ ่ดจ ้‡ ๏ผŒ ็”ต ๅฝฑ ๏ผŒ ๆ‹ฟ ็€ ไธ€ ไธช ็‰Œ ๅญ ๏ผŒ ๅ†™ ็€ " ๅฏ ๅ›พ " ' , n e g a t i v e _ p r o m p t = " " , g u i d a n c e _ s c a l e = 6 . 5 , n u m _ i n f e r e n c e _ s t e p s = 2 5 , ) . i m a g e s [ 0 ] i m a g e . s a v e ( " k o l o r s _ s a m p l e . p n g " ) ` ` ` # # # I P A d a p t e r K o l o r s n e e d s a d i f f e r e n t I P A d a p t e r t o w o r k , a n d i t u s e s [ O p e n a i - C L I P - 3 3 6 ] ( h t t p s : / / h u g g i n g f a c e . c o / o p e n a i / c l i p - v i t - l a r g e - p a t c h 1 4 - 3 3 6 ) a s a n i m a g e e n c o d e r . < T i p > U s i n g a n I P A d a p t e r w i t h K o l o r s r e q u i r e s m o r e t h a n 2 4 G B o f V R A M . T o u s e i t , w e r e c o m m e n d u s i n g ` e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` o n c o n s u m e r G P U s . < / T i p > < T i p > W h i l e K o l o r s i s i n t e g r a t e d i n D i f f u s e r s , y o u n e e d t o l o a d t h e i m a g e e n c o d e r f r o m a r e v i s i o n t o u s e t h e s a f e t e n s o r f i l e s . Y o u c a n s t i l l u s e t h e m a i n b r a n c h o f t h e o r i g i n a l r e p o s i t o r y i f y o u ' r e c o m f o r t a b l e l o a d i n g p i c k l e c h e c k p o i n t s . < / T i p > ` ` ` p y t h o n i m p o r t t o r c h f r o m t r a n s f o r m e r s i m p o r t C L I P V i s i o n M o d e l W i t h P r o j e c t i o n f r o m d i f f u s e r s i m p o r t D P M S o l v e r M u l t i s t e p S c h e d u l e r , K o l o r s P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m a g e _ e n c o d e r = C L I P V i s i o n M o d e l W i t h P r o j e c t i o n . f r o m _ p r e t r a i n e d ( " K w a i - K o l o r s / K o l o r s - I P - A d a p t e r - P l u s " , s u b f o l d e r = " i m a g e _ e n c o d e r " , l o w _ c p u _ m e m _ u s a g e = T r u e , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , r e v i s i o n = " r e f s / p r / 4 " , ) p i p e = K o l o r s P i p e l i n e . f r o m _ p r e t r a i n e d ( " K w a i - K o l o r s / K o l o r s - d i f f u s e r s " , i m a g e _ e n c o d e r = i m a g e _ e n c o d e r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e . s c h e d u l e r = D P M S o l v e r M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g , u s e _ k a r r a s _ s i g m a s = T r u e ) p i p e . l o a d _ i p _ a d a p t e r ( " K w a i - K o l o r s / K o l o r s - I P - A d a p t e r - P l u s " , s u b f o l d e r = " " , w e i g h t _ n a m e = " i p _ a d a p t e r _ p l u s _ g e n e r a l . s a f e t e n s o r s " , r e v i s i o n = " r e f s / p r / 4 " , i m a g e _ e n c o d e r _ f o l d e r = N o n e , ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) i p a _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / k o l o r s / c a t _ s q u a r e . p n g " ) i m a g e = p i p e ( p r o m p t = " b e s t q u a l i t y , h i g h q u a l i t y " , n e g a t i v e _ p r o m p t = " " , g u i d a n c e _ s c a l e = 6 . 5 , n u m _ i n f e r e n c e _ s t e p s = 2 5 , i p _ a d a p t e r _ i m a g e = i p a _ i m a g e , ) . i m a g e s [ 0 ] i m a g e . s a v e ( " k o l o r s _ i p a _ s a m p l e . p n g " ) ` ` ` # # K o l o r s P i p e l i n e - _ _ c a l l _ _ # # K o l o r s I m g 2 I m g P i p e l i n e - _ _ c a l l _ _ [ [ a u t o d o c ] ] K o l o r s P i p e l i n e - a l l [ [ a u t o d o c ] ] K o l o r s I m g 2 I m g P i p e l i n e - a l l # K a n d i n s k y 2 . 1 K a n d i n s k y 2 . 1 i s c r e a t e d b y [ A r s e n i y S h a k h m a t o v ] ( h t t p s : / / g i t h u b . c o m / c e n e 5 5 5 ) , [ A n t o n R a z z h i g a e v ] ( h t t p s : / / g i t h u b . c o m / r a z z a n t ) , [ A l e k s a n d r N i k o l i c h ] ( h t t p s : / / g i t h u b . c o m / A l e x W o r t e g a ) , [ V l a d i m i r A r k h i p k i n ] ( h t t p s : / / g i t h u b . c o m / o r i B e t e l g e u s e ) , [ I g o r P a v l o v ] ( h t t p s : / / g i t h u b . c o m / b o o m b 0 o m ) , [ A n d r e y K u z n e t s o v ] ( h t t p s : / / g i t h u b . c o m / k u z n e t s o f f a n d r e y ) , a n d [ D e n i s D i m i t r o v ] ( h t t p s : / / g i t h u b . c o m / d e n n d i m i t r o v ) . T h e d e s c r i p t i o n f r o m i t ' s G i t H u b p a g e i s : * K a n d i n s k y 2 . 1 i n h e r i t s b e s t p r a c t i c i e s f r o m D a l l - E 2 a n d L a t e n t d i f f u s i o n , w h i l e i n t r o d u c i n g s o m e n e w i d e a s . A s t e x t a n d i m a g e e n c o d e r i t u s e s C L I P m o d e l a n d d i f f u s i o n i m a g e p r i o r ( m a p p i n g ) b e t w e e n l a t e n t s p a c e s o f C L I P m o d a l i t i e s . T h i s a p p r o a c h i n c r e a s e s t h e v i s u a l p e r f o r m a n c e o f t h e m o d e l a n d u n v e i l s n e w h o r i z o n s i n b l e n d i n g i m a g e s a n d t e x t - g u i d e d i m a g e m a n i p u l a t i o n . * T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ a i - f o r e v e r / K a n d i n s k y - 2 ] ( h t t p s : / / g i t h u b . c o m / a i - f o r e v e r / K a n d i n s k y - 2 ) . < T i p > C h e c k o u t t h e [ K a n d i n s k y C o m m u n i t y ] ( h t t p s : / / h u g g i n g f a c e . c o / k a n d i n s k y - c o m m u n i t y ) o r g a n i z a t i o n o n t h e H u b f o r t h e o f f i c i a l m o d e l c h e c k p o i n t s f o r t a s k s l i k e t e x t - t o - i m a g e , i m a g e - t o - i m a g e , a n d i n p a i n t i n g . < / T i p > < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # K a n d i n s k y P r i o r P i p e l i n e # # K a n d i n s k y P i p e l i n e # # K a n d i n s k y C o m b i n e d P i p e l i n e # # K a n d i n s k y I m g 2 I m g P i p e l i n e # # K a n d i n s k y I m g 2 I m g C o m b i n e d P i p e l i n e # # K a n d i n s k y I n p a i n t P i p e l i n e # # K a n d i n s k y I n p a i n t C o m b i n e d P i p e l i n e [ [ a u t o d o c ] ] K a n d i n s k y P r i o r P i p e l i n e - a l l - _ _ c a l l _ _ - i n t e r p o l a t e [ [ a u t o d o c ] ] K a n d i n s k y P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] K a n d i n s k y C o m b i n e d P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] K a n d i n s k y I m g 2 I m g P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] K a n d i n s k y I m g 2 I m g C o m b i n e d P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] K a n d i n s k y I n p a i n t P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] K a n d i n s k y I n p a i n t C o m b i n e d P i p e l i n e - a l l - _ _ c a l l _ _ # A u d i o L D M A u d i o L D M w a s p r o p o s e d i n [ A u d i o L D M : T e x t - t o - A u d i o G e n e r a t i o n w i t h L a t e n t D i f f u s i o n M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 1 . 1 2 5 0 3 ) b y H a o h e L i u e t a l . I n s p i r e d b y [ S t a b l e D i f f u s i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / o v e r v i e w ) , A u d i o L D M i s a t e x t - t o - a u d i o _ l a t e n t d i f f u s i o n m o d e l ( L D M ) _ t h a t l e a r n s c o n t i n u o u s a u d i o r e p r e s e n t a t i o n s f r o m [ C L A P ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / m o d e l _ d o c / c l a p ) l a t e n t s . A u d i o L D M t a k e s a t e x t p r o m p t a s i n p u t a n d p r e d i c t s t h e c o r r e s p o n d i n g a u d i o . I t c a n g e n e r a t e t e x t - c o n d i t i o n a l s o u n d e f f e c t s , h u m a n s p e e c h a n d m u s i c . T h e a b s t r a c t f r o m t h e p a p e r i s : * T e x t - t o - a u d i o ( T T A ) s y s t e m h a s r e c e n t l y g a i n e d a t t e n t i o n f o r i t s a b i l i t y t o s y n t h e s i z e g e n e r a l a u d i o b a s e d o n t e x t d e s c r i p t i o n s . H o w e v e r , p r e v i o u s s t u d i e s i n T T A h a v e l i m i t e d g e n e r a t i o n q u a l i t y w i t h h i g h c o m p u t a t i o n a l c o s t s . I n t h i s s t u d y , w e p r o p o s e A u d i o L D M , a T T A s y s t e m t h a t i s b u i l t o n a l a t e n t s p a c e t o l e a r n t h e c o n t i n u o u s a u d i o r e p r e s e n t a t i o n s f r o m c o n t r a s t i v e l a n g u a g e - a u d i o p r e t r a i n i n g ( C L A P ) l a t e n t s . T h e p r e t r a i n e d C L A P m o d e l s e n a b l e u s t o t r a i n L D M s w i t h a u d i o e m b e d d i n g w h i l e p r o v i d i n g t e x t e m b e d d i n g a s a c o n d i t i o n d u r i n g s a m p l i n g . B y l e a r n i n g t h e l a t e n t r e p r e s e n t a t i o n s o f a u d i o s i g n a l s a n d t h e i r c o m p o s i t i o n s w i t h o u t m o d e l i n g t h e c r o s s - m o d a l r e l a t i o n s h i p , A u d i o L D M i s a d v a n t a g e o u s i n b o t h g e n e r a t i o n q u a l i t y a n d c o m p u t a t i o n a l e f f i c i e n c y . T r a i n e d o n A u d i o C a p s w i t h a s i n g l e G P U , A u d i o L D M a c h i e v e s s t a t e - o f - t h e - a r t T T A p e r f o r m a n c e m e a s u r e d b y b o t h o b j e c t i v e a n d s u b j e c t i v e m e t r i c s ( e . g . , f r e c h e t d i s t a n c e ) . M o r e o v e r , A u d i o L D M i s t h e f i r s t T T A s y s t e m t h a t e n a b l e s v a r i o u s t e x t - g u i d e d a u d i o m a n i p u l a t i o n s ( e . g . , s t y l e t r a n s f e r ) i n a z e r o - s h o t f a s h i o n . O u r i m p l e m e n t a t i o n a n d d e m o s a r e a v a i l a b l e a t [ t h i s h t t p s U R L ] ( h t t p s : / / a u d i o l d m . g i t h u b . i o / ) . * T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ h a o h e l i u / A u d i o L D M ] ( h t t p s : / / g i t h u b . c o m / h a o h e l i u / A u d i o L D M ) . # # T i p s W h e n c o n s t r u c t i n g a p r o m p t , k e e p i n m i n d : * D e s c r i p t i v e p r o m p t i n p u t s w o r k b e s t ; y o u c a n u s e a d j e c t i v e s t o d e s c r i b e t h e s o u n d ( f o r e x a m p l e , " h i g h q u a l i t y " o r " c l e a r " ) a n d m a k e t h e p r o m p t c o n t e x t s p e c i f i c ( f o r e x a m p l e , " w a t e r s t r e a m i n a f o r e s t " i n s t e a d o f " s t r e a m " ) . * I t ' s b e s t t o u s e g e n e r a l t e r m s l i k e " c a t " o r " d o g " i n s t e a d o f s p e c i f i c n a m e s o r a b s t r a c t o b j e c t s t h e m o d e l m a y n o t b e f a m i l i a r w i t h . D u r i n g i n f e r e n c e : * T h e _ q u a l i t y _ o f t h e p r e d i c t e d a u d i o s a m p l e c a n b e c o n t r o l l e d b y t h e ` n u m _ i n f e r e n c e _ s t e p s ` a r g u m e n t ; h i g h e r s t e p s g i v e h i g h e r q u a l i t y a u d i o a t t h e e x p e n s e o f s l o w e r i n f e r e n c e . * T h e _ l e n g t h _ o f t h e p r e d i c t e d a u d i o s a m p l e c a n b e c o n t r o l l e d b y v a r y i n g t h e ` a u d i o _ l e n g t h _ i n _ s ` a r g u m e n t . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # A u d i o L D M P i p e l i n e # # A u d i o P i p e l i n e O u t p u t [ [ a u t o d o c ] ] A u d i o L D M P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . A u d i o P i p e l i n e O u t p u t # H u n y u a n - D i T ! [ c h i n e s e e l e m e n t s u n d e r s t a n d i n g ] ( h t t p s : / / g i t h u b . c o m / g n o b i t a b / d i f f u s e r s - h u n y u a n / a s s e t s / 1 1 5 7 9 8 2 / 3 9 b 9 9 0 3 6 - c 3 c b - 4 f 1 6 - b b 1 a - 4 0 e c 2 5 e d a 5 7 3 ) [ H u n y u a n - D i T : A P o w e r f u l M u l t i - R e s o l u t i o n D i f f u s i o n T r a n s f o r m e r w i t h F i n e - G r a i n e d C h i n e s e U n d e r s t a n d i n g ] ( h t t p s : / / a r x i v . o r g / a b s / 2 4 0 5 . 0 8 7 4 8 ) f r o m T e n c e n t H u n y u a n . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e p r e s e n t H u n y u a n - D i T , a t e x t - t o - i m a g e d i f f u s i o n t r a n s f o r m e r w i t h f i n e - g r a i n e d u n d e r s t a n d i n g o f b o t h E n g l i s h a n d C h i n e s e . T o c o n s t r u c t H u n y u a n - D i T , w e c a r e f u l l y d e s i g n t h e t r a n s f o r m e r s t r u c t u r e , t e x t e n c o d e r , a n d p o s i t i o n a l e n c o d i n g . W e a l s o b u i l d f r o m s c r a t c h a w h o l e d a t a p i p e l i n e t o u p d a t e a n d e v a l u a t e d a t a f o r i t e r a t i v e m o d e l o p t i m i z a t i o n . F o r f i n e - g r a i n e d l a n g u a g e u n d e r s t a n d i n g , w e t r a i n a M u l t i m o d a l L a r g e L a n g u a g e M o d e l t o r e f i n e t h e c a p t i o n s o f t h e i m a g e s . F i n a l l y , H u n y u a n - D i T c a n p e r f o r m m u l t i - t u r n m u l t i m o d a l d i a l o g u e w i t h u s e r s , g e n e r a t i n g a n d r e f i n i n g i m a g e s a c c o r d i n g t o t h e c o n t e x t . T h r o u g h o u r h o l i s t i c h u m a n e v a l u a t i o n p r o t o c o l w i t h m o r e t h a n 5 0 p r o f e s s i o n a l h u m a n e v a l u a t o r s , H u n y u a n - D i T s e t s a n e w s t a t e - o f - t h e - a r t i n C h i n e s e - t o - i m a g e g e n e r a t i o n c o m p a r e d w i t h o t h e r o p e n - s o u r c e m o d e l s . * Y o u c a n f i n d t h e o r i g i n a l c o d e b a s e a t [ T e n c e n t / H u n y u a n D i T ] ( h t t p s : / / g i t h u b . c o m / T e n c e n t / H u n y u a n D i T ) a n d a l l t h e a v a i l a b l e c h e c k p o i n t s a t [ T e n c e n t - H u n y u a n ] ( h t t p s : / / h u g g i n g f a c e . c o / T e n c e n t - H u n y u a n / H u n y u a n D i T ) . * * H i g h l i g h t s * * : H u n y u a n D i T s u p p o r t s C h i n e s e / E n g l i s h - t o - i m a g e , m u l t i - r e s o l u t i o n g e n e r a t i o n . H u n y u a n D i T h a s t h e f o l l o w i n g c o m p o n e n t s : * I t u s e s a d i f f u s i o n t r a n s f o r m e r a s t h e b a c k b o n e * I t c o m b i n e s t w o t e x t e n c o d e r s , a b i l i n g u a l C L I P a n d a m u l t i l i n g u a l T 5 e n c o d e r < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s . m d ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g . m d # r e u s e - a - p i p e l i n e ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > < T i p > Y o u c a n f u r t h e r i m p r o v e g e n e r a t i o n q u a l i t y b y p a s s i n g t h e g e n e r a t e d i m a g e f r o m ` H u n g y u a n D i T P i p e l i n e ` t o t h e [ S D X L r e f i n e r ] ( . . / . . / u s i n g - d i f f u s e r s / s d x l # b a s e - t o - r e f i n e r - m o d e l ) m o d e l . < / T i p > # # O p t i m i z a t i o n Y o u c a n o p t i m i z e t h e p i p e l i n e ' s r u n t i m e a n d m e m o r y c o n s u m p t i o n w i t h t o r c h . c o m p i l e a n d f e e d - f o r w a r d c h u n k i n g . T o l e a r n a b o u t o t h e r o p t i m i z a t i o n m e t h o d s , c h e c k o u t t h e [ S p e e d u p i n f e r e n c e ] ( . . / . . / o p t i m i z a t i o n / f p 1 6 ) a n d [ R e d u c e m e m o r y u s a g e ] ( . . / . . / o p t i m i z a t i o n / m e m o r y ) g u i d e s . # # # I n f e r e n c e U s e [ ` t o r c h . c o m p i l e ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / t u t o r i a l s / f a s t _ d i f f u s i o n # t o r c h c o m p i l e ) t o r e d u c e t h e i n f e r e n c e l a t e n c y . F i r s t , l o a d t h e p i p e l i n e : ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t H u n y u a n D i T P i p e l i n e i m p o r t t o r c h p i p e l i n e = H u n y u a n D i T P i p e l i n e . f r o m _ p r e t r a i n e d ( " T e n c e n t - H u n y u a n / H u n y u a n D i T - D i f f u s e r s " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) ` ` ` T h e n c h a n g e t h e m e m o r y l a y o u t o f t h e p i p e l i n e s ` t r a n s f o r m e r ` a n d ` v a e ` c o m p o n e n t s t o ` t o r c h . c h a n n e l s - l a s t ` : ` ` ` p y t h o n p i p e l i n e . t r a n s f o r m e r . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) p i p e l i n e . v a e . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) ` ` ` F i n a l l y , c o m p i l e t h e c o m p o n e n t s a n d r u n i n f e r e n c e : ` ` ` p y t h o n p i p e l i n e . t r a n s f o r m e r = t o r c h . c o m p i l e ( p i p e l i n e . t r a n s f o r m e r , m o d e = " m a x - a u t o t u n e " , f u l l g r a p h = T r u e ) p i p e l i n e . v a e . d e c o d e = t o r c h . c o m p i l e ( p i p e l i n e . v a e . d e c o d e , m o d e = " m a x - a u t o t u n e " , f u l l g r a p h = T r u e ) i m a g e = p i p e l i n e ( p r o m p t = " ไธ€ ไธช ๅฎ‡ ่ˆช ๅ‘˜ ๅœจ ้ช‘ ้ฉฌ " ) . i m a g e s [ 0 ] ` ` ` T h e [ b e n c h m a r k ] ( h t t p s : / / g i s t . g i t h u b . c o m / s a y a k p a u l / 2 9 d 3 a 1 4 9 0 5 c f c b f 6 1 1 f e 7 1 e b d 2 2 e 9 b 2 3 ) r e s u l t s o n a 8 0 G B A 1 0 0 m a c h i n e a r e : ` ` ` b a s h W i t h t o r c h . c o m p i l e ( ) : A v e r a g e i n f e r e n c e t i m e : 1 2 . 4 7 0 s e c o n d s . W i t h o u t t o r c h . c o m p i l e ( ) : A v e r a g e i n f e r e n c e t i m e : 2 0 . 5 7 0 s e c o n d s . ` ` ` # # # M e m o r y o p t i m i z a t i o n B y l o a d i n g t h e T 5 t e x t e n c o d e r i n 8 b i t s , y o u c a n r u n t h e p i p e l i n e i n j u s t u n d e r 6 G B s o f G P U V R A M . R e f e r t o [ t h i s s c r i p t ] ( h t t p s : / / g i s t . g i t h u b . c o m / s a y a k p a u l / 3 1 5 4 6 0 5 f 6 a f 0 5 b 9 8 a 4 1 0 8 1 a a b a 5 c a 4 3 e ) f o r d e t a i l s . F u r t h e r m o r e , y o u c a n u s e t h e [ e n a b l e _ f o r w a r d _ c h u n k i n g ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / h u n y u a n _ t r a n s f o r m e r 2 d # d i f f u s e r s . H u n y u a n D i T 2 D M o d e l . e n a b l e _ f o r w a r d _ c h u n k i n g ) m e t h o d t o r e d u c e m e m o r y u s a g e . F e e d - f o r w a r d c h u n k i n g r u n s t h e f e e d - f o r w a r d l a y e r s i n a t r a n s f o r m e r b l o c k i n a l o o p i n s t e a d o f a l l a t o n c e . T h i s g i v e s y o u a t r a d e - o f f b e t w e e n m e m o r y c o n s u m p t i o n a n d i n f e r e n c e r u n t i m e . ` ` ` d i f f + p i p e l i n e . t r a n s f o r m e r . e n a b l e _ f o r w a r d _ c h u n k i n g ( c h u n k _ s i z e = 1 , d i m = 1 ) ` ` ` # # H u n y u a n D i T P i p e l i n e [ [ a u t o d o c ] ] H u n y u a n D i T P i p e l i n e - a l l - _ _ c a l l _ _ # S t a b l e u n C L I P S t a b l e u n C L I P c h e c k p o i n t s a r e f i n e t u n e d f r o m [ S t a b l e D i f f u s i o n 2 . 1 ] ( . / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ 2 ) c h e c k p o i n t s t o c o n d i t i o n o n C L I P i m a g e e m b e d d i n g s . S t a b l e u n C L I P s t i l l c o n d i t i o n s o n t e x t e m b e d d i n g s . G i v e n t h e t w o s e p a r a t e c o n d i t i o n i n g s , s t a b l e u n C L I P c a n b e u s e d f o r t e x t g u i d e d i m a g e v a r i a t i o n . W h e n c o m b i n e d w i t h a n u n C L I P p r i o r , i t c a n a l s o b e u s e d f o r f u l l t e x t t o i m a g e g e n e r a t i o n . T h e a b s t r a c t f r o m t h e p a p e r i s : * C o n t r a s t i v e m o d e l s l i k e C L I P h a v e b e e n s h o w n t o l e a r n r o b u s t r e p r e s e n t a t i o n s o f i m a g e s t h a t c a p t u r e b o t h s e m a n t i c s a n d s t y l e . T o l e v e r a g e t h e s e r e p r e s e n t a t i o n s f o r i m a g e g e n e r a t i o n , w e p r o p o s e a t w o - s t a g e m o d e l : a p r i o r t h a t g e n e r a t e s a C L I P i m a g e e m b e d d i n g g i v e n a t e x t c a p t i o n , a n d a d e c o d e r t h a t g e n e r a t e s a n i m a g e c o n d i t i o n e d o n t h e i m a g e e m b e d d i n g . W e s h o w t h a t e x p l i c i t l y g e n e r a t i n g i m a g e r e p r e s e n t a t i o n s i m p r o v e s i m a g e d i v e r s i t y w i t h m i n i m a l l o s s i n p h o t o r e a l i s m a n d c a p t i o n s i m i l a r i t y . O u r d e c o d e r s c o n d i t i o n e d o n i m a g e r e p r e s e n t a t i o n s c a n a l s o p r o d u c e v a r i a t i o n s o f a n i m a g e t h a t p r e s e r v e b o t h i t s s e m a n t i c s a n d s t y l e , w h i l e v a r y i n g t h e n o n - e s s e n t i a l d e t a i l s a b s e n t f r o m t h e i m a g e r e p r e s e n t a t i o n . M o r e o v e r , t h e j o i n t e m b e d d i n g s p a c e o f C L I P e n a b l e s l a n g u a g e - g u i d e d i m a g e m a n i p u l a t i o n s i n a z e r o - s h o t f a s h i o n . W e u s e d i f f u s i o n m o d e l s f o r t h e d e c o d e r a n d e x p e r i m e n t w i t h b o t h a u t o r e g r e s s i v e a n d d i f f u s i o n m o d e l s f o r t h e p r i o r , f i n d i n g t h a t t h e l a t t e r a r e c o m p u t a t i o n a l l y m o r e e f f i c i e n t a n d p r o d u c e h i g h e r - q u a l i t y s a m p l e s . * # # T i p s S t a b l e u n C L I P t a k e s ` n o i s e _ l e v e l ` a s i n p u t d u r i n g i n f e r e n c e w h i c h d e t e r m i n e s h o w m u c h n o i s e i s a d d e d t o t h e i m a g e e m b e d d i n g s . A h i g h e r ` n o i s e _ l e v e l ` i n c r e a s e s v a r i a t i o n i n t h e f i n a l u n - n o i s e d i m a g e s . B y d e f a u l t , w e d o n o t a d d a n y a d d i t i o n a l n o i s e t o t h e i m a g e e m b e d d i n g s ( ` n o i s e _ l e v e l = 0 ` ) . # # # T e x t - t o - I m a g e G e n e r a t i o n S t a b l e u n C L I P c a n b e l e v e r a g e d f o r t e x t - t o - i m a g e g e n e r a t i o n b y p i p e l i n i n g i t w i t h t h e p r i o r m o d e l o f K a k a o B r a i n ' s o p e n s o u r c e D A L L - E 2 r e p l i c a t i o n [ K a r l o ] ( h t t p s : / / h u g g i n g f a c e . c o / k a k a o b r a i n / k a r l o - v 1 - a l p h a ) : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t U n C L I P S c h e d u l e r , D D P M S c h e d u l e r , S t a b l e U n C L I P P i p e l i n e f r o m d i f f u s e r s . m o d e l s i m p o r t P r i o r T r a n s f o r m e r f r o m t r a n s f o r m e r s i m p o r t C L I P T o k e n i z e r , C L I P T e x t M o d e l W i t h P r o j e c t i o n p r i o r _ m o d e l _ i d = " k a k a o b r a i n / k a r l o - v 1 - a l p h a " d a t a _ t y p e = t o r c h . f l o a t 1 6 p r i o r = P r i o r T r a n s f o r m e r . f r o m _ p r e t r a i n e d ( p r i o r _ m o d e l _ i d , s u b f o l d e r = " p r i o r " , t o r c h _ d t y p e = d a t a _ t y p e ) p r i o r _ t e x t _ m o d e l _ i d = " o p e n a i / c l i p - v i t - l a r g e - p a t c h 1 4 " p r i o r _ t o k e n i z e r = C L I P T o k e n i z e r . f r o m _ p r e t r a i n e d ( p r i o r _ t e x t _ m o d e l _ i d ) p r i o r _ t e x t _ m o d e l = C L I P T e x t M o d e l W i t h P r o j e c t i o n . f r o m _ p r e t r a i n e d ( p r i o r _ t e x t _ m o d e l _ i d , t o r c h _ d t y p e = d a t a _ t y p e ) p r i o r _ s c h e d u l e r = U n C L I P S c h e d u l e r . f r o m _ p r e t r a i n e d ( p r i o r _ m o d e l _ i d , s u b f o l d e r = " p r i o r _ s c h e d u l e r " ) p r i o r _ s c h e d u l e r = D D P M S c h e d u l e r . f r o m _ c o n f i g ( p r i o r _ s c h e d u l e r . c o n f i g ) s t a b l e _ u n c l i p _ m o d e l _ i d = " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - 1 - u n c l i p - s m a l l " p i p e = S t a b l e U n C L I P P i p e l i n e . f r o m _ p r e t r a i n e d ( s t a b l e _ u n c l i p _ m o d e l _ i d , t o r c h _ d t y p e = d a t a _ t y p e , v a r i a n t = " f p 1 6 " , p r i o r _ t o k e n i z e r = p r i o r _ t o k e n i z e r , p r i o r _ t e x t _ e n c o d e r = p r i o r _ t e x t _ m o d e l , p r i o r = p r i o r , p r i o r _ s c h e d u l e r = p r i o r _ s c h e d u l e r , ) p i p e = p i p e . t o ( " c u d a " ) w a v e _ p r o m p t = " d r a m a t i c w a v e , t h e O c e a n s r o a r , S t r o n g w a v e s p i r a l a c r o s s t h e o c e a n s a s t h e w a v e s u n f u r l i n t o r o a r i n g c r e s t s ; p e r f e c t w a v e f o r m ; p e r f e c t w a v e s h a p e ; d r a m a t i c w a v e s h a p e ; w a v e s h a p e u n b e l i e v a b l e ; w a v e ; w a v e s h a p e s p e c t a c u l a r " i m a g e = p i p e ( p r o m p t = w a v e _ p r o m p t ) . i m a g e s [ 0 ] i m a g e ` ` ` < T i p w a r n i n g = { t r u e } > F o r t e x t - t o - i m a g e w e u s e ` s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - 1 - u n c l i p - s m a l l ` a s i t w a s t r a i n e d o n C L I P V i T - L / 1 4 e m b e d d i n g , t h e s a m e a s t h e K a r l o m o d e l p r i o r . [ s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - 1 - u n c l i p ] ( h t t p s : / / h f . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - 1 - u n c l i p ) w a s t r a i n e d o n O p e n C L I P V i T - H , s o w e d o n ' t r e c o m m e n d i t s u s e . < / T i p > # # # T e x t g u i d e d I m a g e - t o - I m a g e V a r i a t i o n ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t S t a b l e U n C L I P I m g 2 I m g P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m p o r t t o r c h p i p e = S t a b l e U n C L I P I m g 2 I m g P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - 1 - u n c l i p " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a t i o n = " f p 1 6 " ) p i p e = p i p e . t o ( " c u d a " ) u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / s t a b l e _ u n c l i p / t a r s i l a _ d o _ a m a r a l . p n g " i n i t _ i m a g e = l o a d _ i m a g e ( u r l ) i m a g e s = p i p e ( i n i t _ i m a g e ) . i m a g e s i m a g e s [ 0 ] . s a v e ( " v a r i a t i o n _ i m a g e . p n g " ) ` ` ` O p t i o n a l l y , y o u c a n a l s o p a s s a p r o m p t t o ` p i p e ` s u c h a s : ` ` ` p y t h o n p r o m p t = " A f a n t a s y l a n d s c a p e , t r e n d i n g o n a r t s t a t i o n " i m a g e = p i p e ( i n i t _ i m a g e , p r o m p t = p r o m p t ) . i m a g e s [ 0 ] i m a g e ` ` ` < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # S t a b l e U n C L I P P i p e l i n e # # S t a b l e U n C L I P I m g 2 I m g P i p e l i n e # # I m a g e P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S t a b l e U n C L I P P i p e l i n e - a l l - _ _ c a l l _ _ - e n a b l e _ a t t e n t i o n _ s l i c i n g - d i s a b l e _ a t t e n t i o n _ s l i c i n g - e n a b l e _ v a e _ s l i c i n g - d i s a b l e _ v a e _ s l i c i n g - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - d i s a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n [ [ a u t o d o c ] ] S t a b l e U n C L I P I m g 2 I m g P i p e l i n e - a l l - _ _ c a l l _ _ - e n a b l e _ a t t e n t i o n _ s l i c i n g - d i s a b l e _ a t t e n t i o n _ s l i c i n g - e n a b l e _ v a e _ s l i c i n g - d i s a b l e _ v a e _ s l i c i n g - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - d i s a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n [ [ a u t o d o c ] ] p i p e l i n e s . I m a g e P i p e l i n e O u t p u t # S e l f - A t t e n t i o n G u i d a n c e [ I m p r o v i n g S a m p l e Q u a l i t y o f D i f f u s i o n M o d e l s U s i n g S e l f - A t t e n t i o n G u i d a n c e ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 1 0 . 0 0 9 3 9 ) i s b y S u s u n g H o n g e t a l . T h e a b s t r a c t f r o m t h e p a p e r i s : * D e n o i s i n g d i f f u s i o n m o d e l s ( D D M s ) h a v e a t t r a c t e d a t t e n t i o n f o r t h e i r e x c e p t i o n a l g e n e r a t i o n q u a l i t y a n d d i v e r s i t y . T h i s s u c c e s s i s l a r g e l y a t t r i b u t e d t o t h e u s e o f c l a s s - o r t e x t - c o n d i t i o n a l d i f f u s i o n g u i d a n c e m e t h o d s , s u c h a s c l a s s i f i e r a n d c l a s s i f i e r - f r e e g u i d a n c e . I n t h i s p a p e r , w e p r e s e n t a m o r e c o m p r e h e n s i v e p e r s p e c t i v e t h a t g o e s b e y o n d t h e t r a d i t i o n a l g u i d a n c e m e t h o d s . F r o m t h i s g e n e r a l i z e d p e r s p e c t i v e , w e i n t r o d u c e n o v e l c o n d i t i o n - a n d t r a i n i n g - f r e e s t r a t e g i e s t o e n h a n c e t h e q u a l i t y o f g e n e r a t e d i m a g e s . A s a s i m p l e s o l u t i o n , b l u r g u i d a n c e i m p r o v e s t h e s u i t a b i l i t y o f i n t e r m e d i a t e s a m p l e s f o r t h e i r f i n e - s c a l e i n f o r m a t i o n a n d s t r u c t u r e s , e n a b l i n g d i f f u s i o n m o d e l s t o g e n e r a t e h i g h e r q u a l i t y s a m p l e s w i t h a m o d e r a t e g u i d a n c e s c a l e . I m p r o v i n g u p o n t h i s , S e l f - A t t e n t i o n G u i d a n c e ( S A G ) u s e s t h e i n t e r m e d i a t e s e l f - a t t e n t i o n m a p s o f d i f f u s i o n m o d e l s t o e n h a n c e t h e i r s t a b i l i t y a n d e f f i c a c y . S p e c i f i c a l l y , S A G a d v e r s a r i a l l y b l u r s o n l y t h e r e g i o n s t h a t d i f f u s i o n m o d e l s a t t e n d t o a t e a c h i t e r a t i o n a n d g u i d e s t h e m a c c o r d i n g l y . O u r e x p e r i m e n t a l r e s u l t s s h o w t h a t o u r S A G i m p r o v e s t h e p e r f o r m a n c e o f v a r i o u s d i f f u s i o n m o d e l s , i n c l u d i n g A D M , I D D P M , S t a b l e D i f f u s i o n , a n d D i T . M o r e o v e r , c o m b i n i n g S A G w i t h c o n v e n t i o n a l g u i d a n c e m e t h o d s l e a d s t o f u r t h e r i m p r o v e m e n t . * Y o u c a n f i n d a d d i t i o n a l i n f o r m a t i o n a b o u t S e l f - A t t e n t i o n G u i d a n c e o n t h e [ p r o j e c t p a g e ] ( h t t p s : / / k u - c v l a b . g i t h u b . i o / S e l f - A t t e n t i o n - G u i d a n c e ) , [ o r i g i n a l c o d e b a s e ] ( h t t p s : / / g i t h u b . c o m / K U - C V L A B / S e l f - A t t e n t i o n - G u i d a n c e ) , a n d t r y i t o u t i n a [ d e m o ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / s u s u n g h o n g / S e l f - A t t e n t i o n - G u i d a n c e ) o r [ n o t e b o o k ] ( h t t p s : / / c o l a b . r e s e a r c h . g o o g l e . c o m / g i t h u b / S u s u n g H o n g / S e l f - A t t e n t i o n - G u i d a n c e / b l o b / m a i n / S A G _ S t a b l e . i p y n b ) . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # S t a b l e D i f f u s i o n S A G P i p e l i n e # # S t a b l e D i f f u s i o n O u t p u t [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n S A G P i p e l i n e - _ _ c a l l _ _ - a l l [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # K a n d i n s k y 2 . 2 K a n d i n s k y 2 . 2 i s c r e a t e d b y [ A r s e n i y S h a k h m a t o v ] ( h t t p s : / / g i t h u b . c o m / c e n e 5 5 5 ) , [ A n t o n R a z z h i g a e v ] ( h t t p s : / / g i t h u b . c o m / r a z z a n t ) , [ A l e k s a n d r N i k o l i c h ] ( h t t p s : / / g i t h u b . c o m / A l e x W o r t e g a ) , [ V l a d i m i r A r k h i p k i n ] ( h t t p s : / / g i t h u b . c o m / o r i B e t e l g e u s e ) , [ I g o r P a v l o v ] ( h t t p s : / / g i t h u b . c o m / b o o m b 0 o m ) , [ A n d r e y K u z n e t s o v ] ( h t t p s : / / g i t h u b . c o m / k u z n e t s o f f a n d r e y ) , a n d [ D e n i s D i m i t r o v ] ( h t t p s : / / g i t h u b . c o m / d e n n d i m i t r o v ) . T h e d e s c r i p t i o n f r o m i t ' s G i t H u b p a g e i s : * K a n d i n s k y 2 . 2 b r i n g s s u b s t a n t i a l i m p r o v e m e n t s u p o n i t s p r e d e c e s s o r , K a n d i n s k y 2 . 1 , b y i n t r o d u c i n g a n e w , m o r e p o w e r f u l i m a g e e n c o d e r - C L I P - V i T - G a n d t h e C o n t r o l N e t s u p p o r t . T h e s w i t c h t o C L I P - V i T - G a s t h e i m a g e e n c o d e r s i g n i f i c a n t l y i n c r e a s e s t h e m o d e l ' s c a p a b i l i t y t o g e n e r a t e m o r e a e s t h e t i c p i c t u r e s a n d b e t t e r u n d e r s t a n d t e x t , t h u s e n h a n c i n g t h e m o d e l ' s o v e r a l l p e r f o r m a n c e . T h e a d d i t i o n o f t h e C o n t r o l N e t m e c h a n i s m a l l o w s t h e m o d e l t o e f f e c t i v e l y c o n t r o l t h e p r o c e s s o f g e n e r a t i n g i m a g e s . T h i s l e a d s t o m o r e a c c u r a t e a n d v i s u a l l y a p p e a l i n g o u t p u t s a n d o p e n s n e w p o s s i b i l i t i e s f o r t e x t - g u i d e d i m a g e m a n i p u l a t i o n . * T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ a i - f o r e v e r / K a n d i n s k y - 2 ] ( h t t p s : / / g i t h u b . c o m / a i - f o r e v e r / K a n d i n s k y - 2 ) . < T i p > C h e c k o u t t h e [ K a n d i n s k y C o m m u n i t y ] ( h t t p s : / / h u g g i n g f a c e . c o / k a n d i n s k y - c o m m u n i t y ) o r g a n i z a t i o n o n t h e H u b f o r t h e o f f i c i a l m o d e l c h e c k p o i n t s f o r t a s k s l i k e t e x t - t o - i m a g e , i m a g e - t o - i m a g e , a n d i n p a i n t i n g . < / T i p > < T i p > M a k e s u r e t o c h e c k o u t t h e s c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # K a n d i n s k y V 2 2 P r i o r P i p e l i n e # # K a n d i n s k y V 2 2 P i p e l i n e # # K a n d i n s k y V 2 2 C o m b i n e d P i p e l i n e # # K a n d i n s k y V 2 2 C o n t r o l n e t P i p e l i n e # # K a n d i n s k y V 2 2 P r i o r E m b 2 E m b P i p e l i n e # # K a n d i n s k y V 2 2 I m g 2 I m g P i p e l i n e # # K a n d i n s k y V 2 2 I m g 2 I m g C o m b i n e d P i p e l i n e # # K a n d i n s k y V 2 2 C o n t r o l n e t I m g 2 I m g P i p e l i n e # # K a n d i n s k y V 2 2 I n p a i n t P i p e l i n e # # K a n d i n s k y V 2 2 I n p a i n t C o m b i n e d P i p e l i n e [ [ a u t o d o c ] ] K a n d i n s k y V 2 2 P r i o r P i p e l i n e - a l l - _ _ c a l l _ _ - i n t e r p o l a t e [ [ a u t o d o c ] ] K a n d i n s k y V 2 2 P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] K a n d i n s k y V 2 2 C o m b i n e d P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] K a n d i n s k y V 2 2 C o n t r o l n e t P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] K a n d i n s k y V 2 2 P r i o r E m b 2 E m b P i p e l i n e - a l l - _ _ c a l l _ _ - i n t e r p o l a t e [ [ a u t o d o c ] ] K a n d i n s k y V 2 2 I m g 2 I m g P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] K a n d i n s k y V 2 2 I m g 2 I m g C o m b i n e d P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] K a n d i n s k y V 2 2 C o n t r o l n e t I m g 2 I m g P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] K a n d i n s k y V 2 2 I n p a i n t P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] K a n d i n s k y V 2 2 I n p a i n t C o m b i n e d P i p e l i n e - a l l - _ _ c a l l _ _ # C o n t r o l N e t w i t h S t a b l e D i f f u s i o n 3 S t a b l e D i f f u s i o n 3 C o n t r o l N e t P i p e l i n e i s a n i m p l e m e n t a t i o n o f C o n t r o l N e t f o r S t a b l e D i f f u s i o n 3 . C o n t r o l N e t w a s i n t r o d u c e d i n [ A d d i n g C o n d i t i o n a l C o n t r o l t o T e x t - t o - I m a g e D i f f u s i o n M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 2 . 0 5 5 4 3 ) b y L v m i n Z h a n g , A n y i R a o , a n d M a n e e s h A g r a w a l a . W i t h a C o n t r o l N e t m o d e l , y o u c a n p r o v i d e a n a d d i t i o n a l c o n t r o l i m a g e t o c o n d i t i o n a n d c o n t r o l S t a b l e D i f f u s i o n g e n e r a t i o n . F o r e x a m p l e , i f y o u p r o v i d e a d e p t h m a p , t h e C o n t r o l N e t m o d e l g e n e r a t e s a n i m a g e t h a t ' l l p r e s e r v e t h e s p a t i a l i n f o r m a t i o n f r o m t h e d e p t h m a p . I t i s a m o r e f l e x i b l e a n d a c c u r a t e w a y t o c o n t r o l t h e i m a g e g e n e r a t i o n p r o c e s s . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e p r e s e n t C o n t r o l N e t , a n e u r a l n e t w o r k a r c h i t e c t u r e t o a d d s p a t i a l c o n d i t i o n i n g c o n t r o l s t o l a r g e , p r e t r a i n e d t e x t - t o - i m a g e d i f f u s i o n m o d e l s . C o n t r o l N e t l o c k s t h e p r o d u c t i o n - r e a d y l a r g e d i f f u s i o n m o d e l s , a n d r e u s e s t h e i r d e e p a n d r o b u s t e n c o d i n g l a y e r s p r e t r a i n e d w i t h b i l l i o n s o f i m a g e s a s a s t r o n g b a c k b o n e t o l e a r n a d i v e r s e s e t o f c o n d i t i o n a l c o n t r o l s . T h e n e u r a l a r c h i t e c t u r e i s c o n n e c t e d w i t h " z e r o c o n v o l u t i o n s " ( z e r o - i n i t i a l i z e d c o n v o l u t i o n l a y e r s ) t h a t p r o g r e s s i v e l y g r o w t h e p a r a m e t e r s f r o m z e r o a n d e n s u r e t h a t n o h a r m f u l n o i s e c o u l d a f f e c t t h e f i n e t u n i n g . W e t e s t v a r i o u s c o n d i t i o n i n g c o n t r o l s , e g , e d g e s , d e p t h , s e g m e n t a t i o n , h u m a n p o s e , e t c , w i t h S t a b l e D i f f u s i o n , u s i n g s i n g l e o r m u l t i p l e c o n d i t i o n s , w i t h o r w i t h o u t p r o m p t s . W e s h o w t h a t t h e t r a i n i n g o f C o n t r o l N e t s i s r o b u s t w i t h s m a l l ( < 5 0 k ) a n d l a r g e ( > 1 m ) d a t a s e t s . E x t e n s i v e r e s u l t s s h o w t h a t C o n t r o l N e t m a y f a c i l i t a t e w i d e r a p p l i c a t i o n s t o c o n t r o l i m a g e d i f f u s i o n m o d e l s . * T h i s c o n t r o l n e t c o d e i s m a i n l y i m p l e m e n t e d b y [ T h e I n s t a n t X T e a m ] ( h t t p s : / / h u g g i n g f a c e . c o / I n s t a n t X ) . T h e i n p a i n t i n g - r e l a t e d c o d e w a s d e v e l o p e d b y [ T h e A l i m a m a C r e a t i v e T e a m ] ( h t t p s : / / h u g g i n g f a c e . c o / a l i m a m a - c r e a t i v e ) . Y o u c a n f i n d p r e - t r a i n e d c h e c k p o i n t s f o r S D 3 - C o n t r o l N e t i n t h e t a b l e b e l o w : | C o n t r o l N e t t y p e | D e v e l o p e r | L i n k | | - - - - - - - - | - - - - - - - - - - | - - - - | | C a n n y | [ T h e I n s t a n t X T e a m ] ( h t t p s : / / h u g g i n g f a c e . c o / I n s t a n t X ) | [ L i n k ] ( h t t p s : / / h u g g i n g f a c e . c o / I n s t a n t X / S D 3 - C o n t r o l n e t - C a n n y ) | | P o s e | [ T h e I n s t a n t X T e a m ] ( h t t p s : / / h u g g i n g f a c e . c o / I n s t a n t X ) | [ L i n k ] ( h t t p s : / / h u g g i n g f a c e . c o / I n s t a n t X / S D 3 - C o n t r o l n e t - P o s e ) | | T i l e | [ T h e I n s t a n t X T e a m ] ( h t t p s : / / h u g g i n g f a c e . c o / I n s t a n t X ) | [ L i n k ] ( h t t p s : / / h u g g i n g f a c e . c o / I n s t a n t X / S D 3 - C o n t r o l n e t - T i l e ) | | I n p a i n t i n g | [ T h e A l i m a m a C r e a t i v e T e a m ] ( h t t p s : / / h u g g i n g f a c e . c o / a l i m a m a - c r e a t i v e ) | [ l i n k ] ( h t t p s : / / h u g g i n g f a c e . c o / a l i m a m a - c r e a t i v e / S D 3 - C o n t r o l n e t - I n p a i n t i n g ) | < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # S t a b l e D i f f u s i o n 3 C o n t r o l N e t P i p e l i n e # # S t a b l e D i f f u s i o n 3 C o n t r o l N e t I n p a i n t i n g P i p e l i n e # # S t a b l e D i f f u s i o n 3 P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n 3 C o n t r o l N e t P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . c o n t r o l n e t _ s d 3 . p i p e l i n e _ s t a b l e _ d i f f u s i o n _ 3 _ c o n t r o l n e t _ i n p a i n t i n g . S t a b l e D i f f u s i o n 3 C o n t r o l N e t I n p a i n t i n g P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n _ 3 . p i p e l i n e _ o u t p u t . S t a b l e D i f f u s i o n 3 P i p e l i n e O u t p u t # L E D I T S + + L E D I T S + + w a s p r o p o s e d i n [ L E D I T S + + : L i m i t l e s s I m a g e E d i t i n g u s i n g T e x t - t o - I m a g e M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 1 1 . 1 6 7 1 1 ) b y M a n u e l B r a c k , F e l i x F r i e d r i c h , K a t h a r i n a K o r n m e i e r , L i n o y T s a b a n , P a t r i c k S c h r a m o w s k i , K r i s t i a n K e r s t i n g , A p o l i n รก r i o P a s s o s . T h e a b s t r a c t f r o m t h e p a p e r i s : * T e x t - t o - i m a g e d i f f u s i o n m o d e l s h a v e r e c e n t l y r e c e i v e d i n c r e a s i n g i n t e r e s t f o r t h e i r a s t o n i s h i n g a b i l i t y t o p r o d u c e h i g h - f i d e l i t y i m a g e s f r o m s o l e l y t e x t i n p u t s . S u b s e q u e n t r e s e a r c h e f f o r t s a i m t o e x p l o i t a n d a p p l y t h e i r c a p a b i l i t i e s t o r e a l i m a g e e d i t i n g . H o w e v e r , e x i s t i n g i m a g e - t o - i m a g e m e t h o d s a r e o f t e n i n e f f i c i e n t , i m p r e c i s e , a n d o f l i m i t e d v e r s a t i l i t y . T h e y e i t h e r r e q u i r e t i m e - c o n s u m i n g f i n e - t u n i n g , d e v i a t e u n n e c e s s a r i l y s t r o n g l y f r o m t h e i n p u t i m a g e , a n d / o r l a c k s u p p o r t f o r m u l t i p l e , s i m u l t a n e o u s e d i t s . T o a d d r e s s t h e s e i s s u e s , w e i n t r o d u c e L E D I T S + + , a n e f f i c i e n t y e t v e r s a t i l e a n d p r e c i s e t e x t u a l i m a g e m a n i p u l a t i o n t e c h n i q u e . L E D I T S + + ' s n o v e l i n v e r s i o n a p p r o a c h r e q u i r e s n o t u n i n g n o r o p t i m i z a t i o n a n d p r o d u c e s h i g h - f i d e l i t y r e s u l t s w i t h a f e w d i f f u s i o n s t e p s . S e c o n d , o u r m e t h o d o l o g y s u p p o r t s m u l t i p l e s i m u l t a n e o u s e d i t s a n d i s a r c h i t e c t u r e - a g n o s t i c . T h i r d , w e u s e a n o v e l i m p l i c i t m a s k i n g t e c h n i q u e t h a t l i m i t s c h a n g e s t o r e l e v a n t i m a g e r e g i o n s . W e p r o p o s e t h e n o v e l T E d B e n c h + + b e n c h m a r k a s p a r t o f o u r e x h a u s t i v e e v a l u a t i o n . O u r r e s u l t s d e m o n s t r a t e t h e c a p a b i l i t i e s o f L E D I T S + + a n d i t s i m p r o v e m e n t s o v e r p r e v i o u s m e t h o d s . T h e p r o j e c t p a g e i s a v a i l a b l e a t h t t p s : / / l e d i t s p l u s p l u s - p r o j e c t . s t a t i c . h f . s p a c e . * < T i p > Y o u c a n f i n d a d d i t i o n a l i n f o r m a t i o n a b o u t L E D I T S + + o n t h e [ p r o j e c t p a g e ] ( h t t p s : / / l e d i t s p l u s p l u s - p r o j e c t . s t a t i c . h f . s p a c e / i n d e x . h t m l ) a n d t r y i t o u t i n a [ d e m o ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / e d i t i n g - i m a g e s / l e d i t s p l u s p l u s ) . < / T i p > < T i p w a r n i n g = { t r u e } > D u e t o s o m e b a c k w a r d c o m p a t a b i l i t y i s s u e s w i t h t h e c u r r e n t d i f f u s e r s i m p l e m e n t a t i o n o f [ D P M S o l v e r M u l t i s t e p S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / m u l t i s t e p _ d p m _ s o l v e r # d i f f u s e r s . D P M S o l v e r M u l t i s t e p S c h e d u l e r ) t h i s i m p l e m e n t a t i o n o f L E d i t s + + c a n n o l o n g e r g u a r a n t e e p e r f e c t i n v e r s i o n . T h i s i s s u e i s u n l i k e l y t o h a v e a n y n o t i c e a b l e e f f e c t s o n a p p l i e d u s e - c a s e s . H o w e v e r , w e p r o v i d e a n a l t e r n a t i v e i m p l e m e n t a t i o n t h a t g u a r a n t e e s p e r f e c t i n v e r s i o n i n a d e d i c a t e d [ G i t H u b r e p o ] ( h t t p s : / / g i t h u b . c o m / m l - r e s e a r c h / l e d i t s _ p p ) . < / T i p > W e p r o v i d e t w o d i s t i n c t p i p e l i n e s b a s e d o n d i f f e r e n t p r e - t r a i n e d m o d e l s . # # L E d i t s P P P i p e l i n e S t a b l e D i f f u s i o n # # L E d i t s P P P i p e l i n e S t a b l e D i f f u s i o n X L # # L E d i t s P P D i f f u s i o n P i p e l i n e O u t p u t # # L E d i t s P P I n v e r s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] p i p e l i n e s . l e d i t s _ p p . L E d i t s P P P i p e l i n e S t a b l e D i f f u s i o n - a l l - _ _ c a l l _ _ - i n v e r t [ [ a u t o d o c ] ] p i p e l i n e s . l e d i t s _ p p . L E d i t s P P P i p e l i n e S t a b l e D i f f u s i o n X L - a l l - _ _ c a l l _ _ - i n v e r t [ [ a u t o d o c ] ] p i p e l i n e s . l e d i t s _ p p . p i p e l i n e _ o u t p u t . L E d i t s P P D i f f u s i o n P i p e l i n e O u t p u t - a l l [ [ a u t o d o c ] ] p i p e l i n e s . l e d i t s _ p p . p i p e l i n e _ o u t p u t . L E d i t s P P I n v e r s i o n P i p e l i n e O u t p u t - a l l # P i p e l i n e s P i p e l i n e s p r o v i d e a s i m p l e w a y t o r u n s t a t e - o f - t h e - a r t d i f f u s i o n m o d e l s i n i n f e r e n c e b y b u n d l i n g a l l o f t h e n e c e s s a r y c o m p o n e n t s ( m u l t i p l e i n d e p e n d e n t l y - t r a i n e d m o d e l s , s c h e d u l e r s , a n d p r o c e s s o r s ) i n t o a s i n g l e e n d - t o - e n d c l a s s . P i p e l i n e s a r e f l e x i b l e a n d t h e y c a n b e a d a p t e d t o u s e d i f f e r e n t s c h e d u l e r s o r e v e n m o d e l c o m p o n e n t s . A l l p i p e l i n e s a r e b u i l t f r o m t h e b a s e ` D i f f u s i o n P i p e l i n e ` c l a s s w h i c h p r o v i d e s b a s i c f u n c t i o n a l i t y f o r l o a d i n g , d o w n l o a d i n g , a n d s a v i n g a l l t h e c o m p o n e n t s . S p e c i f i c p i p e l i n e t y p e s ( f o r e x a m p l e ` S t a b l e D i f f u s i o n P i p e l i n e ` ) l o a d e d w i t h ` f r o m _ p r e t r a i n e d ( ) ` a r e a u t o m a t i c a l l y d e t e c t e d a n d t h e p i p e l i n e c o m p o n e n t s a r e l o a d e d a n d p a s s e d t o t h e ` _ _ i n i t _ _ ` f u n c t i o n o f t h e p i p e l i n e . < T i p w a r n i n g = { t r u e } > Y o u s h o u l d n ' t u s e t h e ` D i f f u s i o n P i p e l i n e ` c l a s s f o r t r a i n i n g . I n d i v i d u a l c o m p o n e n t s ( f o r e x a m p l e , [ U N e t 2 D M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / u n e t 2 d # d i f f u s e r s . U N e t 2 D M o d e l ) a n d [ U N e t 2 D C o n d i t i o n M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / u n e t 2 d - c o n d # d i f f u s e r s . U N e t 2 D C o n d i t i o n M o d e l ) ) o f d i f f u s i o n p i p e l i n e s a r e u s u a l l y t r a i n e d i n d i v i d u a l l y , s o w e s u g g e s t d i r e c t l y w o r k i n g w i t h t h e m i n s t e a d . < b r > P i p e l i n e s d o n o t o f f e r a n y t r a i n i n g f u n c t i o n a l i t y . Y o u ' l l n o t i c e P y T o r c h ' s a u t o g r a d i s d i s a b l e d b y d e c o r a t i n g t h e ` _ _ c a l l _ _ ( ) ` m e t h o d w i t h a [ ` t o r c h . n o _ g r a d ` ] ( h t t p s : / / p y t o r c h . o r g / d o c s / s t a b l e / g e n e r a t e d / t o r c h . n o _ g r a d . h t m l ) d e c o r a t o r b e c a u s e p i p e l i n e s s h o u l d n o t b e u s e d f o r t r a i n i n g . I f y o u ' r e i n t e r e s t e d i n t r a i n i n g , p l e a s e t a k e a l o o k a t t h e [ T r a i n i n g ] ( . . / . . / t r a i n i n g / o v e r v i e w ) g u i d e s i n s t e a d ! < / T i p > T h e t a b l e b e l o w l i s t s a l l t h e p i p e l i n e s c u r r e n t l y a v a i l a b l e i n ๐Ÿค— D i f f u s e r s a n d t h e t a s k s t h e y s u p p o r t . C l i c k o n a p i p e l i n e t o v i e w i t s a b s t r a c t a n d p u b l i s h e d p a p e r . | P i p e l i n e | T a s k s | | - - - | - - - | | [ a M U S E d ] ( a m u s e d ) | t e x t 2 i m a g e | | [ A n i m a t e D i f f ] ( a n i m a t e d i f f ) | t e x t 2 v i d e o | | [ A t t e n d - a n d - E x c i t e ] ( a t t e n d _ a n d _ e x c i t e ) | t e x t 2 i m a g e | | [ A u d i o L D M ] ( a u d i o l d m ) | t e x t 2 a u d i o | | [ A u d i o L D M 2 ] ( a u d i o l d m 2 ) | t e x t 2 a u d i o | | [ A u r a F l o w ] ( a u r a f l o w ) | t e x t 2 i m a g e | | [ B L I P D i f f u s i o n ] ( b l i p _ d i f f u s i o n ) | t e x t 2 i m a g e | | [ C o g V i d e o X ] ( c o g v i d e o x ) | t e x t 2 v i d e o | | [ C o n s i s t e n c y M o d e l s ] ( c o n s i s t e n c y _ m o d e l s ) | u n c o n d i t i o n a l i m a g e g e n e r a t i o n | | [ C o n t r o l N e t ] ( c o n t r o l n e t ) | t e x t 2 i m a g e , i m a g e 2 i m a g e , i n p a i n t i n g | | [ C o n t r o l N e t w i t h F l u x . 1 ] ( c o n t r o l n e t _ f l u x ) | t e x t 2 i m a g e | | [ C o n t r o l N e t w i t h H u n y u a n - D i T ] ( c o n t r o l n e t _ h u n y u a n d i t ) | t e x t 2 i m a g e | | [ C o n t r o l N e t w i t h S t a b l e D i f f u s i o n 3 ] ( c o n t r o l n e t _ s d 3 ) | t e x t 2 i m a g e | | [ C o n t r o l N e t w i t h S t a b l e D i f f u s i o n X L ] ( c o n t r o l n e t _ s d x l ) | t e x t 2 i m a g e | | [ C o n t r o l N e t - X S ] ( c o n t r o l n e t x s ) | t e x t 2 i m a g e | | [ C o n t r o l N e t - X S w i t h S t a b l e D i f f u s i o n X L ] ( c o n t r o l n e t x s _ s d x l ) | t e x t 2 i m a g e | | [ D a n c e D i f f u s i o n ] ( d a n c e _ d i f f u s i o n ) | u n c o n d i t i o n a l a u d i o g e n e r a t i o n | | [ D D I M ] ( d d i m ) | u n c o n d i t i o n a l i m a g e g e n e r a t i o n | | [ D D P M ] ( d d p m ) | u n c o n d i t i o n a l i m a g e g e n e r a t i o n | | [ D e e p F l o y d I F ] ( d e e p f l o y d _ i f ) | t e x t 2 i m a g e , i m a g e 2 i m a g e , i n p a i n t i n g , s u p e r - r e s o l u t i o n | | [ D i f f E d i t ] ( d i f f e d i t ) | i n p a i n t i n g | | [ D i T ] ( d i t ) | t e x t 2 i m a g e | | [ F l u x ] ( f l u x ) | t e x t 2 i m a g e | | [ H u n y u a n - D i T ] ( h u n y u a n d i t ) | t e x t 2 i m a g e | | [ I 2 V G e n - X L ] ( i 2 v g e n x l ) | t e x t 2 v i d e o | | [ I n s t r u c t P i x 2 P i x ] ( p i x 2 p i x ) | i m a g e e d i t i n g | | [ K a n d i n s k y 2 . 1 ] ( k a n d i n s k y ) | t e x t 2 i m a g e , i m a g e 2 i m a g e , i n p a i n t i n g , i n t e r p o l a t i o n | | [ K a n d i n s k y 2 . 2 ] ( k a n d i n s k y _ v 2 2 ) | t e x t 2 i m a g e , i m a g e 2 i m a g e , i n p a i n t i n g | | [ K a n d i n s k y 3 ] ( k a n d i n s k y 3 ) | t e x t 2 i m a g e , i m a g e 2 i m a g e | | [ K o l o r s ] ( k o l o r s ) | t e x t 2 i m a g e | | [ L a t e n t C o n s i s t e n c y M o d e l s ] ( l a t e n t _ c o n s i s t e n c y _ m o d e l s ) | t e x t 2 i m a g e | | [ L a t e n t D i f f u s i o n ] ( l a t e n t _ d i f f u s i o n ) | t e x t 2 i m a g e , s u p e r - r e s o l u t i o n | | [ L a t t e ] ( l a t t e ) | t e x t 2 i m a g e | | [ L E D I T S + + ] ( l e d i t s _ p p ) | i m a g e e d i t i n g | | [ L u m i n a - T 2 X ] ( l u m i n a ) | t e x t 2 i m a g e | | [ M a r i g o l d ] ( m a r i g o l d ) | d e p t h | | [ M u l t i D i f f u s i o n ] ( p a n o r a m a ) | t e x t 2 i m a g e | | [ M u s i c L D M ] ( m u s i c l d m ) | t e x t 2 a u d i o | | [ P A G ] ( p a g ) | t e x t 2 i m a g e | | [ P a i n t b y E x a m p l e ] ( p a i n t _ b y _ e x a m p l e ) | i n p a i n t i n g | | [ P I A ] ( p i a ) | i m a g e 2 v i d e o | | [ P i x A r t - ฮฑ ] ( p i x a r t ) | t e x t 2 i m a g e | | [ P i x A r t - ฮฃ ] ( p i x a r t _ s i g m a ) | t e x t 2 i m a g e | | [ S e l f - A t t e n t i o n G u i d a n c e ] ( s e l f _ a t t e n t i o n _ g u i d a n c e ) | t e x t 2 i m a g e | | [ S e m a n t i c G u i d a n c e ] ( s e m a n t i c _ s t a b l e _ d i f f u s i o n ) | t e x t 2 i m a g e | | [ S h a p - E ] ( s h a p _ e ) | t e x t - t o - 3 D , i m a g e - t o - 3 D | | [ S t a b l e A u d i o ] ( s t a b l e _ a u d i o ) | t e x t 2 a u d i o | | [ S t a b l e C a s c a d e ] ( s t a b l e _ c a s c a d e ) | t e x t 2 i m a g e | | [ S t a b l e D i f f u s i o n ] ( s t a b l e _ d i f f u s i o n / o v e r v i e w ) | t e x t 2 i m a g e , i m a g e 2 i m a g e , d e p t h 2 i m a g e , i n p a i n t i n g , i m a g e v a r i a t i o n , l a t e n t u p s c a l e r , s u p e r - r e s o l u t i o n | | [ S t a b l e D i f f u s i o n X L ] ( s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l ) | t e x t 2 i m a g e , i m a g e 2 i m a g e , i n p a i n t i n g | | [ S t a b l e D i f f u s i o n X L T u r b o ] ( s t a b l e _ d i f f u s i o n / s d x l _ t u r b o ) | t e x t 2 i m a g e , i m a g e 2 i m a g e , i n p a i n t i n g | | [ S t a b l e u n C L I P ] ( s t a b l e _ u n c l i p ) | t e x t 2 i m a g e , i m a g e v a r i a t i o n | | [ T 2 I - A d a p t e r ] ( s t a b l e _ d i f f u s i o n / a d a p t e r ) | t e x t 2 i m a g e | | [ T e x t 2 V i d e o ] ( t e x t _ t o _ v i d e o ) | t e x t 2 v i d e o , v i d e o 2 v i d e o | | [ T e x t 2 V i d e o - Z e r o ] ( t e x t _ t o _ v i d e o _ z e r o ) | t e x t 2 v i d e o | | [ u n C L I P ] ( u n c l i p ) | t e x t 2 i m a g e , i m a g e v a r i a t i o n | | [ U n i D i f f u s e r ] ( u n i d i f f u s e r ) | t e x t 2 i m a g e , i m a g e 2 t e x t , i m a g e v a r i a t i o n , t e x t v a r i a t i o n , u n c o n d i t i o n a l i m a g e g e n e r a t i o n , u n c o n d i t i o n a l a u d i o g e n e r a t i o n | | [ V a l u e - g u i d e d p l a n n i n g ] ( v a l u e _ g u i d e d _ s a m p l i n g ) | v a l u e g u i d e d s a m p l i n g | | [ W u e r s t c h e n ] ( w u e r s t c h e n ) | t e x t 2 i m a g e | # # D i f f u s i o n P i p e l i n e # # F l a x D i f f u s i o n P i p e l i n e # # P u s h T o H u b M i x i n [ [ a u t o d o c ] ] D i f f u s i o n P i p e l i n e - a l l - _ _ c a l l _ _ - d e v i c e - t o - c o m p o n e n t s [ [ a u t o d o c ] ] p i p e l i n e s . S t a b l e D i f f u s i o n M i x i n . e n a b l e _ f r e e u [ [ a u t o d o c ] ] p i p e l i n e s . S t a b l e D i f f u s i o n M i x i n . d i s a b l e _ f r e e u [ [ a u t o d o c ] ] p i p e l i n e s . p i p e l i n e _ f l a x _ u t i l s . F l a x D i f f u s i o n P i p e l i n e [ [ a u t o d o c ] ] u t i l s . P u s h T o H u b M i x i n # M u s i c L D M M u s i c L D M w a s p r o p o s e d i n [ M u s i c L D M : E n h a n c i n g N o v e l t y i n T e x t - t o - M u s i c G e n e r a t i o n U s i n g B e a t - S y n c h r o n o u s M i x u p S t r a t e g i e s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 8 . 0 1 5 4 6 ) b y K e C h e n , Y u s o n g W u , H a o h e L i u , M a r i a n n a N e z h u r i n a , T a y l o r B e r g - K i r k p a t r i c k , S h l o m o D u b n o v . M u s i c L D M t a k e s a t e x t p r o m p t a s i n p u t a n d p r e d i c t s t h e c o r r e s p o n d i n g m u s i c s a m p l e . I n s p i r e d b y [ S t a b l e D i f f u s i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / o v e r v i e w ) a n d [ A u d i o L D M ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / a p i / p i p e l i n e s / a u d i o l d m ) , M u s i c L D M i s a t e x t - t o - m u s i c _ l a t e n t d i f f u s i o n m o d e l ( L D M ) _ t h a t l e a r n s c o n t i n u o u s a u d i o r e p r e s e n t a t i o n s f r o m [ C L A P ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / m o d e l _ d o c / c l a p ) l a t e n t s . M u s i c L D M i s t r a i n e d o n a c o r p u s o f 4 6 6 h o u r s o f m u s i c d a t a . B e a t - s y n c h r o n o u s d a t a a u g m e n t a t i o n s t r a t e g i e s a r e a p p l i e d t o t h e m u s i c s a m p l e s , b o t h i n t h e t i m e d o m a i n a n d i n t h e l a t e n t s p a c e . U s i n g b e a t - s y n c h r o n o u s d a t a a u g m e n t a t i o n s t r a t e g i e s e n c o u r a g e s t h e m o d e l t o i n t e r p o l a t e b e t w e e n t h e t r a i n i n g s a m p l e s , b u t s t a y w i t h i n t h e d o m a i n o f t h e t r a i n i n g d a t a . T h e r e s u l t i s g e n e r a t e d m u s i c t h a t i s m o r e d i v e r s e w h i l e s t a y i n g f a i t h f u l t o t h e c o r r e s p o n d i n g s t y l e . T h e a b s t r a c t o f t h e p a p e r i s t h e f o l l o w i n g : * D i f f u s i o n m o d e l s h a v e s h o w n p r o m i s i n g r e s u l t s i n c r o s s - m o d a l g e n e r a t i o n t a s k s , i n c l u d i n g t e x t - t o - i m a g e a n d t e x t - t o - a u d i o g e n e r a t i o n . H o w e v e r , g e n e r a t i n g m u s i c , a s a s p e c i a l t y p e o f a u d i o , p r e s e n t s u n i q u e c h a l l e n g e s d u e t o l i m i t e d a v a i l a b i l i t y o f m u s i c d a t a a n d s e n s i t i v e i s s u e s r e l a t e d t o c o p y r i g h t a n d p l a g i a r i s m . I n t h i s p a p e r , t o t a c k l e t h e s e c h a l l e n g e s , w e f i r s t c o n s t r u c t a s t a t e - o f - t h e - a r t t e x t - t o - m u s i c m o d e l , M u s i c L D M , t h a t a d a p t s S t a b l e D i f f u s i o n a n d A u d i o L D M a r c h i t e c t u r e s t o t h e m u s i c d o m a i n . W e a c h i e v e t h i s b y r e t r a i n i n g t h e c o n t r a s t i v e l a n g u a g e - a u d i o p r e t r a i n i n g m o d e l ( C L A P ) a n d t h e H i f i - G A N v o c o d e r , a s c o m p o n e n t s o f M u s i c L D M , o n a c o l l e c t i o n o f m u s i c d a t a s a m p l e s . T h e n , t o a d d r e s s t h e l i m i t a t i o n s o f t r a i n i n g d a t a a n d t o a v o i d p l a g i a r i s m , w e l e v e r a g e a b e a t t r a c k i n g m o d e l a n d p r o p o s e t w o d i f f e r e n t m i x u p s t r a t e g i e s f o r d a t a a u g m e n t a t i o n : b e a t - s y n c h r o n o u s a u d i o m i x u p a n d b e a t - s y n c h r o n o u s l a t e n t m i x u p , w h i c h r e c o m b i n e t r a i n i n g a u d i o d i r e c t l y o r v i a a l a t e n t e m b e d d i n g s s p a c e , r e s p e c t i v e l y . S u c h m i x u p s t r a t e g i e s e n c o u r a g e t h e m o d e l t o i n t e r p o l a t e b e t w e e n m u s i c a l t r a i n i n g s a m p l e s a n d g e n e r a t e n e w m u s i c w i t h i n t h e c o n v e x h u l l o f t h e t r a i n i n g d a t a , m a k i n g t h e g e n e r a t e d m u s i c m o r e d i v e r s e w h i l e s t i l l s t a y i n g f a i t h f u l t o t h e c o r r e s p o n d i n g s t y l e . I n a d d i t i o n t o p o p u l a r e v a l u a t i o n m e t r i c s , w e d e s i g n s e v e r a l n e w e v a l u a t i o n m e t r i c s b a s e d o n C L A P s c o r e t o d e m o n s t r a t e t h a t o u r p r o p o s e d M u s i c L D M a n d b e a t - s y n c h r o n o u s m i x u p s t r a t e g i e s i m p r o v e b o t h t h e q u a l i t y a n d n o v e l t y o f g e n e r a t e d m u s i c , a s w e l l a s t h e c o r r e s p o n d e n c e b e t w e e n i n p u t t e x t a n d g e n e r a t e d m u s i c . * T h i s p i p e l i n e w a s c o n t r i b u t e d b y [ s a n c h i t - g a n d h i ] ( h t t p s : / / h u g g i n g f a c e . c o / s a n c h i t - g a n d h i ) . # # T i p s W h e n c o n s t r u c t i n g a p r o m p t , k e e p i n m i n d : * D e s c r i p t i v e p r o m p t i n p u t s w o r k b e s t ; u s e a d j e c t i v e s t o d e s c r i b e t h e s o u n d ( f o r e x a m p l e , " h i g h q u a l i t y " o r " c l e a r " ) a n d m a k e t h e p r o m p t c o n t e x t s p e c i f i c w h e r e p o s s i b l e ( e . g . " m e l o d i c t e c h n o w i t h a f a s t b e a t a n d s y n t h s " w o r k s b e t t e r t h a n " t e c h n o " ) . * U s i n g a * n e g a t i v e p r o m p t * c a n s i g n i f i c a n t l y i m p r o v e t h e q u a l i t y o f t h e g e n e r a t e d a u d i o . T r y u s i n g a n e g a t i v e p r o m p t o f " l o w q u a l i t y , a v e r a g e q u a l i t y " . D u r i n g i n f e r e n c e : * T h e _ q u a l i t y _ o f t h e g e n e r a t e d a u d i o s a m p l e c a n b e c o n t r o l l e d b y t h e ` n u m _ i n f e r e n c e _ s t e p s ` a r g u m e n t ; h i g h e r s t e p s g i v e h i g h e r q u a l i t y a u d i o a t t h e e x p e n s e o f s l o w e r i n f e r e n c e . * M u l t i p l e w a v e f o r m s c a n b e g e n e r a t e d i n o n e g o : s e t ` n u m _ w a v e f o r m s _ p e r _ p r o m p t ` t o a v a l u e g r e a t e r t h a n 1 t o e n a b l e . A u t o m a t i c s c o r i n g w i l l b e p e r f o r m e d b e t w e e n t h e g e n e r a t e d w a v e f o r m s a n d p r o m p t t e x t , a n d t h e a u d i o s r a n k e d f r o m b e s t t o w o r s t a c c o r d i n g l y . * T h e _ l e n g t h _ o f t h e g e n e r a t e d a u d i o s a m p l e c a n b e c o n t r o l l e d b y v a r y i n g t h e ` a u d i o _ l e n g t h _ i n _ s ` a r g u m e n t . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # M u s i c L D M P i p e l i n e [ [ a u t o d o c ] ] M u s i c L D M P i p e l i n e - a l l - _ _ c a l l _ _ # C o n s i s t e n c y M o d e l s C o n s i s t e n c y M o d e l s w e r e p r o p o s e d i n [ C o n s i s t e n c y M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 3 . 0 1 4 6 9 ) b y Y a n g S o n g , P r a f u l l a D h a r i w a l , M a r k C h e n , a n d I l y a S u t s k e v e r . T h e a b s t r a c t f r o m t h e p a p e r i s : * D i f f u s i o n m o d e l s h a v e s i g n i f i c a n t l y a d v a n c e d t h e f i e l d s o f i m a g e , a u d i o , a n d v i d e o g e n e r a t i o n , b u t t h e y d e p e n d o n a n i t e r a t i v e s a m p l i n g p r o c e s s t h a t c a u s e s s l o w g e n e r a t i o n . T o o v e r c o m e t h i s l i m i t a t i o n , w e p r o p o s e c o n s i s t e n c y m o d e l s , a n e w f a m i l y o f m o d e l s t h a t g e n e r a t e h i g h q u a l i t y s a m p l e s b y d i r e c t l y m a p p i n g n o i s e t o d a t a . T h e y s u p p o r t f a s t o n e - s t e p g e n e r a t i o n b y d e s i g n , w h i l e s t i l l a l l o w i n g m u l t i s t e p s a m p l i n g t o t r a d e c o m p u t e f o r s a m p l e q u a l i t y . T h e y a l s o s u p p o r t z e r o - s h o t d a t a e d i t i n g , s u c h a s i m a g e i n p a i n t i n g , c o l o r i z a t i o n , a n d s u p e r - r e s o l u t i o n , w i t h o u t r e q u i r i n g e x p l i c i t t r a i n i n g o n t h e s e t a s k s . C o n s i s t e n c y m o d e l s c a n b e t r a i n e d e i t h e r b y d i s t i l l i n g p r e - t r a i n e d d i f f u s i o n m o d e l s , o r a s s t a n d a l o n e g e n e r a t i v e m o d e l s a l t o g e t h e r . T h r o u g h e x t e n s i v e e x p e r i m e n t s , w e d e m o n s t r a t e t h a t t h e y o u t p e r f o r m e x i s t i n g d i s t i l l a t i o n t e c h n i q u e s f o r d i f f u s i o n m o d e l s i n o n e - a n d f e w - s t e p s a m p l i n g , a c h i e v i n g t h e n e w s t a t e - o f - t h e - a r t F I D o f 3 . 5 5 o n C I F A R - 1 0 a n d 6 . 2 0 o n I m a g e N e t 6 4 x 6 4 f o r o n e - s t e p g e n e r a t i o n . W h e n t r a i n e d i n i s o l a t i o n , c o n s i s t e n c y m o d e l s b e c o m e a n e w f a m i l y o f g e n e r a t i v e m o d e l s t h a t c a n o u t p e r f o r m e x i s t i n g o n e - s t e p , n o n - a d v e r s a r i a l g e n e r a t i v e m o d e l s o n s t a n d a r d b e n c h m a r k s s u c h a s C I F A R - 1 0 , I m a g e N e t 6 4 x 6 4 a n d L S U N 2 5 6 x 2 5 6 . * T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ o p e n a i / c o n s i s t e n c y _ m o d e l s ] ( h t t p s : / / g i t h u b . c o m / o p e n a i / c o n s i s t e n c y _ m o d e l s ) , a n d a d d i t i o n a l c h e c k p o i n t s a r e a v a i l a b l e a t [ o p e n a i ] ( h t t p s : / / h u g g i n g f a c e . c o / o p e n a i ) . T h e p i p e l i n e w a s c o n t r i b u t e d b y [ d g 8 4 5 ] ( h t t p s : / / g i t h u b . c o m / d g 8 4 5 ) a n d [ a y u s h t u e s ] ( h t t p s : / / h u g g i n g f a c e . c o / a y u s h t u e s ) . โค ๏ธ # # T i p s F o r a n a d d i t i o n a l s p e e d - u p , u s e ` t o r c h . c o m p i l e ` t o g e n e r a t e m u l t i p l e i m a g e s i n < 1 s e c o n d : ` ` ` d i f f i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t C o n s i s t e n c y M o d e l P i p e l i n e d e v i c e = " c u d a " # L o a d t h e c d _ b e d r o o m 2 5 6 _ l p i p s c h e c k p o i n t . m o d e l _ i d _ o r _ p a t h = " o p e n a i / d i f f u s e r s - c d _ b e d r o o m 2 5 6 _ l p i p s " p i p e = C o n s i s t e n c y M o d e l P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d _ o r _ p a t h , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . t o ( d e v i c e ) + p i p e . u n e t = t o r c h . c o m p i l e ( p i p e . u n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) # M u l t i s t e p s a m p l i n g # T i m e s t e p s c a n b e e x p l i c i t l y s p e c i f i e d ; t h e p a r t i c u l a r t i m e s t e p s b e l o w a r e f r o m t h e o r i g i n a l G i t H u b r e p o : # h t t p s : / / g i t h u b . c o m / o p e n a i / c o n s i s t e n c y _ m o d e l s / b l o b / m a i n / s c r i p t s / l a u n c h . s h # L 8 3 f o r _ i n r a n g e ( 1 0 ) : i m a g e = p i p e ( t i m e s t e p s = [ 1 7 , 0 ] ) . i m a g e s [ 0 ] i m a g e . s h o w ( ) ` ` ` # # C o n s i s t e n c y M o d e l P i p e l i n e # # I m a g e P i p e l i n e O u t p u t [ [ a u t o d o c ] ] C o n s i s t e n c y M o d e l P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . I m a g e P i p e l i n e O u t p u t # A u r a F l o w A u r a F l o w i s i n s p i r e d b y [ S t a b l e D i f f u s i o n 3 ] ( . . / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ 3 . m d ) a n d i s b y f a r t h e l a r g e s t t e x t - t o - i m a g e g e n e r a t i o n m o d e l t h a t c o m e s w i t h a n A p a c h e 2 . 0 l i c e n s e . T h i s m o d e l a c h i e v e s s t a t e - o f - t h e - a r t r e s u l t s o n t h e [ G e n E v a l ] ( h t t p s : / / g i t h u b . c o m / d j g h o s h 1 3 / g e n e v a l ) b e n c h m a r k . I t w a s d e v e l o p e d b y t h e F a l t e a m a n d m o r e d e t a i l s a b o u t i t c a n b e f o u n d i n [ t h i s b l o g p o s t ] ( h t t p s : / / b l o g . f a l . a i / a u r a f l o w / ) . < T i p > A u r a F l o w c a n b e q u i t e e x p e n s i v e t o r u n o n c o n s u m e r h a r d w a r e d e v i c e s . H o w e v e r , y o u c a n p e r f o r m a s u i t e o f o p t i m i z a t i o n s t o r u n i t f a s t e r a n d i n a m o r e m e m o r y - f r i e n d l y m a n n e r . C h e c k o u t [ t h i s s e c t i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / s d 3 # m e m o r y - o p t i m i z a t i o n s - f o r - s d 3 ) f o r m o r e d e t a i l s . < / T i p > # # A u r a F l o w P i p e l i n e [ [ a u t o d o c ] ] A u r a F l o w P i p e l i n e - a l l - _ _ c a l l _ _ # V a l u e - g u i d e d p l a n n i n g < T i p w a r n i n g = { t r u e } > ๐Ÿงช T h i s i s a n e x p e r i m e n t a l p i p e l i n e f o r r e i n f o r c e m e n t l e a r n i n g ! < / T i p > T h i s p i p e l i n e i s b a s e d o n t h e [ P l a n n i n g w i t h D i f f u s i o n f o r F l e x i b l e B e h a v i o r S y n t h e s i s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 5 . 0 9 9 9 1 ) p a p e r b y M i c h a e l J a n n e r , Y i l u n D u , J o s h u a B . T e n e n b a u m , S e r g e y L e v i n e . T h e a b s t r a c t f r o m t h e p a p e r i s : * M o d e l - b a s e d r e i n f o r c e m e n t l e a r n i n g m e t h o d s o f t e n u s e l e a r n i n g o n l y f o r t h e p u r p o s e o f e s t i m a t i n g a n a p p r o x i m a t e d y n a m i c s m o d e l , o f f l o a d i n g t h e r e s t o f t h e d e c i s i o n - m a k i n g w o r k t o c l a s s i c a l t r a j e c t o r y o p t i m i z e r s . W h i l e c o n c e p t u a l l y s i m p l e , t h i s c o m b i n a t i o n h a s a n u m b e r o f e m p i r i c a l s h o r t c o m i n g s , s u g g e s t i n g t h a t l e a r n e d m o d e l s m a y n o t b e w e l l - s u i t e d t o s t a n d a r d t r a j e c t o r y o p t i m i z a t i o n . I n t h i s p a p e r , w e c o n s i d e r w h a t i t w o u l d l o o k l i k e t o f o l d a s m u c h o f t h e t r a j e c t o r y o p t i m i z a t i o n p i p e l i n e a s p o s s i b l e i n t o t h e m o d e l i n g p r o b l e m , s u c h t h a t s a m p l i n g f r o m t h e m o d e l a n d p l a n n i n g w i t h i t b e c o m e n e a r l y i d e n t i c a l . T h e c o r e o f o u r t e c h n i c a l a p p r o a c h l i e s i n a d i f f u s i o n p r o b a b i l i s t i c m o d e l t h a t p l a n s b y i t e r a t i v e l y d e n o i s i n g t r a j e c t o r i e s . W e s h o w h o w c l a s s i f i e r - g u i d e d s a m p l i n g a n d i m a g e i n p a i n t i n g c a n b e r e i n t e r p r e t e d a s c o h e r e n t p l a n n i n g s t r a t e g i e s , e x p l o r e t h e u n u s u a l a n d u s e f u l p r o p e r t i e s o f d i f f u s i o n - b a s e d p l a n n i n g m e t h o d s , a n d d e m o n s t r a t e t h e e f f e c t i v e n e s s o f o u r f r a m e w o r k i n c o n t r o l s e t t i n g s t h a t e m p h a s i z e l o n g - h o r i z o n d e c i s i o n - m a k i n g a n d t e s t - t i m e f l e x i b i l i t y . * Y o u c a n f i n d a d d i t i o n a l i n f o r m a t i o n a b o u t t h e m o d e l o n t h e [ p r o j e c t p a g e ] ( h t t p s : / / d i f f u s i o n - p l a n n i n g . g i t h u b . i o / ) , t h e [ o r i g i n a l c o d e b a s e ] ( h t t p s : / / g i t h u b . c o m / j a n n e r m / d i f f u s e r ) , o r t r y i t o u t i n a d e m o [ n o t e b o o k ] ( h t t p s : / / c o l a b . r e s e a r c h . g o o g l e . c o m / d r i v e / 1 r X m 8 C X 4 Z d N 5 q i v j J 2 l h w h k O m t _ m 0 C v U 0 # s c r o l l T o = 6 H X J v h y q c I T c & u n i q i f i e r = 1 ) . T h e s c r i p t t o r u n t h e m o d e l i s a v a i l a b l e [ h e r e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / r e i n f o r c e m e n t _ l e a r n i n g ) . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # V a l u e G u i d e d R L P i p e l i n e [ [ a u t o d o c ] ] d i f f u s e r s . e x p e r i m e n t a l . V a l u e G u i d e d R L P i p e l i n e # S t a b l e C a s c a d e T h i s m o d e l i s b u i l t u p o n t h e [ W รผ r s t c h e n ] ( h t t p s : / / o p e n r e v i e w . n e t / f o r u m ? i d = g U 5 8 d 5 Q e G v ) a r c h i t e c t u r e a n d i t s m a i n d i f f e r e n c e t o o t h e r m o d e l s l i k e S t a b l e D i f f u s i o n i s t h a t i t i s w o r k i n g a t a m u c h s m a l l e r l a t e n t s p a c e . W h y i s t h i s i m p o r t a n t ? T h e s m a l l e r t h e l a t e n t s p a c e , t h e * * f a s t e r * * y o u c a n r u n i n f e r e n c e a n d t h e * * c h e a p e r * * t h e t r a i n i n g b e c o m e s . H o w s m a l l i s t h e l a t e n t s p a c e ? S t a b l e D i f f u s i o n u s e s a c o m p r e s s i o n f a c t o r o f 8 , r e s u l t i n g i n a 1 0 2 4 x 1 0 2 4 i m a g e b e i n g e n c o d e d t o 1 2 8 x 1 2 8 . S t a b l e C a s c a d e a c h i e v e s a c o m p r e s s i o n f a c t o r o f 4 2 , m e a n i n g t h a t i t i s p o s s i b l e t o e n c o d e a 1 0 2 4 x 1 0 2 4 i m a g e t o 2 4 x 2 4 , w h i l e m a i n t a i n i n g c r i s p r e c o n s t r u c t i o n s . T h e t e x t - c o n d i t i o n a l m o d e l i s t h e n t r a i n e d i n t h e h i g h l y c o m p r e s s e d l a t e n t s p a c e . P r e v i o u s v e r s i o n s o f t h i s a r c h i t e c t u r e , a c h i e v e d a 1 6 x c o s t r e d u c t i o n o v e r S t a b l e D i f f u s i o n 1 . 5 . T h e r e f o r e , t h i s k i n d o f m o d e l i s w e l l s u i t e d f o r u s a g e s w h e r e e f f i c i e n c y i s i m p o r t a n t . F u r t h e r m o r e , a l l k n o w n e x t e n s i o n s l i k e f i n e t u n i n g , L o R A , C o n t r o l N e t , I P - A d a p t e r , L C M e t c . a r e p o s s i b l e w i t h t h i s m e t h o d a s w e l l . T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ S t a b i l i t y - A I / S t a b l e C a s c a d e ] ( h t t p s : / / g i t h u b . c o m / S t a b i l i t y - A I / S t a b l e C a s c a d e ) . # # M o d e l O v e r v i e w S t a b l e C a s c a d e c o n s i s t s o f t h r e e m o d e l s : S t a g e A , S t a g e B a n d S t a g e C , r e p r e s e n t i n g a c a s c a d e t o g e n e r a t e i m a g e s , h e n c e t h e n a m e " S t a b l e C a s c a d e " . S t a g e A & B a r e u s e d t o c o m p r e s s i m a g e s , s i m i l a r t o w h a t t h e j o b o f t h e V A E i s i n S t a b l e D i f f u s i o n . H o w e v e r , w i t h t h i s s e t u p , a m u c h h i g h e r c o m p r e s s i o n o f i m a g e s c a n b e a c h i e v e d . W h i l e t h e S t a b l e D i f f u s i o n m o d e l s u s e a s p a t i a l c o m p r e s s i o n f a c t o r o f 8 , e n c o d i n g a n i m a g e w i t h r e s o l u t i o n o f 1 0 2 4 x 1 0 2 4 t o 1 2 8 x 1 2 8 , S t a b l e C a s c a d e a c h i e v e s a c o m p r e s s i o n f a c t o r o f 4 2 . T h i s e n c o d e s a 1 0 2 4 x 1 0 2 4 i m a g e t o 2 4 x 2 4 , w h i l e b e i n g a b l e t o a c c u r a t e l y d e c o d e t h e i m a g e . T h i s c o m e s w i t h t h e g r e a t b e n e f i t o f c h e a p e r t r a i n i n g a n d i n f e r e n c e . F u r t h e r m o r e , S t a g e C i s r e s p o n s i b l e f o r g e n e r a t i n g t h e s m a l l 2 4 x 2 4 l a t e n t s g i v e n a t e x t p r o m p t . T h e S t a g e C m o d e l o p e r a t e s o n t h e s m a l l 2 4 x 2 4 l a t e n t s a n d d e n o i s e s t h e l a t e n t s c o n d i t i o n e d o n t e x t p r o m p t s . T h e m o d e l i s a l s o t h e l a r g e s t c o m p o n e n t i n t h e C a s c a d e p i p e l i n e a n d i s m e a n t t o b e u s e d w i t h t h e ` S t a b l e C a s c a d e P r i o r P i p e l i n e ` T h e S t a g e B a n d S t a g e A m o d e l s a r e u s e d w i t h t h e ` S t a b l e C a s c a d e D e c o d e r P i p e l i n e ` a n d a r e r e s p o n s i b l e f o r g e n e r a t i n g t h e f i n a l i m a g e g i v e n t h e s m a l l 2 4 x 2 4 l a t e n t s . < T i p w a r n i n g = { t r u e } > T h e r e a r e s o m e r e s t r i c t i o n s o n d a t a t y p e s t h a t c a n b e u s e d w i t h t h e S t a b l e C a s c a d e m o d e l s . T h e o f f i c i a l c h e c k p o i n t s f o r t h e ` S t a b l e C a s c a d e P r i o r P i p e l i n e ` d o n o t s u p p o r t t h e ` t o r c h . f l o a t 1 6 ` d a t a t y p e . P l e a s e u s e ` t o r c h . b f l o a t 1 6 ` i n s t e a d . I n o r d e r t o u s e t h e ` t o r c h . b f l o a t 1 6 ` d a t a t y p e w i t h t h e ` S t a b l e C a s c a d e D e c o d e r P i p e l i n e ` y o u n e e d t o h a v e P y T o r c h 2 . 2 . 0 o r h i g h e r i n s t a l l e d . T h i s a l s o m e a n s t h a t u s i n g t h e ` S t a b l e C a s c a d e C o m b i n e d P i p e l i n e ` w i t h ` t o r c h . b f l o a t 1 6 ` r e q u i r e s P y T o r c h 2 . 2 . 0 o r h i g h e r , s i n c e i t c a l l s t h e ` S t a b l e C a s c a d e D e c o d e r P i p e l i n e ` i n t e r n a l l y . I f i t i s n o t p o s s i b l e t o i n s t a l l P y T o r c h 2 . 2 . 0 o r h i g h e r i n y o u r e n v i r o n m e n t , t h e ` S t a b l e C a s c a d e D e c o d e r P i p e l i n e ` c a n b e u s e d o n i t s o w n w i t h t h e ` t o r c h . f l o a t 1 6 ` d a t a t y p e . Y o u c a n d o w n l o a d t h e f u l l p r e c i s i o n o r ` b f 1 6 ` v a r i a n t w e i g h t s f o r t h e p i p e l i n e a n d c a s t t h e w e i g h t s t o ` t o r c h . f l o a t 1 6 ` . < / T i p > # # U s a g e e x a m p l e ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e C a s c a d e D e c o d e r P i p e l i n e , S t a b l e C a s c a d e P r i o r P i p e l i n e p r o m p t = " a n i m a g e o f a s h i b a i n u , d o n n i n g a s p a c e s u i t a n d h e l m e t " n e g a t i v e _ p r o m p t = " " p r i o r = S t a b l e C a s c a d e P r i o r P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - c a s c a d e - p r i o r " , v a r i a n t = " b f 1 6 " , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) d e c o d e r = S t a b l e C a s c a d e D e c o d e r P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - c a s c a d e " , v a r i a n t = " b f 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p r i o r . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p r i o r _ o u t p u t = p r i o r ( p r o m p t = p r o m p t , h e i g h t = 1 0 2 4 , w i d t h = 1 0 2 4 , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , g u i d a n c e _ s c a l e = 4 . 0 , n u m _ i m a g e s _ p e r _ p r o m p t = 1 , n u m _ i n f e r e n c e _ s t e p s = 2 0 ) d e c o d e r . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) d e c o d e r _ o u t p u t = d e c o d e r ( i m a g e _ e m b e d d i n g s = p r i o r _ o u t p u t . i m a g e _ e m b e d d i n g s . t o ( t o r c h . f l o a t 1 6 ) , p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , g u i d a n c e _ s c a l e = 0 . 0 , o u t p u t _ t y p e = " p i l " , n u m _ i n f e r e n c e _ s t e p s = 1 0 ) . i m a g e s [ 0 ] d e c o d e r _ o u t p u t . s a v e ( " c a s c a d e . p n g " ) ` ` ` # # U s i n g t h e L i t e V e r s i o n s o f t h e S t a g e B a n d S t a g e C m o d e l s ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t ( S t a b l e C a s c a d e D e c o d e r P i p e l i n e , S t a b l e C a s c a d e P r i o r P i p e l i n e , S t a b l e C a s c a d e U N e t , ) p r o m p t = " a n i m a g e o f a s h i b a i n u , d o n n i n g a s p a c e s u i t a n d h e l m e t " n e g a t i v e _ p r o m p t = " " p r i o r _ u n e t = S t a b l e C a s c a d e U N e t . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - c a s c a d e - p r i o r " , s u b f o l d e r = " p r i o r _ l i t e " ) d e c o d e r _ u n e t = S t a b l e C a s c a d e U N e t . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - c a s c a d e " , s u b f o l d e r = " d e c o d e r _ l i t e " ) p r i o r = S t a b l e C a s c a d e P r i o r P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - c a s c a d e - p r i o r " , p r i o r = p r i o r _ u n e t ) d e c o d e r = S t a b l e C a s c a d e D e c o d e r P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - c a s c a d e " , d e c o d e r = d e c o d e r _ u n e t ) p r i o r . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p r i o r _ o u t p u t = p r i o r ( p r o m p t = p r o m p t , h e i g h t = 1 0 2 4 , w i d t h = 1 0 2 4 , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , g u i d a n c e _ s c a l e = 4 . 0 , n u m _ i m a g e s _ p e r _ p r o m p t = 1 , n u m _ i n f e r e n c e _ s t e p s = 2 0 ) d e c o d e r . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) d e c o d e r _ o u t p u t = d e c o d e r ( i m a g e _ e m b e d d i n g s = p r i o r _ o u t p u t . i m a g e _ e m b e d d i n g s , p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , g u i d a n c e _ s c a l e = 0 . 0 , o u t p u t _ t y p e = " p i l " , n u m _ i n f e r e n c e _ s t e p s = 1 0 ) . i m a g e s [ 0 ] d e c o d e r _ o u t p u t . s a v e ( " c a s c a d e . p n g " ) ` ` ` # # L o a d i n g o r i g i n a l c h e c k p o i n t s w i t h ` f r o m _ s i n g l e _ f i l e ` L o a d i n g t h e o r i g i n a l f o r m a t c h e c k p o i n t s i s s u p p o r t e d v i a ` f r o m _ s i n g l e _ f i l e ` m e t h o d i n t h e S t a b l e C a s c a d e U N e t . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t ( S t a b l e C a s c a d e D e c o d e r P i p e l i n e , S t a b l e C a s c a d e P r i o r P i p e l i n e , S t a b l e C a s c a d e U N e t , ) p r o m p t = " a n i m a g e o f a s h i b a i n u , d o n n i n g a s p a c e s u i t a n d h e l m e t " n e g a t i v e _ p r o m p t = " " p r i o r _ u n e t = S t a b l e C a s c a d e U N e t . f r o m _ s i n g l e _ f i l e ( " h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - c a s c a d e / r e s o l v e / m a i n / s t a g e _ c _ b f 1 6 . s a f e t e n s o r s " , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) d e c o d e r _ u n e t = S t a b l e C a s c a d e U N e t . f r o m _ s i n g l e _ f i l e ( " h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - c a s c a d e / b l o b / m a i n / s t a g e _ b _ b f 1 6 . s a f e t e n s o r s " , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) p r i o r = S t a b l e C a s c a d e P r i o r P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - c a s c a d e - p r i o r " , p r i o r = p r i o r _ u n e t , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) d e c o d e r = S t a b l e C a s c a d e D e c o d e r P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - c a s c a d e " , d e c o d e r = d e c o d e r _ u n e t , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) p r i o r . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p r i o r _ o u t p u t = p r i o r ( p r o m p t = p r o m p t , h e i g h t = 1 0 2 4 , w i d t h = 1 0 2 4 , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , g u i d a n c e _ s c a l e = 4 . 0 , n u m _ i m a g e s _ p e r _ p r o m p t = 1 , n u m _ i n f e r e n c e _ s t e p s = 2 0 ) d e c o d e r . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) d e c o d e r _ o u t p u t = d e c o d e r ( i m a g e _ e m b e d d i n g s = p r i o r _ o u t p u t . i m a g e _ e m b e d d i n g s , p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , g u i d a n c e _ s c a l e = 0 . 0 , o u t p u t _ t y p e = " p i l " , n u m _ i n f e r e n c e _ s t e p s = 1 0 ) . i m a g e s [ 0 ] d e c o d e r _ o u t p u t . s a v e ( " c a s c a d e - s i n g l e - f i l e . p n g " ) ` ` ` # # U s e s # # # D i r e c t U s e T h e m o d e l i s i n t e n d e d f o r r e s e a r c h p u r p o s e s f o r n o w . P o s s i b l e r e s e a r c h a r e a s a n d t a s k s i n c l u d e - R e s e a r c h o n g e n e r a t i v e m o d e l s . - S a f e d e p l o y m e n t o f m o d e l s w h i c h h a v e t h e p o t e n t i a l t o g e n e r a t e h a r m f u l c o n t e n t . - P r o b i n g a n d u n d e r s t a n d i n g t h e l i m i t a t i o n s a n d b i a s e s o f g e n e r a t i v e m o d e l s . - G e n e r a t i o n o f a r t w o r k s a n d u s e i n d e s i g n a n d o t h e r a r t i s t i c p r o c e s s e s . - A p p l i c a t i o n s i n e d u c a t i o n a l o r c r e a t i v e t o o l s . E x c l u d e d u s e s a r e d e s c r i b e d b e l o w . # # # O u t - o f - S c o p e U s e T h e m o d e l w a s n o t t r a i n e d t o b e f a c t u a l o r t r u e r e p r e s e n t a t i o n s o f p e o p l e o r e v e n t s , a n d t h e r e f o r e u s i n g t h e m o d e l t o g e n e r a t e s u c h c o n t e n t i s o u t - o f - s c o p e f o r t h e a b i l i t i e s o f t h i s m o d e l . T h e m o d e l s h o u l d n o t b e u s e d i n a n y w a y t h a t v i o l a t e s S t a b i l i t y A I ' s [ A c c e p t a b l e U s e P o l i c y ] ( h t t p s : / / s t a b i l i t y . a i / u s e - p o l i c y ) . # # L i m i t a t i o n s a n d B i a s # # # L i m i t a t i o n s - F a c e s a n d p e o p l e i n g e n e r a l m a y n o t b e g e n e r a t e d p r o p e r l y . - T h e a u t o e n c o d i n g p a r t o f t h e m o d e l i s l o s s y . # # S t a b l e C a s c a d e C o m b i n e d P i p e l i n e # # S t a b l e C a s c a d e P r i o r P i p e l i n e # # S t a b l e C a s c a d e P r i o r P i p e l i n e O u t p u t # # S t a b l e C a s c a d e D e c o d e r P i p e l i n e [ [ a u t o d o c ] ] S t a b l e C a s c a d e C o m b i n e d P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] S t a b l e C a s c a d e P r i o r P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ c a s c a d e . p i p e l i n e _ s t a b l e _ c a s c a d e _ p r i o r . S t a b l e C a s c a d e P r i o r P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S t a b l e C a s c a d e D e c o d e r P i p e l i n e - a l l - _ _ c a l l _ _ # C o n t r o l N e t w i t h S t a b l e D i f f u s i o n X L C o n t r o l N e t w a s i n t r o d u c e d i n [ A d d i n g C o n d i t i o n a l C o n t r o l t o T e x t - t o - I m a g e D i f f u s i o n M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 2 . 0 5 5 4 3 ) b y L v m i n Z h a n g , A n y i R a o , a n d M a n e e s h A g r a w a l a . W i t h a C o n t r o l N e t m o d e l , y o u c a n p r o v i d e a n a d d i t i o n a l c o n t r o l i m a g e t o c o n d i t i o n a n d c o n t r o l S t a b l e D i f f u s i o n g e n e r a t i o n . F o r e x a m p l e , i f y o u p r o v i d e a d e p t h m a p , t h e C o n t r o l N e t m o d e l g e n e r a t e s a n i m a g e t h a t ' l l p r e s e r v e t h e s p a t i a l i n f o r m a t i o n f r o m t h e d e p t h m a p . I t i s a m o r e f l e x i b l e a n d a c c u r a t e w a y t o c o n t r o l t h e i m a g e g e n e r a t i o n p r o c e s s . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e p r e s e n t C o n t r o l N e t , a n e u r a l n e t w o r k a r c h i t e c t u r e t o a d d s p a t i a l c o n d i t i o n i n g c o n t r o l s t o l a r g e , p r e t r a i n e d t e x t - t o - i m a g e d i f f u s i o n m o d e l s . C o n t r o l N e t l o c k s t h e p r o d u c t i o n - r e a d y l a r g e d i f f u s i o n m o d e l s , a n d r e u s e s t h e i r d e e p a n d r o b u s t e n c o d i n g l a y e r s p r e t r a i n e d w i t h b i l l i o n s o f i m a g e s a s a s t r o n g b a c k b o n e t o l e a r n a d i v e r s e s e t o f c o n d i t i o n a l c o n t r o l s . T h e n e u r a l a r c h i t e c t u r e i s c o n n e c t e d w i t h " z e r o c o n v o l u t i o n s " ( z e r o - i n i t i a l i z e d c o n v o l u t i o n l a y e r s ) t h a t p r o g r e s s i v e l y g r o w t h e p a r a m e t e r s f r o m z e r o a n d e n s u r e t h a t n o h a r m f u l n o i s e c o u l d a f f e c t t h e f i n e t u n i n g . W e t e s t v a r i o u s c o n d i t i o n i n g c o n t r o l s , e g , e d g e s , d e p t h , s e g m e n t a t i o n , h u m a n p o s e , e t c , w i t h S t a b l e D i f f u s i o n , u s i n g s i n g l e o r m u l t i p l e c o n d i t i o n s , w i t h o r w i t h o u t p r o m p t s . W e s h o w t h a t t h e t r a i n i n g o f C o n t r o l N e t s i s r o b u s t w i t h s m a l l ( < 5 0 k ) a n d l a r g e ( > 1 m ) d a t a s e t s . E x t e n s i v e r e s u l t s s h o w t h a t C o n t r o l N e t m a y f a c i l i t a t e w i d e r a p p l i c a t i o n s t o c o n t r o l i m a g e d i f f u s i o n m o d e l s . * Y o u c a n f i n d a d d i t i o n a l s m a l l e r S t a b l e D i f f u s i o n X L ( S D X L ) C o n t r o l N e t c h e c k p o i n t s f r o m t h e ๐Ÿค— [ D i f f u s e r s ] ( h t t p s : / / h u g g i n g f a c e . c o / d i f f u s e r s ) H u b o r g a n i z a t i o n , a n d b r o w s e [ c o m m u n i t y - t r a i n e d ] ( h t t p s : / / h u g g i n g f a c e . c o / m o d e l s ? o t h e r = s t a b l e - d i f f u s i o n - x l & o t h e r = c o n t r o l n e t ) c h e c k p o i n t s o n t h e H u b . < T i p w a r n i n g = { t r u e } > ๐Ÿงช M a n y o f t h e S D X L C o n t r o l N e t c h e c k p o i n t s a r e e x p e r i m e n t a l , a n d t h e r e i s a l o t o f r o o m f o r i m p r o v e m e n t . F e e l f r e e t o o p e n a n [ I s s u e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / n e w / c h o o s e ) a n d l e a v e u s f e e d b a c k o n h o w w e c a n i m p r o v e ! < / T i p > I f y o u d o n ' t s e e a c h e c k p o i n t y o u ' r e i n t e r e s t e d i n , y o u c a n t r a i n y o u r o w n S D X L C o n t r o l N e t w i t h o u r [ t r a i n i n g s c r i p t ] ( . . / . . / . . / . . / . . / e x a m p l e s / c o n t r o l n e t / R E A D M E _ s d x l ) . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e # # S t a b l e D i f f u s i o n X L C o n t r o l N e t I m g 2 I m g P i p e l i n e # # S t a b l e D i f f u s i o n X L C o n t r o l N e t I n p a i n t P i p e l i n e # # S t a b l e D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n X L C o n t r o l N e t I m g 2 I m g P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n X L C o n t r o l N e t I n p a i n t P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # I m a g e - t o - V i d e o G e n e r a t i o n w i t h P I A ( P e r s o n a l i z e d I m a g e A n i m a t o r ) # # O v e r v i e w [ P I A : Y o u r P e r s o n a l i z e d I m a g e A n i m a t o r v i a P l u g - a n d - P l a y M o d u l e s i n T e x t - t o - I m a g e M o d e l s ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 1 2 . 1 3 9 6 4 ) b y Y i m i n g Z h a n g , Z h e n i n g X i n g , Y a n h o n g Z e n g , Y o u q i n g F a n g , K a i C h e n R e c e n t a d v a n c e m e n t s i n p e r s o n a l i z e d t e x t - t o - i m a g e ( T 2 I ) m o d e l s h a v e r e v o l u t i o n i z e d c o n t e n t c r e a t i o n , e m p o w e r i n g n o n - e x p e r t s t o g e n e r a t e s t u n n i n g i m a g e s w i t h u n i q u e s t y l e s . W h i l e p r o m i s i n g , a d d i n g r e a l i s t i c m o t i o n s i n t o t h e s e p e r s o n a l i z e d i m a g e s b y t e x t p o s e s s i g n i f i c a n t c h a l l e n g e s i n p r e s e r v i n g d i s t i n c t s t y l e s , h i g h - f i d e l i t y d e t a i l s , a n d a c h i e v i n g m o t i o n c o n t r o l l a b i l i t y b y t e x t . I n t h i s p a p e r , w e p r e s e n t P I A , a P e r s o n a l i z e d I m a g e A n i m a t o r t h a t e x c e l s i n a l i g n i n g w i t h c o n d i t i o n i m a g e s , a c h i e v i n g m o t i o n c o n t r o l l a b i l i t y b y t e x t , a n d t h e c o m p a t i b i l i t y w i t h v a r i o u s p e r s o n a l i z e d T 2 I m o d e l s w i t h o u t s p e c i f i c t u n i n g . T o a c h i e v e t h e s e g o a l s , P I A b u i l d s u p o n a b a s e T 2 I m o d e l w i t h w e l l - t r a i n e d t e m p o r a l a l i g n m e n t l a y e r s , a l l o w i n g f o r t h e s e a m l e s s t r a n s f o r m a t i o n o f a n y p e r s o n a l i z e d T 2 I m o d e l i n t o a n i m a g e a n i m a t i o n m o d e l . A k e y c o m p o n e n t o f P I A i s t h e i n t r o d u c t i o n o f t h e c o n d i t i o n m o d u l e , w h i c h u t i l i z e s t h e c o n d i t i o n f r a m e a n d i n t e r - f r a m e a f f i n i t y a s i n p u t t o t r a n s f e r a p p e a r a n c e i n f o r m a t i o n g u i d e d b y t h e a f f i n i t y h i n t f o r i n d i v i d u a l f r a m e s y n t h e s i s i n t h e l a t e n t s p a c e . T h i s d e s i g n m i t i g a t e s t h e c h a l l e n g e s o f a p p e a r a n c e - r e l a t e d i m a g e a l i g n m e n t w i t h i n a n d a l l o w s f o r a s t r o n g e r f o c u s o n a l i g n i n g w i t h m o t i o n - r e l a t e d g u i d a n c e . [ P r o j e c t p a g e ] ( h t t p s : / / p i - a n i m a t o r . g i t h u b . i o / ) # # A v a i l a b l e P i p e l i n e s | P i p e l i n e | T a s k s | D e m o | - - - | - - - | : - - - : | | [ P I A P i p e l i n e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / p i a / p i p e l i n e _ p i a . p y ) | * I m a g e - t o - V i d e o G e n e r a t i o n w i t h P I A * | # # A v a i l a b l e c h e c k p o i n t s M o t i o n A d a p t e r c h e c k p o i n t s f o r P I A c a n b e f o u n d u n d e r t h e [ O p e n M M L a b o r g ] ( h t t p s : / / h u g g i n g f a c e . c o / o p e n m m l a b / P I A - c o n d i t i o n - a d a p t e r ) . T h e s e c h e c k p o i n t s a r e m e a n t t o w o r k w i t h a n y m o d e l b a s e d o n S t a b l e D i f f u s i o n 1 . 5 # # U s a g e e x a m p l e P I A w o r k s w i t h a M o t i o n A d a p t e r c h e c k p o i n t a n d a S t a b l e D i f f u s i o n 1 . 5 m o d e l c h e c k p o i n t . T h e M o t i o n A d a p t e r i s a c o l l e c t i o n o f M o t i o n M o d u l e s t h a t a r e r e s p o n s i b l e f o r a d d i n g c o h e r e n t m o t i o n a c r o s s i m a g e f r a m e s . T h e s e m o d u l e s a r e a p p l i e d a f t e r t h e R e s n e t a n d A t t e n t i o n b l o c k s i n t h e S t a b l e D i f f u s i o n U N e t . I n a d d i t i o n t o t h e m o t i o n m o d u l e s , P I A a l s o r e p l a c e s t h e i n p u t c o n v o l u t i o n l a y e r o f t h e S D 1 . 5 U N e t m o d e l w i t h a 9 c h a n n e l i n p u t c o n v o l u t i o n l a y e r . T h e f o l l o w i n g e x a m p l e d e m o n s t r a t e s h o w t o u s e P I A t o g e n e r a t e a v i d e o f r o m a s i n g l e i m a g e . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t ( E u l e r D i s c r e t e S c h e d u l e r , M o t i o n A d a p t e r , P I A P i p e l i n e , ) f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f , l o a d _ i m a g e a d a p t e r = M o t i o n A d a p t e r . f r o m _ p r e t r a i n e d ( " o p e n m m l a b / P I A - c o n d i t i o n - a d a p t e r " ) p i p e = P I A P i p e l i n e . f r o m _ p r e t r a i n e d ( " S G 1 6 1 2 2 2 / R e a l i s t i c _ V i s i o n _ V 6 . 0 _ B 1 _ n o V A E " , m o t i o n _ a d a p t e r = a d a p t e r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . s c h e d u l e r = E u l e r D i s c r e t e S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p i p e . e n a b l e _ v a e _ s l i c i n g ( ) i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / p i x 2 p i x / c a t _ 6 . p n g ? d o w n l o a d = t r u e " ) i m a g e = i m a g e . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) p r o m p t = " c a t i n a f i e l d " n e g a t i v e _ p r o m p t = " w r o n g w h i t e b a l a n c e , d a r k , s k e t c h e s , w o r s t q u a l i t y , l o w q u a l i t y " g e n e r a t o r = t o r c h . G e n e r a t o r ( " c p u " ) . m a n u a l _ s e e d ( 0 ) o u t p u t = p i p e ( i m a g e = i m a g e , p r o m p t = p r o m p t , g e n e r a t o r = g e n e r a t o r ) f r a m e s = o u t p u t . f r a m e s [ 0 ] e x p o r t _ t o _ g i f ( f r a m e s , " p i a - a n i m a t i o n . g i f " ) ` ` ` H e r e a r e s o m e s a m p l e o u t p u t s : < t a b l e > < t r > < t d > < c e n t e r > c a t i n a f i e l d . < b r > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / p i a - d e f a u l t - o u t p u t . g i f " a l t = " c a t i n a f i e l d " s t y l e = " w i d t h : 3 0 0 p x ; " / > < / c e n t e r > < / t d > < / t r > < / t a b l e > < T i p > I f y o u p l a n o n u s i n g a s c h e d u l e r t h a t c a n c l i p s a m p l e s , m a k e s u r e t o d i s a b l e i t b y s e t t i n g ` c l i p _ s a m p l e = F a l s e ` i n t h e s c h e d u l e r a s t h i s c a n a l s o h a v e a n a d v e r s e e f f e c t o n g e n e r a t e d s a m p l e s . A d d i t i o n a l l y , t h e P I A c h e c k p o i n t s c a n b e s e n s i t i v e t o t h e b e t a s c h e d u l e o f t h e s c h e d u l e r . W e r e c o m m e n d s e t t i n g t h i s t o ` l i n e a r ` . < / T i p > # # U s i n g F r e e I n i t [ F r e e I n i t : B r i d g i n g I n i t i a l i z a t i o n G a p i n V i d e o D i f f u s i o n M o d e l s ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 1 2 . 0 7 5 3 7 ) b y T i a n x i n g W u , C h e n y a n g S i , Y u m i n g J i a n g , Z i q i H u a n g , Z i w e i L i u . F r e e I n i t i s a n e f f e c t i v e m e t h o d t h a t i m p r o v e s t e m p o r a l c o n s i s t e n c y a n d o v e r a l l q u a l i t y o f v i d e o s g e n e r a t e d u s i n g v i d e o - d i f f u s i o n - m o d e l s w i t h o u t a n y a d d i t i o n t r a i n i n g . I t c a n b e a p p l i e d t o P I A , A n i m a t e D i f f , M o d e l S c o p e , V i d e o C r a f t e r a n d v a r i o u s o t h e r v i d e o g e n e r a t i o n m o d e l s s e a m l e s s l y a t i n f e r e n c e t i m e , a n d w o r k s b y i t e r a t i v e l y r e f i n i n g t h e l a t e n t - i n i t i a l i z a t i o n n o i s e . M o r e d e t a i l s c a n b e f o u n d i t t h e p a p e r . T h e f o l l o w i n g e x a m p l e d e m o n s t r a t e s t h e u s a g e o f F r e e I n i t . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t ( D D I M S c h e d u l e r , M o t i o n A d a p t e r , P I A P i p e l i n e , ) f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f , l o a d _ i m a g e a d a p t e r = M o t i o n A d a p t e r . f r o m _ p r e t r a i n e d ( " o p e n m m l a b / P I A - c o n d i t i o n - a d a p t e r " ) p i p e = P I A P i p e l i n e . f r o m _ p r e t r a i n e d ( " S G 1 6 1 2 2 2 / R e a l i s t i c _ V i s i o n _ V 6 . 0 _ B 1 _ n o V A E " , m o t i o n _ a d a p t e r = a d a p t e r ) # e n a b l e F r e e I n i t # R e f e r t o t h e e n a b l e _ f r e e _ i n i t d o c u m e n t a t i o n f o r a f u l l l i s t o f c o n f i g u r a b l e p a r a m e t e r s p i p e . e n a b l e _ f r e e _ i n i t ( m e t h o d = " b u t t e r w o r t h " , u s e _ f a s t _ s a m p l i n g = T r u e ) # M e m o r y s a v i n g o p t i o n s p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p i p e . e n a b l e _ v a e _ s l i c i n g ( ) p i p e . s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / p i x 2 p i x / c a t _ 6 . p n g ? d o w n l o a d = t r u e " ) i m a g e = i m a g e . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) p r o m p t = " c a t i n a f i e l d " n e g a t i v e _ p r o m p t = " w r o n g w h i t e b a l a n c e , d a r k , s k e t c h e s , w o r s t q u a l i t y , l o w q u a l i t y " g e n e r a t o r = t o r c h . G e n e r a t o r ( " c p u " ) . m a n u a l _ s e e d ( 0 ) o u t p u t = p i p e ( i m a g e = i m a g e , p r o m p t = p r o m p t , g e n e r a t o r = g e n e r a t o r ) f r a m e s = o u t p u t . f r a m e s [ 0 ] e x p o r t _ t o _ g i f ( f r a m e s , " p i a - f r e e i n i t - a n i m a t i o n . g i f " ) ` ` ` < t a b l e > < t r > < t d > < c e n t e r > c a t i n a f i e l d . < b r > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / p i a - f r e e i n i t - o u t p u t - c a t . g i f " a l t = " c a t i n a f i e l d " s t y l e = " w i d t h : 3 0 0 p x ; " / > < / c e n t e r > < / t d > < / t r > < / t a b l e > < T i p w a r n i n g = { t r u e } > F r e e I n i t i s n o t r e a l l y f r e e - t h e i m p r o v e d q u a l i t y c o m e s a t t h e c o s t o f e x t r a c o m p u t a t i o n . I t r e q u i r e s s a m p l i n g a f e w e x t r a t i m e s d e p e n d i n g o n t h e ` n u m _ i t e r s ` p a r a m e t e r t h a t i s s e t w h e n e n a b l i n g i t . S e t t i n g t h e ` u s e _ f a s t _ s a m p l i n g ` p a r a m e t e r t o ` T r u e ` c a n i m p r o v e t h e o v e r a l l p e r f o r m a n c e ( a t t h e c o s t o f l o w e r q u a l i t y c o m p a r e d t o w h e n ` u s e _ f a s t _ s a m p l i n g = F a l s e ` b u t s t i l l b e t t e r r e s u l t s t h a n v a n i l l a v i d e o g e n e r a t i o n m o d e l s ) . < / T i p > # # P I A P i p e l i n e # # P I A P i p e l i n e O u t p u t [ [ a u t o d o c ] ] P I A P i p e l i n e - a l l - _ _ c a l l _ _ - e n a b l e _ f r e e u - d i s a b l e _ f r e e u - e n a b l e _ f r e e _ i n i t - d i s a b l e _ f r e e _ i n i t - e n a b l e _ v a e _ s l i c i n g - d i s a b l e _ v a e _ s l i c i n g - e n a b l e _ v a e _ t i l i n g - d i s a b l e _ v a e _ t i l i n g [ [ a u t o d o c ] ] p i p e l i n e s . p i a . P I A P i p e l i n e O u t p u t # S t a b l e A u d i o S t a b l e A u d i o w a s p r o p o s e d i n [ S t a b l e A u d i o O p e n ] ( h t t p s : / / a r x i v . o r g / a b s / 2 4 0 7 . 1 4 3 5 8 ) b y Z a c h E v a n s e t a l . . i t t a k e s a t e x t p r o m p t a s i n p u t a n d p r e d i c t s t h e c o r r e s p o n d i n g s o u n d o r m u s i c s a m p l e . S t a b l e A u d i o O p e n g e n e r a t e s v a r i a b l e - l e n g t h ( u p t o 4 7 s ) s t e r e o a u d i o a t 4 4 . 1 k H z f r o m t e x t p r o m p t s . I t c o m p r i s e s t h r e e c o m p o n e n t s : a n a u t o e n c o d e r t h a t c o m p r e s s e s w a v e f o r m s i n t o a m a n a g e a b l e s e q u e n c e l e n g t h , a T 5 - b a s e d t e x t e m b e d d i n g f o r t e x t c o n d i t i o n i n g , a n d a t r a n s f o r m e r - b a s e d d i f f u s i o n ( D i T ) m o d e l t h a t o p e r a t e s i n t h e l a t e n t s p a c e o f t h e a u t o e n c o d e r . S t a b l e A u d i o i s t r a i n e d o n a c o r p u s o f a r o u n d 4 8 k a u d i o r e c o r d i n g s , w h e r e a r o u n d 4 7 k a r e f r o m F r e e s o u n d a n d t h e r e s t a r e f r o m t h e F r e e M u s i c A r c h i v e ( F M A ) . A l l a u d i o f i l e s a r e l i c e n s e d u n d e r C C 0 , C C B Y , o r C C S a m p l i n g + . T h i s d a t a i s u s e d t o t r a i n t h e a u t o e n c o d e r a n d t h e D i T . T h e a b s t r a c t o f t h e p a p e r i s t h e f o l l o w i n g : * O p e n g e n e r a t i v e m o d e l s a r e v i t a l l y i m p o r t a n t f o r t h e c o m m u n i t y , a l l o w i n g f o r f i n e - t u n e s a n d s e r v i n g a s b a s e l i n e s w h e n p r e s e n t i n g n e w m o d e l s . H o w e v e r , m o s t c u r r e n t t e x t - t o - a u d i o m o d e l s a r e p r i v a t e a n d n o t a c c e s s i b l e f o r a r t i s t s a n d r e s e a r c h e r s t o b u i l d u p o n . H e r e w e d e s c r i b e t h e a r c h i t e c t u r e a n d t r a i n i n g p r o c e s s o f a n e w o p e n - w e i g h t s t e x t - t o - a u d i o m o d e l t r a i n e d w i t h C r e a t i v e C o m m o n s d a t a . O u r e v a l u a t i o n s h o w s t h a t t h e m o d e l ' s p e r f o r m a n c e i s c o m p e t i t i v e w i t h t h e s t a t e - o f - t h e - a r t a c r o s s v a r i o u s m e t r i c s . N o t a b l y , t h e r e p o r t e d F D o p e n l 3 r e s u l t s ( m e a s u r i n g t h e r e a l i s m o f t h e g e n e r a t i o n s ) s h o w c a s e i t s p o t e n t i a l f o r h i g h - q u a l i t y s t e r e o s o u n d s y n t h e s i s a t 4 4 . 1 k H z . * T h i s p i p e l i n e w a s c o n t r i b u t e d b y [ Y o a c h L a c o m b e ] ( h t t p s : / / h u g g i n g f a c e . c o / y l a c o m b e ) . T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ S t a b i l i t y - A I / s t a b l e - a u d i o - t o o l s ] ( h t t p s : / / g i t h u b . c o m / S t a b i l i t y - A I / s t a b l e - a u d i o - t o o l s ) . # # T i p s W h e n c o n s t r u c t i n g a p r o m p t , k e e p i n m i n d : * D e s c r i p t i v e p r o m p t i n p u t s w o r k b e s t ; u s e a d j e c t i v e s t o d e s c r i b e t h e s o u n d ( f o r e x a m p l e , " h i g h q u a l i t y " o r " c l e a r " ) a n d m a k e t h e p r o m p t c o n t e x t s p e c i f i c w h e r e p o s s i b l e ( e . g . " m e l o d i c t e c h n o w i t h a f a s t b e a t a n d s y n t h s " w o r k s b e t t e r t h a n " t e c h n o " ) . * U s i n g a * n e g a t i v e p r o m p t * c a n s i g n i f i c a n t l y i m p r o v e t h e q u a l i t y o f t h e g e n e r a t e d a u d i o . T r y u s i n g a n e g a t i v e p r o m p t o f " l o w q u a l i t y , a v e r a g e q u a l i t y " . D u r i n g i n f e r e n c e : * T h e _ q u a l i t y _ o f t h e g e n e r a t e d a u d i o s a m p l e c a n b e c o n t r o l l e d b y t h e ` n u m _ i n f e r e n c e _ s t e p s ` a r g u m e n t ; h i g h e r s t e p s g i v e h i g h e r q u a l i t y a u d i o a t t h e e x p e n s e o f s l o w e r i n f e r e n c e . * M u l t i p l e w a v e f o r m s c a n b e g e n e r a t e d i n o n e g o : s e t ` n u m _ w a v e f o r m s _ p e r _ p r o m p t ` t o a v a l u e g r e a t e r t h a n 1 t o e n a b l e . A u t o m a t i c s c o r i n g w i l l b e p e r f o r m e d b e t w e e n t h e g e n e r a t e d w a v e f o r m s a n d p r o m p t t e x t , a n d t h e a u d i o s r a n k e d f r o m b e s t t o w o r s t a c c o r d i n g l y . # # S t a b l e A u d i o P i p e l i n e [ [ a u t o d o c ] ] S t a b l e A u d i o P i p e l i n e - a l l - _ _ c a l l _ _ # A u t o P i p e l i n e T h e ` A u t o P i p e l i n e ` i s d e s i g n e d t o m a k e i t e a s y t o l o a d a c h e c k p o i n t f o r a t a s k w i t h o u t n e e d i n g t o k n o w t h e s p e c i f i c p i p e l i n e c l a s s . B a s e d o n t h e t a s k , t h e ` A u t o P i p e l i n e ` a u t o m a t i c a l l y r e t r i e v e s t h e c o r r e c t p i p e l i n e c l a s s f r o m t h e c h e c k p o i n t ` m o d e l _ i n d e x . j s o n ` f i l e . > [ ! T I P ] > C h e c k o u t t h e [ A u t o P i p e l i n e ] ( . . / . . / t u t o r i a l s / a u t o p i p e l i n e ) t u t o r i a l t o l e a r n h o w t o u s e t h i s A P I ! # # A u t o P i p e l i n e F o r T e x t 2 I m a g e # # A u t o P i p e l i n e F o r I m a g e 2 I m a g e # # A u t o P i p e l i n e F o r I n p a i n t i n g [ [ a u t o d o c ] ] A u t o P i p e l i n e F o r T e x t 2 I m a g e - a l l - f r o m _ p r e t r a i n e d - f r o m _ p i p e [ [ a u t o d o c ] ] A u t o P i p e l i n e F o r I m a g e 2 I m a g e - a l l - f r o m _ p r e t r a i n e d - f r o m _ p i p e [ [ a u t o d o c ] ] A u t o P i p e l i n e F o r I n p a i n t i n g - a l l - f r o m _ p r e t r a i n e d - f r o m _ p i p e # A t t e n d - a n d - E x c i t e A t t e n d - a n d - E x c i t e f o r S t a b l e D i f f u s i o n w a s p r o p o s e d i n [ A t t e n d - a n d - E x c i t e : A t t e n t i o n - B a s e d S e m a n t i c G u i d a n c e f o r T e x t - t o - I m a g e D i f f u s i o n M o d e l s ] ( h t t p s : / / a t t e n d a n d e x c i t e . g i t h u b . i o / A t t e n d - a n d - E x c i t e / ) a n d p r o v i d e s t e x t u a l a t t e n t i o n c o n t r o l o v e r i m a g e g e n e r a t i o n . T h e a b s t r a c t f r o m t h e p a p e r i s : * R e c e n t t e x t - t o - i m a g e g e n e r a t i v e m o d e l s h a v e d e m o n s t r a t e d a n u n p a r a l l e l e d a b i l i t y t o g e n e r a t e d i v e r s e a n d c r e a t i v e i m a g e r y g u i d e d b y a t a r g e t t e x t p r o m p t . W h i l e r e v o l u t i o n a r y , c u r r e n t s t a t e - o f - t h e - a r t d i f f u s i o n m o d e l s m a y s t i l l f a i l i n g e n e r a t i n g i m a g e s t h a t f u l l y c o n v e y t h e s e m a n t i c s i n t h e g i v e n t e x t p r o m p t . W e a n a l y z e t h e p u b l i c l y a v a i l a b l e S t a b l e D i f f u s i o n m o d e l a n d a s s e s s t h e e x i s t e n c e o f c a t a s t r o p h i c n e g l e c t , w h e r e t h e m o d e l f a i l s t o g e n e r a t e o n e o r m o r e o f t h e s u b j e c t s f r o m t h e i n p u t p r o m p t . M o r e o v e r , w e f i n d t h a t i n s o m e c a s e s t h e m o d e l a l s o f a i l s t o c o r r e c t l y b i n d a t t r i b u t e s ( e . g . , c o l o r s ) t o t h e i r c o r r e s p o n d i n g s u b j e c t s . T o h e l p m i t i g a t e t h e s e f a i l u r e c a s e s , w e i n t r o d u c e t h e c o n c e p t o f G e n e r a t i v e S e m a n t i c N u r s i n g ( G S N ) , w h e r e w e s e e k t o i n t e r v e n e i n t h e g e n e r a t i v e p r o c e s s o n t h e f l y d u r i n g i n f e r e n c e t i m e t o i m p r o v e t h e f a i t h f u l n e s s o f t h e g e n e r a t e d i m a g e s . U s i n g a n a t t e n t i o n - b a s e d f o r m u l a t i o n o f G S N , d u b b e d A t t e n d - a n d - E x c i t e , w e g u i d e t h e m o d e l t o r e f i n e t h e c r o s s - a t t e n t i o n u n i t s t o a t t e n d t o a l l s u b j e c t t o k e n s i n t h e t e x t p r o m p t a n d s t r e n g t h e n - o r e x c i t e - t h e i r a c t i v a t i o n s , e n c o u r a g i n g t h e m o d e l t o g e n e r a t e a l l s u b j e c t s d e s c r i b e d i n t h e t e x t p r o m p t . W e c o m p a r e o u r a p p r o a c h t o a l t e r n a t i v e a p p r o a c h e s a n d d e m o n s t r a t e t h a t i t c o n v e y s t h e d e s i r e d c o n c e p t s m o r e f a i t h f u l l y a c r o s s a r a n g e o f t e x t p r o m p t s . * Y o u c a n f i n d a d d i t i o n a l i n f o r m a t i o n a b o u t A t t e n d - a n d - E x c i t e o n t h e [ p r o j e c t p a g e ] ( h t t p s : / / a t t e n d a n d e x c i t e . g i t h u b . i o / A t t e n d - a n d - E x c i t e / ) , t h e [ o r i g i n a l c o d e b a s e ] ( h t t p s : / / g i t h u b . c o m / A t t e n d A n d E x c i t e / A t t e n d - a n d - E x c i t e ) , o r t r y i t o u t i n a [ d e m o ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / A t t e n d A n d E x c i t e / A t t e n d - a n d - E x c i t e ) . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # S t a b l e D i f f u s i o n A t t e n d A n d E x c i t e P i p e l i n e # # S t a b l e D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n A t t e n d A n d E x c i t e P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # S h a p - E T h e S h a p - E m o d e l w a s p r o p o s e d i n [ S h a p - E : G e n e r a t i n g C o n d i t i o n a l 3 D I m p l i c i t F u n c t i o n s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 5 . 0 2 4 6 3 ) b y A l e x N i c h o l a n d H e e w o o J u n f r o m [ O p e n A I ] ( h t t p s : / / g i t h u b . c o m / o p e n a i ) . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e p r e s e n t S h a p - E , a c o n d i t i o n a l g e n e r a t i v e m o d e l f o r 3 D a s s e t s . U n l i k e r e c e n t w o r k o n 3 D g e n e r a t i v e m o d e l s w h i c h p r o d u c e a s i n g l e o u t p u t r e p r e s e n t a t i o n , S h a p - E d i r e c t l y g e n e r a t e s t h e p a r a m e t e r s o f i m p l i c i t f u n c t i o n s t h a t c a n b e r e n d e r e d a s b o t h t e x t u r e d m e s h e s a n d n e u r a l r a d i a n c e f i e l d s . W e t r a i n S h a p - E i n t w o s t a g e s : f i r s t , w e t r a i n a n e n c o d e r t h a t d e t e r m i n i s t i c a l l y m a p s 3 D a s s e t s i n t o t h e p a r a m e t e r s o f a n i m p l i c i t f u n c t i o n ; s e c o n d , w e t r a i n a c o n d i t i o n a l d i f f u s i o n m o d e l o n o u t p u t s o f t h e e n c o d e r . W h e n t r a i n e d o n a l a r g e d a t a s e t o f p a i r e d 3 D a n d t e x t d a t a , o u r r e s u l t i n g m o d e l s a r e c a p a b l e o f g e n e r a t i n g c o m p l e x a n d d i v e r s e 3 D a s s e t s i n a m a t t e r o f s e c o n d s . W h e n c o m p a r e d t o P o i n t - E , a n e x p l i c i t g e n e r a t i v e m o d e l o v e r p o i n t c l o u d s , S h a p - E c o n v e r g e s f a s t e r a n d r e a c h e s c o m p a r a b l e o r b e t t e r s a m p l e q u a l i t y d e s p i t e m o d e l i n g a h i g h e r - d i m e n s i o n a l , m u l t i - r e p r e s e n t a t i o n o u t p u t s p a c e . * T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ o p e n a i / s h a p - e ] ( h t t p s : / / g i t h u b . c o m / o p e n a i / s h a p - e ) . < T i p > S e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # S h a p E P i p e l i n e # # S h a p E I m g 2 I m g P i p e l i n e # # S h a p E P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S h a p E P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] S h a p E I m g 2 I m g P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . s h a p _ e . p i p e l i n e _ s h a p _ e . S h a p E P i p e l i n e O u t p u t # D e e p F l o y d I F # # O v e r v i e w D e e p F l o y d I F i s a n o v e l s t a t e - o f - t h e - a r t o p e n - s o u r c e t e x t - t o - i m a g e m o d e l w i t h a h i g h d e g r e e o f p h o t o r e a l i s m a n d l a n g u a g e u n d e r s t a n d i n g . T h e m o d e l i s a m o d u l a r c o m p o s e d o f a f r o z e n t e x t e n c o d e r a n d t h r e e c a s c a d e d p i x e l d i f f u s i o n m o d u l e s : - S t a g e 1 : a b a s e m o d e l t h a t g e n e r a t e s 6 4 x 6 4 p x i m a g e b a s e d o n t e x t p r o m p t , - S t a g e 2 : a 6 4 x 6 4 p x = > 2 5 6 x 2 5 6 p x s u p e r - r e s o l u t i o n m o d e l , a n d - S t a g e 3 : a 2 5 6 x 2 5 6 p x = > 1 0 2 4 x 1 0 2 4 p x s u p e r - r e s o l u t i o n m o d e l S t a g e 1 a n d S t a g e 2 u t i l i z e a f r o z e n t e x t e n c o d e r b a s e d o n t h e T 5 t r a n s f o r m e r t o e x t r a c t t e x t e m b e d d i n g s , w h i c h a r e t h e n f e d i n t o a U N e t a r c h i t e c t u r e e n h a n c e d w i t h c r o s s - a t t e n t i o n a n d a t t e n t i o n p o o l i n g . S t a g e 3 i s [ S t a b i l i t y A I ' s x 4 U p s c a l i n g m o d e l ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x 4 - u p s c a l e r ) . T h e r e s u l t i s a h i g h l y e f f i c i e n t m o d e l t h a t o u t p e r f o r m s c u r r e n t s t a t e - o f - t h e - a r t m o d e l s , a c h i e v i n g a z e r o - s h o t F I D s c o r e o f 6 . 6 6 o n t h e C O C O d a t a s e t . O u r w o r k u n d e r s c o r e s t h e p o t e n t i a l o f l a r g e r U N e t a r c h i t e c t u r e s i n t h e f i r s t s t a g e o f c a s c a d e d d i f f u s i o n m o d e l s a n d d e p i c t s a p r o m i s i n g f u t u r e f o r t e x t - t o - i m a g e s y n t h e s i s . # # U s a g e B e f o r e y o u c a n u s e I F , y o u n e e d t o a c c e p t i t s u s a g e c o n d i t i o n s . T o d o s o : 1 . M a k e s u r e t o h a v e a [ H u g g i n g F a c e a c c o u n t ] ( h t t p s : / / h u g g i n g f a c e . c o / j o i n ) a n d b e l o g g e d i n . 2 . A c c e p t t h e l i c e n s e o n t h e m o d e l c a r d o f [ D e e p F l o y d / I F - I - X L - v 1 . 0 ] ( h t t p s : / / h u g g i n g f a c e . c o / D e e p F l o y d / I F - I - X L - v 1 . 0 ) . A c c e p t i n g t h e l i c e n s e o n t h e s t a g e I m o d e l c a r d w i l l a u t o a c c e p t f o r t h e o t h e r I F m o d e l s . 3 . M a k e s u r e t o l o g i n l o c a l l y . I n s t a l l ` h u g g i n g f a c e _ h u b ` : ` ` ` s h p i p i n s t a l l h u g g i n g f a c e _ h u b - - u p g r a d e ` ` ` r u n t h e l o g i n f u n c t i o n i n a P y t h o n s h e l l : ` ` ` p y f r o m h u g g i n g f a c e _ h u b i m p o r t l o g i n l o g i n ( ) ` ` ` a n d e n t e r y o u r [ H u g g i n g F a c e H u b a c c e s s t o k e n ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / h u b / s e c u r i t y - t o k e n s # w h a t - a r e - u s e r - a c c e s s - t o k e n s ) . N e x t w e i n s t a l l ` d i f f u s e r s ` a n d d e p e n d e n c i e s : ` ` ` s h p i p i n s t a l l - q d i f f u s e r s a c c e l e r a t e t r a n s f o r m e r s ` ` ` T h e f o l l o w i n g s e c t i o n s g i v e m o r e i n - d e t a i l e x a m p l e s o f h o w t o u s e I F . S p e c i f i c a l l y : - [ T e x t - t o - I m a g e G e n e r a t i o n ] ( # t e x t - t o - i m a g e - g e n e r a t i o n ) - [ I m a g e - t o - I m a g e G e n e r a t i o n ] ( # t e x t - g u i d e d - i m a g e - t o - i m a g e - g e n e r a t i o n ) - [ I n p a i n t i n g ] ( # t e x t - g u i d e d - i n p a i n t i n g - g e n e r a t i o n ) - [ R e u s i n g m o d e l w e i g h t s ] ( # c o n v e r t i n g - b e t w e e n - d i f f e r e n t - p i p e l i n e s ) - [ S p e e d o p t i m i z a t i o n ] ( # o p t i m i z i n g - f o r - s p e e d ) - [ M e m o r y o p t i m i z a t i o n ] ( # o p t i m i z i n g - f o r - m e m o r y ) * * A v a i l a b l e c h e c k p o i n t s * * - * S t a g e - 1 * - [ D e e p F l o y d / I F - I - X L - v 1 . 0 ] ( h t t p s : / / h u g g i n g f a c e . c o / D e e p F l o y d / I F - I - X L - v 1 . 0 ) - [ D e e p F l o y d / I F - I - L - v 1 . 0 ] ( h t t p s : / / h u g g i n g f a c e . c o / D e e p F l o y d / I F - I - L - v 1 . 0 ) - [ D e e p F l o y d / I F - I - M - v 1 . 0 ] ( h t t p s : / / h u g g i n g f a c e . c o / D e e p F l o y d / I F - I - M - v 1 . 0 ) - * S t a g e - 2 * - [ D e e p F l o y d / I F - I I - L - v 1 . 0 ] ( h t t p s : / / h u g g i n g f a c e . c o / D e e p F l o y d / I F - I I - L - v 1 . 0 ) - [ D e e p F l o y d / I F - I I - M - v 1 . 0 ] ( h t t p s : / / h u g g i n g f a c e . c o / D e e p F l o y d / I F - I I - M - v 1 . 0 ) - * S t a g e - 3 * - [ s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x 4 - u p s c a l e r ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x 4 - u p s c a l e r ) * * G o o g l e C o l a b * * [ ! [ O p e n I n C o l a b ] ( h t t p s : / / c o l a b . r e s e a r c h . g o o g l e . c o m / a s s e t s / c o l a b - b a d g e . s v g ) ] ( h t t p s : / / c o l a b . r e s e a r c h . g o o g l e . c o m / g i t h u b / h u g g i n g f a c e / n o t e b o o k s / b l o b / m a i n / d i f f u s e r s / d e e p f l o y d _ i f _ f r e e _ t i e r _ g o o g l e _ c o l a b . i p y n b ) # # # T e x t - t o - I m a g e G e n e r a t i o n B y d e f a u l t d i f f u s e r s m a k e s u s e o f [ m o d e l c p u o f f l o a d i n g ] ( . . / . . / o p t i m i z a t i o n / m e m o r y # m o d e l - o f f l o a d i n g ) t o r u n t h e w h o l e I F p i p e l i n e w i t h a s l i t t l e a s 1 4 G B o f V R A M . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t p t _ t o _ p i l , m a k e _ i m a g e _ g r i d i m p o r t t o r c h # s t a g e 1 s t a g e _ 1 = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I - X L - v 1 . 0 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) s t a g e _ 1 . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # s t a g e 2 s t a g e _ 2 = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I I - L - v 1 . 0 " , t e x t _ e n c o d e r = N o n e , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) s t a g e _ 2 . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # s t a g e 3 s a f e t y _ m o d u l e s = { " f e a t u r e _ e x t r a c t o r " : s t a g e _ 1 . f e a t u r e _ e x t r a c t o r , " s a f e t y _ c h e c k e r " : s t a g e _ 1 . s a f e t y _ c h e c k e r , " w a t e r m a r k e r " : s t a g e _ 1 . w a t e r m a r k e r , } s t a g e _ 3 = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x 4 - u p s c a l e r " , * * s a f e t y _ m o d u l e s , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) s t a g e _ 3 . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p r o m p t = ' a p h o t o o f a k a n g a r o o w e a r i n g a n o r a n g e h o o d i e a n d b l u e s u n g l a s s e s s t a n d i n g i n f r o n t o f t h e e i f f e l t o w e r h o l d i n g a s i g n t h a t s a y s " v e r y d e e p l e a r n i n g " ' g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 1 ) # t e x t e m b e d s p r o m p t _ e m b e d s , n e g a t i v e _ e m b e d s = s t a g e _ 1 . e n c o d e _ p r o m p t ( p r o m p t ) # s t a g e 1 s t a g e _ 1 _ o u t p u t = s t a g e _ 1 ( p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , n e g a t i v e _ p r o m p t _ e m b e d s = n e g a t i v e _ e m b e d s , g e n e r a t o r = g e n e r a t o r , o u t p u t _ t y p e = " p t " ) . i m a g e s # p t _ t o _ p i l ( s t a g e _ 1 _ o u t p u t ) [ 0 ] . s a v e ( " . / i f _ s t a g e _ I . p n g " ) # s t a g e 2 s t a g e _ 2 _ o u t p u t = s t a g e _ 2 ( i m a g e = s t a g e _ 1 _ o u t p u t , p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , n e g a t i v e _ p r o m p t _ e m b e d s = n e g a t i v e _ e m b e d s , g e n e r a t o r = g e n e r a t o r , o u t p u t _ t y p e = " p t " , ) . i m a g e s # p t _ t o _ p i l ( s t a g e _ 2 _ o u t p u t ) [ 0 ] . s a v e ( " . / i f _ s t a g e _ I I . p n g " ) # s t a g e 3 s t a g e _ 3 _ o u t p u t = s t a g e _ 3 ( p r o m p t = p r o m p t , i m a g e = s t a g e _ 2 _ o u t p u t , n o i s e _ l e v e l = 1 0 0 , g e n e r a t o r = g e n e r a t o r ) . i m a g e s # s t a g e _ 3 _ o u t p u t [ 0 ] . s a v e ( " . / i f _ s t a g e _ I I I . p n g " ) m a k e _ i m a g e _ g r i d ( [ p t _ t o _ p i l ( s t a g e _ 1 _ o u t p u t ) [ 0 ] , p t _ t o _ p i l ( s t a g e _ 2 _ o u t p u t ) [ 0 ] , s t a g e _ 3 _ o u t p u t [ 0 ] ] , r o w s = 1 , r o w s = 3 ) ` ` ` # # # T e x t G u i d e d I m a g e - t o - I m a g e G e n e r a t i o n T h e s a m e I F m o d e l w e i g h t s c a n b e u s e d f o r t e x t - g u i d e d i m a g e - t o - i m a g e t r a n s l a t i o n o r i m a g e v a r i a t i o n . I n t h i s c a s e j u s t m a k e s u r e t o l o a d t h e w e i g h t s u s i n g t h e ` I F I m g 2 I m g P i p e l i n e ` a n d ` I F I m g 2 I m g S u p e r R e s o l u t i o n P i p e l i n e ` p i p e l i n e s . * * N o t e * * : Y o u c a n a l s o d i r e c t l y m o v e t h e w e i g h t s o f t h e t e x t - t o - i m a g e p i p e l i n e s t o t h e i m a g e - t o - i m a g e p i p e l i n e s w i t h o u t l o a d i n g t h e m t w i c e b y m a k i n g u s e o f t h e [ c o m p o n e n t s ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . c o m p o n e n t s ) a r g u m e n t a s e x p l a i n e d [ h e r e ] ( # c o n v e r t i n g - b e t w e e n - d i f f e r e n t - p i p e l i n e s ) . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t I F I m g 2 I m g P i p e l i n e , I F I m g 2 I m g S u p e r R e s o l u t i o n P i p e l i n e , D i f f u s i o n P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t p t _ t o _ p i l , l o a d _ i m a g e , m a k e _ i m a g e _ g r i d i m p o r t t o r c h # d o w n l o a d i m a g e u r l = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / C o m p V i s / s t a b l e - d i f f u s i o n / m a i n / a s s e t s / s t a b l e - s a m p l e s / i m g 2 i m g / s k e t c h - m o u n t a i n s - i n p u t . j p g " o r i g i n a l _ i m a g e = l o a d _ i m a g e ( u r l ) o r i g i n a l _ i m a g e = o r i g i n a l _ i m a g e . r e s i z e ( ( 7 6 8 , 5 1 2 ) ) # s t a g e 1 s t a g e _ 1 = I F I m g 2 I m g P i p e l i n e . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I - X L - v 1 . 0 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) s t a g e _ 1 . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # s t a g e 2 s t a g e _ 2 = I F I m g 2 I m g S u p e r R e s o l u t i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I I - L - v 1 . 0 " , t e x t _ e n c o d e r = N o n e , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) s t a g e _ 2 . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # s t a g e 3 s a f e t y _ m o d u l e s = { " f e a t u r e _ e x t r a c t o r " : s t a g e _ 1 . f e a t u r e _ e x t r a c t o r , " s a f e t y _ c h e c k e r " : s t a g e _ 1 . s a f e t y _ c h e c k e r , " w a t e r m a r k e r " : s t a g e _ 1 . w a t e r m a r k e r , } s t a g e _ 3 = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x 4 - u p s c a l e r " , * * s a f e t y _ m o d u l e s , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) s t a g e _ 3 . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p r o m p t = " A f a n t a s y l a n d s c a p e i n s t y l e m i n e c r a f t " g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 1 ) # t e x t e m b e d s p r o m p t _ e m b e d s , n e g a t i v e _ e m b e d s = s t a g e _ 1 . e n c o d e _ p r o m p t ( p r o m p t ) # s t a g e 1 s t a g e _ 1 _ o u t p u t = s t a g e _ 1 ( i m a g e = o r i g i n a l _ i m a g e , p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , n e g a t i v e _ p r o m p t _ e m b e d s = n e g a t i v e _ e m b e d s , g e n e r a t o r = g e n e r a t o r , o u t p u t _ t y p e = " p t " , ) . i m a g e s # p t _ t o _ p i l ( s t a g e _ 1 _ o u t p u t ) [ 0 ] . s a v e ( " . / i f _ s t a g e _ I . p n g " ) # s t a g e 2 s t a g e _ 2 _ o u t p u t = s t a g e _ 2 ( i m a g e = s t a g e _ 1 _ o u t p u t , o r i g i n a l _ i m a g e = o r i g i n a l _ i m a g e , p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , n e g a t i v e _ p r o m p t _ e m b e d s = n e g a t i v e _ e m b e d s , g e n e r a t o r = g e n e r a t o r , o u t p u t _ t y p e = " p t " , ) . i m a g e s # p t _ t o _ p i l ( s t a g e _ 2 _ o u t p u t ) [ 0 ] . s a v e ( " . / i f _ s t a g e _ I I . p n g " ) # s t a g e 3 s t a g e _ 3 _ o u t p u t = s t a g e _ 3 ( p r o m p t = p r o m p t , i m a g e = s t a g e _ 2 _ o u t p u t , g e n e r a t o r = g e n e r a t o r , n o i s e _ l e v e l = 1 0 0 ) . i m a g e s # s t a g e _ 3 _ o u t p u t [ 0 ] . s a v e ( " . / i f _ s t a g e _ I I I . p n g " ) m a k e _ i m a g e _ g r i d ( [ o r i g i n a l _ i m a g e , p t _ t o _ p i l ( s t a g e _ 1 _ o u t p u t ) [ 0 ] , p t _ t o _ p i l ( s t a g e _ 2 _ o u t p u t ) [ 0 ] , s t a g e _ 3 _ o u t p u t [ 0 ] ] , r o w s = 1 , r o w s = 4 ) ` ` ` # # # T e x t G u i d e d I n p a i n t i n g G e n e r a t i o n T h e s a m e I F m o d e l w e i g h t s c a n b e u s e d f o r t e x t - g u i d e d i m a g e - t o - i m a g e t r a n s l a t i o n o r i m a g e v a r i a t i o n . I n t h i s c a s e j u s t m a k e s u r e t o l o a d t h e w e i g h t s u s i n g t h e ` I F I n p a i n t i n g P i p e l i n e ` a n d ` I F I n p a i n t i n g S u p e r R e s o l u t i o n P i p e l i n e ` p i p e l i n e s . * * N o t e * * : Y o u c a n a l s o d i r e c t l y m o v e t h e w e i g h t s o f t h e t e x t - t o - i m a g e p i p e l i n e s t o t h e i m a g e - t o - i m a g e p i p e l i n e s w i t h o u t l o a d i n g t h e m t w i c e b y m a k i n g u s e o f t h e ` ~ D i f f u s i o n P i p e l i n e . c o m p o n e n t s ( ) ` f u n c t i o n a s e x p l a i n e d [ h e r e ] ( # c o n v e r t i n g - b e t w e e n - d i f f e r e n t - p i p e l i n e s ) . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t I F I n p a i n t i n g P i p e l i n e , I F I n p a i n t i n g S u p e r R e s o l u t i o n P i p e l i n e , D i f f u s i o n P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t p t _ t o _ p i l , l o a d _ i m a g e , m a k e _ i m a g e _ g r i d i m p o r t t o r c h # d o w n l o a d i m a g e u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / i f / p e r s o n . p n g " o r i g i n a l _ i m a g e = l o a d _ i m a g e ( u r l ) # d o w n l o a d m a s k u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / i f / g l a s s e s _ m a s k . p n g " m a s k _ i m a g e = l o a d _ i m a g e ( u r l ) # s t a g e 1 s t a g e _ 1 = I F I n p a i n t i n g P i p e l i n e . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I - X L - v 1 . 0 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) s t a g e _ 1 . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # s t a g e 2 s t a g e _ 2 = I F I n p a i n t i n g S u p e r R e s o l u t i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I I - L - v 1 . 0 " , t e x t _ e n c o d e r = N o n e , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) s t a g e _ 2 . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # s t a g e 3 s a f e t y _ m o d u l e s = { " f e a t u r e _ e x t r a c t o r " : s t a g e _ 1 . f e a t u r e _ e x t r a c t o r , " s a f e t y _ c h e c k e r " : s t a g e _ 1 . s a f e t y _ c h e c k e r , " w a t e r m a r k e r " : s t a g e _ 1 . w a t e r m a r k e r , } s t a g e _ 3 = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x 4 - u p s c a l e r " , * * s a f e t y _ m o d u l e s , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) s t a g e _ 3 . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p r o m p t = " b l u e s u n g l a s s e s " g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 1 ) # t e x t e m b e d s p r o m p t _ e m b e d s , n e g a t i v e _ e m b e d s = s t a g e _ 1 . e n c o d e _ p r o m p t ( p r o m p t ) # s t a g e 1 s t a g e _ 1 _ o u t p u t = s t a g e _ 1 ( i m a g e = o r i g i n a l _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e , p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , n e g a t i v e _ p r o m p t _ e m b e d s = n e g a t i v e _ e m b e d s , g e n e r a t o r = g e n e r a t o r , o u t p u t _ t y p e = " p t " , ) . i m a g e s # p t _ t o _ p i l ( s t a g e _ 1 _ o u t p u t ) [ 0 ] . s a v e ( " . / i f _ s t a g e _ I . p n g " ) # s t a g e 2 s t a g e _ 2 _ o u t p u t = s t a g e _ 2 ( i m a g e = s t a g e _ 1 _ o u t p u t , o r i g i n a l _ i m a g e = o r i g i n a l _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e , p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , n e g a t i v e _ p r o m p t _ e m b e d s = n e g a t i v e _ e m b e d s , g e n e r a t o r = g e n e r a t o r , o u t p u t _ t y p e = " p t " , ) . i m a g e s # p t _ t o _ p i l ( s t a g e _ 1 _ o u t p u t ) [ 0 ] . s a v e ( " . / i f _ s t a g e _ I I . p n g " ) # s t a g e 3 s t a g e _ 3 _ o u t p u t = s t a g e _ 3 ( p r o m p t = p r o m p t , i m a g e = s t a g e _ 2 _ o u t p u t , g e n e r a t o r = g e n e r a t o r , n o i s e _ l e v e l = 1 0 0 ) . i m a g e s # s t a g e _ 3 _ o u t p u t [ 0 ] . s a v e ( " . / i f _ s t a g e _ I I I . p n g " ) m a k e _ i m a g e _ g r i d ( [ o r i g i n a l _ i m a g e , m a s k _ i m a g e , p t _ t o _ p i l ( s t a g e _ 1 _ o u t p u t ) [ 0 ] , p t _ t o _ p i l ( s t a g e _ 2 _ o u t p u t ) [ 0 ] , s t a g e _ 3 _ o u t p u t [ 0 ] ] , r o w s = 1 , r o w s = 5 ) ` ` ` # # # C o n v e r t i n g b e t w e e n d i f f e r e n t p i p e l i n e s I n a d d i t i o n t o b e i n g l o a d e d w i t h ` f r o m _ p r e t r a i n e d ` , P i p e l i n e s c a n a l s o b e l o a d e d d i r e c t l y f r o m e a c h o t h e r . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t I F P i p e l i n e , I F S u p e r R e s o l u t i o n P i p e l i n e p i p e _ 1 = I F P i p e l i n e . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I - X L - v 1 . 0 " ) p i p e _ 2 = I F S u p e r R e s o l u t i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I I - L - v 1 . 0 " ) f r o m d i f f u s e r s i m p o r t I F I m g 2 I m g P i p e l i n e , I F I m g 2 I m g S u p e r R e s o l u t i o n P i p e l i n e p i p e _ 1 = I F I m g 2 I m g P i p e l i n e ( * * p i p e _ 1 . c o m p o n e n t s ) p i p e _ 2 = I F I m g 2 I m g S u p e r R e s o l u t i o n P i p e l i n e ( * * p i p e _ 2 . c o m p o n e n t s ) f r o m d i f f u s e r s i m p o r t I F I n p a i n t i n g P i p e l i n e , I F I n p a i n t i n g S u p e r R e s o l u t i o n P i p e l i n e p i p e _ 1 = I F I n p a i n t i n g P i p e l i n e ( * * p i p e _ 1 . c o m p o n e n t s ) p i p e _ 2 = I F I n p a i n t i n g S u p e r R e s o l u t i o n P i p e l i n e ( * * p i p e _ 2 . c o m p o n e n t s ) ` ` ` # # # O p t i m i z i n g f o r s p e e d T h e s i m p l e s t o p t i m i z a t i o n t o r u n I F f a s t e r i s t o m o v e a l l m o d e l c o m p o n e n t s t o t h e G P U . ` ` ` p y p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I - X L - v 1 . 0 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . t o ( " c u d a " ) ` ` ` Y o u c a n a l s o r u n t h e d i f f u s i o n p r o c e s s f o r a s h o r t e r n u m b e r o f t i m e s t e p s . T h i s c a n e i t h e r b e d o n e w i t h t h e ` n u m _ i n f e r e n c e _ s t e p s ` a r g u m e n t : ` ` ` p y p i p e ( " < p r o m p t > " , n u m _ i n f e r e n c e _ s t e p s = 3 0 ) ` ` ` O r w i t h t h e ` t i m e s t e p s ` a r g u m e n t : ` ` ` p y f r o m d i f f u s e r s . p i p e l i n e s . d e e p f l o y d _ i f i m p o r t f a s t 2 7 _ t i m e s t e p s p i p e ( " < p r o m p t > " , t i m e s t e p s = f a s t 2 7 _ t i m e s t e p s ) ` ` ` W h e n d o i n g i m a g e v a r i a t i o n o r i n p a i n t i n g , y o u c a n a l s o d e c r e a s e t h e n u m b e r o f t i m e s t e p s w i t h t h e s t r e n g t h a r g u m e n t . T h e s t r e n g t h a r g u m e n t i s t h e a m o u n t o f n o i s e t o a d d t o t h e i n p u t i m a g e w h i c h a l s o d e t e r m i n e s h o w m a n y s t e p s t o r u n i n t h e d e n o i s i n g p r o c e s s . A s m a l l e r n u m b e r w i l l v a r y t h e i m a g e l e s s b u t r u n f a s t e r . ` ` ` p y p i p e = I F I m g 2 I m g P i p e l i n e . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I - X L - v 1 . 0 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . t o ( " c u d a " ) i m a g e = p i p e ( i m a g e = i m a g e , p r o m p t = " < p r o m p t > " , s t r e n g t h = 0 . 3 ) . i m a g e s ` ` ` Y o u c a n a l s o u s e [ ` t o r c h . c o m p i l e ` ] ( . . / . . / o p t i m i z a t i o n / t o r c h 2 . 0 ) . N o t e t h a t w e h a v e n o t e x h a u s t i v e l y t e s t e d ` t o r c h . c o m p i l e ` w i t h I F a n d i t m i g h t n o t g i v e e x p e c t e d r e s u l t s . ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I - X L - v 1 . 0 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . t o ( " c u d a " ) p i p e . t e x t _ e n c o d e r = t o r c h . c o m p i l e ( p i p e . t e x t _ e n c o d e r , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) p i p e . u n e t = t o r c h . c o m p i l e ( p i p e . u n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) ` ` ` # # # O p t i m i z i n g f o r m e m o r y W h e n o p t i m i z i n g f o r G P U m e m o r y , w e c a n u s e t h e s t a n d a r d d i f f u s e r s C P U o f f l o a d i n g A P I s . E i t h e r t h e m o d e l b a s e d C P U o f f l o a d i n g , ` ` ` p y p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I - X L - v 1 . 0 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` ` ` o r t h e m o r e a g g r e s s i v e l a y e r b a s e d C P U o f f l o a d i n g . ` ` ` p y p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I - X L - v 1 . 0 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . e n a b l e _ s e q u e n t i a l _ c p u _ o f f l o a d ( ) ` ` ` A d d i t i o n a l l y , T 5 c a n b e l o a d e d i n 8 b i t p r e c i s i o n ` ` ` p y f r o m t r a n s f o r m e r s i m p o r t T 5 E n c o d e r M o d e l t e x t _ e n c o d e r = T 5 E n c o d e r M o d e l . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I - X L - v 1 . 0 " , s u b f o l d e r = " t e x t _ e n c o d e r " , d e v i c e _ m a p = " a u t o " , l o a d _ i n _ 8 b i t = T r u e , v a r i a n t = " 8 b i t " ) f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I - X L - v 1 . 0 " , t e x t _ e n c o d e r = t e x t _ e n c o d e r , # p a s s t h e p r e v i o u s l y i n s t a n t i a t e d 8 b i t t e x t e n c o d e r u n e t = N o n e , d e v i c e _ m a p = " a u t o " , ) p r o m p t _ e m b e d s , n e g a t i v e _ e m b e d s = p i p e . e n c o d e _ p r o m p t ( " < p r o m p t > " ) ` ` ` F o r C P U R A M c o n s t r a i n e d m a c h i n e s l i k e G o o g l e C o l a b f r e e t i e r w h e r e w e c a n ' t l o a d a l l m o d e l c o m p o n e n t s t o t h e C P U a t o n c e , w e c a n m a n u a l l y o n l y l o a d t h e p i p e l i n e w i t h t h e t e x t e n c o d e r o r U N e t w h e n t h e r e s p e c t i v e m o d e l c o m p o n e n t s a r e n e e d e d . ` ` ` p y f r o m d i f f u s e r s i m p o r t I F P i p e l i n e , I F S u p e r R e s o l u t i o n P i p e l i n e i m p o r t t o r c h i m p o r t g c f r o m t r a n s f o r m e r s i m p o r t T 5 E n c o d e r M o d e l f r o m d i f f u s e r s . u t i l s i m p o r t p t _ t o _ p i l , m a k e _ i m a g e _ g r i d t e x t _ e n c o d e r = T 5 E n c o d e r M o d e l . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I - X L - v 1 . 0 " , s u b f o l d e r = " t e x t _ e n c o d e r " , d e v i c e _ m a p = " a u t o " , l o a d _ i n _ 8 b i t = T r u e , v a r i a n t = " 8 b i t " ) # t e x t t o i m a g e p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I - X L - v 1 . 0 " , t e x t _ e n c o d e r = t e x t _ e n c o d e r , # p a s s t h e p r e v i o u s l y i n s t a n t i a t e d 8 b i t t e x t e n c o d e r u n e t = N o n e , d e v i c e _ m a p = " a u t o " , ) p r o m p t = ' a p h o t o o f a k a n g a r o o w e a r i n g a n o r a n g e h o o d i e a n d b l u e s u n g l a s s e s s t a n d i n g i n f r o n t o f t h e e i f f e l t o w e r h o l d i n g a s i g n t h a t s a y s " v e r y d e e p l e a r n i n g " ' p r o m p t _ e m b e d s , n e g a t i v e _ e m b e d s = p i p e . e n c o d e _ p r o m p t ( p r o m p t ) # R e m o v e t h e p i p e l i n e s o w e c a n r e - l o a d t h e p i p e l i n e w i t h t h e u n e t d e l t e x t _ e n c o d e r d e l p i p e g c . c o l l e c t ( ) t o r c h . c u d a . e m p t y _ c a c h e ( ) p i p e = I F P i p e l i n e . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I - X L - v 1 . 0 " , t e x t _ e n c o d e r = N o n e , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , d e v i c e _ m a p = " a u t o " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( ) . m a n u a l _ s e e d ( 0 ) s t a g e _ 1 _ o u t p u t = p i p e ( p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , n e g a t i v e _ p r o m p t _ e m b e d s = n e g a t i v e _ e m b e d s , o u t p u t _ t y p e = " p t " , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s # p t _ t o _ p i l ( s t a g e _ 1 _ o u t p u t ) [ 0 ] . s a v e ( " . / i f _ s t a g e _ I . p n g " ) # R e m o v e t h e p i p e l i n e s o w e c a n l o a d t h e s u p e r - r e s o l u t i o n p i p e l i n e d e l p i p e g c . c o l l e c t ( ) t o r c h . c u d a . e m p t y _ c a c h e ( ) # F i r s t s u p e r r e s o l u t i o n p i p e = I F S u p e r R e s o l u t i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I I - L - v 1 . 0 " , t e x t _ e n c o d e r = N o n e , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , d e v i c e _ m a p = " a u t o " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( ) . m a n u a l _ s e e d ( 0 ) s t a g e _ 2 _ o u t p u t = p i p e ( i m a g e = s t a g e _ 1 _ o u t p u t , p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , n e g a t i v e _ p r o m p t _ e m b e d s = n e g a t i v e _ e m b e d s , o u t p u t _ t y p e = " p t " , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s # p t _ t o _ p i l ( s t a g e _ 2 _ o u t p u t ) [ 0 ] . s a v e ( " . / i f _ s t a g e _ I I . p n g " ) m a k e _ i m a g e _ g r i d ( [ p t _ t o _ p i l ( s t a g e _ 1 _ o u t p u t ) [ 0 ] , p t _ t o _ p i l ( s t a g e _ 2 _ o u t p u t ) [ 0 ] ] , r o w s = 1 , r o w s = 2 ) ` ` ` # # A v a i l a b l e P i p e l i n e s : | P i p e l i n e | T a s k s | C o l a b | - - - | - - - | : - - - : | | [ p i p e l i n e _ i f . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / d e e p f l o y d _ i f / p i p e l i n e _ i f . p y ) | * T e x t - t o - I m a g e G e n e r a t i o n * | - | | [ p i p e l i n e _ i f _ s u p e r r e s o l u t i o n . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / d e e p f l o y d _ i f / p i p e l i n e _ i f _ s u p e r r e s o l u t i o n . p y ) | * T e x t - t o - I m a g e G e n e r a t i o n * | - | | [ p i p e l i n e _ i f _ i m g 2 i m g . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / d e e p f l o y d _ i f / p i p e l i n e _ i f _ i m g 2 i m g . p y ) | * I m a g e - t o - I m a g e G e n e r a t i o n * | - | | [ p i p e l i n e _ i f _ i m g 2 i m g _ s u p e r r e s o l u t i o n . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / d e e p f l o y d _ i f / p i p e l i n e _ i f _ i m g 2 i m g _ s u p e r r e s o l u t i o n . p y ) | * I m a g e - t o - I m a g e G e n e r a t i o n * | - | | [ p i p e l i n e _ i f _ i n p a i n t i n g . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / d e e p f l o y d _ i f / p i p e l i n e _ i f _ i n p a i n t i n g . p y ) | * I m a g e - t o - I m a g e G e n e r a t i o n * | - | | [ p i p e l i n e _ i f _ i n p a i n t i n g _ s u p e r r e s o l u t i o n . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / d e e p f l o y d _ i f / p i p e l i n e _ i f _ i n p a i n t i n g _ s u p e r r e s o l u t i o n . p y ) | * I m a g e - t o - I m a g e G e n e r a t i o n * | - | # # I F P i p e l i n e # # I F S u p e r R e s o l u t i o n P i p e l i n e # # I F I m g 2 I m g P i p e l i n e # # I F I m g 2 I m g S u p e r R e s o l u t i o n P i p e l i n e # # I F I n p a i n t i n g P i p e l i n e # # I F I n p a i n t i n g S u p e r R e s o l u t i o n P i p e l i n e [ [ a u t o d o c ] ] I F P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] I F S u p e r R e s o l u t i o n P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] I F I m g 2 I m g P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] I F I m g 2 I m g S u p e r R e s o l u t i o n P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] I F I n p a i n t i n g P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] I F I n p a i n t i n g S u p e r R e s o l u t i o n P i p e l i n e - a l l - _ _ c a l l _ _ # C o g V i e w 3 P l u s [ C o g V i e w 3 : F i n e r a n d F a s t e r T e x t - t o - I m a g e G e n e r a t i o n v i a R e l a y D i f f u s i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 4 0 3 . 0 5 1 2 1 ) f r o m T s i n g h u a U n i v e r s i t y & Z h i p u A I , b y W e n d i Z h e n g , J i a y a n T e n g , Z h u o y i Y a n g , W e i h a n W a n g , J i d o n g C h e n , X i a o t a o G u , Y u x i a o D o n g , M i n g D i n g , J i e T a n g . T h e a b s t r a c t f r o m t h e p a p e r i s : * R e c e n t a d v a n c e m e n t s i n t e x t - t o - i m a g e g e n e r a t i v e s y s t e m s h a v e b e e n l a r g e l y d r i v e n b y d i f f u s i o n m o d e l s . H o w e v e r , s i n g l e - s t a g e t e x t - t o - i m a g e d i f f u s i o n m o d e l s s t i l l f a c e c h a l l e n g e s , i n t e r m s o f c o m p u t a t i o n a l e f f i c i e n c y a n d t h e r e f i n e m e n t o f i m a g e d e t a i l s . T o t a c k l e t h e i s s u e , w e p r o p o s e C o g V i e w 3 , a n i n n o v a t i v e c a s c a d e d f r a m e w o r k t h a t e n h a n c e s t h e p e r f o r m a n c e o f t e x t - t o - i m a g e d i f f u s i o n . C o g V i e w 3 i s t h e f i r s t m o d e l i m p l e m e n t i n g r e l a y d i f f u s i o n i n t h e r e a l m o f t e x t - t o - i m a g e g e n e r a t i o n , e x e c u t i n g t h e t a s k b y f i r s t c r e a t i n g l o w - r e s o l u t i o n i m a g e s a n d s u b s e q u e n t l y a p p l y i n g r e l a y - b a s e d s u p e r - r e s o l u t i o n . T h i s m e t h o d o l o g y n o t o n l y r e s u l t s i n c o m p e t i t i v e t e x t - t o - i m a g e o u t p u t s b u t a l s o g r e a t l y r e d u c e s b o t h t r a i n i n g a n d i n f e r e n c e c o s t s . O u r e x p e r i m e n t a l r e s u l t s d e m o n s t r a t e t h a t C o g V i e w 3 o u t p e r f o r m s S D X L , t h e c u r r e n t s t a t e - o f - t h e - a r t o p e n - s o u r c e t e x t - t o - i m a g e d i f f u s i o n m o d e l , b y 7 7 . 0 % i n h u m a n e v a l u a t i o n s , a l l w h i l e r e q u i r i n g o n l y a b o u t 1 / 2 o f t h e i n f e r e n c e t i m e . T h e d i s t i l l e d v a r i a n t o f C o g V i e w 3 a c h i e v e s c o m p a r a b l e p e r f o r m a n c e w h i l e o n l y u t i l i z i n g 1 / 1 0 o f t h e i n f e r e n c e t i m e b y S D X L . * < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s . m d ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g . m d # r e u s e - a - p i p e l i n e ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > T h i s p i p e l i n e w a s c o n t r i b u t e d b y [ z R z R z R z R z R z R z R ] ( h t t p s : / / g i t h u b . c o m / z R z R z R z R z R z R z R ) . T h e o r i g i n a l c o d e b a s e c a n b e f o u n d [ h e r e ] ( h t t p s : / / h u g g i n g f a c e . c o / T H U D M ) . T h e o r i g i n a l w e i g h t s c a n b e f o u n d u n d e r [ h f . c o / T H U D M ] ( h t t p s : / / h u g g i n g f a c e . c o / T H U D M ) . # # C o g V i e w 3 P l u s P i p e l i n e # # C o g V i e w 3 P i p e l i n e O u t p u t [ [ a u t o d o c ] ] C o g V i e w 3 P l u s P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . c o g v i e w 3 . p i p e l i n e _ o u t p u t . C o g V i e w 3 P i p e l i n e O u t p u t # A u d i o L D M 2 A u d i o L D M 2 w a s p r o p o s e d i n [ A u d i o L D M 2 : L e a r n i n g H o l i s t i c A u d i o G e n e r a t i o n w i t h S e l f - s u p e r v i s e d P r e t r a i n i n g ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 0 8 . 0 5 7 3 4 ) b y H a o h e L i u e t a l . A u d i o L D M 2 t a k e s a t e x t p r o m p t a s i n p u t a n d p r e d i c t s t h e c o r r e s p o n d i n g a u d i o . I t c a n g e n e r a t e t e x t - c o n d i t i o n a l s o u n d e f f e c t s , h u m a n s p e e c h a n d m u s i c . I n s p i r e d b y [ S t a b l e D i f f u s i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / o v e r v i e w ) , A u d i o L D M 2 i s a t e x t - t o - a u d i o _ l a t e n t d i f f u s i o n m o d e l ( L D M ) _ t h a t l e a r n s c o n t i n u o u s a u d i o r e p r e s e n t a t i o n s f r o m t e x t e m b e d d i n g s . T w o t e x t e n c o d e r m o d e l s a r e u s e d t o c o m p u t e t h e t e x t e m b e d d i n g s f r o m a p r o m p t i n p u t : t h e t e x t - b r a n c h o f [ C L A P ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / e n / m o d e l _ d o c / c l a p ) a n d t h e e n c o d e r o f [ F l a n - T 5 ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / e n / m o d e l _ d o c / f l a n - t 5 ) . T h e s e t e x t e m b e d d i n g s a r e t h e n p r o j e c t e d t o a s h a r e d e m b e d d i n g s p a c e b y a n [ A u d i o L D M 2 P r o j e c t i o n M o d e l ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / a p i / p i p e l i n e s / a u d i o l d m 2 # d i f f u s e r s . A u d i o L D M 2 P r o j e c t i o n M o d e l ) . A [ G P T 2 ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / e n / m o d e l _ d o c / g p t 2 ) _ l a n g u a g e m o d e l ( L M ) _ i s u s e d t o a u t o - r e g r e s s i v e l y p r e d i c t e i g h t n e w e m b e d d i n g v e c t o r s , c o n d i t i o n a l o n t h e p r o j e c t e d C L A P a n d F l a n - T 5 e m b e d d i n g s . T h e g e n e r a t e d e m b e d d i n g v e c t o r s a n d F l a n - T 5 t e x t e m b e d d i n g s a r e u s e d a s c r o s s - a t t e n t i o n c o n d i t i o n i n g i n t h e L D M . T h e [ U N e t ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a u d i o l d m 2 # d i f f u s e r s . A u d i o L D M 2 U N e t 2 D C o n d i t i o n M o d e l ) o f A u d i o L D M 2 i s u n i q u e i n t h e s e n s e t h a t i t t a k e s * * t w o * * c r o s s - a t t e n t i o n e m b e d d i n g s , a s o p p o s e d t o o n e c r o s s - a t t e n t i o n c o n d i t i o n i n g , a s i n m o s t o t h e r L D M s . T h e a b s t r a c t o f t h e p a p e r i s t h e f o l l o w i n g : * A l t h o u g h a u d i o g e n e r a t i o n s h a r e s c o m m o n a l i t i e s a c r o s s d i f f e r e n t t y p e s o f a u d i o , s u c h a s s p e e c h , m u s i c , a n d s o u n d e f f e c t s , d e s i g n i n g m o d e l s f o r e a c h t y p e r e q u i r e s c a r e f u l c o n s i d e r a t i o n o f s p e c i f i c o b j e c t i v e s a n d b i a s e s t h a t c a n s i g n i f i c a n t l y d i f f e r f r o m t h o s e o f o t h e r t y p e s . T o b r i n g u s c l o s e r t o a u n i f i e d p e r s p e c t i v e o f a u d i o g e n e r a t i o n , t h i s p a p e r p r o p o s e s a f r a m e w o r k t h a t u t i l i z e s t h e s a m e l e a r n i n g m e t h o d f o r s p e e c h , m u s i c , a n d s o u n d e f f e c t g e n e r a t i o n . O u r f r a m e w o r k i n t r o d u c e s a g e n e r a l r e p r e s e n t a t i o n o f a u d i o , c a l l e d " l a n g u a g e o f a u d i o " ( L O A ) . A n y a u d i o c a n b e t r a n s l a t e d i n t o L O A b a s e d o n A u d i o M A E , a s e l f - s u p e r v i s e d p r e - t r a i n e d r e p r e s e n t a t i o n l e a r n i n g m o d e l . I n t h e g e n e r a t i o n p r o c e s s , w e t r a n s l a t e a n y m o d a l i t i e s i n t o L O A b y u s i n g a G P T - 2 m o d e l , a n d w e p e r f o r m s e l f - s u p e r v i s e d a u d i o g e n e r a t i o n l e a r n i n g w i t h a l a t e n t d i f f u s i o n m o d e l c o n d i t i o n e d o n L O A . T h e p r o p o s e d f r a m e w o r k n a t u r a l l y b r i n g s a d v a n t a g e s s u c h a s i n - c o n t e x t l e a r n i n g a b i l i t i e s a n d r e u s a b l e s e l f - s u p e r v i s e d p r e t r a i n e d A u d i o M A E a n d l a t e n t d i f f u s i o n m o d e l s . E x p e r i m e n t s o n t h e m a j o r b e n c h m a r k s o f t e x t - t o - a u d i o , t e x t - t o - m u s i c , a n d t e x t - t o - s p e e c h d e m o n s t r a t e s t a t e - o f - t h e - a r t o r c o m p e t i t i v e p e r f o r m a n c e a g a i n s t p r e v i o u s a p p r o a c h e s . O u r c o d e , p r e t r a i n e d m o d e l , a n d d e m o a r e a v a i l a b l e a t [ t h i s h t t p s U R L ] ( h t t p s : / / a u d i o l d m . g i t h u b . i o / a u d i o l d m 2 ) . * T h i s p i p e l i n e w a s c o n t r i b u t e d b y [ s a n c h i t - g a n d h i ] ( h t t p s : / / h u g g i n g f a c e . c o / s a n c h i t - g a n d h i ) a n d [ N g u y รช ฬƒ n C รด n g T u ฬ A n h ] ( h t t p s : / / g i t h u b . c o m / t u a n h 1 2 3 7 8 9 ) . T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ h a o h e l i u / a u d i o l d m 2 ] ( h t t p s : / / g i t h u b . c o m / h a o h e l i u / a u d i o l d m 2 ) . # # T i p s # # # C h o o s i n g a c h e c k p o i n t A u d i o L D M 2 c o m e s i n t h r e e v a r i a n t s . T w o o f t h e s e c h e c k p o i n t s a r e a p p l i c a b l e t o t h e g e n e r a l t a s k o f t e x t - t o - a u d i o g e n e r a t i o n . T h e t h i r d c h e c k p o i n t i s t r a i n e d e x c l u s i v e l y o n t e x t - t o - m u s i c g e n e r a t i o n . A l l c h e c k p o i n t s s h a r e t h e s a m e m o d e l s i z e f o r t h e t e x t e n c o d e r s a n d V A E . T h e y d i f f e r i n t h e s i z e a n d d e p t h o f t h e U N e t . S e e t a b l e b e l o w f o r d e t a i l s o n t h e t h r e e c h e c k p o i n t s : | C h e c k p o i n t | T a s k | U N e t M o d e l S i z e | T o t a l M o d e l S i z e | T r a i n i n g D a t a / h | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - | | [ a u d i o l d m 2 ] ( h t t p s : / / h u g g i n g f a c e . c o / c v s s p / a u d i o l d m 2 ) | T e x t - t o - a u d i o | 3 5 0 M | 1 . 1 B | 1 1 5 0 k | | [ a u d i o l d m 2 - l a r g e ] ( h t t p s : / / h u g g i n g f a c e . c o / c v s s p / a u d i o l d m 2 - l a r g e ) | T e x t - t o - a u d i o | 7 5 0 M | 1 . 5 B | 1 1 5 0 k | | [ a u d i o l d m 2 - m u s i c ] ( h t t p s : / / h u g g i n g f a c e . c o / c v s s p / a u d i o l d m 2 - m u s i c ) | T e x t - t o - m u s i c | 3 5 0 M | 1 . 1 B | 6 6 5 k | | [ a u d i o l d m 2 - g i g a s p e e c h ] ( h t t p s : / / h u g g i n g f a c e . c o / a n h n c t / a u d i o l d m 2 _ g i g a s p e e c h ) | T e x t - t o - s p e e c h | 3 5 0 M | 1 . 1 B | 1 0 k | | [ a u d i o l d m 2 - l j s p e e c h ] ( h t t p s : / / h u g g i n g f a c e . c o / a n h n c t / a u d i o l d m 2 _ l j s p e e c h ) | T e x t - t o - s p e e c h | 3 5 0 M | 1 . 1 B | | # # # C o n s t r u c t i n g a p r o m p t * D e s c r i p t i v e p r o m p t i n p u t s w o r k b e s t : u s e a d j e c t i v e s t o d e s c r i b e t h e s o u n d ( e . g . " h i g h q u a l i t y " o r " c l e a r " ) a n d m a k e t h e p r o m p t c o n t e x t s p e c i f i c ( e . g . " w a t e r s t r e a m i n a f o r e s t " i n s t e a d o f " s t r e a m " ) . * I t ' s b e s t t o u s e g e n e r a l t e r m s l i k e " c a t " o r " d o g " i n s t e a d o f s p e c i f i c n a m e s o r a b s t r a c t o b j e c t s t h e m o d e l m a y n o t b e f a m i l i a r w i t h . * U s i n g a * * n e g a t i v e p r o m p t * * c a n s i g n i f i c a n t l y i m p r o v e t h e q u a l i t y o f t h e g e n e r a t e d w a v e f o r m , b y g u i d i n g t h e g e n e r a t i o n a w a y f r o m t e r m s t h a t c o r r e s p o n d t o p o o r q u a l i t y a u d i o . T r y u s i n g a n e g a t i v e p r o m p t o f " L o w q u a l i t y . " # # # C o n t r o l l i n g i n f e r e n c e * T h e _ q u a l i t y _ o f t h e p r e d i c t e d a u d i o s a m p l e c a n b e c o n t r o l l e d b y t h e ` n u m _ i n f e r e n c e _ s t e p s ` a r g u m e n t ; h i g h e r s t e p s g i v e h i g h e r q u a l i t y a u d i o a t t h e e x p e n s e o f s l o w e r i n f e r e n c e . * T h e _ l e n g t h _ o f t h e p r e d i c t e d a u d i o s a m p l e c a n b e c o n t r o l l e d b y v a r y i n g t h e ` a u d i o _ l e n g t h _ i n _ s ` a r g u m e n t . # # # E v a l u a t i n g g e n e r a t e d w a v e f o r m s : * T h e q u a l i t y o f t h e g e n e r a t e d w a v e f o r m s c a n v a r y s i g n i f i c a n t l y b a s e d o n t h e s e e d . T r y g e n e r a t i n g w i t h d i f f e r e n t s e e d s u n t i l y o u f i n d a s a t i s f a c t o r y g e n e r a t i o n . * M u l t i p l e w a v e f o r m s c a n b e g e n e r a t e d i n o n e g o : s e t ` n u m _ w a v e f o r m s _ p e r _ p r o m p t ` t o a v a l u e g r e a t e r t h a n 1 . A u t o m a t i c s c o r i n g w i l l b e p e r f o r m e d b e t w e e n t h e g e n e r a t e d w a v e f o r m s a n d p r o m p t t e x t , a n d t h e a u d i o s r a n k e d f r o m b e s t t o w o r s t a c c o r d i n g l y . T h e f o l l o w i n g e x a m p l e d e m o n s t r a t e s h o w t o c o n s t r u c t g o o d m u s i c a n d s p e e c h g e n e r a t i o n u s i n g t h e a f o r e m e n t i o n e d t i p s : [ e x a m p l e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a u d i o l d m 2 # d i f f u s e r s . A u d i o L D M 2 P i p e l i n e . _ _ c a l l _ _ . e x a m p l e ) . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # A u d i o L D M 2 P i p e l i n e # # A u d i o L D M 2 P r o j e c t i o n M o d e l # # A u d i o L D M 2 U N e t 2 D C o n d i t i o n M o d e l # # A u d i o P i p e l i n e O u t p u t [ [ a u t o d o c ] ] A u d i o L D M 2 P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] A u d i o L D M 2 P r o j e c t i o n M o d e l - f o r w a r d [ [ a u t o d o c ] ] A u d i o L D M 2 U N e t 2 D C o n d i t i o n M o d e l - f o r w a r d [ [ a u t o d o c ] ] p i p e l i n e s . A u d i o P i p e l i n e O u t p u t # L a t e n t D i f f u s i o n L a t e n t D i f f u s i o n w a s p r o p o s e d i n [ H i g h - R e s o l u t i o n I m a g e S y n t h e s i s w i t h L a t e n t D i f f u s i o n M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 1 1 2 . 1 0 7 5 2 ) b y R o b i n R o m b a c h , A n d r e a s B l a t t m a n n , D o m i n i k L o r e n z , P a t r i c k E s s e r , B j รถ r n O m m e r . T h e a b s t r a c t f r o m t h e p a p e r i s : * B y d e c o m p o s i n g t h e i m a g e f o r m a t i o n p r o c e s s i n t o a s e q u e n t i a l a p p l i c a t i o n o f d e n o i s i n g a u t o e n c o d e r s , d i f f u s i o n m o d e l s ( D M s ) a c h i e v e s t a t e - o f - t h e - a r t s y n t h e s i s r e s u l t s o n i m a g e d a t a a n d b e y o n d . A d d i t i o n a l l y , t h e i r f o r m u l a t i o n a l l o w s f o r a g u i d i n g m e c h a n i s m t o c o n t r o l t h e i m a g e g e n e r a t i o n p r o c e s s w i t h o u t r e t r a i n i n g . H o w e v e r , s i n c e t h e s e m o d e l s t y p i c a l l y o p e r a t e d i r e c t l y i n p i x e l s p a c e , o p t i m i z a t i o n o f p o w e r f u l D M s o f t e n c o n s u m e s h u n d r e d s o f G P U d a y s a n d i n f e r e n c e i s e x p e n s i v e d u e t o s e q u e n t i a l e v a l u a t i o n s . T o e n a b l e D M t r a i n i n g o n l i m i t e d c o m p u t a t i o n a l r e s o u r c e s w h i l e r e t a i n i n g t h e i r q u a l i t y a n d f l e x i b i l i t y , w e a p p l y t h e m i n t h e l a t e n t s p a c e o f p o w e r f u l p r e t r a i n e d a u t o e n c o d e r s . I n c o n t r a s t t o p r e v i o u s w o r k , t r a i n i n g d i f f u s i o n m o d e l s o n s u c h a r e p r e s e n t a t i o n a l l o w s f o r t h e f i r s t t i m e t o r e a c h a n e a r - o p t i m a l p o i n t b e t w e e n c o m p l e x i t y r e d u c t i o n a n d d e t a i l p r e s e r v a t i o n , g r e a t l y b o o s t i n g v i s u a l f i d e l i t y . B y i n t r o d u c i n g c r o s s - a t t e n t i o n l a y e r s i n t o t h e m o d e l a r c h i t e c t u r e , w e t u r n d i f f u s i o n m o d e l s i n t o p o w e r f u l a n d f l e x i b l e g e n e r a t o r s f o r g e n e r a l c o n d i t i o n i n g i n p u t s s u c h a s t e x t o r b o u n d i n g b o x e s a n d h i g h - r e s o l u t i o n s y n t h e s i s b e c o m e s p o s s i b l e i n a c o n v o l u t i o n a l m a n n e r . O u r l a t e n t d i f f u s i o n m o d e l s ( L D M s ) a c h i e v e a n e w s t a t e o f t h e a r t f o r i m a g e i n p a i n t i n g a n d h i g h l y c o m p e t i t i v e p e r f o r m a n c e o n v a r i o u s t a s k s , i n c l u d i n g u n c o n d i t i o n a l i m a g e g e n e r a t i o n , s e m a n t i c s c e n e s y n t h e s i s , a n d s u p e r - r e s o l u t i o n , w h i l e s i g n i f i c a n t l y r e d u c i n g c o m p u t a t i o n a l r e q u i r e m e n t s c o m p a r e d t o p i x e l - b a s e d D M s . * T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ C o m p V i s / l a t e n t - d i f f u s i o n ] ( h t t p s : / / g i t h u b . c o m / C o m p V i s / l a t e n t - d i f f u s i o n ) . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # L D M T e x t T o I m a g e P i p e l i n e # # L D M S u p e r R e s o l u t i o n P i p e l i n e # # I m a g e P i p e l i n e O u t p u t [ [ a u t o d o c ] ] L D M T e x t T o I m a g e P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] L D M S u p e r R e s o l u t i o n P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . I m a g e P i p e l i n e O u t p u t # C o n t r o l N e t w i t h H u n y u a n - D i T H u n y u a n D i T C o n t r o l N e t P i p e l i n e i s a n i m p l e m e n t a t i o n o f C o n t r o l N e t f o r [ H u n y u a n - D i T ] ( h t t p s : / / a r x i v . o r g / a b s / 2 4 0 5 . 0 8 7 4 8 ) . C o n t r o l N e t w a s i n t r o d u c e d i n [ A d d i n g C o n d i t i o n a l C o n t r o l t o T e x t - t o - I m a g e D i f f u s i o n M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 2 . 0 5 5 4 3 ) b y L v m i n Z h a n g , A n y i R a o , a n d M a n e e s h A g r a w a l a . W i t h a C o n t r o l N e t m o d e l , y o u c a n p r o v i d e a n a d d i t i o n a l c o n t r o l i m a g e t o c o n d i t i o n a n d c o n t r o l H u n y u a n - D i T g e n e r a t i o n . F o r e x a m p l e , i f y o u p r o v i d e a d e p t h m a p , t h e C o n t r o l N e t m o d e l g e n e r a t e s a n i m a g e t h a t ' l l p r e s e r v e t h e s p a t i a l i n f o r m a t i o n f r o m t h e d e p t h m a p . I t i s a m o r e f l e x i b l e a n d a c c u r a t e w a y t o c o n t r o l t h e i m a g e g e n e r a t i o n p r o c e s s . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e p r e s e n t C o n t r o l N e t , a n e u r a l n e t w o r k a r c h i t e c t u r e t o a d d s p a t i a l c o n d i t i o n i n g c o n t r o l s t o l a r g e , p r e t r a i n e d t e x t - t o - i m a g e d i f f u s i o n m o d e l s . C o n t r o l N e t l o c k s t h e p r o d u c t i o n - r e a d y l a r g e d i f f u s i o n m o d e l s , a n d r e u s e s t h e i r d e e p a n d r o b u s t e n c o d i n g l a y e r s p r e t r a i n e d w i t h b i l l i o n s o f i m a g e s a s a s t r o n g b a c k b o n e t o l e a r n a d i v e r s e s e t o f c o n d i t i o n a l c o n t r o l s . T h e n e u r a l a r c h i t e c t u r e i s c o n n e c t e d w i t h " z e r o c o n v o l u t i o n s " ( z e r o - i n i t i a l i z e d c o n v o l u t i o n l a y e r s ) t h a t p r o g r e s s i v e l y g r o w t h e p a r a m e t e r s f r o m z e r o a n d e n s u r e t h a t n o h a r m f u l n o i s e c o u l d a f f e c t t h e f i n e t u n i n g . W e t e s t v a r i o u s c o n d i t i o n i n g c o n t r o l s , e g , e d g e s , d e p t h , s e g m e n t a t i o n , h u m a n p o s e , e t c , w i t h S t a b l e D i f f u s i o n , u s i n g s i n g l e o r m u l t i p l e c o n d i t i o n s , w i t h o r w i t h o u t p r o m p t s . W e s h o w t h a t t h e t r a i n i n g o f C o n t r o l N e t s i s r o b u s t w i t h s m a l l ( < 5 0 k ) a n d l a r g e ( > 1 m ) d a t a s e t s . E x t e n s i v e r e s u l t s s h o w t h a t C o n t r o l N e t m a y f a c i l i t a t e w i d e r a p p l i c a t i o n s t o c o n t r o l i m a g e d i f f u s i o n m o d e l s . * T h i s c o d e i s i m p l e m e n t e d b y T e n c e n t H u n y u a n T e a m . Y o u c a n f i n d p r e - t r a i n e d c h e c k p o i n t s f o r H u n y u a n - D i T C o n t r o l N e t s o n [ T e n c e n t H u n y u a n ] ( h t t p s : / / h u g g i n g f a c e . c o / T e n c e n t - H u n y u a n ) . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # H u n y u a n D i T C o n t r o l N e t P i p e l i n e [ [ a u t o d o c ] ] H u n y u a n D i T C o n t r o l N e t P i p e l i n e - a l l - _ _ c a l l _ _ # S e m a n t i c G u i d a n c e S e m a n t i c G u i d a n c e f o r D i f f u s i o n M o d e l s w a s p r o p o s e d i n [ S E G A : I n s t r u c t i n g T e x t - t o - I m a g e M o d e l s u s i n g S e m a n t i c G u i d a n c e ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 1 . 1 2 2 4 7 ) a n d p r o v i d e s s t r o n g s e m a n t i c c o n t r o l o v e r i m a g e g e n e r a t i o n . S m a l l c h a n g e s t o t h e t e x t p r o m p t u s u a l l y r e s u l t i n e n t i r e l y d i f f e r e n t o u t p u t i m a g e s . H o w e v e r , w i t h S E G A a v a r i e t y o f c h a n g e s t o t h e i m a g e a r e e n a b l e d t h a t c a n b e c o n t r o l l e d e a s i l y a n d i n t u i t i v e l y , w h i l e s t a y i n g t r u e t o t h e o r i g i n a l i m a g e c o m p o s i t i o n . T h e a b s t r a c t f r o m t h e p a p e r i s : * T e x t - t o - i m a g e d i f f u s i o n m o d e l s h a v e r e c e n t l y r e c e i v e d a l o t o f i n t e r e s t f o r t h e i r a s t o n i s h i n g a b i l i t y t o p r o d u c e h i g h - f i d e l i t y i m a g e s f r o m t e x t o n l y . H o w e v e r , a c h i e v i n g o n e - s h o t g e n e r a t i o n t h a t a l i g n s w i t h t h e u s e r ' s i n t e n t i s n e a r l y i m p o s s i b l e , y e t s m a l l c h a n g e s t o t h e i n p u t p r o m p t o f t e n r e s u l t i n v e r y d i f f e r e n t i m a g e s . T h i s l e a v e s t h e u s e r w i t h l i t t l e s e m a n t i c c o n t r o l . T o p u t t h e u s e r i n c o n t r o l , w e s h o w h o w t o i n t e r a c t w i t h t h e d i f f u s i o n p r o c e s s t o f l e x i b l y s t e e r i t a l o n g s e m a n t i c d i r e c t i o n s . T h i s s e m a n t i c g u i d a n c e ( S E G A ) g e n e r a l i z e s t o a n y g e n e r a t i v e a r c h i t e c t u r e u s i n g c l a s s i f i e r - f r e e g u i d a n c e . M o r e i m p o r t a n t l y , i t a l l o w s f o r s u b t l e a n d e x t e n s i v e e d i t s , c h a n g e s i n c o m p o s i t i o n a n d s t y l e , a s w e l l a s o p t i m i z i n g t h e o v e r a l l a r t i s t i c c o n c e p t i o n . W e d e m o n s t r a t e S E G A ' s e f f e c t i v e n e s s o n b o t h l a t e n t a n d p i x e l - b a s e d d i f f u s i o n m o d e l s s u c h a s S t a b l e D i f f u s i o n , P a e l l a , a n d D e e p F l o y d - I F u s i n g a v a r i e t y o f t a s k s , t h u s p r o v i d i n g s t r o n g e v i d e n c e f o r i t s v e r s a t i l i t y , f l e x i b i l i t y , a n d i m p r o v e m e n t s o v e r e x i s t i n g m e t h o d s . * < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # S e m a n t i c S t a b l e D i f f u s i o n P i p e l i n e # # S e m a n t i c S t a b l e D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S e m a n t i c S t a b l e D i f f u s i o n P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . s e m a n t i c _ s t a b l e _ d i f f u s i o n . p i p e l i n e _ o u t p u t . S e m a n t i c S t a b l e D i f f u s i o n P i p e l i n e O u t p u t - a l l # D i f f E d i t [ D i f f E d i t : D i f f u s i o n - b a s e d s e m a n t i c i m a g e e d i t i n g w i t h m a s k g u i d a n c e ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 1 0 . 1 1 4 2 7 ) i s b y G u i l l a u m e C o u a i r o n , J a k o b V e r b e e k , H o l g e r S c h w e n k , a n d M a t t h i e u C o r d . T h e a b s t r a c t f r o m t h e p a p e r i s : * I m a g e g e n e r a t i o n h a s r e c e n t l y s e e n t r e m e n d o u s a d v a n c e s , w i t h d i f f u s i o n m o d e l s a l l o w i n g t o s y n t h e s i z e c o n v i n c i n g i m a g e s f o r a l a r g e v a r i e t y o f t e x t p r o m p t s . I n t h i s a r t i c l e , w e p r o p o s e D i f f E d i t , a m e t h o d t o t a k e a d v a n t a g e o f t e x t - c o n d i t i o n e d d i f f u s i o n m o d e l s f o r t h e t a s k o f s e m a n t i c i m a g e e d i t i n g , w h e r e t h e g o a l i s t o e d i t a n i m a g e b a s e d o n a t e x t q u e r y . S e m a n t i c i m a g e e d i t i n g i s a n e x t e n s i o n o f i m a g e g e n e r a t i o n , w i t h t h e a d d i t i o n a l c o n s t r a i n t t h a t t h e g e n e r a t e d i m a g e s h o u l d b e a s s i m i l a r a s p o s s i b l e t o a g i v e n i n p u t i m a g e . C u r r e n t e d i t i n g m e t h o d s b a s e d o n d i f f u s i o n m o d e l s u s u a l l y r e q u i r e t o p r o v i d e a m a s k , m a k i n g t h e t a s k m u c h e a s i e r b y t r e a t i n g i t a s a c o n d i t i o n a l i n p a i n t i n g t a s k . I n c o n t r a s t , o u r m a i n c o n t r i b u t i o n i s a b l e t o a u t o m a t i c a l l y g e n e r a t e a m a s k h i g h l i g h t i n g r e g i o n s o f t h e i n p u t i m a g e t h a t n e e d t o b e e d i t e d , b y c o n t r a s t i n g p r e d i c t i o n s o f a d i f f u s i o n m o d e l c o n d i t i o n e d o n d i f f e r e n t t e x t p r o m p t s . M o r e o v e r , w e r e l y o n l a t e n t i n f e r e n c e t o p r e s e r v e c o n t e n t i n t h o s e r e g i o n s o f i n t e r e s t a n d s h o w e x c e l l e n t s y n e r g i e s w i t h m a s k - b a s e d d i f f u s i o n . D i f f E d i t a c h i e v e s s t a t e - o f - t h e - a r t e d i t i n g p e r f o r m a n c e o n I m a g e N e t . I n a d d i t i o n , w e e v a l u a t e s e m a n t i c i m a g e e d i t i n g i n m o r e c h a l l e n g i n g s e t t i n g s , u s i n g i m a g e s f r o m t h e C O C O d a t a s e t a s w e l l a s t e x t - b a s e d g e n e r a t e d i m a g e s . * T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ X i a n g - c d / D i f f E d i t - s t a b l e - d i f f u s i o n ] ( h t t p s : / / g i t h u b . c o m / X i a n g - c d / D i f f E d i t - s t a b l e - d i f f u s i o n ) , a n d y o u c a n t r y i t o u t i n t h i s [ d e m o ] ( h t t p s : / / b l o g . p r o b l e m s o l v e r s g u i l d . c o m / t e c h n i c a l / r e s e a r c h / 2 0 2 2 / 1 1 / 0 2 / D i f f E d i t - I m p l e m e n t a t i o n . h t m l ) . T h i s p i p e l i n e w a s c o n t r i b u t e d b y [ c l a r e n c e c h e n ] ( h t t p s : / / g i t h u b . c o m / c l a r e n c e c h e n ) . โค ๏ธ # # T i p s * T h e p i p e l i n e c a n g e n e r a t e m a s k s t h a t c a n b e f e d i n t o o t h e r i n p a i n t i n g p i p e l i n e s . * I n o r d e r t o g e n e r a t e a n i m a g e u s i n g t h i s p i p e l i n e , b o t h a n i m a g e m a s k ( s o u r c e a n d t a r g e t p r o m p t s c a n b e m a n u a l l y s p e c i f i e d o r g e n e r a t e d , a n d p a s s e d t o ` g e n e r a t e _ m a s k ( ) ` ) a n d a s e t o f p a r t i a l l y i n v e r t e d l a t e n t s ( g e n e r a t e d u s i n g ` i n v e r t ( ) ` ) _ m u s t _ b e p r o v i d e d a s a r g u m e n t s w h e n c a l l i n g t h e p i p e l i n e t o g e n e r a t e t h e f i n a l e d i t e d i m a g e . * T h e f u n c t i o n ` g e n e r a t e _ m a s k ( ) ` e x p o s e s t w o p r o m p t a r g u m e n t s , ` s o u r c e _ p r o m p t ` a n d ` t a r g e t _ p r o m p t ` t h a t l e t y o u c o n t r o l t h e l o c a t i o n s o f t h e s e m a n t i c e d i t s i n t h e f i n a l i m a g e t o b e g e n e r a t e d . L e t ' s s a y , y o u w a n t e d t o t r a n s l a t e f r o m " c a t " t o " d o g " . I n t h i s c a s e , t h e e d i t d i r e c t i o n w i l l b e " c a t - > d o g " . T o r e f l e c t t h i s i n t h e g e n e r a t e d m a s k , y o u s i m p l y h a v e t o s e t t h e e m b e d d i n g s r e l a t e d t o t h e p h r a s e s i n c l u d i n g " c a t " t o ` s o u r c e _ p r o m p t ` a n d " d o g " t o ` t a r g e t _ p r o m p t ` . * W h e n g e n e r a t i n g p a r t i a l l y i n v e r t e d l a t e n t s u s i n g ` i n v e r t ` , a s s i g n a c a p t i o n o r t e x t e m b e d d i n g d e s c r i b i n g t h e o v e r a l l i m a g e t o t h e ` p r o m p t ` a r g u m e n t t o h e l p g u i d e t h e i n v e r s e l a t e n t s a m p l i n g p r o c e s s . I n m o s t c a s e s , t h e s o u r c e c o n c e p t i s s u f f i c i e n t l y d e s c r i p t i v e t o y i e l d g o o d r e s u l t s , b u t f e e l f r e e t o e x p l o r e a l t e r n a t i v e s . * W h e n c a l l i n g t h e p i p e l i n e t o g e n e r a t e t h e f i n a l e d i t e d i m a g e , a s s i g n t h e s o u r c e c o n c e p t t o ` n e g a t i v e _ p r o m p t ` a n d t h e t a r g e t c o n c e p t t o ` p r o m p t ` . T a k i n g t h e a b o v e e x a m p l e , y o u s i m p l y h a v e t o s e t t h e e m b e d d i n g s r e l a t e d t o t h e p h r a s e s i n c l u d i n g " c a t " t o ` n e g a t i v e _ p r o m p t ` a n d " d o g " t o ` p r o m p t ` . * I f y o u w a n t e d t o r e v e r s e t h e d i r e c t i o n i n t h e e x a m p l e a b o v e , i . e . , " d o g - > c a t " , t h e n i t ' s r e c o m m e n d e d t o : * S w a p t h e ` s o u r c e _ p r o m p t ` a n d ` t a r g e t _ p r o m p t ` i n t h e a r g u m e n t s t o ` g e n e r a t e _ m a s k ` . * C h a n g e t h e i n p u t p r o m p t i n ` i n v e r t ( ) ` t o i n c l u d e " d o g " . * S w a p t h e ` p r o m p t ` a n d ` n e g a t i v e _ p r o m p t ` i n t h e a r g u m e n t s t o c a l l t h e p i p e l i n e t o g e n e r a t e t h e f i n a l e d i t e d i m a g e . * T h e s o u r c e a n d t a r g e t p r o m p t s , o r t h e i r c o r r e s p o n d i n g e m b e d d i n g s , c a n a l s o b e a u t o m a t i c a l l y g e n e r a t e d . P l e a s e r e f e r t o t h e [ D i f f E d i t ] ( . . / . . / u s i n g - d i f f u s e r s / d i f f e d i t ) g u i d e f o r m o r e d e t a i l s . # # S t a b l e D i f f u s i o n D i f f E d i t P i p e l i n e # # S t a b l e D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n D i f f E d i t P i p e l i n e - a l l - g e n e r a t e _ m a s k - i n v e r t - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # M a r i g o l d P i p e l i n e s f o r C o m p u t e r V i s i o n T a s k s ! [ m a r i g o l d ] ( h t t p s : / / m a r i g o l d m o n o d e p t h . g i t h u b . i o / i m a g e s / t e a s e r _ c o l l a g e _ c o m p r e s s e d . j p g ) M a r i g o l d w a s p r o p o s e d i n [ R e p u r p o s i n g D i f f u s i o n - B a s e d I m a g e G e n e r a t o r s f o r M o n o c u l a r D e p t h E s t i m a t i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 1 2 . 0 2 1 4 5 ) , a C V P R 2 0 2 4 O r a l p a p e r b y [ B i n g x i n K e ] ( h t t p : / / w w w . k e b i n g x i n . c o m / ) , [ A n t o n O b u k h o v ] ( h t t p s : / / w w w . o b u k h o v . a i / ) , [ S h e n g y u H u a n g ] ( h t t p s : / / s h e n g y u h . g i t h u b . i o / ) , [ N a n d o M e t z g e r ] ( h t t p s : / / n a n d o m e t z g e r . g i t h u b . i o / ) , [ R o d r i g o C a y e D a u d t ] ( h t t p s : / / r c d a u d t . g i t h u b . i o / ) , a n d [ K o n r a d S c h i n d l e r ] ( h t t p s : / / s c h o l a r . g o o g l e . c o m / c i t a t i o n s ? u s e r = F Z u N g q I A A A A J & h l = e n ) . T h e i d e a i s t o r e p u r p o s e t h e r i c h g e n e r a t i v e p r i o r o f T e x t - t o - I m a g e L a t e n t D i f f u s i o n M o d e l s ( L D M s ) f o r t r a d i t i o n a l c o m p u t e r v i s i o n t a s k s . I n i t i a l l y , t h i s i d e a w a s e x p l o r e d t o f i n e - t u n e S t a b l e D i f f u s i o n f o r M o n o c u l a r D e p t h E s t i m a t i o n , a s s h o w n i n t h e t e a s e r a b o v e . L a t e r , - [ T i a n f u W a n g ] ( h t t p s : / / t i a n f w a n g . g i t h u b . i o / ) t r a i n e d t h e f i r s t L a t e n t C o n s i s t e n c y M o d e l ( L C M ) o f M a r i g o l d , w h i c h u n l o c k e d f a s t s i n g l e - s t e p i n f e r e n c e ; - [ K e v i n Q u ] ( h t t p s : / / w w w . l i n k e d i n . c o m / i n / k e v i n - q u - b 3 4 1 7 6 2 1 b / ? l o c a l e = e n _ U S ) e x t e n d e d t h e a p p r o a c h t o S u r f a c e N o r m a l s E s t i m a t i o n ; - [ A n t o n O b u k h o v ] ( h t t p s : / / w w w . o b u k h o v . a i / ) c o n t r i b u t e d t h e p i p e l i n e s a n d d o c u m e n t a t i o n i n t o d i f f u s e r s ( e n a b l e d a n d s u p p o r t e d b y [ Y i Y i X u ] ( h t t p s : / / y i y i x u x u . g i t h u b . i o / ) a n d [ S a y a k P a u l ] ( h t t p s : / / s a y a k . d e v / ) ) . T h e a b s t r a c t f r o m t h e p a p e r i s : * M o n o c u l a r d e p t h e s t i m a t i o n i s a f u n d a m e n t a l c o m p u t e r v i s i o n t a s k . R e c o v e r i n g 3 D d e p t h f r o m a s i n g l e i m a g e i s g e o m e t r i c a l l y i l l - p o s e d a n d r e q u i r e s s c e n e u n d e r s t a n d i n g , s o i t i s n o t s u r p r i s i n g t h a t t h e r i s e o f d e e p l e a r n i n g h a s l e d t o a b r e a k t h r o u g h . T h e i m p r e s s i v e p r o g r e s s o f m o n o c u l a r d e p t h e s t i m a t o r s h a s m i r r o r e d t h e g r o w t h i n m o d e l c a p a c i t y , f r o m r e l a t i v e l y m o d e s t C N N s t o l a r g e T r a n s f o r m e r a r c h i t e c t u r e s . S t i l l , m o n o c u l a r d e p t h e s t i m a t o r s t e n d t o s t r u g g l e w h e n p r e s e n t e d w i t h i m a g e s w i t h u n f a m i l i a r c o n t e n t a n d l a y o u t , s i n c e t h e i r k n o w l e d g e o f t h e v i s u a l w o r l d i s r e s t r i c t e d b y t h e d a t a s e e n d u r i n g t r a i n i n g , a n d c h a l l e n g e d b y z e r o - s h o t g e n e r a l i z a t i o n t o n e w d o m a i n s . T h i s m o t i v a t e s u s t o e x p l o r e w h e t h e r t h e e x t e n s i v e p r i o r s c a p t u r e d i n r e c e n t g e n e r a t i v e d i f f u s i o n m o d e l s c a n e n a b l e b e t t e r , m o r e g e n e r a l i z a b l e d e p t h e s t i m a t i o n . W e i n t r o d u c e M a r i g o l d , a m e t h o d f o r a f f i n e - i n v a r i a n t m o n o c u l a r d e p t h e s t i m a t i o n t h a t i s d e r i v e d f r o m S t a b l e D i f f u s i o n a n d r e t a i n s i t s r i c h p r i o r k n o w l e d g e . T h e e s t i m a t o r c a n b e f i n e - t u n e d i n a c o u p l e o f d a y s o n a s i n g l e G P U u s i n g o n l y s y n t h e t i c t r a i n i n g d a t a . I t d e l i v e r s s t a t e - o f - t h e - a r t p e r f o r m a n c e a c r o s s a w i d e r a n g e o f d a t a s e t s , i n c l u d i n g o v e r 2 0 % p e r f o r m a n c e g a i n s i n s p e c i f i c c a s e s . P r o j e c t p a g e : h t t p s : / / m a r i g o l d m o n o d e p t h . g i t h u b . i o . * # # A v a i l a b l e P i p e l i n e s E a c h p i p e l i n e s u p p o r t s o n e C o m p u t e r V i s i o n t a s k , w h i c h t a k e s a n i n p u t R G B i m a g e a s i n p u t a n d p r o d u c e s a * p r e d i c t i o n * o f t h e m o d a l i t y o f i n t e r e s t , s u c h a s a d e p t h m a p o f t h e i n p u t i m a g e . C u r r e n t l y , t h e f o l l o w i n g t a s k s a r e i m p l e m e n t e d : | P i p e l i n e | P r e d i c t e d M o d a l i t i e s | D e m o s | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | : - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - : | | [ M a r i g o l d D e p t h P i p e l i n e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / m a r i g o l d / p i p e l i n e _ m a r i g o l d _ d e p t h . p y ) | [ D e p t h ] ( h t t p s : / / e n . w i k i p e d i a . o r g / w i k i / D e p t h _ m a p ) , [ D i s p a r i t y ] ( h t t p s : / / e n . w i k i p e d i a . o r g / w i k i / B i n o c u l a r _ d i s p a r i t y ) | [ F a s t D e m o ( L C M ) ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / p r s - e t h / m a r i g o l d - l c m ) , [ S l o w O r i g i n a l D e m o ( D D I M ) ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / p r s - e t h / m a r i g o l d ) | | [ M a r i g o l d N o r m a l s P i p e l i n e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / m a r i g o l d / p i p e l i n e _ m a r i g o l d _ n o r m a l s . p y ) | [ S u r f a c e n o r m a l s ] ( h t t p s : / / e n . w i k i p e d i a . o r g / w i k i / N o r m a l _ m a p p i n g ) | [ F a s t D e m o ( L C M ) ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / p r s - e t h / m a r i g o l d - n o r m a l s - l c m ) | # # A v a i l a b l e C h e c k p o i n t s T h e o r i g i n a l c h e c k p o i n t s c a n b e f o u n d u n d e r t h e [ P R S - E T H ] ( h t t p s : / / h u g g i n g f a c e . c o / p r s - e t h / ) H u g g i n g F a c e o r g a n i z a t i o n . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . A l s o , t o k n o w m o r e a b o u t r e d u c i n g t h e m e m o r y u s a g e o f t h i s p i p e l i n e , r e f e r t o t h e [ " R e d u c e m e m o r y u s a g e " ] s e c t i o n [ h e r e ] ( . . / . . / u s i n g - d i f f u s e r s / s v d # r e d u c e - m e m o r y - u s a g e ) . < / T i p > < T i p w a r n i n g = { t r u e } > M a r i g o l d p i p e l i n e s w e r e d e s i g n e d a n d t e s t e d o n l y w i t h ` D D I M S c h e d u l e r ` a n d ` L C M S c h e d u l e r ` . D e p e n d i n g o n t h e s c h e d u l e r , t h e n u m b e r o f i n f e r e n c e s t e p s r e q u i r e d t o g e t r e l i a b l e p r e d i c t i o n s v a r i e s , a n d t h e r e i s n o u n i v e r s a l v a l u e t h a t w o r k s b e s t a c r o s s s c h e d u l e r s . B e c a u s e o f t h a t , t h e d e f a u l t v a l u e o f ` n u m _ i n f e r e n c e _ s t e p s ` i n t h e ` _ _ c a l l _ _ ` m e t h o d o f t h e p i p e l i n e i s s e t t o ` N o n e ` ( s e e t h e A P I r e f e r e n c e ) . U n l e s s s e t e x p l i c i t l y , i t s v a l u e w i l l b e t a k e n f r o m t h e c h e c k p o i n t c o n f i g u r a t i o n ` m o d e l _ i n d e x . j s o n ` . T h i s i s d o n e t o e n s u r e h i g h - q u a l i t y p r e d i c t i o n s w h e n c a l l i n g t h e p i p e l i n e w i t h j u s t t h e ` i m a g e ` a r g u m e n t . < / T i p > S e e a l s o M a r i g o l d [ u s a g e e x a m p l e s ] ( m a r i g o l d _ u s a g e ) . # # M a r i g o l d D e p t h P i p e l i n e # # M a r i g o l d N o r m a l s P i p e l i n e # # M a r i g o l d D e p t h O u t p u t # # M a r i g o l d N o r m a l s O u t p u t [ [ a u t o d o c ] ] M a r i g o l d D e p t h P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] M a r i g o l d N o r m a l s P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . m a r i g o l d . p i p e l i n e _ m a r i g o l d _ d e p t h . M a r i g o l d D e p t h O u t p u t [ [ a u t o d o c ] ] p i p e l i n e s . m a r i g o l d . p i p e l i n e _ m a r i g o l d _ n o r m a l s . M a r i g o l d N o r m a l s O u t p u t # C o n t r o l N e t - X S C o n t r o l N e t - X S w a s i n t r o d u c e d i n [ C o n t r o l N e t - X S ] ( h t t p s : / / v i s l e a r n . g i t h u b . i o / C o n t r o l N e t - X S / ) b y D e n i s Z a v a d s k i a n d C a r s t e n R o t h e r . I t i s b a s e d o n t h e o b s e r v a t i o n t h a t t h e c o n t r o l m o d e l i n t h e [ o r i g i n a l C o n t r o l N e t ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 2 . 0 5 5 4 3 ) c a n b e m a d e m u c h s m a l l e r a n d s t i l l p r o d u c e g o o d r e s u l t s . L i k e t h e o r i g i n a l C o n t r o l N e t m o d e l , y o u c a n p r o v i d e a n a d d i t i o n a l c o n t r o l i m a g e t o c o n d i t i o n a n d c o n t r o l S t a b l e D i f f u s i o n g e n e r a t i o n . F o r e x a m p l e , i f y o u p r o v i d e a d e p t h m a p , t h e C o n t r o l N e t m o d e l g e n e r a t e s a n i m a g e t h a t ' l l p r e s e r v e t h e s p a t i a l i n f o r m a t i o n f r o m t h e d e p t h m a p . I t i s a m o r e f l e x i b l e a n d a c c u r a t e w a y t o c o n t r o l t h e i m a g e g e n e r a t i o n p r o c e s s . C o n t r o l N e t - X S g e n e r a t e s i m a g e s w i t h c o m p a r a b l e q u a l i t y t o a r e g u l a r C o n t r o l N e t , b u t i t i s 2 0 - 2 5 % f a s t e r ( [ s e e b e n c h m a r k ] ( h t t p s : / / g i t h u b . c o m / U m e r H A / c o n t r o l n e t - x s - b e n c h m a r k / b l o b / m a i n / S p e e d % 2 0 B e n c h m a r k . i p y n b ) w i t h S t a b l e D i f f u s i o n - X L ) a n d u s e s ~ 4 5 % l e s s m e m o r y . H e r e ' s t h e o v e r v i e w f r o m t h e [ p r o j e c t p a g e ] ( h t t p s : / / v i s l e a r n . g i t h u b . i o / C o n t r o l N e t - X S / ) : * W i t h i n c r e a s i n g c o m p u t i n g c a p a b i l i t i e s , c u r r e n t m o d e l a r c h i t e c t u r e s a p p e a r t o f o l l o w t h e t r e n d o f s i m p l y u p s c a l i n g a l l c o m p o n e n t s w i t h o u t v a l i d a t i n g t h e n e c e s s i t y f o r d o i n g s o . I n t h i s p r o j e c t w e i n v e s t i g a t e t h e s i z e a n d a r c h i t e c t u r a l d e s i g n o f C o n t r o l N e t [ Z h a n g e t a l . , 2 0 2 3 ] f o r c o n t r o l l i n g t h e i m a g e g e n e r a t i o n p r o c e s s w i t h s t a b l e d i f f u s i o n - b a s e d m o d e l s . W e s h o w t h a t a n e w a r c h i t e c t u r e w i t h a s l i t t l e a s 1 % o f t h e p a r a m e t e r s o f t h e b a s e m o d e l a c h i e v e s s t a t e - o f - t h e a r t r e s u l t s , c o n s i d e r a b l y b e t t e r t h a n C o n t r o l N e t i n t e r m s o f F I D s c o r e . H e n c e w e c a l l i t C o n t r o l N e t - X S . W e p r o v i d e t h e c o d e f o r c o n t r o l l i n g S t a b l e D i f f u s i o n - X L [ P o d e l l e t a l . , 2 0 2 3 ] ( M o d e l B , 4 8 M P a r a m e t e r s ) a n d S t a b l e D i f f u s i o n 2 . 1 [ R o m b a c h e t a l . 2 0 2 2 ] ( M o d e l B , 1 4 M P a r a m e t e r s ) , a l l u n d e r o p e n r a i l l i c e n s e . * T h i s m o d e l w a s c o n t r i b u t e d b y [ U m e r H A ] ( h t t p s : / / t w i t t e r . c o m / U m e r H A d i l ) . โค ๏ธ < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # S t a b l e D i f f u s i o n C o n t r o l N e t X S P i p e l i n e # # S t a b l e D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n C o n t r o l N e t X S P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # P i x A r t - ฮฃ ! [ ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / p i x a r t / h e a d e r _ c o l l a g e _ s i g m a . j p g ) [ P i x A r t - ฮฃ : W e a k - t o - S t r o n g T r a i n i n g o f D i f f u s i o n T r a n s f o r m e r f o r 4 K T e x t - t o - I m a g e G e n e r a t i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 4 0 3 . 0 4 6 9 2 ) i s J u n s o n g C h e n , J i n c h e n g Y u , C h o n g j i a n G e , L e w e i Y a o , E n z e X i e , Y u e W u , Z h o n g d a o W a n g , J a m e s K w o k , P i n g L u o , H u c h u a n L u , a n d Z h e n g u o L i . T h e a b s t r a c t f r o m t h e p a p e r i s : * I n t h i s p a p e r , w e i n t r o d u c e P i x A r t - ฮฃ , a D i f f u s i o n T r a n s f o r m e r m o d e l ( D i T ) c a p a b l e o f d i r e c t l y g e n e r a t i n g i m a g e s a t 4 K r e s o l u t i o n . P i x A r t - ฮฃ r e p r e s e n t s a s i g n i f i c a n t a d v a n c e m e n t o v e r i t s p r e d e c e s s o r , P i x A r t - ฮฑ , o f f e r i n g i m a g e s o f m a r k e d l y h i g h e r f i d e l i t y a n d i m p r o v e d a l i g n m e n t w i t h t e x t p r o m p t s . A k e y f e a t u r e o f P i x A r t - ฮฃ i s i t s t r a i n i n g e f f i c i e n c y . L e v e r a g i n g t h e f o u n d a t i o n a l p r e - t r a i n i n g o f P i x A r t - ฮฑ , i t e v o l v e s f r o m t h e โ€˜ w e a k e r โ€™ b a s e l i n e t o a โ€˜ s t r o n g e r โ€™ m o d e l v i a i n c o r p o r a t i n g h i g h e r q u a l i t y d a t a , a p r o c e s s w e t e r m โ€œ w e a k - t o - s t r o n g t r a i n i n g โ€ . T h e a d v a n c e m e n t s i n P i x A r t - ฮฃ a r e t w o f o l d : ( 1 ) H i g h - Q u a l i t y T r a i n i n g D a t a : P i x A r t - ฮฃ i n c o r p o r a t e s s u p e r i o r - q u a l i t y i m a g e d a t a , p a i r e d w i t h m o r e p r e c i s e a n d d e t a i l e d i m a g e c a p t i o n s . ( 2 ) E f f i c i e n t T o k e n C o m p r e s s i o n : w e p r o p o s e a n o v e l a t t e n t i o n m o d u l e w i t h i n t h e D i T f r a m e w o r k t h a t c o m p r e s s e s b o t h k e y s a n d v a l u e s , s i g n i f i c a n t l y i m p r o v i n g e f f i c i e n c y a n d f a c i l i t a t i n g u l t r a - h i g h - r e s o l u t i o n i m a g e g e n e r a t i o n . T h a n k s t o t h e s e i m p r o v e m e n t s , P i x A r t - ฮฃ a c h i e v e s s u p e r i o r i m a g e q u a l i t y a n d u s e r p r o m p t a d h e r e n c e c a p a b i l i t i e s w i t h s i g n i f i c a n t l y s m a l l e r m o d e l s i z e ( 0 . 6 B p a r a m e t e r s ) t h a n e x i s t i n g t e x t - t o - i m a g e d i f f u s i o n m o d e l s , s u c h a s S D X L ( 2 . 6 B p a r a m e t e r s ) a n d S D C a s c a d e ( 5 . 1 B p a r a m e t e r s ) . M o r e o v e r , P i x A r t - ฮฃ โ€™ s c a p a b i l i t y t o g e n e r a t e 4 K i m a g e s s u p p o r t s t h e c r e a t i o n o f h i g h - r e s o l u t i o n p o s t e r s a n d w a l l p a p e r s , e f f i c i e n t l y b o l s t e r i n g t h e p r o d u c t i o n o f h i g h q u a l i t y v i s u a l c o n t e n t i n i n d u s t r i e s s u c h a s f i l m a n d g a m i n g . * Y o u c a n f i n d t h e o r i g i n a l c o d e b a s e a t [ P i x A r t - a l p h a / P i x A r t - s i g m a ] ( h t t p s : / / g i t h u b . c o m / P i x A r t - a l p h a / P i x A r t - s i g m a ) a n d a l l t h e a v a i l a b l e c h e c k p o i n t s a t [ P i x A r t - a l p h a ] ( h t t p s : / / h u g g i n g f a c e . c o / P i x A r t - a l p h a ) . S o m e n o t e s a b o u t t h i s p i p e l i n e : * I t u s e s a T r a n s f o r m e r b a c k b o n e ( i n s t e a d o f a U N e t ) f o r d e n o i s i n g . A s s u c h i t h a s a s i m i l a r a r c h i t e c t u r e a s [ D i T ] ( h t t p s : / / h f . c o / d o c s / t r a n s f o r m e r s / m o d e l _ d o c / d i t ) . * I t w a s t r a i n e d u s i n g t e x t c o n d i t i o n s c o m p u t e d f r o m T 5 . T h i s a s p e c t m a k e s t h e p i p e l i n e b e t t e r a t f o l l o w i n g c o m p l e x t e x t p r o m p t s w i t h i n t r i c a t e d e t a i l s . * I t i s g o o d a t p r o d u c i n g h i g h - r e s o l u t i o n i m a g e s a t d i f f e r e n t a s p e c t r a t i o s . T o g e t t h e b e s t r e s u l t s , t h e a u t h o r s r e c o m m e n d s o m e s i z e b r a c k e t s w h i c h c a n b e f o u n d [ h e r e ] ( h t t p s : / / g i t h u b . c o m / P i x A r t - a l p h a / P i x A r t - s i g m a / b l o b / m a s t e r / d i f f u s i o n / d a t a / d a t a s e t s / u t i l s . p y ) . * I t r i v a l s t h e q u a l i t y o f s t a t e - o f - t h e - a r t t e x t - t o - i m a g e g e n e r a t i o n s y s t e m s ( a s o f t h i s w r i t i n g ) s u c h a s P i x A r t - ฮฑ , S t a b l e D i f f u s i o n X L , P l a y g r o u n d V 2 . 0 a n d D A L L - E 3 , w h i l e b e i n g m o r e e f f i c i e n t t h a n t h e m . * I t s h o w s t h e a b i l i t y o f g e n e r a t i n g s u p e r h i g h r e s o l u t i o n i m a g e s , s u c h a s 2 0 4 8 p x o r e v e n 4 K . * I t s h o w s t h a t t e x t - t o - i m a g e m o d e l s c a n g r o w f r o m a w e a k m o d e l t o a s t r o n g e r o n e t h r o u g h s e v e r a l i m p r o v e m e n t s ( V A E s , d a t a s e t s , a n d s o o n . ) < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - a - p i p e l i n e ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > < T i p > Y o u c a n f u r t h e r i m p r o v e g e n e r a t i o n q u a l i t y b y p a s s i n g t h e g e n e r a t e d i m a g e f r o m ` P i x A r t S i g m a P i p e l i n e ` t o t h e [ S D X L r e f i n e r ] ( . . / . . / u s i n g - d i f f u s e r s / s d x l # b a s e - t o - r e f i n e r - m o d e l ) m o d e l . < / T i p > # # I n f e r e n c e w i t h u n d e r 8 G B G P U V R A M R u n t h e ` P i x A r t S i g m a P i p e l i n e ` w i t h u n d e r 8 G B G P U V R A M b y l o a d i n g t h e t e x t e n c o d e r i n 8 - b i t p r e c i s i o n . L e t ' s w a l k t h r o u g h a f u l l - f l e d g e d e x a m p l e . F i r s t , i n s t a l l t h e [ b i t s a n d b y t e s ] ( h t t p s : / / g i t h u b . c o m / T i m D e t t m e r s / b i t s a n d b y t e s ) l i b r a r y : ` ` ` b a s h p i p i n s t a l l - U b i t s a n d b y t e s ` ` ` T h e n l o a d t h e t e x t e n c o d e r i n 8 - b i t : ` ` ` p y t h o n f r o m t r a n s f o r m e r s i m p o r t T 5 E n c o d e r M o d e l f r o m d i f f u s e r s i m p o r t P i x A r t S i g m a P i p e l i n e i m p o r t t o r c h t e x t _ e n c o d e r = T 5 E n c o d e r M o d e l . f r o m _ p r e t r a i n e d ( " P i x A r t - a l p h a / P i x A r t - S i g m a - X L - 2 - 1 0 2 4 - M S " , s u b f o l d e r = " t e x t _ e n c o d e r " , l o a d _ i n _ 8 b i t = T r u e , d e v i c e _ m a p = " a u t o " , ) p i p e = P i x A r t S i g m a P i p e l i n e . f r o m _ p r e t r a i n e d ( " P i x A r t - a l p h a / P i x A r t - S i g m a - X L - 2 - 1 0 2 4 - M S " , t e x t _ e n c o d e r = t e x t _ e n c o d e r , t r a n s f o r m e r = N o n e , d e v i c e _ m a p = " b a l a n c e d " ) ` ` ` N o w , u s e t h e ` p i p e ` t o e n c o d e a p r o m p t : ` ` ` p y t h o n w i t h t o r c h . n o _ g r a d ( ) : p r o m p t = " c u t e c a t " p r o m p t _ e m b e d s , p r o m p t _ a t t e n t i o n _ m a s k , n e g a t i v e _ e m b e d s , n e g a t i v e _ p r o m p t _ a t t e n t i o n _ m a s k = p i p e . e n c o d e _ p r o m p t ( p r o m p t ) ` ` ` S i n c e t e x t e m b e d d i n g s h a v e b e e n c o m p u t e d , r e m o v e t h e ` t e x t _ e n c o d e r ` a n d ` p i p e ` f r o m t h e m e m o r y , a n d f r e e u p s o m e G P U V R A M : ` ` ` p y t h o n i m p o r t g c d e f f l u s h ( ) : g c . c o l l e c t ( ) t o r c h . c u d a . e m p t y _ c a c h e ( ) d e l t e x t _ e n c o d e r d e l p i p e f l u s h ( ) ` ` ` T h e n c o m p u t e t h e l a t e n t s w i t h t h e p r o m p t e m b e d d i n g s a s i n p u t s : ` ` ` p y t h o n p i p e = P i x A r t S i g m a P i p e l i n e . f r o m _ p r e t r a i n e d ( " P i x A r t - a l p h a / P i x A r t - S i g m a - X L - 2 - 1 0 2 4 - M S " , t e x t _ e n c o d e r = N o n e , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , ) . t o ( " c u d a " ) l a t e n t s = p i p e ( n e g a t i v e _ p r o m p t = N o n e , p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , n e g a t i v e _ p r o m p t _ e m b e d s = n e g a t i v e _ e m b e d s , p r o m p t _ a t t e n t i o n _ m a s k = p r o m p t _ a t t e n t i o n _ m a s k , n e g a t i v e _ p r o m p t _ a t t e n t i o n _ m a s k = n e g a t i v e _ p r o m p t _ a t t e n t i o n _ m a s k , n u m _ i m a g e s _ p e r _ p r o m p t = 1 , o u t p u t _ t y p e = " l a t e n t " , ) . i m a g e s d e l p i p e . t r a n s f o r m e r f l u s h ( ) ` ` ` < T i p > N o t i c e t h a t w h i l e i n i t i a l i z i n g ` p i p e ` , y o u ' r e s e t t i n g ` t e x t _ e n c o d e r ` t o ` N o n e ` s o t h a t i t ' s n o t l o a d e d . < / T i p > O n c e t h e l a t e n t s a r e c o m p u t e d , p a s s i t o f f t o t h e V A E t o d e c o d e i n t o a r e a l i m a g e : ` ` ` p y t h o n w i t h t o r c h . n o _ g r a d ( ) : i m a g e = p i p e . v a e . d e c o d e ( l a t e n t s / p i p e . v a e . c o n f i g . s c a l i n g _ f a c t o r , r e t u r n _ d i c t = F a l s e ) [ 0 ] i m a g e = p i p e . i m a g e _ p r o c e s s o r . p o s t p r o c e s s ( i m a g e , o u t p u t _ t y p e = " p i l " ) [ 0 ] i m a g e . s a v e ( " c a t . p n g " ) ` ` ` B y d e l e t i n g c o m p o n e n t s y o u a r e n ' t u s i n g a n d f l u s h i n g t h e G P U V R A M , y o u s h o u l d b e a b l e t o r u n ` P i x A r t S i g m a P i p e l i n e ` w i t h u n d e r 8 G B G P U V R A M . ! [ ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / p i x a r t / 8 b i t s _ c a t . p n g ) I f y o u w a n t a r e p o r t o f y o u r m e m o r y - u s a g e , r u n t h i s [ s c r i p t ] ( h t t p s : / / g i s t . g i t h u b . c o m / s a y a k p a u l / 3 a e 0 f 8 4 7 0 0 1 d 3 4 2 a f 2 7 0 1 8 a 9 6 f 4 6 7 e 4 e ) . < T i p w a r n i n g = { t r u e } > T e x t e m b e d d i n g s c o m p u t e d i n 8 - b i t c a n i m p a c t t h e q u a l i t y o f t h e g e n e r a t e d i m a g e s b e c a u s e o f t h e i n f o r m a t i o n l o s s i n t h e r e p r e s e n t a t i o n s p a c e c a u s e d b y t h e r e d u c e d p r e c i s i o n . I t ' s r e c o m m e n d e d t o c o m p a r e t h e o u t p u t s w i t h a n d w i t h o u t 8 - b i t . < / T i p > W h i l e l o a d i n g t h e ` t e x t _ e n c o d e r ` , y o u s e t ` l o a d _ i n _ 8 b i t ` t o ` T r u e ` . Y o u c o u l d a l s o s p e c i f y ` l o a d _ i n _ 4 b i t ` t o b r i n g y o u r m e m o r y r e q u i r e m e n t s d o w n e v e n f u r t h e r t o u n d e r 7 G B . # # P i x A r t S i g m a P i p e l i n e [ [ a u t o d o c ] ] P i x A r t S i g m a P i p e l i n e - a l l - _ _ c a l l _ _ # U n i D i f f u s e r T h e U n i D i f f u s e r m o d e l w a s p r o p o s e d i n [ O n e T r a n s f o r m e r F i t s A l l D i s t r i b u t i o n s i n M u l t i - M o d a l D i f f u s i o n a t S c a l e ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 3 . 0 6 5 5 5 ) b y F a n B a o , S h e n N i e , K a i w e n X u e , C h o n g x u a n L i , S h i P u , Y a o l e W a n g , G a n g Y u e , Y u e C a o , H a n g S u , J u n Z h u . T h e a b s t r a c t f r o m t h e p a p e r i s : * T h i s p a p e r p r o p o s e s a u n i f i e d d i f f u s i o n f r a m e w o r k ( d u b b e d U n i D i f f u s e r ) t o f i t a l l d i s t r i b u t i o n s r e l e v a n t t o a s e t o f m u l t i - m o d a l d a t a i n o n e m o d e l . O u r k e y i n s i g h t i s - - l e a r n i n g d i f f u s i o n m o d e l s f o r m a r g i n a l , c o n d i t i o n a l , a n d j o i n t d i s t r i b u t i o n s c a n b e u n i f i e d a s p r e d i c t i n g t h e n o i s e i n t h e p e r t u r b e d d a t a , w h e r e t h e p e r t u r b a t i o n l e v e l s ( i . e . t i m e s t e p s ) c a n b e d i f f e r e n t f o r d i f f e r e n t m o d a l i t i e s . I n s p i r e d b y t h e u n i f i e d v i e w , U n i D i f f u s e r l e a r n s a l l d i s t r i b u t i o n s s i m u l t a n e o u s l y w i t h a m i n i m a l m o d i f i c a t i o n t o t h e o r i g i n a l d i f f u s i o n m o d e l - - p e r t u r b s d a t a i n a l l m o d a l i t i e s i n s t e a d o f a s i n g l e m o d a l i t y , i n p u t s i n d i v i d u a l t i m e s t e p s i n d i f f e r e n t m o d a l i t i e s , a n d p r e d i c t s t h e n o i s e o f a l l m o d a l i t i e s i n s t e a d o f a s i n g l e m o d a l i t y . U n i D i f f u s e r i s p a r a m e t e r i z e d b y a t r a n s f o r m e r f o r d i f f u s i o n m o d e l s t o h a n d l e i n p u t t y p e s o f d i f f e r e n t m o d a l i t i e s . I m p l e m e n t e d o n l a r g e - s c a l e p a i r e d i m a g e - t e x t d a t a , U n i D i f f u s e r i s a b l e t o p e r f o r m i m a g e , t e x t , t e x t - t o - i m a g e , i m a g e - t o - t e x t , a n d i m a g e - t e x t p a i r g e n e r a t i o n b y s e t t i n g p r o p e r t i m e s t e p s w i t h o u t a d d i t i o n a l o v e r h e a d . I n p a r t i c u l a r , U n i D i f f u s e r i s a b l e t o p r o d u c e p e r c e p t u a l l y r e a l i s t i c s a m p l e s i n a l l t a s k s a n d i t s q u a n t i t a t i v e r e s u l t s ( e . g . , t h e F I D a n d C L I P s c o r e ) a r e n o t o n l y s u p e r i o r t o e x i s t i n g g e n e r a l - p u r p o s e m o d e l s b u t a l s o c o m p a r a b l e t o t h e b e s p o k e n m o d e l s ( e . g . , S t a b l e D i f f u s i o n a n d D A L L - E 2 ) i n r e p r e s e n t a t i v e t a s k s ( e . g . , t e x t - t o - i m a g e g e n e r a t i o n ) . * Y o u c a n f i n d t h e o r i g i n a l c o d e b a s e a t [ t h u - m l / u n i d i f f u s e r ] ( h t t p s : / / g i t h u b . c o m / t h u - m l / u n i d i f f u s e r ) a n d a d d i t i o n a l c h e c k p o i n t s a t [ t h u - m l ] ( h t t p s : / / h u g g i n g f a c e . c o / t h u - m l ) . < T i p w a r n i n g = { t r u e } > T h e r e i s c u r r e n t l y a n i s s u e o n P y T o r c h 1 . X w h e r e t h e o u t p u t i m a g e s a r e a l l b l a c k o r t h e p i x e l v a l u e s b e c o m e ` N a N s ` . T h i s i s s u e c a n b e m i t i g a t e d b y s w i t c h i n g t o P y T o r c h 2 . X . < / T i p > T h i s p i p e l i n e w a s c o n t r i b u t e d b y [ d g 8 4 5 ] ( h t t p s : / / g i t h u b . c o m / d g 8 4 5 ) . โค ๏ธ # # U s a g e E x a m p l e s B e c a u s e t h e U n i D i f f u s e r m o d e l i s t r a i n e d t o m o d e l t h e j o i n t d i s t r i b u t i o n o f ( i m a g e , t e x t ) p a i r s , i t i s c a p a b l e o f p e r f o r m i n g a d i v e r s e r a n g e o f g e n e r a t i o n t a s k s : # # # U n c o n d i t i o n a l I m a g e a n d T e x t G e n e r a t i o n U n c o n d i t i o n a l g e n e r a t i o n ( w h e r e w e s t a r t f r o m o n l y l a t e n t s s a m p l e d f r o m a s t a n d a r d G a u s s i a n p r i o r ) f r o m a ` U n i D i f f u s e r P i p e l i n e ` w i l l p r o d u c e a ( i m a g e , t e x t ) p a i r : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t U n i D i f f u s e r P i p e l i n e d e v i c e = " c u d a " m o d e l _ i d _ o r _ p a t h = " t h u - m l / u n i d i f f u s e r - v 1 " p i p e = U n i D i f f u s e r P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d _ o r _ p a t h , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . t o ( d e v i c e ) # U n c o n d i t i o n a l i m a g e a n d t e x t g e n e r a t i o n . T h e g e n e r a t i o n t a s k i s a u t o m a t i c a l l y i n f e r r e d . s a m p l e = p i p e ( n u m _ i n f e r e n c e _ s t e p s = 2 0 , g u i d a n c e _ s c a l e = 8 . 0 ) i m a g e = s a m p l e . i m a g e s [ 0 ] t e x t = s a m p l e . t e x t [ 0 ] i m a g e . s a v e ( " u n i d i f f u s e r _ j o i n t _ s a m p l e _ i m a g e . p n g " ) p r i n t ( t e x t ) ` ` ` T h i s i s a l s o c a l l e d " j o i n t " g e n e r a t i o n i n t h e U n i D i f f u s e r p a p e r , s i n c e w e a r e s a m p l i n g f r o m t h e j o i n t i m a g e - t e x t d i s t r i b u t i o n . N o t e t h a t t h e g e n e r a t i o n t a s k i s i n f e r r e d f r o m t h e i n p u t s u s e d w h e n c a l l i n g t h e p i p e l i n e . I t i s a l s o p o s s i b l e t o m a n u a l l y s p e c i f y t h e u n c o n d i t i o n a l g e n e r a t i o n t a s k ( " m o d e " ) m a n u a l l y w i t h ` U n i D i f f u s e r P i p e l i n e . s e t _ j o i n t _ m o d e ( ) ` : ` ` ` p y t h o n # E q u i v a l e n t t o t h e a b o v e . p i p e . s e t _ j o i n t _ m o d e ( ) s a m p l e = p i p e ( n u m _ i n f e r e n c e _ s t e p s = 2 0 , g u i d a n c e _ s c a l e = 8 . 0 ) ` ` ` W h e n t h e m o d e i s s e t m a n u a l l y , s u b s e q u e n t c a l l s t o t h e p i p e l i n e w i l l u s e t h e s e t m o d e w i t h o u t a t t e m p t i n g t o i n f e r t h e m o d e . Y o u c a n r e s e t t h e m o d e w i t h ` U n i D i f f u s e r P i p e l i n e . r e s e t _ m o d e ( ) ` , a f t e r w h i c h t h e p i p e l i n e w i l l o n c e a g a i n i n f e r t h e m o d e . Y o u c a n a l s o g e n e r a t e o n l y a n i m a g e o r o n l y t e x t ( w h i c h t h e U n i D i f f u s e r p a p e r c a l l s " m a r g i n a l " g e n e r a t i o n s i n c e w e s a m p l e f r o m t h e m a r g i n a l d i s t r i b u t i o n o f i m a g e s a n d t e x t , r e s p e c t i v e l y ) : ` ` ` p y t h o n # U n l i k e o t h e r g e n e r a t i o n t a s k s , i m a g e - o n l y a n d t e x t - o n l y g e n e r a t i o n d o n ' t u s e c l a s s i f i e r - f r e e g u i d a n c e # I m a g e - o n l y g e n e r a t i o n p i p e . s e t _ i m a g e _ m o d e ( ) s a m p l e _ i m a g e = p i p e ( n u m _ i n f e r e n c e _ s t e p s = 2 0 ) . i m a g e s [ 0 ] # T e x t - o n l y g e n e r a t i o n p i p e . s e t _ t e x t _ m o d e ( ) s a m p l e _ t e x t = p i p e ( n u m _ i n f e r e n c e _ s t e p s = 2 0 ) . t e x t [ 0 ] ` ` ` # # # T e x t - t o - I m a g e G e n e r a t i o n U n i D i f f u s e r i s a l s o c a p a b l e o f s a m p l i n g f r o m c o n d i t i o n a l d i s t r i b u t i o n s ; t h a t i s , t h e d i s t r i b u t i o n o f i m a g e s c o n d i t i o n e d o n a t e x t p r o m p t o r t h e d i s t r i b u t i o n o f t e x t s c o n d i t i o n e d o n a n i m a g e . H e r e i s a n e x a m p l e o f s a m p l i n g f r o m t h e c o n d i t i o n a l i m a g e d i s t r i b u t i o n ( t e x t - t o - i m a g e g e n e r a t i o n o r t e x t - c o n d i t i o n e d i m a g e g e n e r a t i o n ) : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t U n i D i f f u s e r P i p e l i n e d e v i c e = " c u d a " m o d e l _ i d _ o r _ p a t h = " t h u - m l / u n i d i f f u s e r - v 1 " p i p e = U n i D i f f u s e r P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d _ o r _ p a t h , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . t o ( d e v i c e ) # T e x t - t o - i m a g e g e n e r a t i o n p r o m p t = " a n e l e p h a n t u n d e r t h e s e a " s a m p l e = p i p e ( p r o m p t = p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 2 0 , g u i d a n c e _ s c a l e = 8 . 0 ) t 2 i _ i m a g e = s a m p l e . i m a g e s [ 0 ] t 2 i _ i m a g e ` ` ` T h e ` t e x t 2 i m g ` m o d e r e q u i r e s t h a t e i t h e r a n i n p u t ` p r o m p t ` o r ` p r o m p t _ e m b e d s ` b e s u p p l i e d . Y o u c a n s e t t h e ` t e x t 2 i m g ` m o d e m a n u a l l y w i t h ` U n i D i f f u s e r P i p e l i n e . s e t _ t e x t _ t o _ i m a g e _ m o d e ( ) ` . # # # I m a g e - t o - T e x t G e n e r a t i o n S i m i l a r l y , U n i D i f f u s e r c a n a l s o p r o d u c e t e x t s a m p l e s g i v e n a n i m a g e ( i m a g e - t o - t e x t o r i m a g e - c o n d i t i o n e d t e x t g e n e r a t i o n ) : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t U n i D i f f u s e r P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e d e v i c e = " c u d a " m o d e l _ i d _ o r _ p a t h = " t h u - m l / u n i d i f f u s e r - v 1 " p i p e = U n i D i f f u s e r P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d _ o r _ p a t h , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . t o ( d e v i c e ) # I m a g e - t o - t e x t g e n e r a t i o n i m a g e _ u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / u n i d i f f u s e r / u n i d i f f u s e r _ e x a m p l e _ i m a g e . j p g " i n i t _ i m a g e = l o a d _ i m a g e ( i m a g e _ u r l ) . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) s a m p l e = p i p e ( i m a g e = i n i t _ i m a g e , n u m _ i n f e r e n c e _ s t e p s = 2 0 , g u i d a n c e _ s c a l e = 8 . 0 ) i 2 t _ t e x t = s a m p l e . t e x t [ 0 ] p r i n t ( i 2 t _ t e x t ) ` ` ` T h e ` i m g 2 t e x t ` m o d e r e q u i r e s t h a t a n i n p u t ` i m a g e ` b e s u p p l i e d . Y o u c a n s e t t h e ` i m g 2 t e x t ` m o d e m a n u a l l y w i t h ` U n i D i f f u s e r P i p e l i n e . s e t _ i m a g e _ t o _ t e x t _ m o d e ( ) ` . # # # I m a g e V a r i a t i o n T h e U n i D i f f u s e r a u t h o r s s u g g e s t p e r f o r m i n g i m a g e v a r i a t i o n t h r o u g h a " r o u n d - t r i p " g e n e r a t i o n m e t h o d , w h e r e g i v e n a n i n p u t i m a g e , w e f i r s t p e r f o r m a n i m a g e - t o - t e x t g e n e r a t i o n , a n d t h e n p e r f o r m a t e x t - t o - i m a g e g e n e r a t i o n o n t h e o u t p u t s o f t h e f i r s t g e n e r a t i o n . T h i s p r o d u c e s a n e w i m a g e w h i c h i s s e m a n t i c a l l y s i m i l a r t o t h e i n p u t i m a g e : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t U n i D i f f u s e r P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e d e v i c e = " c u d a " m o d e l _ i d _ o r _ p a t h = " t h u - m l / u n i d i f f u s e r - v 1 " p i p e = U n i D i f f u s e r P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d _ o r _ p a t h , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . t o ( d e v i c e ) # I m a g e v a r i a t i o n c a n b e p e r f o r m e d w i t h a n i m a g e - t o - t e x t g e n e r a t i o n f o l l o w e d b y a t e x t - t o - i m a g e g e n e r a t i o n : # 1 . I m a g e - t o - t e x t g e n e r a t i o n i m a g e _ u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / u n i d i f f u s e r / u n i d i f f u s e r _ e x a m p l e _ i m a g e . j p g " i n i t _ i m a g e = l o a d _ i m a g e ( i m a g e _ u r l ) . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) s a m p l e = p i p e ( i m a g e = i n i t _ i m a g e , n u m _ i n f e r e n c e _ s t e p s = 2 0 , g u i d a n c e _ s c a l e = 8 . 0 ) i 2 t _ t e x t = s a m p l e . t e x t [ 0 ] p r i n t ( i 2 t _ t e x t ) # 2 . T e x t - t o - i m a g e g e n e r a t i o n s a m p l e = p i p e ( p r o m p t = i 2 t _ t e x t , n u m _ i n f e r e n c e _ s t e p s = 2 0 , g u i d a n c e _ s c a l e = 8 . 0 ) f i n a l _ i m a g e = s a m p l e . i m a g e s [ 0 ] f i n a l _ i m a g e . s a v e ( " u n i d i f f u s e r _ i m a g e _ v a r i a t i o n _ s a m p l e . p n g " ) ` ` ` # # # T e x t V a r i a t i o n S i m i l a r l y , t e x t v a r i a t i o n c a n b e p e r f o r m e d o n a n i n p u t p r o m p t w i t h a t e x t - t o - i m a g e g e n e r a t i o n f o l l o w e d b y a i m a g e - t o - t e x t g e n e r a t i o n : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t U n i D i f f u s e r P i p e l i n e d e v i c e = " c u d a " m o d e l _ i d _ o r _ p a t h = " t h u - m l / u n i d i f f u s e r - v 1 " p i p e = U n i D i f f u s e r P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d _ o r _ p a t h , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . t o ( d e v i c e ) # T e x t v a r i a t i o n c a n b e p e r f o r m e d w i t h a t e x t - t o - i m a g e g e n e r a t i o n f o l l o w e d b y a i m a g e - t o - t e x t g e n e r a t i o n : # 1 . T e x t - t o - i m a g e g e n e r a t i o n p r o m p t = " a n e l e p h a n t u n d e r t h e s e a " s a m p l e = p i p e ( p r o m p t = p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 2 0 , g u i d a n c e _ s c a l e = 8 . 0 ) t 2 i _ i m a g e = s a m p l e . i m a g e s [ 0 ] t 2 i _ i m a g e . s a v e ( " u n i d i f f u s e r _ t e x t 2 i m g _ s a m p l e _ i m a g e . p n g " ) # 2 . I m a g e - t o - t e x t g e n e r a t i o n s a m p l e = p i p e ( i m a g e = t 2 i _ i m a g e , n u m _ i n f e r e n c e _ s t e p s = 2 0 , g u i d a n c e _ s c a l e = 8 . 0 ) f i n a l _ p r o m p t = s a m p l e . t e x t [ 0 ] p r i n t ( f i n a l _ p r o m p t ) ` ` ` < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # U n i D i f f u s e r P i p e l i n e # # I m a g e T e x t P i p e l i n e O u t p u t [ [ a u t o d o c ] ] U n i D i f f u s e r P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . I m a g e T e x t P i p e l i n e O u t p u t # A l l e g r o [ A l l e g r o : O p e n t h e B l a c k B o x o f C o m m e r c i a l - L e v e l V i d e o G e n e r a t i o n M o d e l ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 4 1 0 . 1 5 4 5 8 ) f r o m R h y m e s A I , b y Y u a n Z h o u , Q i u y u e W a n g , Y u x u a n C a i , H u a n Y a n g . T h e a b s t r a c t f r o m t h e p a p e r i s : * S i g n i f i c a n t a d v a n c e m e n t s h a v e b e e n m a d e i n t h e f i e l d o f v i d e o g e n e r a t i o n , w i t h t h e o p e n - s o u r c e c o m m u n i t y c o n t r i b u t i n g a w e a l t h o f r e s e a r c h p a p e r s a n d t o o l s f o r t r a i n i n g h i g h - q u a l i t y m o d e l s . H o w e v e r , d e s p i t e t h e s e e f f o r t s , t h e a v a i l a b l e i n f o r m a t i o n a n d r e s o u r c e s r e m a i n i n s u f f i c i e n t f o r a c h i e v i n g c o m m e r c i a l - l e v e l p e r f o r m a n c e . I n t h i s r e p o r t , w e o p e n t h e b l a c k b o x a n d i n t r o d u c e A l l e g r o , a n a d v a n c e d v i d e o g e n e r a t i o n m o d e l t h a t e x c e l s i n b o t h q u a l i t y a n d t e m p o r a l c o n s i s t e n c y . W e a l s o h i g h l i g h t t h e c u r r e n t l i m i t a t i o n s i n t h e f i e l d a n d p r e s e n t a c o m p r e h e n s i v e m e t h o d o l o g y f o r t r a i n i n g h i g h - p e r f o r m a n c e , c o m m e r c i a l - l e v e l v i d e o g e n e r a t i o n m o d e l s , a d d r e s s i n g k e y a s p e c t s s u c h a s d a t a , m o d e l a r c h i t e c t u r e , t r a i n i n g p i p e l i n e , a n d e v a l u a t i o n . O u r u s e r s t u d y s h o w s t h a t A l l e g r o s u r p a s s e s e x i s t i n g o p e n - s o u r c e m o d e l s a n d m o s t c o m m e r c i a l m o d e l s , r a n k i n g j u s t b e h i n d H a i l u o a n d K l i n g . C o d e : h t t p s : / / g i t h u b . c o m / r h y m e s - a i / A l l e g r o , M o d e l : h t t p s : / / h u g g i n g f a c e . c o / r h y m e s - a i / A l l e g r o , G a l l e r y : h t t p s : / / r h y m e s . a i / a l l e g r o _ g a l l e r y . * < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s . m d ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g . m d # r e u s e - a - p i p e l i n e ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # A l l e g r o P i p e l i n e # # A l l e g r o P i p e l i n e O u t p u t [ [ a u t o d o c ] ] A l l e g r o P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . a l l e g r o . p i p e l i n e _ o u t p u t . A l l e g r o P i p e l i n e O u t p u t # B L I P - D i f f u s i o n B L I P - D i f f u s i o n w a s p r o p o s e d i n [ B L I P - D i f f u s i o n : P r e - t r a i n e d S u b j e c t R e p r e s e n t a t i o n f o r C o n t r o l l a b l e T e x t - t o - I m a g e G e n e r a t i o n a n d E d i t i n g ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 0 5 . 1 4 7 2 0 ) . I t e n a b l e s z e r o - s h o t s u b j e c t - d r i v e n g e n e r a t i o n a n d c o n t r o l - g u i d e d z e r o - s h o t g e n e r a t i o n . T h e a b s t r a c t f r o m t h e p a p e r i s : * S u b j e c t - d r i v e n t e x t - t o - i m a g e g e n e r a t i o n m o d e l s c r e a t e n o v e l r e n d i t i o n s o f a n i n p u t s u b j e c t b a s e d o n t e x t p r o m p t s . E x i s t i n g m o d e l s s u f f e r f r o m l e n g t h y f i n e - t u n i n g a n d d i f f i c u l t i e s p r e s e r v i n g t h e s u b j e c t f i d e l i t y . T o o v e r c o m e t h e s e l i m i t a t i o n s , w e i n t r o d u c e B L I P - D i f f u s i o n , a n e w s u b j e c t - d r i v e n i m a g e g e n e r a t i o n m o d e l t h a t s u p p o r t s m u l t i m o d a l c o n t r o l w h i c h c o n s u m e s i n p u t s o f s u b j e c t i m a g e s a n d t e x t p r o m p t s . U n l i k e o t h e r s u b j e c t - d r i v e n g e n e r a t i o n m o d e l s , B L I P - D i f f u s i o n i n t r o d u c e s a n e w m u l t i m o d a l e n c o d e r w h i c h i s p r e - t r a i n e d t o p r o v i d e s u b j e c t r e p r e s e n t a t i o n . W e f i r s t p r e - t r a i n t h e m u l t i m o d a l e n c o d e r f o l l o w i n g B L I P - 2 t o p r o d u c e v i s u a l r e p r e s e n t a t i o n a l i g n e d w i t h t h e t e x t . T h e n w e d e s i g n a s u b j e c t r e p r e s e n t a t i o n l e a r n i n g t a s k w h i c h e n a b l e s a d i f f u s i o n m o d e l t o l e v e r a g e s u c h v i s u a l r e p r e s e n t a t i o n a n d g e n e r a t e s n e w s u b j e c t r e n d i t i o n s . C o m p a r e d w i t h p r e v i o u s m e t h o d s s u c h a s D r e a m B o o t h , o u r m o d e l e n a b l e s z e r o - s h o t s u b j e c t - d r i v e n g e n e r a t i o n , a n d e f f i c i e n t f i n e - t u n i n g f o r c u s t o m i z e d s u b j e c t w i t h u p t o 2 0 x s p e e d u p . W e a l s o d e m o n s t r a t e t h a t B L I P - D i f f u s i o n c a n b e f l e x i b l y c o m b i n e d w i t h e x i s t i n g t e c h n i q u e s s u c h a s C o n t r o l N e t a n d p r o m p t - t o - p r o m p t t o e n a b l e n o v e l s u b j e c t - d r i v e n g e n e r a t i o n a n d e d i t i n g a p p l i c a t i o n s . P r o j e c t p a g e a t [ t h i s h t t p s U R L ] ( h t t p s : / / d x l i 9 4 . g i t h u b . i o / B L I P - D i f f u s i o n - w e b s i t e / ) . * T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ s a l e s f o r c e / L A V I S ] ( h t t p s : / / g i t h u b . c o m / s a l e s f o r c e / L A V I S / t r e e / m a i n / p r o j e c t s / b l i p - d i f f u s i o n ) . Y o u c a n f i n d t h e o f f i c i a l B L I P - D i f f u s i o n c h e c k p o i n t s u n d e r t h e [ h f . c o / S a l e s F o r c e ] ( h t t p s : / / h f . c o / S a l e s F o r c e ) o r g a n i z a t i o n . ` B l i p D i f f u s i o n P i p e l i n e ` a n d ` B l i p D i f f u s i o n C o n t r o l N e t P i p e l i n e ` w e r e c o n t r i b u t e d b y [ ` a y u s h t u e s ` ] ( h t t p s : / / g i t h u b . c o m / a y u s h t u e s / ) . < T i p > M a k e s u r e t o c h e c k o u t t h e S c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # B l i p D i f f u s i o n P i p e l i n e # # B l i p D i f f u s i o n C o n t r o l N e t P i p e l i n e [ [ a u t o d o c ] ] B l i p D i f f u s i o n P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] B l i p D i f f u s i o n C o n t r o l N e t P i p e l i n e - a l l - _ _ c a l l _ _ # K a n d i n s k y 3 K a n d i n s k y 3 i s c r e a t e d b y [ V l a d i m i r A r k h i p k i n ] ( h t t p s : / / g i t h u b . c o m / o r i B e t e l g e u s e ) , [ A n a s t a s i a M a l t s e v a ] ( h t t p s : / / g i t h u b . c o m / N a s t y a M i t t s e v a ) , [ I g o r P a v l o v ] ( h t t p s : / / g i t h u b . c o m / b o o m b 0 o m ) , [ A n d r e i F i l a t o v ] ( h t t p s : / / g i t h u b . c o m / a n v i l a r t h ) , [ A r s e n i y S h a k h m a t o v ] ( h t t p s : / / g i t h u b . c o m / c e n e 5 5 5 ) , [ A n d r e y K u z n e t s o v ] ( h t t p s : / / g i t h u b . c o m / k u z n e t s o f f a n d r e y ) , [ D e n i s D i m i t r o v ] ( h t t p s : / / g i t h u b . c o m / d e n n d i m i t r o v ) , [ Z e i n S h a h e e n ] ( h t t p s : / / g i t h u b . c o m / z e i n s h ) T h e d e s c r i p t i o n f r o m i t ' s G i t H u b p a g e : * K a n d i n s k y 3 . 0 i s a n o p e n - s o u r c e t e x t - t o - i m a g e d i f f u s i o n m o d e l b u i l t u p o n t h e K a n d i n s k y 2 - x m o d e l f a m i l y . I n c o m p a r i s o n t o i t s p r e d e c e s s o r s , e n h a n c e m e n t s h a v e b e e n m a d e t o t h e t e x t u n d e r s t a n d i n g a n d v i s u a l q u a l i t y o f t h e m o d e l , a c h i e v e d b y i n c r e a s i n g t h e s i z e o f t h e t e x t e n c o d e r a n d D i f f u s i o n U - N e t m o d e l s , r e s p e c t i v e l y . * I t s a r c h i t e c t u r e i n c l u d e s 3 m a i n c o m p o n e n t s : 1 . [ F L A N - U L 2 ] ( h t t p s : / / h u g g i n g f a c e . c o / g o o g l e / f l a n - u l 2 ) , w h i c h i s a n e n c o d e r d e c o d e r m o d e l b a s e d o n t h e T 5 a r c h i t e c t u r e . 2 . N e w U - N e t a r c h i t e c t u r e f e a t u r i n g B i g G A N - d e e p b l o c k s d o u b l e s d e p t h w h i l e m a i n t a i n i n g t h e s a m e n u m b e r o f p a r a m e t e r s . 3 . S b e r - M o V Q G A N i s a d e c o d e r p r o v e n t o h a v e s u p e r i o r r e s u l t s i n i m a g e r e s t o r a t i o n . T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ a i - f o r e v e r / K a n d i n s k y - 3 ] ( h t t p s : / / g i t h u b . c o m / a i - f o r e v e r / K a n d i n s k y - 3 ) . < T i p > C h e c k o u t t h e [ K a n d i n s k y C o m m u n i t y ] ( h t t p s : / / h u g g i n g f a c e . c o / k a n d i n s k y - c o m m u n i t y ) o r g a n i z a t i o n o n t h e H u b f o r t h e o f f i c i a l m o d e l c h e c k p o i n t s f o r t a s k s l i k e t e x t - t o - i m a g e , i m a g e - t o - i m a g e , a n d i n p a i n t i n g . < / T i p > < T i p > M a k e s u r e t o c h e c k o u t t h e s c h e d u l e r s [ g u i d e ] ( . . / . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d s e e t h e [ r e u s e c o m p o n e n t s a c r o s s p i p e l i n e s ] ( . . / . . / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - c o m p o n e n t s - a c r o s s - p i p e l i n e s ) s e c t i o n t o l e a r n h o w t o e f f i c i e n t l y l o a d t h e s a m e c o m p o n e n t s i n t o m u l t i p l e p i p e l i n e s . < / T i p > # # K a n d i n s k y 3 P i p e l i n e # # K a n d i n s k y 3 I m g 2 I m g P i p e l i n e [ [ a u t o d o c ] ] K a n d i n s k y 3 P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] K a n d i n s k y 3 I m g 2 I m g P i p e l i n e - a l l - _ _ c a l l _ _ # K - D i f f u s i o n [ k - d i f f u s i o n ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / k - d i f f u s i o n ) i s a p o p u l a r l i b r a r y c r e a t e d b y [ K a t h e r i n e C r o w s o n ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / ) . W e p r o v i d e ` S t a b l e D i f f u s i o n K D i f f u s i o n P i p e l i n e ` a n d ` S t a b l e D i f f u s i o n X L K D i f f u s i o n P i p e l i n e ` t h a t a l l o w y o u t o r u n S t a b l e D I f f u s i o n w i t h s a m p l e r s f r o m k - d i f f u s i o n . N o t e t h a t m o s t t h e s a m p l e r s f r o m k - d i f f u s i o n a r e i m p l e m e n t e d i n D i f f u s e r s a n d w e r e c o m m e n d u s i n g e x i s t i n g s c h e d u l e r s . Y o u c a n f i n d a m a p p i n g b e t w e e n k - d i f f u s i o n s a m p l e r s a n d s c h e d u l e r s i n D i f f u s e r s [ h e r e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / a p i / s c h e d u l e r s / o v e r v i e w ) # # S t a b l e D i f f u s i o n K D i f f u s i o n P i p e l i n e # # S t a b l e D i f f u s i o n X L K D i f f u s i o n P i p e l i n e [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n K D i f f u s i o n P i p e l i n e [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n X L K D i f f u s i o n P i p e l i n e # G L I G E N ( G r o u n d e d L a n g u a g e - t o - I m a g e G e n e r a t i o n ) T h e G L I G E N m o d e l w a s c r e a t e d b y r e s e a r c h e r s a n d e n g i n e e r s f r o m [ U n i v e r s i t y o f W i s c o n s i n - M a d i s o n , C o l u m b i a U n i v e r s i t y , a n d M i c r o s o f t ] ( h t t p s : / / g i t h u b . c o m / g l i g e n / G L I G E N ) . T h e ` S t a b l e D i f f u s i o n G L I G E N P i p e l i n e ` a n d ` S t a b l e D i f f u s i o n G L I G E N T e x t I m a g e P i p e l i n e ` c a n g e n e r a t e p h o t o r e a l i s t i c i m a g e s c o n d i t i o n e d o n g r o u n d i n g i n p u t s . A l o n g w i t h t e x t a n d b o u n d i n g b o x e s w i t h ` S t a b l e D i f f u s i o n G L I G E N P i p e l i n e ` , i f i n p u t i m a g e s a r e g i v e n , ` S t a b l e D i f f u s i o n G L I G E N T e x t I m a g e P i p e l i n e ` c a n i n s e r t o b j e c t s d e s c r i b e d b y t e x t a t t h e r e g i o n d e f i n e d b y b o u n d i n g b o x e s . O t h e r w i s e , i t ' l l g e n e r a t e a n i m a g e d e s c r i b e d b y t h e c a p t i o n / p r o m p t a n d i n s e r t o b j e c t s d e s c r i b e d b y t e x t a t t h e r e g i o n d e f i n e d b y b o u n d i n g b o x e s . I t ' s t r a i n e d o n C O C O 2 0 1 4 D a n d C O C O 2 0 1 4 C D d a t a s e t s , a n d t h e m o d e l u s e s a f r o z e n C L I P V i T - L / 1 4 t e x t e n c o d e r t o c o n d i t i o n i t s e l f o n g r o u n d i n g i n p u t s . T h e a b s t r a c t f r o m t h e [ p a p e r ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 1 . 0 7 0 9 3 ) i s : * L a r g e - s c a l e t e x t - t o - i m a g e d i f f u s i o n m o d e l s h a v e m a d e a m a z i n g a d v a n c e s . H o w e v e r , t h e s t a t u s q u o i s t o u s e t e x t i n p u t a l o n e , w h i c h c a n i m p e d e c o n t r o l l a b i l i t y . I n t h i s w o r k , w e p r o p o s e G L I G E N , G r o u n d e d - L a n g u a g e - t o - I m a g e G e n e r a t i o n , a n o v e l a p p r o a c h t h a t b u i l d s u p o n a n d e x t e n d s t h e f u n c t i o n a l i t y o f e x i s t i n g p r e - t r a i n e d t e x t - t o - i m a g e d i f f u s i o n m o d e l s b y e n a b l i n g t h e m t o a l s o b e c o n d i t i o n e d o n g r o u n d i n g i n p u t s . T o p r e s e r v e t h e v a s t c o n c e p t k n o w l e d g e o f t h e p r e - t r a i n e d m o d e l , w e f r e e z e a l l o f i t s w e i g h t s a n d i n j e c t t h e g r o u n d i n g i n f o r m a t i o n i n t o n e w t r a i n a b l e l a y e r s v i a a g a t e d m e c h a n i s m . O u r m o d e l a c h i e v e s o p e n - w o r l d g r o u n d e d t e x t 2 i m g g e n e r a t i o n w i t h c a p t i o n a n d b o u n d i n g b o x c o n d i t i o n i n p u t s , a n d t h e g r o u n d i n g a b i l i t y g e n e r a l i z e s w e l l t o n o v e l s p a t i a l c o n f i g u r a t i o n s a n d c o n c e p t s . G L I G E N โ€™ s z e r o s h o t p e r f o r m a n c e o n C O C O a n d L V I S o u t p e r f o r m s e x i s t i n g s u p e r v i s e d l a y o u t - t o - i m a g e b a s e l i n e s b y a l a r g e m a r g i n . * < T i p > M a k e s u r e t o c h e c k o u t t h e S t a b l e D i f f u s i o n [ T i p s ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / o v e r v i e w # t i p s ) s e c t i o n t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y a n d h o w t o r e u s e p i p e l i n e c o m p o n e n t s e f f i c i e n t l y ! I f y o u w a n t t o u s e o n e o f t h e o f f i c i a l c h e c k p o i n t s f o r a t a s k , e x p l o r e t h e [ g l i g e n ] ( h t t p s : / / h u g g i n g f a c e . c o / g l i g e n ) H u b o r g a n i z a t i o n s ! < / T i p > ` S t a b l e D i f f u s i o n G L I G E N P i p e l i n e ` w a s c o n t r i b u t e d b y [ N i k h i l G a j e n d r a k u m a r ] ( h t t p s : / / g i t h u b . c o m / n i k h i l - m a s t e r f u l ) a n d ` S t a b l e D i f f u s i o n G L I G E N T e x t I m a g e P i p e l i n e ` w a s c o n t r i b u t e d b y [ N g u y แป… n C รด n g T รบ A n h ] ( h t t p s : / / g i t h u b . c o m / t u a n h 1 2 3 7 8 9 ) . # # S t a b l e D i f f u s i o n G L I G E N P i p e l i n e # # S t a b l e D i f f u s i o n G L I G E N T e x t I m a g e P i p e l i n e # # S t a b l e D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n G L I G E N P i p e l i n e - a l l - _ _ c a l l _ _ - e n a b l e _ v a e _ s l i c i n g - d i s a b l e _ v a e _ s l i c i n g - e n a b l e _ v a e _ t i l i n g - d i s a b l e _ v a e _ t i l i n g - e n a b l e _ m o d e l _ c p u _ o f f l o a d - p r e p a r e _ l a t e n t s - e n a b l e _ f u s e r [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n G L I G E N T e x t I m a g e P i p e l i n e - a l l - _ _ c a l l _ _ - e n a b l e _ v a e _ s l i c i n g - d i s a b l e _ v a e _ s l i c i n g - e n a b l e _ v a e _ t i l i n g - d i s a b l e _ v a e _ t i l i n g - e n a b l e _ m o d e l _ c p u _ o f f l o a d - p r e p a r e _ l a t e n t s - e n a b l e _ f u s e r [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # T 2 I - A d a p t e r [ T 2 I - A d a p t e r : L e a r n i n g A d a p t e r s t o D i g o u t M o r e C o n t r o l l a b l e A b i l i t y f o r T e x t - t o - I m a g e D i f f u s i o n M o d e l s ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 0 2 . 0 8 4 5 3 ) b y C h o n g M o u , X i n t a o W a n g , L i a n g b i n X i e , J i a n Z h a n g , Z h o n g a n g Q i , Y i n g S h a n , X i a o h u Q i e . U s i n g t h e p r e t r a i n e d m o d e l s w e c a n p r o v i d e c o n t r o l i m a g e s ( f o r e x a m p l e , a d e p t h m a p ) t o c o n t r o l S t a b l e D i f f u s i o n t e x t - t o - i m a g e g e n e r a t i o n s o t h a t i t f o l l o w s t h e s t r u c t u r e o f t h e d e p t h i m a g e a n d f i l l s i n t h e d e t a i l s . T h e a b s t r a c t o f t h e p a p e r i s t h e f o l l o w i n g : * T h e i n c r e d i b l e g e n e r a t i v e a b i l i t y o f l a r g e - s c a l e t e x t - t o - i m a g e ( T 2 I ) m o d e l s h a s d e m o n s t r a t e d s t r o n g p o w e r o f l e a r n i n g c o m p l e x s t r u c t u r e s a n d m e a n i n g f u l s e m a n t i c s . H o w e v e r , r e l y i n g s o l e l y o n t e x t p r o m p t s c a n n o t f u l l y t a k e a d v a n t a g e o f t h e k n o w l e d g e l e a r n e d b y t h e m o d e l , e s p e c i a l l y w h e n f l e x i b l e a n d a c c u r a t e c o n t r o l l i n g ( e . g . , c o l o r a n d s t r u c t u r e ) i s n e e d e d . I n t h i s p a p e r , w e a i m t o ` ` d i g o u t " t h e c a p a b i l i t i e s t h a t T 2 I m o d e l s h a v e i m p l i c i t l y l e a r n e d , a n d t h e n e x p l i c i t l y u s e t h e m t o c o n t r o l t h e g e n e r a t i o n m o r e g r a n u l a r l y . S p e c i f i c a l l y , w e p r o p o s e t o l e a r n s i m p l e a n d l i g h t w e i g h t T 2 I - A d a p t e r s t o a l i g n i n t e r n a l k n o w l e d g e i n T 2 I m o d e l s w i t h e x t e r n a l c o n t r o l s i g n a l s , w h i l e f r e e z i n g t h e o r i g i n a l l a r g e T 2 I m o d e l s . I n t h i s w a y , w e c a n t r a i n v a r i o u s a d a p t e r s a c c o r d i n g t o d i f f e r e n t c o n d i t i o n s , a c h i e v i n g r i c h c o n t r o l a n d e d i t i n g e f f e c t s i n t h e c o l o r a n d s t r u c t u r e o f t h e g e n e r a t i o n r e s u l t s . F u r t h e r , t h e p r o p o s e d T 2 I - A d a p t e r s h a v e a t t r a c t i v e p r o p e r t i e s o f p r a c t i c a l v a l u e , s u c h a s c o m p o s a b i l i t y a n d g e n e r a l i z a t i o n a b i l i t y . E x t e n s i v e e x p e r i m e n t s d e m o n s t r a t e t h a t o u r T 2 I - A d a p t e r h a s p r o m i s i n g g e n e r a t i o n q u a l i t y a n d a w i d e r a n g e o f a p p l i c a t i o n s . * T h i s m o d e l w a s c o n t r i b u t e d b y t h e c o m m u n i t y c o n t r i b u t o r [ H i m a r i O ] ( h t t p s : / / g i t h u b . c o m / H i m a r i O ) โค ๏ธ . # # S t a b l e D i f f u s i o n A d a p t e r P i p e l i n e # # S t a b l e D i f f u s i o n X L A d a p t e r P i p e l i n e [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n A d a p t e r P i p e l i n e - a l l - _ _ c a l l _ _ - e n a b l e _ a t t e n t i o n _ s l i c i n g - d i s a b l e _ a t t e n t i o n _ s l i c i n g - e n a b l e _ v a e _ s l i c i n g - d i s a b l e _ v a e _ s l i c i n g - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - d i s a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n X L A d a p t e r P i p e l i n e - a l l - _ _ c a l l _ _ - e n a b l e _ a t t e n t i o n _ s l i c i n g - d i s a b l e _ a t t e n t i o n _ s l i c i n g - e n a b l e _ v a e _ s l i c i n g - d i s a b l e _ v a e _ s l i c i n g - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - d i s a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n # S D X L T u r b o S t a b l e D i f f u s i o n X L ( S D X L ) T u r b o w a s p r o p o s e d i n [ A d v e r s a r i a l D i f f u s i o n D i s t i l l a t i o n ] ( h t t p s : / / s t a b i l i t y . a i / r e s e a r c h / a d v e r s a r i a l - d i f f u s i o n - d i s t i l l a t i o n ) b y A x e l S a u e r , D o m i n i k L o r e n z , A n d r e a s B l a t t m a n n , a n d R o b i n R o m b a c h . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e i n t r o d u c e A d v e r s a r i a l D i f f u s i o n D i s t i l l a t i o n ( A D D ) , a n o v e l t r a i n i n g a p p r o a c h t h a t e f f i c i e n t l y s a m p l e s l a r g e - s c a l e f o u n d a t i o n a l i m a g e d i f f u s i o n m o d e l s i n j u s t 1 โ€“ 4 s t e p s w h i l e m a i n t a i n i n g h i g h i m a g e q u a l i t y . W e u s e s c o r e d i s t i l l a t i o n t o l e v e r a g e l a r g e - s c a l e o f f - t h e - s h e l f i m a g e d i f f u s i o n m o d e l s a s a t e a c h e r s i g n a l i n c o m b i n a t i o n w i t h a n a d v e r s a r i a l l o s s t o e n s u r e h i g h i m a g e f i d e l i t y e v e n i n t h e l o w - s t e p r e g i m e o f o n e o r t w o s a m p l i n g s t e p s . O u r a n a l y s e s s h o w t h a t o u r m o d e l c l e a r l y o u t p e r f o r m s e x i s t i n g f e w - s t e p m e t h o d s ( G A N s , L a t e n t C o n s i s t e n c y M o d e l s ) i n a s i n g l e s t e p a n d r e a c h e s t h e p e r f o r m a n c e o f s t a t e - o f - t h e - a r t d i f f u s i o n m o d e l s ( S D X L ) i n o n l y f o u r s t e p s . A D D i s t h e f i r s t m e t h o d t o u n l o c k s i n g l e - s t e p , r e a l - t i m e i m a g e s y n t h e s i s w i t h f o u n d a t i o n m o d e l s . * # # T i p s - S D X L T u r b o u s e s t h e e x a c t s a m e a r c h i t e c t u r e a s [ S D X L ] ( . / s t a b l e _ d i f f u s i o n _ x l ) , w h i c h m e a n s i t a l s o h a s t h e s a m e A P I . P l e a s e r e f e r t o t h e [ S D X L ] ( . / s t a b l e _ d i f f u s i o n _ x l ) A P I r e f e r e n c e f o r m o r e d e t a i l s . - S D X L T u r b o s h o u l d d i s a b l e g u i d a n c e s c a l e b y s e t t i n g ` g u i d a n c e _ s c a l e = 0 . 0 ` . - S D X L T u r b o s h o u l d u s e ` t i m e s t e p _ s p a c i n g = ' t r a i l i n g ' ` f o r t h e s c h e d u l e r a n d u s e b e t w e e n 1 a n d 4 s t e p s . - S D X L T u r b o h a s b e e n t r a i n e d t o g e n e r a t e i m a g e s o f s i z e 5 1 2 x 5 1 2 . - S D X L T u r b o i s o p e n - a c c e s s , b u t n o t o p e n - s o u r c e m e a n i n g t h a t o n e m i g h t h a v e t o b u y a m o d e l l i c e n s e i n o r d e r t o u s e i t f o r c o m m e r c i a l a p p l i c a t i o n s . M a k e s u r e t o r e a d t h e [ o f f i c i a l m o d e l c a r d ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s d x l - t u r b o ) t o l e a r n m o r e . < T i p > T o l e a r n h o w t o u s e S D X L T u r b o f o r v a r i o u s t a s k s , h o w t o o p t i m i z e p e r f o r m a n c e , a n d o t h e r u s a g e e x a m p l e s , t a k e a l o o k a t t h e [ S D X L T u r b o ] ( . . / . . / . . / u s i n g - d i f f u s e r s / s d x l _ t u r b o ) g u i d e . C h e c k o u t t h e [ S t a b i l i t y A I ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i ) H u b o r g a n i z a t i o n f o r t h e o f f i c i a l b a s e a n d r e f i n e r m o d e l c h e c k p o i n t s ! < / T i p > # S u p e r - r e s o l u t i o n T h e S t a b l e D i f f u s i o n u p s c a l e r d i f f u s i o n m o d e l w a s c r e a t e d b y t h e r e s e a r c h e r s a n d e n g i n e e r s f r o m [ C o m p V i s ] ( h t t p s : / / g i t h u b . c o m / C o m p V i s ) , [ S t a b i l i t y A I ] ( h t t p s : / / s t a b i l i t y . a i / ) , a n d [ L A I O N ] ( h t t p s : / / l a i o n . a i / ) . I t i s u s e d t o e n h a n c e t h e r e s o l u t i o n o f i n p u t i m a g e s b y a f a c t o r o f 4 . < T i p > M a k e s u r e t o c h e c k o u t t h e S t a b l e D i f f u s i o n [ T i p s ] ( o v e r v i e w # t i p s ) s e c t i o n t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d h o w t o r e u s e p i p e l i n e c o m p o n e n t s e f f i c i e n t l y ! I f y o u ' r e i n t e r e s t e d i n u s i n g o n e o f t h e o f f i c i a l c h e c k p o i n t s f o r a t a s k , e x p l o r e t h e [ C o m p V i s ] ( h t t p s : / / h u g g i n g f a c e . c o / C o m p V i s ) , [ R u n w a y ] ( h t t p s : / / h u g g i n g f a c e . c o / r u n w a y m l ) , a n d [ S t a b i l i t y A I ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i ) H u b o r g a n i z a t i o n s ! < / T i p > # # S t a b l e D i f f u s i o n U p s c a l e P i p e l i n e # # S t a b l e D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n U p s c a l e P i p e l i n e - a l l - _ _ c a l l _ _ - e n a b l e _ a t t e n t i o n _ s l i c i n g - d i s a b l e _ a t t e n t i o n _ s l i c i n g - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - d i s a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # D e p t h - t o - i m a g e T h e S t a b l e D i f f u s i o n m o d e l c a n a l s o i n f e r d e p t h b a s e d o n a n i m a g e u s i n g [ M i D a S ] ( h t t p s : / / g i t h u b . c o m / i s l - o r g / M i D a S ) . T h i s a l l o w s y o u t o p a s s a t e x t p r o m p t a n d a n i n i t i a l i m a g e t o c o n d i t i o n t h e g e n e r a t i o n o f n e w i m a g e s a s w e l l a s a ` d e p t h _ m a p ` t o p r e s e r v e t h e i m a g e s t r u c t u r e . < T i p > M a k e s u r e t o c h e c k o u t t h e S t a b l e D i f f u s i o n [ T i p s ] ( o v e r v i e w # t i p s ) s e c t i o n t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d h o w t o r e u s e p i p e l i n e c o m p o n e n t s e f f i c i e n t l y ! I f y o u ' r e i n t e r e s t e d i n u s i n g o n e o f t h e o f f i c i a l c h e c k p o i n t s f o r a t a s k , e x p l o r e t h e [ C o m p V i s ] ( h t t p s : / / h u g g i n g f a c e . c o / C o m p V i s ) , [ R u n w a y ] ( h t t p s : / / h u g g i n g f a c e . c o / r u n w a y m l ) , a n d [ S t a b i l i t y A I ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i ) H u b o r g a n i z a t i o n s ! < / T i p > # # S t a b l e D i f f u s i o n D e p t h 2 I m g P i p e l i n e # # S t a b l e D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n D e p t h 2 I m g P i p e l i n e - a l l - _ _ c a l l _ _ - e n a b l e _ a t t e n t i o n _ s l i c i n g - d i s a b l e _ a t t e n t i o n _ s l i c i n g - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - d i s a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - l o a d _ t e x t u a l _ i n v e r s i o n - l o a d _ l o r a _ w e i g h t s - s a v e _ l o r a _ w e i g h t s [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # S a f e S t a b l e D i f f u s i o n S a f e S t a b l e D i f f u s i o n w a s p r o p o s e d i n [ S a f e L a t e n t D i f f u s i o n : M i t i g a t i n g I n a p p r o p r i a t e D e g e n e r a t i o n i n D i f f u s i o n M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 1 1 . 0 5 1 0 5 ) a n d m i t i g a t e s i n a p p r o p r i a t e d e g e n e r a t i o n f r o m S t a b l e D i f f u s i o n m o d e l s b e c a u s e t h e y ' r e t r a i n e d o n u n f i l t e r e d w e b - c r a w l e d d a t a s e t s . F o r i n s t a n c e S t a b l e D i f f u s i o n m a y u n e x p e c t e d l y g e n e r a t e n u d i t y , v i o l e n c e , i m a g e s d e p i c t i n g s e l f - h a r m , a n d o t h e r w i s e o f f e n s i v e c o n t e n t . S a f e S t a b l e D i f f u s i o n i s a n e x t e n s i o n o f S t a b l e D i f f u s i o n t h a t d r a s t i c a l l y r e d u c e s t h i s t y p e o f c o n t e n t . T h e a b s t r a c t f r o m t h e p a p e r i s : * T e x t - c o n d i t i o n e d i m a g e g e n e r a t i o n m o d e l s h a v e r e c e n t l y a c h i e v e d a s t o n i s h i n g r e s u l t s i n i m a g e q u a l i t y a n d t e x t a l i g n m e n t a n d a r e c o n s e q u e n t l y e m p l o y e d i n a f a s t - g r o w i n g n u m b e r o f a p p l i c a t i o n s . S i n c e t h e y a r e h i g h l y d a t a - d r i v e n , r e l y i n g o n b i l l i o n - s i z e d d a t a s e t s r a n d o m l y s c r a p e d f r o m t h e i n t e r n e t , t h e y a l s o s u f f e r , a s w e d e m o n s t r a t e , f r o m d e g e n e r a t e d a n d b i a s e d h u m a n b e h a v i o r . I n t u r n , t h e y m a y e v e n r e i n f o r c e s u c h b i a s e s . T o h e l p c o m b a t t h e s e u n d e s i r e d s i d e e f f e c t s , w e p r e s e n t s a f e l a t e n t d i f f u s i o n ( S L D ) . S p e c i f i c a l l y , t o m e a s u r e t h e i n a p p r o p r i a t e d e g e n e r a t i o n d u e t o u n f i l t e r e d a n d i m b a l a n c e d t r a i n i n g s e t s , w e e s t a b l i s h a n o v e l i m a g e g e n e r a t i o n t e s t b e d - i n a p p r o p r i a t e i m a g e p r o m p t s ( I 2 P ) - c o n t a i n i n g d e d i c a t e d , r e a l - w o r l d i m a g e - t o - t e x t p r o m p t s c o v e r i n g c o n c e p t s s u c h a s n u d i t y a n d v i o l e n c e . A s o u r e x h a u s t i v e e m p i r i c a l e v a l u a t i o n d e m o n s t r a t e s , t h e i n t r o d u c e d S L D r e m o v e s a n d s u p p r e s s e s i n a p p r o p r i a t e i m a g e p a r t s d u r i n g t h e d i f f u s i o n p r o c e s s , w i t h n o a d d i t i o n a l t r a i n i n g r e q u i r e d a n d n o a d v e r s e e f f e c t o n o v e r a l l i m a g e q u a l i t y o r t e x t a l i g n m e n t . * # # T i p s U s e t h e ` s a f e t y _ c o n c e p t ` p r o p e r t y o f ` S t a b l e D i f f u s i o n P i p e l i n e S a f e ` t o c h e c k a n d e d i t t h e c u r r e n t s a f e t y c o n c e p t : ` ` ` p y t h o n > > > f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e S a f e > > > p i p e l i n e = S t a b l e D i f f u s i o n P i p e l i n e S a f e . f r o m _ p r e t r a i n e d ( " A I M L - T U D A / s t a b l e - d i f f u s i o n - s a f e " ) > > > p i p e l i n e . s a f e t y _ c o n c e p t ' a n i m a g e s h o w i n g h a t e , h a r a s s m e n t , v i o l e n c e , s u f f e r i n g , h u m i l i a t i o n , h a r m , s u i c i d e , s e x u a l , n u d i t y , b o d i l y f l u i d s , b l o o d , o b s c e n e g e s t u r e s , i l l e g a l a c t i v i t y , d r u g u s e , t h e f t , v a n d a l i s m , w e a p o n s , c h i l d a b u s e , b r u t a l i t y , c r u e l t y ' ` ` ` F o r e a c h i m a g e g e n e r a t i o n t h e a c t i v e c o n c e p t i s a l s o c o n t a i n e d i n ` S t a b l e D i f f u s i o n S a f e P i p e l i n e O u t p u t ` . T h e r e a r e 4 c o n f i g u r a t i o n s ( ` S a f e t y C o n f i g . W E A K ` , ` S a f e t y C o n f i g . M E D I U M ` , ` S a f e t y C o n f i g . S T R O N G ` , a n d ` S a f e t y C o n f i g . M A X ` ) t h a t c a n b e a p p l i e d : ` ` ` p y t h o n > > > f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e S a f e > > > f r o m d i f f u s e r s . p i p e l i n e s . s t a b l e _ d i f f u s i o n _ s a f e i m p o r t S a f e t y C o n f i g > > > p i p e l i n e = S t a b l e D i f f u s i o n P i p e l i n e S a f e . f r o m _ p r e t r a i n e d ( " A I M L - T U D A / s t a b l e - d i f f u s i o n - s a f e " ) > > > p r o m p t = " t h e f o u r h o r s e w o m e n o f t h e a p o c a l y p s e , p a i n t i n g b y t o m o f f i n l a n d , g a s t o n b u s s i e r e , c r a i g m u l l i n s , j . c . l e y e n d e c k e r " > > > o u t = p i p e l i n e ( p r o m p t = p r o m p t , * * S a f e t y C o n f i g . M A X ) ` ` ` < T i p > M a k e s u r e t o c h e c k o u t t h e S t a b l e D i f f u s i o n [ T i p s ] ( o v e r v i e w # t i p s ) s e c t i o n t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d h o w t o r e u s e p i p e l i n e c o m p o n e n t s e f f i c i e n t l y ! < / T i p > # # S t a b l e D i f f u s i o n P i p e l i n e S a f e # # S t a b l e D i f f u s i o n S a f e P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n P i p e l i n e S a f e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n _ s a f e . S t a b l e D i f f u s i o n S a f e P i p e l i n e O u t p u t - a l l - _ _ c a l l _ _ # L a t e n t u p s c a l e r T h e S t a b l e D i f f u s i o n l a t e n t u p s c a l e r m o d e l w a s c r e a t e d b y [ K a t h e r i n e C r o w s o n ] ( h t t p s : / / g i t h u b . c o m / c r o w s o n k b / k - d i f f u s i o n ) i n c o l l a b o r a t i o n w i t h [ S t a b i l i t y A I ] ( h t t p s : / / s t a b i l i t y . a i / ) . I t i s u s e d t o e n h a n c e t h e o u t p u t i m a g e r e s o l u t i o n b y a f a c t o r o f 2 ( s e e t h i s d e m o [ n o t e b o o k ] ( h t t p s : / / c o l a b . r e s e a r c h . g o o g l e . c o m / d r i v e / 1 o 1 q Y J c F e y w z C I d k f K J y 7 c T p g Z T C M 2 E I 4 ) f o r a d e m o n s t r a t i o n o f t h e o r i g i n a l i m p l e m e n t a t i o n ) . < T i p > M a k e s u r e t o c h e c k o u t t h e S t a b l e D i f f u s i o n [ T i p s ] ( o v e r v i e w # t i p s ) s e c t i o n t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d h o w t o r e u s e p i p e l i n e c o m p o n e n t s e f f i c i e n t l y ! I f y o u ' r e i n t e r e s t e d i n u s i n g o n e o f t h e o f f i c i a l c h e c k p o i n t s f o r a t a s k , e x p l o r e t h e [ C o m p V i s ] ( h t t p s : / / h u g g i n g f a c e . c o / C o m p V i s ) , [ R u n w a y ] ( h t t p s : / / h u g g i n g f a c e . c o / r u n w a y m l ) , a n d [ S t a b i l i t y A I ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i ) H u b o r g a n i z a t i o n s ! < / T i p > # # S t a b l e D i f f u s i o n L a t e n t U p s c a l e P i p e l i n e # # S t a b l e D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n L a t e n t U p s c a l e P i p e l i n e - a l l - _ _ c a l l _ _ - e n a b l e _ s e q u e n t i a l _ c p u _ o f f l o a d - e n a b l e _ a t t e n t i o n _ s l i c i n g - d i s a b l e _ a t t e n t i o n _ s l i c i n g - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - d i s a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # T e x t - t o - i m a g e T h e S t a b l e D i f f u s i o n m o d e l w a s c r e a t e d b y r e s e a r c h e r s a n d e n g i n e e r s f r o m [ C o m p V i s ] ( h t t p s : / / g i t h u b . c o m / C o m p V i s ) , [ S t a b i l i t y A I ] ( h t t p s : / / s t a b i l i t y . a i / ) , [ R u n w a y ] ( h t t p s : / / g i t h u b . c o m / r u n w a y m l ) , a n d [ L A I O N ] ( h t t p s : / / l a i o n . a i / ) . T h e ` S t a b l e D i f f u s i o n P i p e l i n e ` i s c a p a b l e o f g e n e r a t i n g p h o t o r e a l i s t i c i m a g e s g i v e n a n y t e x t i n p u t . I t ' s t r a i n e d o n 5 1 2 x 5 1 2 i m a g e s f r o m a s u b s e t o f t h e L A I O N - 5 B d a t a s e t . T h i s m o d e l u s e s a f r o z e n C L I P V i T - L / 1 4 t e x t e n c o d e r t o c o n d i t i o n t h e m o d e l o n t e x t p r o m p t s . W i t h i t s 8 6 0 M U N e t a n d 1 2 3 M t e x t e n c o d e r , t h e m o d e l i s r e l a t i v e l y l i g h t w e i g h t a n d c a n r u n o n c o n s u m e r G P U s . L a t e n t d i f f u s i o n i s t h e r e s e a r c h o n t o p o f w h i c h S t a b l e D i f f u s i o n w a s b u i l t . I t w a s p r o p o s e d i n [ H i g h - R e s o l u t i o n I m a g e S y n t h e s i s w i t h L a t e n t D i f f u s i o n M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 1 1 2 . 1 0 7 5 2 ) b y R o b i n R o m b a c h , A n d r e a s B l a t t m a n n , D o m i n i k L o r e n z , P a t r i c k E s s e r , B j รถ r n O m m e r . T h e a b s t r a c t f r o m t h e p a p e r i s : * B y d e c o m p o s i n g t h e i m a g e f o r m a t i o n p r o c e s s i n t o a s e q u e n t i a l a p p l i c a t i o n o f d e n o i s i n g a u t o e n c o d e r s , d i f f u s i o n m o d e l s ( D M s ) a c h i e v e s t a t e - o f - t h e - a r t s y n t h e s i s r e s u l t s o n i m a g e d a t a a n d b e y o n d . A d d i t i o n a l l y , t h e i r f o r m u l a t i o n a l l o w s f o r a g u i d i n g m e c h a n i s m t o c o n t r o l t h e i m a g e g e n e r a t i o n p r o c e s s w i t h o u t r e t r a i n i n g . H o w e v e r , s i n c e t h e s e m o d e l s t y p i c a l l y o p e r a t e d i r e c t l y i n p i x e l s p a c e , o p t i m i z a t i o n o f p o w e r f u l D M s o f t e n c o n s u m e s h u n d r e d s o f G P U d a y s a n d i n f e r e n c e i s e x p e n s i v e d u e t o s e q u e n t i a l e v a l u a t i o n s . T o e n a b l e D M t r a i n i n g o n l i m i t e d c o m p u t a t i o n a l r e s o u r c e s w h i l e r e t a i n i n g t h e i r q u a l i t y a n d f l e x i b i l i t y , w e a p p l y t h e m i n t h e l a t e n t s p a c e o f p o w e r f u l p r e t r a i n e d a u t o e n c o d e r s . I n c o n t r a s t t o p r e v i o u s w o r k , t r a i n i n g d i f f u s i o n m o d e l s o n s u c h a r e p r e s e n t a t i o n a l l o w s f o r t h e f i r s t t i m e t o r e a c h a n e a r - o p t i m a l p o i n t b e t w e e n c o m p l e x i t y r e d u c t i o n a n d d e t a i l p r e s e r v a t i o n , g r e a t l y b o o s t i n g v i s u a l f i d e l i t y . B y i n t r o d u c i n g c r o s s - a t t e n t i o n l a y e r s i n t o t h e m o d e l a r c h i t e c t u r e , w e t u r n d i f f u s i o n m o d e l s i n t o p o w e r f u l a n d f l e x i b l e g e n e r a t o r s f o r g e n e r a l c o n d i t i o n i n g i n p u t s s u c h a s t e x t o r b o u n d i n g b o x e s a n d h i g h - r e s o l u t i o n s y n t h e s i s b e c o m e s p o s s i b l e i n a c o n v o l u t i o n a l m a n n e r . O u r l a t e n t d i f f u s i o n m o d e l s ( L D M s ) a c h i e v e a n e w s t a t e o f t h e a r t f o r i m a g e i n p a i n t i n g a n d h i g h l y c o m p e t i t i v e p e r f o r m a n c e o n v a r i o u s t a s k s , i n c l u d i n g u n c o n d i t i o n a l i m a g e g e n e r a t i o n , s e m a n t i c s c e n e s y n t h e s i s , a n d s u p e r - r e s o l u t i o n , w h i l e s i g n i f i c a n t l y r e d u c i n g c o m p u t a t i o n a l r e q u i r e m e n t s c o m p a r e d t o p i x e l - b a s e d D M s . C o d e i s a v a i l a b l e a t h t t p s : / / g i t h u b . c o m / C o m p V i s / l a t e n t - d i f f u s i o n . * < T i p > M a k e s u r e t o c h e c k o u t t h e S t a b l e D i f f u s i o n [ T i p s ] ( o v e r v i e w # t i p s ) s e c t i o n t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d h o w t o r e u s e p i p e l i n e c o m p o n e n t s e f f i c i e n t l y ! I f y o u ' r e i n t e r e s t e d i n u s i n g o n e o f t h e o f f i c i a l c h e c k p o i n t s f o r a t a s k , e x p l o r e t h e [ C o m p V i s ] ( h t t p s : / / h u g g i n g f a c e . c o / C o m p V i s ) , [ R u n w a y ] ( h t t p s : / / h u g g i n g f a c e . c o / r u n w a y m l ) , a n d [ S t a b i l i t y A I ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i ) H u b o r g a n i z a t i o n s ! < / T i p > # # S t a b l e D i f f u s i o n P i p e l i n e # # S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # # F l a x S t a b l e D i f f u s i o n P i p e l i n e # # F l a x S t a b l e D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n P i p e l i n e - a l l - _ _ c a l l _ _ - e n a b l e _ a t t e n t i o n _ s l i c i n g - d i s a b l e _ a t t e n t i o n _ s l i c i n g - e n a b l e _ v a e _ s l i c i n g - d i s a b l e _ v a e _ s l i c i n g - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - d i s a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - e n a b l e _ v a e _ t i l i n g - d i s a b l e _ v a e _ t i l i n g - l o a d _ t e x t u a l _ i n v e r s i o n - f r o m _ s i n g l e _ f i l e - l o a d _ l o r a _ w e i g h t s - s a v e _ l o r a _ w e i g h t s [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . S t a b l e D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] F l a x S t a b l e D i f f u s i o n P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . F l a x S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # I m a g e v a r i a t i o n T h e S t a b l e D i f f u s i o n m o d e l c a n a l s o g e n e r a t e v a r i a t i o n s f r o m a n i n p u t i m a g e . I t u s e s a f i n e - t u n e d v e r s i o n o f a S t a b l e D i f f u s i o n m o d e l b y [ J u s t i n P i n k n e y ] ( h t t p s : / / w w w . j u s t i n p i n k n e y . c o m / ) f r o m [ L a m b d a ] ( h t t p s : / / l a m b d a l a b s . c o m / ) . T h e o r i g i n a l c o d e b a s e c a n b e f o u n d a t [ L a m b d a L a b s M L / l a m b d a - d i f f u s e r s ] ( h t t p s : / / g i t h u b . c o m / L a m b d a L a b s M L / l a m b d a - d i f f u s e r s # s t a b l e - d i f f u s i o n - i m a g e - v a r i a t i o n s ) a n d a d d i t i o n a l o f f i c i a l c h e c k p o i n t s f o r i m a g e v a r i a t i o n c a n b e f o u n d a t [ l a m b d a l a b s / s d - i m a g e - v a r i a t i o n s - d i f f u s e r s ] ( h t t p s : / / h u g g i n g f a c e . c o / l a m b d a l a b s / s d - i m a g e - v a r i a t i o n s - d i f f u s e r s ) . < T i p > M a k e s u r e t o c h e c k o u t t h e S t a b l e D i f f u s i o n [ T i p s ] ( . / o v e r v i e w # t i p s ) s e c t i o n t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d h o w t o r e u s e p i p e l i n e c o m p o n e n t s e f f i c i e n t l y ! < / T i p > # # S t a b l e D i f f u s i o n I m a g e V a r i a t i o n P i p e l i n e # # S t a b l e D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n I m a g e V a r i a t i o n P i p e l i n e - a l l - _ _ c a l l _ _ - e n a b l e _ a t t e n t i o n _ s l i c i n g - d i s a b l e _ a t t e n t i o n _ s l i c i n g - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - d i s a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # S t a b l e V i d e o D i f f u s i o n S t a b l e V i d e o D i f f u s i o n w a s p r o p o s e d i n [ S t a b l e V i d e o D i f f u s i o n : S c a l i n g L a t e n t V i d e o D i f f u s i o n M o d e l s t o L a r g e D a t a s e t s ] ( h t t p s : / / h f . c o / p a p e r s / 2 3 1 1 . 1 5 1 2 7 ) b y A n d r e a s B l a t t m a n n , T i m D o c k h o r n , S u m i t h K u l a l , D a n i e l M e n d e l e v i t c h , M a c i e j K i l i a n , D o m i n i k L o r e n z , Y a m L e v i , Z i o n E n g l i s h , V i k r a m V o l e t i , A d a m L e t t s , V a r u n J a m p a n i , R o b i n R o m b a c h . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e p r e s e n t S t a b l e V i d e o D i f f u s i o n - a l a t e n t v i d e o d i f f u s i o n m o d e l f o r h i g h - r e s o l u t i o n , s t a t e - o f - t h e - a r t t e x t - t o - v i d e o a n d i m a g e - t o - v i d e o g e n e r a t i o n . R e c e n t l y , l a t e n t d i f f u s i o n m o d e l s t r a i n e d f o r 2 D i m a g e s y n t h e s i s h a v e b e e n t u r n e d i n t o g e n e r a t i v e v i d e o m o d e l s b y i n s e r t i n g t e m p o r a l l a y e r s a n d f i n e t u n i n g t h e m o n s m a l l , h i g h - q u a l i t y v i d e o d a t a s e t s . H o w e v e r , t r a i n i n g m e t h o d s i n t h e l i t e r a t u r e v a r y w i d e l y , a n d t h e f i e l d h a s y e t t o a g r e e o n a u n i f i e d s t r a t e g y f o r c u r a t i n g v i d e o d a t a . I n t h i s p a p e r , w e i d e n t i f y a n d e v a l u a t e t h r e e d i f f e r e n t s t a g e s f o r s u c c e s s f u l t r a i n i n g o f v i d e o L D M s : t e x t - t o - i m a g e p r e t r a i n i n g , v i d e o p r e t r a i n i n g , a n d h i g h - q u a l i t y v i d e o f i n e t u n i n g . F u r t h e r m o r e , w e d e m o n s t r a t e t h e n e c e s s i t y o f a w e l l - c u r a t e d p r e t r a i n i n g d a t a s e t f o r g e n e r a t i n g h i g h - q u a l i t y v i d e o s a n d p r e s e n t a s y s t e m a t i c c u r a t i o n p r o c e s s t o t r a i n a s t r o n g b a s e m o d e l , i n c l u d i n g c a p t i o n i n g a n d f i l t e r i n g s t r a t e g i e s . W e t h e n e x p l o r e t h e i m p a c t o f f i n e t u n i n g o u r b a s e m o d e l o n h i g h - q u a l i t y d a t a a n d t r a i n a t e x t - t o - v i d e o m o d e l t h a t i s c o m p e t i t i v e w i t h c l o s e d - s o u r c e v i d e o g e n e r a t i o n . W e a l s o s h o w t h a t o u r b a s e m o d e l p r o v i d e s a p o w e r f u l m o t i o n r e p r e s e n t a t i o n f o r d o w n s t r e a m t a s k s s u c h a s i m a g e - t o - v i d e o g e n e r a t i o n a n d a d a p t a b i l i t y t o c a m e r a m o t i o n - s p e c i f i c L o R A m o d u l e s . F i n a l l y , w e d e m o n s t r a t e t h a t o u r m o d e l p r o v i d e s a s t r o n g m u l t i - v i e w 3 D - p r i o r a n d c a n s e r v e a s a b a s e t o f i n e t u n e a m u l t i - v i e w d i f f u s i o n m o d e l t h a t j o i n t l y g e n e r a t e s m u l t i p l e v i e w s o f o b j e c t s i n a f e e d f o r w a r d f a s h i o n , o u t p e r f o r m i n g i m a g e - b a s e d m e t h o d s a t a f r a c t i o n o f t h e i r c o m p u t e b u d g e t . W e r e l e a s e c o d e a n d m o d e l w e i g h t s a t t h i s h t t p s U R L . * < T i p > T o l e a r n h o w t o u s e S t a b l e V i d e o D i f f u s i o n , t a k e a l o o k a t t h e [ S t a b l e V i d e o D i f f u s i o n ] ( . . / . . / . . / u s i n g - d i f f u s e r s / s v d ) g u i d e . < b r > C h e c k o u t t h e [ S t a b i l i t y A I ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i ) H u b o r g a n i z a t i o n f o r t h e [ b a s e ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - v i d e o - d i f f u s i o n - i m g 2 v i d ) a n d [ e x t e n d e d f r a m e ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - v i d e o - d i f f u s i o n - i m g 2 v i d - x t ) c h e c k p o i n t s ! < / T i p > # # T i p s V i d e o g e n e r a t i o n i s m e m o r y - i n t e n s i v e a n d o n e w a y t o r e d u c e y o u r m e m o r y u s a g e i s t o s e t ` e n a b l e _ f o r w a r d _ c h u n k i n g ` o n t h e p i p e l i n e ' s U N e t s o y o u d o n ' t r u n t h e e n t i r e f e e d f o r w a r d l a y e r a t o n c e . B r e a k i n g i t u p i n t o c h u n k s i n a l o o p i s m o r e e f f i c i e n t . C h e c k o u t t h e [ T e x t o r i m a g e - t o - v i d e o ] ( t e x t - i m g 2 v i d ) g u i d e f o r m o r e d e t a i l s a b o u t h o w c e r t a i n p a r a m e t e r s c a n a f f e c t v i d e o g e n e r a t i o n a n d h o w t o o p t i m i z e i n f e r e n c e b y r e d u c i n g m e m o r y u s a g e . # # S t a b l e V i d e o D i f f u s i o n P i p e l i n e # # S t a b l e V i d e o D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S t a b l e V i d e o D i f f u s i o n P i p e l i n e [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ v i d e o _ d i f f u s i o n . S t a b l e V i d e o D i f f u s i o n P i p e l i n e O u t p u t # S t a b l e D i f f u s i o n 2 S t a b l e D i f f u s i o n 2 i s a t e x t - t o - i m a g e _ l a t e n t d i f f u s i o n _ m o d e l b u i l t u p o n t h e w o r k o f t h e o r i g i n a l [ S t a b l e D i f f u s i o n ] ( h t t p s : / / s t a b i l i t y . a i / b l o g / s t a b l e - d i f f u s i o n - p u b l i c - r e l e a s e ) , a n d i t w a s l e d b y R o b i n R o m b a c h a n d K a t h e r i n e C r o w s o n f r o m [ S t a b i l i t y A I ] ( h t t p s : / / s t a b i l i t y . a i / ) a n d [ L A I O N ] ( h t t p s : / / l a i o n . a i / ) . * T h e S t a b l e D i f f u s i o n 2 . 0 r e l e a s e i n c l u d e s r o b u s t t e x t - t o - i m a g e m o d e l s t r a i n e d u s i n g a b r a n d n e w t e x t e n c o d e r ( O p e n C L I P ) , d e v e l o p e d b y L A I O N w i t h s u p p o r t f r o m S t a b i l i t y A I , w h i c h g r e a t l y i m p r o v e s t h e q u a l i t y o f t h e g e n e r a t e d i m a g e s c o m p a r e d t o e a r l i e r V 1 r e l e a s e s . T h e t e x t - t o - i m a g e m o d e l s i n t h i s r e l e a s e c a n g e n e r a t e i m a g e s w i t h d e f a u l t r e s o l u t i o n s o f b o t h 5 1 2 x 5 1 2 p i x e l s a n d 7 6 8 x 7 6 8 p i x e l s . T h e s e m o d e l s a r e t r a i n e d o n a n a e s t h e t i c s u b s e t o f t h e [ L A I O N - 5 B d a t a s e t ] ( h t t p s : / / l a i o n . a i / b l o g / l a i o n - 5 b / ) c r e a t e d b y t h e D e e p F l o y d t e a m a t S t a b i l i t y A I , w h i c h i s t h e n f u r t h e r f i l t e r e d t o r e m o v e a d u l t c o n t e n t u s i n g [ L A I O N โ€™ s N S F W f i l t e r ] ( h t t p s : / / o p e n r e v i e w . n e t / f o r u m ? i d = M 3 Y 7 4 v m s M c Y ) . * F o r m o r e d e t a i l s a b o u t h o w S t a b l e D i f f u s i o n 2 w o r k s a n d h o w i t d i f f e r s f r o m t h e o r i g i n a l S t a b l e D i f f u s i o n , p l e a s e r e f e r t o t h e o f f i c i a l [ a n n o u n c e m e n t p o s t ] ( h t t p s : / / s t a b i l i t y . a i / b l o g / s t a b l e - d i f f u s i o n - v 2 - r e l e a s e ) . T h e a r c h i t e c t u r e o f S t a b l e D i f f u s i o n 2 i s m o r e o r l e s s i d e n t i c a l t o t h e o r i g i n a l [ S t a b l e D i f f u s i o n m o d e l ] ( . / t e x t 2 i m g ) s o c h e c k o u t i t ' s A P I d o c u m e n t a t i o n f o r h o w t o u s e S t a b l e D i f f u s i o n 2 . W e r e c o m m e n d u s i n g t h e [ D P M S o l v e r M u l t i s t e p S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / m u l t i s t e p _ d p m _ s o l v e r # d i f f u s e r s . D P M S o l v e r M u l t i s t e p S c h e d u l e r ) a s i t g i v e s a r e a s o n a b l e s p e e d / q u a l i t y t r a d e - o f f a n d c a n b e r u n w i t h a s l i t t l e a s 2 0 s t e p s . S t a b l e D i f f u s i o n 2 i s a v a i l a b l e f o r t a s k s l i k e t e x t - t o - i m a g e , i n p a i n t i n g , s u p e r - r e s o l u t i o n , a n d d e p t h - t o - i m a g e : | T a s k | R e p o s i t o r y | | - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | t e x t - t o - i m a g e ( 5 1 2 x 5 1 2 ) | [ s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - b a s e ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - b a s e ) | | t e x t - t o - i m a g e ( 7 6 8 x 7 6 8 ) | [ s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 ) | | i n p a i n t i n g | [ s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - i n p a i n t i n g ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - i n p a i n t i n g ) | | s u p e r - r e s o l u t i o n | [ s t a b l e - d i f f u s i o n - x 4 - u p s c a l e r ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x 4 - u p s c a l e r ) | | d e p t h - t o - i m a g e | [ s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - d e p t h ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - d e p t h ) | H e r e a r e s o m e e x a m p l e s f o r h o w t o u s e S t a b l e D i f f u s i o n 2 f o r e a c h t a s k : < T i p > M a k e s u r e t o c h e c k o u t t h e S t a b l e D i f f u s i o n [ T i p s ] ( o v e r v i e w # t i p s ) s e c t i o n t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d h o w t o r e u s e p i p e l i n e c o m p o n e n t s e f f i c i e n t l y ! I f y o u ' r e i n t e r e s t e d i n u s i n g o n e o f t h e o f f i c i a l c h e c k p o i n t s f o r a t a s k , e x p l o r e t h e [ C o m p V i s ] ( h t t p s : / / h u g g i n g f a c e . c o / C o m p V i s ) , [ R u n w a y ] ( h t t p s : / / h u g g i n g f a c e . c o / r u n w a y m l ) , a n d [ S t a b i l i t y A I ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i ) H u b o r g a n i z a t i o n s ! < / T i p > # # T e x t - t o - i m a g e ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e , D P M S o l v e r M u l t i s t e p S c h e d u l e r i m p o r t t o r c h r e p o _ i d = " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - b a s e " p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( r e p o _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e . s c h e d u l e r = D P M S o l v e r M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e = p i p e . t o ( " c u d a " ) p r o m p t = " H i g h q u a l i t y p h o t o o f a n a s t r o n a u t r i d i n g a h o r s e i n s p a c e " i m a g e = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 2 5 ) . i m a g e s [ 0 ] i m a g e ` ` ` # # I n p a i n t i n g ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e , D P M S o l v e r M u l t i s t e p S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d i m g _ u r l = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / C o m p V i s / l a t e n t - d i f f u s i o n / m a i n / d a t a / i n p a i n t i n g _ e x a m p l e s / o v e r t u r e - c r e a t i o n s - 5 s I 6 f Q g Y I u o . p n g " m a s k _ u r l = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / C o m p V i s / l a t e n t - d i f f u s i o n / m a i n / d a t a / i n p a i n t i n g _ e x a m p l e s / o v e r t u r e - c r e a t i o n s - 5 s I 6 f Q g Y I u o _ m a s k . p n g " i n i t _ i m a g e = l o a d _ i m a g e ( i m g _ u r l ) . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) m a s k _ i m a g e = l o a d _ i m a g e ( m a s k _ u r l ) . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) r e p o _ i d = " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - i n p a i n t i n g " p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( r e p o _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e . s c h e d u l e r = D P M S o l v e r M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e = p i p e . t o ( " c u d a " ) p r o m p t = " F a c e o f a y e l l o w c a t , h i g h r e s o l u t i o n , s i t t i n g o n a p a r k b e n c h " i m a g e = p i p e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e , n u m _ i n f e r e n c e _ s t e p s = 2 5 ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` # # S u p e r - r e s o l u t i o n ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n U p s c a l e P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d i m p o r t t o r c h # l o a d m o d e l a n d s c h e d u l e r m o d e l _ i d = " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x 4 - u p s c a l e r " p i p e l i n e = S t a b l e D i f f u s i o n U p s c a l e P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e = p i p e l i n e . t o ( " c u d a " ) # l e t ' s d o w n l o a d a n i m a g e u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / s d 2 - u p s c a l e / l o w _ r e s _ c a t . p n g " l o w _ r e s _ i m g = l o a d _ i m a g e ( u r l ) l o w _ r e s _ i m g = l o w _ r e s _ i m g . r e s i z e ( ( 1 2 8 , 1 2 8 ) ) p r o m p t = " a w h i t e c a t " u p s c a l e d _ i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , i m a g e = l o w _ r e s _ i m g ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ l o w _ r e s _ i m g . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) , u p s c a l e d _ i m a g e . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) ] , r o w s = 1 , c o l s = 2 ) ` ` ` # # D e p t h - t o - i m a g e ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n D e p t h 2 I m g P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d p i p e = S t a b l e D i f f u s i o n D e p t h 2 I m g P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - d e p t h " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , ) . t o ( " c u d a " ) u r l = " h t t p : / / i m a g e s . c o c o d a t a s e t . o r g / v a l 2 0 1 7 / 0 0 0 0 0 0 0 3 9 7 6 9 . j p g " i n i t _ i m a g e = l o a d _ i m a g e ( u r l ) p r o m p t = " t w o t i g e r s " n e g a t i v e _ p r o m p t = " b a d , d e f o r m e d , u g l y , b a d a n o t o m y " i m a g e = p i p e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , s t r e n g t h = 0 . 7 ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` # S t a b l e D i f f u s i o n p i p e l i n e s S t a b l e D i f f u s i o n i s a t e x t - t o - i m a g e l a t e n t d i f f u s i o n m o d e l c r e a t e d b y t h e r e s e a r c h e r s a n d e n g i n e e r s f r o m [ C o m p V i s ] ( h t t p s : / / g i t h u b . c o m / C o m p V i s ) , [ S t a b i l i t y A I ] ( h t t p s : / / s t a b i l i t y . a i / ) a n d [ L A I O N ] ( h t t p s : / / l a i o n . a i / ) . L a t e n t d i f f u s i o n a p p l i e s t h e d i f f u s i o n p r o c e s s o v e r a l o w e r d i m e n s i o n a l l a t e n t s p a c e t o r e d u c e m e m o r y a n d c o m p u t e c o m p l e x i t y . T h i s s p e c i f i c t y p e o f d i f f u s i o n m o d e l w a s p r o p o s e d i n [ H i g h - R e s o l u t i o n I m a g e S y n t h e s i s w i t h L a t e n t D i f f u s i o n M o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 1 1 2 . 1 0 7 5 2 ) b y R o b i n R o m b a c h , A n d r e a s B l a t t m a n n , D o m i n i k L o r e n z , P a t r i c k E s s e r , B j รถ r n O m m e r . S t a b l e D i f f u s i o n i s t r a i n e d o n 5 1 2 x 5 1 2 i m a g e s f r o m a s u b s e t o f t h e L A I O N - 5 B d a t a s e t . T h i s m o d e l u s e s a f r o z e n C L I P V i T - L / 1 4 t e x t e n c o d e r t o c o n d i t i o n t h e m o d e l o n t e x t p r o m p t s . W i t h i t s 8 6 0 M U N e t a n d 1 2 3 M t e x t e n c o d e r , t h e m o d e l i s r e l a t i v e l y l i g h t w e i g h t a n d c a n r u n o n c o n s u m e r G P U s . F o r m o r e d e t a i l s a b o u t h o w S t a b l e D i f f u s i o n w o r k s a n d h o w i t d i f f e r s f r o m t h e b a s e l a t e n t d i f f u s i o n m o d e l , t a k e a l o o k a t t h e S t a b i l i t y A I [ a n n o u n c e m e n t ] ( h t t p s : / / s t a b i l i t y . a i / b l o g / s t a b l e - d i f f u s i o n - a n n o u n c e m e n t ) a n d o u r o w n [ b l o g p o s t ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / s t a b l e _ d i f f u s i o n # h o w - d o e s - s t a b l e - d i f f u s i o n - w o r k ) f o r m o r e t e c h n i c a l d e t a i l s . Y o u c a n f i n d t h e o r i g i n a l c o d e b a s e f o r S t a b l e D i f f u s i o n v 1 . 0 a t [ C o m p V i s / s t a b l e - d i f f u s i o n ] ( h t t p s : / / g i t h u b . c o m / C o m p V i s / s t a b l e - d i f f u s i o n ) a n d S t a b l e D i f f u s i o n v 2 . 0 a t [ S t a b i l i t y - A I / s t a b l e d i f f u s i o n ] ( h t t p s : / / g i t h u b . c o m / S t a b i l i t y - A I / s t a b l e d i f f u s i o n ) a s w e l l a s t h e i r o r i g i n a l s c r i p t s f o r v a r i o u s t a s k s . A d d i t i o n a l o f f i c i a l c h e c k p o i n t s f o r t h e d i f f e r e n t S t a b l e D i f f u s i o n v e r s i o n s a n d t a s k s c a n b e f o u n d o n t h e [ C o m p V i s ] ( h t t p s : / / h u g g i n g f a c e . c o / C o m p V i s ) , [ R u n w a y ] ( h t t p s : / / h u g g i n g f a c e . c o / r u n w a y m l ) , a n d [ S t a b i l i t y A I ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i ) H u b o r g a n i z a t i o n s . E x p l o r e t h e s e o r g a n i z a t i o n s t o f i n d t h e b e s t c h e c k p o i n t f o r y o u r u s e - c a s e ! T h e t a b l e b e l o w s u m m a r i z e s t h e a v a i l a b l e S t a b l e D i f f u s i o n p i p e l i n e s , t h e i r s u p p o r t e d t a s k s , a n d a n i n t e r a c t i v e d e m o : < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < d i v c l a s s = " r o u n d e d - x l b o r d e r b o r d e r - g r a y - 2 0 0 " > < t a b l e c l a s s = " m i n - w - f u l l d i v i d e - y - 2 d i v i d e - g r a y - 2 0 0 b g - w h i t e t e x t - s m " > < t h e a d > < t r > < t h c l a s s = " p x - 4 p y - 2 f o n t - m e d i u m t e x t - g r a y - 9 0 0 t e x t - l e f t " > P i p e l i n e < / t h > < t h c l a s s = " p x - 4 p y - 2 f o n t - m e d i u m t e x t - g r a y - 9 0 0 t e x t - l e f t " > S u p p o r t e d t a s k s < / t h > < t h c l a s s = " p x - 4 p y - 2 f o n t - m e d i u m t e x t - g r a y - 9 0 0 t e x t - l e f t " > ๐Ÿค— S p a c e < / t h > < / t r > < / t h e a d > < t b o d y c l a s s = " d i v i d e - y d i v i d e - g r a y - 2 0 0 " > < t r > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > < a h r e f = " . / t e x t 2 i m g " > S t a b l e D i f f u s i o n < / a > < / t d > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > t e x t - t o - i m a g e < / t d > < t d c l a s s = " p x - 4 p y - 2 " > < a h r e f = " h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / s t a b i l i t y a i / s t a b l e - d i f f u s i o n " > < i m g s r c = " h t t p s : / / i m g . s h i e l d s . i o / b a d g e / % F 0 % 9 F % A 4 % 9 7 % 2 0 H u g g i n g % 2 0 F a c e - S p a c e s - b l u e " / > < / a > < / t d > < / t r > < t r > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > < a h r e f = " . / i m g 2 i m g " > S t a b l e D i f f u s i o n I m g 2 I m g < / a > < / t d > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > i m a g e - t o - i m a g e < / t d > < t d c l a s s = " p x - 4 p y - 2 " > < a h r e f = " h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / h u g g i n g f a c e / d i f f u s e - t h e - r e s t " > < i m g s r c = " h t t p s : / / i m g . s h i e l d s . i o / b a d g e / % F 0 % 9 F % A 4 % 9 7 % 2 0 H u g g i n g % 2 0 F a c e - S p a c e s - b l u e " / > < / a > < / t d > < / t r > < t r > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > < a h r e f = " . / i n p a i n t " > S t a b l e D i f f u s i o n I n p a i n t < / a > < / t d > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > i n p a i n t i n g < / t d > < t d c l a s s = " p x - 4 p y - 2 " > < a h r e f = " h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g " > < i m g s r c = " h t t p s : / / i m g . s h i e l d s . i o / b a d g e / % F 0 % 9 F % A 4 % 9 7 % 2 0 H u g g i n g % 2 0 F a c e - S p a c e s - b l u e " / > < / a > < / t d > < / t r > < t r > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > < a h r e f = " . / d e p t h 2 i m g " > S t a b l e D i f f u s i o n D e p t h 2 I m g < / a > < / t d > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > d e p t h - t o - i m a g e < / t d > < t d c l a s s = " p x - 4 p y - 2 " > < a h r e f = " h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / r a d a m e s / s t a b l e - d i f f u s i o n - d e p t h 2 i m g " > < i m g s r c = " h t t p s : / / i m g . s h i e l d s . i o / b a d g e / % F 0 % 9 F % A 4 % 9 7 % 2 0 H u g g i n g % 2 0 F a c e - S p a c e s - b l u e " / > < / a > < / t d > < / t r > < t r > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > < a h r e f = " . / i m a g e _ v a r i a t i o n " > S t a b l e D i f f u s i o n I m a g e V a r i a t i o n < / a > < / t d > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > i m a g e v a r i a t i o n < / t d > < t d c l a s s = " p x - 4 p y - 2 " > < a h r e f = " h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / l a m b d a l a b s / s t a b l e - d i f f u s i o n - i m a g e - v a r i a t i o n s " > < i m g s r c = " h t t p s : / / i m g . s h i e l d s . i o / b a d g e / % F 0 % 9 F % A 4 % 9 7 % 2 0 H u g g i n g % 2 0 F a c e - S p a c e s - b l u e " / > < / a > < / t d > < / t r > < t r > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > < a h r e f = " . / s t a b l e _ d i f f u s i o n _ s a f e " > S t a b l e D i f f u s i o n P i p e l i n e S a f e < / a > < / t d > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > f i l t e r e d t e x t - t o - i m a g e < / t d > < t d c l a s s = " p x - 4 p y - 2 " > < a h r e f = " h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / A I M L - T U D A / u n s a f e - v s - s a f e - s t a b l e - d i f f u s i o n " > < i m g s r c = " h t t p s : / / i m g . s h i e l d s . i o / b a d g e / % F 0 % 9 F % A 4 % 9 7 % 2 0 H u g g i n g % 2 0 F a c e - S p a c e s - b l u e " / > < / a > < / t d > < / t r > < t r > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > < a h r e f = " . / s t a b l e _ d i f f u s i o n _ 2 " > S t a b l e D i f f u s i o n 2 < / a > < / t d > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > t e x t - t o - i m a g e , i n p a i n t i n g , d e p t h - t o - i m a g e , s u p e r - r e s o l u t i o n < / t d > < t d c l a s s = " p x - 4 p y - 2 " > < a h r e f = " h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / s t a b i l i t y a i / s t a b l e - d i f f u s i o n " > < i m g s r c = " h t t p s : / / i m g . s h i e l d s . i o / b a d g e / % F 0 % 9 F % A 4 % 9 7 % 2 0 H u g g i n g % 2 0 F a c e - S p a c e s - b l u e " / > < / a > < / t d > < / t r > < t r > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > < a h r e f = " . / s t a b l e _ d i f f u s i o n _ x l " > S t a b l e D i f f u s i o n X L < / a > < / t d > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > t e x t - t o - i m a g e , i m a g e - t o - i m a g e < / t d > < t d c l a s s = " p x - 4 p y - 2 " > < a h r e f = " h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / R a m A n a n t h 1 / s t a b l e - d i f f u s i o n - x l " > < i m g s r c = " h t t p s : / / i m g . s h i e l d s . i o / b a d g e / % F 0 % 9 F % A 4 % 9 7 % 2 0 H u g g i n g % 2 0 F a c e - S p a c e s - b l u e " / > < / a > < / t d > < / t r > < t r > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > < a h r e f = " . / l a t e n t _ u p s c a l e " > S t a b l e D i f f u s i o n L a t e n t U p s c a l e < / a > < / t d > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > s u p e r - r e s o l u t i o n < / t d > < t d c l a s s = " p x - 4 p y - 2 " > < a h r e f = " h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / h u g g i n g f a c e - p r o j e c t s / s t a b l e - d i f f u s i o n - l a t e n t - u p s c a l e r " > < i m g s r c = " h t t p s : / / i m g . s h i e l d s . i o / b a d g e / % F 0 % 9 F % A 4 % 9 7 % 2 0 H u g g i n g % 2 0 F a c e - S p a c e s - b l u e " / > < / a > < / t d > < / t r > < t r > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > < a h r e f = " . / u p s c a l e " > S t a b l e D i f f u s i o n U p s c a l e < / a > < / t d > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > s u p e r - r e s o l u t i o n < / t d > < / t r > < t r > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > < a h r e f = " . / l d m 3 d _ d i f f u s i o n " > S t a b l e D i f f u s i o n L D M 3 D < / a > < / t d > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > t e x t - t o - r g b , t e x t - t o - d e p t h , t e x t - t o - p a n o < / t d > < t d c l a s s = " p x - 4 p y - 2 " > < a h r e f = " h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / r 2 3 / l d m 3 d - s p a c e " > < i m g s r c = " h t t p s : / / i m g . s h i e l d s . i o / b a d g e / % F 0 % 9 F % A 4 % 9 7 % 2 0 H u g g i n g % 2 0 F a c e - S p a c e s - b l u e " / > < / a > < / t d > < / t r > < t r > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > < a h r e f = " . / l d m 3 d _ d i f f u s i o n " > S t a b l e D i f f u s i o n U p s c a l e L D M 3 D < / a > < / t d > < t d c l a s s = " p x - 4 p y - 2 t e x t - g r a y - 7 0 0 " > l d m 3 d s u p e r - r e s o l u t i o n < / t d > < / t r > < / t b o d y > < / t a b l e > < / d i v > < / d i v > # # T i p s T o h e l p y o u g e t t h e m o s t o u t o f t h e S t a b l e D i f f u s i o n p i p e l i n e s , h e r e a r e a f e w t i p s f o r i m p r o v i n g p e r f o r m a n c e a n d u s a b i l i t y . T h e s e t i p s a r e a p p l i c a b l e t o a l l S t a b l e D i f f u s i o n p i p e l i n e s . # # # E x p l o r e t r a d e o f f b e t w e e n s p e e d a n d q u a l i t y [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) u s e s t h e [ P N D M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / p n d m # d i f f u s e r s . P N D M S c h e d u l e r ) b y d e f a u l t , b u t ๐Ÿค— D i f f u s e r s p r o v i d e s m a n y o t h e r s c h e d u l e r s ( s o m e o f w h i c h a r e f a s t e r o r o u t p u t b e t t e r q u a l i t y ) t h a t a r e c o m p a t i b l e . F o r e x a m p l e , i f y o u w a n t t o u s e t h e [ E u l e r D i s c r e t e S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / e u l e r # d i f f u s e r s . E u l e r D i s c r e t e S c h e d u l e r ) i n s t e a d o f t h e d e f a u l t : ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e , E u l e r D i s c r e t e S c h e d u l e r p i p e l i n e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 " ) p i p e l i n e . s c h e d u l e r = E u l e r D i s c r e t e S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g ) # o r e u l e r _ s c h e d u l e r = E u l e r D i s c r e t e S c h e d u l e r . f r o m _ p r e t r a i n e d ( " C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 " , s u b f o l d e r = " s c h e d u l e r " ) p i p e l i n e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 " , s c h e d u l e r = e u l e r _ s c h e d u l e r ) ` ` ` # # # R e u s e p i p e l i n e c o m p o n e n t s t o s a v e m e m o r y T o s a v e m e m o r y a n d u s e t h e s a m e c o m p o n e n t s a c r o s s m u l t i p l e p i p e l i n e s , u s e t h e ` . c o m p o n e n t s ` m e t h o d t o a v o i d l o a d i n g w e i g h t s i n t o R A M m o r e t h a n o n c e . ` ` ` p y f r o m d i f f u s e r s i m p o r t ( S t a b l e D i f f u s i o n P i p e l i n e , S t a b l e D i f f u s i o n I m g 2 I m g P i p e l i n e , S t a b l e D i f f u s i o n I n p a i n t P i p e l i n e , ) t e x t 2 i m g = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 " ) i m g 2 i m g = S t a b l e D i f f u s i o n I m g 2 I m g P i p e l i n e ( * * t e x t 2 i m g . c o m p o n e n t s ) i n p a i n t = S t a b l e D i f f u s i o n I n p a i n t P i p e l i n e ( * * t e x t 2 i m g . c o m p o n e n t s ) # n o w y o u c a n u s e t e x t 2 i m g ( . . . ) , i m g 2 i m g ( . . . ) , i n p a i n t ( . . . ) j u s t l i k e t h e c a l l m e t h o d s o f e a c h r e s p e c t i v e p i p e l i n e ` ` ` # # # C r e a t e w e b d e m o s u s i n g ` g r a d i o ` T h e S t a b l e D i f f u s i o n p i p e l i n e s a r e a u t o m a t i c a l l y s u p p o r t e d i n [ G r a d i o ] ( h t t p s : / / g i t h u b . c o m / g r a d i o - a p p / g r a d i o / ) , a l i b r a r y t h a t m a k e s c r e a t i n g b e a u t i f u l a n d u s e r - f r i e n d l y m a c h i n e l e a r n i n g a p p s o n t h e w e b a b r e e z e . F i r s t , m a k e s u r e y o u h a v e G r a d i o i n s t a l l e d : ` ` ` s h p i p i n s t a l l - U g r a d i o ` ` ` T h e n , c r e a t e a w e b d e m o a r o u n d a n y S t a b l e D i f f u s i o n - b a s e d p i p e l i n e . F o r e x a m p l e , y o u c a n c r e a t e a n i m a g e g e n e r a t i o n p i p e l i n e i n a s i n g l e l i n e o f c o d e w i t h G r a d i o ' s [ ` I n t e r f a c e . f r o m _ p i p e l i n e ` ] ( h t t p s : / / w w w . g r a d i o . a p p / d o c s / i n t e r f a c e # i n t e r f a c e - f r o m - p i p e l i n e ) f u n c t i o n : ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e i m p o r t g r a d i o a s g r p i p e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 " ) g r . I n t e r f a c e . f r o m _ p i p e l i n e ( p i p e ) . l a u n c h ( ) ` ` ` w h i c h o p e n s a n i n t u i t i v e d r a g - a n d - d r o p i n t e r f a c e i n y o u r b r o w s e r : ! [ ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / g r a d i o - p a n d a . p n g ) S i m i l a r l y , y o u c o u l d c r e a t e a d e m o f o r a n i m a g e - t o - i m a g e p i p e l i n e w i t h : ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n I m g 2 I m g P i p e l i n e i m p o r t g r a d i o a s g r p i p e = S t a b l e D i f f u s i o n I m g 2 I m g P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " ) g r . I n t e r f a c e . f r o m _ p i p e l i n e ( p i p e ) . l a u n c h ( ) ` ` ` B y d e f a u l t , t h e w e b d e m o r u n s o n a l o c a l s e r v e r . I f y o u ' d l i k e t o s h a r e i t w i t h o t h e r s , y o u c a n g e n e r a t e a t e m p o r a r y p u b l i c l i n k b y s e t t i n g ` s h a r e = T r u e ` i n ` l a u n c h ( ) ` . O r , y o u c a n h o s t y o u r d e m o o n [ H u g g i n g F a c e S p a c e s ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s ) h t t p s : / / h u g g i n g f a c e . c o / s p a c e s f o r a p e r m a n e n t l i n k . # T e x t - t o - ( R G B , d e p t h ) L D M 3 D w a s p r o p o s e d i n [ L D M 3 D : L a t e n t D i f f u s i o n M o d e l f o r 3 D ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 5 . 1 0 8 5 3 ) b y G a b r i e l a B e n M e l e c h S t a n , D i a n a W o f k , S c o t t i e F o x , A l e x R e d d e n , W i l l S a x t o n , J e a n Y u , E s t e l l e A f l a l o , S h a o - Y e n T s e n g , F a b i o N o n a t o , M a t t h i a s M u l l e r , a n d V a s u d e v L a l . L D M 3 D g e n e r a t e s a n i m a g e a n d a d e p t h m a p f r o m a g i v e n t e x t p r o m p t u n l i k e t h e e x i s t i n g t e x t - t o - i m a g e d i f f u s i o n m o d e l s s u c h a s [ S t a b l e D i f f u s i o n ] ( . / o v e r v i e w ) w h i c h o n l y g e n e r a t e s a n i m a g e . W i t h a l m o s t t h e s a m e n u m b e r o f p a r a m e t e r s , L D M 3 D a c h i e v e s t o c r e a t e a l a t e n t s p a c e t h a t c a n c o m p r e s s b o t h t h e R G B i m a g e s a n d t h e d e p t h m a p s . T w o c h e c k p o i n t s a r e a v a i l a b l e f o r u s e : - [ l d m 3 d - o r i g i n a l ] ( h t t p s : / / h u g g i n g f a c e . c o / I n t e l / l d m 3 d ) . T h e o r i g i n a l c h e c k p o i n t u s e d i n t h e [ p a p e r ] ( h t t p s : / / a r x i v . o r g / p d f / 2 3 0 5 . 1 0 8 5 3 . p d f ) - [ l d m 3 d - 4 c ] ( h t t p s : / / h u g g i n g f a c e . c o / I n t e l / l d m 3 d - 4 c ) . T h e n e w v e r s i o n o f L D M 3 D u s i n g 4 c h a n n e l s i n p u t s i n s t e a d o f 6 - c h a n n e l s i n p u t s a n d f i n e t u n e d o n h i g h e r r e s o l u t i o n i m a g e s . T h e a b s t r a c t f r o m t h e p a p e r i s : * T h i s r e s e a r c h p a p e r p r o p o s e s a L a t e n t D i f f u s i o n M o d e l f o r 3 D ( L D M 3 D ) t h a t g e n e r a t e s b o t h i m a g e a n d d e p t h m a p d a t a f r o m a g i v e n t e x t p r o m p t , a l l o w i n g u s e r s t o g e n e r a t e R G B D i m a g e s f r o m t e x t p r o m p t s . T h e L D M 3 D m o d e l i s f i n e - t u n e d o n a d a t a s e t o f t u p l e s c o n t a i n i n g a n R G B i m a g e , d e p t h m a p a n d c a p t i o n , a n d v a l i d a t e d t h r o u g h e x t e n s i v e e x p e r i m e n t s . W e a l s o d e v e l o p a n a p p l i c a t i o n c a l l e d D e p t h F u s i o n , w h i c h u s e s t h e g e n e r a t e d R G B i m a g e s a n d d e p t h m a p s t o c r e a t e i m m e r s i v e a n d i n t e r a c t i v e 3 6 0 - d e g r e e - v i e w e x p e r i e n c e s u s i n g T o u c h D e s i g n e r . T h i s t e c h n o l o g y h a s t h e p o t e n t i a l t o t r a n s f o r m a w i d e r a n g e o f i n d u s t r i e s , f r o m e n t e r t a i n m e n t a n d g a m i n g t o a r c h i t e c t u r e a n d d e s i g n . O v e r a l l , t h i s p a p e r p r e s e n t s a s i g n i f i c a n t c o n t r i b u t i o n t o t h e f i e l d o f g e n e r a t i v e A I a n d c o m p u t e r v i s i o n , a n d s h o w c a s e s t h e p o t e n t i a l o f L D M 3 D a n d D e p t h F u s i o n t o r e v o l u t i o n i z e c o n t e n t c r e a t i o n a n d d i g i t a l e x p e r i e n c e s . A s h o r t v i d e o s u m m a r i z i n g t h e a p p r o a c h c a n b e f o u n d a t [ t h i s u r l ] ( h t t p s : / / t . l y / t d i 2 ) . * < T i p > M a k e s u r e t o c h e c k o u t t h e S t a b l e D i f f u s i o n [ T i p s ] ( o v e r v i e w # t i p s ) s e c t i o n t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d h o w t o r e u s e p i p e l i n e c o m p o n e n t s e f f i c i e n t l y ! < / T i p > # # S t a b l e D i f f u s i o n L D M 3 D P i p e l i n e # # L D M 3 D P i p e l i n e O u t p u t # U p s c a l e r [ L D M 3 D - V R ] ( h t t p s : / / a r x i v . o r g / p d f / 2 3 1 1 . 0 3 2 2 6 . p d f ) i s a n e x t e n d e d v e r s i o n o f L D M 3 D . T h e a b s t r a c t f r o m t h e p a p e r i s : * L a t e n t d i f f u s i o n m o d e l s h a v e p r o v e n t o b e s t a t e - o f - t h e - a r t i n t h e c r e a t i o n a n d m a n i p u l a t i o n o f v i s u a l o u t p u t s . H o w e v e r , a s f a r a s w e k n o w , t h e g e n e r a t i o n o f d e p t h m a p s j o i n t l y w i t h R G B i s s t i l l l i m i t e d . W e i n t r o d u c e L D M 3 D - V R , a s u i t e o f d i f f u s i o n m o d e l s t a r g e t i n g v i r t u a l r e a l i t y d e v e l o p m e n t t h a t i n c l u d e s L D M 3 D - p a n o a n d L D M 3 D - S R . T h e s e m o d e l s e n a b l e t h e g e n e r a t i o n o f p a n o r a m i c R G B D b a s e d o n t e x t u a l p r o m p t s a n d t h e u p s c a l i n g o f l o w - r e s o l u t i o n i n p u t s t o h i g h - r e s o l u t i o n R G B D , r e s p e c t i v e l y . O u r m o d e l s a r e f i n e - t u n e d f r o m e x i s t i n g p r e t r a i n e d m o d e l s o n d a t a s e t s c o n t a i n i n g p a n o r a m i c / h i g h - r e s o l u t i o n R G B i m a g e s , d e p t h m a p s a n d c a p t i o n s . B o t h m o d e l s a r e e v a l u a t e d i n c o m p a r i s o n t o e x i s t i n g r e l a t e d m e t h o d s * T w o c h e c k p o i n t s a r e a v a i l a b l e f o r u s e : - [ l d m 3 d - p a n o ] ( h t t p s : / / h u g g i n g f a c e . c o / I n t e l / l d m 3 d - p a n o ) . T h i s c h e c k p o i n t e n a b l e s t h e g e n e r a t i o n o f p a n o r a m i c i m a g e s a n d r e q u i r e s t h e S t a b l e D i f f u s i o n L D M 3 D P i p e l i n e p i p e l i n e t o b e u s e d . - [ l d m 3 d - s r ] ( h t t p s : / / h u g g i n g f a c e . c o / I n t e l / l d m 3 d - s r ) . T h i s c h e c k p o i n t e n a b l e s t h e u p s c a l i n g o f R G B a n d d e p t h i m a g e s . C a n b e u s e d i n c a s c a d e a f t e r t h e o r i g i n a l L D M 3 D p i p e l i n e u s i n g t h e S t a b l e D i f f u s i o n U p s c a l e L D M 3 D P i p e l i n e f r o m c o m m u n a u t y p i p e l i n e . [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n _ l d m 3 d . p i p e l i n e _ s t a b l e _ d i f f u s i o n _ l d m 3 d . S t a b l e D i f f u s i o n L D M 3 D P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n _ l d m 3 d . p i p e l i n e _ s t a b l e _ d i f f u s i o n _ l d m 3 d . L D M 3 D P i p e l i n e O u t p u t - a l l - _ _ c a l l _ _ # S t a b l e D i f f u s i o n 3 S t a b l e D i f f u s i o n 3 ( S D 3 ) w a s p r o p o s e d i n [ S c a l i n g R e c t i f i e d F l o w T r a n s f o r m e r s f o r H i g h - R e s o l u t i o n I m a g e S y n t h e s i s ] ( h t t p s : / / a r x i v . o r g / p d f / 2 4 0 3 . 0 3 2 0 6 . p d f ) b y P a t r i c k E s s e r , S u m i t h K u l a l , A n d r e a s B l a t t m a n n , R a h i m E n t e z a r i , J o n a s M u l l e r , H a r r y S a i n i , Y a m L e v i , D o m i n i k L o r e n z , A x e l S a u e r , F r e d e r i c B o e s e l , D u s t i n P o d e l l , T i m D o c k h o r n , Z i o n E n g l i s h , K y l e L a c e y , A l e x G o o d w i n , Y a n n i k M a r e k , a n d R o b i n R o m b a c h . T h e a b s t r a c t f r o m t h e p a p e r i s : * D i f f u s i o n m o d e l s c r e a t e d a t a f r o m n o i s e b y i n v e r t i n g t h e f o r w a r d p a t h s o f d a t a t o w a r d s n o i s e a n d h a v e e m e r g e d a s a p o w e r f u l g e n e r a t i v e m o d e l i n g t e c h n i q u e f o r h i g h - d i m e n s i o n a l , p e r c e p t u a l d a t a s u c h a s i m a g e s a n d v i d e o s . R e c t i f i e d f l o w i s a r e c e n t g e n e r a t i v e m o d e l f o r m u l a t i o n t h a t c o n n e c t s d a t a a n d n o i s e i n a s t r a i g h t l i n e . D e s p i t e i t s b e t t e r t h e o r e t i c a l p r o p e r t i e s a n d c o n c e p t u a l s i m p l i c i t y , i t i s n o t y e t d e c i s i v e l y e s t a b l i s h e d a s s t a n d a r d p r a c t i c e . I n t h i s w o r k , w e i m p r o v e e x i s t i n g n o i s e s a m p l i n g t e c h n i q u e s f o r t r a i n i n g r e c t i f i e d f l o w m o d e l s b y b i a s i n g t h e m t o w a r d s p e r c e p t u a l l y r e l e v a n t s c a l e s . T h r o u g h a l a r g e - s c a l e s t u d y , w e d e m o n s t r a t e t h e s u p e r i o r p e r f o r m a n c e o f t h i s a p p r o a c h c o m p a r e d t o e s t a b l i s h e d d i f f u s i o n f o r m u l a t i o n s f o r h i g h - r e s o l u t i o n t e x t - t o - i m a g e s y n t h e s i s . A d d i t i o n a l l y , w e p r e s e n t a n o v e l t r a n s f o r m e r - b a s e d a r c h i t e c t u r e f o r t e x t - t o - i m a g e g e n e r a t i o n t h a t u s e s s e p a r a t e w e i g h t s f o r t h e t w o m o d a l i t i e s a n d e n a b l e s a b i d i r e c t i o n a l f l o w o f i n f o r m a t i o n b e t w e e n i m a g e a n d t e x t t o k e n s , i m p r o v i n g t e x t c o m p r e h e n s i o n t y p o g r a p h y , a n d h u m a n p r e f e r e n c e r a t i n g s . W e d e m o n s t r a t e t h a t t h i s a r c h i t e c t u r e f o l l o w s p r e d i c t a b l e s c a l i n g t r e n d s a n d c o r r e l a t e s l o w e r v a l i d a t i o n l o s s t o i m p r o v e d t e x t - t o - i m a g e s y n t h e s i s a s m e a s u r e d b y v a r i o u s m e t r i c s a n d h u m a n e v a l u a t i o n s . * # # U s a g e E x a m p l e _ A s t h e m o d e l i s g a t e d , b e f o r e u s i n g i t w i t h d i f f u s e r s y o u f i r s t n e e d t o g o t o t h e [ S t a b l e D i f f u s i o n 3 M e d i u m H u g g i n g F a c e p a g e ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 - m e d i u m - d i f f u s e r s ) , f i l l i n t h e f o r m a n d a c c e p t t h e g a t e . O n c e y o u a r e i n , y o u n e e d t o l o g i n s o t h a t y o u r s y s t e m k n o w s y o u โ€™ v e a c c e p t e d t h e g a t e . _ U s e t h e c o m m a n d b e l o w t o l o g i n : ` ` ` b a s h h u g g i n g f a c e - c l i l o g i n ` ` ` < T i p > T h e S D 3 p i p e l i n e u s e s t h r e e t e x t e n c o d e r s t o g e n e r a t e a n i m a g e . M o d e l o f f l o a d i n g i s n e c e s s a r y i n o r d e r f o r i t t o r u n o n m o s t c o m m o d i t y h a r d w a r e . P l e a s e u s e t h e ` t o r c h . f l o a t 1 6 ` d a t a t y p e f o r a d d i t i o n a l m e m o r y s a v i n g s . < / T i p > ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n 3 P i p e l i n e p i p e = S t a b l e D i f f u s i o n 3 P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 - m e d i u m - d i f f u s e r s " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . t o ( " c u d a " ) i m a g e = p i p e ( p r o m p t = " a p h o t o o f a c a t h o l d i n g a s i g n t h a t s a y s h e l l o w o r l d " , n e g a t i v e _ p r o m p t = " " , n u m _ i n f e r e n c e _ s t e p s = 2 8 , h e i g h t = 1 0 2 4 , w i d t h = 1 0 2 4 , g u i d a n c e _ s c a l e = 7 . 0 , ) . i m a g e s [ 0 ] i m a g e . s a v e ( " s d 3 _ h e l l o _ w o r l d . p n g " ) ` ` ` * * N o t e : * * S t a b l e D i f f u s i o n 3 . 5 c a n a l s o b e r u n u s i n g t h e S D 3 p i p e l i n e , a n d a l l m e n t i o n e d o p t i m i z a t i o n s a n d t e c h n i q u e s a p p l y t o i t a s w e l l . I n t o t a l t h e r e a r e t h r e e o f f i c i a l m o d e l s i n t h e S D 3 f a m i l y : - [ ` s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 - m e d i u m - d i f f u s e r s ` ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 - m e d i u m - d i f f u s e r s ) - [ ` s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 . 5 - l a r g e ` ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 - 5 - l a r g e ) - [ ` s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 . 5 - l a r g e - t u r b o ` ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 - 5 - l a r g e - t u r b o ) # # M e m o r y O p t i m i s a t i o n s f o r S D 3 S D 3 u s e s t h r e e t e x t e n c o d e r s , o n e i f w h i c h i s t h e v e r y l a r g e T 5 - X X L m o d e l . T h i s m a k e s i t c h a l l e n g i n g t o r u n t h e m o d e l o n G P U s w i t h l e s s t h a n 2 4 G B o f V R A M , e v e n w h e n u s i n g ` f p 1 6 ` p r e c i s i o n . T h e f o l l o w i n g s e c t i o n o u t l i n e s a f e w m e m o r y o p t i m i z a t i o n s i n D i f f u s e r s t h a t m a k e i t e a s i e r t o r u n S D 3 o n l o w r e s o u r c e h a r d w a r e . # # # R u n n i n g I n f e r e n c e w i t h M o d e l O f f l o a d i n g T h e m o s t b a s i c m e m o r y o p t i m i z a t i o n a v a i l a b l e i n D i f f u s e r s a l l o w s y o u t o o f f l o a d t h e c o m p o n e n t s o f t h e m o d e l t o C P U d u r i n g i n f e r e n c e i n o r d e r t o s a v e m e m o r y , w h i l e s e e i n g a s l i g h t i n c r e a s e i n i n f e r e n c e l a t e n c y . M o d e l o f f l o a d i n g w i l l o n l y m o v e a m o d e l c o m p o n e n t o n t o t h e G P U w h e n i t n e e d s t o b e e x e c u t e d , w h i l e k e e p i n g t h e r e m a i n i n g c o m p o n e n t s o n t h e C P U . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n 3 P i p e l i n e p i p e = S t a b l e D i f f u s i o n 3 P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 - m e d i u m - d i f f u s e r s " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) i m a g e = p i p e ( p r o m p t = " a p h o t o o f a c a t h o l d i n g a s i g n t h a t s a y s h e l l o w o r l d " , n e g a t i v e _ p r o m p t = " " , n u m _ i n f e r e n c e _ s t e p s = 2 8 , h e i g h t = 1 0 2 4 , w i d t h = 1 0 2 4 , g u i d a n c e _ s c a l e = 7 . 0 , ) . i m a g e s [ 0 ] i m a g e . s a v e ( " s d 3 _ h e l l o _ w o r l d . p n g " ) ` ` ` # # # D r o p p i n g t h e T 5 T e x t E n c o d e r d u r i n g I n f e r e n c e R e m o v i n g t h e m e m o r y - i n t e n s i v e 4 . 7 B p a r a m e t e r T 5 - X X L t e x t e n c o d e r d u r i n g i n f e r e n c e c a n s i g n i f i c a n t l y d e c r e a s e t h e m e m o r y r e q u i r e m e n t s f o r S D 3 w i t h o n l y a s l i g h t l o s s i n p e r f o r m a n c e . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n 3 P i p e l i n e p i p e = S t a b l e D i f f u s i o n 3 P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 - m e d i u m - d i f f u s e r s " , t e x t _ e n c o d e r _ 3 = N o n e , t o k e n i z e r _ 3 = N o n e , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . t o ( " c u d a " ) i m a g e = p i p e ( p r o m p t = " a p h o t o o f a c a t h o l d i n g a s i g n t h a t s a y s h e l l o w o r l d " , n e g a t i v e _ p r o m p t = " " , n u m _ i n f e r e n c e _ s t e p s = 2 8 , h e i g h t = 1 0 2 4 , w i d t h = 1 0 2 4 , g u i d a n c e _ s c a l e = 7 . 0 , ) . i m a g e s [ 0 ] i m a g e . s a v e ( " s d 3 _ h e l l o _ w o r l d - n o - T 5 . p n g " ) ` ` ` # # # U s i n g a Q u a n t i z e d V e r s i o n o f t h e T 5 T e x t E n c o d e r W e c a n l e v e r a g e t h e ` b i t s a n d b y t e s ` l i b r a r y t o l o a d a n d q u a n t i z e t h e T 5 - X X L t e x t e n c o d e r t o 8 - b i t p r e c i s i o n . T h i s a l l o w s y o u t o k e e p u s i n g a l l t h r e e t e x t e n c o d e r s w h i l e o n l y s l i g h t l y i m p a c t i n g p e r f o r m a n c e . F i r s t i n s t a l l t h e ` b i t s a n d b y t e s ` l i b r a r y . ` ` ` s h e l l p i p i n s t a l l b i t s a n d b y t e s ` ` ` T h e n l o a d t h e T 5 - X X L m o d e l u s i n g t h e ` B i t s A n d B y t e s C o n f i g ` . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n 3 P i p e l i n e f r o m t r a n s f o r m e r s i m p o r t T 5 E n c o d e r M o d e l , B i t s A n d B y t e s C o n f i g q u a n t i z a t i o n _ c o n f i g = B i t s A n d B y t e s C o n f i g ( l o a d _ i n _ 8 b i t = T r u e ) m o d e l _ i d = " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 - m e d i u m - d i f f u s e r s " t e x t _ e n c o d e r = T 5 E n c o d e r M o d e l . f r o m _ p r e t r a i n e d ( m o d e l _ i d , s u b f o l d e r = " t e x t _ e n c o d e r _ 3 " , q u a n t i z a t i o n _ c o n f i g = q u a n t i z a t i o n _ c o n f i g , ) p i p e = S t a b l e D i f f u s i o n 3 P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , t e x t _ e n c o d e r _ 3 = t e x t _ e n c o d e r , d e v i c e _ m a p = " b a l a n c e d " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) i m a g e = p i p e ( p r o m p t = " a p h o t o o f a c a t h o l d i n g a s i g n t h a t s a y s h e l l o w o r l d " , n e g a t i v e _ p r o m p t = " " , n u m _ i n f e r e n c e _ s t e p s = 2 8 , h e i g h t = 1 0 2 4 , w i d t h = 1 0 2 4 , g u i d a n c e _ s c a l e = 7 . 0 , ) . i m a g e s [ 0 ] i m a g e . s a v e ( " s d 3 _ h e l l o _ w o r l d - 8 b i t - T 5 . p n g " ) ` ` ` Y o u c a n f i n d t h e e n d - t o - e n d s c r i p t [ h e r e ] ( h t t p s : / / g i s t . g i t h u b . c o m / s a y a k p a u l / 8 2 a c b 5 9 7 6 5 0 9 8 5 1 f 2 d b 1 a 8 3 4 5 6 e 5 0 4 f 1 ) . # # P e r f o r m a n c e O p t i m i z a t i o n s f o r S D 3 # # # U s i n g T o r c h C o m p i l e t o S p e e d U p I n f e r e n c e U s i n g c o m p i l e d c o m p o n e n t s i n t h e S D 3 p i p e l i n e c a n s p e e d u p i n f e r e n c e b y a s m u c h a s 4 X . T h e f o l l o w i n g c o d e s n i p p e t d e m o n s t r a t e s h o w t o c o m p i l e t h e T r a n s f o r m e r a n d V A E c o m p o n e n t s o f t h e S D 3 p i p e l i n e . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n 3 P i p e l i n e t o r c h . s e t _ f l o a t 3 2 _ m a t m u l _ p r e c i s i o n ( " h i g h " ) t o r c h . _ i n d u c t o r . c o n f i g . c o n v _ 1 x 1 _ a s _ m m = T r u e t o r c h . _ i n d u c t o r . c o n f i g . c o o r d i n a t e _ d e s c e n t _ t u n i n g = T r u e t o r c h . _ i n d u c t o r . c o n f i g . e p i l o g u e _ f u s i o n = F a l s e t o r c h . _ i n d u c t o r . c o n f i g . c o o r d i n a t e _ d e s c e n t _ c h e c k _ a l l _ d i r e c t i o n s = T r u e p i p e = S t a b l e D i f f u s i o n 3 P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 - m e d i u m - d i f f u s e r s " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e . s e t _ p r o g r e s s _ b a r _ c o n f i g ( d i s a b l e = T r u e ) p i p e . t r a n s f o r m e r . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) p i p e . v a e . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) p i p e . t r a n s f o r m e r = t o r c h . c o m p i l e ( p i p e . t r a n s f o r m e r , m o d e = " m a x - a u t o t u n e " , f u l l g r a p h = T r u e ) p i p e . v a e . d e c o d e = t o r c h . c o m p i l e ( p i p e . v a e . d e c o d e , m o d e = " m a x - a u t o t u n e " , f u l l g r a p h = T r u e ) # W a r m U p p r o m p t = " a p h o t o o f a c a t h o l d i n g a s i g n t h a t s a y s h e l l o w o r l d " f o r _ i n r a n g e ( 3 ) : _ = p i p e ( p r o m p t = p r o m p t , g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 1 ) ) # R u n I n f e r e n c e i m a g e = p i p e ( p r o m p t = p r o m p t , g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 1 ) ) . i m a g e s [ 0 ] i m a g e . s a v e ( " s d 3 _ h e l l o _ w o r l d . p n g " ) ` ` ` C h e c k o u t t h e f u l l s c r i p t [ h e r e ] ( h t t p s : / / g i s t . g i t h u b . c o m / s a y a k p a u l / 5 0 8 d 8 9 d 7 a a d 4 f 4 5 4 9 0 0 8 1 3 d a 5 d 4 2 c a 9 7 ) . # # U s i n g L o n g P r o m p t s w i t h t h e T 5 T e x t E n c o d e r B y d e f a u l t , t h e T 5 T e x t E n c o d e r p r o m p t u s e s a m a x i m u m s e q u e n c e l e n g t h o f ` 2 5 6 ` . T h i s c a n b e a d j u s t e d b y s e t t i n g t h e ` m a x _ s e q u e n c e _ l e n g t h ` t o a c c e p t f e w e r o r m o r e t o k e n s . K e e p i n m i n d t h a t l o n g e r s e q u e n c e s r e q u i r e a d d i t i o n a l r e s o u r c e s a n d r e s u l t i n l o n g e r g e n e r a t i o n t i m e s , s u c h a s d u r i n g b a t c h i n f e r e n c e . ` ` ` p y t h o n p r o m p t = " A w h i m s i c a l a n d c r e a t i v e i m a g e d e p i c t i n g a h y b r i d c r e a t u r e t h a t i s a m i x o f a w a f f l e a n d a h i p p o p o t a m u s , b a s k i n g i n a r i v e r o f m e l t e d b u t t e r a m i d s t a b r e a k f a s t - t h e m e d l a n d s c a p e . I t f e a t u r e s t h e d i s t i n c t i v e , b u l k y b o d y s h a p e o f a h i p p o . H o w e v e r , i n s t e a d o f t h e u s u a l g r e y s k i n , t h e c r e a t u r e โ€™ s b o d y r e s e m b l e s a g o l d e n - b r o w n , c r i s p y w a f f l e f r e s h o f f t h e g r i d d l e . T h e s k i n i s t e x t u r e d w i t h t h e f a m i l i a r g r i d p a t t e r n o f a w a f f l e , e a c h s q u a r e f i l l e d w i t h a g l i s t e n i n g s h e e n o f s y r u p . T h e e n v i r o n m e n t c o m b i n e s t h e n a t u r a l h a b i t a t o f a h i p p o w i t h e l e m e n t s o f a b r e a k f a s t t a b l e s e t t i n g , a r i v e r o f w a r m , m e l t e d b u t t e r , w i t h o v e r s i z e d u t e n s i l s o r p l a t e s p e e k i n g o u t f r o m t h e l u s h , p a n c a k e - l i k e f o l i a g e i n t h e b a c k g r o u n d , a t o w e r i n g p e p p e r m i l l s t a n d i n g i n f o r a t r e e . A s t h e s u n r i s e s i n t h i s f a n t a s t i c a l w o r l d , i t c a s t s a w a r m , b u t t e r y g l o w o v e r t h e s c e n e . T h e c r e a t u r e , c o n t e n t i n i t s b u t t e r r i v e r , l e t s o u t a y a w n . N e a r b y , a f l o c k o f b i r d s t a k e f l i g h t " i m a g e = p i p e ( p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = " " , n u m _ i n f e r e n c e _ s t e p s = 2 8 , g u i d a n c e _ s c a l e = 4 . 5 , m a x _ s e q u e n c e _ l e n g t h = 5 1 2 , ) . i m a g e s [ 0 ] ` ` ` # # # S e n d i n g a d i f f e r e n t p r o m p t t o t h e T 5 T e x t E n c o d e r Y o u c a n s e n d a d i f f e r e n t p r o m p t t o t h e C L I P T e x t E n c o d e r s a n d t h e T 5 T e x t E n c o d e r t o p r e v e n t t h e p r o m p t f r o m b e i n g t r u n c a t e d b y t h e C L I P T e x t E n c o d e r s a n d t o i m p r o v e g e n e r a t i o n . < T i p > T h e p r o m p t w i t h t h e C L I P T e x t E n c o d e r s i s s t i l l t r u n c a t e d t o t h e 7 7 t o k e n l i m i t . < / T i p > ` ` ` p y t h o n p r o m p t = " A w h i m s i c a l a n d c r e a t i v e i m a g e d e p i c t i n g a h y b r i d c r e a t u r e t h a t i s a m i x o f a w a f f l e a n d a h i p p o p o t a m u s , b a s k i n g i n a r i v e r o f m e l t e d b u t t e r a m i d s t a b r e a k f a s t - t h e m e d l a n d s c a p e . A r i v e r o f w a r m , m e l t e d b u t t e r , p a n c a k e - l i k e f o l i a g e i n t h e b a c k g r o u n d , a t o w e r i n g p e p p e r m i l l s t a n d i n g i n f o r a t r e e . " p r o m p t _ 3 = " A w h i m s i c a l a n d c r e a t i v e i m a g e d e p i c t i n g a h y b r i d c r e a t u r e t h a t i s a m i x o f a w a f f l e a n d a h i p p o p o t a m u s , b a s k i n g i n a r i v e r o f m e l t e d b u t t e r a m i d s t a b r e a k f a s t - t h e m e d l a n d s c a p e . I t f e a t u r e s t h e d i s t i n c t i v e , b u l k y b o d y s h a p e o f a h i p p o . H o w e v e r , i n s t e a d o f t h e u s u a l g r e y s k i n , t h e c r e a t u r e โ€™ s b o d y r e s e m b l e s a g o l d e n - b r o w n , c r i s p y w a f f l e f r e s h o f f t h e g r i d d l e . T h e s k i n i s t e x t u r e d w i t h t h e f a m i l i a r g r i d p a t t e r n o f a w a f f l e , e a c h s q u a r e f i l l e d w i t h a g l i s t e n i n g s h e e n o f s y r u p . T h e e n v i r o n m e n t c o m b i n e s t h e n a t u r a l h a b i t a t o f a h i p p o w i t h e l e m e n t s o f a b r e a k f a s t t a b l e s e t t i n g , a r i v e r o f w a r m , m e l t e d b u t t e r , w i t h o v e r s i z e d u t e n s i l s o r p l a t e s p e e k i n g o u t f r o m t h e l u s h , p a n c a k e - l i k e f o l i a g e i n t h e b a c k g r o u n d , a t o w e r i n g p e p p e r m i l l s t a n d i n g i n f o r a t r e e . A s t h e s u n r i s e s i n t h i s f a n t a s t i c a l w o r l d , i t c a s t s a w a r m , b u t t e r y g l o w o v e r t h e s c e n e . T h e c r e a t u r e , c o n t e n t i n i t s b u t t e r r i v e r , l e t s o u t a y a w n . N e a r b y , a f l o c k o f b i r d s t a k e f l i g h t " i m a g e = p i p e ( p r o m p t = p r o m p t , p r o m p t _ 3 = p r o m p t _ 3 , n e g a t i v e _ p r o m p t = " " , n u m _ i n f e r e n c e _ s t e p s = 2 8 , g u i d a n c e _ s c a l e = 4 . 5 , m a x _ s e q u e n c e _ l e n g t h = 5 1 2 , ) . i m a g e s [ 0 ] ` ` ` # # T i n y A u t o E n c o d e r f o r S t a b l e D i f f u s i o n 3 T i n y A u t o E n c o d e r f o r S t a b l e D i f f u s i o n ( T A E S D 3 ) i s a t i n y d i s t i l l e d v e r s i o n o f S t a b l e D i f f u s i o n 3 ' s V A E b y [ O l l i n B o e r B o h a n ] ( h t t p s : / / g i t h u b . c o m / m a d e b y o l l i n / t a e s d ) t h a t c a n d e c o d e ` S t a b l e D i f f u s i o n 3 P i p e l i n e ` l a t e n t s a l m o s t i n s t a n t l y . T o u s e w i t h S t a b l e D i f f u s i o n 3 : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n 3 P i p e l i n e , A u t o e n c o d e r T i n y p i p e = S t a b l e D i f f u s i o n 3 P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 - m e d i u m - d i f f u s e r s " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . v a e = A u t o e n c o d e r T i n y . f r o m _ p r e t r a i n e d ( " m a d e b y o l l i n / t a e s d 3 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e = p i p e . t o ( " c u d a " ) p r o m p t = " s l i c e o f d e l i c i o u s N e w Y o r k - s t y l e b e r r y c h e e s e c a k e " i m a g e = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 2 5 ) . i m a g e s [ 0 ] i m a g e . s a v e ( " c h e e s e c a k e . p n g " ) ` ` ` # # L o a d i n g t h e o r i g i n a l c h e c k p o i n t s v i a ` f r o m _ s i n g l e _ f i l e ` T h e ` S D 3 T r a n s f o r m e r 2 D M o d e l ` a n d ` S t a b l e D i f f u s i o n 3 P i p e l i n e ` c l a s s e s s u p p o r t l o a d i n g t h e o r i g i n a l c h e c k p o i n t s v i a t h e ` f r o m _ s i n g l e _ f i l e ` m e t h o d . T h i s m e t h o d a l l o w s y o u t o l o a d t h e o r i g i n a l c h e c k p o i n t f i l e s t h a t w e r e u s e d t o t r a i n t h e m o d e l s . # # L o a d i n g t h e o r i g i n a l c h e c k p o i n t s f o r t h e ` S D 3 T r a n s f o r m e r 2 D M o d e l ` ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t S D 3 T r a n s f o r m e r 2 D M o d e l m o d e l = S D 3 T r a n s f o r m e r 2 D M o d e l . f r o m _ s i n g l e _ f i l e ( " h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 - m e d i u m / b l o b / m a i n / s d 3 _ m e d i u m . s a f e t e n s o r s " ) ` ` ` # # L o a d i n g t h e s i n g l e c h e c k p o i n t f o r t h e ` S t a b l e D i f f u s i o n 3 P i p e l i n e ` # # # L o a d i n g t h e s i n g l e f i l e c h e c k p o i n t w i t h o u t T 5 ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n 3 P i p e l i n e p i p e = S t a b l e D i f f u s i o n 3 P i p e l i n e . f r o m _ s i n g l e _ f i l e ( " h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 - m e d i u m / b l o b / m a i n / s d 3 _ m e d i u m _ i n c l _ c l i p s . s a f e t e n s o r s " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , t e x t _ e n c o d e r _ 3 = N o n e ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) i m a g e = p i p e ( " a p i c t u r e o f a c a t h o l d i n g a s i g n t h a t s a y s h e l l o w o r l d " ) . i m a g e s [ 0 ] i m a g e . s a v e ( ' s d 3 - s i n g l e - f i l e . p n g ' ) ` ` ` # # # L o a d i n g t h e s i n g l e f i l e c h e c k p o i n t w i t h T 5 > [ ! T I P ] > T h e f o l l o w i n g e x a m p l e l o a d s a c h e c k p o i n t s t o r e d i n a 8 - b i t f l o a t i n g p o i n t f o r m a t w h i c h r e q u i r e s P y T o r c h 2 . 3 o r l a t e r . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n 3 P i p e l i n e p i p e = S t a b l e D i f f u s i o n 3 P i p e l i n e . f r o m _ s i n g l e _ f i l e ( " h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 - m e d i u m / b l o b / m a i n / s d 3 _ m e d i u m _ i n c l _ c l i p s _ t 5 x x l f p 8 . s a f e t e n s o r s " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) i m a g e = p i p e ( " a p i c t u r e o f a c a t h o l d i n g a s i g n t h a t s a y s h e l l o w o r l d " ) . i m a g e s [ 0 ] i m a g e . s a v e ( ' s d 3 - s i n g l e - f i l e - t 5 - f p 8 . p n g ' ) ` ` ` # # # L o a d i n g t h e s i n g l e f i l e c h e c k p o i n t f o r t h e S t a b l e D i f f u s i o n 3 . 5 T r a n s f o r m e r M o d e l ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S D 3 T r a n s f o r m e r 2 D M o d e l , S t a b l e D i f f u s i o n 3 P i p e l i n e t r a n s f o r m e r = S D 3 T r a n s f o r m e r 2 D M o d e l . f r o m _ s i n g l e _ f i l e ( " h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 . 5 - l a r g e - t u r b o / b l o b / m a i n / s d 3 . 5 _ l a r g e . s a f e t e n s o r s " , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 , ) p i p e = S t a b l e D i f f u s i o n 3 P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 . 5 - l a r g e " , t r a n s f o r m e r = t r a n s f o r m e r , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 , ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) i m a g e = p i p e ( " a c a t h o l d i n g a s i g n t h a t s a y s h e l l o w o r l d " ) . i m a g e s [ 0 ] i m a g e . s a v e ( " s d 3 5 . p n g " ) ` ` ` # # S t a b l e D i f f u s i o n 3 P i p e l i n e [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n 3 P i p e l i n e - a l l - _ _ c a l l _ _ # I m a g e - t o - i m a g e T h e S t a b l e D i f f u s i o n m o d e l c a n a l s o b e a p p l i e d t o i m a g e - t o - i m a g e g e n e r a t i o n b y p a s s i n g a t e x t p r o m p t a n d a n i n i t i a l i m a g e t o c o n d i t i o n t h e g e n e r a t i o n o f n e w i m a g e s . T h e ` S t a b l e D i f f u s i o n I m g 2 I m g P i p e l i n e ` u s e s t h e d i f f u s i o n - d e n o i s i n g m e c h a n i s m p r o p o s e d i n [ S D E d i t : G u i d e d I m a g e S y n t h e s i s a n d E d i t i n g w i t h S t o c h a s t i c D i f f e r e n t i a l E q u a t i o n s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 1 0 8 . 0 1 0 7 3 ) b y C h e n l i n M e n g , Y u t o n g H e , Y a n g S o n g , J i a m i n g S o n g , J i a j u n W u , J u n - Y a n Z h u , S t e f a n o E r m o n . T h e a b s t r a c t f r o m t h e p a p e r i s : * G u i d e d i m a g e s y n t h e s i s e n a b l e s e v e r y d a y u s e r s t o c r e a t e a n d e d i t p h o t o - r e a l i s t i c i m a g e s w i t h m i n i m u m e f f o r t . T h e k e y c h a l l e n g e i s b a l a n c i n g f a i t h f u l n e s s t o t h e u s e r i n p u t ( e . g . , h a n d - d r a w n c o l o r e d s t r o k e s ) a n d r e a l i s m o f t h e s y n t h e s i z e d i m a g e . E x i s t i n g G A N - b a s e d m e t h o d s a t t e m p t t o a c h i e v e s u c h b a l a n c e u s i n g e i t h e r c o n d i t i o n a l G A N s o r G A N i n v e r s i o n s , w h i c h a r e c h a l l e n g i n g a n d o f t e n r e q u i r e a d d i t i o n a l t r a i n i n g d a t a o r l o s s f u n c t i o n s f o r i n d i v i d u a l a p p l i c a t i o n s . T o a d d r e s s t h e s e i s s u e s , w e i n t r o d u c e a n e w i m a g e s y n t h e s i s a n d e d i t i n g m e t h o d , S t o c h a s t i c D i f f e r e n t i a l E d i t i n g ( S D E d i t ) , b a s e d o n a d i f f u s i o n m o d e l g e n e r a t i v e p r i o r , w h i c h s y n t h e s i z e s r e a l i s t i c i m a g e s b y i t e r a t i v e l y d e n o i s i n g t h r o u g h a s t o c h a s t i c d i f f e r e n t i a l e q u a t i o n ( S D E ) . G i v e n a n i n p u t i m a g e w i t h u s e r g u i d e o f a n y t y p e , S D E d i t f i r s t a d d s n o i s e t o t h e i n p u t , t h e n s u b s e q u e n t l y d e n o i s e s t h e r e s u l t i n g i m a g e t h r o u g h t h e S D E p r i o r t o i n c r e a s e i t s r e a l i s m . S D E d i t d o e s n o t r e q u i r e t a s k - s p e c i f i c t r a i n i n g o r i n v e r s i o n s a n d c a n n a t u r a l l y a c h i e v e t h e b a l a n c e b e t w e e n r e a l i s m a n d f a i t h f u l n e s s . S D E d i t s i g n i f i c a n t l y o u t p e r f o r m s s t a t e - o f - t h e - a r t G A N - b a s e d m e t h o d s b y u p t o 9 8 . 0 9 % o n r e a l i s m a n d 9 1 . 7 2 % o n o v e r a l l s a t i s f a c t i o n s c o r e s , a c c o r d i n g t o a h u m a n p e r c e p t i o n s t u d y , o n m u l t i p l e t a s k s , i n c l u d i n g s t r o k e - b a s e d i m a g e s y n t h e s i s a n d e d i t i n g a s w e l l a s i m a g e c o m p o s i t i n g . * < T i p > M a k e s u r e t o c h e c k o u t t h e S t a b l e D i f f u s i o n [ T i p s ] ( o v e r v i e w # t i p s ) s e c t i o n t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d h o w t o r e u s e p i p e l i n e c o m p o n e n t s e f f i c i e n t l y ! < / T i p > # # S t a b l e D i f f u s i o n I m g 2 I m g P i p e l i n e # # S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # # F l a x S t a b l e D i f f u s i o n I m g 2 I m g P i p e l i n e # # F l a x S t a b l e D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n I m g 2 I m g P i p e l i n e - a l l - _ _ c a l l _ _ - e n a b l e _ a t t e n t i o n _ s l i c i n g - d i s a b l e _ a t t e n t i o n _ s l i c i n g - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - d i s a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - l o a d _ t e x t u a l _ i n v e r s i o n - f r o m _ s i n g l e _ f i l e - l o a d _ l o r a _ w e i g h t s - s a v e _ l o r a _ w e i g h t s [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . S t a b l e D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] F l a x S t a b l e D i f f u s i o n I m g 2 I m g P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . F l a x S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # S t a b l e D i f f u s i o n X L S t a b l e D i f f u s i o n X L ( S D X L ) w a s p r o p o s e d i n [ S D X L : I m p r o v i n g L a t e n t D i f f u s i o n M o d e l s f o r H i g h - R e s o l u t i o n I m a g e S y n t h e s i s ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 7 . 0 1 9 5 2 ) b y D u s t i n P o d e l l , Z i o n E n g l i s h , K y l e L a c e y , A n d r e a s B l a t t m a n n , T i m D o c k h o r n , J o n a s M รผ l l e r , J o e P e n n a , a n d R o b i n R o m b a c h . T h e a b s t r a c t f r o m t h e p a p e r i s : * W e p r e s e n t S D X L , a l a t e n t d i f f u s i o n m o d e l f o r t e x t - t o - i m a g e s y n t h e s i s . C o m p a r e d t o p r e v i o u s v e r s i o n s o f S t a b l e D i f f u s i o n , S D X L l e v e r a g e s a t h r e e t i m e s l a r g e r U N e t b a c k b o n e : T h e i n c r e a s e o f m o d e l p a r a m e t e r s i s m a i n l y d u e t o m o r e a t t e n t i o n b l o c k s a n d a l a r g e r c r o s s - a t t e n t i o n c o n t e x t a s S D X L u s e s a s e c o n d t e x t e n c o d e r . W e d e s i g n m u l t i p l e n o v e l c o n d i t i o n i n g s c h e m e s a n d t r a i n S D X L o n m u l t i p l e a s p e c t r a t i o s . W e a l s o i n t r o d u c e a r e f i n e m e n t m o d e l w h i c h i s u s e d t o i m p r o v e t h e v i s u a l f i d e l i t y o f s a m p l e s g e n e r a t e d b y S D X L u s i n g a p o s t - h o c i m a g e - t o - i m a g e t e c h n i q u e . W e d e m o n s t r a t e t h a t S D X L s h o w s d r a s t i c a l l y i m p r o v e d p e r f o r m a n c e c o m p a r e d t h e p r e v i o u s v e r s i o n s o f S t a b l e D i f f u s i o n a n d a c h i e v e s r e s u l t s c o m p e t i t i v e w i t h t h o s e o f b l a c k - b o x s t a t e - o f - t h e - a r t i m a g e g e n e r a t o r s . * # # T i p s - U s i n g S D X L w i t h a D P M + + s c h e d u l e r f o r l e s s t h a n 5 0 s t e p s i s k n o w n t o p r o d u c e [ v i s u a l a r t i f a c t s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / 5 4 3 3 ) b e c a u s e t h e s o l v e r b e c o m e s n u m e r i c a l l y u n s t a b l e . T o f i x t h i s i s s u e , t a k e a l o o k a t t h i s [ P R ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / p u l l / 5 5 4 1 ) w h i c h r e c o m m e n d s f o r O D E / S D E s o l v e r s : - s e t ` u s e _ k a r r a s _ s i g m a s = T r u e ` o r ` l u _ l a m b d a s = T r u e ` t o i m p r o v e i m a g e q u a l i t y - s e t ` e u l e r _ a t _ f i n a l = T r u e ` i f y o u ' r e u s i n g a s o l v e r w i t h u n i f o r m s t e p s i z e s ( D P M + + 2 M o r D P M + + 2 M S D E ) - M o s t S D X L c h e c k p o i n t s w o r k b e s t w i t h a n i m a g e s i z e o f 1 0 2 4 x 1 0 2 4 . I m a g e s i z e s o f 7 6 8 x 7 6 8 a n d 5 1 2 x 5 1 2 a r e a l s o s u p p o r t e d , b u t t h e r e s u l t s a r e n ' t a s g o o d . A n y t h i n g b e l o w 5 1 2 x 5 1 2 i s n o t r e c o m m e n d e d a n d l i k e l y w o n ' t b e f o r d e f a u l t c h e c k p o i n t s l i k e [ s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 ) . - S D X L c a n p a s s a d i f f e r e n t p r o m p t f o r e a c h o f t h e t e x t e n c o d e r s i t w a s t r a i n e d o n . W e c a n e v e n p a s s d i f f e r e n t p a r t s o f t h e s a m e p r o m p t t o t h e t e x t e n c o d e r s . - S D X L o u t p u t i m a g e s c a n b e i m p r o v e d b y m a k i n g u s e o f a r e f i n e r m o d e l i n a n i m a g e - t o - i m a g e s e t t i n g . - S D X L o f f e r s ` n e g a t i v e _ o r i g i n a l _ s i z e ` , ` n e g a t i v e _ c r o p s _ c o o r d s _ t o p _ l e f t ` , a n d ` n e g a t i v e _ t a r g e t _ s i z e ` t o n e g a t i v e l y c o n d i t i o n t h e m o d e l o n i m a g e r e s o l u t i o n a n d c r o p p i n g p a r a m e t e r s . < T i p > T o l e a r n h o w t o u s e S D X L f o r v a r i o u s t a s k s , h o w t o o p t i m i z e p e r f o r m a n c e , a n d o t h e r u s a g e e x a m p l e s , t a k e a l o o k a t t h e [ S t a b l e D i f f u s i o n X L ] ( . . / . . / . . / u s i n g - d i f f u s e r s / s d x l ) g u i d e . C h e c k o u t t h e [ S t a b i l i t y A I ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i ) H u b o r g a n i z a t i o n f o r t h e o f f i c i a l b a s e a n d r e f i n e r m o d e l c h e c k p o i n t s ! < / T i p > # # S t a b l e D i f f u s i o n X L P i p e l i n e # # S t a b l e D i f f u s i o n X L I m g 2 I m g P i p e l i n e # # S t a b l e D i f f u s i o n X L I n p a i n t P i p e l i n e [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n X L P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n X L I m g 2 I m g P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n X L I n p a i n t P i p e l i n e - a l l - _ _ c a l l _ _ # I n p a i n t i n g T h e S t a b l e D i f f u s i o n m o d e l c a n a l s o b e a p p l i e d t o i n p a i n t i n g w h i c h l e t s y o u e d i t s p e c i f i c p a r t s o f a n i m a g e b y p r o v i d i n g a m a s k a n d a t e x t p r o m p t u s i n g S t a b l e D i f f u s i o n . # # T i p s I t i s r e c o m m e n d e d t o u s e t h i s p i p e l i n e w i t h c h e c k p o i n t s t h a t h a v e b e e n s p e c i f i c a l l y f i n e - t u n e d f o r i n p a i n t i n g , s u c h a s [ r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g ] ( h t t p s : / / h u g g i n g f a c e . c o / r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g ) . D e f a u l t t e x t - t o - i m a g e S t a b l e D i f f u s i o n c h e c k p o i n t s , s u c h a s [ s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ) a r e a l s o c o m p a t i b l e b u t t h e y m i g h t b e l e s s p e r f o r m a n t . < T i p > M a k e s u r e t o c h e c k o u t t h e S t a b l e D i f f u s i o n [ T i p s ] ( o v e r v i e w # t i p s ) s e c t i o n t o l e a r n h o w t o e x p l o r e t h e t r a d e o f f b e t w e e n s c h e d u l e r s p e e d a n d q u a l i t y , a n d h o w t o r e u s e p i p e l i n e c o m p o n e n t s e f f i c i e n t l y ! I f y o u ' r e i n t e r e s t e d i n u s i n g o n e o f t h e o f f i c i a l c h e c k p o i n t s f o r a t a s k , e x p l o r e t h e [ C o m p V i s ] ( h t t p s : / / h u g g i n g f a c e . c o / C o m p V i s ) , [ R u n w a y ] ( h t t p s : / / h u g g i n g f a c e . c o / r u n w a y m l ) , a n d [ S t a b i l i t y A I ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i ) H u b o r g a n i z a t i o n s ! < / T i p > # # S t a b l e D i f f u s i o n I n p a i n t P i p e l i n e # # S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # # F l a x S t a b l e D i f f u s i o n I n p a i n t P i p e l i n e # # F l a x S t a b l e D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] S t a b l e D i f f u s i o n I n p a i n t P i p e l i n e - a l l - _ _ c a l l _ _ - e n a b l e _ a t t e n t i o n _ s l i c i n g - d i s a b l e _ a t t e n t i o n _ s l i c i n g - e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - d i s a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n - l o a d _ t e x t u a l _ i n v e r s i o n - l o a d _ l o r a _ w e i g h t s - s a v e _ l o r a _ w e i g h t s [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . S t a b l e D i f f u s i o n P i p e l i n e O u t p u t [ [ a u t o d o c ] ] F l a x S t a b l e D i f f u s i o n I n p a i n t P i p e l i n e - a l l - _ _ c a l l _ _ [ [ a u t o d o c ] ] p i p e l i n e s . s t a b l e _ d i f f u s i o n . F l a x S t a b l e D i f f u s i o n P i p e l i n e O u t p u t # b i t s a n d b y t e s [ b i t s a n d b y t e s ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / b i t s a n d b y t e s / i n d e x ) i s t h e e a s i e s t o p t i o n f o r q u a n t i z i n g a m o d e l t o 8 a n d 4 - b i t . 8 - b i t q u a n t i z a t i o n m u l t i p l i e s o u t l i e r s i n f p 1 6 w i t h n o n - o u t l i e r s i n i n t 8 , c o n v e r t s t h e n o n - o u t l i e r v a l u e s b a c k t o f p 1 6 , a n d t h e n a d d s t h e m t o g e t h e r t o r e t u r n t h e w e i g h t s i n f p 1 6 . T h i s r e d u c e s t h e d e g r a d a t i v e e f f e c t o u t l i e r v a l u e s h a v e o n a m o d e l ' s p e r f o r m a n c e . 4 - b i t q u a n t i z a t i o n c o m p r e s s e s a m o d e l e v e n f u r t h e r , a n d i t i s c o m m o n l y u s e d w i t h [ Q L o R A ] ( h t t p s : / / h f . c o / p a p e r s / 2 3 0 5 . 1 4 3 1 4 ) t o f i n e t u n e q u a n t i z e d L L M s . T o u s e b i t s a n d b y t e s , m a k e s u r e y o u h a v e t h e f o l l o w i n g l i b r a r i e s i n s t a l l e d : ` ` ` b a s h p i p i n s t a l l d i f f u s e r s t r a n s f o r m e r s a c c e l e r a t e b i t s a n d b y t e s - U ` ` ` N o w y o u c a n q u a n t i z e a m o d e l b y p a s s i n g a [ B i t s A n d B y t e s C o n f i g ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / q u a n t i z a t i o n # d i f f u s e r s . B i t s A n d B y t e s C o n f i g ) t o [ f r o m _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / o v e r v i e w # d i f f u s e r s . M o d e l M i x i n . f r o m _ p r e t r a i n e d ) . T h i s w o r k s f o r a n y m o d e l i n a n y m o d a l i t y , a s l o n g a s i t s u p p o r t s l o a d i n g w i t h [ A c c e l e r a t e ] ( h t t p s : / / h f . c o / d o c s / a c c e l e r a t e / i n d e x ) a n d c o n t a i n s ` t o r c h . n n . L i n e a r ` l a y e r s . < h f o p t i o n s i d = " b n b " > < h f o p t i o n i d = " 8 - b i t " > Q u a n t i z i n g a m o d e l i n 8 - b i t h a l v e s t h e m e m o r y - u s a g e : ` ` ` p y f r o m d i f f u s e r s i m p o r t F l u x T r a n s f o r m e r 2 D M o d e l , B i t s A n d B y t e s C o n f i g q u a n t i z a t i o n _ c o n f i g = B i t s A n d B y t e s C o n f i g ( l o a d _ i n _ 8 b i t = T r u e ) m o d e l _ 8 b i t = F l u x T r a n s f o r m e r 2 D M o d e l . f r o m _ p r e t r a i n e d ( " b l a c k - f o r e s t - l a b s / F L U X . 1 - d e v " , s u b f o l d e r = " t r a n s f o r m e r " , q u a n t i z a t i o n _ c o n f i g = q u a n t i z a t i o n _ c o n f i g ) ` ` ` B y d e f a u l t , a l l t h e o t h e r m o d u l e s s u c h a s ` t o r c h . n n . L a y e r N o r m ` a r e c o n v e r t e d t o ` t o r c h . f l o a t 1 6 ` . Y o u c a n c h a n g e t h e d a t a t y p e o f t h e s e m o d u l e s w i t h t h e ` t o r c h _ d t y p e ` p a r a m e t e r i f y o u w a n t : ` ` ` p y f r o m d i f f u s e r s i m p o r t F l u x T r a n s f o r m e r 2 D M o d e l , B i t s A n d B y t e s C o n f i g q u a n t i z a t i o n _ c o n f i g = B i t s A n d B y t e s C o n f i g ( l o a d _ i n _ 8 b i t = T r u e ) m o d e l _ 8 b i t = F l u x T r a n s f o r m e r 2 D M o d e l . f r o m _ p r e t r a i n e d ( " b l a c k - f o r e s t - l a b s / F L U X . 1 - d e v " , s u b f o l d e r = " t r a n s f o r m e r " , q u a n t i z a t i o n _ c o n f i g = q u a n t i z a t i o n _ c o n f i g , t o r c h _ d t y p e = t o r c h . f l o a t 3 2 ) m o d e l _ 8 b i t . t r a n s f o r m e r _ b l o c k s . l a y e r s [ - 1 ] . n o r m 2 . w e i g h t . d t y p e ` ` ` O n c e a m o d e l i s q u a n t i z e d , y o u c a n p u s h t h e m o d e l t o t h e H u b w i t h t h e [ p u s h _ t o _ h u b ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . u t i l s . P u s h T o H u b M i x i n . p u s h _ t o _ h u b ) m e t h o d . T h e q u a n t i z a t i o n ` c o n f i g . j s o n ` f i l e i s p u s h e d f i r s t , f o l l o w e d b y t h e q u a n t i z e d m o d e l w e i g h t s . Y o u c a n a l s o s a v e t h e s e r i a l i z e d 4 - b i t m o d e l s l o c a l l y w i t h [ s a v e _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / o v e r v i e w # d i f f u s e r s . M o d e l M i x i n . s a v e _ p r e t r a i n e d ) . < / h f o p t i o n > < h f o p t i o n i d = " 4 - b i t " > Q u a n t i z i n g a m o d e l i n 4 - b i t r e d u c e s y o u r m e m o r y - u s a g e b y 4 x : ` ` ` p y f r o m d i f f u s e r s i m p o r t F l u x T r a n s f o r m e r 2 D M o d e l , B i t s A n d B y t e s C o n f i g q u a n t i z a t i o n _ c o n f i g = B i t s A n d B y t e s C o n f i g ( l o a d _ i n _ 4 b i t = T r u e ) m o d e l _ 4 b i t = F l u x T r a n s f o r m e r 2 D M o d e l . f r o m _ p r e t r a i n e d ( " b l a c k - f o r e s t - l a b s / F L U X . 1 - d e v " , s u b f o l d e r = " t r a n s f o r m e r " , q u a n t i z a t i o n _ c o n f i g = q u a n t i z a t i o n _ c o n f i g ) ` ` ` B y d e f a u l t , a l l t h e o t h e r m o d u l e s s u c h a s ` t o r c h . n n . L a y e r N o r m ` a r e c o n v e r t e d t o ` t o r c h . f l o a t 1 6 ` . Y o u c a n c h a n g e t h e d a t a t y p e o f t h e s e m o d u l e s w i t h t h e ` t o r c h _ d t y p e ` p a r a m e t e r i f y o u w a n t : ` ` ` p y f r o m d i f f u s e r s i m p o r t F l u x T r a n s f o r m e r 2 D M o d e l , B i t s A n d B y t e s C o n f i g q u a n t i z a t i o n _ c o n f i g = B i t s A n d B y t e s C o n f i g ( l o a d _ i n _ 4 b i t = T r u e ) m o d e l _ 4 b i t = F l u x T r a n s f o r m e r 2 D M o d e l . f r o m _ p r e t r a i n e d ( " b l a c k - f o r e s t - l a b s / F L U X . 1 - d e v " , s u b f o l d e r = " t r a n s f o r m e r " , q u a n t i z a t i o n _ c o n f i g = q u a n t i z a t i o n _ c o n f i g , t o r c h _ d t y p e = t o r c h . f l o a t 3 2 ) m o d e l _ 4 b i t . t r a n s f o r m e r _ b l o c k s . l a y e r s [ - 1 ] . n o r m 2 . w e i g h t . d t y p e ` ` ` C a l l [ p u s h _ t o _ h u b ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . u t i l s . P u s h T o H u b M i x i n . p u s h _ t o _ h u b ) a f t e r l o a d i n g i t i n 4 - b i t p r e c i s i o n . Y o u c a n a l s o s a v e t h e s e r i a l i z e d 4 - b i t m o d e l s l o c a l l y w i t h [ s a v e _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / o v e r v i e w # d i f f u s e r s . M o d e l M i x i n . s a v e _ p r e t r a i n e d ) . < / h f o p t i o n > < / h f o p t i o n s > < T i p w a r n i n g = { t r u e } > T r a i n i n g w i t h 8 - b i t a n d 4 - b i t w e i g h t s a r e o n l y s u p p o r t e d f o r t r a i n i n g * e x t r a * p a r a m e t e r s . < / T i p > C h e c k y o u r m e m o r y f o o t p r i n t w i t h t h e ` g e t _ m e m o r y _ f o o t p r i n t ` m e t h o d : ` ` ` p y p r i n t ( m o d e l . g e t _ m e m o r y _ f o o t p r i n t ( ) ) ` ` ` Q u a n t i z e d m o d e l s c a n b e l o a d e d f r o m t h e [ f r o m _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / o v e r v i e w # d i f f u s e r s . M o d e l M i x i n . f r o m _ p r e t r a i n e d ) m e t h o d w i t h o u t n e e d i n g t o s p e c i f y t h e ` q u a n t i z a t i o n _ c o n f i g ` p a r a m e t e r s : ` ` ` p y f r o m d i f f u s e r s i m p o r t F l u x T r a n s f o r m e r 2 D M o d e l , B i t s A n d B y t e s C o n f i g q u a n t i z a t i o n _ c o n f i g = B i t s A n d B y t e s C o n f i g ( l o a d _ i n _ 4 b i t = T r u e ) m o d e l _ 4 b i t = F l u x T r a n s f o r m e r 2 D M o d e l . f r o m _ p r e t r a i n e d ( " h f - i n t e r n a l - t e s t i n g / f l u x . 1 - d e v - n f 4 - p k g " , s u b f o l d e r = " t r a n s f o r m e r " ) ` ` ` # # 8 - b i t ( L L M . i n t 8 ( ) a l g o r i t h m ) < T i p > L e a r n m o r e a b o u t t h e d e t a i l s o f 8 - b i t q u a n t i z a t i o n i n t h i s [ b l o g p o s t ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / h f - b i t s a n d b y t e s - i n t e g r a t i o n ) ! < / T i p > T h i s s e c t i o n e x p l o r e s s o m e o f t h e s p e c i f i c f e a t u r e s o f 8 - b i t m o d e l s , s u c h a s o u t l i e r t h r e s h o l d s a n d s k i p p i n g m o d u l e c o n v e r s i o n . # # # O u t l i e r t h r e s h o l d A n " o u t l i e r " i s a h i d d e n s t a t e v a l u e g r e a t e r t h a n a c e r t a i n t h r e s h o l d , a n d t h e s e v a l u e s a r e c o m p u t e d i n f p 1 6 . W h i l e t h e v a l u e s a r e u s u a l l y n o r m a l l y d i s t r i b u t e d ( [ - 3 . 5 , 3 . 5 ] ) , t h i s d i s t r i b u t i o n c a n b e v e r y d i f f e r e n t f o r l a r g e m o d e l s ( [ - 6 0 , 6 ] o r [ 6 , 6 0 ] ) . 8 - b i t q u a n t i z a t i o n w o r k s w e l l f o r v a l u e s ~ 5 , b u t b e y o n d t h a t , t h e r e i s a s i g n i f i c a n t p e r f o r m a n c e p e n a l t y . A g o o d d e f a u l t t h r e s h o l d v a l u e i s 6 , b u t a l o w e r t h r e s h o l d m a y b e n e e d e d f o r m o r e u n s t a b l e m o d e l s ( s m a l l m o d e l s o r f i n e t u n i n g ) . T o f i n d t h e b e s t t h r e s h o l d f o r y o u r m o d e l , w e r e c o m m e n d e x p e r i m e n t i n g w i t h t h e ` l l m _ i n t 8 _ t h r e s h o l d ` p a r a m e t e r i n [ B i t s A n d B y t e s C o n f i g ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / q u a n t i z a t i o n # d i f f u s e r s . B i t s A n d B y t e s C o n f i g ) : ` ` ` p y f r o m d i f f u s e r s i m p o r t F l u x T r a n s f o r m e r 2 D M o d e l , B i t s A n d B y t e s C o n f i g q u a n t i z a t i o n _ c o n f i g = B i t s A n d B y t e s C o n f i g ( l o a d _ i n _ 8 b i t = T r u e , l l m _ i n t 8 _ t h r e s h o l d = 1 0 , ) m o d e l _ 8 b i t = F l u x T r a n s f o r m e r 2 D M o d e l . f r o m _ p r e t r a i n e d ( " b l a c k - f o r e s t - l a b s / F L U X . 1 - d e v " , s u b f o l d e r = " t r a n s f o r m e r " , q u a n t i z a t i o n _ c o n f i g = q u a n t i z a t i o n _ c o n f i g , ) ` ` ` # # # S k i p m o d u l e c o n v e r s i o n F o r s o m e m o d e l s , y o u d o n ' t n e e d t o q u a n t i z e e v e r y m o d u l e t o 8 - b i t w h i c h c a n a c t u a l l y c a u s e i n s t a b i l i t y . F o r e x a m p l e , f o r d i f f u s i o n m o d e l s l i k e [ S t a b l e D i f f u s i o n 3 ] ( . . / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ 3 ) , t h e ` p r o j _ o u t ` m o d u l e c a n b e s k i p p e d u s i n g t h e ` l l m _ i n t 8 _ s k i p _ m o d u l e s ` p a r a m e t e r i n [ B i t s A n d B y t e s C o n f i g ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / q u a n t i z a t i o n # d i f f u s e r s . B i t s A n d B y t e s C o n f i g ) : ` ` ` p y f r o m d i f f u s e r s i m p o r t S D 3 T r a n s f o r m e r 2 D M o d e l , B i t s A n d B y t e s C o n f i g q u a n t i z a t i o n _ c o n f i g = B i t s A n d B y t e s C o n f i g ( l o a d _ i n _ 8 b i t = T r u e , l l m _ i n t 8 _ s k i p _ m o d u l e s = [ " p r o j _ o u t " ] , ) m o d e l _ 8 b i t = S D 3 T r a n s f o r m e r 2 D M o d e l . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 - m e d i u m - d i f f u s e r s " , s u b f o l d e r = " t r a n s f o r m e r " , q u a n t i z a t i o n _ c o n f i g = q u a n t i z a t i o n _ c o n f i g , ) ` ` ` # # 4 - b i t ( Q L o R A a l g o r i t h m ) < T i p > L e a r n m o r e a b o u t i t s d e t a i l s i n t h i s [ b l o g p o s t ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / 4 b i t - t r a n s f o r m e r s - b i t s a n d b y t e s ) . < / T i p > T h i s s e c t i o n e x p l o r e s s o m e o f t h e s p e c i f i c f e a t u r e s o f 4 - b i t m o d e l s , s u c h a s c h a n g i n g t h e c o m p u t e d a t a t y p e , u s i n g t h e N o r m a l F l o a t 4 ( N F 4 ) d a t a t y p e , a n d u s i n g n e s t e d q u a n t i z a t i o n . # # # C o m p u t e d a t a t y p e T o s p e e d u p c o m p u t a t i o n , y o u c a n c h a n g e t h e d a t a t y p e f r o m f l o a t 3 2 ( t h e d e f a u l t v a l u e ) t o b f 1 6 u s i n g t h e ` b n b _ 4 b i t _ c o m p u t e _ d t y p e ` p a r a m e t e r i n [ B i t s A n d B y t e s C o n f i g ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / q u a n t i z a t i o n # d i f f u s e r s . B i t s A n d B y t e s C o n f i g ) : ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t B i t s A n d B y t e s C o n f i g q u a n t i z a t i o n _ c o n f i g = B i t s A n d B y t e s C o n f i g ( l o a d _ i n _ 4 b i t = T r u e , b n b _ 4 b i t _ c o m p u t e _ d t y p e = t o r c h . b f l o a t 1 6 ) ` ` ` # # # N o r m a l F l o a t 4 ( N F 4 ) N F 4 i s a 4 - b i t d a t a t y p e f r o m t h e [ Q L o R A ] ( h t t p s : / / h f . c o / p a p e r s / 2 3 0 5 . 1 4 3 1 4 ) p a p e r , a d a p t e d f o r w e i g h t s i n i t i a l i z e d f r o m a n o r m a l d i s t r i b u t i o n . Y o u s h o u l d u s e N F 4 f o r t r a i n i n g 4 - b i t b a s e m o d e l s . T h i s c a n b e c o n f i g u r e d w i t h t h e ` b n b _ 4 b i t _ q u a n t _ t y p e ` p a r a m e t e r i n t h e [ B i t s A n d B y t e s C o n f i g ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / q u a n t i z a t i o n # d i f f u s e r s . B i t s A n d B y t e s C o n f i g ) : ` ` ` p y f r o m d i f f u s e r s i m p o r t B i t s A n d B y t e s C o n f i g n f 4 _ c o n f i g = B i t s A n d B y t e s C o n f i g ( l o a d _ i n _ 4 b i t = T r u e , b n b _ 4 b i t _ q u a n t _ t y p e = " n f 4 " , ) m o d e l _ n f 4 = S D 3 T r a n s f o r m e r 2 D M o d e l . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 - m e d i u m - d i f f u s e r s " , s u b f o l d e r = " t r a n s f o r m e r " , q u a n t i z a t i o n _ c o n f i g = n f 4 _ c o n f i g , ) ` ` ` F o r i n f e r e n c e , t h e ` b n b _ 4 b i t _ q u a n t _ t y p e ` d o e s n o t h a v e a h u g e i m p a c t o n p e r f o r m a n c e . H o w e v e r , t o r e m a i n c o n s i s t e n t w i t h t h e m o d e l w e i g h t s , y o u s h o u l d u s e t h e ` b n b _ 4 b i t _ c o m p u t e _ d t y p e ` a n d ` t o r c h _ d t y p e ` v a l u e s . # # # N e s t e d q u a n t i z a t i o n N e s t e d q u a n t i z a t i o n i s a t e c h n i q u e t h a t c a n s a v e a d d i t i o n a l m e m o r y a t n o a d d i t i o n a l p e r f o r m a n c e c o s t . T h i s f e a t u r e p e r f o r m s a s e c o n d q u a n t i z a t i o n o f t h e a l r e a d y q u a n t i z e d w e i g h t s t o s a v e a n a d d i t i o n a l 0 . 4 b i t s / p a r a m e t e r . ` ` ` p y f r o m d i f f u s e r s i m p o r t B i t s A n d B y t e s C o n f i g d o u b l e _ q u a n t _ c o n f i g = B i t s A n d B y t e s C o n f i g ( l o a d _ i n _ 4 b i t = T r u e , b n b _ 4 b i t _ u s e _ d o u b l e _ q u a n t = T r u e , ) d o u b l e _ q u a n t _ m o d e l = S D 3 T r a n s f o r m e r 2 D M o d e l . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 - m e d i u m - d i f f u s e r s " , s u b f o l d e r = " t r a n s f o r m e r " , q u a n t i z a t i o n _ c o n f i g = d o u b l e _ q u a n t _ c o n f i g , ) ` ` ` # # D e q u a n t i z i n g ` b i t s a n d b y t e s ` m o d e l s O n c e q u a n t i z e d , y o u c a n d e q u a n t i z e t h e m o d e l t o t h e o r i g i n a l p r e c i s i o n b u t t h i s m i g h t r e s u l t i n a s m a l l q u a l i t y l o s s o f t h e m o d e l . M a k e s u r e y o u h a v e e n o u g h G P U R A M t o f i t t h e d e q u a n t i z e d m o d e l . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t B i t s A n d B y t e s C o n f i g d o u b l e _ q u a n t _ c o n f i g = B i t s A n d B y t e s C o n f i g ( l o a d _ i n _ 4 b i t = T r u e , b n b _ 4 b i t _ u s e _ d o u b l e _ q u a n t = T r u e , ) d o u b l e _ q u a n t _ m o d e l = S D 3 T r a n s f o r m e r 2 D M o d e l . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 3 - m e d i u m - d i f f u s e r s " , s u b f o l d e r = " t r a n s f o r m e r " , q u a n t i z a t i o n _ c o n f i g = d o u b l e _ q u a n t _ c o n f i g , ) m o d e l . d e q u a n t i z e ( ) ` ` ` # # R e s o u r c e s * [ E n d - t o - e n d n o t e b o o k s h o w i n g F l u x . 1 D e v i n f e r e n c e i n a f r e e - t i e r C o l a b ] ( h t t p s : / / g i s t . g i t h u b . c o m / s a y a k p a u l / c 7 6 b d 8 4 5 b 4 8 7 5 9 e 1 1 6 8 7 a c 5 5 0 b 9 9 d 8 b 4 ) * [ T r a i n i n g ] ( h t t p s : / / g i s t . g i t h u b . c o m / s a y a k p a u l / 0 5 a f d 4 2 8 b c 0 8 9 b 4 7 a f 7 c 0 1 6 e 4 2 0 0 4 5 2 7 ) # Q u a n t i z a t i o n Q u a n t i z a t i o n t e c h n i q u e s f o c u s o n r e p r e s e n t i n g d a t a w i t h l e s s i n f o r m a t i o n w h i l e a l s o t r y i n g t o n o t l o s e t o o m u c h a c c u r a c y . T h i s o f t e n m e a n s c o n v e r t i n g a d a t a t y p e t o r e p r e s e n t t h e s a m e i n f o r m a t i o n w i t h f e w e r b i t s . F o r e x a m p l e , i f y o u r m o d e l w e i g h t s a r e s t o r e d a s 3 2 - b i t f l o a t i n g p o i n t s a n d t h e y ' r e q u a n t i z e d t o 1 6 - b i t f l o a t i n g p o i n t s , t h i s h a l v e s t h e m o d e l s i z e w h i c h m a k e s i t e a s i e r t o s t o r e a n d r e d u c e s m e m o r y - u s a g e . L o w e r p r e c i s i o n c a n a l s o s p e e d u p i n f e r e n c e b e c a u s e i t t a k e s l e s s t i m e t o p e r f o r m c a l c u l a t i o n s w i t h f e w e r b i t s . < T i p > I n t e r e s t e d i n a d d i n g a n e w q u a n t i z a t i o n m e t h o d t o T r a n s f o r m e r s ? R e f e r t o t h e [ C o n t r i b u t e n e w q u a n t i z a t i o n m e t h o d g u i d e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / e n / q u a n t i z a t i o n / c o n t r i b u t e ) t o l e a r n m o r e a b o u t a d d i n g a n e w q u a n t i z a t i o n m e t h o d . < / T i p > < T i p > I f y o u a r e n e w t o t h e q u a n t i z a t i o n f i e l d , w e r e c o m m e n d y o u t o c h e c k o u t t h e s e b e g i n n e r - f r i e n d l y c o u r s e s a b o u t q u a n t i z a t i o n i n c o l l a b o r a t i o n w i t h D e e p L e a r n i n g . A I : * [ Q u a n t i z a t i o n F u n d a m e n t a l s w i t h H u g g i n g F a c e ] ( h t t p s : / / w w w . d e e p l e a r n i n g . a i / s h o r t - c o u r s e s / q u a n t i z a t i o n - f u n d a m e n t a l s - w i t h - h u g g i n g - f a c e / ) * [ Q u a n t i z a t i o n i n D e p t h ] ( h t t p s : / / w w w . d e e p l e a r n i n g . a i / s h o r t - c o u r s e s / q u a n t i z a t i o n - i n - d e p t h / ) < / T i p > # # W h e n t o u s e w h a t ? T h i s s e c t i o n w i l l b e e x p a n d e d o n c e D i f f u s e r s h a s m u l t i p l e q u a n t i z a t i o n b a c k e n d s . C u r r e n t l y , w e o n l y s u p p o r t ` b i t s a n d b y t e s ` . [ T h i s r e s o u r c e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / e n / q u a n t i z a t i o n / o v e r v i e w # w h e n - t o - u s e - w h a t ) p r o v i d e s a g o o d o v e r v i e w o f t h e p r o s a n d c o n s o f d i f f e r e n t q u a n t i z a t i o n t e c h n i q u e s . # T - G A T E [ T - G A T E ] ( h t t p s : / / g i t h u b . c o m / H a o z h e L i u - S T / T - G A T E / t r e e / m a i n ) a c c e l e r a t e s i n f e r e n c e f o r [ S t a b l e D i f f u s i o n ] ( . . / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / o v e r v i e w ) , [ P i x A r t ] ( . . / a p i / p i p e l i n e s / p i x a r t ) , a n d [ L a t e n c y C o n s i s t e n c y M o d e l ] ( . . / a p i / p i p e l i n e s / l a t e n t _ c o n s i s t e n c y _ m o d e l s . m d ) p i p e l i n e s b y s k i p p i n g t h e c r o s s - a t t e n t i o n c a l c u l a t i o n o n c e i t c o n v e r g e s . T h i s m e t h o d d o e s n ' t r e q u i r e a n y a d d i t i o n a l t r a i n i n g a n d i t c a n s p e e d u p i n f e r e n c e f r o m 1 0 - 5 0 % . T - G A T E i s a l s o c o m p a t i b l e w i t h o t h e r o p t i m i z a t i o n m e t h o d s l i k e [ D e e p C a c h e ] ( . / d e e p c a c h e ) . B e f o r e y o u b e g i n , m a k e s u r e y o u i n s t a l l T - G A T E . ` ` ` b a s h p i p i n s t a l l t g a t e p i p i n s t a l l - U t o r c h d i f f u s e r s t r a n s f o r m e r s a c c e l e r a t e D e e p C a c h e ` ` ` T o u s e T - G A T E w i t h a p i p e l i n e , y o u n e e d t o u s e i t s c o r r e s p o n d i n g l o a d e r . | P i p e l i n e | T - G A T E L o a d e r | | - - - | - - - | | P i x A r t | T g a t e P i x A r t L o a d e r | | S t a b l e D i f f u s i o n X L | T g a t e S D X L L o a d e r | | S t a b l e D i f f u s i o n X L + D e e p C a c h e | T g a t e S D X L D e e p C a c h e L o a d e r | | S t a b l e D i f f u s i o n | T g a t e S D L o a d e r | | S t a b l e D i f f u s i o n + D e e p C a c h e | T g a t e S D D e e p C a c h e L o a d e r | N e x t , c r e a t e a ` T g a t e L o a d e r ` w i t h a p i p e l i n e , t h e g a t e s t e p ( t h e t i m e s t e p t o s t o p c a l c u l a t i n g t h e c r o s s a t t e n t i o n ) , a n d t h e n u m b e r o f i n f e r e n c e s t e p s . T h e n c a l l t h e ` t g a t e ` m e t h o d o n t h e p i p e l i n e w i t h a p r o m p t , g a t e s t e p , a n d t h e n u m b e r o f i n f e r e n c e s t e p s . L e t ' s s e e h o w t o e n a b l e t h i s f o r s e v e r a l d i f f e r e n t p i p e l i n e s . < h f o p t i o n s i d = " p i p e l i n e s " > < h f o p t i o n i d = " P i x A r t " > A c c e l e r a t e ` P i x A r t A l p h a P i p e l i n e ` w i t h T - G A T E : ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t P i x A r t A l p h a P i p e l i n e f r o m t g a t e i m p o r t T g a t e P i x A r t L o a d e r p i p e = P i x A r t A l p h a P i p e l i n e . f r o m _ p r e t r a i n e d ( " P i x A r t - a l p h a / P i x A r t - X L - 2 - 1 0 2 4 - M S " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) g a t e _ s t e p = 8 i n f e r e n c e _ s t e p = 2 5 p i p e = T g a t e P i x A r t L o a d e r ( p i p e , g a t e _ s t e p = g a t e _ s t e p , n u m _ i n f e r e n c e _ s t e p s = i n f e r e n c e _ s t e p , ) . t o ( " c u d a " ) i m a g e = p i p e . t g a t e ( " A n a l p a c a m a d e o f c o l o r f u l b u i l d i n g b l o c k s , c y b e r p u n k . " , g a t e _ s t e p = g a t e _ s t e p , n u m _ i n f e r e n c e _ s t e p s = i n f e r e n c e _ s t e p , ) . i m a g e s [ 0 ] ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " S t a b l e D i f f u s i o n X L " > A c c e l e r a t e ` S t a b l e D i f f u s i o n X L P i p e l i n e ` w i t h T - G A T E : ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e f r o m d i f f u s e r s i m p o r t D P M S o l v e r M u l t i s t e p S c h e d u l e r f r o m t g a t e i m p o r t T g a t e S D X L L o a d e r p i p e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e , ) p i p e . s c h e d u l e r = D P M S o l v e r M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) g a t e _ s t e p = 1 0 i n f e r e n c e _ s t e p = 2 5 p i p e = T g a t e S D X L L o a d e r ( p i p e , g a t e _ s t e p = g a t e _ s t e p , n u m _ i n f e r e n c e _ s t e p s = i n f e r e n c e _ s t e p , ) . t o ( " c u d a " ) i m a g e = p i p e . t g a t e ( " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k . " , g a t e _ s t e p = g a t e _ s t e p , n u m _ i n f e r e n c e _ s t e p s = i n f e r e n c e _ s t e p ) . i m a g e s [ 0 ] ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " S t a b l e D i f f u s i o n X L w i t h D e e p C a c h e " > A c c e l e r a t e ` S t a b l e D i f f u s i o n X L P i p e l i n e ` w i t h [ D e e p C a c h e ] ( h t t p s : / / g i t h u b . c o m / h o r s e e e / D e e p C a c h e ) a n d T - G A T E : ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e f r o m d i f f u s e r s i m p o r t D P M S o l v e r M u l t i s t e p S c h e d u l e r f r o m t g a t e i m p o r t T g a t e S D X L D e e p C a c h e L o a d e r p i p e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e , ) p i p e . s c h e d u l e r = D P M S o l v e r M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) g a t e _ s t e p = 1 0 i n f e r e n c e _ s t e p = 2 5 p i p e = T g a t e S D X L D e e p C a c h e L o a d e r ( p i p e , c a c h e _ i n t e r v a l = 3 , c a c h e _ b r a n c h _ i d = 0 , ) . t o ( " c u d a " ) i m a g e = p i p e . t g a t e ( " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k . " , g a t e _ s t e p = g a t e _ s t e p , n u m _ i n f e r e n c e _ s t e p s = i n f e r e n c e _ s t e p ) . i m a g e s [ 0 ] ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " L a t e n t C o n s i s t e n c y M o d e l " > A c c e l e r a t e ` l a t e n t - c o n s i s t e n c y / l c m - s d x l ` w i t h T - G A T E : ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e f r o m d i f f u s e r s i m p o r t U N e t 2 D C o n d i t i o n M o d e l , L C M S c h e d u l e r f r o m d i f f u s e r s i m p o r t D P M S o l v e r M u l t i s t e p S c h e d u l e r f r o m t g a t e i m p o r t T g a t e S D X L L o a d e r u n e t = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( " l a t e n t - c o n s i s t e n c y / l c m - s d x l " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) p i p e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , u n e t = u n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) p i p e . s c h e d u l e r = L C M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) g a t e _ s t e p = 1 i n f e r e n c e _ s t e p = 4 p i p e = T g a t e S D X L L o a d e r ( p i p e , g a t e _ s t e p = g a t e _ s t e p , n u m _ i n f e r e n c e _ s t e p s = i n f e r e n c e _ s t e p , l c m = T r u e ) . t o ( " c u d a " ) i m a g e = p i p e . t g a t e ( " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k . " , g a t e _ s t e p = g a t e _ s t e p , n u m _ i n f e r e n c e _ s t e p s = i n f e r e n c e _ s t e p ) . i m a g e s [ 0 ] ` ` ` < / h f o p t i o n > < / h f o p t i o n s > T - G A T E a l s o s u p p o r t s [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) a n d [ P i x A r t - a l p h a / P i x A r t - L C M - X L - 2 - 1 0 2 4 - M S ] ( h t t p s : / / h f . c o / P i x A r t - a l p h a / P i x A r t - L C M - X L - 2 - 1 0 2 4 - M S ) . # # B e n c h m a r k s | M o d e l | M A C s | P a r a m | L a t e n c y | Z e r o - s h o t 1 0 K - F I D o n M S - C O C O | | - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - | - - - - - - - - - - - | - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - - - | | S D - 1 . 5 | 1 6 . 9 3 8 T | 8 5 9 . 5 2 0 M | 7 . 0 3 2 s | 2 3 . 9 2 7 | | S D - 1 . 5 w / T - G A T E | 9 . 8 7 5 T | 8 1 5 . 5 5 7 M | 4 . 3 1 3 s | 2 0 . 7 8 9 | | S D - 2 . 1 | 3 8 . 0 4 1 T | 8 6 5 . 7 8 5 M | 1 6 . 1 2 1 s | 2 2 . 6 0 9 | | S D - 2 . 1 w / T - G A T E | 2 2 . 2 0 8 T | 8 1 5 . 4 3 3 M | 9 . 8 7 8 s | 1 9 . 9 4 0 | | S D - X L | 1 4 9 . 4 3 8 T | 2 . 5 7 0 B | 5 3 . 1 8 7 s | 2 4 . 6 2 8 | | S D - X L w / T - G A T E | 8 4 . 4 3 8 T | 2 . 0 2 4 B | 2 7 . 9 3 2 s | 2 2 . 7 3 8 | | P i x a r t - A l p h a | 1 0 7 . 0 3 1 T | 6 1 1 . 3 5 0 M | 6 1 . 5 0 2 s | 3 8 . 6 6 9 | | P i x a r t - A l p h a w / T - G A T E | 6 5 . 3 1 8 T | 4 6 2 . 5 8 5 M | 3 7 . 8 6 7 s | 3 5 . 8 2 5 | | D e e p C a c h e ( S D - X L ) | 5 7 . 8 8 8 T | - | 1 9 . 9 3 1 s | 2 3 . 7 5 5 | | D e e p C a c h e w / T - G A T E | 4 3 . 8 6 8 T | - | 1 4 . 6 6 6 s | 2 3 . 9 9 9 | | L C M ( S D - X L ) | 1 1 . 9 5 5 T | 2 . 5 7 0 B | 3 . 8 0 5 s | 2 5 . 0 4 4 | | L C M w / T - G A T E | 1 1 . 1 7 1 T | 2 . 0 2 4 B | 3 . 5 3 3 s | 2 5 . 0 2 8 | | L C M ( P i x a r t - A l p h a ) | 8 . 5 6 3 T | 6 1 1 . 3 5 0 M | 4 . 7 3 3 s | 3 6 . 0 8 6 | | L C M w / T - G A T E | 7 . 6 2 3 T | 4 6 2 . 5 8 5 M | 4 . 5 4 3 s | 3 7 . 0 4 8 | T h e l a t e n c y i s t e s t e d o n a n N V I D I A 1 0 8 0 T I , M A C s a n d P a r a m s a r e c a l c u l a t e d w i t h [ c a l f l o p s ] ( h t t p s : / / g i t h u b . c o m / M r Y x J / c a l c u l a t e - f l o p s . p y t o r c h ) , a n d t h e F I D i s c a l c u l a t e d w i t h [ P y t o r c h F I D ] ( h t t p s : / / g i t h u b . c o m / m s e i t z e r / p y t o r c h - f i d ) . # T o k e n m e r g i n g [ T o k e n m e r g i n g ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 3 . 1 7 6 0 4 ) ( T o M e ) m e r g e s r e d u n d a n t t o k e n s / p a t c h e s p r o g r e s s i v e l y i n t h e f o r w a r d p a s s o f a T r a n s f o r m e r - b a s e d n e t w o r k w h i c h c a n s p e e d - u p t h e i n f e r e n c e l a t e n c y o f [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) . I n s t a l l T o M e f r o m ` p i p ` : ` ` ` b a s h p i p i n s t a l l t o m e s d ` ` ` Y o u c a n u s e T o M e f r o m t h e [ ` t o m e s d ` ] ( h t t p s : / / g i t h u b . c o m / d b o l y a / t o m e s d ) l i b r a r y w i t h t h e [ ` a p p l y _ p a t c h ` ] ( h t t p s : / / g i t h u b . c o m / d b o l y a / t o m e s d ? t a b = r e a d m e - o v - f i l e # u s a g e ) f u n c t i o n : ` ` ` d i f f f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e i m p o r t t o r c h i m p o r t t o m e s d p i p e l i n e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , ) . t o ( " c u d a " ) + t o m e s d . a p p l y _ p a t c h ( p i p e l i n e , r a t i o = 0 . 5 ) i m a g e = p i p e l i n e ( " a p h o t o o f a n a s t r o n a u t r i d i n g a h o r s e o n m a r s " ) . i m a g e s [ 0 ] ` ` ` T h e ` a p p l y _ p a t c h ` f u n c t i o n e x p o s e s a n u m b e r o f [ a r g u m e n t s ] ( h t t p s : / / g i t h u b . c o m / d b o l y a / t o m e s d # u s a g e ) t o h e l p s t r i k e a b a l a n c e b e t w e e n p i p e l i n e i n f e r e n c e s p e e d a n d t h e q u a l i t y o f t h e g e n e r a t e d t o k e n s . T h e m o s t i m p o r t a n t a r g u m e n t i s ` r a t i o ` w h i c h c o n t r o l s t h e n u m b e r o f t o k e n s t h a t a r e m e r g e d d u r i n g t h e f o r w a r d p a s s . A s r e p o r t e d i n t h e [ p a p e r ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 3 . 1 7 6 0 4 ) , T o M e c a n g r e a t l y p r e s e r v e t h e q u a l i t y o f t h e g e n e r a t e d i m a g e s w h i l e b o o s t i n g i n f e r e n c e s p e e d . B y i n c r e a s i n g t h e ` r a t i o ` , y o u c a n s p e e d - u p i n f e r e n c e e v e n f u r t h e r , b u t a t t h e c o s t o f s o m e d e g r a d e d i m a g e q u a l i t y . T o t e s t t h e q u a l i t y o f t h e g e n e r a t e d i m a g e s , w e s a m p l e d a f e w p r o m p t s f r o m [ P a r t i P r o m p t s ] ( h t t p s : / / p a r t i . r e s e a r c h . g o o g l e / ) a n d p e r f o r m e d i n f e r e n c e w i t h t h e [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) w i t h t h e f o l l o w i n g s e t t i n g s : < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / t o m e / t o m e _ s a m p l e s . p n g " > < / d i v > W e d i d n โ€™ t n o t i c e a n y s i g n i f i c a n t d e c r e a s e i n t h e q u a l i t y o f t h e g e n e r a t e d s a m p l e s , a n d y o u c a n c h e c k o u t t h e g e n e r a t e d s a m p l e s i n t h i s [ W a n d B r e p o r t ] ( h t t p s : / / w a n d b . a i / s a y a k p a u l / t o m e s d - r e s u l t s / r u n s / 2 3 j 4 b j 3 i ? w o r k s p a c e = ) . I f y o u ' r e i n t e r e s t e d i n r e p r o d u c i n g t h i s e x p e r i m e n t , u s e t h i s [ s c r i p t ] ( h t t p s : / / g i s t . g i t h u b . c o m / s a y a k p a u l / 8 c a c 9 8 d 7 f 2 2 3 9 9 0 8 5 a 0 6 0 9 9 2 f 4 1 1 e c b d ) . # # B e n c h m a r k s W e a l s o b e n c h m a r k e d t h e i m p a c t o f ` t o m e s d ` o n t h e [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) w i t h [ x F o r m e r s ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / o p t i m i z a t i o n / x f o r m e r s ) e n a b l e d a c r o s s s e v e r a l i m a g e r e s o l u t i o n s . T h e r e s u l t s a r e o b t a i n e d f r o m A 1 0 0 a n d V 1 0 0 G P U s i n t h e f o l l o w i n g d e v e l o p m e n t e n v i r o n m e n t : ` ` ` b a s h - ` d i f f u s e r s ` v e r s i o n : 0 . 1 5 . 1 - P y t h o n v e r s i o n : 3 . 8 . 1 6 - P y T o r c h v e r s i o n ( G P U ? ) : 1 . 1 3 . 1 + c u 1 1 6 ( T r u e ) - H u g g i n g f a c e _ h u b v e r s i o n : 0 . 1 3 . 2 - T r a n s f o r m e r s v e r s i o n : 4 . 2 7 . 2 - A c c e l e r a t e v e r s i o n : 0 . 1 8 . 0 - x F o r m e r s v e r s i o n : 0 . 0 . 1 6 - t o m e s d v e r s i o n : 0 . 1 . 2 ` ` ` T o r e p r o d u c e t h i s b e n c h m a r k , f e e l f r e e t o u s e t h i s [ s c r i p t ] ( h t t p s : / / g i s t . g i t h u b . c o m / s a y a k p a u l / 2 7 a e c 6 b c a 7 e b 7 b 0 e 0 a a 4 1 1 2 2 0 5 8 5 0 3 3 5 ) . T h e r e s u l t s a r e r e p o r t e d i n s e c o n d s , a n d w h e r e a p p l i c a b l e w e r e p o r t t h e s p e e d - u p p e r c e n t a g e o v e r t h e v a n i l l a p i p e l i n e w h e n u s i n g T o M e a n d T o M e + x F o r m e r s . | * * G P U * * | * * R e s o l u t i o n * * | * * B a t c h s i z e * * | * * V a n i l l a * * | * * T o M e * * | * * T o M e + x F o r m e r s * * | | - - - - - - - - - - | - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - | | * * A 1 0 0 * * | 5 1 2 | 1 0 | 6 . 8 8 | 5 . 2 6 ( + 2 3 . 5 5 % ) | 4 . 6 9 ( + 3 1 . 8 3 % ) | | | 7 6 8 | 1 0 | O O M | 1 4 . 7 1 | 1 1 | | | | 8 | O O M | 1 1 . 5 6 | 8 . 8 4 | | | | 4 | O O M | 5 . 9 8 | 4 . 6 6 | | | | 2 | 4 . 9 9 | 3 . 2 4 ( + 3 5 . 0 7 % ) | 2 . 1 ( + 3 7 . 8 8 % ) | | | | 1 | 3 . 2 9 | 2 . 2 4 ( + 3 1 . 9 1 % ) | 2 . 0 3 ( + 3 8 . 3 % ) | | | 1 0 2 4 | 1 0 | O O M | O O M | O O M | | | | 8 | O O M | O O M | O O M | | | | 4 | O O M | 1 2 . 5 1 | 9 . 0 9 | | | | 2 | O O M | 6 . 5 2 | 4 . 9 6 | | | | 1 | 6 . 4 | 3 . 6 1 ( + 4 3 . 5 9 % ) | 2 . 8 1 ( + 5 6 . 0 9 % ) | | * * V 1 0 0 * * | 5 1 2 | 1 0 | O O M | 1 0 . 0 3 | 9 . 2 9 | | | | 8 | O O M | 8 . 0 5 | 7 . 4 7 | | | | 4 | 5 . 7 | 4 . 3 ( + 2 4 . 5 6 % ) | 3 . 9 8 ( + 3 0 . 1 8 % ) | | | | 2 | 3 . 1 4 | 2 . 4 3 ( + 2 2 . 6 1 % ) | 2 . 2 7 ( + 2 7 . 7 1 % ) | | | | 1 | 1 . 8 8 | 1 . 5 7 ( + 1 6 . 4 9 % ) | 1 . 5 7 ( + 1 6 . 4 9 % ) | | | 7 6 8 | 1 0 | O O M | O O M | 2 3 . 6 7 | | | | 8 | O O M | O O M | 1 8 . 8 1 | | | | 4 | O O M | 1 1 . 8 1 | 9 . 7 | | | | 2 | O O M | 6 . 2 7 | 5 . 2 | | | | 1 | 5 . 4 3 | 3 . 3 8 ( + 3 7 . 7 5 % ) | 2 . 8 2 ( + 4 8 . 0 7 % ) | | | 1 0 2 4 | 1 0 | O O M | O O M | O O M | | | | 8 | O O M | O O M | O O M | | | | 4 | O O M | O O M | 1 9 . 3 5 | | | | 2 | O O M | 1 3 | 1 0 . 7 8 | | | | 1 | O O M | 6 . 6 6 | 5 . 5 4 | A s s e e n i n t h e t a b l e s a b o v e , t h e s p e e d - u p f r o m ` t o m e s d ` b e c o m e s m o r e p r o n o u n c e d f o r l a r g e r i m a g e r e s o l u t i o n s . I t i s a l s o i n t e r e s t i n g t o n o t e t h a t w i t h ` t o m e s d ` , i t i s p o s s i b l e t o r u n t h e p i p e l i n e o n a h i g h e r r e s o l u t i o n l i k e 1 0 2 4 x 1 0 2 4 . Y o u m a y b e a b l e t o s p e e d - u p i n f e r e n c e e v e n m o r e w i t h [ ` t o r c h . c o m p i l e ` ] ( t o r c h 2 . 0 ) . # D e e p C a c h e [ D e e p C a c h e ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 1 2 . 0 0 8 5 8 ) a c c e l e r a t e s [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) a n d [ S t a b l e D i f f u s i o n X L P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L P i p e l i n e ) b y s t r a t e g i c a l l y c a c h i n g a n d r e u s i n g h i g h - l e v e l f e a t u r e s w h i l e e f f i c i e n t l y u p d a t i n g l o w - l e v e l f e a t u r e s b y t a k i n g a d v a n t a g e o f t h e U - N e t a r c h i t e c t u r e . S t a r t b y i n s t a l l i n g [ D e e p C a c h e ] ( h t t p s : / / g i t h u b . c o m / h o r s e e e / D e e p C a c h e ) : ` ` ` b a s h p i p i n s t a l l D e e p C a c h e ` ` ` T h e n l o a d a n d e n a b l e t h e [ ` D e e p C a c h e S D H e l p e r ` ] ( h t t p s : / / g i t h u b . c o m / h o r s e e e / D e e p C a c h e # u s a g e ) : ` ` ` d i f f i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e p i p e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( ' s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ' , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) + f r o m D e e p C a c h e i m p o r t D e e p C a c h e S D H e l p e r + h e l p e r = D e e p C a c h e S D H e l p e r ( p i p e = p i p e ) + h e l p e r . s e t _ p a r a m s ( + c a c h e _ i n t e r v a l = 3 , + c a c h e _ b r a n c h _ i d = 0 , + ) + h e l p e r . e n a b l e ( ) i m a g e = p i p e ( " a p h o t o o f a n a s t r o n a u t o n a m o o n " ) . i m a g e s [ 0 ] ` ` ` T h e ` s e t _ p a r a m s ` m e t h o d a c c e p t s t w o a r g u m e n t s : ` c a c h e _ i n t e r v a l ` a n d ` c a c h e _ b r a n c h _ i d ` . ` c a c h e _ i n t e r v a l ` m e a n s t h e f r e q u e n c y o f f e a t u r e c a c h i n g , s p e c i f i e d a s t h e n u m b e r o f s t e p s b e t w e e n e a c h c a c h e o p e r a t i o n . ` c a c h e _ b r a n c h _ i d ` i d e n t i f i e s w h i c h b r a n c h o f t h e n e t w o r k ( o r d e r e d f r o m t h e s h a l l o w e s t t o t h e d e e p e s t l a y e r ) i s r e s p o n s i b l e f o r e x e c u t i n g t h e c a c h i n g p r o c e s s e s . O p t i n g f o r a l o w e r ` c a c h e _ b r a n c h _ i d ` o r a l a r g e r ` c a c h e _ i n t e r v a l ` c a n l e a d t o f a s t e r i n f e r e n c e s p e e d a t t h e e x p e n s e o f r e d u c e d i m a g e q u a l i t y ( a b l a t i o n e x p e r i m e n t s o f t h e s e t w o h y p e r p a r a m e t e r s c a n b e f o u n d i n t h e [ p a p e r ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 1 2 . 0 0 8 5 8 ) ) . O n c e t h o s e a r g u m e n t s a r e s e t , u s e t h e ` e n a b l e ` o r ` d i s a b l e ` m e t h o d s t o a c t i v a t e o r d e a c t i v a t e t h e ` D e e p C a c h e S D H e l p e r ` . < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / g i t h u b . c o m / h o r s e e e / D i f f u s i o n _ D e e p C a c h e / r a w / m a s t e r / s t a t i c / i m a g e s / e x a m p l e . p n g " > < / d i v > Y o u c a n f i n d m o r e g e n e r a t e d s a m p l e s ( o r i g i n a l p i p e l i n e v s D e e p C a c h e ) a n d t h e c o r r e s p o n d i n g i n f e r e n c e l a t e n c y i n t h e [ W a n d B r e p o r t ] ( h t t p s : / / w a n d b . a i / h o r s e e e / D e e p C a c h e / r u n s / j w l s q q g t ? w o r k s p a c e = u s e r - h o r s e e e ) . T h e p r o m p t s a r e r a n d o m l y s e l e c t e d f r o m t h e [ M S - C O C O 2 0 1 7 ] ( h t t p s : / / c o c o d a t a s e t . o r g / # h o m e ) d a t a s e t . # # B e n c h m a r k W e t e s t e d h o w m u c h f a s t e r D e e p C a c h e a c c e l e r a t e s [ S t a b l e D i f f u s i o n v 2 . 1 ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - 1 ) w i t h 5 0 i n f e r e n c e s t e p s o n a n N V I D I A R T X A 5 0 0 0 , u s i n g d i f f e r e n t c o n f i g u r a t i o n s f o r r e s o l u t i o n , b a t c h s i z e , c a c h e i n t e r v a l ( I ) , a n d c a c h e b r a n c h ( B ) . | * * R e s o l u t i o n * * | * * B a t c h s i z e * * | * * O r i g i n a l * * | * * D e e p C a c h e ( I = 3 , B = 0 ) * * | * * D e e p C a c h e ( I = 5 , B = 0 ) * * | * * D e e p C a c h e ( I = 5 , B = 1 ) * * | | - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - | | 5 1 2 | 8 | 1 5 . 9 6 | 6 . 8 8 ( 2 . 3 2 x ) | 5 . 0 3 ( 3 . 1 8 x ) | 7 . 2 7 ( 2 . 2 0 x ) | | | 4 | 8 . 3 9 | 3 . 6 0 ( 2 . 3 3 x ) | 2 . 6 2 ( 3 . 2 1 x ) | 3 . 7 5 ( 2 . 2 4 x ) | | | 1 | 2 . 6 1 | 1 . 1 2 ( 2 . 3 3 x ) | 0 . 8 1 ( 3 . 2 4 x ) | 1 . 1 1 ( 2 . 3 5 x ) | | 7 6 8 | 8 | 4 3 . 5 8 | 1 8 . 9 9 ( 2 . 2 9 x ) | 1 3 . 9 6 ( 3 . 1 2 x ) | 2 1 . 2 7 ( 2 . 0 5 x ) | | | 4 | 2 2 . 2 4 | 9 . 6 7 ( 2 . 3 0 x ) | 7 . 1 0 ( 3 . 1 3 x ) | 1 0 . 7 4 ( 2 . 0 7 x ) | | | 1 | 6 . 3 3 | 2 . 7 2 ( 2 . 3 3 x ) | 1 . 9 7 ( 3 . 2 1 x ) | 2 . 9 8 ( 2 . 1 2 x ) | | 1 0 2 4 | 8 | 1 0 1 . 9 5 | 4 5 . 5 7 ( 2 . 2 4 x ) | 3 3 . 7 2 ( 3 . 0 2 x ) | 5 3 . 0 0 ( 1 . 9 2 x ) | | | 4 | 4 9 . 2 5 | 2 1 . 8 6 ( 2 . 2 5 x ) | 1 6 . 1 9 ( 3 . 0 4 x ) | 2 5 . 7 8 ( 1 . 9 1 x ) | | | 1 | 1 3 . 8 3 | 6 . 0 7 ( 2 . 2 8 x ) | 4 . 4 3 ( 3 . 1 2 x ) | 7 . 1 5 ( 1 . 9 3 x ) | # O N N X R u n t i m e ๐Ÿค— [ O p t i m u m ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / o p t i m u m ) p r o v i d e s a S t a b l e D i f f u s i o n p i p e l i n e c o m p a t i b l e w i t h O N N X R u n t i m e . Y o u ' l l n e e d t o i n s t a l l ๐Ÿค— O p t i m u m w i t h t h e f o l l o w i n g c o m m a n d f o r O N N X R u n t i m e s u p p o r t : ` ` ` b a s h p i p i n s t a l l - q o p t i m u m [ " o n n x r u n t i m e " ] ` ` ` T h i s g u i d e w i l l s h o w y o u h o w t o u s e t h e S t a b l e D i f f u s i o n a n d S t a b l e D i f f u s i o n X L ( S D X L ) p i p e l i n e s w i t h O N N X R u n t i m e . # # S t a b l e D i f f u s i o n T o l o a d a n d r u n i n f e r e n c e , u s e t h e [ O R T S t a b l e D i f f u s i o n P i p e l i n e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / o p t i m u m / m a i n / e n / o n n x r u n t i m e / p a c k a g e _ r e f e r e n c e / m o d e l i n g _ o r t # o p t i m u m . o n n x r u n t i m e . O R T S t a b l e D i f f u s i o n P i p e l i n e ) . I f y o u w a n t t o l o a d a P y T o r c h m o d e l a n d c o n v e r t i t t o t h e O N N X f o r m a t o n - t h e - f l y , s e t ` e x p o r t = T r u e ` : ` ` ` p y t h o n f r o m o p t i m u m . o n n x r u n t i m e i m p o r t O R T S t a b l e D i f f u s i o n P i p e l i n e m o d e l _ i d = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " p i p e l i n e = O R T S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , e x p o r t = T r u e ) p r o m p t = " s a i l i n g s h i p i n s t o r m b y L e o n a r d o d a V i n c i " i m a g e = p i p e l i n e ( p r o m p t ) . i m a g e s [ 0 ] p i p e l i n e . s a v e _ p r e t r a i n e d ( " . / o n n x - s t a b l e - d i f f u s i o n - v 1 - 5 " ) ` ` ` < T i p w a r n i n g = { t r u e } > G e n e r a t i n g m u l t i p l e p r o m p t s i n a b a t c h s e e m s t o t a k e t o o m u c h m e m o r y . W h i l e w e l o o k i n t o i t , y o u m a y n e e d t o i t e r a t e i n s t e a d o f b a t c h i n g . < / T i p > T o e x p o r t t h e p i p e l i n e i n t h e O N N X f o r m a t o f f l i n e a n d u s e i t l a t e r f o r i n f e r e n c e , u s e t h e [ ` o p t i m u m - c l i e x p o r t ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / o p t i m u m / m a i n / e n / e x p o r t e r s / o n n x / u s a g e _ g u i d e s / e x p o r t _ a _ m o d e l # e x p o r t i n g - a - m o d e l - t o - o n n x - u s i n g - t h e - c l i ) c o m m a n d : ` ` ` b a s h o p t i m u m - c l i e x p o r t o n n x - - m o d e l s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 s d _ v 1 5 _ o n n x / ` ` ` T h e n t o p e r f o r m i n f e r e n c e ( y o u d o n ' t h a v e t o s p e c i f y ` e x p o r t = T r u e ` a g a i n ) : ` ` ` p y t h o n f r o m o p t i m u m . o n n x r u n t i m e i m p o r t O R T S t a b l e D i f f u s i o n P i p e l i n e m o d e l _ i d = " s d _ v 1 5 _ o n n x " p i p e l i n e = O R T S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d ) p r o m p t = " s a i l i n g s h i p i n s t o r m b y L e o n a r d o d a V i n c i " i m a g e = p i p e l i n e ( p r o m p t ) . i m a g e s [ 0 ] ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / o p t i m u m / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / o n n x r u n t i m e / s t a b l e _ d i f f u s i o n _ v 1 _ 5 _ o r t _ s a i l _ b o a t . p n g " > < / d i v > Y o u c a n f i n d m o r e e x a m p l e s i n ๐Ÿค— O p t i m u m [ d o c u m e n t a t i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / o p t i m u m / ) , a n d S t a b l e D i f f u s i o n i s s u p p o r t e d f o r t e x t - t o - i m a g e , i m a g e - t o - i m a g e , a n d i n p a i n t i n g . # # S t a b l e D i f f u s i o n X L T o l o a d a n d r u n i n f e r e n c e w i t h S D X L , u s e t h e [ O R T S t a b l e D i f f u s i o n X L P i p e l i n e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / o p t i m u m / m a i n / e n / o n n x r u n t i m e / p a c k a g e _ r e f e r e n c e / m o d e l i n g _ o r t # o p t i m u m . o n n x r u n t i m e . O R T S t a b l e D i f f u s i o n X L P i p e l i n e ) : ` ` ` p y t h o n f r o m o p t i m u m . o n n x r u n t i m e i m p o r t O R T S t a b l e D i f f u s i o n X L P i p e l i n e m o d e l _ i d = " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " p i p e l i n e = O R T S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d ) p r o m p t = " s a i l i n g s h i p i n s t o r m b y L e o n a r d o d a V i n c i " i m a g e = p i p e l i n e ( p r o m p t ) . i m a g e s [ 0 ] ` ` ` T o e x p o r t t h e p i p e l i n e i n t h e O N N X f o r m a t a n d u s e i t l a t e r f o r i n f e r e n c e , u s e t h e [ ` o p t i m u m - c l i e x p o r t ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / o p t i m u m / m a i n / e n / e x p o r t e r s / o n n x / u s a g e _ g u i d e s / e x p o r t _ a _ m o d e l # e x p o r t i n g - a - m o d e l - t o - o n n x - u s i n g - t h e - c l i ) c o m m a n d : ` ` ` b a s h o p t i m u m - c l i e x p o r t o n n x - - m o d e l s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 - - t a s k s t a b l e - d i f f u s i o n - x l s d _ x l _ o n n x / ` ` ` S D X L i n t h e O N N X f o r m a t i s s u p p o r t e d f o r t e x t - t o - i m a g e a n d i m a g e - t o - i m a g e . # A W S N e u r o n D i f f u s e r s f u n c t i o n a l i t i e s a r e a v a i l a b l e o n [ A W S I n f 2 i n s t a n c e s ] ( h t t p s : / / a w s . a m a z o n . c o m / e c 2 / i n s t a n c e - t y p e s / i n f 2 / ) , w h i c h a r e E C 2 i n s t a n c e s p o w e r e d b y [ N e u r o n m a c h i n e l e a r n i n g a c c e l e r a t o r s ] ( h t t p s : / / a w s . a m a z o n . c o m / m a c h i n e - l e a r n i n g / i n f e r e n t i a / ) . T h e s e i n s t a n c e s a i m t o p r o v i d e b e t t e r c o m p u t e p e r f o r m a n c e ( h i g h e r t h r o u g h p u t , l o w e r l a t e n c y ) w i t h g o o d c o s t - e f f i c i e n c y , m a k i n g t h e m g o o d c a n d i d a t e s f o r A W S u s e r s t o d e p l o y d i f f u s i o n m o d e l s t o p r o d u c t i o n . [ O p t i m u m N e u r o n ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / o p t i m u m - n e u r o n / e n / i n d e x ) i s t h e i n t e r f a c e b e t w e e n H u g g i n g F a c e l i b r a r i e s a n d A W S A c c e l e r a t o r s , i n c l u d i n g A W S [ T r a i n i u m ] ( h t t p s : / / a w s . a m a z o n . c o m / m a c h i n e - l e a r n i n g / t r a i n i u m / ) a n d A W S [ I n f e r e n t i a ] ( h t t p s : / / a w s . a m a z o n . c o m / m a c h i n e - l e a r n i n g / i n f e r e n t i a / ) . I t s u p p o r t s m a n y o f t h e f e a t u r e s i n D i f f u s e r s w i t h s i m i l a r A P I s , s o i t i s e a s i e r t o l e a r n i f y o u ' r e a l r e a d y f a m i l i a r w i t h D i f f u s e r s . O n c e y o u h a v e c r e a t e d a n A W S I n f 2 i n s t a n c e , i n s t a l l O p t i m u m N e u r o n . ` ` ` b a s h p y t h o n - m p i p i n s t a l l - - u p g r a d e - s t r a t e g y e a g e r o p t i m u m [ n e u r o n x ] ` ` ` < T i p > W e p r o v i d e p r e - b u i l t [ H u g g i n g F a c e N e u r o n D e e p L e a r n i n g A M I ] ( h t t p s : / / a w s . a m a z o n . c o m / m a r k e t p l a c e / p p / p r o d v i e w - g r 3 e 6 y i s c r i a 2 ) ( D L A M I ) a n d O p t i m u m N e u r o n c o n t a i n e r s f o r A m a z o n S a g e M a k e r . I t ' s r e c o m m e n d e d t o c o r r e c t l y s e t u p y o u r e n v i r o n m e n t . < / T i p > T h e e x a m p l e b e l o w d e m o n s t r a t e s h o w t o g e n e r a t e i m a g e s w i t h t h e S t a b l e D i f f u s i o n X L m o d e l o n a n i n f 2 . 8 x l a r g e i n s t a n c e ( y o u c a n s w i t c h t o c h e a p e r i n f 2 . x l a r g e i n s t a n c e s o n c e t h e m o d e l i s c o m p i l e d ) . T o g e n e r a t e s o m e i m a g e s , u s e t h e ` N e u r o n S t a b l e D i f f u s i o n X L P i p e l i n e ` c l a s s , w h i c h i s s i m i l a r t o t h e [ S t a b l e D i f f u s i o n X L P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L P i p e l i n e ) c l a s s i n D i f f u s e r s . U n l i k e D i f f u s e r s , y o u n e e d t o c o m p i l e m o d e l s i n t h e p i p e l i n e t o t h e N e u r o n f o r m a t , ` . n e u r o n ` . L a u n c h t h e f o l l o w i n g c o m m a n d t o e x p o r t t h e m o d e l t o t h e ` . n e u r o n ` f o r m a t . ` ` ` b a s h o p t i m u m - c l i e x p o r t n e u r o n - - m o d e l s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 \ - - b a t c h _ s i z e 1 \ - - h e i g h t 1 0 2 4 ` # h e i g h t i n p i x e l s o f g e n e r a t e d i m a g e , e g . 7 6 8 , 1 0 2 4 ` \ - - w i d t h 1 0 2 4 ` # w i d t h i n p i x e l s o f g e n e r a t e d i m a g e , e g . 7 6 8 , 1 0 2 4 ` \ - - n u m _ i m a g e s _ p e r _ p r o m p t 1 ` # n u m b e r o f i m a g e s t o g e n e r a t e p e r p r o m p t , d e f a u l t s t o 1 ` \ - - a u t o _ c a s t m a t m u l ` # c a s t o n l y m a t r i x m u l t i p l i c a t i o n o p e r a t i o n s ` \ - - a u t o _ c a s t _ t y p e b f 1 6 ` # c a s t o p e r a t i o n s f r o m F P 3 2 t o B F 1 6 ` \ s d _ n e u r o n _ x l / ` ` ` N o w g e n e r a t e s o m e i m a g e s w i t h t h e p r e - c o m p i l e d S D X L m o d e l . ` ` ` p y t h o n > > > f r o m o p t i m u m . n e u r o n i m p o r t N e u r o n S t a b l e D i f f u s i o n X L P i p e l i n e > > > s t a b l e _ d i f f u s i o n _ x l = N e u r o n S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " s d _ n e u r o n _ x l / " ) > > > p r o m p t = " a p i g w i t h w i n g s f l y i n g i n f l o a t i n g U S d o l l a r b a n k n o t e s i n t h e a i r , s k y s c r a p e r s b e h i n d , w a r m c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " > > > i m a g e = s t a b l e _ d i f f u s i o n _ x l ( p r o m p t ) . i m a g e s [ 0 ] ` ` ` < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / J i n g y a / d o c u m e n t _ i m a g e s / r e s o l v e / m a i n / o p t i m u m / n e u r o n / s d x l _ p i g . p n g " w i d t h = " 2 5 6 " h e i g h t = " 2 5 6 " a l t = " p e g g y g e n e r a t e d b y s d x l o n i n f 2 " / > F e e l f r e e t o c h e c k o u t m o r e g u i d e s a n d e x a m p l e s o n d i f f e r e n t u s e c a s e s f r o m t h e O p t i m u m N e u r o n [ d o c u m e n t a t i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / o p t i m u m - n e u r o n / e n / i n f e r e n c e _ t u t o r i a l s / s t a b l e _ d i f f u s i o n # g e n e r a t e - i m a g e s - w i t h - s t a b l e - d i f f u s i o n - m o d e l s - o n - a w s - i n f e r e n t i a ) ! # P y T o r c h 2 . 0 ๐Ÿค— D i f f u s e r s s u p p o r t s t h e l a t e s t o p t i m i z a t i o n s f r o m [ P y T o r c h 2 . 0 ] ( h t t p s : / / p y t o r c h . o r g / g e t - s t a r t e d / p y t o r c h - 2 . 0 / ) w h i c h i n c l u d e : 1 . A m e m o r y - e f f i c i e n t a t t e n t i o n i m p l e m e n t a t i o n , s c a l e d d o t p r o d u c t a t t e n t i o n , w i t h o u t r e q u i r i n g a n y e x t r a d e p e n d e n c i e s s u c h a s x F o r m e r s . 2 . [ ` t o r c h . c o m p i l e ` ] ( h t t p s : / / p y t o r c h . o r g / t u t o r i a l s / i n t e r m e d i a t e / t o r c h _ c o m p i l e _ t u t o r i a l . h t m l ) , a j u s t - i n - t i m e ( J I T ) c o m p i l e r t o p r o v i d e a n e x t r a p e r f o r m a n c e b o o s t w h e n i n d i v i d u a l m o d e l s a r e c o m p i l e d . B o t h o f t h e s e o p t i m i z a t i o n s r e q u i r e P y T o r c h 2 . 0 o r l a t e r a n d ๐Ÿค— D i f f u s e r s > 0 . 1 3 . 0 . ` ` ` b a s h p i p i n s t a l l - - u p g r a d e t o r c h d i f f u s e r s ` ` ` # # S c a l e d d o t p r o d u c t a t t e n t i o n [ ` t o r c h . n n . f u n c t i o n a l . s c a l e d _ d o t _ p r o d u c t _ a t t e n t i o n ` ] ( h t t p s : / / p y t o r c h . o r g / d o c s / m a s t e r / g e n e r a t e d / t o r c h . n n . f u n c t i o n a l . s c a l e d _ d o t _ p r o d u c t _ a t t e n t i o n ) ( S D P A ) i s a n o p t i m i z e d a n d m e m o r y - e f f i c i e n t a t t e n t i o n ( s i m i l a r t o x F o r m e r s ) t h a t a u t o m a t i c a l l y e n a b l e s s e v e r a l o t h e r o p t i m i z a t i o n s d e p e n d i n g o n t h e m o d e l i n p u t s a n d G P U t y p e . S D P A i s e n a b l e d b y d e f a u l t i f y o u ' r e u s i n g P y T o r c h 2 . 0 a n d t h e l a t e s t v e r s i o n o f ๐Ÿค— D i f f u s e r s , s o y o u d o n ' t n e e d t o a d d a n y t h i n g t o y o u r c o d e . H o w e v e r , i f y o u w a n t t o e x p l i c i t l y e n a b l e i t , y o u c a n s e t a [ D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e ) t o u s e [ A t t n P r o c e s s o r 2 _ 0 ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / a t t n p r o c e s s o r # d i f f u s e r s . m o d e l s . a t t e n t i o n _ p r o c e s s o r . A t t n P r o c e s s o r 2 _ 0 ) : ` ` ` d i f f i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e + f r o m d i f f u s e r s . m o d e l s . a t t e n t i o n _ p r o c e s s o r i m p o r t A t t n P r o c e s s o r 2 _ 0 p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) + p i p e . u n e t . s e t _ a t t n _ p r o c e s s o r ( A t t n P r o c e s s o r 2 _ 0 ( ) ) p r o m p t = " a p h o t o o f a n a s t r o n a u t r i d i n g a h o r s e o n m a r s " i m a g e = p i p e ( p r o m p t ) . i m a g e s [ 0 ] ` ` ` S D P A s h o u l d b e a s f a s t a n d m e m o r y e f f i c i e n t a s ` x F o r m e r s ` ; c h e c k t h e [ b e n c h m a r k ] ( # b e n c h m a r k ) f o r m o r e d e t a i l s . I n s o m e c a s e s - s u c h a s m a k i n g t h e p i p e l i n e m o r e d e t e r m i n i s t i c o r c o n v e r t i n g i t t o o t h e r f o r m a t s - i t m a y b e h e l p f u l t o u s e t h e v a n i l l a a t t e n t i o n p r o c e s s o r , [ A t t n P r o c e s s o r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / a t t n p r o c e s s o r # d i f f u s e r s . m o d e l s . a t t e n t i o n _ p r o c e s s o r . A t t n P r o c e s s o r ) . T o r e v e r t t o [ A t t n P r o c e s s o r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / a t t n p r o c e s s o r # d i f f u s e r s . m o d e l s . a t t e n t i o n _ p r o c e s s o r . A t t n P r o c e s s o r ) , c a l l t h e [ s e t _ d e f a u l t _ a t t n _ p r o c e s s o r ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / u n e t 2 d - c o n d # d i f f u s e r s . U N e t 2 D C o n d i t i o n M o d e l . s e t _ d e f a u l t _ a t t n _ p r o c e s s o r ) f u n c t i o n o n t h e p i p e l i n e : ` ` ` d i f f i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) + p i p e . u n e t . s e t _ d e f a u l t _ a t t n _ p r o c e s s o r ( ) p r o m p t = " a p h o t o o f a n a s t r o n a u t r i d i n g a h o r s e o n m a r s " i m a g e = p i p e ( p r o m p t ) . i m a g e s [ 0 ] ` ` ` # # t o r c h . c o m p i l e T h e ` t o r c h . c o m p i l e ` f u n c t i o n c a n o f t e n p r o v i d e a n a d d i t i o n a l s p e e d - u p t o y o u r P y T o r c h c o d e . I n ๐Ÿค— D i f f u s e r s , i t i s u s u a l l y b e s t t o w r a p t h e U N e t w i t h ` t o r c h . c o m p i l e ` b e c a u s e i t d o e s m o s t o f t h e h e a v y l i f t i n g i n t h e p i p e l i n e . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) p i p e . u n e t = t o r c h . c o m p i l e ( p i p e . u n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) i m a g e s = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = s t e p s , n u m _ i m a g e s _ p e r _ p r o m p t = b a t c h _ s i z e ) . i m a g e s [ 0 ] ` ` ` D e p e n d i n g o n G P U t y p e , ` t o r c h . c o m p i l e ` c a n p r o v i d e a n * a d d i t i o n a l s p e e d - u p * o f * * 5 - 3 0 0 x * * o n t o p o f S D P A ! I f y o u ' r e u s i n g m o r e r e c e n t G P U a r c h i t e c t u r e s s u c h a s A m p e r e ( A 1 0 0 , 3 0 9 0 ) , A d a ( 4 0 9 0 ) , a n d H o p p e r ( H 1 0 0 ) , ` t o r c h . c o m p i l e ` i s a b l e t o s q u e e z e e v e n m o r e p e r f o r m a n c e o u t o f t h e s e G P U s . C o m p i l a t i o n r e q u i r e s s o m e t i m e t o c o m p l e t e , s o i t i s b e s t s u i t e d f o r s i t u a t i o n s w h e r e y o u p r e p a r e y o u r p i p e l i n e o n c e a n d t h e n p e r f o r m t h e s a m e t y p e o f i n f e r e n c e o p e r a t i o n s m u l t i p l e t i m e s . F o r e x a m p l e , c a l l i n g t h e c o m p i l e d p i p e l i n e o n a d i f f e r e n t i m a g e s i z e t r i g g e r s c o m p i l a t i o n a g a i n w h i c h c a n b e e x p e n s i v e . F o r m o r e i n f o r m a t i o n a n d d i f f e r e n t o p t i o n s a b o u t ` t o r c h . c o m p i l e ` , r e f e r t o t h e [ ` t o r c h _ c o m p i l e ` ] ( h t t p s : / / p y t o r c h . o r g / t u t o r i a l s / i n t e r m e d i a t e / t o r c h _ c o m p i l e _ t u t o r i a l . h t m l ) t u t o r i a l . > [ ! T I P ] > L e a r n m o r e a b o u t o t h e r w a y s P y T o r c h 2 . 0 c a n h e l p o p t i m i z e y o u r m o d e l i n t h e [ A c c e l e r a t e i n f e r e n c e o f t e x t - t o - i m a g e d i f f u s i o n m o d e l s ] ( . . / t u t o r i a l s / f a s t _ d i f f u s i o n ) t u t o r i a l . # # B e n c h m a r k W e c o n d u c t e d a c o m p r e h e n s i v e b e n c h m a r k w i t h P y T o r c h 2 . 0 ' s e f f i c i e n t a t t e n t i o n i m p l e m e n t a t i o n a n d ` t o r c h . c o m p i l e ` a c r o s s d i f f e r e n t G P U s a n d b a t c h s i z e s f o r f i v e o f o u r m o s t u s e d p i p e l i n e s . T h e c o d e i s b e n c h m a r k e d o n ๐Ÿค— D i f f u s e r s v 0 . 1 7 . 0 . d e v 0 t o o p t i m i z e ` t o r c h . c o m p i l e ` u s a g e ( s e e [ h e r e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / p u l l / 3 3 1 3 ) f o r m o r e d e t a i l s ) . E x p a n d t h e d r o p d o w n b e l o w t o f i n d t h e c o d e u s e d t o b e n c h m a r k e a c h p i p e l i n e : < d e t a i l s > # # # S t a b l e D i f f u s i o n t e x t - t o - i m a g e ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h p a t h = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " r u n _ c o m p i l e = T r u e # S e t T r u e / F a l s e p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( p a t h , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e = p i p e . t o ( " c u d a " ) p i p e . u n e t . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) i f r u n _ c o m p i l e : p r i n t ( " R u n t o r c h c o m p i l e " ) p i p e . u n e t = t o r c h . c o m p i l e ( p i p e . u n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) p r o m p t = " g h i b l i s t y l e , a f a n t a s y l a n d s c a p e w i t h c a s t l e s " f o r _ i n r a n g e ( 3 ) : i m a g e s = p i p e ( p r o m p t = p r o m p t ) . i m a g e s ` ` ` # # # S t a b l e D i f f u s i o n i m a g e - t o - i m a g e ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n I m g 2 I m g P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m p o r t t o r c h u r l = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / C o m p V i s / s t a b l e - d i f f u s i o n / m a i n / a s s e t s / s t a b l e - s a m p l e s / i m g 2 i m g / s k e t c h - m o u n t a i n s - i n p u t . j p g " i n i t _ i m a g e = l o a d _ i m a g e ( u r l ) i n i t _ i m a g e = i n i t _ i m a g e . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) p a t h = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " r u n _ c o m p i l e = T r u e # S e t T r u e / F a l s e p i p e = S t a b l e D i f f u s i o n I m g 2 I m g P i p e l i n e . f r o m _ p r e t r a i n e d ( p a t h , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e = p i p e . t o ( " c u d a " ) p i p e . u n e t . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) i f r u n _ c o m p i l e : p r i n t ( " R u n t o r c h c o m p i l e " ) p i p e . u n e t = t o r c h . c o m p i l e ( p i p e . u n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) p r o m p t = " g h i b l i s t y l e , a f a n t a s y l a n d s c a p e w i t h c a s t l e s " f o r _ i n r a n g e ( 3 ) : i m a g e = p i p e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e ) . i m a g e s [ 0 ] ` ` ` # # # S t a b l e D i f f u s i o n i n p a i n t i n g ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n I n p a i n t P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m p o r t t o r c h i m g _ u r l = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / C o m p V i s / l a t e n t - d i f f u s i o n / m a i n / d a t a / i n p a i n t i n g _ e x a m p l e s / o v e r t u r e - c r e a t i o n s - 5 s I 6 f Q g Y I u o . p n g " m a s k _ u r l = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / C o m p V i s / l a t e n t - d i f f u s i o n / m a i n / d a t a / i n p a i n t i n g _ e x a m p l e s / o v e r t u r e - c r e a t i o n s - 5 s I 6 f Q g Y I u o _ m a s k . p n g " i n i t _ i m a g e = l o a d _ i m a g e ( i m g _ u r l ) . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) m a s k _ i m a g e = l o a d _ i m a g e ( m a s k _ u r l ) . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) p a t h = " r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g " r u n _ c o m p i l e = T r u e # S e t T r u e / F a l s e p i p e = S t a b l e D i f f u s i o n I n p a i n t P i p e l i n e . f r o m _ p r e t r a i n e d ( p a t h , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e = p i p e . t o ( " c u d a " ) p i p e . u n e t . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) i f r u n _ c o m p i l e : p r i n t ( " R u n t o r c h c o m p i l e " ) p i p e . u n e t = t o r c h . c o m p i l e ( p i p e . u n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) p r o m p t = " g h i b l i s t y l e , a f a n t a s y l a n d s c a p e w i t h c a s t l e s " f o r _ i n r a n g e ( 3 ) : i m a g e = p i p e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e ) . i m a g e s [ 0 ] ` ` ` # # # C o n t r o l N e t ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e , C o n t r o l N e t M o d e l f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m p o r t t o r c h u r l = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / C o m p V i s / s t a b l e - d i f f u s i o n / m a i n / a s s e t s / s t a b l e - s a m p l e s / i m g 2 i m g / s k e t c h - m o u n t a i n s - i n p u t . j p g " i n i t _ i m a g e = l o a d _ i m a g e ( u r l ) i n i t _ i m a g e = i n i t _ i m a g e . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) p a t h = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " r u n _ c o m p i l e = T r u e # S e t T r u e / F a l s e c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " l l l y a s v i e l / s d - c o n t r o l n e t - c a n n y " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e = S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( p a t h , c o n t r o l n e t = c o n t r o l n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e = p i p e . t o ( " c u d a " ) p i p e . u n e t . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) p i p e . c o n t r o l n e t . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) i f r u n _ c o m p i l e : p r i n t ( " R u n t o r c h c o m p i l e " ) p i p e . u n e t = t o r c h . c o m p i l e ( p i p e . u n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) p i p e . c o n t r o l n e t = t o r c h . c o m p i l e ( p i p e . c o n t r o l n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) p r o m p t = " g h i b l i s t y l e , a f a n t a s y l a n d s c a p e w i t h c a s t l e s " f o r _ i n r a n g e ( 3 ) : i m a g e = p i p e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e ) . i m a g e s [ 0 ] ` ` ` # # # D e e p F l o y d I F t e x t - t o - i m a g e + u p s c a l i n g ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h r u n _ c o m p i l e = T r u e # S e t T r u e / F a l s e p i p e _ 1 = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I - M - v 1 . 0 " , v a r i a n t = " f p 1 6 " , t e x t _ e n c o d e r = N o n e , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e _ 1 . t o ( " c u d a " ) p i p e _ 2 = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " D e e p F l o y d / I F - I I - M - v 1 . 0 " , v a r i a n t = " f p 1 6 " , t e x t _ e n c o d e r = N o n e , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e _ 2 . t o ( " c u d a " ) p i p e _ 3 = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x 4 - u p s c a l e r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e _ 3 . t o ( " c u d a " ) p i p e _ 1 . u n e t . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) p i p e _ 2 . u n e t . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) p i p e _ 3 . u n e t . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) i f r u n _ c o m p i l e : p i p e _ 1 . u n e t = t o r c h . c o m p i l e ( p i p e _ 1 . u n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) p i p e _ 2 . u n e t = t o r c h . c o m p i l e ( p i p e _ 2 . u n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) p i p e _ 3 . u n e t = t o r c h . c o m p i l e ( p i p e _ 3 . u n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) p r o m p t = " t h e b l u e h u l k " p r o m p t _ e m b e d s = t o r c h . r a n d n ( ( 1 , 2 , 4 0 9 6 ) , d t y p e = t o r c h . f l o a t 1 6 ) n e g _ p r o m p t _ e m b e d s = t o r c h . r a n d n ( ( 1 , 2 , 4 0 9 6 ) , d t y p e = t o r c h . f l o a t 1 6 ) f o r _ i n r a n g e ( 3 ) : i m a g e _ 1 = p i p e _ 1 ( p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , n e g a t i v e _ p r o m p t _ e m b e d s = n e g _ p r o m p t _ e m b e d s , o u t p u t _ t y p e = " p t " ) . i m a g e s i m a g e _ 2 = p i p e _ 2 ( i m a g e = i m a g e _ 1 , p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , n e g a t i v e _ p r o m p t _ e m b e d s = n e g _ p r o m p t _ e m b e d s , o u t p u t _ t y p e = " p t " ) . i m a g e s i m a g e _ 3 = p i p e _ 3 ( p r o m p t = p r o m p t , i m a g e = i m a g e _ 1 , n o i s e _ l e v e l = 1 0 0 ) . i m a g e s ` ` ` < / d e t a i l s > T h e g r a p h b e l o w h i g h l i g h t s t h e r e l a t i v e s p e e d - u p s f o r t h e [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) a c r o s s f i v e G P U f a m i l i e s w i t h P y T o r c h 2 . 0 a n d ` t o r c h . c o m p i l e ` e n a b l e d . T h e b e n c h m a r k s f o r t h e f o l l o w i n g g r a p h s a r e m e a s u r e d i n * n u m b e r o f i t e r a t i o n s / s e c o n d * . ! [ t 2 i _ s p e e d u p ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / p t 2 _ b e n c h m a r k s / t 2 i _ s p e e d u p . p n g ) T o g i v e y o u a n e v e n b e t t e r i d e a o f h o w t h i s s p e e d - u p h o l d s f o r t h e o t h e r p i p e l i n e s , c o n s i d e r t h e f o l l o w i n g g r a p h f o r a n A 1 0 0 w i t h P y T o r c h 2 . 0 a n d ` t o r c h . c o m p i l e ` : ! [ a 1 0 0 _ n u m b e r s ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / p t 2 _ b e n c h m a r k s / a 1 0 0 _ n u m b e r s . p n g ) I n t h e f o l l o w i n g t a b l e s , w e r e p o r t o u r f i n d i n g s i n t e r m s o f t h e * n u m b e r o f i t e r a t i o n s / s e c o n d * . # # # A 1 0 0 ( b a t c h s i z e : 1 ) | * * P i p e l i n e * * | * * t o r c h 2 . 0 - < b r > n o c o m p i l e * * | * * t o r c h n i g h t l y - < b r > n o c o m p i l e * * | * * t o r c h 2 . 0 - < b r > c o m p i l e * * | * * t o r c h n i g h t l y - < b r > c o m p i l e * * | | : - - - : | : - - - : | : - - - : | : - - - : | : - - - : | | S D - t x t 2 i m g | 2 1 . 6 6 | 2 3 . 1 3 | 4 4 . 0 3 | 4 9 . 7 4 | | S D - i m g 2 i m g | 2 1 . 8 1 | 2 2 . 4 0 | 4 3 . 9 2 | 4 6 . 3 2 | | S D - i n p a i n t | 2 2 . 2 4 | 2 3 . 2 3 | 4 3 . 7 6 | 4 9 . 2 5 | | S D - c o n t r o l n e t | 1 5 . 0 2 | 1 5 . 8 2 | 3 2 . 1 3 | 3 6 . 0 8 | | I F | 2 0 . 2 1 / < b r > 1 3 . 8 4 / < b r > 2 4 . 0 0 | 2 0 . 1 2 / < b r > 1 3 . 7 0 / < b r > 2 4 . 0 3 | โŒ | 9 7 . 3 4 / < b r > 2 7 . 2 3 / < b r > 1 1 1 . 6 6 | | S D X L - t x t 2 i m g | 8 . 6 4 | 9 . 9 | - | - | # # # A 1 0 0 ( b a t c h s i z e : 4 ) | * * P i p e l i n e * * | * * t o r c h 2 . 0 - < b r > n o c o m p i l e * * | * * t o r c h n i g h t l y - < b r > n o c o m p i l e * * | * * t o r c h 2 . 0 - < b r > c o m p i l e * * | * * t o r c h n i g h t l y - < b r > c o m p i l e * * | | : - - - : | : - - - : | : - - - : | : - - - : | : - - - : | | S D - t x t 2 i m g | 1 1 . 6 | 1 3 . 1 2 | 1 4 . 6 2 | 1 7 . 2 7 | | S D - i m g 2 i m g | 1 1 . 4 7 | 1 3 . 0 6 | 1 4 . 6 6 | 1 7 . 2 5 | | S D - i n p a i n t | 1 1 . 6 7 | 1 3 . 3 1 | 1 4 . 8 8 | 1 7 . 4 8 | | S D - c o n t r o l n e t | 8 . 2 8 | 9 . 3 8 | 1 0 . 5 1 | 1 2 . 4 1 | | I F | 2 5 . 0 2 | 1 8 . 0 4 | โŒ | 4 8 . 4 7 | | S D X L - t x t 2 i m g | 2 . 4 4 | 2 . 7 4 | - | - | # # # A 1 0 0 ( b a t c h s i z e : 1 6 ) | * * P i p e l i n e * * | * * t o r c h 2 . 0 - < b r > n o c o m p i l e * * | * * t o r c h n i g h t l y - < b r > n o c o m p i l e * * | * * t o r c h 2 . 0 - < b r > c o m p i l e * * | * * t o r c h n i g h t l y - < b r > c o m p i l e * * | | : - - - : | : - - - : | : - - - : | : - - - : | : - - - : | | S D - t x t 2 i m g | 3 . 0 4 | 3 . 6 | 3 . 8 3 | 4 . 6 8 | | S D - i m g 2 i m g | 2 . 9 8 | 3 . 5 8 | 3 . 8 3 | 4 . 6 7 | | S D - i n p a i n t | 3 . 0 4 | 3 . 6 6 | 3 . 9 | 4 . 7 6 | | S D - c o n t r o l n e t | 2 . 1 5 | 2 . 5 8 | 2 . 7 4 | 3 . 3 5 | | I F | 8 . 7 8 | 9 . 8 2 | โŒ | 1 6 . 7 7 | | S D X L - t x t 2 i m g | 0 . 6 4 | 0 . 7 2 | - | - | # # # V 1 0 0 ( b a t c h s i z e : 1 ) | * * P i p e l i n e * * | * * t o r c h 2 . 0 - < b r > n o c o m p i l e * * | * * t o r c h n i g h t l y - < b r > n o c o m p i l e * * | * * t o r c h 2 . 0 - < b r > c o m p i l e * * | * * t o r c h n i g h t l y - < b r > c o m p i l e * * | | : - - - : | : - - - : | : - - - : | : - - - : | : - - - : | | S D - t x t 2 i m g | 1 8 . 9 9 | 1 9 . 1 4 | 2 0 . 9 5 | 2 2 . 1 7 | | S D - i m g 2 i m g | 1 8 . 5 6 | 1 9 . 1 8 | 2 0 . 9 5 | 2 2 . 1 1 | | S D - i n p a i n t | 1 9 . 1 4 | 1 9 . 0 6 | 2 1 . 0 8 | 2 2 . 2 0 | | S D - c o n t r o l n e t | 1 3 . 4 8 | 1 3 . 9 3 | 1 5 . 1 8 | 1 5 . 8 8 | | I F | 2 0 . 0 1 / < b r > 9 . 0 8 / < b r > 2 3 . 3 4 | 1 9 . 7 9 / < b r > 8 . 9 8 / < b r > 2 4 . 1 0 | โŒ | 5 5 . 7 5 / < b r > 1 1 . 5 7 / < b r > 5 7 . 6 7 | # # # V 1 0 0 ( b a t c h s i z e : 4 ) | * * P i p e l i n e * * | * * t o r c h 2 . 0 - < b r > n o c o m p i l e * * | * * t o r c h n i g h t l y - < b r > n o c o m p i l e * * | * * t o r c h 2 . 0 - < b r > c o m p i l e * * | * * t o r c h n i g h t l y - < b r > c o m p i l e * * | | : - - - : | : - - - : | : - - - : | : - - - : | : - - - : | | S D - t x t 2 i m g | 5 . 9 6 | 5 . 8 9 | 6 . 8 3 | 6 . 8 6 | | S D - i m g 2 i m g | 5 . 9 0 | 5 . 9 1 | 6 . 8 1 | 6 . 8 2 | | S D - i n p a i n t | 5 . 9 9 | 6 . 0 3 | 6 . 9 3 | 6 . 9 5 | | S D - c o n t r o l n e t | 4 . 2 6 | 4 . 2 9 | 4 . 9 2 | 4 . 9 3 | | I F | 1 5 . 4 1 | 1 4 . 7 6 | โŒ | 2 2 . 9 5 | # # # V 1 0 0 ( b a t c h s i z e : 1 6 ) | * * P i p e l i n e * * | * * t o r c h 2 . 0 - < b r > n o c o m p i l e * * | * * t o r c h n i g h t l y - < b r > n o c o m p i l e * * | * * t o r c h 2 . 0 - < b r > c o m p i l e * * | * * t o r c h n i g h t l y - < b r > c o m p i l e * * | | : - - - : | : - - - : | : - - - : | : - - - : | : - - - : | | S D - t x t 2 i m g | 1 . 6 6 | 1 . 6 6 | 1 . 9 2 | 1 . 9 0 | | S D - i m g 2 i m g | 1 . 6 5 | 1 . 6 5 | 1 . 9 1 | 1 . 8 9 | | S D - i n p a i n t | 1 . 6 9 | 1 . 6 9 | 1 . 9 5 | 1 . 9 3 | | S D - c o n t r o l n e t | 1 . 1 9 | 1 . 1 9 | O O M a f t e r w a r m u p | 1 . 3 6 | | I F | 5 . 4 3 | 5 . 2 9 | โŒ | 7 . 0 6 | # # # T 4 ( b a t c h s i z e : 1 ) | * * P i p e l i n e * * | * * t o r c h 2 . 0 - < b r > n o c o m p i l e * * | * * t o r c h n i g h t l y - < b r > n o c o m p i l e * * | * * t o r c h 2 . 0 - < b r > c o m p i l e * * | * * t o r c h n i g h t l y - < b r > c o m p i l e * * | | : - - - : | : - - - : | : - - - : | : - - - : | : - - - : | | S D - t x t 2 i m g | 6 . 9 | 6 . 9 5 | 7 . 3 | 7 . 5 6 | | S D - i m g 2 i m g | 6 . 8 4 | 6 . 9 9 | 7 . 0 4 | 7 . 5 5 | | S D - i n p a i n t | 6 . 9 1 | 6 . 7 | 7 . 0 1 | 7 . 3 7 | | S D - c o n t r o l n e t | 4 . 8 9 | 4 . 8 6 | 5 . 3 5 | 5 . 4 8 | | I F | 1 7 . 4 2 / < b r > 2 . 4 7 / < b r > 1 8 . 5 2 | 1 6 . 9 6 / < b r > 2 . 4 5 / < b r > 1 8 . 6 9 | โŒ | 2 4 . 6 3 / < b r > 2 . 4 7 / < b r > 2 3 . 3 9 | | S D X L - t x t 2 i m g | 1 . 1 5 | 1 . 1 6 | - | - | # # # T 4 ( b a t c h s i z e : 4 ) | * * P i p e l i n e * * | * * t o r c h 2 . 0 - < b r > n o c o m p i l e * * | * * t o r c h n i g h t l y - < b r > n o c o m p i l e * * | * * t o r c h 2 . 0 - < b r > c o m p i l e * * | * * t o r c h n i g h t l y - < b r > c o m p i l e * * | | : - - - : | : - - - : | : - - - : | : - - - : | : - - - : | | S D - t x t 2 i m g | 1 . 7 9 | 1 . 7 9 | 2 . 0 3 | 1 . 9 9 | | S D - i m g 2 i m g | 1 . 7 7 | 1 . 7 7 | 2 . 0 5 | 2 . 0 4 | | S D - i n p a i n t | 1 . 8 1 | 1 . 8 2 | 2 . 0 9 | 2 . 0 9 | | S D - c o n t r o l n e t | 1 . 3 4 | 1 . 2 7 | 1 . 4 7 | 1 . 4 6 | | I F | 5 . 7 9 | 5 . 6 1 | โŒ | 7 . 3 9 | | S D X L - t x t 2 i m g | 0 . 2 8 8 | 0 . 2 8 9 | - | - | # # # T 4 ( b a t c h s i z e : 1 6 ) | * * P i p e l i n e * * | * * t o r c h 2 . 0 - < b r > n o c o m p i l e * * | * * t o r c h n i g h t l y - < b r > n o c o m p i l e * * | * * t o r c h 2 . 0 - < b r > c o m p i l e * * | * * t o r c h n i g h t l y - < b r > c o m p i l e * * | | : - - - : | : - - - : | : - - - : | : - - - : | : - - - : | | S D - t x t 2 i m g | 2 . 3 4 s | 2 . 3 0 s | O O M a f t e r 2 n d i t e r a t i o n | 1 . 9 9 s | | S D - i m g 2 i m g | 2 . 3 5 s | 2 . 3 1 s | O O M a f t e r w a r m u p | 2 . 0 0 s | | S D - i n p a i n t | 2 . 3 0 s | 2 . 2 6 s | O O M a f t e r 2 n d i t e r a t i o n | 1 . 9 5 s | | S D - c o n t r o l n e t | O O M a f t e r 2 n d i t e r a t i o n | O O M a f t e r 2 n d i t e r a t i o n | O O M a f t e r w a r m u p | O O M a f t e r w a r m u p | | I F * | 1 . 4 4 | 1 . 4 4 | โŒ | 1 . 9 4 | | S D X L - t x t 2 i m g | O O M | O O M | - | - | # # # R T X 3 0 9 0 ( b a t c h s i z e : 1 ) | * * P i p e l i n e * * | * * t o r c h 2 . 0 - < b r > n o c o m p i l e * * | * * t o r c h n i g h t l y - < b r > n o c o m p i l e * * | * * t o r c h 2 . 0 - < b r > c o m p i l e * * | * * t o r c h n i g h t l y - < b r > c o m p i l e * * | | : - - - : | : - - - : | : - - - : | : - - - : | : - - - : | | S D - t x t 2 i m g | 2 2 . 5 6 | 2 2 . 8 4 | 2 3 . 8 4 | 2 5 . 6 9 | | S D - i m g 2 i m g | 2 2 . 2 5 | 2 2 . 6 1 | 2 4 . 1 | 2 5 . 8 3 | | S D - i n p a i n t | 2 2 . 2 2 | 2 2 . 5 4 | 2 4 . 2 6 | 2 6 . 0 2 | | S D - c o n t r o l n e t | 1 6 . 0 3 | 1 6 . 3 3 | 1 7 . 3 8 | 1 8 . 5 6 | | I F | 2 7 . 0 8 / < b r > 9 . 0 7 / < b r > 3 1 . 2 3 | 2 6 . 7 5 / < b r > 8 . 9 2 / < b r > 3 1 . 4 7 | โŒ | 6 8 . 0 8 / < b r > 1 1 . 1 6 / < b r > 6 5 . 2 9 | # # # R T X 3 0 9 0 ( b a t c h s i z e : 4 ) | * * P i p e l i n e * * | * * t o r c h 2 . 0 - < b r > n o c o m p i l e * * | * * t o r c h n i g h t l y - < b r > n o c o m p i l e * * | * * t o r c h 2 . 0 - < b r > c o m p i l e * * | * * t o r c h n i g h t l y - < b r > c o m p i l e * * | | : - - - : | : - - - : | : - - - : | : - - - : | : - - - : | | S D - t x t 2 i m g | 6 . 4 6 | 6 . 3 5 | 7 . 2 9 | 7 . 3 | | S D - i m g 2 i m g | 6 . 3 3 | 6 . 2 7 | 7 . 3 1 | 7 . 2 6 | | S D - i n p a i n t | 6 . 4 7 | 6 . 4 | 7 . 4 4 | 7 . 3 9 | | S D - c o n t r o l n e t | 4 . 5 9 | 4 . 5 4 | 5 . 2 7 | 5 . 2 6 | | I F | 1 6 . 8 1 | 1 6 . 6 2 | โŒ | 2 1 . 5 7 | # # # R T X 3 0 9 0 ( b a t c h s i z e : 1 6 ) | * * P i p e l i n e * * | * * t o r c h 2 . 0 - < b r > n o c o m p i l e * * | * * t o r c h n i g h t l y - < b r > n o c o m p i l e * * | * * t o r c h 2 . 0 - < b r > c o m p i l e * * | * * t o r c h n i g h t l y - < b r > c o m p i l e * * | | : - - - : | : - - - : | : - - - : | : - - - : | : - - - : | | S D - t x t 2 i m g | 1 . 7 | 1 . 6 9 | 1 . 9 3 | 1 . 9 1 | | S D - i m g 2 i m g | 1 . 6 8 | 1 . 6 7 | 1 . 9 3 | 1 . 9 | | S D - i n p a i n t | 1 . 7 2 | 1 . 7 1 | 1 . 9 7 | 1 . 9 4 | | S D - c o n t r o l n e t | 1 . 2 3 | 1 . 2 2 | 1 . 4 | 1 . 3 8 | | I F | 5 . 0 1 | 5 . 0 0 | โŒ | 6 . 3 3 | # # # R T X 4 0 9 0 ( b a t c h s i z e : 1 ) | * * P i p e l i n e * * | * * t o r c h 2 . 0 - < b r > n o c o m p i l e * * | * * t o r c h n i g h t l y - < b r > n o c o m p i l e * * | * * t o r c h 2 . 0 - < b r > c o m p i l e * * | * * t o r c h n i g h t l y - < b r > c o m p i l e * * | | : - - - : | : - - - : | : - - - : | : - - - : | : - - - : | | S D - t x t 2 i m g | 4 0 . 5 | 4 1 . 8 9 | 4 4 . 6 5 | 4 9 . 8 1 | | S D - i m g 2 i m g | 4 0 . 3 9 | 4 1 . 9 5 | 4 4 . 4 6 | 4 9 . 8 | | S D - i n p a i n t | 4 0 . 5 1 | 4 1 . 8 8 | 4 4 . 5 8 | 4 9 . 7 2 | | S D - c o n t r o l n e t | 2 9 . 2 7 | 3 0 . 2 9 | 3 2 . 2 6 | 3 6 . 0 3 | | I F | 6 9 . 7 1 / < b r > 1 8 . 7 8 / < b r > 8 5 . 4 9 | 6 9 . 1 3 / < b r > 1 8 . 8 0 / < b r > 8 5 . 5 6 | โŒ | 1 2 4 . 6 0 / < b r > 2 6 . 3 7 / < b r > 1 3 8 . 7 9 | | S D X L - t x t 2 i m g | 6 . 8 | 8 . 1 8 | - | - | # # # R T X 4 0 9 0 ( b a t c h s i z e : 4 ) | * * P i p e l i n e * * | * * t o r c h 2 . 0 - < b r > n o c o m p i l e * * | * * t o r c h n i g h t l y - < b r > n o c o m p i l e * * | * * t o r c h 2 . 0 - < b r > c o m p i l e * * | * * t o r c h n i g h t l y - < b r > c o m p i l e * * | | : - - - : | : - - - : | : - - - : | : - - - : | : - - - : | | S D - t x t 2 i m g | 1 2 . 6 2 | 1 2 . 8 4 | 1 5 . 3 2 | 1 5 . 5 9 | | S D - i m g 2 i m g | 1 2 . 6 1 | 1 2 , . 7 9 | 1 5 . 3 5 | 1 5 . 6 6 | | S D - i n p a i n t | 1 2 . 6 5 | 1 2 . 8 1 | 1 5 . 3 | 1 5 . 5 8 | | S D - c o n t r o l n e t | 9 . 1 | 9 . 2 5 | 1 1 . 0 3 | 1 1 . 2 2 | | I F | 3 1 . 8 8 | 3 1 . 1 4 | โŒ | 4 3 . 9 2 | | S D X L - t x t 2 i m g | 2 . 1 9 | 2 . 3 5 | - | - | # # # R T X 4 0 9 0 ( b a t c h s i z e : 1 6 ) | * * P i p e l i n e * * | * * t o r c h 2 . 0 - < b r > n o c o m p i l e * * | * * t o r c h n i g h t l y - < b r > n o c o m p i l e * * | * * t o r c h 2 . 0 - < b r > c o m p i l e * * | * * t o r c h n i g h t l y - < b r > c o m p i l e * * | | : - - - : | : - - - : | : - - - : | : - - - : | : - - - : | | S D - t x t 2 i m g | 3 . 1 7 | 3 . 2 | 3 . 8 4 | 3 . 8 5 | | S D - i m g 2 i m g | 3 . 1 6 | 3 . 2 | 3 . 8 4 | 3 . 8 5 | | S D - i n p a i n t | 3 . 1 7 | 3 . 2 | 3 . 8 5 | 3 . 8 5 | | S D - c o n t r o l n e t | 2 . 2 3 | 2 . 3 | 2 . 7 | 2 . 7 5 | | I F | 9 . 2 6 | 9 . 2 | โŒ | 1 3 . 3 1 | | S D X L - t x t 2 i m g | 0 . 5 2 | 0 . 5 3 | - | - | # # N o t e s * F o l l o w t h i s [ P R ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / p u l l / 3 3 1 3 ) f o r m o r e d e t a i l s o n t h e e n v i r o n m e n t u s e d f o r c o n d u c t i n g t h e b e n c h m a r k s . * F o r t h e D e e p F l o y d I F p i p e l i n e w h e r e b a t c h s i z e s > 1 , w e o n l y u s e d a b a t c h s i z e o f > 1 i n t h e f i r s t I F p i p e l i n e f o r t e x t - t o - i m a g e g e n e r a t i o n a n d N O T f o r u p s c a l i n g . T h a t m e a n s t h e t w o u p s c a l i n g p i p e l i n e s r e c e i v e d a b a t c h s i z e o f 1 . * T h a n k s t o [ H o r a c e H e ] ( h t t p s : / / g i t h u b . c o m / C h i l l e e ) f r o m t h e P y T o r c h t e a m f o r t h e i r s u p p o r t i n i m p r o v i n g o u r s u p p o r t o f ` t o r c h . c o m p i l e ( ) ` i n D i f f u s e r s . * # R e d u c e m e m o r y u s a g e A b a r r i e r t o u s i n g d i f f u s i o n m o d e l s i s t h e l a r g e a m o u n t o f m e m o r y r e q u i r e d . T o o v e r c o m e t h i s c h a l l e n g e , t h e r e a r e s e v e r a l m e m o r y - r e d u c i n g t e c h n i q u e s y o u c a n u s e t o r u n e v e n s o m e o f t h e l a r g e s t m o d e l s o n f r e e - t i e r o r c o n s u m e r G P U s . S o m e o f t h e s e t e c h n i q u e s c a n e v e n b e c o m b i n e d t o f u r t h e r r e d u c e m e m o r y u s a g e . < T i p > I n m a n y c a s e s , o p t i m i z i n g f o r m e m o r y o r s p e e d l e a d s t o i m p r o v e d p e r f o r m a n c e i n t h e o t h e r , s o y o u s h o u l d t r y t o o p t i m i z e f o r b o t h w h e n e v e r y o u c a n . T h i s g u i d e f o c u s e s o n m i n i m i z i n g m e m o r y u s a g e , b u t y o u c a n a l s o l e a r n m o r e a b o u t h o w t o [ S p e e d u p i n f e r e n c e ] ( f p 1 6 ) . < / T i p > T h e r e s u l t s b e l o w a r e o b t a i n e d f r o m g e n e r a t i n g a s i n g l e 5 1 2 x 5 1 2 i m a g e f r o m t h e p r o m p t a p h o t o o f a n a s t r o n a u t r i d i n g a h o r s e o n m a r s w i t h 5 0 D D I M s t e p s o n a N v i d i a T i t a n R T X , d e m o n s t r a t i n g t h e s p e e d - u p y o u c a n e x p e c t a s a r e s u l t o f r e d u c e d m e m o r y c o n s u m p t i o n . | | l a t e n c y | s p e e d - u p | | - - - - - - - - - - - - - - - - | - - - - - - - | - - - - - - - | | o r i g i n a l | 9 . 5 0 s | x 1 | | f p 1 6 | 3 . 6 1 s | x 2 . 6 3 | | c h a n n e l s l a s t | 3 . 3 0 s | x 2 . 8 8 | | t r a c e d U N e t | 3 . 2 1 s | x 2 . 9 6 | | m e m o r y - e f f i c i e n t a t t e n t i o n | 2 . 6 3 s | x 3 . 6 1 | # # S l i c e d V A E S l i c e d V A E e n a b l e s d e c o d i n g l a r g e b a t c h e s o f i m a g e s w i t h l i m i t e d V R A M o r b a t c h e s w i t h 3 2 i m a g e s o r m o r e b y d e c o d i n g t h e b a t c h e s o f l a t e n t s o n e i m a g e a t a t i m e . Y o u ' l l l i k e l y w a n t t o c o u p l e t h i s w i t h [ e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / o v e r v i e w # d i f f u s e r s . M o d e l M i x i n . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ) t o r e d u c e m e m o r y u s e f u r t h e r i f y o u h a v e x F o r m e r s i n s t a l l e d . T o u s e s l i c e d V A E , c a l l [ e n a b l e _ v a e _ s l i c i n g ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / c o n t r o l n e t # d i f f u s e r s . S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e . e n a b l e _ v a e _ s l i c i n g ) o n y o u r p i p e l i n e b e f o r e i n f e r e n c e : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e p i p e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , ) p i p e = p i p e . t o ( " c u d a " ) p r o m p t = " a p h o t o o f a n a s t r o n a u t r i d i n g a h o r s e o n m a r s " p i p e . e n a b l e _ v a e _ s l i c i n g ( ) # p i p e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) i m a g e s = p i p e ( [ p r o m p t ] * 3 2 ) . i m a g e s ` ` ` Y o u m a y s e e a s m a l l p e r f o r m a n c e b o o s t i n V A E d e c o d i n g o n m u l t i - i m a g e b a t c h e s , a n d t h e r e s h o u l d b e n o p e r f o r m a n c e i m p a c t o n s i n g l e - i m a g e b a t c h e s . # # T i l e d V A E T i l e d V A E p r o c e s s i n g a l s o e n a b l e s w o r k i n g w i t h l a r g e i m a g e s o n l i m i t e d V R A M ( f o r e x a m p l e , g e n e r a t i n g 4 k i m a g e s o n 8 G B o f V R A M ) b y s p l i t t i n g t h e i m a g e i n t o o v e r l a p p i n g t i l e s , d e c o d i n g t h e t i l e s , a n d t h e n b l e n d i n g t h e o u t p u t s t o g e t h e r t o c o m p o s e t h e f i n a l i m a g e . Y o u s h o u l d a l s o u s e d t i l e d V A E w i t h [ e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / o v e r v i e w # d i f f u s e r s . M o d e l M i x i n . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ) t o r e d u c e m e m o r y u s e f u r t h e r i f y o u h a v e x F o r m e r s i n s t a l l e d . T o u s e t i l e d V A E p r o c e s s i n g , c a l l [ e n a b l e _ v a e _ t i l i n g ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / l a t e n t _ c o n s i s t e n c y _ m o d e l s # d i f f u s e r s . L a t e n t C o n s i s t e n c y M o d e l P i p e l i n e . e n a b l e _ v a e _ t i l i n g ) o n y o u r p i p e l i n e b e f o r e i n f e r e n c e : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e , U n i P C M u l t i s t e p S c h e d u l e r p i p e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , ) p i p e . s c h e d u l e r = U n i P C M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e = p i p e . t o ( " c u d a " ) p r o m p t = " a b e a u t i f u l l a n d s c a p e p h o t o g r a p h " p i p e . e n a b l e _ v a e _ t i l i n g ( ) # p i p e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) i m a g e = p i p e ( [ p r o m p t ] , w i d t h = 3 8 4 0 , h e i g h t = 2 2 2 4 , n u m _ i n f e r e n c e _ s t e p s = 2 0 ) . i m a g e s [ 0 ] ` ` ` T h e o u t p u t i m a g e h a s s o m e t i l e - t o - t i l e t o n e v a r i a t i o n b e c a u s e t h e t i l e s a r e d e c o d e d s e p a r a t e l y , b u t y o u s h o u l d n ' t s e e a n y s h a r p a n d o b v i o u s s e a m s b e t w e e n t h e t i l e s . T i l i n g i s t u r n e d o f f f o r i m a g e s t h a t a r e 5 1 2 x 5 1 2 o r s m a l l e r . # # C P U o f f l o a d i n g O f f l o a d i n g t h e w e i g h t s t o t h e C P U a n d o n l y l o a d i n g t h e m o n t h e G P U w h e n p e r f o r m i n g t h e f o r w a r d p a s s c a n a l s o s a v e m e m o r y . O f t e n , t h i s t e c h n i q u e c a n r e d u c e m e m o r y c o n s u m p t i o n t o l e s s t h a n 3 G B . T o p e r f o r m C P U o f f l o a d i n g , c a l l [ e n a b l e _ s e q u e n t i a l _ c p u _ o f f l o a d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . e n a b l e _ s e q u e n t i a l _ c p u _ o f f l o a d ) : ` ` ` P y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e p i p e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , ) p r o m p t = " a p h o t o o f a n a s t r o n a u t r i d i n g a h o r s e o n m a r s " p i p e . e n a b l e _ s e q u e n t i a l _ c p u _ o f f l o a d ( ) i m a g e = p i p e ( p r o m p t ) . i m a g e s [ 0 ] ` ` ` C P U o f f l o a d i n g w o r k s o n s u b m o d u l e s r a t h e r t h a n w h o l e m o d e l s . T h i s i s t h e b e s t w a y t o m i n i m i z e m e m o r y c o n s u m p t i o n , b u t i n f e r e n c e i s m u c h s l o w e r d u e t o t h e i t e r a t i v e n a t u r e o f t h e d i f f u s i o n p r o c e s s . T h e U N e t c o m p o n e n t o f t h e p i p e l i n e r u n s s e v e r a l t i m e s ( a s m a n y a s ` n u m _ i n f e r e n c e _ s t e p s ` ) ; e a c h t i m e , t h e d i f f e r e n t U N e t s u b m o d u l e s a r e s e q u e n t i a l l y o n l o a d e d a n d o f f l o a d e d a s n e e d e d , r e s u l t i n g i n a l a r g e n u m b e r o f m e m o r y t r a n s f e r s . < T i p > C o n s i d e r u s i n g [ m o d e l o f f l o a d i n g ] ( # m o d e l - o f f l o a d i n g ) i f y o u w a n t t o o p t i m i z e f o r s p e e d b e c a u s e i t i s m u c h f a s t e r . T h e t r a d e o f f i s y o u r m e m o r y s a v i n g s w o n ' t b e a s l a r g e . < / T i p > < T i p w a r n i n g = { t r u e } > W h e n u s i n g [ e n a b l e _ s e q u e n t i a l _ c p u _ o f f l o a d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . e n a b l e _ s e q u e n t i a l _ c p u _ o f f l o a d ) , d o n ' t m o v e t h e p i p e l i n e t o C U D A b e f o r e h a n d o r e l s e t h e g a i n i n m e m o r y c o n s u m p t i o n w i l l o n l y b e m i n i m a l ( s e e t h i s [ i s s u e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / 1 9 3 4 ) f o r m o r e i n f o r m a t i o n ) . [ e n a b l e _ s e q u e n t i a l _ c p u _ o f f l o a d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . e n a b l e _ s e q u e n t i a l _ c p u _ o f f l o a d ) i s a s t a t e f u l o p e r a t i o n t h a t i n s t a l l s h o o k s o n t h e m o d e l s . < / T i p > # # M o d e l o f f l o a d i n g < T i p > M o d e l o f f l o a d i n g r e q u i r e s ๐Ÿค— A c c e l e r a t e v e r s i o n 0 . 1 7 . 0 o r h i g h e r . < / T i p > [ S e q u e n t i a l C P U o f f l o a d i n g ] ( # c p u - o f f l o a d i n g ) p r e s e r v e s a l o t o f m e m o r y b u t i t m a k e s i n f e r e n c e s l o w e r b e c a u s e s u b m o d u l e s a r e m o v e d t o G P U a s n e e d e d , a n d t h e y ' r e i m m e d i a t e l y r e t u r n e d t o t h e C P U w h e n a n e w m o d u l e r u n s . F u l l - m o d e l o f f l o a d i n g i s a n a l t e r n a t i v e t h a t m o v e s w h o l e m o d e l s t o t h e G P U , i n s t e a d o f h a n d l i n g e a c h m o d e l ' s c o n s t i t u e n t * s u b m o d u l e s * . T h e r e i s a n e g l i g i b l e i m p a c t o n i n f e r e n c e t i m e ( c o m p a r e d w i t h m o v i n g t h e p i p e l i n e t o ` c u d a ` ) , a n d i t s t i l l p r o v i d e s s o m e m e m o r y s a v i n g s . D u r i n g m o d e l o f f l o a d i n g , o n l y o n e o f t h e m a i n c o m p o n e n t s o f t h e p i p e l i n e ( t y p i c a l l y t h e t e x t e n c o d e r , U N e t a n d V A E ) i s p l a c e d o n t h e G P U w h i l e t h e o t h e r s w a i t o n t h e C P U . C o m p o n e n t s l i k e t h e U N e t t h a t r u n f o r m u l t i p l e i t e r a t i o n s s t a y o n t h e G P U u n t i l t h e y ' r e n o l o n g e r n e e d e d . E n a b l e m o d e l o f f l o a d i n g b y c a l l i n g [ e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ) o n t h e p i p e l i n e : ` ` ` P y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e p i p e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , ) p r o m p t = " a p h o t o o f a n a s t r o n a u t r i d i n g a h o r s e o n m a r s " p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) i m a g e = p i p e ( p r o m p t ) . i m a g e s [ 0 ] ` ` ` < T i p w a r n i n g = { t r u e } > I n o r d e r t o p r o p e r l y o f f l o a d m o d e l s a f t e r t h e y ' r e c a l l e d , i t i s r e q u i r e d t o r u n t h e e n t i r e p i p e l i n e a n d m o d e l s a r e c a l l e d i n t h e p i p e l i n e ' s e x p e c t e d o r d e r . E x e r c i s e c a u t i o n i f m o d e l s a r e r e u s e d o u t s i d e t h e c o n t e x t o f t h e p i p e l i n e a f t e r h o o k s h a v e b e e n i n s t a l l e d . S e e [ R e m o v i n g H o o k s ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / a c c e l e r a t e / e n / p a c k a g e _ r e f e r e n c e / b i g _ m o d e l i n g # a c c e l e r a t e . h o o k s . r e m o v e _ h o o k _ f r o m _ m o d u l e ) f o r m o r e i n f o r m a t i o n . [ e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ) i s a s t a t e f u l o p e r a t i o n t h a t i n s t a l l s h o o k s o n t h e m o d e l s a n d s t a t e o n t h e p i p e l i n e . < / T i p > # # C h a n n e l s - l a s t m e m o r y f o r m a t T h e c h a n n e l s - l a s t m e m o r y f o r m a t i s a n a l t e r n a t i v e w a y o f o r d e r i n g N C H W t e n s o r s i n m e m o r y t o p r e s e r v e d i m e n s i o n o r d e r i n g . C h a n n e l s - l a s t t e n s o r s a r e o r d e r e d i n s u c h a w a y t h a t t h e c h a n n e l s b e c o m e t h e d e n s e s t d i m e n s i o n ( s t o r i n g i m a g e s p i x e l - p e r - p i x e l ) . S i n c e n o t a l l o p e r a t o r s c u r r e n t l y s u p p o r t t h e c h a n n e l s - l a s t f o r m a t , i t m a y r e s u l t i n w o r s t p e r f o r m a n c e b u t y o u s h o u l d s t i l l t r y a n d s e e i f i t w o r k s f o r y o u r m o d e l . F o r e x a m p l e , t o s e t t h e p i p e l i n e ' s U N e t t o u s e t h e c h a n n e l s - l a s t f o r m a t : ` ` ` p y t h o n p r i n t ( p i p e . u n e t . c o n v _ o u t . s t a t e _ d i c t ( ) [ " w e i g h t " ] . s t r i d e ( ) ) # ( 2 8 8 0 , 9 , 3 , 1 ) p i p e . u n e t . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) # i n - p l a c e o p e r a t i o n p r i n t ( p i p e . u n e t . c o n v _ o u t . s t a t e _ d i c t ( ) [ " w e i g h t " ] . s t r i d e ( ) ) # ( 2 8 8 0 , 1 , 9 6 0 , 3 2 0 ) h a v i n g a s t r i d e o f 1 f o r t h e 2 n d d i m e n s i o n p r o v e s t h a t i t w o r k s ` ` ` # # T r a c i n g T r a c i n g r u n s a n e x a m p l e i n p u t t e n s o r t h r o u g h t h e m o d e l a n d c a p t u r e s t h e o p e r a t i o n s t h a t a r e p e r f o r m e d o n i t a s t h a t i n p u t m a k e s i t s w a y t h r o u g h t h e m o d e l ' s l a y e r s . T h e e x e c u t a b l e o r ` S c r i p t F u n c t i o n ` t h a t i s r e t u r n e d i s o p t i m i z e d w i t h j u s t - i n - t i m e c o m p i l a t i o n . T o t r a c e a U N e t : ` ` ` p y t h o n i m p o r t t i m e i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e i m p o r t f u n c t o o l s # t o r c h d i s a b l e g r a d t o r c h . s e t _ g r a d _ e n a b l e d ( F a l s e ) # s e t v a r i a b l e s n _ e x p e r i m e n t s = 2 u n e t _ r u n s _ p e r _ e x p e r i m e n t = 5 0 # l o a d i n p u t s d e f g e n e r a t e _ i n p u t s ( ) : s a m p l e = t o r c h . r a n d n ( ( 2 , 4 , 6 4 , 6 4 ) , d e v i c e = " c u d a " , d t y p e = t o r c h . f l o a t 1 6 ) t i m e s t e p = t o r c h . r a n d ( 1 , d e v i c e = " c u d a " , d t y p e = t o r c h . f l o a t 1 6 ) * 9 9 9 e n c o d e r _ h i d d e n _ s t a t e s = t o r c h . r a n d n ( ( 2 , 7 7 , 7 6 8 ) , d e v i c e = " c u d a " , d t y p e = t o r c h . f l o a t 1 6 ) r e t u r n s a m p l e , t i m e s t e p , e n c o d e r _ h i d d e n _ s t a t e s p i p e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , ) . t o ( " c u d a " ) u n e t = p i p e . u n e t u n e t . e v a l ( ) u n e t . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) # u s e c h a n n e l s _ l a s t m e m o r y f o r m a t u n e t . f o r w a r d = f u n c t o o l s . p a r t i a l ( u n e t . f o r w a r d , r e t u r n _ d i c t = F a l s e ) # s e t r e t u r n _ d i c t = F a l s e a s d e f a u l t # w a r m u p f o r _ i n r a n g e ( 3 ) : w i t h t o r c h . i n f e r e n c e _ m o d e ( ) : i n p u t s = g e n e r a t e _ i n p u t s ( ) o r i g _ o u t p u t = u n e t ( * i n p u t s ) # t r a c e p r i n t ( " t r a c i n g . . " ) u n e t _ t r a c e d = t o r c h . j i t . t r a c e ( u n e t , i n p u t s ) u n e t _ t r a c e d . e v a l ( ) p r i n t ( " d o n e t r a c i n g " ) # w a r m u p a n d o p t i m i z e g r a p h f o r _ i n r a n g e ( 5 ) : w i t h t o r c h . i n f e r e n c e _ m o d e ( ) : i n p u t s = g e n e r a t e _ i n p u t s ( ) o r i g _ o u t p u t = u n e t _ t r a c e d ( * i n p u t s ) # b e n c h m a r k i n g w i t h t o r c h . i n f e r e n c e _ m o d e ( ) : f o r _ i n r a n g e ( n _ e x p e r i m e n t s ) : t o r c h . c u d a . s y n c h r o n i z e ( ) s t a r t _ t i m e = t i m e . t i m e ( ) f o r _ i n r a n g e ( u n e t _ r u n s _ p e r _ e x p e r i m e n t ) : o r i g _ o u t p u t = u n e t _ t r a c e d ( * i n p u t s ) t o r c h . c u d a . s y n c h r o n i z e ( ) p r i n t ( f " u n e t t r a c e d i n f e r e n c e t o o k { t i m e . t i m e ( ) - s t a r t _ t i m e : . 2 f } s e c o n d s " ) f o r _ i n r a n g e ( n _ e x p e r i m e n t s ) : t o r c h . c u d a . s y n c h r o n i z e ( ) s t a r t _ t i m e = t i m e . t i m e ( ) f o r _ i n r a n g e ( u n e t _ r u n s _ p e r _ e x p e r i m e n t ) : o r i g _ o u t p u t = u n e t ( * i n p u t s ) t o r c h . c u d a . s y n c h r o n i z e ( ) p r i n t ( f " u n e t i n f e r e n c e t o o k { t i m e . t i m e ( ) - s t a r t _ t i m e : . 2 f } s e c o n d s " ) # s a v e t h e m o d e l u n e t _ t r a c e d . s a v e ( " u n e t _ t r a c e d . p t " ) ` ` ` R e p l a c e t h e ` u n e t ` a t t r i b u t e o f t h e p i p e l i n e w i t h t h e t r a c e d m o d e l : ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e i m p o r t t o r c h f r o m d a t a c l a s s e s i m p o r t d a t a c l a s s @ d a t a c l a s s c l a s s U N e t 2 D C o n d i t i o n O u t p u t : s a m p l e : t o r c h . T e n s o r p i p e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , ) . t o ( " c u d a " ) # u s e j i t t e d u n e t u n e t _ t r a c e d = t o r c h . j i t . l o a d ( " u n e t _ t r a c e d . p t " ) # d e l p i p e . u n e t c l a s s T r a c e d U N e t ( t o r c h . n n . M o d u l e ) : d e f _ _ i n i t _ _ ( s e l f ) : s u p e r ( ) . _ _ i n i t _ _ ( ) s e l f . i n _ c h a n n e l s = p i p e . u n e t . c o n f i g . i n _ c h a n n e l s s e l f . d e v i c e = p i p e . u n e t . d e v i c e d e f f o r w a r d ( s e l f , l a t e n t _ m o d e l _ i n p u t , t , e n c o d e r _ h i d d e n _ s t a t e s ) : s a m p l e = u n e t _ t r a c e d ( l a t e n t _ m o d e l _ i n p u t , t , e n c o d e r _ h i d d e n _ s t a t e s ) [ 0 ] r e t u r n U N e t 2 D C o n d i t i o n O u t p u t ( s a m p l e = s a m p l e ) p i p e . u n e t = T r a c e d U N e t ( ) w i t h t o r c h . i n f e r e n c e _ m o d e ( ) : i m a g e = p i p e ( [ p r o m p t ] * 1 , n u m _ i n f e r e n c e _ s t e p s = 5 0 ) . i m a g e s [ 0 ] ` ` ` # # M e m o r y - e f f i c i e n t a t t e n t i o n R e c e n t w o r k o n o p t i m i z i n g b a n d w i d t h i n t h e a t t e n t i o n b l o c k h a s g e n e r a t e d h u g e s p e e d - u p s a n d r e d u c t i o n s i n G P U m e m o r y u s a g e . T h e m o s t r e c e n t t y p e o f m e m o r y - e f f i c i e n t a t t e n t i o n i s [ F l a s h A t t e n t i o n ] ( h t t p s : / / a r x i v . o r g / a b s / 2 2 0 5 . 1 4 1 3 5 ) ( y o u c a n c h e c k o u t t h e o r i g i n a l c o d e a t [ H a z y R e s e a r c h / f l a s h - a t t e n t i o n ] ( h t t p s : / / g i t h u b . c o m / H a z y R e s e a r c h / f l a s h - a t t e n t i o n ) ) . < T i p > I f y o u h a v e P y T o r c h > = 2 . 0 i n s t a l l e d , y o u s h o u l d n o t e x p e c t a s p e e d - u p f o r i n f e r e n c e w h e n e n a b l i n g ` x f o r m e r s ` . < / T i p > T o u s e F l a s h A t t e n t i o n , i n s t a l l t h e f o l l o w i n g : - P y T o r c h > 1 . 1 2 - C U D A a v a i l a b l e - [ x F o r m e r s ] ( x f o r m e r s ) T h e n c a l l [ e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / o v e r v i e w # d i f f u s e r s . M o d e l M i x i n . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ) o n t h e p i p e l i n e : ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , ) . t o ( " c u d a " ) p i p e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) w i t h t o r c h . i n f e r e n c e _ m o d e ( ) : s a m p l e = p i p e ( " a s m a l l c a t " ) # o p t i o n a l : Y o u c a n d i s a b l e i t v i a # p i p e . d i s a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) ` ` ` T h e i t e r a t i o n s p e e d w h e n u s i n g ` x f o r m e r s ` s h o u l d m a t c h t h e i t e r a t i o n s p e e d o f P y T o r c h 2 . 0 a s d e s c r i b e d [ h e r e ] ( t o r c h 2 . 0 ) . # O p e n V I N O ๐Ÿค— [ O p t i m u m ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / o p t i m u m - i n t e l ) p r o v i d e s S t a b l e D i f f u s i o n p i p e l i n e s c o m p a t i b l e w i t h O p e n V I N O t o p e r f o r m i n f e r e n c e o n a v a r i e t y o f I n t e l p r o c e s s o r s ( s e e t h e [ f u l l l i s t ] ( h t t p s : / / d o c s . o p e n v i n o . a i / l a t e s t / o p e n v i n o _ d o c s _ O V _ U G _ s u p p o r t e d _ p l u g i n s _ S u p p o r t e d _ D e v i c e s . h t m l ) o f s u p p o r t e d d e v i c e s ) . Y o u ' l l n e e d t o i n s t a l l ๐Ÿค— O p t i m u m I n t e l w i t h t h e ` - - u p g r a d e - s t r a t e g y e a g e r ` o p t i o n t o e n s u r e [ ` o p t i m u m - i n t e l ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / o p t i m u m - i n t e l ) i s u s i n g t h e l a t e s t v e r s i o n : ` ` ` b a s h p i p i n s t a l l - - u p g r a d e - s t r a t e g y e a g e r o p t i m u m [ " o p e n v i n o " ] ` ` ` T h i s g u i d e w i l l s h o w y o u h o w t o u s e t h e S t a b l e D i f f u s i o n a n d S t a b l e D i f f u s i o n X L ( S D X L ) p i p e l i n e s w i t h O p e n V I N O . # # S t a b l e D i f f u s i o n T o l o a d a n d r u n i n f e r e n c e , u s e t h e ` O V S t a b l e D i f f u s i o n P i p e l i n e ` . I f y o u w a n t t o l o a d a P y T o r c h m o d e l a n d c o n v e r t i t t o t h e O p e n V I N O f o r m a t o n - t h e - f l y , s e t ` e x p o r t = T r u e ` : ` ` ` p y t h o n f r o m o p t i m u m . i n t e l i m p o r t O V S t a b l e D i f f u s i o n P i p e l i n e m o d e l _ i d = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " p i p e l i n e = O V S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , e x p o r t = T r u e ) p r o m p t = " s a i l i n g s h i p i n s t o r m b y R e m b r a n d t " i m a g e = p i p e l i n e ( p r o m p t ) . i m a g e s [ 0 ] # D o n ' t f o r g e t t o s a v e t h e e x p o r t e d m o d e l p i p e l i n e . s a v e _ p r e t r a i n e d ( " o p e n v i n o - s d - v 1 - 5 " ) ` ` ` T o f u r t h e r s p e e d - u p i n f e r e n c e , s t a t i c a l l y r e s h a p e t h e m o d e l . I f y o u c h a n g e a n y p a r a m e t e r s s u c h a s t h e o u t p u t s h e i g h t o r w i d t h , y o u โ€™ l l n e e d t o s t a t i c a l l y r e s h a p e y o u r m o d e l a g a i n . ` ` ` p y t h o n # D e f i n e t h e s h a p e s r e l a t e d t o t h e i n p u t s a n d d e s i r e d o u t p u t s b a t c h _ s i z e , n u m _ i m a g e s , h e i g h t , w i d t h = 1 , 1 , 5 1 2 , 5 1 2 # S t a t i c a l l y r e s h a p e t h e m o d e l p i p e l i n e . r e s h a p e ( b a t c h _ s i z e , h e i g h t , w i d t h , n u m _ i m a g e s ) # C o m p i l e t h e m o d e l b e f o r e i n f e r e n c e p i p e l i n e . c o m p i l e ( ) i m a g e = p i p e l i n e ( p r o m p t , h e i g h t = h e i g h t , w i d t h = w i d t h , n u m _ i m a g e s _ p e r _ p r o m p t = n u m _ i m a g e s , ) . i m a g e s [ 0 ] ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / o p t i m u m / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / i n t e l / o p e n v i n o / s t a b l e _ d i f f u s i o n _ v 1 _ 5 _ s a i l _ b o a t _ r e m b r a n d t . p n g " > < / d i v > Y o u c a n f i n d m o r e e x a m p l e s i n t h e ๐Ÿค— O p t i m u m [ d o c u m e n t a t i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / o p t i m u m / i n t e l / i n f e r e n c e # s t a b l e - d i f f u s i o n ) , a n d S t a b l e D i f f u s i o n i s s u p p o r t e d f o r t e x t - t o - i m a g e , i m a g e - t o - i m a g e , a n d i n p a i n t i n g . # # S t a b l e D i f f u s i o n X L T o l o a d a n d r u n i n f e r e n c e w i t h S D X L , u s e t h e ` O V S t a b l e D i f f u s i o n X L P i p e l i n e ` : ` ` ` p y t h o n f r o m o p t i m u m . i n t e l i m p o r t O V S t a b l e D i f f u s i o n X L P i p e l i n e m o d e l _ i d = " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " p i p e l i n e = O V S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d ) p r o m p t = " s a i l i n g s h i p i n s t o r m b y R e m b r a n d t " i m a g e = p i p e l i n e ( p r o m p t ) . i m a g e s [ 0 ] ` ` ` T o f u r t h e r s p e e d - u p i n f e r e n c e , [ s t a t i c a l l y r e s h a p e ] ( # s t a b l e - d i f f u s i o n ) t h e m o d e l a s s h o w n i n t h e S t a b l e D i f f u s i o n s e c t i o n . Y o u c a n f i n d m o r e e x a m p l e s i n t h e ๐Ÿค— O p t i m u m [ d o c u m e n t a t i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / o p t i m u m / i n t e l / i n f e r e n c e # s t a b l e - d i f f u s i o n - x l ) , a n d r u n n i n g S D X L i n O p e n V I N O i s s u p p o r t e d f o r t e x t - t o - i m a g e a n d i m a g e - t o - i m a g e . # H o w t o r u n S t a b l e D i f f u s i o n w i t h C o r e M L [ C o r e M L ] ( h t t p s : / / d e v e l o p e r . a p p l e . c o m / d o c u m e n t a t i o n / c o r e m l ) i s t h e m o d e l f o r m a t a n d m a c h i n e l e a r n i n g l i b r a r y s u p p o r t e d b y A p p l e f r a m e w o r k s . I f y o u a r e i n t e r e s t e d i n r u n n i n g S t a b l e D i f f u s i o n m o d e l s i n s i d e y o u r m a c O S o r i O S / i P a d O S a p p s , t h i s g u i d e w i l l s h o w y o u h o w t o c o n v e r t e x i s t i n g P y T o r c h c h e c k p o i n t s i n t o t h e C o r e M L f o r m a t a n d u s e t h e m f o r i n f e r e n c e w i t h P y t h o n o r S w i f t . C o r e M L m o d e l s c a n l e v e r a g e a l l t h e c o m p u t e e n g i n e s a v a i l a b l e i n A p p l e d e v i c e s : t h e C P U , t h e G P U , a n d t h e A p p l e N e u r a l E n g i n e ( o r A N E , a t e n s o r - o p t i m i z e d a c c e l e r a t o r a v a i l a b l e i n A p p l e S i l i c o n M a c s a n d m o d e r n i P h o n e s / i P a d s ) . D e p e n d i n g o n t h e m o d e l a n d t h e d e v i c e i t ' s r u n n i n g o n , C o r e M L c a n m i x a n d m a t c h c o m p u t e e n g i n e s t o o , s o s o m e p o r t i o n s o f t h e m o d e l m a y r u n o n t h e C P U w h i l e o t h e r s r u n o n G P U , f o r e x a m p l e . < T i p > Y o u c a n a l s o r u n t h e ` d i f f u s e r s ` P y t h o n c o d e b a s e o n A p p l e S i l i c o n M a c s u s i n g t h e ` m p s ` a c c e l e r a t o r b u i l t i n t o P y T o r c h . T h i s a p p r o a c h i s e x p l a i n e d i n d e p t h i n [ t h e m p s g u i d e ] ( m p s ) , b u t i t i s n o t c o m p a t i b l e w i t h n a t i v e a p p s . < / T i p > # # S t a b l e D i f f u s i o n C o r e M L C h e c k p o i n t s S t a b l e D i f f u s i o n w e i g h t s ( o r c h e c k p o i n t s ) a r e s t o r e d i n t h e P y T o r c h f o r m a t , s o y o u n e e d t o c o n v e r t t h e m t o t h e C o r e M L f o r m a t b e f o r e w e c a n u s e t h e m i n s i d e n a t i v e a p p s . T h a n k f u l l y , A p p l e e n g i n e e r s d e v e l o p e d [ a c o n v e r s i o n t o o l ] ( h t t p s : / / g i t h u b . c o m / a p p l e / m l - s t a b l e - d i f f u s i o n # - c o n v e r t i n g - m o d e l s - t o - c o r e - m l ) b a s e d o n ` d i f f u s e r s ` t o c o n v e r t t h e P y T o r c h c h e c k p o i n t s t o C o r e M L . B e f o r e y o u c o n v e r t a m o d e l , t h o u g h , t a k e a m o m e n t t o e x p l o r e t h e H u g g i n g F a c e H u b โ€“ c h a n c e s a r e t h e m o d e l y o u ' r e i n t e r e s t e d i n i s a l r e a d y a v a i l a b l e i n C o r e M L f o r m a t : - t h e [ A p p l e ] ( h t t p s : / / h u g g i n g f a c e . c o / a p p l e ) o r g a n i z a t i o n i n c l u d e s S t a b l e D i f f u s i o n v e r s i o n s 1 . 4 , 1 . 5 , 2 . 0 b a s e , a n d 2 . 1 b a s e - [ c o r e m l c o m m u n i t y ] ( h t t p s : / / h u g g i n g f a c e . c o / c o r e m l - c o m m u n i t y ) i n c l u d e s c u s t o m f i n e t u n e d m o d e l s - u s e t h i s [ f i l t e r ] ( h t t p s : / / h u g g i n g f a c e . c o / m o d e l s ? p i p e l i n e _ t a g = t e x t - t o - i m a g e & l i b r a r y = c o r e m l & p = 2 & s o r t = l i k e s ) t o r e t u r n a l l a v a i l a b l e C o r e M L c h e c k p o i n t s I f y o u c a n ' t f i n d t h e m o d e l y o u ' r e i n t e r e s t e d i n , w e r e c o m m e n d y o u f o l l o w t h e i n s t r u c t i o n s f o r [ C o n v e r t i n g M o d e l s t o C o r e M L ] ( h t t p s : / / g i t h u b . c o m / a p p l e / m l - s t a b l e - d i f f u s i o n # - c o n v e r t i n g - m o d e l s - t o - c o r e - m l ) b y A p p l e . # # S e l e c t i n g t h e C o r e M L V a r i a n t t o U s e S t a b l e D i f f u s i o n m o d e l s c a n b e c o n v e r t e d t o d i f f e r e n t C o r e M L v a r i a n t s i n t e n d e d f o r d i f f e r e n t p u r p o s e s : - T h e t y p e o f a t t e n t i o n b l o c k s u s e d . T h e a t t e n t i o n o p e r a t i o n i s u s e d t o " p a y a t t e n t i o n " t o t h e r e l a t i o n s h i p b e t w e e n d i f f e r e n t a r e a s i n t h e i m a g e r e p r e s e n t a t i o n s a n d t o u n d e r s t a n d h o w t h e i m a g e a n d t e x t r e p r e s e n t a t i o n s a r e r e l a t e d . A t t e n t i o n i s c o m p u t e - a n d m e m o r y - i n t e n s i v e , s o d i f f e r e n t i m p l e m e n t a t i o n s e x i s t t h a t c o n s i d e r t h e h a r d w a r e c h a r a c t e r i s t i c s o f d i f f e r e n t d e v i c e s . F o r C o r e M L S t a b l e D i f f u s i o n m o d e l s , t h e r e a r e t w o a t t e n t i o n v a r i a n t s : * ` s p l i t _ e i n s u m ` ( [ i n t r o d u c e d b y A p p l e ] ( h t t p s : / / m a c h i n e l e a r n i n g . a p p l e . c o m / r e s e a r c h / n e u r a l - e n g i n e - t r a n s f o r m e r s ) ) i s o p t i m i z e d f o r A N E d e v i c e s , w h i c h i s a v a i l a b l e i n m o d e r n i P h o n e s , i P a d s a n d M - s e r i e s c o m p u t e r s . * T h e " o r i g i n a l " a t t e n t i o n ( t h e b a s e i m p l e m e n t a t i o n u s e d i n ` d i f f u s e r s ` ) i s o n l y c o m p a t i b l e w i t h C P U / G P U a n d n o t A N E . I t c a n b e * f a s t e r * t o r u n y o u r m o d e l o n C P U + G P U u s i n g ` o r i g i n a l ` a t t e n t i o n t h a n A N E . S e e [ t h i s p e r f o r m a n c e b e n c h m a r k ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / f a s t - m a c - d i f f u s e r s # p e r f o r m a n c e - b e n c h m a r k s ) a s w e l l a s s o m e [ a d d i t i o n a l m e a s u r e s p r o v i d e d b y t h e c o m m u n i t y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / s w i f t - c o r e m l - d i f f u s e r s / i s s u e s / 3 1 ) f o r a d d i t i o n a l d e t a i l s . - T h e s u p p o r t e d i n f e r e n c e f r a m e w o r k . * ` p a c k a g e s ` a r e s u i t a b l e f o r P y t h o n i n f e r e n c e . T h i s c a n b e u s e d t o t e s t c o n v e r t e d C o r e M L m o d e l s b e f o r e a t t e m p t i n g t o i n t e g r a t e t h e m i n s i d e n a t i v e a p p s , o r i f y o u w a n t t o e x p l o r e C o r e M L p e r f o r m a n c e b u t d o n ' t n e e d t o s u p p o r t n a t i v e a p p s . F o r e x a m p l e , a n a p p l i c a t i o n w i t h a w e b U I c o u l d p e r f e c t l y u s e a P y t h o n C o r e M L b a c k e n d . * ` c o m p i l e d ` m o d e l s a r e r e q u i r e d f o r S w i f t c o d e . T h e ` c o m p i l e d ` m o d e l s i n t h e H u b s p l i t t h e l a r g e U N e t m o d e l w e i g h t s i n t o s e v e r a l f i l e s f o r c o m p a t i b i l i t y w i t h i O S a n d i P a d O S d e v i c e s . T h i s c o r r e s p o n d s t o t h e [ ` - - c h u n k - u n e t ` c o n v e r s i o n o p t i o n ] ( h t t p s : / / g i t h u b . c o m / a p p l e / m l - s t a b l e - d i f f u s i o n # - c o n v e r t i n g - m o d e l s - t o - c o r e - m l ) . I f y o u w a n t t o s u p p o r t n a t i v e a p p s , t h e n y o u n e e d t o s e l e c t t h e ` c o m p i l e d ` v a r i a n t . T h e o f f i c i a l C o r e M L S t a b l e D i f f u s i o n [ m o d e l s ] ( h t t p s : / / h u g g i n g f a c e . c o / a p p l e / c o r e m l - s t a b l e - d i f f u s i o n - v 1 - 4 / t r e e / m a i n ) i n c l u d e t h e s e v a r i a n t s , b u t t h e c o m m u n i t y o n e s m a y v a r y : ` ` ` c o r e m l - s t a b l e - d i f f u s i o n - v 1 - 4 โ”œ โ”€ โ”€ R E A D M E . m d โ”œ โ”€ โ”€ o r i g i n a l โ”‚ โ”œ โ”€ โ”€ c o m p i l e d โ”‚ โ”” โ”€ โ”€ p a c k a g e s โ”” โ”€ โ”€ s p l i t _ e i n s u m โ”œ โ”€ โ”€ c o m p i l e d โ”” โ”€ โ”€ p a c k a g e s ` ` ` Y o u c a n d o w n l o a d a n d u s e t h e v a r i a n t y o u n e e d a s s h o w n b e l o w . # # C o r e M L I n f e r e n c e i n P y t h o n I n s t a l l t h e f o l l o w i n g l i b r a r i e s t o r u n C o r e M L i n f e r e n c e i n P y t h o n : ` ` ` b a s h p i p i n s t a l l h u g g i n g f a c e _ h u b p i p i n s t a l l g i t + h t t p s : / / g i t h u b . c o m / a p p l e / m l - s t a b l e - d i f f u s i o n ` ` ` # # # D o w n l o a d t h e M o d e l C h e c k p o i n t s T o r u n i n f e r e n c e i n P y t h o n , u s e o n e o f t h e v e r s i o n s s t o r e d i n t h e ` p a c k a g e s ` f o l d e r s b e c a u s e t h e ` c o m p i l e d ` o n e s a r e o n l y c o m p a t i b l e w i t h S w i f t . Y o u m a y c h o o s e w h e t h e r y o u w a n t t o u s e ` o r i g i n a l ` o r ` s p l i t _ e i n s u m ` a t t e n t i o n . T h i s i s h o w y o u ' d d o w n l o a d t h e ` o r i g i n a l ` a t t e n t i o n v a r i a n t f r o m t h e H u b t o a d i r e c t o r y c a l l e d ` m o d e l s ` : ` ` ` P y t h o n f r o m h u g g i n g f a c e _ h u b i m p o r t s n a p s h o t _ d o w n l o a d f r o m p a t h l i b i m p o r t P a t h r e p o _ i d = " a p p l e / c o r e m l - s t a b l e - d i f f u s i o n - v 1 - 4 " v a r i a n t = " o r i g i n a l / p a c k a g e s " m o d e l _ p a t h = P a t h ( " . / m o d e l s " ) / ( r e p o _ i d . s p l i t ( " / " ) [ - 1 ] + " _ " + v a r i a n t . r e p l a c e ( " / " , " _ " ) ) s n a p s h o t _ d o w n l o a d ( r e p o _ i d , a l l o w _ p a t t e r n s = f " { v a r i a n t } / * " , l o c a l _ d i r = m o d e l _ p a t h , l o c a l _ d i r _ u s e _ s y m l i n k s = F a l s e ) p r i n t ( f " M o d e l d o w n l o a d e d a t { m o d e l _ p a t h } " ) ` ` ` # # # I n f e r e n c e [ [ p y t h o n - i n f e r e n c e ] ] O n c e y o u h a v e d o w n l o a d e d a s n a p s h o t o f t h e m o d e l , y o u c a n t e s t i t u s i n g A p p l e ' s P y t h o n s c r i p t . ` ` ` s h e l l p y t h o n - m p y t h o n _ c o r e m l _ s t a b l e _ d i f f u s i o n . p i p e l i n e - - p r o m p t " a p h o t o o f a n a s t r o n a u t r i d i n g a h o r s e o n m a r s " - i . / m o d e l s / c o r e m l - s t a b l e - d i f f u s i o n - v 1 - 4 _ o r i g i n a l _ p a c k a g e s / o r i g i n a l / p a c k a g e s - o < / p a t h / t o / o u t p u t / i m a g e > - - c o m p u t e - u n i t C P U _ A N D _ G P U - - s e e d 9 3 ` ` ` P a s s t h e p a t h o f t h e d o w n l o a d e d c h e c k p o i n t w i t h ` - i ` f l a g t o t h e s c r i p t . ` - - c o m p u t e - u n i t ` i n d i c a t e s t h e h a r d w a r e y o u w a n t t o a l l o w f o r i n f e r e n c e . I t m u s t b e o n e o f t h e f o l l o w i n g o p t i o n s : ` A L L ` , ` C P U _ A N D _ G P U ` , ` C P U _ O N L Y ` , ` C P U _ A N D _ N E ` . Y o u m a y a l s o p r o v i d e a n o p t i o n a l o u t p u t p a t h , a n d a s e e d f o r r e p r o d u c i b i l i t y . T h e i n f e r e n c e s c r i p t a s s u m e s y o u ' r e u s i n g t h e o r i g i n a l v e r s i o n o f t h e S t a b l e D i f f u s i o n m o d e l , ` C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 ` . I f y o u u s e a n o t h e r m o d e l , y o u * h a v e * t o s p e c i f y i t s H u b i d i n t h e i n f e r e n c e c o m m a n d l i n e , u s i n g t h e ` - - m o d e l - v e r s i o n ` o p t i o n . T h i s w o r k s f o r m o d e l s a l r e a d y s u p p o r t e d a n d c u s t o m m o d e l s y o u t r a i n e d o r f i n e - t u n e d y o u r s e l f . F o r e x a m p l e , i f y o u w a n t t o u s e [ ` s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ` ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ) : ` ` ` s h e l l p y t h o n - m p y t h o n _ c o r e m l _ s t a b l e _ d i f f u s i o n . p i p e l i n e - - p r o m p t " a p h o t o o f a n a s t r o n a u t r i d i n g a h o r s e o n m a r s " - - c o m p u t e - u n i t A L L - o o u t p u t - - s e e d 9 3 - i m o d e l s / c o r e m l - s t a b l e - d i f f u s i o n - v 1 - 5 _ o r i g i n a l _ p a c k a g e s - - m o d e l - v e r s i o n s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ` ` ` # # C o r e M L i n f e r e n c e i n S w i f t R u n n i n g i n f e r e n c e i n S w i f t i s s l i g h t l y f a s t e r t h a n i n P y t h o n b e c a u s e t h e m o d e l s a r e a l r e a d y c o m p i l e d i n t h e ` m l m o d e l c ` f o r m a t . T h i s i s n o t i c e a b l e o n a p p s t a r t u p w h e n t h e m o d e l i s l o a d e d b u t s h o u l d n โ€™ t b e n o t i c e a b l e i f y o u r u n s e v e r a l g e n e r a t i o n s a f t e r w a r d . # # # D o w n l o a d T o r u n i n f e r e n c e i n S w i f t o n y o u r M a c , y o u n e e d o n e o f t h e ` c o m p i l e d ` c h e c k p o i n t v e r s i o n s . W e r e c o m m e n d y o u d o w n l o a d t h e m l o c a l l y u s i n g P y t h o n c o d e s i m i l a r t o t h e p r e v i o u s e x a m p l e , b u t w i t h o n e o f t h e ` c o m p i l e d ` v a r i a n t s : ` ` ` P y t h o n f r o m h u g g i n g f a c e _ h u b i m p o r t s n a p s h o t _ d o w n l o a d f r o m p a t h l i b i m p o r t P a t h r e p o _ i d = " a p p l e / c o r e m l - s t a b l e - d i f f u s i o n - v 1 - 4 " v a r i a n t = " o r i g i n a l / c o m p i l e d " m o d e l _ p a t h = P a t h ( " . / m o d e l s " ) / ( r e p o _ i d . s p l i t ( " / " ) [ - 1 ] + " _ " + v a r i a n t . r e p l a c e ( " / " , " _ " ) ) s n a p s h o t _ d o w n l o a d ( r e p o _ i d , a l l o w _ p a t t e r n s = f " { v a r i a n t } / * " , l o c a l _ d i r = m o d e l _ p a t h , l o c a l _ d i r _ u s e _ s y m l i n k s = F a l s e ) p r i n t ( f " M o d e l d o w n l o a d e d a t { m o d e l _ p a t h } " ) ` ` ` # # # I n f e r e n c e [ [ s w i f t - i n f e r e n c e ] ] T o r u n i n f e r e n c e , p l e a s e c l o n e A p p l e ' s r e p o : ` ` ` b a s h g i t c l o n e h t t p s : / / g i t h u b . c o m / a p p l e / m l - s t a b l e - d i f f u s i o n c d m l - s t a b l e - d i f f u s i o n ` ` ` A n d t h e n u s e A p p l e ' s c o m m a n d l i n e t o o l , [ S w i f t P a c k a g e M a n a g e r ] ( h t t p s : / / w w w . s w i f t . o r g / p a c k a g e - m a n a g e r / # ) : ` ` ` b a s h s w i f t r u n S t a b l e D i f f u s i o n S a m p l e - - r e s o u r c e - p a t h m o d e l s / c o r e m l - s t a b l e - d i f f u s i o n - v 1 - 4 _ o r i g i n a l _ c o m p i l e d - - c o m p u t e - u n i t s a l l " a p h o t o o f a n a s t r o n a u t r i d i n g a h o r s e o n m a r s " ` ` ` Y o u h a v e t o s p e c i f y i n ` - - r e s o u r c e - p a t h ` o n e o f t h e c h e c k p o i n t s d o w n l o a d e d i n t h e p r e v i o u s s t e p , s o p l e a s e m a k e s u r e i t c o n t a i n s c o m p i l e d C o r e M L b u n d l e s w i t h t h e e x t e n s i o n ` . m l m o d e l c ` . T h e ` - - c o m p u t e - u n i t s ` h a s t o b e o n e o f t h e s e v a l u e s : ` a l l ` , ` c p u O n l y ` , ` c p u A n d G P U ` , ` c p u A n d N e u r a l E n g i n e ` . F o r m o r e d e t a i l s , p l e a s e r e f e r t o t h e [ i n s t r u c t i o n s i n A p p l e ' s r e p o ] ( h t t p s : / / g i t h u b . c o m / a p p l e / m l - s t a b l e - d i f f u s i o n ) . # # S u p p o r t e d D i f f u s e r s F e a t u r e s T h e C o r e M L m o d e l s a n d i n f e r e n c e c o d e d o n ' t s u p p o r t m a n y o f t h e f e a t u r e s , o p t i o n s , a n d f l e x i b i l i t y o f ๐Ÿงจ D i f f u s e r s . T h e s e a r e s o m e o f t h e l i m i t a t i o n s t o k e e p i n m i n d : - C o r e M L m o d e l s a r e o n l y s u i t a b l e f o r i n f e r e n c e . T h e y c a n ' t b e u s e d f o r t r a i n i n g o r f i n e - t u n i n g . - O n l y t w o s c h e d u l e r s h a v e b e e n p o r t e d t o S w i f t , t h e d e f a u l t o n e u s e d b y S t a b l e D i f f u s i o n a n d ` D P M S o l v e r M u l t i s t e p S c h e d u l e r ` , w h i c h w e p o r t e d t o S w i f t f r o m o u r ` d i f f u s e r s ` i m p l e m e n t a t i o n . W e r e c o m m e n d y o u u s e ` D P M S o l v e r M u l t i s t e p S c h e d u l e r ` , s i n c e i t p r o d u c e s t h e s a m e q u a l i t y i n a b o u t h a l f t h e s t e p s . - N e g a t i v e p r o m p t s , c l a s s i f i e r - f r e e g u i d a n c e s c a l e , a n d i m a g e - t o - i m a g e t a s k s a r e a v a i l a b l e i n t h e i n f e r e n c e c o d e . A d v a n c e d f e a t u r e s s u c h a s d e p t h g u i d a n c e , C o n t r o l N e t , a n d l a t e n t u p s c a l e r s a r e n o t a v a i l a b l e y e t . A p p l e ' s [ c o n v e r s i o n a n d i n f e r e n c e r e p o ] ( h t t p s : / / g i t h u b . c o m / a p p l e / m l - s t a b l e - d i f f u s i o n ) a n d o u r o w n [ s w i f t - c o r e m l - d i f f u s e r s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / s w i f t - c o r e m l - d i f f u s e r s ) r e p o s a r e i n t e n d e d a s t e c h n o l o g y d e m o n s t r a t o r s t o e n a b l e o t h e r d e v e l o p e r s t o b u i l d u p o n . I f y o u f e e l s t r o n g l y a b o u t a n y m i s s i n g f e a t u r e s , p l e a s e f e e l f r e e t o o p e n a f e a t u r e r e q u e s t o r , b e t t e r y e t , a c o n t r i b u t i o n P R ๐Ÿ™‚ . # # N a t i v e D i f f u s e r s S w i f t a p p O n e e a s y w a y t o r u n S t a b l e D i f f u s i o n o n y o u r o w n A p p l e h a r d w a r e i s t o u s e [ o u r o p e n - s o u r c e S w i f t r e p o ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / s w i f t - c o r e m l - d i f f u s e r s ) , b a s e d o n ` d i f f u s e r s ` a n d A p p l e ' s c o n v e r s i o n a n d i n f e r e n c e r e p o . Y o u c a n s t u d y t h e c o d e , c o m p i l e i t w i t h [ X c o d e ] ( h t t p s : / / d e v e l o p e r . a p p l e . c o m / x c o d e / ) a n d a d a p t i t f o r y o u r o w n n e e d s . F o r y o u r c o n v e n i e n c e , t h e r e ' s a l s o a [ s t a n d a l o n e M a c a p p i n t h e A p p S t o r e ] ( h t t p s : / / a p p s . a p p l e . c o m / a p p / d i f f u s e r s / i d 1 6 6 6 3 0 9 5 7 4 ) , s o y o u c a n p l a y w i t h i t w i t h o u t h a v i n g t o d e a l w i t h t h e c o d e o r I D E . I f y o u a r e a d e v e l o p e r a n d h a v e d e t e r m i n e d t h a t C o r e M L i s t h e b e s t s o l u t i o n t o b u i l d y o u r S t a b l e D i f f u s i o n a p p , t h e n y o u c a n u s e t h e r e s t o f t h i s g u i d e t o g e t s t a r t e d w i t h y o u r p r o j e c t . W e c a n ' t w a i t t o s e e w h a t y o u ' l l b u i l d ๐Ÿ™‚ . # S p e e d u p i n f e r e n c e T h e r e a r e s e v e r a l w a y s t o o p t i m i z e D i f f u s e r s f o r i n f e r e n c e s p e e d , s u c h a s r e d u c i n g t h e c o m p u t a t i o n a l b u r d e n b y l o w e r i n g t h e d a t a p r e c i s i o n o r u s i n g a l i g h t w e i g h t d i s t i l l e d m o d e l . T h e r e a r e a l s o m e m o r y - e f f i c i e n t a t t e n t i o n i m p l e m e n t a t i o n s , [ x F o r m e r s ] ( x f o r m e r s ) a n d [ s c a l e d d o t p r o d u c t a t t e n t i o n ] ( h t t p s : / / p y t o r c h . o r g / d o c s / s t a b l e / g e n e r a t e d / t o r c h . n n . f u n c t i o n a l . s c a l e d _ d o t _ p r o d u c t _ a t t e n t i o n . h t m l ) i n P y T o r c h 2 . 0 , t h a t r e d u c e m e m o r y u s a g e w h i c h a l s o i n d i r e c t l y s p e e d s u p i n f e r e n c e . D i f f e r e n t s p e e d o p t i m i z a t i o n s c a n b e s t a c k e d t o g e t h e r t o g e t t h e f a s t e s t i n f e r e n c e t i m e s . > [ ! T I P ] > O p t i m i z i n g f o r i n f e r e n c e s p e e d o r r e d u c e d m e m o r y u s a g e c a n l e a d t o i m p r o v e d p e r f o r m a n c e i n t h e o t h e r c a t e g o r y , s o y o u s h o u l d t r y t o o p t i m i z e f o r b o t h w h e n e v e r y o u c a n . T h i s g u i d e f o c u s e s o n i n f e r e n c e s p e e d , b u t y o u c a n l e a r n m o r e a b o u t l o w e r i n g m e m o r y u s a g e i n t h e [ R e d u c e m e m o r y u s a g e ] ( m e m o r y ) g u i d e . T h e i n f e r e n c e t i m e s b e l o w a r e o b t a i n e d f r o m g e n e r a t i n g a s i n g l e 5 1 2 x 5 1 2 i m a g e f r o m t h e p r o m p t " a p h o t o o f a n a s t r o n a u t r i d i n g a h o r s e o n m a r s " w i t h 5 0 D D I M s t e p s o n a N V I D I A A 1 0 0 . | s e t u p | l a t e n c y | s p e e d - u p | | - - - - - - - - - - | - - - - - - - - - | - - - - - - - - - - | | b a s e l i n e | 5 . 2 7 s | x 1 | | t f 3 2 | 4 . 1 4 s | x 1 . 2 7 | | f p 1 6 | 3 . 5 1 s | x 1 . 5 0 | | c o m b i n e d | 3 . 4 1 s | x 1 . 5 4 | # # T e n s o r F l o a t - 3 2 O n A m p e r e a n d l a t e r C U D A d e v i c e s , m a t r i x m u l t i p l i c a t i o n s a n d c o n v o l u t i o n s c a n u s e t h e [ T e n s o r F l o a t - 3 2 ( t f 3 2 ) ] ( h t t p s : / / b l o g s . n v i d i a . c o m / b l o g / 2 0 2 0 / 0 5 / 1 4 / t e n s o r f l o a t - 3 2 - p r e c i s i o n - f o r m a t / ) m o d e f o r f a s t e r , b u t s l i g h t l y l e s s a c c u r a t e c o m p u t a t i o n s . B y d e f a u l t , P y T o r c h e n a b l e s t f 3 2 m o d e f o r c o n v o l u t i o n s b u t n o t m a t r i x m u l t i p l i c a t i o n s . U n l e s s y o u r n e t w o r k r e q u i r e s f u l l f l o a t 3 2 p r e c i s i o n , w e r e c o m m e n d e n a b l i n g t f 3 2 f o r m a t r i x m u l t i p l i c a t i o n s . I t c a n s i g n i f i c a n t l y s p e e d u p c o m p u t a t i o n s w i t h t y p i c a l l y n e g l i g i b l e l o s s i n n u m e r i c a l a c c u r a c y . ` ` ` p y t h o n i m p o r t t o r c h t o r c h . b a c k e n d s . c u d a . m a t m u l . a l l o w _ t f 3 2 = T r u e ` ` ` L e a r n m o r e a b o u t t f 3 2 i n t h e [ M i x e d p r e c i s i o n t r a i n i n g ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / e n / p e r f _ t r a i n _ g p u _ o n e # t f 3 2 ) g u i d e . # # H a l f - p r e c i s i o n w e i g h t s T o s a v e G P U m e m o r y a n d g e t m o r e s p e e d , s e t ` t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ` t o l o a d a n d r u n t h e m o d e l w e i g h t s d i r e c t l y w i t h h a l f - p r e c i s i o n w e i g h t s . ` ` ` P y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , ) p i p e = p i p e . t o ( " c u d a " ) ` ` ` > [ ! W A R N I N G ] > D o n ' t u s e [ t o r c h . a u t o c a s t ] ( h t t p s : / / p y t o r c h . o r g / d o c s / s t a b l e / a m p . h t m l # t o r c h . a u t o c a s t ) i n a n y o f t h e p i p e l i n e s a s i t c a n l e a d t o b l a c k i m a g e s a n d i s a l w a y s s l o w e r t h a n p u r e f l o a t 1 6 p r e c i s i o n . # # D i s t i l l e d m o d e l Y o u c o u l d a l s o u s e a d i s t i l l e d S t a b l e D i f f u s i o n m o d e l a n d a u t o e n c o d e r t o s p e e d u p i n f e r e n c e . D u r i n g d i s t i l l a t i o n , m a n y o f t h e U N e t ' s r e s i d u a l a n d a t t e n t i o n b l o c k s a r e s h e d t o r e d u c e t h e m o d e l s i z e b y 5 1 % a n d i m p r o v e l a t e n c y o n C P U / G P U b y 4 3 % . T h e d i s t i l l e d m o d e l i s f a s t e r a n d u s e s l e s s m e m o r y w h i l e g e n e r a t i n g i m a g e s o f c o m p a r a b l e q u a l i t y t o t h e f u l l S t a b l e D i f f u s i o n m o d e l . > [ ! T I P ] > R e a d t h e [ O p e n - s o u r c i n g K n o w l e d g e D i s t i l l a t i o n C o d e a n d W e i g h t s o f S D - S m a l l a n d S D - T i n y ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / s d _ d i s t i l l a t i o n ) b l o g p o s t t o l e a r n m o r e a b o u t h o w k n o w l e d g e d i s t i l l a t i o n t r a i n i n g w o r k s t o p r o d u c e a f a s t e r , s m a l l e r , a n d c h e a p e r g e n e r a t i v e m o d e l . T h e i n f e r e n c e t i m e s b e l o w a r e o b t a i n e d f r o m g e n e r a t i n g 4 i m a g e s f r o m t h e p r o m p t " a p h o t o o f a n a s t r o n a u t r i d i n g a h o r s e o n m a r s " w i t h 2 5 P N D M s t e p s o n a N V I D I A A 1 0 0 . E a c h g e n e r a t i o n i s r e p e a t e d 3 t i m e s w i t h t h e d i s t i l l e d S t a b l e D i f f u s i o n v 1 . 4 m o d e l b y [ N o t a A I ] ( h t t p s : / / h f . c o / n o t a - a i ) . | s e t u p | l a t e n c y | s p e e d - u p | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - | - - - - - - - - - - | | b a s e l i n e | 6 . 3 7 s | x 1 | | d i s t i l l e d | 4 . 1 8 s | x 1 . 5 2 | | d i s t i l l e d + t i n y a u t o e n c o d e r | 3 . 8 3 s | x 1 . 6 6 | L e t ' s l o a d t h e d i s t i l l e d S t a b l e D i f f u s i o n m o d e l a n d c o m p a r e i t a g a i n s t t h e o r i g i n a l S t a b l e D i f f u s i o n m o d e l . ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e i m p o r t t o r c h d i s t i l l e d = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " n o t a - a i / b k - s d m - s m a l l " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , ) . t o ( " c u d a " ) p r o m p t = " a g o l d e n v a s e w i t h d i f f e r e n t f l o w e r s " g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 2 0 2 3 ) i m a g e = d i s t i l l e d ( " a g o l d e n v a s e w i t h d i f f e r e n t f l o w e r s " , n u m _ i n f e r e n c e _ s t e p s = 2 5 , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / o r i g i n a l _ s d . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > o r i g i n a l S t a b l e D i f f u s i o n < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / d i s t i l l e d _ s d . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > d i s t i l l e d S t a b l e D i f f u s i o n < / f i g c a p t i o n > < / d i v > < / d i v > # # # T i n y A u t o E n c o d e r T o s p e e d i n f e r e n c e u p e v e n m o r e , r e p l a c e t h e a u t o e n c o d e r w i t h a [ d i s t i l l e d v e r s i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / s a y a k p a u l / t a e s d x l - d i f f u s e r s ) o f i t . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o e n c o d e r T i n y , S t a b l e D i f f u s i o n P i p e l i n e d i s t i l l e d = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " n o t a - a i / b k - s d m - s m a l l " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , ) . t o ( " c u d a " ) d i s t i l l e d . v a e = A u t o e n c o d e r T i n y . f r o m _ p r e t r a i n e d ( " s a y a k p a u l / t a e s d - d i f f u s e r s " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , ) . t o ( " c u d a " ) p r o m p t = " a g o l d e n v a s e w i t h d i f f e r e n t f l o w e r s " g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 2 0 2 3 ) i m a g e = d i s t i l l e d ( " a g o l d e n v a s e w i t h d i f f e r e n t f l o w e r s " , n u m _ i n f e r e n c e _ s t e p s = 2 5 , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / d i s t i l l e d _ s d _ v a e . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > d i s t i l l e d S t a b l e D i f f u s i o n + T i n y A u t o E n c o d e r < / f i g c a p t i o n > < / d i v > < / d i v > M o r e t i n y a u t o e n c o d e r m o d e l s f o r o t h e r S t a b l e D i f f u s i o n m o d e l s , l i k e S t a b l e D i f f u s i o n 3 , a r e a v a i l a b l e f r o m [ m a d e b y o l l i n ] ( h t t p s : / / h u g g i n g f a c e . c o / m a d e b y o l l i n ) . # M e t a l P e r f o r m a n c e S h a d e r s ( M P S ) ๐Ÿค— D i f f u s e r s i s c o m p a t i b l e w i t h A p p l e s i l i c o n ( M 1 / M 2 c h i p s ) u s i n g t h e P y T o r c h [ ` m p s ` ] ( h t t p s : / / p y t o r c h . o r g / d o c s / s t a b l e / n o t e s / m p s . h t m l ) d e v i c e , w h i c h u s e s t h e M e t a l f r a m e w o r k t o l e v e r a g e t h e G P U o n M a c O S d e v i c e s . Y o u ' l l n e e d t o h a v e : - m a c O S c o m p u t e r w i t h A p p l e s i l i c o n ( M 1 / M 2 ) h a r d w a r e - m a c O S 1 2 . 6 o r l a t e r ( 1 3 . 0 o r l a t e r r e c o m m e n d e d ) - a r m 6 4 v e r s i o n o f P y t h o n - [ P y T o r c h 2 . 0 ] ( h t t p s : / / p y t o r c h . o r g / g e t - s t a r t e d / l o c a l l y / ) ( r e c o m m e n d e d ) o r 1 . 1 3 ( m i n i m u m v e r s i o n s u p p o r t e d f o r ` m p s ` ) T h e ` m p s ` b a c k e n d u s e s P y T o r c h ' s ` . t o ( ) ` i n t e r f a c e t o m o v e t h e S t a b l e D i f f u s i o n p i p e l i n e o n t o y o u r M 1 o r M 2 d e v i c e : ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " ) p i p e = p i p e . t o ( " m p s " ) # R e c o m m e n d e d i f y o u r c o m p u t e r h a s < 6 4 G B o f R A M p i p e . e n a b l e _ a t t e n t i o n _ s l i c i n g ( ) p r o m p t = " a p h o t o o f a n a s t r o n a u t r i d i n g a h o r s e o n m a r s " i m a g e = p i p e ( p r o m p t ) . i m a g e s [ 0 ] i m a g e ` ` ` < T i p w a r n i n g = { t r u e } > G e n e r a t i n g m u l t i p l e p r o m p t s i n a b a t c h c a n [ c r a s h ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / 3 6 3 ) o r f a i l t o w o r k r e l i a b l y . W e b e l i e v e t h i s i s r e l a t e d t o t h e [ ` m p s ` ] ( h t t p s : / / g i t h u b . c o m / p y t o r c h / p y t o r c h / i s s u e s / 8 4 0 3 9 ) b a c k e n d i n P y T o r c h . W h i l e t h i s i s b e i n g i n v e s t i g a t e d , y o u s h o u l d i t e r a t e i n s t e a d o f b a t c h i n g . < / T i p > I f y o u ' r e u s i n g * * P y T o r c h 1 . 1 3 * * , y o u n e e d t o " p r i m e " t h e p i p e l i n e w i t h a n a d d i t i o n a l o n e - t i m e p a s s t h r o u g h i t . T h i s i s a t e m p o r a r y w o r k a r o u n d f o r a n i s s u e w h e r e t h e f i r s t i n f e r e n c e p a s s p r o d u c e s s l i g h t l y d i f f e r e n t r e s u l t s t h a n s u b s e q u e n t o n e s . Y o u o n l y n e e d t o d o t h i s p a s s o n c e , a n d a f t e r j u s t o n e i n f e r e n c e s t e p y o u c a n d i s c a r d t h e r e s u l t . ` ` ` d i f f f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " ) . t o ( " m p s " ) p i p e . e n a b l e _ a t t e n t i o n _ s l i c i n g ( ) p r o m p t = " a p h o t o o f a n a s t r o n a u t r i d i n g a h o r s e o n m a r s " # F i r s t - t i m e " w a r m u p " p a s s i f P y T o r c h v e r s i o n i s 1 . 1 3 + _ = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 1 ) # R e s u l t s m a t c h t h o s e f r o m t h e C P U d e v i c e a f t e r t h e w a r m u p p a s s . i m a g e = p i p e ( p r o m p t ) . i m a g e s [ 0 ] ` ` ` # # T r o u b l e s h o o t M 1 / M 2 p e r f o r m a n c e i s v e r y s e n s i t i v e t o m e m o r y p r e s s u r e . W h e n t h i s o c c u r s , t h e s y s t e m a u t o m a t i c a l l y s w a p s i f i t n e e d s t o w h i c h s i g n i f i c a n t l y d e g r a d e s p e r f o r m a n c e . T o p r e v e n t t h i s f r o m h a p p e n i n g , w e r e c o m m e n d * a t t e n t i o n s l i c i n g * t o r e d u c e m e m o r y p r e s s u r e d u r i n g i n f e r e n c e a n d p r e v e n t s w a p p i n g . T h i s i s e s p e c i a l l y r e l e v a n t i f y o u r c o m p u t e r h a s l e s s t h a n 6 4 G B o f s y s t e m R A M , o r i f y o u g e n e r a t e i m a g e s a t n o n - s t a n d a r d r e s o l u t i o n s l a r g e r t h a n 5 1 2 ร— 5 1 2 p i x e l s . C a l l t h e [ e n a b l e _ a t t e n t i o n _ s l i c i n g ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . e n a b l e _ a t t e n t i o n _ s l i c i n g ) f u n c t i o n o n y o u r p i p e l i n e : ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " m p s " ) p i p e l i n e . e n a b l e _ a t t e n t i o n _ s l i c i n g ( ) ` ` ` A t t e n t i o n s l i c i n g p e r f o r m s t h e c o s t l y a t t e n t i o n o p e r a t i o n i n m u l t i p l e s t e p s i n s t e a d o f a l l a t o n c e . I t u s u a l l y i m p r o v e s p e r f o r m a n c e b y ~ 2 0 % i n c o m p u t e r s w i t h o u t u n i v e r s a l m e m o r y , b u t w e ' v e o b s e r v e d * b e t t e r p e r f o r m a n c e * i n m o s t A p p l e s i l i c o n c o m p u t e r s u n l e s s y o u h a v e 6 4 G B o f R A M o r m o r e . # x F o r m e r s W e r e c o m m e n d [ x F o r m e r s ] ( h t t p s : / / g i t h u b . c o m / f a c e b o o k r e s e a r c h / x f o r m e r s ) f o r b o t h i n f e r e n c e a n d t r a i n i n g . I n o u r t e s t s , t h e o p t i m i z a t i o n s p e r f o r m e d i n t h e a t t e n t i o n b l o c k s a l l o w f o r b o t h f a s t e r s p e e d a n d r e d u c e d m e m o r y c o n s u m p t i o n . I n s t a l l x F o r m e r s f r o m ` p i p ` : ` ` ` b a s h p i p i n s t a l l x f o r m e r s ` ` ` < T i p > T h e x F o r m e r s ` p i p ` p a c k a g e r e q u i r e s t h e l a t e s t v e r s i o n o f P y T o r c h . I f y o u n e e d t o u s e a p r e v i o u s v e r s i o n o f P y T o r c h , t h e n w e r e c o m m e n d [ i n s t a l l i n g x F o r m e r s f r o m t h e s o u r c e ] ( h t t p s : / / g i t h u b . c o m / f a c e b o o k r e s e a r c h / x f o r m e r s # i n s t a l l i n g - x f o r m e r s ) . < / T i p > A f t e r x F o r m e r s i s i n s t a l l e d , y o u c a n u s e ` e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) ` f o r f a s t e r i n f e r e n c e a n d r e d u c e d m e m o r y c o n s u m p t i o n a s s h o w n i n t h i s [ s e c t i o n ] ( m e m o r y # m e m o r y - e f f i c i e n t - a t t e n t i o n ) . < T i p w a r n i n g = { t r u e } > A c c o r d i n g t o t h i s [ i s s u e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / 2 2 3 4 # i s s u e c o m m e n t - 1 4 1 6 9 3 1 2 1 2 ) , x F o r m e r s ` v 0 . 0 . 1 6 ` c a n n o t b e u s e d f o r t r a i n i n g ( f i n e - t u n e o r D r e a m B o o t h ) i n s o m e G P U s . I f y o u o b s e r v e t h i s p r o b l e m , p l e a s e i n s t a l l a d e v e l o p m e n t v e r s i o n a s i n d i c a t e d i n t h e i s s u e c o m m e n t s . < / T i p > # x D i T [ x D i T ] ( h t t p s : / / g i t h u b . c o m / x d i t - p r o j e c t / x D i T ) i s a n i n f e r e n c e e n g i n e d e s i g n e d f o r t h e l a r g e s c a l e p a r a l l e l d e p l o y m e n t o f D i f f u s i o n T r a n s f o r m e r s ( D i T s ) . x D i T p r o v i d e s a s u i t e o f e f f i c i e n t p a r a l l e l a p p r o a c h e s f o r D i f f u s i o n M o d e l s , a s w e l l a s G P U k e r n e l a c c e l e r a t i o n s . T h e r e a r e f o u r p a r a l l e l m e t h o d s s u p p o r t e d i n x D i T , i n c l u d i n g [ U n i f i e d S e q u e n c e P a r a l l e l i s m ] ( h t t p s : / / a r x i v . o r g / a b s / 2 4 0 5 . 0 7 7 1 9 ) , [ P i p e F u s i o n ] ( h t t p s : / / a r x i v . o r g / a b s / 2 4 0 5 . 1 4 4 3 0 ) , C F G p a r a l l e l i s m a n d d a t a p a r a l l e l i s m . T h e f o u r p a r a l l e l m e t h o d s i n x D i T c a n b e c o n f i g u r e d i n a h y b r i d m a n n e r , o p t i m i z i n g c o m m u n i c a t i o n p a t t e r n s t o b e s t s u i t t h e u n d e r l y i n g n e t w o r k h a r d w a r e . O p t i m i z a t i o n o r t h o g o n a l t o p a r a l l e l i z a t i o n f o c u s e s o n a c c e l e r a t i n g s i n g l e G P U p e r f o r m a n c e . I n a d d i t i o n t o u t i l i z i n g w e l l - k n o w n A t t e n t i o n o p t i m i z a t i o n l i b r a r i e s , w e l e v e r a g e c o m p i l a t i o n a c c e l e r a t i o n t e c h n o l o g i e s s u c h a s t o r c h . c o m p i l e a n d o n e d i f f . T h e o v e r v i e w o f x D i T i s s h o w n a s f o l l o w s . < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / x D i T / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / m e t h o d s / x d i t _ o v e r v i e w . p n g " > < / d i v > Y o u c a n i n s t a l l x D i T u s i n g t h e f o l l o w i n g c o m m a n d : ` ` ` b a s h p i p i n s t a l l x f u s e r ` ` ` H e r e ' s a n e x a m p l e o f u s i n g x D i T t o a c c e l e r a t e i n f e r e n c e o f a D i f f u s e r s m o d e l . ` ` ` d i f f i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n 3 P i p e l i n e f r o m x f u s e r i m p o r t x F u s e r A r g s , x D i T P a r a l l e l f r o m x f u s e r . c o n f i g i m p o r t F l e x i b l e A r g u m e n t P a r s e r f r o m x f u s e r . c o r e . d i s t r i b u t e d i m p o r t g e t _ w o r l d _ g r o u p d e f m a i n ( ) : + p a r s e r = F l e x i b l e A r g u m e n t P a r s e r ( d e s c r i p t i o n = " x F u s e r A r g u m e n t s " ) + a r g s = x F u s e r A r g s . a d d _ c l i _ a r g s ( p a r s e r ) . p a r s e _ a r g s ( ) + e n g i n e _ a r g s = x F u s e r A r g s . f r o m _ c l i _ a r g s ( a r g s ) + e n g i n e _ c o n f i g , i n p u t _ c o n f i g = e n g i n e _ a r g s . c r e a t e _ c o n f i g ( ) l o c a l _ r a n k = g e t _ w o r l d _ g r o u p ( ) . l o c a l _ r a n k p i p e = S t a b l e D i f f u s i o n 3 P i p e l i n e . f r o m _ p r e t r a i n e d ( p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h = e n g i n e _ c o n f i g . m o d e l _ c o n f i g . m o d e l , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , ) . t o ( f " c u d a : { l o c a l _ r a n k } " ) # d o a n y t h i n g y o u w a n t w i t h p i p e l i n e h e r e + p i p e = x D i T P a r a l l e l ( p i p e , e n g i n e _ c o n f i g , i n p u t _ c o n f i g ) p i p e ( h e i g h t = i n p u t _ c o n f i g . h e i g h t , w i d t h = i n p u t _ c o n f i g . h e i g h t , p r o m p t = i n p u t _ c o n f i g . p r o m p t , n u m _ i n f e r e n c e _ s t e p s = i n p u t _ c o n f i g . n u m _ i n f e r e n c e _ s t e p s , o u t p u t _ t y p e = i n p u t _ c o n f i g . o u t p u t _ t y p e , g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c u d a " ) . m a n u a l _ s e e d ( i n p u t _ c o n f i g . s e e d ) , ) + i f i n p u t _ c o n f i g . o u t p u t _ t y p e = = " p i l " : + p i p e . s a v e ( " r e s u l t s " , " s t a b l e _ d i f f u s i o n _ 3 " ) i f _ _ n a m e _ _ = = " _ _ m a i n _ _ " : m a i n ( ) ` ` ` A s y o u c a n s e e , w e o n l y n e e d t o u s e x F u s e r A r g s f r o m x D i T t o g e t c o n f i g u r a t i o n p a r a m e t e r s , a n d p a s s t h e s e p a r a m e t e r s a l o n g w i t h t h e p i p e l i n e o b j e c t f r o m t h e D i f f u s e r s l i b r a r y i n t o x D i T P a r a l l e l t o c o m p l e t e t h e p a r a l l e l i z a t i o n o f a s p e c i f i c p i p e l i n e i n D i f f u s e r s . x D i T r u n t i m e p a r a m e t e r s c a n b e v i e w e d i n t h e c o m m a n d l i n e u s i n g ` - h ` , a n d y o u c a n r e f e r t o t h i s [ u s a g e ] ( h t t p s : / / g i t h u b . c o m / x d i t - p r o j e c t / x D i T ? t a b = r e a d m e - o v - f i l e # 2 - u s a g e ) e x a m p l e f o r m o r e d e t a i l s . x D i T n e e d s t o b e l a u n c h e d u s i n g t o r c h r u n t o s u p p o r t i t s m u l t i - n o d e , m u l t i - G P U p a r a l l e l c a p a b i l i t i e s . F o r e x a m p l e , t h e f o l l o w i n g c o m m a n d c a n b e u s e d f o r 8 - G P U p a r a l l e l i n f e r e n c e : ` ` ` b a s h t o r c h r u n - - n p r o c _ p e r _ n o d e = 8 . / i n f e r e n c e . p y - - m o d e l m o d e l s / F L U X . 1 - d e v - - d a t a _ p a r a l l e l _ d e g r e e 2 - - u l y s s e s _ d e g r e e 2 - - r i n g _ d e g r e e 2 - - p r o m p t " A s n o w y m o u n t a i n " " A s m a l l d o g " - - n u m _ i n f e r e n c e _ s t e p s 5 0 ` ` ` # # S u p p o r t e d m o d e l s A s u b s e t o f D i f f u s e r s m o d e l s a r e s u p p o r t e d i n x D i T , s u c h a s F l u x . 1 , S t a b l e D i f f u s i o n 3 , e t c . T h e l a t e s t s u p p o r t e d m o d e l s c a n b e f o u n d [ h e r e ] ( h t t p s : / / g i t h u b . c o m / x d i t - p r o j e c t / x D i T ? t a b = r e a d m e - o v - f i l e # - s u p p o r t e d - d i t s ) . # # B e n c h m a r k W e t e s t e d d i f f e r e n t m o d e l s o n v a r i o u s m a c h i n e s , a n d h e r e i s s o m e o f t h e b e n c h m a r k d a t a . # # # F l u x . 1 - s c h n e l l < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / x D i T / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / p e r f o r m a n c e / f l u x / F l u x - 2 k - L 4 0 . p n g " > < / d i v > < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / x D i T / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / p e r f o r m a n c e / f l u x / F l u x - 2 K - A 1 0 0 . p n g " > < / d i v > # # # S t a b l e D i f f u s i o n 3 < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / x D i T / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / p e r f o r m a n c e / s d 3 / L 4 0 - S D 3 . p n g " > < / d i v > < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / x D i T / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / p e r f o r m a n c e / s d 3 / A 1 0 0 - S D 3 . p n g " > < / d i v > # # # H u n y u a n D i T < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / x D i T / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / p e r f o r m a n c e / h u n u y u a n d i t / L 4 0 - H u n y u a n D i T . p n g " > < / d i v > < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / x D i T / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / p e r f o r m a n c e / h u n u y u a n d i t / V 1 0 0 - H u n y u a n D i T . p n g " > < / d i v > < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / x D i T / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / p e r f o r m a n c e / h u n u y u a n d i t / T 4 - H u n y u a n D i T . p n g " > < / d i v > M o r e d e t a i l e d p e r f o r m a n c e m e t r i c c a n b e f o u n d o n o u r [ g i t h u b p a g e ] ( h t t p s : / / g i t h u b . c o m / x d i t - p r o j e c t / x D i T ? t a b = r e a d m e - o v - f i l e # p e r f ) . # # R e f e r e n c e [ x D i T - p r o j e c t ] ( h t t p s : / / g i t h u b . c o m / x d i t - p r o j e c t / x D i T ) [ U S P : A U n i f i e d S e q u e n c e P a r a l l e l i s m A p p r o a c h f o r L o n g C o n t e x t G e n e r a t i v e A I ] ( h t t p s : / / a r x i v . o r g / a b s / 2 4 0 5 . 0 7 7 1 9 ) [ P i p e F u s i o n : D i s p l a c e d P a t c h P i p e l i n e P a r a l l e l i s m f o r I n f e r e n c e o f D i f f u s i o n T r a n s f o r m e r M o d e l s ] ( h t t p s : / / a r x i v . o r g / a b s / 2 4 0 5 . 1 4 4 3 0 ) # H a b a n a G a u d i ๐Ÿค— D i f f u s e r s i s c o m p a t i b l e w i t h H a b a n a G a u d i t h r o u g h ๐Ÿค— [ O p t i m u m ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / o p t i m u m / h a b a n a / u s a g e _ g u i d e s / s t a b l e _ d i f f u s i o n ) . F o l l o w t h e [ i n s t a l l a t i o n ] ( h t t p s : / / d o c s . h a b a n a . a i / e n / l a t e s t / I n s t a l l a t i o n _ G u i d e / i n d e x . h t m l ) g u i d e t o i n s t a l l t h e S y n a p s e A I a n d G a u d i d r i v e r s , a n d t h e n i n s t a l l O p t i m u m H a b a n a : ` ` ` b a s h p y t h o n - m p i p i n s t a l l - - u p g r a d e - s t r a t e g y e a g e r o p t i m u m [ h a b a n a ] ` ` ` T o g e n e r a t e i m a g e s w i t h S t a b l e D i f f u s i o n 1 a n d 2 o n G a u d i , y o u n e e d t o i n s t a n t i a t e t w o i n s t a n c e s : - ` G a u d i S t a b l e D i f f u s i o n P i p e l i n e ` , a p i p e l i n e f o r t e x t - t o - i m a g e g e n e r a t i o n . - ` G a u d i D D I M S c h e d u l e r ` , a G a u d i - o p t i m i z e d s c h e d u l e r . W h e n y o u i n i t i a l i z e t h e p i p e l i n e , y o u h a v e t o s p e c i f y ` u s e _ h a b a n a = T r u e ` t o d e p l o y i t o n H P U s a n d t o g e t t h e f a s t e s t p o s s i b l e g e n e r a t i o n , y o u s h o u l d e n a b l e * * H P U g r a p h s * * w i t h ` u s e _ h p u _ g r a p h s = T r u e ` . F i n a l l y , s p e c i f y a ` G a u d i C o n f i g ` w h i c h c a n b e d o w n l o a d e d f r o m t h e [ H a b a n a ] ( h t t p s : / / h u g g i n g f a c e . c o / H a b a n a ) o r g a n i z a t i o n o n t h e H u b . ` ` ` p y t h o n f r o m o p t i m u m . h a b a n a i m p o r t G a u d i C o n f i g f r o m o p t i m u m . h a b a n a . d i f f u s e r s i m p o r t G a u d i D D I M S c h e d u l e r , G a u d i S t a b l e D i f f u s i o n P i p e l i n e m o d e l _ n a m e = " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - b a s e " s c h e d u l e r = G a u d i D D I M S c h e d u l e r . f r o m _ p r e t r a i n e d ( m o d e l _ n a m e , s u b f o l d e r = " s c h e d u l e r " ) p i p e l i n e = G a u d i S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ n a m e , s c h e d u l e r = s c h e d u l e r , u s e _ h a b a n a = T r u e , u s e _ h p u _ g r a p h s = T r u e , g a u d i _ c o n f i g = " H a b a n a / s t a b l e - d i f f u s i o n - 2 " , ) ` ` ` N o w y o u c a n c a l l t h e p i p e l i n e t o g e n e r a t e i m a g e s b y b a t c h e s f r o m o n e o r s e v e r a l p r o m p t s : ` ` ` p y t h o n o u t p u t s = p i p e l i n e ( p r o m p t = [ " H i g h q u a l i t y p h o t o o f a n a s t r o n a u t r i d i n g a h o r s e i n s p a c e " , " F a c e o f a y e l l o w c a t , h i g h r e s o l u t i o n , s i t t i n g o n a p a r k b e n c h " , ] , n u m _ i m a g e s _ p e r _ p r o m p t = 1 0 , b a t c h _ s i z e = 4 , ) ` ` ` F o r m o r e i n f o r m a t i o n , c h e c k o u t ๐Ÿค— O p t i m u m H a b a n a ' s [ d o c u m e n t a t i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / o p t i m u m / h a b a n a / u s a g e _ g u i d e s / s t a b l e _ d i f f u s i o n ) a n d t h e [ e x a m p l e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / o p t i m u m - h a b a n a / t r e e / m a i n / e x a m p l e s / s t a b l e - d i f f u s i o n ) p r o v i d e d i n t h e o f f i c i a l G i t H u b r e p o s i t o r y . # # B e n c h m a r k W e b e n c h m a r k e d H a b a n a ' s f i r s t - g e n e r a t i o n G a u d i a n d G a u d i 2 w i t h t h e [ H a b a n a / s t a b l e - d i f f u s i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / H a b a n a / s t a b l e - d i f f u s i o n ) a n d [ H a b a n a / s t a b l e - d i f f u s i o n - 2 ] ( h t t p s : / / h u g g i n g f a c e . c o / H a b a n a / s t a b l e - d i f f u s i o n - 2 ) G a u d i c o n f i g u r a t i o n s ( m i x e d p r e c i s i o n b f 1 6 / f p 3 2 ) t o d e m o n s t r a t e t h e i r p e r f o r m a n c e . F o r [ S t a b l e D i f f u s i o n v 1 . 5 ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ) o n 5 1 2 x 5 1 2 i m a g e s : | | L a t e n c y ( b a t c h s i z e = 1 ) | T h r o u g h p u t | | - - - - - - - - - - - - - - - - - - - - - - | : - - - - - - - - - - - - - - - - - - - - - - - - : | : - - - - - - - - - - - - - - - - - - - - - - - - - - - : | | f i r s t - g e n e r a t i o n G a u d i | 3 . 8 0 s | 0 . 3 0 8 i m a g e s / s ( b a t c h s i z e = 8 ) | | G a u d i 2 | 1 . 3 3 s | 1 . 0 8 1 i m a g e s / s ( b a t c h s i z e = 8 ) | F o r [ S t a b l e D i f f u s i o n v 2 . 1 ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - 1 ) o n 7 6 8 x 7 6 8 i m a g e s : | | L a t e n c y ( b a t c h s i z e = 1 ) | T h r o u g h p u t | | - - - - - - - - - - - - - - - - - - - - - - | : - - - - - - - - - - - - - - - - - - - - - - - - : | : - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - : | | f i r s t - g e n e r a t i o n G a u d i | 1 0 . 2 s | 0 . 1 0 8 i m a g e s / s ( b a t c h s i z e = 4 ) | | G a u d i 2 | 3 . 1 7 s | 0 . 3 7 9 i m a g e s / s ( b a t c h s i z e = 8 ) | # T e x t - t o - i m a g e W h e n y o u t h i n k o f d i f f u s i o n m o d e l s , t e x t - t o - i m a g e i s u s u a l l y o n e o f t h e f i r s t t h i n g s t h a t c o m e t o m i n d . T e x t - t o - i m a g e g e n e r a t e s a n i m a g e f r o m a t e x t d e s c r i p t i o n ( f o r e x a m p l e , " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " ) w h i c h i s a l s o k n o w n a s a * p r o m p t * . F r o m a v e r y h i g h l e v e l , a d i f f u s i o n m o d e l t a k e s a p r o m p t a n d s o m e r a n d o m i n i t i a l n o i s e , a n d i t e r a t i v e l y r e m o v e s t h e n o i s e t o c o n s t r u c t a n i m a g e . T h e * d e n o i s i n g * p r o c e s s i s g u i d e d b y t h e p r o m p t , a n d o n c e t h e d e n o i s i n g p r o c e s s e n d s a f t e r a p r e d e t e r m i n e d n u m b e r o f t i m e s t e p s , t h e i m a g e r e p r e s e n t a t i o n i s d e c o d e d i n t o a n i m a g e . < T i p > R e a d t h e [ H o w d o e s S t a b l e D i f f u s i o n w o r k ? ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / s t a b l e _ d i f f u s i o n # h o w - d o e s - s t a b l e - d i f f u s i o n - w o r k ) b l o g p o s t t o l e a r n m o r e a b o u t h o w a l a t e n t d i f f u s i o n m o d e l w o r k s . < / T i p > Y o u c a n g e n e r a t e i m a g e s f r o m a p r o m p t i n ๐Ÿค— D i f f u s e r s i n t w o s t e p s : 1 . L o a d a c h e c k p o i n t i n t o t h e [ A u t o P i p e l i n e F o r T e x t 2 I m a g e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a u t o _ p i p e l i n e # d i f f u s e r s . A u t o P i p e l i n e F o r T e x t 2 I m a g e ) c l a s s , w h i c h a u t o m a t i c a l l y d e t e c t s t h e a p p r o p r i a t e p i p e l i n e c l a s s t o u s e b a s e d o n t h e c h e c k p o i n t : ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) . t o ( " c u d a " ) ` ` ` 2 . P a s s a p r o m p t t o t h e p i p e l i n e t o g e n e r a t e a n i m a g e : ` ` ` p y i m a g e = p i p e l i n e ( " s t a i n e d g l a s s o f d a r t h v a d e r , b a c k l i g h t , c e n t e r e d c o m p o s i t i o n , m a s t e r p i e c e , p h o t o r e a l i s t i c , 8 k " ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / t e x t 2 i m g - v a d e r . p n g " / > < / d i v > # # P o p u l a r m o d e l s T h e m o s t c o m m o n t e x t - t o - i m a g e m o d e l s a r e [ S t a b l e D i f f u s i o n v 1 . 5 ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ) , [ S t a b l e D i f f u s i o n X L ( S D X L ) ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 ) , a n d [ K a n d i n s k y 2 . 2 ] ( h t t p s : / / h u g g i n g f a c e . c o / k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - d e c o d e r ) . T h e r e a r e a l s o C o n t r o l N e t m o d e l s o r a d a p t e r s t h a t c a n b e u s e d w i t h t e x t - t o - i m a g e m o d e l s f o r m o r e d i r e c t c o n t r o l i n g e n e r a t i n g i m a g e s . T h e r e s u l t s f r o m e a c h m o d e l a r e s l i g h t l y d i f f e r e n t b e c a u s e o f t h e i r a r c h i t e c t u r e a n d t r a i n i n g p r o c e s s , b u t n o m a t t e r w h i c h m o d e l y o u c h o o s e , t h e i r u s a g e i s m o r e o r l e s s t h e s a m e . L e t ' s u s e t h e s a m e p r o m p t f o r e a c h m o d e l a n d c o m p a r e t h e i r r e s u l t s . # # # S t a b l e D i f f u s i o n v 1 . 5 [ S t a b l e D i f f u s i o n v 1 . 5 ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ) i s a l a t e n t d i f f u s i o n m o d e l i n i t i a l i z e d f r o m [ S t a b l e D i f f u s i o n v 1 - 4 ] ( h t t p s : / / h u g g i n g f a c e . c o / C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 ) , a n d f i n e t u n e d f o r 5 9 5 K s t e p s o n 5 1 2 x 5 1 2 i m a g e s f r o m t h e L A I O N - A e s t h e t i c s V 2 d a t a s e t . Y o u c a n u s e t h i s m o d e l l i k e : ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) . t o ( " c u d a " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( " c u d a " ) . m a n u a l _ s e e d ( 3 1 ) i m a g e = p i p e l i n e ( " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` # # # S t a b l e D i f f u s i o n X L S D X L i s a m u c h l a r g e r v e r s i o n o f t h e p r e v i o u s S t a b l e D i f f u s i o n m o d e l s , a n d i n v o l v e s a t w o - s t a g e m o d e l p r o c e s s t h a t a d d s e v e n m o r e d e t a i l s t o a n i m a g e . I t a l s o i n c l u d e s s o m e a d d i t i o n a l * m i c r o - c o n d i t i o n i n g s * t o g e n e r a t e h i g h - q u a l i t y i m a g e s c e n t e r e d s u b j e c t s . T a k e a l o o k a t t h e m o r e c o m p r e h e n s i v e [ S D X L ] ( s d x l ) g u i d e t o l e a r n m o r e a b o u t h o w t o u s e i t . I n g e n e r a l , y o u c a n u s e S D X L l i k e : ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) . t o ( " c u d a " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( " c u d a " ) . m a n u a l _ s e e d ( 3 1 ) i m a g e = p i p e l i n e ( " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` # # # K a n d i n s k y 2 . 2 T h e K a n d i n s k y m o d e l i s a b i t d i f f e r e n t f r o m t h e S t a b l e D i f f u s i o n m o d e l s b e c a u s e i t a l s o u s e s a n i m a g e p r i o r m o d e l t o c r e a t e e m b e d d i n g s t h a t a r e u s e d t o b e t t e r a l i g n t e x t a n d i m a g e s i n t h e d i f f u s i o n m o d e l . T h e e a s i e s t w a y t o u s e K a n d i n s k y 2 . 2 i s : ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - d e c o d e r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( " c u d a " ) . m a n u a l _ s e e d ( 3 1 ) i m a g e = p i p e l i n e ( " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` # # # C o n t r o l N e t C o n t r o l N e t m o d e l s a r e a u x i l i a r y m o d e l s o r a d a p t e r s t h a t a r e f i n e t u n e d o n t o p o f t e x t - t o - i m a g e m o d e l s , s u c h a s [ S t a b l e D i f f u s i o n v 1 . 5 ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ) . U s i n g C o n t r o l N e t m o d e l s i n c o m b i n a t i o n w i t h t e x t - t o - i m a g e m o d e l s o f f e r s d i v e r s e o p t i o n s f o r m o r e e x p l i c i t c o n t r o l o v e r h o w t o g e n e r a t e a n i m a g e . W i t h C o n t r o l N e t , y o u a d d a n a d d i t i o n a l c o n d i t i o n i n g i n p u t i m a g e t o t h e m o d e l . F o r e x a m p l e , i f y o u p r o v i d e a n i m a g e o f a h u m a n p o s e ( u s u a l l y r e p r e s e n t e d a s m u l t i p l e k e y p o i n t s t h a t a r e c o n n e c t e d i n t o a s k e l e t o n ) a s a c o n d i t i o n i n g i n p u t , t h e m o d e l g e n e r a t e s a n i m a g e t h a t f o l l o w s t h e p o s e o f t h e i m a g e . C h e c k o u t t h e m o r e i n - d e p t h [ C o n t r o l N e t ] ( c o n t r o l n e t ) g u i d e t o l e a r n m o r e a b o u t o t h e r c o n d i t i o n i n g i n p u t s a n d h o w t o u s e t h e m . I n t h i s e x a m p l e , l e t ' s c o n d i t i o n t h e C o n t r o l N e t w i t h a h u m a n p o s e e s t i m a t i o n i m a g e . L o a d t h e C o n t r o l N e t m o d e l p r e t r a i n e d o n h u m a n p o s e e s t i m a t i o n s : ` ` ` p y f r o m d i f f u s e r s i m p o r t C o n t r o l N e t M o d e l , A u t o P i p e l i n e F o r T e x t 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m p o r t t o r c h c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " l l l y a s v i e l / c o n t r o l _ v 1 1 p _ s d 1 5 _ o p e n p o s e " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) . t o ( " c u d a " ) p o s e _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / l l l y a s v i e l / c o n t r o l _ v 1 1 p _ s d 1 5 _ o p e n p o s e / r e s o l v e / m a i n / i m a g e s / c o n t r o l . p n g " ) ` ` ` P a s s t h e ` c o n t r o l n e t ` t o t h e [ A u t o P i p e l i n e F o r T e x t 2 I m a g e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a u t o _ p i p e l i n e # d i f f u s e r s . A u t o P i p e l i n e F o r T e x t 2 I m a g e ) , a n d p r o v i d e t h e p r o m p t a n d p o s e e s t i m a t i o n i m a g e : ` ` ` p y p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , c o n t r o l n e t = c o n t r o l n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) . t o ( " c u d a " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( " c u d a " ) . m a n u a l _ s e e d ( 3 1 ) i m a g e = p i p e l i n e ( " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " , i m a g e = p o s e _ i m a g e , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / t e x t 2 i m g - 1 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > S t a b l e D i f f u s i o n v 1 . 5 < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s d x l - t e x t 2 i m g . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > S t a b l e D i f f u s i o n X L < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / t e x t 2 i m g - 2 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > K a n d i n s k y 2 . 2 < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / t e x t 2 i m g - 3 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > C o n t r o l N e t ( p o s e c o n d i t i o n i n g ) < / f i g c a p t i o n > < / d i v > < / d i v > # # C o n f i g u r e p i p e l i n e p a r a m e t e r s T h e r e a r e a n u m b e r o f p a r a m e t e r s t h a t c a n b e c o n f i g u r e d i n t h e p i p e l i n e t h a t a f f e c t h o w a n i m a g e i s g e n e r a t e d . Y o u c a n c h a n g e t h e i m a g e ' s o u t p u t s i z e , s p e c i f y a n e g a t i v e p r o m p t t o i m p r o v e i m a g e q u a l i t y , a n d m o r e . T h i s s e c t i o n d i v e s d e e p e r i n t o h o w t o u s e t h e s e p a r a m e t e r s . # # # H e i g h t a n d w i d t h T h e ` h e i g h t ` a n d ` w i d t h ` p a r a m e t e r s c o n t r o l t h e h e i g h t a n d w i d t h ( i n p i x e l s ) o f t h e g e n e r a t e d i m a g e . B y d e f a u l t , t h e S t a b l e D i f f u s i o n v 1 . 5 m o d e l o u t p u t s 5 1 2 x 5 1 2 i m a g e s , b u t y o u c a n c h a n g e t h i s t o a n y s i z e t h a t i s a m u l t i p l e o f 8 . F o r e x a m p l e , t o c r e a t e a r e c t a n g u l a r i m a g e : ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) . t o ( " c u d a " ) i m a g e = p i p e l i n e ( " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " , h e i g h t = 7 6 8 , w i d t h = 5 1 2 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / t e x t 2 i m g - h w . p n g " / > < / d i v > < T i p w a r n i n g = { t r u e } > O t h e r m o d e l s m a y h a v e d i f f e r e n t d e f a u l t i m a g e s i z e s d e p e n d i n g o n t h e i m a g e s i z e s i n t h e t r a i n i n g d a t a s e t . F o r e x a m p l e , S D X L ' s d e f a u l t i m a g e s i z e i s 1 0 2 4 x 1 0 2 4 a n d u s i n g l o w e r ` h e i g h t ` a n d ` w i d t h ` v a l u e s m a y r e s u l t i n l o w e r q u a l i t y i m a g e s . M a k e s u r e y o u c h e c k t h e m o d e l ' s A P I r e f e r e n c e f i r s t ! < / T i p > # # # G u i d a n c e s c a l e T h e ` g u i d a n c e _ s c a l e ` p a r a m e t e r a f f e c t s h o w m u c h t h e p r o m p t i n f l u e n c e s i m a g e g e n e r a t i o n . A l o w e r v a l u e g i v e s t h e m o d e l " c r e a t i v i t y " t o g e n e r a t e i m a g e s t h a t a r e m o r e l o o s e l y r e l a t e d t o t h e p r o m p t . H i g h e r ` g u i d a n c e _ s c a l e ` v a l u e s p u s h t h e m o d e l t o f o l l o w t h e p r o m p t m o r e c l o s e l y , a n d i f t h i s v a l u e i s t o o h i g h , y o u m a y o b s e r v e s o m e a r t i f a c t s i n t h e g e n e r a t e d i m a g e . ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) i m a g e = p i p e l i n e ( " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " , g u i d a n c e _ s c a l e = 3 . 5 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / t e x t 2 i m g - g u i d a n c e - s c a l e - 2 . 5 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g u i d a n c e _ s c a l e = 2 . 5 < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / t e x t 2 i m g - g u i d a n c e - s c a l e - 7 . 5 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g u i d a n c e _ s c a l e = 7 . 5 < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / t e x t 2 i m g - g u i d a n c e - s c a l e - 1 0 . 5 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g u i d a n c e _ s c a l e = 1 0 . 5 < / f i g c a p t i o n > < / d i v > < / d i v > # # # N e g a t i v e p r o m p t J u s t l i k e h o w a p r o m p t g u i d e s g e n e r a t i o n , a * n e g a t i v e p r o m p t * s t e e r s t h e m o d e l a w a y f r o m t h i n g s y o u d o n ' t w a n t t h e m o d e l t o g e n e r a t e . T h i s i s c o m m o n l y u s e d t o i m p r o v e o v e r a l l i m a g e q u a l i t y b y r e m o v i n g p o o r o r b a d i m a g e f e a t u r e s s u c h a s " l o w r e s o l u t i o n " o r " b a d d e t a i l s " . Y o u c a n a l s o u s e a n e g a t i v e p r o m p t t o r e m o v e o r m o d i f y t h e c o n t e n t a n d s t y l e o f a n i m a g e . ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) i m a g e = p i p e l i n e ( p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " , n e g a t i v e _ p r o m p t = " u g l y , d e f o r m e d , d i s f i g u r e d , p o o r d e t a i l s , b a d a n a t o m y " , ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / t e x t 2 i m g - n e g - p r o m p t - 1 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > n e g a t i v e _ p r o m p t = " u g l y , d e f o r m e d , d i s f i g u r e d , p o o r d e t a i l s , b a d a n a t o m y " < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / t e x t 2 i m g - n e g - p r o m p t - 2 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > n e g a t i v e _ p r o m p t = " a s t r o n a u t " < / f i g c a p t i o n > < / d i v > < / d i v > # # # G e n e r a t o r A [ ` t o r c h . G e n e r a t o r ` ] ( h t t p s : / / p y t o r c h . o r g / d o c s / s t a b l e / g e n e r a t e d / t o r c h . G e n e r a t o r . h t m l # g e n e r a t o r ) o b j e c t e n a b l e s r e p r o d u c i b i l i t y i n a p i p e l i n e b y s e t t i n g a m a n u a l s e e d . Y o u c a n u s e a ` G e n e r a t o r ` t o g e n e r a t e b a t c h e s o f i m a g e s a n d i t e r a t i v e l y i m p r o v e o n a n i m a g e g e n e r a t e d f r o m a s e e d a s d e t a i l e d i n t h e [ I m p r o v e i m a g e q u a l i t y w i t h d e t e r m i n i s t i c g e n e r a t i o n ] ( r e u s i n g _ s e e d s ) g u i d e . Y o u c a n s e t a s e e d a n d ` G e n e r a t o r ` a s s h o w n b e l o w . C r e a t i n g a n i m a g e w i t h a ` G e n e r a t o r ` s h o u l d r e t u r n t h e s a m e r e s u l t e a c h t i m e i n s t e a d o f r a n d o m l y g e n e r a t i n g a n e w i m a g e . ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c u d a " ) . m a n u a l _ s e e d ( 3 0 ) i m a g e = p i p e l i n e ( " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s [ 0 ] i m a g e ` ` ` # # C o n t r o l i m a g e g e n e r a t i o n T h e r e a r e s e v e r a l w a y s t o e x e r t m o r e c o n t r o l o v e r h o w a n i m a g e i s g e n e r a t e d o u t s i d e o f c o n f i g u r i n g a p i p e l i n e ' s p a r a m e t e r s , s u c h a s p r o m p t w e i g h t i n g a n d C o n t r o l N e t m o d e l s . # # # P r o m p t w e i g h t i n g P r o m p t w e i g h t i n g i s a t e c h n i q u e f o r i n c r e a s i n g o r d e c r e a s i n g t h e i m p o r t a n c e o f c o n c e p t s i n a p r o m p t t o e m p h a s i z e o r m i n i m i z e c e r t a i n f e a t u r e s i n a n i m a g e . W e r e c o m m e n d u s i n g t h e [ C o m p e l ] ( h t t p s : / / g i t h u b . c o m / d a m i a n 0 8 1 5 / c o m p e l ) l i b r a r y t o h e l p y o u g e n e r a t e t h e w e i g h t e d p r o m p t e m b e d d i n g s . < T i p > L e a r n h o w t o c r e a t e t h e p r o m p t e m b e d d i n g s i n t h e [ P r o m p t w e i g h t i n g ] ( w e i g h t e d _ p r o m p t s ) g u i d e . T h i s e x a m p l e f o c u s e s o n h o w t o u s e t h e p r o m p t e m b e d d i n g s i n t h e p i p e l i n e . < / T i p > O n c e y o u ' v e c r e a t e d t h e e m b e d d i n g s , y o u c a n p a s s t h e m t o t h e ` p r o m p t _ e m b e d s ` ( a n d ` n e g a t i v e _ p r o m p t _ e m b e d s ` i f y o u ' r e u s i n g a n e g a t i v e p r o m p t ) p a r a m e t e r i n t h e p i p e l i n e . ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) i m a g e = p i p e l i n e ( p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , # g e n e r a t e d f r o m C o m p e l n e g a t i v e _ p r o m p t _ e m b e d s = n e g a t i v e _ p r o m p t _ e m b e d s , # g e n e r a t e d f r o m C o m p e l ) . i m a g e s [ 0 ] ` ` ` # # # C o n t r o l N e t A s y o u s a w i n t h e [ C o n t r o l N e t ] ( # c o n t r o l n e t ) s e c t i o n , t h e s e m o d e l s o f f e r a m o r e f l e x i b l e a n d a c c u r a t e w a y t o g e n e r a t e i m a g e s b y i n c o r p o r a t i n g a n a d d i t i o n a l c o n d i t i o n i n g i m a g e i n p u t . E a c h C o n t r o l N e t m o d e l i s p r e t r a i n e d o n a p a r t i c u l a r t y p e o f c o n d i t i o n i n g i m a g e t o g e n e r a t e n e w i m a g e s t h a t r e s e m b l e i t . F o r e x a m p l e , i f y o u t a k e a C o n t r o l N e t m o d e l p r e t r a i n e d o n d e p t h m a p s , y o u c a n g i v e t h e m o d e l a d e p t h m a p a s a c o n d i t i o n i n g i n p u t a n d i t ' l l g e n e r a t e a n i m a g e t h a t p r e s e r v e s t h e s p a t i a l i n f o r m a t i o n i n i t . T h i s i s q u i c k e r a n d e a s i e r t h a n s p e c i f y i n g t h e d e p t h i n f o r m a t i o n i n a p r o m p t . Y o u c a n e v e n c o m b i n e m u l t i p l e c o n d i t i o n i n g i n p u t s w i t h a [ M u l t i C o n t r o l N e t ] ( c o n t r o l n e t # m u l t i c o n t r o l n e t ) ! T h e r e a r e m a n y t y p e s o f c o n d i t i o n i n g i n p u t s y o u c a n u s e , a n d ๐Ÿค— D i f f u s e r s s u p p o r t s C o n t r o l N e t f o r S t a b l e D i f f u s i o n a n d S D X L m o d e l s . T a k e a l o o k a t t h e m o r e c o m p r e h e n s i v e [ C o n t r o l N e t ] ( c o n t r o l n e t ) g u i d e t o l e a r n h o w y o u c a n u s e t h e s e m o d e l s . # # O p t i m i z e D i f f u s i o n m o d e l s a r e l a r g e , a n d t h e i t e r a t i v e n a t u r e o f d e n o i s i n g a n i m a g e i s c o m p u t a t i o n a l l y e x p e n s i v e a n d i n t e n s i v e . B u t t h i s d o e s n ' t m e a n y o u n e e d a c c e s s t o p o w e r f u l - o r e v e n m a n y - G P U s t o u s e t h e m . T h e r e a r e m a n y o p t i m i z a t i o n t e c h n i q u e s f o r r u n n i n g d i f f u s i o n m o d e l s o n c o n s u m e r a n d f r e e - t i e r r e s o u r c e s . F o r e x a m p l e , y o u c a n l o a d m o d e l w e i g h t s i n h a l f - p r e c i s i o n t o s a v e G P U m e m o r y a n d i n c r e a s e s p e e d o r o f f l o a d t h e e n t i r e m o d e l t o t h e G P U t o s a v e e v e n m o r e m e m o r y . P y T o r c h 2 . 0 a l s o s u p p o r t s a m o r e m e m o r y - e f f i c i e n t a t t e n t i o n m e c h a n i s m c a l l e d [ * s c a l e d d o t p r o d u c t a t t e n t i o n * ] ( . . / o p t i m i z a t i o n / t o r c h 2 . 0 # s c a l e d - d o t - p r o d u c t - a t t e n t i o n ) t h a t i s a u t o m a t i c a l l y e n a b l e d i f y o u ' r e u s i n g P y T o r c h 2 . 0 . Y o u c a n c o m b i n e t h i s w i t h [ ` t o r c h . c o m p i l e ` ] ( h t t p s : / / p y t o r c h . o r g / t u t o r i a l s / i n t e r m e d i a t e / t o r c h _ c o m p i l e _ t u t o r i a l . h t m l ) t o s p e e d y o u r c o d e u p e v e n m o r e : ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) . t o ( " c u d a " ) p i p e l i n e . u n e t = t o r c h . c o m p i l e ( p i p e l i n e . u n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) ` ` ` F o r m o r e t i p s o n h o w t o o p t i m i z e y o u r c o d e t o s a v e m e m o r y a n d s p e e d u p i n f e r e n c e , r e a d t h e [ M e m o r y a n d s p e e d ] ( . . / o p t i m i z a t i o n / f p 1 6 ) a n d [ T o r c h 2 . 0 ] ( . . / o p t i m i z a t i o n / t o r c h 2 . 0 ) g u i d e s . # T e x t o r i m a g e - t o - v i d e o D r i v e n b y t h e s u c c e s s o f t e x t - t o - i m a g e d i f f u s i o n m o d e l s , g e n e r a t i v e v i d e o m o d e l s a r e a b l e t o g e n e r a t e s h o r t c l i p s o f v i d e o f r o m a t e x t p r o m p t o r a n i n i t i a l i m a g e . T h e s e m o d e l s e x t e n d a p r e t r a i n e d d i f f u s i o n m o d e l t o g e n e r a t e v i d e o s b y a d d i n g s o m e t y p e o f t e m p o r a l a n d / o r s p a t i a l c o n v o l u t i o n l a y e r t o t h e a r c h i t e c t u r e . A m i x e d d a t a s e t o f i m a g e s a n d v i d e o s a r e u s e d t o t r a i n t h e m o d e l w h i c h l e a r n s t o o u t p u t a s e r i e s o f v i d e o f r a m e s b a s e d o n t h e t e x t o r i m a g e c o n d i t i o n i n g . T h i s g u i d e w i l l s h o w y o u h o w t o g e n e r a t e v i d e o s , h o w t o c o n f i g u r e v i d e o m o d e l p a r a m e t e r s , a n d h o w t o c o n t r o l v i d e o g e n e r a t i o n . # # P o p u l a r m o d e l s > [ ! T I P ] > D i s c o v e r o t h e r c o o l a n d t r e n d i n g v i d e o g e n e r a t i o n m o d e l s o n t h e H u b [ h e r e ] ( h t t p s : / / h u g g i n g f a c e . c o / m o d e l s ? p i p e l i n e _ t a g = t e x t - t o - v i d e o & s o r t = t r e n d i n g ) ! [ S t a b l e V i d e o D i f f u s i o n s ( S V D ) ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - v i d e o - d i f f u s i o n - i m g 2 v i d ) , [ I 2 V G e n - X L ] ( h t t p s : / / h u g g i n g f a c e . c o / a l i - v i l a b / i 2 v g e n - x l / ) , [ A n i m a t e D i f f ] ( h t t p s : / / h u g g i n g f a c e . c o / g u o y w w / a n i m a t e d i f f ) , a n d [ M o d e l S c o p e T 2 V ] ( h t t p s : / / h u g g i n g f a c e . c o / a l i - v i l a b / t e x t - t o - v i d e o - m s - 1 . 7 b ) a r e p o p u l a r m o d e l s u s e d f o r v i d e o d i f f u s i o n . E a c h m o d e l i s d i s t i n c t . F o r e x a m p l e , A n i m a t e D i f f i n s e r t s a m o t i o n m o d e l i n g m o d u l e i n t o a f r o z e n t e x t - t o - i m a g e m o d e l t o g e n e r a t e p e r s o n a l i z e d a n i m a t e d i m a g e s , w h e r e a s S V D i s e n t i r e l y p r e t r a i n e d f r o m s c r a t c h w i t h a t h r e e - s t a g e t r a i n i n g p r o c e s s t o g e n e r a t e s h o r t h i g h - q u a l i t y v i d e o s . [ C o g V i d e o X ] ( h t t p s : / / h u g g i n g f a c e . c o / c o l l e c t i o n s / T H U D M / c o g v i d e o - 6 6 c 0 8 e 6 2 f 1 6 8 5 a 3 a d e 4 6 4 c c e ) i s a n o t h e r p o p u l a r v i d e o g e n e r a t i o n m o d e l . T h e m o d e l i s a m u l t i d i m e n s i o n a l t r a n s f o r m e r t h a t i n t e g r a t e s t e x t , t i m e , a n d s p a c e . I t e m p l o y s f u l l a t t e n t i o n i n t h e a t t e n t i o n m o d u l e a n d i n c l u d e s a n e x p e r t b l o c k a t t h e l a y e r l e v e l t o s p a t i a l l y a l i g n t e x t a n d v i d e o . # # # C o g V i d e o X [ C o g V i d e o X ] ( . . / a p i / p i p e l i n e s / c o g v i d e o x ) u s e s a 3 D V a r i a t i o n a l A u t o e n c o d e r ( V A E ) t o c o m p r e s s v i d e o s a l o n g t h e s p a t i a l a n d t e m p o r a l d i m e n s i o n s . B e g i n b y l o a d i n g t h e [ C o g V i d e o X P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / c o g v i d e o x # d i f f u s e r s . C o g V i d e o X P i p e l i n e ) a n d p a s s i n g a n i n i t i a l t e x t o r i m a g e t o g e n e r a t e a v i d e o . < T i p > C o g V i d e o X i s a v a i l a b l e f o r i m a g e - t o - v i d e o a n d t e x t - t o - v i d e o . [ T H U D M / C o g V i d e o X - 5 b - I 2 V ] ( h t t p s : / / h u g g i n g f a c e . c o / T H U D M / C o g V i d e o X - 5 b - I 2 V ) u s e s t h e [ C o g V i d e o X I m a g e T o V i d e o P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / c o g v i d e o x # d i f f u s e r s . C o g V i d e o X I m a g e T o V i d e o P i p e l i n e ) f o r i m a g e - t o - v i d e o . [ T H U D M / C o g V i d e o X - 5 b ] ( h t t p s : / / h u g g i n g f a c e . c o / T H U D M / C o g V i d e o X - 5 b ) a n d [ T H U D M / C o g V i d e o X - 2 b ] ( h t t p s : / / h u g g i n g f a c e . c o / T H U D M / C o g V i d e o X - 2 b ) a r e a v a i l a b l e f o r t e x t - t o - v i d e o w i t h t h e [ C o g V i d e o X P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / c o g v i d e o x # d i f f u s e r s . C o g V i d e o X P i p e l i n e ) . < / T i p > ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t C o g V i d e o X I m a g e T o V i d e o P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ v i d e o , l o a d _ i m a g e p r o m p t = " A v a s t , s h i m m e r i n g o c e a n f l o w s g r a c e f u l l y u n d e r a t w i l i g h t s k y , i t s w a v e s u n d u l a t i n g i n a m e s m e r i z i n g d a n c e o f b l u e s a n d g r e e n s . T h e s u r f a c e g l i n t s w i t h t h e l a s t r a y s o f t h e s e t t i n g s u n , c a s t i n g g o l d e n h i g h l i g h t s t h a t r i p p l e a c r o s s t h e w a t e r . S e a g u l l s s o a r a b o v e , t h e i r c r i e s b l e n d i n g w i t h t h e g e n t l e r o a r o f t h e w a v e s . T h e h o r i z o n s t r e t c h e s i n f i n i t e l y , w h e r e t h e o c e a n m e e t s t h e s k y i n a s e a m l e s s b l e n d o f h u e s . C l o s e - u p s r e v e a l t h e i n t r i c a t e p a t t e r n s o f t h e w a v e s , c a p t u r i n g t h e f l u i d i t y a n d d y n a m i c b e a u t y o f t h e s e a i n m o t i o n . " i m a g e = l o a d _ i m a g e ( i m a g e = " c o g v i d e o x _ r o c k e t . p n g " ) p i p e = C o g V i d e o X I m a g e T o V i d e o P i p e l i n e . f r o m _ p r e t r a i n e d ( " T H U D M / C o g V i d e o X - 5 b - I 2 V " , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) p i p e . v a e . e n a b l e _ t i l i n g ( ) p i p e . v a e . e n a b l e _ s l i c i n g ( ) v i d e o = p i p e ( p r o m p t = p r o m p t , i m a g e = i m a g e , n u m _ v i d e o s _ p e r _ p r o m p t = 1 , n u m _ i n f e r e n c e _ s t e p s = 5 0 , n u m _ f r a m e s = 4 9 , g u i d a n c e _ s c a l e = 6 , g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c u d a " ) . m a n u a l _ s e e d ( 4 2 ) , ) . f r a m e s [ 0 ] e x p o r t _ t o _ v i d e o ( v i d e o , " o u t p u t . m p 4 " , f p s = 8 ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o g v i d e o x / c o g v i d e o x _ r o c k e t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > i n i t i a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o g v i d e o x / c o g v i d e o x _ o u t r o c k e t . g i f " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d v i d e o < / f i g c a p t i o n > < / d i v > < / d i v > # # # S t a b l e V i d e o D i f f u s i o n [ S V D ] ( . . / a p i / p i p e l i n e s / s v d ) i s b a s e d o n t h e S t a b l e D i f f u s i o n 2 . 1 m o d e l a n d i t i s t r a i n e d o n i m a g e s , t h e n l o w - r e s o l u t i o n v i d e o s , a n d f i n a l l y a s m a l l e r d a t a s e t o f h i g h - r e s o l u t i o n v i d e o s . T h i s m o d e l g e n e r a t e s a s h o r t 2 - 4 s e c o n d v i d e o f r o m a n i n i t i a l i m a g e . Y o u c a n l e a r n m o r e d e t a i l s a b o u t m o d e l , l i k e m i c r o - c o n d i t i o n i n g , i n t h e [ S t a b l e V i d e o D i f f u s i o n ] ( . . / u s i n g - d i f f u s e r s / s v d ) g u i d e . B e g i n b y l o a d i n g t h e [ S t a b l e V i d e o D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s v d # d i f f u s e r s . S t a b l e V i d e o D i f f u s i o n P i p e l i n e ) a n d p a s s i n g a n i n i t i a l i m a g e t o g e n e r a t e a v i d e o f r o m . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e V i d e o D i f f u s i o n P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , e x p o r t _ t o _ v i d e o p i p e l i n e = S t a b l e V i d e o D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - v i d e o - d i f f u s i o n - i m g 2 v i d - x t " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s v d / r o c k e t . p n g " ) i m a g e = i m a g e . r e s i z e ( ( 1 0 2 4 , 5 7 6 ) ) g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 4 2 ) f r a m e s = p i p e l i n e ( i m a g e , d e c o d e _ c h u n k _ s i z e = 8 , g e n e r a t o r = g e n e r a t o r ) . f r a m e s [ 0 ] e x p o r t _ t o _ v i d e o ( f r a m e s , " g e n e r a t e d . m p 4 " , f p s = 7 ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s v d / r o c k e t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > i n i t i a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s v d / o u t p u t _ r o c k e t . g i f " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d v i d e o < / f i g c a p t i o n > < / d i v > < / d i v > # # # I 2 V G e n - X L [ I 2 V G e n - X L ] ( . . / a p i / p i p e l i n e s / i 2 v g e n x l ) i s a d i f f u s i o n m o d e l t h a t c a n g e n e r a t e h i g h e r r e s o l u t i o n v i d e o s t h a n S V D a n d i t i s a l s o c a p a b l e o f a c c e p t i n g t e x t p r o m p t s i n a d d i t i o n t o i m a g e s . T h e m o d e l i s t r a i n e d w i t h t w o h i e r a r c h i c a l e n c o d e r s ( d e t a i l a n d g l o b a l e n c o d e r ) t o b e t t e r c a p t u r e l o w a n d h i g h - l e v e l d e t a i l s i n i m a g e s . T h e s e l e a r n e d d e t a i l s a r e u s e d t o t r a i n a v i d e o d i f f u s i o n m o d e l w h i c h r e f i n e s t h e v i d e o r e s o l u t i o n a n d d e t a i l s i n t h e g e n e r a t e d v i d e o . Y o u c a n u s e I 2 V G e n - X L b y l o a d i n g t h e [ I 2 V G e n X L P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / i 2 v g e n x l # d i f f u s e r s . I 2 V G e n X L P i p e l i n e ) , a n d p a s s i n g a t e x t a n d i m a g e p r o m p t t o g e n e r a t e a v i d e o . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t I 2 V G e n X L P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f , l o a d _ i m a g e p i p e l i n e = I 2 V G e n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " a l i - v i l a b / i 2 v g e n - x l " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) i m a g e _ u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / i 2 v g e n _ x l _ i m a g e s / i m g _ 0 0 0 9 . p n g " i m a g e = l o a d _ i m a g e ( i m a g e _ u r l ) . c o n v e r t ( " R G B " ) p r o m p t = " P a p e r s w e r e f l o a t i n g i n t h e a i r o n a t a b l e i n t h e l i b r a r y " n e g a t i v e _ p r o m p t = " D i s t o r t e d , d i s c o n t i n u o u s , U g l y , b l u r r y , l o w r e s o l u t i o n , m o t i o n l e s s , s t a t i c , d i s f i g u r e d , d i s c o n n e c t e d l i m b s , U g l y f a c e s , i n c o m p l e t e a r m s " g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 8 8 8 8 ) f r a m e s = p i p e l i n e ( p r o m p t = p r o m p t , i m a g e = i m a g e , n u m _ i n f e r e n c e _ s t e p s = 5 0 , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , g u i d a n c e _ s c a l e = 9 . 0 , g e n e r a t o r = g e n e r a t o r ) . f r a m e s [ 0 ] e x p o r t _ t o _ g i f ( f r a m e s , " i 2 v . g i f " ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / i 2 v g e n _ x l _ i m a g e s / i m g _ 0 0 0 9 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > i n i t i a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i 2 v g e n - x l - e x a m p l e . g i f " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d v i d e o < / f i g c a p t i o n > < / d i v > < / d i v > # # # A n i m a t e D i f f [ A n i m a t e D i f f ] ( . . / a p i / p i p e l i n e s / a n i m a t e d i f f ) i s a n a d a p t e r m o d e l t h a t i n s e r t s a m o t i o n m o d u l e i n t o a p r e t r a i n e d d i f f u s i o n m o d e l t o a n i m a t e a n i m a g e . T h e a d a p t e r i s t r a i n e d o n v i d e o c l i p s t o l e a r n m o t i o n w h i c h i s u s e d t o c o n d i t i o n t h e g e n e r a t i o n p r o c e s s t o c r e a t e a v i d e o . I t i s f a s t e r a n d e a s i e r t o o n l y t r a i n t h e a d a p t e r a n d i t c a n b e l o a d e d i n t o m o s t d i f f u s i o n m o d e l s , e f f e c t i v e l y t u r n i n g t h e m i n t o " v i d e o m o d e l s " . S t a r t b y l o a d i n g a ` M o t i o n A d a p t e r ` . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A n i m a t e D i f f P i p e l i n e , D D I M S c h e d u l e r , M o t i o n A d a p t e r f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f a d a p t e r = M o t i o n A d a p t e r . f r o m _ p r e t r a i n e d ( " g u o y w w / a n i m a t e d i f f - m o t i o n - a d a p t e r - v 1 - 5 - 2 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) ` ` ` T h e n l o a d a f i n e t u n e d S t a b l e D i f f u s i o n m o d e l w i t h t h e [ A n i m a t e D i f f P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a n i m a t e d i f f # d i f f u s e r s . A n i m a t e D i f f P i p e l i n e ) . ` ` ` p y p i p e l i n e = A n i m a t e D i f f P i p e l i n e . f r o m _ p r e t r a i n e d ( " e m i l i a n J R / e p i C R e a l i s m " , m o t i o n _ a d a p t e r = a d a p t e r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ p r e t r a i n e d ( " e m i l i a n J R / e p i C R e a l i s m " , s u b f o l d e r = " s c h e d u l e r " , c l i p _ s a m p l e = F a l s e , t i m e s t e p _ s p a c i n g = " l i n s p a c e " , b e t a _ s c h e d u l e = " l i n e a r " , s t e p s _ o f f s e t = 1 , ) p i p e l i n e . s c h e d u l e r = s c h e d u l e r p i p e l i n e . e n a b l e _ v a e _ s l i c i n g ( ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` ` ` C r e a t e a p r o m p t a n d g e n e r a t e t h e v i d e o . ` ` ` p y o u t p u t = p i p e l i n e ( p r o m p t = " A s p a c e r o c k e t w i t h t r a i l s o f s m o k e b e h i n d i t l a u n c h i n g i n t o s p a c e f r o m t h e d e s e r t , 4 k , h i g h r e s o l u t i o n " , n e g a t i v e _ p r o m p t = " b a d q u a l i t y , w o r s e q u a l i t y , l o w r e s o l u t i o n " , n u m _ f r a m e s = 1 6 , g u i d a n c e _ s c a l e = 7 . 5 , n u m _ i n f e r e n c e _ s t e p s = 5 0 , g e n e r a t o r = t o r c h . G e n e r a t o r ( " c p u " ) . m a n u a l _ s e e d ( 4 9 ) , ) f r a m e s = o u t p u t . f r a m e s [ 0 ] e x p o r t _ t o _ g i f ( f r a m e s , " a n i m a t i o n . g i f " ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f . g i f " / > < / d i v > # # # M o d e l s c o p e T 2 V [ M o d e l s c o p e T 2 V ] ( . . / a p i / p i p e l i n e s / t e x t _ t o _ v i d e o ) a d d s s p a t i a l a n d t e m p o r a l c o n v o l u t i o n s a n d a t t e n t i o n t o a U N e t , a n d i t i s t r a i n e d o n i m a g e - t e x t a n d v i d e o - t e x t d a t a s e t s t o e n h a n c e w h a t i t l e a r n s d u r i n g t r a i n i n g . T h e m o d e l t a k e s a p r o m p t , e n c o d e s i t a n d c r e a t e s t e x t e m b e d d i n g s w h i c h a r e d e n o i s e d b y t h e U N e t , a n d t h e n d e c o d e d b y a V Q G A N i n t o a v i d e o . < T i p > M o d e l S c o p e T 2 V g e n e r a t e s w a t e r m a r k e d v i d e o s d u e t o t h e d a t a s e t s i t w a s t r a i n e d o n . T o u s e a w a t e r m a r k - f r e e m o d e l , t r y t h e [ c e r s p e n s e / z e r o s c o p e _ v 2 _ 7 6 w ] ( h t t p s : / / h u g g i n g f a c e . c o / c e r s p e n s e / z e r o s c o p e _ v 2 _ 5 7 6 w ) m o d e l w i t h t h e [ T e x t T o V i d e o S D P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / t e x t _ t o _ v i d e o # d i f f u s e r s . T e x t T o V i d e o S D P i p e l i n e ) f i r s t , a n d t h e n u p s c a l e i t ' s o u t p u t w i t h t h e [ c e r s p e n s e / z e r o s c o p e _ v 2 _ X L ] ( h t t p s : / / h u g g i n g f a c e . c o / c e r s p e n s e / z e r o s c o p e _ v 2 _ X L ) c h e c k p o i n t u s i n g t h e [ V i d e o T o V i d e o S D P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / t e x t _ t o _ v i d e o # d i f f u s e r s . V i d e o T o V i d e o S D P i p e l i n e ) . < / T i p > L o a d a M o d e l S c o p e T 2 V c h e c k p o i n t i n t o t h e [ D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e ) a l o n g w i t h a p r o m p t t o g e n e r a t e a v i d e o . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ v i d e o p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " d a m o - v i l a b / t e x t - t o - v i d e o - m s - 1 . 7 b " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p i p e l i n e . e n a b l e _ v a e _ s l i c i n g ( ) p r o m p t = " C o n f i d e n t t e d d y b e a r s u r f e r r i d e s t h e w a v e i n t h e t r o p i c s " v i d e o _ f r a m e s = p i p e l i n e ( p r o m p t ) . f r a m e s [ 0 ] e x p o r t _ t o _ v i d e o ( v i d e o _ f r a m e s , " m o d e l s c o p e t 2 v . m p 4 " , f p s = 1 0 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / m o d e l s c o p e t 2 v . g i f " / > < / d i v > # # C o n f i g u r e m o d e l p a r a m e t e r s T h e r e a r e a f e w i m p o r t a n t p a r a m e t e r s y o u c a n c o n f i g u r e i n t h e p i p e l i n e t h a t ' l l a f f e c t t h e v i d e o g e n e r a t i o n p r o c e s s a n d q u a l i t y . L e t ' s t a k e a c l o s e r l o o k a t w h a t t h e s e p a r a m e t e r s d o a n d h o w c h a n g i n g t h e m a f f e c t s t h e o u t p u t . # # # N u m b e r o f f r a m e s T h e ` n u m _ f r a m e s ` p a r a m e t e r d e t e r m i n e s h o w m a n y v i d e o f r a m e s a r e g e n e r a t e d p e r s e c o n d . A f r a m e i s a n i m a g e t h a t i s p l a y e d i n a s e q u e n c e o f o t h e r f r a m e s t o c r e a t e m o t i o n o r a v i d e o . T h i s a f f e c t s v i d e o l e n g t h b e c a u s e t h e p i p e l i n e g e n e r a t e s a c e r t a i n n u m b e r o f f r a m e s p e r s e c o n d ( c h e c k a p i p e l i n e ' s A P I r e f e r e n c e f o r t h e d e f a u l t v a l u e ) . T o i n c r e a s e t h e v i d e o d u r a t i o n , y o u ' l l n e e d t o i n c r e a s e t h e ` n u m _ f r a m e s ` p a r a m e t e r . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e V i d e o D i f f u s i o n P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , e x p o r t _ t o _ v i d e o p i p e l i n e = S t a b l e V i d e o D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - v i d e o - d i f f u s i o n - i m g 2 v i d " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s v d / r o c k e t . p n g " ) i m a g e = i m a g e . r e s i z e ( ( 1 0 2 4 , 5 7 6 ) ) g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 4 2 ) f r a m e s = p i p e l i n e ( i m a g e , d e c o d e _ c h u n k _ s i z e = 8 , g e n e r a t o r = g e n e r a t o r , n u m _ f r a m e s = 2 5 ) . f r a m e s [ 0 ] e x p o r t _ t o _ v i d e o ( f r a m e s , " g e n e r a t e d . m p 4 " , f p s = 7 ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / n u m _ f r a m e s _ 1 4 . g i f " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > n u m _ f r a m e s = 1 4 < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / n u m _ f r a m e s _ 2 5 . g i f " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > n u m _ f r a m e s = 2 5 < / f i g c a p t i o n > < / d i v > < / d i v > # # # G u i d a n c e s c a l e T h e ` g u i d a n c e _ s c a l e ` p a r a m e t e r c o n t r o l s h o w c l o s e l y a l i g n e d t h e g e n e r a t e d v i d e o a n d t e x t p r o m p t o r i n i t i a l i m a g e i s . A h i g h e r ` g u i d a n c e _ s c a l e ` v a l u e m e a n s y o u r g e n e r a t e d v i d e o i s m o r e a l i g n e d w i t h t h e t e x t p r o m p t o r i n i t i a l i m a g e , w h i l e a l o w e r ` g u i d a n c e _ s c a l e ` v a l u e m e a n s y o u r g e n e r a t e d v i d e o i s l e s s a l i g n e d w h i c h c o u l d g i v e t h e m o d e l m o r e " c r e a t i v i t y " t o i n t e r p r e t t h e c o n d i t i o n i n g i n p u t . < T i p > S V D u s e s t h e ` m i n _ g u i d a n c e _ s c a l e ` a n d ` m a x _ g u i d a n c e _ s c a l e ` p a r a m e t e r s f o r a p p l y i n g g u i d a n c e t o t h e f i r s t a n d l a s t f r a m e s r e s p e c t i v e l y . < / T i p > ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t I 2 V G e n X L P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f , l o a d _ i m a g e p i p e l i n e = I 2 V G e n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " a l i - v i l a b / i 2 v g e n - x l " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) i m a g e _ u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / i 2 v g e n _ x l _ i m a g e s / i m g _ 0 0 0 9 . p n g " i m a g e = l o a d _ i m a g e ( i m a g e _ u r l ) . c o n v e r t ( " R G B " ) p r o m p t = " P a p e r s w e r e f l o a t i n g i n t h e a i r o n a t a b l e i n t h e l i b r a r y " n e g a t i v e _ p r o m p t = " D i s t o r t e d , d i s c o n t i n u o u s , U g l y , b l u r r y , l o w r e s o l u t i o n , m o t i o n l e s s , s t a t i c , d i s f i g u r e d , d i s c o n n e c t e d l i m b s , U g l y f a c e s , i n c o m p l e t e a r m s " g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) f r a m e s = p i p e l i n e ( p r o m p t = p r o m p t , i m a g e = i m a g e , n u m _ i n f e r e n c e _ s t e p s = 5 0 , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , g u i d a n c e _ s c a l e = 1 . 0 , g e n e r a t o r = g e n e r a t o r ) . f r a m e s [ 0 ] e x p o r t _ t o _ g i f ( f r a m e s , " i 2 v . g i f " ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i 2 v g e n - x l - e x a m p l e . g i f " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g u i d a n c e _ s c a l e = 9 . 0 < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / g u i d a n c e _ s c a l e _ 1 . 0 . g i f " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g u i d a n c e _ s c a l e = 1 . 0 < / f i g c a p t i o n > < / d i v > < / d i v > # # # N e g a t i v e p r o m p t A n e g a t i v e p r o m p t d e t e r s t h e m o d e l f r o m g e n e r a t i n g t h i n g s y o u d o n โ€™ t w a n t i t t o . T h i s p a r a m e t e r i s c o m m o n l y u s e d t o i m p r o v e o v e r a l l g e n e r a t i o n q u a l i t y b y r e m o v i n g p o o r o r b a d f e a t u r e s s u c h a s โ€œ l o w r e s o l u t i o n โ€ o r โ€œ b a d d e t a i l s โ€ . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A n i m a t e D i f f P i p e l i n e , D D I M S c h e d u l e r , M o t i o n A d a p t e r f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f a d a p t e r = M o t i o n A d a p t e r . f r o m _ p r e t r a i n e d ( " g u o y w w / a n i m a t e d i f f - m o t i o n - a d a p t e r - v 1 - 5 - 2 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e = A n i m a t e D i f f P i p e l i n e . f r o m _ p r e t r a i n e d ( " e m i l i a n J R / e p i C R e a l i s m " , m o t i o n _ a d a p t e r = a d a p t e r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ p r e t r a i n e d ( " e m i l i a n J R / e p i C R e a l i s m " , s u b f o l d e r = " s c h e d u l e r " , c l i p _ s a m p l e = F a l s e , t i m e s t e p _ s p a c i n g = " l i n s p a c e " , b e t a _ s c h e d u l e = " l i n e a r " , s t e p s _ o f f s e t = 1 , ) p i p e l i n e . s c h e d u l e r = s c h e d u l e r p i p e l i n e . e n a b l e _ v a e _ s l i c i n g ( ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) o u t p u t = p i p e l i n e ( p r o m p t = " 3 6 0 c a m e r a s h o t o f a s u s h i r o l l i n a r e s t a u r a n t " , n e g a t i v e _ p r o m p t = " D i s t o r t e d , d i s c o n t i n u o u s , u g l y , b l u r r y , l o w r e s o l u t i o n , m o t i o n l e s s , s t a t i c " , n u m _ f r a m e s = 1 6 , g u i d a n c e _ s c a l e = 7 . 5 , n u m _ i n f e r e n c e _ s t e p s = 5 0 , g e n e r a t o r = t o r c h . G e n e r a t o r ( " c p u " ) . m a n u a l _ s e e d ( 0 ) , ) f r a m e s = o u t p u t . f r a m e s [ 0 ] e x p o r t _ t o _ g i f ( f r a m e s , " a n i m a t i o n . g i f " ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f _ n o _ n e g . g i f " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > n o n e g a t i v e p r o m p t < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / a n i m a t e d i f f _ n e g . g i f " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > n e g a t i v e p r o m p t a p p l i e d < / f i g c a p t i o n > < / d i v > < / d i v > # # # M o d e l - s p e c i f i c p a r a m e t e r s T h e r e a r e s o m e p i p e l i n e p a r a m e t e r s t h a t a r e u n i q u e t o e a c h m o d e l s u c h a s a d j u s t i n g t h e m o t i o n i n a v i d e o o r a d d i n g n o i s e t o t h e i n i t i a l i m a g e . < h f o p t i o n s i d = " s p e c i a l - p a r a m e t e r s " > < h f o p t i o n i d = " S t a b l e V i d e o D i f f u s i o n " > S t a b l e V i d e o D i f f u s i o n p r o v i d e s a d d i t i o n a l m i c r o - c o n d i t i o n i n g f o r t h e f r a m e r a t e w i t h t h e ` f p s ` p a r a m e t e r a n d f o r m o t i o n w i t h t h e ` m o t i o n _ b u c k e t _ i d ` p a r a m e t e r . T o g e t h e r , t h e s e p a r a m e t e r s a l l o w f o r a d j u s t i n g t h e a m o u n t o f m o t i o n i n t h e g e n e r a t e d v i d e o . T h e r e i s a l s o a ` n o i s e _ a u g _ s t r e n g t h ` p a r a m e t e r t h a t i n c r e a s e s t h e a m o u n t o f n o i s e a d d e d t o t h e i n i t i a l i m a g e . V a r y i n g t h i s p a r a m e t e r a f f e c t s h o w s i m i l a r t h e g e n e r a t e d v i d e o a n d i n i t i a l i m a g e a r e . A h i g h e r ` n o i s e _ a u g _ s t r e n g t h ` a l s o i n c r e a s e s t h e a m o u n t o f m o t i o n . T o l e a r n m o r e , r e a d t h e [ M i c r o - c o n d i t i o n i n g ] ( . . / u s i n g - d i f f u s e r s / s v d # m i c r o - c o n d i t i o n i n g ) g u i d e . < / h f o p t i o n > < h f o p t i o n i d = " T e x t 2 V i d e o - Z e r o " > T e x t 2 V i d e o - Z e r o c o m p u t e s t h e a m o u n t o f m o t i o n t o a p p l y t o e a c h f r a m e f r o m r a n d o m l y s a m p l e d l a t e n t s . Y o u c a n u s e t h e ` m o t i o n _ f i e l d _ s t r e n g t h _ x ` a n d ` m o t i o n _ f i e l d _ s t r e n g t h _ y ` p a r a m e t e r s t o c o n t r o l t h e a m o u n t o f m o t i o n t o a p p l y t o t h e x a n d y - a x e s o f t h e v i d e o . T h e p a r a m e t e r s ` t 0 ` a n d ` t 1 ` a r e t h e t i m e s t e p s t o a p p l y m o t i o n t o t h e l a t e n t s . < / h f o p t i o n > < / h f o p t i o n s > # # C o n t r o l v i d e o g e n e r a t i o n V i d e o g e n e r a t i o n c a n b e c o n t r o l l e d s i m i l a r t o h o w t e x t - t o - i m a g e , i m a g e - t o - i m a g e , a n d i n p a i n t i n g c a n b e c o n t r o l l e d w i t h a [ C o n t r o l N e t M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / c o n t r o l n e t # d i f f u s e r s . C o n t r o l N e t M o d e l ) . T h e o n l y d i f f e r e n c e i s y o u n e e d t o u s e t h e [ C r o s s F r a m e A t t n P r o c e s s o r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / a t t n p r o c e s s o r # d i f f u s e r s . p i p e l i n e s . t e x t _ t o _ v i d e o _ s y n t h e s i s . p i p e l i n e _ t e x t _ t o _ v i d e o _ z e r o . C r o s s F r a m e A t t n P r o c e s s o r ) s o e a c h f r a m e a t t e n d s t o t h e f i r s t f r a m e . # # # T e x t 2 V i d e o - Z e r o T e x t 2 V i d e o - Z e r o v i d e o g e n e r a t i o n c a n b e c o n d i t i o n e d o n p o s e a n d e d g e i m a g e s f o r e v e n g r e a t e r c o n t r o l o v e r a s u b j e c t ' s m o t i o n i n t h e g e n e r a t e d v i d e o o r t o p r e s e r v e t h e i d e n t i t y o f a s u b j e c t / o b j e c t i n t h e v i d e o . Y o u c a n a l s o u s e T e x t 2 V i d e o - Z e r o w i t h [ I n s t r u c t P i x 2 P i x ] ( . . / a p i / p i p e l i n e s / p i x 2 p i x ) f o r e d i t i n g v i d e o s w i t h t e x t . < h f o p t i o n s i d = " t 2 v - z e r o " > < h f o p t i o n i d = " p o s e c o n t r o l " > S t a r t b y d o w n l o a d i n g a v i d e o a n d e x t r a c t i n g t h e p o s e i m a g e s f r o m i t . ` ` ` p y f r o m h u g g i n g f a c e _ h u b i m p o r t h f _ h u b _ d o w n l o a d f r o m P I L i m p o r t I m a g e i m p o r t i m a g e i o f i l e n a m e = " _ _ a s s e t s _ _ / p o s e s _ s k e l e t o n _ g i f s / d a n c e 1 _ c o r r . m p 4 " r e p o _ i d = " P A I R / T e x t 2 V i d e o - Z e r o " v i d e o _ p a t h = h f _ h u b _ d o w n l o a d ( r e p o _ t y p e = " s p a c e " , r e p o _ i d = r e p o _ i d , f i l e n a m e = f i l e n a m e ) r e a d e r = i m a g e i o . g e t _ r e a d e r ( v i d e o _ p a t h , " f f m p e g " ) f r a m e _ c o u n t = 8 p o s e _ i m a g e s = [ I m a g e . f r o m a r r a y ( r e a d e r . g e t _ d a t a ( i ) ) f o r i i n r a n g e ( f r a m e _ c o u n t ) ] ` ` ` L o a d a [ C o n t r o l N e t M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / c o n t r o l n e t # d i f f u s e r s . C o n t r o l N e t M o d e l ) f o r p o s e e s t i m a t i o n a n d a c h e c k p o i n t i n t o t h e [ S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / c o n t r o l n e t # d i f f u s e r s . S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e ) . T h e n y o u ' l l u s e t h e [ C r o s s F r a m e A t t n P r o c e s s o r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / a t t n p r o c e s s o r # d i f f u s e r s . p i p e l i n e s . t e x t _ t o _ v i d e o _ s y n t h e s i s . p i p e l i n e _ t e x t _ t o _ v i d e o _ z e r o . C r o s s F r a m e A t t n P r o c e s s o r ) f o r t h e U N e t a n d C o n t r o l N e t . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e , C o n t r o l N e t M o d e l f r o m d i f f u s e r s . p i p e l i n e s . t e x t _ t o _ v i d e o _ s y n t h e s i s . p i p e l i n e _ t e x t _ t o _ v i d e o _ z e r o i m p o r t C r o s s F r a m e A t t n P r o c e s s o r m o d e l _ i d = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " l l l y a s v i e l / s d - c o n t r o l n e t - o p e n p o s e " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e = S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , c o n t r o l n e t = c o n t r o l n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e . u n e t . s e t _ a t t n _ p r o c e s s o r ( C r o s s F r a m e A t t n P r o c e s s o r ( b a t c h _ s i z e = 2 ) ) p i p e l i n e . c o n t r o l n e t . s e t _ a t t n _ p r o c e s s o r ( C r o s s F r a m e A t t n P r o c e s s o r ( b a t c h _ s i z e = 2 ) ) ` ` ` F i x t h e l a t e n t s f o r a l l t h e f r a m e s , a n d t h e n p a s s y o u r p r o m p t a n d e x t r a c t e d p o s e i m a g e s t o t h e m o d e l t o g e n e r a t e a v i d e o . ` ` ` p y l a t e n t s = t o r c h . r a n d n ( ( 1 , 4 , 6 4 , 6 4 ) , d e v i c e = " c u d a " , d t y p e = t o r c h . f l o a t 1 6 ) . r e p e a t ( l e n ( p o s e _ i m a g e s ) , 1 , 1 , 1 ) p r o m p t = " D a r t h V a d e r d a n c i n g i n a d e s e r t " r e s u l t = p i p e l i n e ( p r o m p t = [ p r o m p t ] * l e n ( p o s e _ i m a g e s ) , i m a g e = p o s e _ i m a g e s , l a t e n t s = l a t e n t s ) . i m a g e s i m a g e i o . m i m s a v e ( " v i d e o . m p 4 " , r e s u l t , f p s = 4 ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " e d g e c o n t r o l " > D o w n l o a d a v i d e o a n d e x t r a c t t h e e d g e s f r o m i t . ` ` ` p y f r o m h u g g i n g f a c e _ h u b i m p o r t h f _ h u b _ d o w n l o a d f r o m P I L i m p o r t I m a g e i m p o r t i m a g e i o f i l e n a m e = " _ _ a s s e t s _ _ / p o s e s _ s k e l e t o n _ g i f s / d a n c e 1 _ c o r r . m p 4 " r e p o _ i d = " P A I R / T e x t 2 V i d e o - Z e r o " v i d e o _ p a t h = h f _ h u b _ d o w n l o a d ( r e p o _ t y p e = " s p a c e " , r e p o _ i d = r e p o _ i d , f i l e n a m e = f i l e n a m e ) r e a d e r = i m a g e i o . g e t _ r e a d e r ( v i d e o _ p a t h , " f f m p e g " ) f r a m e _ c o u n t = 8 p o s e _ i m a g e s = [ I m a g e . f r o m a r r a y ( r e a d e r . g e t _ d a t a ( i ) ) f o r i i n r a n g e ( f r a m e _ c o u n t ) ] ` ` ` L o a d a [ C o n t r o l N e t M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / c o n t r o l n e t # d i f f u s e r s . C o n t r o l N e t M o d e l ) f o r c a n n y e d g e a n d a c h e c k p o i n t i n t o t h e [ S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / c o n t r o l n e t # d i f f u s e r s . S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e ) . T h e n y o u ' l l u s e t h e [ C r o s s F r a m e A t t n P r o c e s s o r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / a t t n p r o c e s s o r # d i f f u s e r s . p i p e l i n e s . t e x t _ t o _ v i d e o _ s y n t h e s i s . p i p e l i n e _ t e x t _ t o _ v i d e o _ z e r o . C r o s s F r a m e A t t n P r o c e s s o r ) f o r t h e U N e t a n d C o n t r o l N e t . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e , C o n t r o l N e t M o d e l f r o m d i f f u s e r s . p i p e l i n e s . t e x t _ t o _ v i d e o _ s y n t h e s i s . p i p e l i n e _ t e x t _ t o _ v i d e o _ z e r o i m p o r t C r o s s F r a m e A t t n P r o c e s s o r m o d e l _ i d = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " l l l y a s v i e l / s d - c o n t r o l n e t - c a n n y " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e = S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , c o n t r o l n e t = c o n t r o l n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e . u n e t . s e t _ a t t n _ p r o c e s s o r ( C r o s s F r a m e A t t n P r o c e s s o r ( b a t c h _ s i z e = 2 ) ) p i p e l i n e . c o n t r o l n e t . s e t _ a t t n _ p r o c e s s o r ( C r o s s F r a m e A t t n P r o c e s s o r ( b a t c h _ s i z e = 2 ) ) ` ` ` F i x t h e l a t e n t s f o r a l l t h e f r a m e s , a n d t h e n p a s s y o u r p r o m p t a n d e x t r a c t e d e d g e i m a g e s t o t h e m o d e l t o g e n e r a t e a v i d e o . ` ` ` p y l a t e n t s = t o r c h . r a n d n ( ( 1 , 4 , 6 4 , 6 4 ) , d e v i c e = " c u d a " , d t y p e = t o r c h . f l o a t 1 6 ) . r e p e a t ( l e n ( p o s e _ i m a g e s ) , 1 , 1 , 1 ) p r o m p t = " D a r t h V a d e r d a n c i n g i n a d e s e r t " r e s u l t = p i p e l i n e ( p r o m p t = [ p r o m p t ] * l e n ( p o s e _ i m a g e s ) , i m a g e = p o s e _ i m a g e s , l a t e n t s = l a t e n t s ) . i m a g e s i m a g e i o . m i m s a v e ( " v i d e o . m p 4 " , r e s u l t , f p s = 4 ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " I n s t r u c t P i x 2 P i x " > I n s t r u c t P i x 2 P i x a l l o w s y o u t o u s e t e x t t o d e s c r i b e t h e c h a n g e s y o u w a n t t o m a k e t o t h e v i d e o . S t a r t b y d o w n l o a d i n g a n d r e a d i n g a v i d e o . ` ` ` p y f r o m h u g g i n g f a c e _ h u b i m p o r t h f _ h u b _ d o w n l o a d f r o m P I L i m p o r t I m a g e i m p o r t i m a g e i o f i l e n a m e = " _ _ a s s e t s _ _ / p i x 2 p i x v i d e o / c a m e l . m p 4 " r e p o _ i d = " P A I R / T e x t 2 V i d e o - Z e r o " v i d e o _ p a t h = h f _ h u b _ d o w n l o a d ( r e p o _ t y p e = " s p a c e " , r e p o _ i d = r e p o _ i d , f i l e n a m e = f i l e n a m e ) r e a d e r = i m a g e i o . g e t _ r e a d e r ( v i d e o _ p a t h , " f f m p e g " ) f r a m e _ c o u n t = 8 v i d e o = [ I m a g e . f r o m a r r a y ( r e a d e r . g e t _ d a t a ( i ) ) f o r i i n r a n g e ( f r a m e _ c o u n t ) ] ` ` ` L o a d t h e [ S t a b l e D i f f u s i o n I n s t r u c t P i x 2 P i x P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / p i x 2 p i x # d i f f u s e r s . S t a b l e D i f f u s i o n I n s t r u c t P i x 2 P i x P i p e l i n e ) a n d s e t t h e [ C r o s s F r a m e A t t n P r o c e s s o r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / a t t n p r o c e s s o r # d i f f u s e r s . p i p e l i n e s . t e x t _ t o _ v i d e o _ s y n t h e s i s . p i p e l i n e _ t e x t _ t o _ v i d e o _ z e r o . C r o s s F r a m e A t t n P r o c e s s o r ) f o r t h e U N e t . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n I n s t r u c t P i x 2 P i x P i p e l i n e f r o m d i f f u s e r s . p i p e l i n e s . t e x t _ t o _ v i d e o _ s y n t h e s i s . p i p e l i n e _ t e x t _ t o _ v i d e o _ z e r o i m p o r t C r o s s F r a m e A t t n P r o c e s s o r p i p e l i n e = S t a b l e D i f f u s i o n I n s t r u c t P i x 2 P i x P i p e l i n e . f r o m _ p r e t r a i n e d ( " t i m b r o o k s / i n s t r u c t - p i x 2 p i x " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e . u n e t . s e t _ a t t n _ p r o c e s s o r ( C r o s s F r a m e A t t n P r o c e s s o r ( b a t c h _ s i z e = 3 ) ) ` ` ` P a s s a p r o m p t d e s c r i b i n g t h e c h a n g e y o u w a n t t o a p p l y t o t h e v i d e o . ` ` ` p y p r o m p t = " m a k e i t V a n G o g h S t a r r y N i g h t s t y l e " r e s u l t = p i p e l i n e ( p r o m p t = [ p r o m p t ] * l e n ( v i d e o ) , i m a g e = v i d e o ) . i m a g e s i m a g e i o . m i m s a v e ( " e d i t e d _ v i d e o . m p 4 " , r e s u l t , f p s = 4 ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > # # O p t i m i z e V i d e o g e n e r a t i o n r e q u i r e s a l o t o f m e m o r y b e c a u s e y o u ' r e g e n e r a t i n g m a n y v i d e o f r a m e s a t o n c e . Y o u c a n r e d u c e y o u r m e m o r y r e q u i r e m e n t s a t t h e e x p e n s e o f s o m e i n f e r e n c e s p e e d . T r y : 1 . o f f l o a d i n g p i p e l i n e c o m p o n e n t s t h a t a r e n o l o n g e r n e e d e d t o t h e C P U 2 . f e e d - f o r w a r d c h u n k i n g r u n s t h e f e e d - f o r w a r d l a y e r i n a l o o p i n s t e a d o f a l l a t o n c e 3 . b r e a k u p t h e n u m b e r o f f r a m e s t h e V A E h a s t o d e c o d e i n t o c h u n k s i n s t e a d o f d e c o d i n g t h e m a l l a t o n c e ` ` ` d i f f - p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) - f r a m e s = p i p e l i n e ( i m a g e , d e c o d e _ c h u n k _ s i z e = 8 , g e n e r a t o r = g e n e r a t o r ) . f r a m e s [ 0 ] + p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) + p i p e l i n e . u n e t . e n a b l e _ f o r w a r d _ c h u n k i n g ( ) + f r a m e s = p i p e l i n e ( i m a g e , d e c o d e _ c h u n k _ s i z e = 2 , g e n e r a t o r = g e n e r a t o r , n u m _ f r a m e s = 2 5 ) . f r a m e s [ 0 ] ` ` ` I f m e m o r y i s n o t a n i s s u e a n d y o u w a n t t o o p t i m i z e f o r s p e e d , t r y w r a p p i n g t h e U N e t w i t h [ ` t o r c h . c o m p i l e ` ] ( . . / o p t i m i z a t i o n / t o r c h 2 . 0 # t o r c h c o m p i l e ) . ` ` ` d i f f - p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) + p i p e l i n e . t o ( " c u d a " ) + p i p e l i n e . u n e t = t o r c h . c o m p i l e ( p i p e l i n e . u n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) ` ` ` # S t a b l e D i f f u s i o n X L T u r b o S D X L T u r b o i s a n a d v e r s a r i a l t i m e - d i s t i l l e d [ S t a b l e D i f f u s i o n X L ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 7 . 0 1 9 5 2 ) ( S D X L ) m o d e l c a p a b l e o f r u n n i n g i n f e r e n c e i n a s l i t t l e a s 1 s t e p . T h i s g u i d e w i l l s h o w y o u h o w t o u s e S D X L - T u r b o f o r t e x t - t o - i m a g e a n d i m a g e - t o - i m a g e . B e f o r e y o u b e g i n , m a k e s u r e y o u h a v e t h e f o l l o w i n g l i b r a r i e s i n s t a l l e d : ` ` ` p y # u n c o m m e n t t o i n s t a l l t h e n e c e s s a r y l i b r a r i e s i n C o l a b # ! p i p i n s t a l l - q d i f f u s e r s t r a n s f o r m e r s a c c e l e r a t e ` ` ` # # L o a d m o d e l c h e c k p o i n t s M o d e l w e i g h t s m a y b e s t o r e d i n s e p a r a t e s u b f o l d e r s o n t h e H u b o r l o c a l l y , i n w h i c h c a s e , y o u s h o u l d u s e t h e [ f r o m _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ) m e t h o d : ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s d x l - t u r b o " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e = p i p e l i n e . t o ( " c u d a " ) ` ` ` Y o u c a n a l s o u s e t h e [ f r o m _ s i n g l e _ f i l e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / s i n g l e _ f i l e # d i f f u s e r s . l o a d e r s . F r o m S i n g l e F i l e M i x i n . f r o m _ s i n g l e _ f i l e ) m e t h o d t o l o a d a m o d e l c h e c k p o i n t s t o r e d i n a s i n g l e f i l e f o r m a t ( ` . c k p t ` o r ` . s a f e t e n s o r s ` ) f r o m t h e H u b o r l o c a l l y . F o r t h i s l o a d i n g m e t h o d , y o u n e e d t o s e t ` t i m e s t e p _ s p a c i n g = " t r a i l i n g " ` ( f e e l f r e e t o e x p e r i m e n t w i t h t h e o t h e r s c h e d u l e r c o n f i g v a l u e s t o g e t b e t t e r r e s u l t s ) : ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e , E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r i m p o r t t o r c h p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ s i n g l e _ f i l e ( " h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s d x l - t u r b o / b l o b / m a i n / s d _ x l _ t u r b o _ 1 . 0 _ f p 1 6 . s a f e t e n s o r s " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e = p i p e l i n e . t o ( " c u d a " ) p i p e l i n e . s c h e d u l e r = E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g , t i m e s t e p _ s p a c i n g = " t r a i l i n g " ) ` ` ` # # T e x t - t o - i m a g e F o r t e x t - t o - i m a g e , p a s s a t e x t p r o m p t . B y d e f a u l t , S D X L T u r b o g e n e r a t e s a 5 1 2 x 5 1 2 i m a g e , a n d t h a t r e s o l u t i o n g i v e s t h e b e s t r e s u l t s . Y o u c a n t r y s e t t i n g t h e ` h e i g h t ` a n d ` w i d t h ` p a r a m e t e r s t o 7 6 8 x 7 6 8 o r 1 0 2 4 x 1 0 2 4 , b u t y o u s h o u l d e x p e c t q u a l i t y d e g r a d a t i o n s w h e n d o i n g s o . M a k e s u r e t o s e t ` g u i d a n c e _ s c a l e ` t o 0 . 0 t o d i s a b l e , a s t h e m o d e l w a s t r a i n e d w i t h o u t i t . A s i n g l e i n f e r e n c e s t e p i s e n o u g h t o g e n e r a t e h i g h q u a l i t y i m a g e s . I n c r e a s i n g t h e n u m b e r o f s t e p s t o 2 , 3 o r 4 s h o u l d i m p r o v e i m a g e q u a l i t y . ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e _ t e x t 2 i m a g e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s d x l - t u r b o " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e _ t e x t 2 i m a g e = p i p e l i n e _ t e x t 2 i m a g e . t o ( " c u d a " ) p r o m p t = " A c i n e m a t i c s h o t o f a b a b y r a c o o n w e a r i n g a n i n t r i c a t e i t a l i a n p r i e s t r o b e . " i m a g e = p i p e l i n e _ t e x t 2 i m a g e ( p r o m p t = p r o m p t , g u i d a n c e _ s c a l e = 0 . 0 , n u m _ i n f e r e n c e _ s t e p s = 1 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / s d x l - t u r b o - t e x t 2 i m g . p n g " a l t = " g e n e r a t e d i m a g e o f a r a c o o n i n a r o b e " / > < / d i v > # # I m a g e - t o - i m a g e F o r i m a g e - t o - i m a g e g e n e r a t i o n , m a k e s u r e t h a t ` n u m _ i n f e r e n c e _ s t e p s * s t r e n g t h ` i s l a r g e r o r e q u a l t o 1 . T h e i m a g e - t o - i m a g e p i p e l i n e w i l l r u n f o r ` i n t ( n u m _ i n f e r e n c e _ s t e p s * s t r e n g t h ) ` s t e p s , e . g . ` 0 . 5 * 2 . 0 = 1 ` s t e p i n o u r e x a m p l e b e l o w . ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I m a g e 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d # u s e f r o m _ p i p e t o a v o i d c o n s u m i n g a d d i t i o n a l m e m o r y w h e n l o a d i n g a c h e c k p o i n t p i p e l i n e _ i m a g e 2 i m a g e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p i p e ( p i p e l i n e _ t e x t 2 i m a g e ) . t o ( " c u d a " ) i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c a t . p n g " ) i n i t _ i m a g e = i n i t _ i m a g e . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) p r o m p t = " c a t w i z a r d , g a n d a l f , l o r d o f t h e r i n g s , d e t a i l e d , f a n t a s y , c u t e , a d o r a b l e , P i x a r , D i s n e y , 8 k " i m a g e = p i p e l i n e _ i m a g e 2 i m a g e ( p r o m p t , i m a g e = i n i t _ i m a g e , s t r e n g t h = 0 . 5 , g u i d a n c e _ s c a l e = 0 . 0 , n u m _ i n f e r e n c e _ s t e p s = 2 ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / s d x l - t u r b o - i m g 2 i m g . p n g " a l t = " I m a g e - t o - i m a g e g e n e r a t i o n s a m p l e u s i n g S D X L T u r b o " / > < / d i v > # # S p e e d - u p S D X L T u r b o e v e n m o r e - C o m p i l e t h e U N e t i f y o u a r e u s i n g P y T o r c h v e r s i o n 2 . 0 o r h i g h e r . T h e f i r s t i n f e r e n c e r u n w i l l b e v e r y s l o w , b u t s u b s e q u e n t o n e s w i l l b e m u c h f a s t e r . ` ` ` p y p i p e . u n e t = t o r c h . c o m p i l e ( p i p e . u n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) ` ` ` - W h e n u s i n g t h e d e f a u l t V A E , k e e p i t i n ` f l o a t 3 2 ` t o a v o i d c o s t l y ` d t y p e ` c o n v e r s i o n s b e f o r e a n d a f t e r e a c h g e n e r a t i o n . Y o u o n l y n e e d t o d o t h i s o n e b e f o r e y o u r f i r s t g e n e r a t i o n : ` ` ` p y p i p e . u p c a s t _ v a e ( ) ` ` ` A s a n a l t e r n a t i v e , y o u c a n a l s o u s e a [ 1 6 - b i t V A E ] ( h t t p s : / / h u g g i n g f a c e . c o / m a d e b y o l l i n / s d x l - v a e - f p 1 6 - f i x ) c r e a t e d b y c o m m u n i t y m e m b e r [ ` @ m a d e b y o l l i n ` ] ( h t t p s : / / h u g g i n g f a c e . c o / m a d e b y o l l i n ) t h a t d o e s n o t n e e d t o b e u p c a s t e d t o ` f l o a t 3 2 ` . # P u s h f i l e s t o t h e H u b ๐Ÿค— D i f f u s e r s p r o v i d e s a [ P u s h T o H u b M i x i n ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . u t i l s . P u s h T o H u b M i x i n ) f o r u p l o a d i n g y o u r m o d e l , s c h e d u l e r , o r p i p e l i n e t o t h e H u b . I t i s a n e a s y w a y t o s t o r e y o u r f i l e s o n t h e H u b , a n d a l s o a l l o w s y o u t o s h a r e y o u r w o r k w i t h o t h e r s . U n d e r t h e h o o d , t h e [ P u s h T o H u b M i x i n ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . u t i l s . P u s h T o H u b M i x i n ) : 1 . c r e a t e s a r e p o s i t o r y o n t h e H u b 2 . s a v e s y o u r m o d e l , s c h e d u l e r , o r p i p e l i n e f i l e s s o t h e y c a n b e r e l o a d e d l a t e r 3 . u p l o a d s f o l d e r c o n t a i n i n g t h e s e f i l e s t o t h e H u b T h i s g u i d e w i l l s h o w y o u h o w t o u s e t h e [ P u s h T o H u b M i x i n ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . u t i l s . P u s h T o H u b M i x i n ) t o u p l o a d y o u r f i l e s t o t h e H u b . Y o u ' l l n e e d t o l o g i n t o y o u r H u b a c c o u n t w i t h y o u r a c c e s s [ t o k e n ] ( h t t p s : / / h u g g i n g f a c e . c o / s e t t i n g s / t o k e n s ) f i r s t : ` ` ` p y f r o m h u g g i n g f a c e _ h u b i m p o r t n o t e b o o k _ l o g i n n o t e b o o k _ l o g i n ( ) ` ` ` # # M o d e l s T o p u s h a m o d e l t o t h e H u b , c a l l [ p u s h _ t o _ h u b ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . u t i l s . P u s h T o H u b M i x i n . p u s h _ t o _ h u b ) a n d s p e c i f y t h e r e p o s i t o r y i d o f t h e m o d e l t o b e s t o r e d o n t h e H u b : ` ` ` p y f r o m d i f f u s e r s i m p o r t C o n t r o l N e t M o d e l c o n t r o l n e t = C o n t r o l N e t M o d e l ( b l o c k _ o u t _ c h a n n e l s = ( 3 2 , 6 4 ) , l a y e r s _ p e r _ b l o c k = 2 , i n _ c h a n n e l s = 4 , d o w n _ b l o c k _ t y p e s = ( " D o w n B l o c k 2 D " , " C r o s s A t t n D o w n B l o c k 2 D " ) , c r o s s _ a t t e n t i o n _ d i m = 3 2 , c o n d i t i o n i n g _ e m b e d d i n g _ o u t _ c h a n n e l s = ( 1 6 , 3 2 ) , ) c o n t r o l n e t . p u s h _ t o _ h u b ( " m y - c o n t r o l n e t - m o d e l " ) ` ` ` F o r m o d e l s , y o u c a n a l s o s p e c i f y t h e [ * v a r i a n t * ] ( l o a d i n g # c h e c k p o i n t - v a r i a n t s ) o f t h e w e i g h t s t o p u s h t o t h e H u b . F o r e x a m p l e , t o p u s h ` f p 1 6 ` w e i g h t s : ` ` ` p y c o n t r o l n e t . p u s h _ t o _ h u b ( " m y - c o n t r o l n e t - m o d e l " , v a r i a n t = " f p 1 6 " ) ` ` ` T h e [ p u s h _ t o _ h u b ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . u t i l s . P u s h T o H u b M i x i n . p u s h _ t o _ h u b ) f u n c t i o n s a v e s t h e m o d e l ' s ` c o n f i g . j s o n ` f i l e a n d t h e w e i g h t s a r e a u t o m a t i c a l l y s a v e d i n t h e ` s a f e t e n s o r s ` f o r m a t . N o w y o u c a n r e l o a d t h e m o d e l f r o m y o u r r e p o s i t o r y o n t h e H u b : ` ` ` p y m o d e l = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " y o u r - n a m e s p a c e / m y - c o n t r o l n e t - m o d e l " ) ` ` ` # # S c h e d u l e r T o p u s h a s c h e d u l e r t o t h e H u b , c a l l [ p u s h _ t o _ h u b ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . u t i l s . P u s h T o H u b M i x i n . p u s h _ t o _ h u b ) a n d s p e c i f y t h e r e p o s i t o r y i d o f t h e s c h e d u l e r t o b e s t o r e d o n t h e H u b : ` ` ` p y f r o m d i f f u s e r s i m p o r t D D I M S c h e d u l e r s c h e d u l e r = D D I M S c h e d u l e r ( b e t a _ s t a r t = 0 . 0 0 0 8 5 , b e t a _ e n d = 0 . 0 1 2 , b e t a _ s c h e d u l e = " s c a l e d _ l i n e a r " , c l i p _ s a m p l e = F a l s e , s e t _ a l p h a _ t o _ o n e = F a l s e , ) s c h e d u l e r . p u s h _ t o _ h u b ( " m y - c o n t r o l n e t - s c h e d u l e r " ) ` ` ` T h e [ p u s h _ t o _ h u b ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . u t i l s . P u s h T o H u b M i x i n . p u s h _ t o _ h u b ) f u n c t i o n s a v e s t h e s c h e d u l e r ' s ` s c h e d u l e r _ c o n f i g . j s o n ` f i l e t o t h e s p e c i f i e d r e p o s i t o r y . N o w y o u c a n r e l o a d t h e s c h e d u l e r f r o m y o u r r e p o s i t o r y o n t h e H u b : ` ` ` p y s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ p r e t r a i n e d ( " y o u r - n a m e p s a c e / m y - c o n t r o l n e t - s c h e d u l e r " ) ` ` ` # # P i p e l i n e Y o u c a n a l s o p u s h a n e n t i r e p i p e l i n e w i t h a l l i t ' s c o m p o n e n t s t o t h e H u b . F o r e x a m p l e , i n i t i a l i z e t h e c o m p o n e n t s o f a [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) w i t h t h e p a r a m e t e r s y o u w a n t : ` ` ` p y f r o m d i f f u s e r s i m p o r t ( U N e t 2 D C o n d i t i o n M o d e l , A u t o e n c o d e r K L , D D I M S c h e d u l e r , S t a b l e D i f f u s i o n P i p e l i n e , ) f r o m t r a n s f o r m e r s i m p o r t C L I P T e x t M o d e l , C L I P T e x t C o n f i g , C L I P T o k e n i z e r u n e t = U N e t 2 D C o n d i t i o n M o d e l ( b l o c k _ o u t _ c h a n n e l s = ( 3 2 , 6 4 ) , l a y e r s _ p e r _ b l o c k = 2 , s a m p l e _ s i z e = 3 2 , i n _ c h a n n e l s = 4 , o u t _ c h a n n e l s = 4 , d o w n _ b l o c k _ t y p e s = ( " D o w n B l o c k 2 D " , " C r o s s A t t n D o w n B l o c k 2 D " ) , u p _ b l o c k _ t y p e s = ( " C r o s s A t t n U p B l o c k 2 D " , " U p B l o c k 2 D " ) , c r o s s _ a t t e n t i o n _ d i m = 3 2 , ) s c h e d u l e r = D D I M S c h e d u l e r ( b e t a _ s t a r t = 0 . 0 0 0 8 5 , b e t a _ e n d = 0 . 0 1 2 , b e t a _ s c h e d u l e = " s c a l e d _ l i n e a r " , c l i p _ s a m p l e = F a l s e , s e t _ a l p h a _ t o _ o n e = F a l s e , ) v a e = A u t o e n c o d e r K L ( b l o c k _ o u t _ c h a n n e l s = [ 3 2 , 6 4 ] , i n _ c h a n n e l s = 3 , o u t _ c h a n n e l s = 3 , d o w n _ b l o c k _ t y p e s = [ " D o w n E n c o d e r B l o c k 2 D " , " D o w n E n c o d e r B l o c k 2 D " ] , u p _ b l o c k _ t y p e s = [ " U p D e c o d e r B l o c k 2 D " , " U p D e c o d e r B l o c k 2 D " ] , l a t e n t _ c h a n n e l s = 4 , ) t e x t _ e n c o d e r _ c o n f i g = C L I P T e x t C o n f i g ( b o s _ t o k e n _ i d = 0 , e o s _ t o k e n _ i d = 2 , h i d d e n _ s i z e = 3 2 , i n t e r m e d i a t e _ s i z e = 3 7 , l a y e r _ n o r m _ e p s = 1 e - 0 5 , n u m _ a t t e n t i o n _ h e a d s = 4 , n u m _ h i d d e n _ l a y e r s = 5 , p a d _ t o k e n _ i d = 1 , v o c a b _ s i z e = 1 0 0 0 , ) t e x t _ e n c o d e r = C L I P T e x t M o d e l ( t e x t _ e n c o d e r _ c o n f i g ) t o k e n i z e r = C L I P T o k e n i z e r . f r o m _ p r e t r a i n e d ( " h f - i n t e r n a l - t e s t i n g / t i n y - r a n d o m - c l i p " ) ` ` ` P a s s a l l o f t h e c o m p o n e n t s t o t h e [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) a n d c a l l [ p u s h _ t o _ h u b ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . u t i l s . P u s h T o H u b M i x i n . p u s h _ t o _ h u b ) t o p u s h t h e p i p e l i n e t o t h e H u b : ` ` ` p y c o m p o n e n t s = { " u n e t " : u n e t , " s c h e d u l e r " : s c h e d u l e r , " v a e " : v a e , " t e x t _ e n c o d e r " : t e x t _ e n c o d e r , " t o k e n i z e r " : t o k e n i z e r , " s a f e t y _ c h e c k e r " : N o n e , " f e a t u r e _ e x t r a c t o r " : N o n e , } p i p e l i n e = S t a b l e D i f f u s i o n P i p e l i n e ( * * c o m p o n e n t s ) p i p e l i n e . p u s h _ t o _ h u b ( " m y - p i p e l i n e " ) ` ` ` T h e [ p u s h _ t o _ h u b ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . u t i l s . P u s h T o H u b M i x i n . p u s h _ t o _ h u b ) f u n c t i o n s a v e s e a c h c o m p o n e n t t o a s u b f o l d e r i n t h e r e p o s i t o r y . N o w y o u c a n r e l o a d t h e p i p e l i n e f r o m y o u r r e p o s i t o r y o n t h e H u b : ` ` ` p y p i p e l i n e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " y o u r - n a m e s p a c e / m y - p i p e l i n e " ) ` ` ` # # P r i v a c y S e t ` p r i v a t e = T r u e ` i n t h e [ p u s h _ t o _ h u b ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . u t i l s . P u s h T o H u b M i x i n . p u s h _ t o _ h u b ) f u n c t i o n t o k e e p y o u r m o d e l , s c h e d u l e r , o r p i p e l i n e f i l e s p r i v a t e : ` ` ` p y c o n t r o l n e t . p u s h _ t o _ h u b ( " m y - c o n t r o l n e t - m o d e l - p r i v a t e " , p r i v a t e = T r u e ) ` ` ` P r i v a t e r e p o s i t o r i e s a r e o n l y v i s i b l e t o y o u , a n d o t h e r u s e r s w o n ' t b e a b l e t o c l o n e t h e r e p o s i t o r y a n d y o u r r e p o s i t o r y w o n ' t a p p e a r i n s e a r c h r e s u l t s . E v e n i f a u s e r h a s t h e U R L t o y o u r p r i v a t e r e p o s i t o r y , t h e y ' l l r e c e i v e a ` 4 0 4 - S o r r y , w e c a n ' t f i n d t h e p a g e y o u a r e l o o k i n g f o r ` . Y o u m u s t b e [ l o g g e d i n ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / h u g g i n g f a c e _ h u b / q u i c k - s t a r t # l o g i n ) t o l o a d a m o d e l f r o m a p r i v a t e r e p o s i t o r y . # M o d e l f i l e s a n d l a y o u t s D i f f u s i o n m o d e l s a r e s a v e d i n v a r i o u s f i l e t y p e s a n d o r g a n i z e d i n d i f f e r e n t l a y o u t s . D i f f u s e r s s t o r e s m o d e l w e i g h t s a s s a f e t e n s o r s f i l e s i n * D i f f u s e r s - m u l t i f o l d e r * l a y o u t a n d i t a l s o s u p p o r t s l o a d i n g f i l e s ( l i k e s a f e t e n s o r s a n d c k p t f i l e s ) f r o m a * s i n g l e - f i l e * l a y o u t w h i c h i s c o m m o n l y u s e d i n t h e d i f f u s i o n e c o s y s t e m . E a c h l a y o u t h a s i t s o w n b e n e f i t s a n d u s e c a s e s , a n d t h i s g u i d e w i l l s h o w y o u h o w t o l o a d t h e d i f f e r e n t f i l e s a n d l a y o u t s , a n d h o w t o c o n v e r t t h e m . # # F i l e s P y T o r c h m o d e l w e i g h t s a r e t y p i c a l l y s a v e d w i t h P y t h o n ' s [ p i c k l e ] ( h t t p s : / / d o c s . p y t h o n . o r g / 3 / l i b r a r y / p i c k l e . h t m l ) u t i l i t y a s c k p t o r b i n f i l e s . H o w e v e r , p i c k l e i s n o t s e c u r e a n d p i c k l e d f i l e s m a y c o n t a i n m a l i c i o u s c o d e t h a t c a n b e e x e c u t e d . T h i s v u l n e r a b i l i t y i s a s e r i o u s c o n c e r n g i v e n t h e p o p u l a r i t y o f m o d e l s h a r i n g . T o a d d r e s s t h i s s e c u r i t y i s s u e , t h e [ S a f e t e n s o r s ] ( h t t p s : / / h f . c o / d o c s / s a f e t e n s o r s ) l i b r a r y w a s d e v e l o p e d a s a s e c u r e a l t e r n a t i v e t o p i c k l e , w h i c h s a v e s m o d e l s a s s a f e t e n s o r s f i l e s . # # # s a f e t e n s o r s > [ ! T I P ] > L e a r n m o r e a b o u t t h e d e s i g n d e c i s i o n s a n d w h y s a f e t e n s o r f i l e s a r e p r e f e r r e d f o r s a v i n g a n d l o a d i n g m o d e l w e i g h t s i n t h e [ S a f e t e n s o r s a u d i t e d a s r e a l l y s a f e a n d b e c o m i n g t h e d e f a u l t ] ( h t t p s : / / b l o g . e l e u t h e r . a i / s a f e t e n s o r s - s e c u r i t y - a u d i t / ) b l o g p o s t . [ S a f e t e n s o r s ] ( h t t p s : / / h f . c o / d o c s / s a f e t e n s o r s ) i s a s a f e a n d f a s t f i l e f o r m a t f o r s e c u r e l y s t o r i n g a n d l o a d i n g t e n s o r s . S a f e t e n s o r s r e s t r i c t s t h e h e a d e r s i z e t o l i m i t c e r t a i n t y p e s o f a t t a c k s , s u p p o r t s l a z y l o a d i n g ( u s e f u l f o r d i s t r i b u t e d s e t u p s ) , a n d h a s g e n e r a l l y f a s t e r l o a d i n g s p e e d s . M a k e s u r e y o u h a v e t h e [ S a f e t e n s o r s ] ( h t t p s : / / h f . c o / d o c s / s a f e t e n s o r s ) l i b r a r y i n s t a l l e d . ` ` ` p y ! p i p i n s t a l l s a f e t e n s o r s ` ` ` S a f e t e n s o r s s t o r e s w e i g h t s i n a s a f e t e n s o r s f i l e . D i f f u s e r s l o a d s s a f e t e n s o r s f i l e s b y d e f a u l t i f t h e y ' r e a v a i l a b l e a n d t h e S a f e t e n s o r s l i b r a r y i s i n s t a l l e d . T h e r e a r e t w o w a y s s a f e t e n s o r s f i l e s c a n b e o r g a n i z e d : 1 . D i f f u s e r s - m u l t i f o l d e r l a y o u t : t h e r e m a y b e s e v e r a l s e p a r a t e s a f e t e n s o r s f i l e s , o n e f o r e a c h p i p e l i n e c o m p o n e n t ( t e x t e n c o d e r , U N e t , V A E ) , o r g a n i z e d i n s u b f o l d e r s ( c h e c k o u t t h e [ s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ] ( h t t p s : / / h f . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 / t r e e / m a i n ) r e p o s i t o r y a s a n e x a m p l e ) 2 . s i n g l e - f i l e l a y o u t : a l l t h e m o d e l w e i g h t s m a y b e s a v e d i n a s i n g l e f i l e ( c h e c k o u t t h e [ W a r r i o r M a m a 7 7 7 / O r a n g e M i x s ] ( h t t p s : / / h f . c o / W a r r i o r M a m a 7 7 7 / O r a n g e M i x s / t r e e / m a i n / M o d e l s / A b y s s O r a n g e M i x ) r e p o s i t o r y a s a n e x a m p l e ) < h f o p t i o n s i d = " s a f e t e n s o r s " > < h f o p t i o n i d = " m u l t i f o l d e r " > U s e t h e [ f r o m _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ) m e t h o d t o l o a d a m o d e l w i t h s a f e t e n s o r s f i l e s s t o r e d i n m u l t i p l e f o l d e r s . ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , u s e _ s a f e t e n s o r s = T r u e ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " s i n g l e f i l e " > U s e t h e [ f r o m _ s i n g l e _ f i l e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / s i n g l e _ f i l e # d i f f u s e r s . l o a d e r s . F r o m S i n g l e F i l e M i x i n . f r o m _ s i n g l e _ f i l e ) m e t h o d t o l o a d a m o d e l w i t h a l l t h e w e i g h t s s t o r e d i n a s i n g l e s a f e t e n s o r s f i l e . ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e p i p e l i n e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ s i n g l e _ f i l e ( " h t t p s : / / h u g g i n g f a c e . c o / W a r r i o r M a m a 7 7 7 / O r a n g e M i x s / b l o b / m a i n / M o d e l s / A b y s s O r a n g e M i x / A b y s s O r a n g e M i x . s a f e t e n s o r s " ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > # # # # L o R A f i l e s [ L o R A ] ( h t t p s : / / h f . c o / d o c s / p e f t / c o n c e p t u a l _ g u i d e s / a d a p t e r # l o w - r a n k - a d a p t a t i o n - l o r a ) i s a l i g h t w e i g h t a d a p t e r t h a t i s f a s t a n d e a s y t o t r a i n , m a k i n g t h e m e s p e c i a l l y p o p u l a r f o r g e n e r a t i n g i m a g e s i n a c e r t a i n w a y o r s t y l e . T h e s e a d a p t e r s a r e c o m m o n l y s t o r e d i n a s a f e t e n s o r s f i l e , a n d a r e w i d e l y p o p u l a r o n m o d e l s h a r i n g p l a t f o r m s l i k e [ c i v i t a i ] ( h t t p s : / / c i v i t a i . c o m / ) . L o R A s a r e l o a d e d i n t o a b a s e m o d e l w i t h t h e [ l o a d _ l o r a _ w e i g h t s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . S t a b l e D i f f u s i o n L o r a L o a d e r M i x i n . l o a d _ l o r a _ w e i g h t s ) m e t h o d . ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e i m p o r t t o r c h # b a s e m o d e l p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " L y k o n / d r e a m s h a p e r - x l - 1 - 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) . t o ( " c u d a " ) # d o w n l o a d L o R A w e i g h t s ! w g e t h t t p s : / / c i v i t a i . c o m / a p i / d o w n l o a d / m o d e l s / 1 6 8 7 7 6 - O b l u e p r i n t i f y . s a f e t e n s o r s # l o a d L o R A w e i g h t s p i p e l i n e . l o a d _ l o r a _ w e i g h t s ( " . " , w e i g h t _ n a m e = " b l u e p r i n t i f y . s a f e t e n s o r s " ) p r o m p t = " b l 3 u p r i n t , a h i g h l y d e t a i l e d b l u e p r i n t o f t h e e m p i r e s t a t e b u i l d i n g , e x p l a i n i n g h o w t o b u i l d a l l p a r t s , m a n y t x t , b l u e p r i n t g r i d b a c k d r o p " n e g a t i v e _ p r o m p t = " l o w r e s , c r o p p e d , w o r s t q u a l i t y , l o w q u a l i t y , n o r m a l q u a l i t y , a r t i f a c t s , s i g n a t u r e , w a t e r m a r k , u s e r n a m e , b l u r r y , m o r e t h a n o n e b r i d g e , b a d a r c h i t e c t u r e " i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) , ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / b l u e p r i n t - l o r a . p n g " / > < / d i v > # # # c k p t > [ ! W A R N I N G ] > P i c k l e d f i l e s m a y b e u n s a f e b e c a u s e t h e y c a n b e e x p l o i t e d t o e x e c u t e m a l i c i o u s c o d e . I t i s r e c o m m e n d e d t o u s e s a f e t e n s o r s f i l e s i n s t e a d w h e r e p o s s i b l e , o r c o n v e r t t h e w e i g h t s t o s a f e t e n s o r s f i l e s . P y T o r c h ' s [ t o r c h . s a v e ] ( h t t p s : / / p y t o r c h . o r g / d o c s / s t a b l e / g e n e r a t e d / t o r c h . s a v e . h t m l ) f u n c t i o n u s e s P y t h o n ' s [ p i c k l e ] ( h t t p s : / / d o c s . p y t h o n . o r g / 3 / l i b r a r y / p i c k l e . h t m l ) u t i l i t y t o s e r i a l i z e a n d s a v e m o d e l s . T h e s e f i l e s a r e s a v e d a s a c k p t f i l e a n d t h e y c o n t a i n t h e e n t i r e m o d e l ' s w e i g h t s . U s e t h e [ f r o m _ s i n g l e _ f i l e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / s i n g l e _ f i l e # d i f f u s e r s . l o a d e r s . F r o m S i n g l e F i l e M i x i n . f r o m _ s i n g l e _ f i l e ) m e t h o d t o d i r e c t l y l o a d a c k p t f i l e . ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e p i p e l i n e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ s i n g l e _ f i l e ( " h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 / b l o b / m a i n / v 1 - 5 - p r u n e d . c k p t " ) ` ` ` # # S t o r a g e l a y o u t T h e r e a r e t w o w a y s m o d e l f i l e s a r e o r g a n i z e d , e i t h e r i n a D i f f u s e r s - m u l t i f o l d e r l a y o u t o r i n a s i n g l e - f i l e l a y o u t . T h e D i f f u s e r s - m u l t i f o l d e r l a y o u t i s t h e d e f a u l t , a n d e a c h c o m p o n e n t f i l e ( t e x t e n c o d e r , U N e t , V A E ) i s s t o r e d i n a s e p a r a t e s u b f o l d e r . D i f f u s e r s a l s o s u p p o r t s l o a d i n g m o d e l s f r o m a s i n g l e - f i l e l a y o u t w h e r e a l l t h e c o m p o n e n t s a r e b u n d l e d t o g e t h e r . # # # D i f f u s e r s - m u l t i f o l d e r T h e D i f f u s e r s - m u l t i f o l d e r l a y o u t i s t h e d e f a u l t s t o r a g e l a y o u t f o r D i f f u s e r s . E a c h c o m p o n e n t ' s ( t e x t e n c o d e r , U N e t , V A E ) w e i g h t s a r e s t o r e d i n a s e p a r a t e s u b f o l d e r . T h e w e i g h t s c a n b e s t o r e d a s s a f e t e n s o r s o r c k p t f i l e s . < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / m u l t i f o l d e r - l a y o u t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > m u l t i f o l d e r l a y o u t < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / m u l t i f o l d e r - u n e t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > U N e t s u b f o l d e r < / f i g c a p t i o n > < / d i v > < / d i v > T o l o a d f r o m D i f f u s e r s - m u l t i f o l d e r l a y o u t , u s e t h e [ f r o m _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ) m e t h o d . ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e , ) . t o ( " c u d a " ) ` ` ` B e n e f i t s o f u s i n g t h e D i f f u s e r s - m u l t i f o l d e r l a y o u t i n c l u d e : 1 . F a s t e r t o l o a d e a c h c o m p o n e n t f i l e i n d i v i d u a l l y o r i n p a r a l l e l . 2 . R e d u c e d m e m o r y u s a g e b e c a u s e y o u o n l y l o a d t h e c o m p o n e n t s y o u n e e d . F o r e x a m p l e , m o d e l s l i k e [ S D X L T u r b o ] ( h t t p s : / / h f . c o / s t a b i l i t y a i / s d x l - t u r b o ) , [ S D X L L i g h t n i n g ] ( h t t p s : / / h f . c o / B y t e D a n c e / S D X L - L i g h t n i n g ) , a n d [ H y p e r - S D ] ( h t t p s : / / h f . c o / B y t e D a n c e / H y p e r - S D ) h a v e t h e s a m e c o m p o n e n t s e x c e p t f o r t h e U N e t . Y o u c a n r e u s e t h e i r s h a r e d c o m p o n e n t s w i t h t h e [ f r o m _ p i p e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p i p e ) m e t h o d w i t h o u t c o n s u m i n g a n y a d d i t i o n a l m e m o r y ( t a k e a l o o k a t t h e [ R e u s e a p i p e l i n e ] ( . / l o a d i n g # r e u s e - a - p i p e l i n e ) g u i d e ) a n d o n l y l o a d t h e U N e t . T h i s w a y , y o u d o n ' t n e e d t o d o w n l o a d r e d u n d a n t c o m p o n e n t s a n d u n n e c e s s a r i l y u s e m o r e m e m o r y . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e , U N e t 2 D C o n d i t i o n M o d e l , E u l e r D i s c r e t e S c h e d u l e r # d o w n l o a d o n e m o d e l s d x l _ p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e , ) . t o ( " c u d a " ) # s w i t c h U N e t f o r a n o t h e r m o d e l u n e t = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s d x l - t u r b o " , s u b f o l d e r = " u n e t " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) # r e u s e a l l t h e s a m e c o m p o n e n t s i n n e w m o d e l e x c e p t f o r t h e U N e t t u r b o _ p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p i p e ( s d x l _ p i p e l i n e , u n e t = u n e t , ) . t o ( " c u d a " ) t u r b o _ p i p e l i n e . s c h e d u l e r = E u l e r D i s c r e t e S c h e d u l e r . f r o m _ c o n f i g ( t u r b o _ p i p e l i n e . s c h e d u l e r . c o n f i g , t i m e s t e p + s p a c i n g = " t r a i l i n g " ) i m a g e = t u r b o _ p i p e l i n e ( " a n a s t r o n a u t r i d i n g a u n i c o r n o n m a r s " , n u m _ i n f e r e n c e _ s t e p s = 1 , g u i d a n c e _ s c a l e = 0 . 0 , ) . i m a g e s [ 0 ] i m a g e ` ` ` 3 . R e d u c e d s t o r a g e r e q u i r e m e n t s b e c a u s e i f a c o m p o n e n t , s u c h a s t h e S D X L [ V A E ] ( h t t p s : / / h f . c o / m a d e b y o l l i n / s d x l - v a e - f p 1 6 - f i x ) , i s s h a r e d a c r o s s m u l t i p l e m o d e l s , y o u o n l y n e e d t o d o w n l o a d a n d s t o r e a s i n g l e c o p y o f i t i n s t e a d o f d o w n l o a d i n g a n d s t o r i n g i t m u l t i p l e t i m e s . F o r 1 0 S D X L m o d e l s , t h i s c a n s a v e ~ 3 . 5 G B o f s t o r a g e . T h e s t o r a g e s a v i n g s i s e v e n g r e a t e r f o r n e w e r m o d e l s l i k e P i x A r t S i g m a , w h e r e t h e [ t e x t e n c o d e r ] ( h t t p s : / / h f . c o / P i x A r t - a l p h a / P i x A r t - S i g m a - X L - 2 - 1 0 2 4 - M S / t r e e / m a i n / t e x t _ e n c o d e r ) a l o n e i s ~ 1 9 G B ! 4 . F l e x i b i l i t y t o r e p l a c e a c o m p o n e n t i n t h e m o d e l w i t h a n e w e r o r b e t t e r v e r s i o n . ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e , A u t o e n c o d e r K L v a e = A u t o e n c o d e r K L . f r o m _ p r e t r a i n e d ( " m a d e b y o l l i n / s d x l - v a e - f p 1 6 - f i x " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , v a e = v a e , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e , ) . t o ( " c u d a " ) ` ` ` 5 . M o r e v i s i b i l i t y a n d i n f o r m a t i o n a b o u t a m o d e l ' s c o m p o n e n t s , w h i c h a r e s t o r e d i n a [ c o n f i g . j s o n ] ( h t t p s : / / h f . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 / b l o b / m a i n / u n e t / c o n f i g . j s o n ) f i l e i n e a c h c o m p o n e n t s u b f o l d e r . # # # S i n g l e - f i l e T h e s i n g l e - f i l e l a y o u t s t o r e s a l l t h e m o d e l w e i g h t s i n a s i n g l e f i l e . A l l t h e m o d e l c o m p o n e n t s ( t e x t e n c o d e r , U N e t , V A E ) w e i g h t s a r e k e p t t o g e t h e r i n s t e a d o f s e p a r a t e l y i n s u b f o l d e r s . T h i s c a n b e a s a f e t e n s o r s o r c k p t f i l e . < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s i n g l e - f i l e - l a y o u t . p n g " / > < / d i v > T o l o a d f r o m a s i n g l e - f i l e l a y o u t , u s e t h e [ f r o m _ s i n g l e _ f i l e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / s i n g l e _ f i l e # d i f f u s e r s . l o a d e r s . F r o m S i n g l e F i l e M i x i n . f r o m _ s i n g l e _ f i l e ) m e t h o d . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ s i n g l e _ f i l e ( " h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 / b l o b / m a i n / s d _ x l _ b a s e _ 1 . 0 . s a f e t e n s o r s " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e , ) . t o ( " c u d a " ) ` ` ` B e n e f i t s o f u s i n g a s i n g l e - f i l e l a y o u t i n c l u d e : 1 . E a s y c o m p a t i b i l i t y w i t h d i f f u s i o n i n t e r f a c e s s u c h a s [ C o m f y U I ] ( h t t p s : / / g i t h u b . c o m / c o m f y a n o n y m o u s / C o m f y U I ) o r [ A u t o m a t i c 1 1 1 1 ] ( h t t p s : / / g i t h u b . c o m / A U T O M A T I C 1 1 1 1 / s t a b l e - d i f f u s i o n - w e b u i ) w h i c h c o m m o n l y u s e a s i n g l e - f i l e l a y o u t . 2 . E a s i e r t o m a n a g e ( d o w n l o a d a n d s h a r e ) a s i n g l e f i l e . # # C o n v e r t l a y o u t a n d f i l e s D i f f u s e r s p r o v i d e s m a n y s c r i p t s a n d m e t h o d s t o c o n v e r t s t o r a g e l a y o u t s a n d f i l e f o r m a t s t o e n a b l e b r o a d e r s u p p o r t a c r o s s t h e d i f f u s i o n e c o s y s t e m . T a k e a l o o k a t t h e [ d i f f u s e r s / s c r i p t s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / s c r i p t s ) c o l l e c t i o n t o f i n d a s c r i p t t h a t f i t s y o u r c o n v e r s i o n n e e d s . > [ ! T I P ] > S c r i p t s t h a t h a v e " ` t o _ d i f f u s e r s ` " a p p e n d e d a t t h e e n d m e a n t h e y c o n v e r t a m o d e l t o t h e D i f f u s e r s - m u l t i f o l d e r l a y o u t . E a c h s c r i p t h a s t h e i r o w n s p e c i f i c s e t o f a r g u m e n t s f o r c o n f i g u r i n g t h e c o n v e r s i o n , s o m a k e s u r e y o u c h e c k w h a t a r g u m e n t s a r e a v a i l a b l e ! F o r e x a m p l e , t o c o n v e r t a S t a b l e D i f f u s i o n X L m o d e l s t o r e d i n D i f f u s e r s - m u l t i f o l d e r l a y o u t t o a s i n g l e - f i l e l a y o u t , r u n t h e [ c o n v e r t _ d i f f u s e r s _ t o _ o r i g i n a l _ s d x l . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s c r i p t s / c o n v e r t _ d i f f u s e r s _ t o _ o r i g i n a l _ s d x l . p y ) s c r i p t . P r o v i d e t h e p a t h t o t h e m o d e l t o c o n v e r t , a n d t h e p a t h t o s a v e t h e c o n v e r t e d m o d e l t o . Y o u c a n o p t i o n a l l y s p e c i f y w h e t h e r y o u w a n t t o s a v e t h e m o d e l a s a s a f e t e n s o r s f i l e a n d w h e t h e r t o s a v e t h e m o d e l i n h a l f - p r e c i s i o n . ` ` ` b a s h p y t h o n c o n v e r t _ d i f f u s e r s _ t o _ o r i g i n a l _ s d x l . p y - - m o d e l _ p a t h p a t h / t o / m o d e l / t o / c o n v e r t - - c h e c k p o i n t _ p a t h p a t h / t o / s a v e / m o d e l / t o - - u s e _ s a f e t e n s o r s ` ` ` Y o u c a n a l s o s a v e a m o d e l t o D i f f u s e r s - m u l t i f o l d e r l a y o u t w i t h t h e [ s a v e _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . s a v e _ p r e t r a i n e d ) m e t h o d . T h i s c r e a t e s a d i r e c t o r y f o r y o u i f i t d o e s n ' t a l r e a d y e x i s t , a n d i t a l s o s a v e s t h e f i l e s a s a s a f e t e n s o r s f i l e b y d e f a u l t . ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ s i n g l e _ f i l e ( " h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 / b l o b / m a i n / s d _ x l _ b a s e _ 1 . 0 . s a f e t e n s o r s " , ) p i p e l i n e . s a v e _ p r e t r a i n e d ( ) ` ` ` L a s t l y , t h e r e a r e a l s o S p a c e s , s u c h a s [ S D T o D i f f u s e r s ] ( h t t p s : / / h f . c o / s p a c e s / d i f f u s e r s / s d - t o - d i f f u s e r s ) a n d [ S D - X L T o D i f f u s e r s ] ( h t t p s : / / h f . c o / s p a c e s / d i f f u s e r s / s d x l - t o - d i f f u s e r s ) , t h a t p r o v i d e a m o r e u s e r - f r i e n d l y i n t e r f a c e f o r c o n v e r t i n g m o d e l s t o D i f f u s e r s - m u l t i f o l d e r l a y o u t . T h i s i s t h e e a s i e s t a n d m o s t c o n v e n i e n t o p t i o n f o r c o n v e r t i n g l a y o u t s , a n d i t ' l l o p e n a P R o n y o u r m o d e l r e p o s i t o r y w i t h t h e c o n v e r t e d f i l e s . H o w e v e r , t h i s o p t i o n i s n o t a s r e l i a b l e a s r u n n i n g a s c r i p t , a n d t h e S p a c e m a y f a i l f o r m o r e c o m p l i c a t e d m o d e l s . # # S i n g l e - f i l e l a y o u t u s a g e N o w t h a t y o u ' r e f a m i l i a r w i t h t h e d i f f e r e n c e s b e t w e e n t h e D i f f u s e r s - m u l t i f o l d e r a n d s i n g l e - f i l e l a y o u t , t h i s s e c t i o n s h o w s y o u h o w t o l o a d m o d e l s a n d p i p e l i n e c o m p o n e n t s , c u s t o m i z e c o n f i g u r a t i o n o p t i o n s f o r l o a d i n g , a n d l o a d l o c a l f i l e s w i t h t h e [ f r o m _ s i n g l e _ f i l e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / s i n g l e _ f i l e # d i f f u s e r s . l o a d e r s . F r o m S i n g l e F i l e M i x i n . f r o m _ s i n g l e _ f i l e ) m e t h o d . # # # L o a d a p i p e l i n e o r m o d e l P a s s t h e f i l e p a t h o f t h e p i p e l i n e o r m o d e l t o t h e [ f r o m _ s i n g l e _ f i l e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / s i n g l e _ f i l e # d i f f u s e r s . l o a d e r s . F r o m S i n g l e F i l e M i x i n . f r o m _ s i n g l e _ f i l e ) m e t h o d t o l o a d i t . < h f o p t i o n s i d = " p i p e l i n e - m o d e l " > < h f o p t i o n i d = " p i p e l i n e " > ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e c k p t _ p a t h = " h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 / b l o b / m a i n / s d _ x l _ b a s e _ 1 . 0 _ 0 . 9 v a e . s a f e t e n s o r s " p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ s i n g l e _ f i l e ( c k p t _ p a t h ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " m o d e l " > ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e C a s c a d e U N e t c k p t _ p a t h = " h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - c a s c a d e / b l o b / m a i n / s t a g e _ b _ l i t e . s a f e t e n s o r s " m o d e l = S t a b l e C a s c a d e U N e t . f r o m _ s i n g l e _ f i l e ( c k p t _ p a t h ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > C u s t o m i z e c o m p o n e n t s i n t h e p i p e l i n e b y p a s s i n g t h e m d i r e c t l y t o t h e [ f r o m _ s i n g l e _ f i l e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / s i n g l e _ f i l e # d i f f u s e r s . l o a d e r s . F r o m S i n g l e F i l e M i x i n . f r o m _ s i n g l e _ f i l e ) m e t h o d . F o r e x a m p l e , y o u c a n u s e a d i f f e r e n t s c h e d u l e r i n a p i p e l i n e . ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e , D D I M S c h e d u l e r c k p t _ p a t h = " h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 / b l o b / m a i n / s d _ x l _ b a s e _ 1 . 0 _ 0 . 9 v a e . s a f e t e n s o r s " s c h e d u l e r = D D I M S c h e d u l e r ( ) p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ s i n g l e _ f i l e ( c k p t _ p a t h , s c h e d u l e r = s c h e d u l e r ) ` ` ` O r y o u c o u l d u s e a C o n t r o l N e t m o d e l i n t h e p i p e l i n e . ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e , C o n t r o l N e t M o d e l c k p t _ p a t h = " h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 / b l o b / m a i n / v 1 - 5 - p r u n e d - e m a o n l y . s a f e t e n s o r s " c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " l l l y a s v i e l / c o n t r o l _ v 1 1 p _ s d 1 5 _ c a n n y " ) p i p e l i n e = S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e . f r o m _ s i n g l e _ f i l e ( c k p t _ p a t h , c o n t r o l n e t = c o n t r o l n e t ) ` ` ` # # # C u s t o m i z e c o n f i g u r a t i o n o p t i o n s M o d e l s h a v e a c o n f i g u r a t i o n f i l e t h a t d e f i n e t h e i r a t t r i b u t e s l i k e t h e n u m b e r o f i n p u t s i n a U N e t . P i p e l i n e s c o n f i g u r a t i o n o p t i o n s a r e a v a i l a b l e i n t h e p i p e l i n e ' s c l a s s . F o r e x a m p l e , i f y o u l o o k a t t h e [ S t a b l e D i f f u s i o n X L I n s t r u c t P i x 2 P i x P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / p i x 2 p i x # d i f f u s e r s . S t a b l e D i f f u s i o n X L I n s t r u c t P i x 2 P i x P i p e l i n e ) c l a s s , t h e r e i s a n o p t i o n t o s c a l e t h e i m a g e l a t e n t s w i t h t h e ` i s _ c o s x l _ e d i t ` p a r a m e t e r . T h e s e c o n f i g u r a t i o n f i l e s c a n b e f o u n d i n t h e m o d e l s H u b r e p o s i t o r y o r a n o t h e r l o c a t i o n f r o m w h i c h t h e c o n f i g u r a t i o n f i l e o r i g i n a t e d ( f o r e x a m p l e , a G i t H u b r e p o s i t o r y o r l o c a l l y o n y o u r d e v i c e ) . < h f o p t i o n s i d = " c o n f i g - f i l e " > < h f o p t i o n i d = " H u b c o n f i g u r a t i o n f i l e " > > [ ! T I P ] > T h e [ f r o m _ s i n g l e _ f i l e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / s i n g l e _ f i l e # d i f f u s e r s . l o a d e r s . F r o m S i n g l e F i l e M i x i n . f r o m _ s i n g l e _ f i l e ) m e t h o d a u t o m a t i c a l l y m a p s t h e c h e c k p o i n t t o t h e a p p r o p r i a t e m o d e l r e p o s i t o r y , b u t t h e r e a r e c a s e s w h e r e i t i s u s e f u l t o u s e t h e ` c o n f i g ` p a r a m e t e r . F o r e x a m p l e , i f t h e m o d e l c o m p o n e n t s i n t h e c h e c k p o i n t a r e d i f f e r e n t f r o m t h e o r i g i n a l c h e c k p o i n t o r i f a c h e c k p o i n t d o e s n ' t h a v e t h e n e c e s s a r y m e t a d a t a t o c o r r e c t l y d e t e r m i n e t h e c o n f i g u r a t i o n t o u s e f o r t h e p i p e l i n e . T h e [ f r o m _ s i n g l e _ f i l e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / s i n g l e _ f i l e # d i f f u s e r s . l o a d e r s . F r o m S i n g l e F i l e M i x i n . f r o m _ s i n g l e _ f i l e ) m e t h o d a u t o m a t i c a l l y d e t e r m i n e s t h e c o n f i g u r a t i o n t o u s e f r o m t h e c o n f i g u r a t i o n f i l e i n t h e m o d e l r e p o s i t o r y . Y o u c o u l d a l s o e x p l i c i t l y s p e c i f y t h e c o n f i g u r a t i o n t o u s e b y p r o v i d i n g t h e r e p o s i t o r y i d t o t h e ` c o n f i g ` p a r a m e t e r . ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e c k p t _ p a t h = " h t t p s : / / h u g g i n g f a c e . c o / s e g m i n d / S S D - 1 B / b l o b / m a i n / S S D - 1 B . s a f e t e n s o r s " r e p o _ i d = " s e g m i n d / S S D - 1 B " p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ s i n g l e _ f i l e ( c k p t _ p a t h , c o n f i g = r e p o _ i d ) ` ` ` T h e m o d e l l o a d s t h e c o n f i g u r a t i o n f i l e f o r t h e [ U N e t ] ( h t t p s : / / h u g g i n g f a c e . c o / s e g m i n d / S S D - 1 B / b l o b / m a i n / u n e t / c o n f i g . j s o n ) , [ V A E ] ( h t t p s : / / h u g g i n g f a c e . c o / s e g m i n d / S S D - 1 B / b l o b / m a i n / v a e / c o n f i g . j s o n ) , a n d [ t e x t e n c o d e r ] ( h t t p s : / / h u g g i n g f a c e . c o / s e g m i n d / S S D - 1 B / b l o b / m a i n / t e x t _ e n c o d e r / c o n f i g . j s o n ) f r o m t h e i r r e s p e c t i v e s u b f o l d e r s i n t h e r e p o s i t o r y . < / h f o p t i o n > < h f o p t i o n i d = " o r i g i n a l c o n f i g u r a t i o n f i l e " > T h e [ f r o m _ s i n g l e _ f i l e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / s i n g l e _ f i l e # d i f f u s e r s . l o a d e r s . F r o m S i n g l e F i l e M i x i n . f r o m _ s i n g l e _ f i l e ) m e t h o d c a n a l s o l o a d t h e o r i g i n a l c o n f i g u r a t i o n f i l e o f a p i p e l i n e t h a t i s s t o r e d e l s e w h e r e . P a s s a l o c a l p a t h o r U R L o f t h e o r i g i n a l c o n f i g u r a t i o n f i l e t o t h e ` o r i g i n a l _ c o n f i g ` p a r a m e t e r . ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e c k p t _ p a t h = " h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 / b l o b / m a i n / s d _ x l _ b a s e _ 1 . 0 _ 0 . 9 v a e . s a f e t e n s o r s " o r i g i n a l _ c o n f i g = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / S t a b i l i t y - A I / g e n e r a t i v e - m o d e l s / m a i n / c o n f i g s / i n f e r e n c e / s d _ x l _ b a s e . y a m l " p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ s i n g l e _ f i l e ( c k p t _ p a t h , o r i g i n a l _ c o n f i g = o r i g i n a l _ c o n f i g ) ` ` ` > [ ! T I P ] > D i f f u s e r s a t t e m p t s t o i n f e r t h e p i p e l i n e c o m p o n e n t s b a s e d o n t h e t y p e s i g n a t u r e s o f t h e p i p e l i n e c l a s s w h e n y o u u s e ` o r i g i n a l _ c o n f i g ` w i t h ` l o c a l _ f i l e s _ o n l y = T r u e ` , i n s t e a d o f f e t c h i n g t h e c o n f i g u r a t i o n f i l e s f r o m t h e m o d e l r e p o s i t o r y o n t h e H u b . T h i s p r e v e n t s b a c k w a r d b r e a k i n g c h a n g e s i n c o d e t h a t c a n ' t c o n n e c t t o t h e i n t e r n e t t o f e t c h t h e n e c e s s a r y c o n f i g u r a t i o n f i l e s . > > T h i s i s n o t a s r e l i a b l e a s p r o v i d i n g a p a t h t o a l o c a l m o d e l r e p o s i t o r y w i t h t h e ` c o n f i g ` p a r a m e t e r , a n d m i g h t l e a d t o e r r o r s d u r i n g p i p e l i n e c o n f i g u r a t i o n . T o a v o i d e r r o r s , r u n t h e p i p e l i n e w i t h ` l o c a l _ f i l e s _ o n l y = F a l s e ` o n c e t o d o w n l o a d t h e a p p r o p r i a t e p i p e l i n e c o n f i g u r a t i o n f i l e s t o t h e l o c a l c a c h e . < / h f o p t i o n > < / h f o p t i o n s > W h i l e t h e c o n f i g u r a t i o n f i l e s s p e c i f y t h e p i p e l i n e o r m o d e l s d e f a u l t p a r a m e t e r s , y o u c a n o v e r r i d e t h e m b y p r o v i d i n g t h e p a r a m e t e r s d i r e c t l y t o t h e [ f r o m _ s i n g l e _ f i l e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / s i n g l e _ f i l e # d i f f u s e r s . l o a d e r s . F r o m S i n g l e F i l e M i x i n . f r o m _ s i n g l e _ f i l e ) m e t h o d . A n y p a r a m e t e r s u p p o r t e d b y t h e m o d e l o r p i p e l i n e c l a s s c a n b e c o n f i g u r e d i n t h i s w a y . < h f o p t i o n s i d = " o v e r r i d e " > < h f o p t i o n i d = " p i p e l i n e " > F o r e x a m p l e , t o s c a l e t h e i m a g e l a t e n t s i n [ S t a b l e D i f f u s i o n X L I n s t r u c t P i x 2 P i x P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / p i x 2 p i x # d i f f u s e r s . S t a b l e D i f f u s i o n X L I n s t r u c t P i x 2 P i x P i p e l i n e ) p a s s t h e ` i s _ c o s x l _ e d i t ` p a r a m e t e r . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L I n s t r u c t P i x 2 P i x P i p e l i n e c k p t _ p a t h = " h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / c o s x l / b l o b / m a i n / c o s x l _ e d i t . s a f e t e n s o r s " p i p e l i n e = S t a b l e D i f f u s i o n X L I n s t r u c t P i x 2 P i x P i p e l i n e . f r o m _ s i n g l e _ f i l e ( c k p t _ p a t h , c o n f i g = " d i f f u s e r s / s d x l - i n s t r u c t p i x 2 p i x - 7 6 8 " , i s _ c o s x l _ e d i t = T r u e ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " m o d e l " > F o r e x a m p l e , t o u p c a s t t h e a t t e n t i o n d i m e n s i o n s i n a [ U N e t 2 D C o n d i t i o n M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / u n e t 2 d - c o n d # d i f f u s e r s . U N e t 2 D C o n d i t i o n M o d e l ) p a s s t h e ` u p c a s t _ a t t e n t i o n ` p a r a m e t e r . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t U N e t 2 D C o n d i t i o n M o d e l c k p t _ p a t h = " h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 / b l o b / m a i n / s d _ x l _ b a s e _ 1 . 0 _ 0 . 9 v a e . s a f e t e n s o r s " m o d e l = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ s i n g l e _ f i l e ( c k p t _ p a t h , u p c a s t _ a t t e n t i o n = T r u e ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > # # # L o c a l f i l e s I n D i f f u s e r s > = v 0 . 2 8 . 0 , t h e [ f r o m _ s i n g l e _ f i l e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / s i n g l e _ f i l e # d i f f u s e r s . l o a d e r s . F r o m S i n g l e F i l e M i x i n . f r o m _ s i n g l e _ f i l e ) m e t h o d a t t e m p t s t o c o n f i g u r e a p i p e l i n e o r m o d e l b y i n f e r r i n g t h e m o d e l t y p e f r o m t h e k e y s i n t h e c h e c k p o i n t f i l e . T h e i n f e r r e d m o d e l t y p e i s u s e d t o d e t e r m i n e t h e a p p r o p r i a t e m o d e l r e p o s i t o r y o n t h e H u g g i n g F a c e H u b t o c o n f i g u r e t h e m o d e l o r p i p e l i n e . F o r e x a m p l e , a n y s i n g l e f i l e c h e c k p o i n t b a s e d o n t h e S t a b l e D i f f u s i o n X L b a s e m o d e l w i l l u s e t h e [ s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 ) m o d e l r e p o s i t o r y t o c o n f i g u r e t h e p i p e l i n e . B u t i f y o u ' r e w o r k i n g i n a n e n v i r o n m e n t w i t h r e s t r i c t e d i n t e r n e t a c c e s s , y o u s h o u l d d o w n l o a d t h e c o n f i g u r a t i o n f i l e s w i t h t h e [ s n a p s h o t _ d o w n l o a d ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / h u g g i n g f a c e _ h u b / m a i n / e n / p a c k a g e _ r e f e r e n c e / f i l e _ d o w n l o a d # h u g g i n g f a c e _ h u b . s n a p s h o t _ d o w n l o a d ) f u n c t i o n , a n d t h e m o d e l c h e c k p o i n t w i t h t h e [ h f _ h u b _ d o w n l o a d ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / h u g g i n g f a c e _ h u b / m a i n / e n / p a c k a g e _ r e f e r e n c e / f i l e _ d o w n l o a d # h u g g i n g f a c e _ h u b . h f _ h u b _ d o w n l o a d ) f u n c t i o n . B y d e f a u l t , t h e s e f i l e s a r e d o w n l o a d e d t o t h e H u g g i n g F a c e H u b [ c a c h e d i r e c t o r y ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / h u g g i n g f a c e _ h u b / e n / g u i d e s / m a n a g e - c a c h e ) , b u t y o u c a n s p e c i f y a p r e f e r r e d d i r e c t o r y t o d o w n l o a d t h e f i l e s t o w i t h t h e ` l o c a l _ d i r ` p a r a m e t e r . P a s s t h e c o n f i g u r a t i o n a n d c h e c k p o i n t p a t h s t o t h e [ f r o m _ s i n g l e _ f i l e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / s i n g l e _ f i l e # d i f f u s e r s . l o a d e r s . F r o m S i n g l e F i l e M i x i n . f r o m _ s i n g l e _ f i l e ) m e t h o d t o l o a d l o c a l l y . < h f o p t i o n s i d = " l o c a l " > < h f o p t i o n i d = " H u b c a c h e d i r e c t o r y " > ` ` ` p y t h o n f r o m h u g g i n g f a c e _ h u b i m p o r t h f _ h u b _ d o w n l o a d , s n a p s h o t _ d o w n l o a d m y _ l o c a l _ c h e c k p o i n t _ p a t h = h f _ h u b _ d o w n l o a d ( r e p o _ i d = " s e g m i n d / S S D - 1 B " , f i l e n a m e = " S S D - 1 B . s a f e t e n s o r s " ) m y _ l o c a l _ c o n f i g _ p a t h = s n a p s h o t _ d o w n l o a d ( r e p o _ i d = " s e g m i n d / S S D - 1 B " , a l l o w _ p a t t e r n s = [ " * . j s o n " , " * * / * . j s o n " , " * . t x t " , " * * / * . t x t " ] ) p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ s i n g l e _ f i l e ( m y _ l o c a l _ c h e c k p o i n t _ p a t h , c o n f i g = m y _ l o c a l _ c o n f i g _ p a t h , l o c a l _ f i l e s _ o n l y = T r u e ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " s p e c i f i c l o c a l d i r e c t o r y " > ` ` ` p y t h o n f r o m h u g g i n g f a c e _ h u b i m p o r t h f _ h u b _ d o w n l o a d , s n a p s h o t _ d o w n l o a d m y _ l o c a l _ c h e c k p o i n t _ p a t h = h f _ h u b _ d o w n l o a d ( r e p o _ i d = " s e g m i n d / S S D - 1 B " , f i l e n a m e = " S S D - 1 B . s a f e t e n s o r s " l o c a l _ d i r = " m y _ l o c a l _ c h e c k p o i n t s " ) m y _ l o c a l _ c o n f i g _ p a t h = s n a p s h o t _ d o w n l o a d ( r e p o _ i d = " s e g m i n d / S S D - 1 B " , a l l o w _ p a t t e r n s = [ " * . j s o n " , " * * / * . j s o n " , " * . t x t " , " * * / * . t x t " ] l o c a l _ d i r = " m y _ l o c a l _ c o n f i g " ) p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ s i n g l e _ f i l e ( m y _ l o c a l _ c h e c k p o i n t _ p a t h , c o n f i g = m y _ l o c a l _ c o n f i g _ p a t h , l o c a l _ f i l e s _ o n l y = T r u e ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > # # # # L o c a l f i l e s w i t h o u t s y m l i n k > [ ! T I P ] > I n h u g g i n g f a c e _ h u b > = v 0 . 2 3 . 0 , t h e ` l o c a l _ d i r _ u s e _ s y m l i n k s ` a r g u m e n t i s n ' t n e c e s s a r y f o r t h e [ h f _ h u b _ d o w n l o a d ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / h u g g i n g f a c e _ h u b / m a i n / e n / p a c k a g e _ r e f e r e n c e / f i l e _ d o w n l o a d # h u g g i n g f a c e _ h u b . h f _ h u b _ d o w n l o a d ) a n d [ s n a p s h o t _ d o w n l o a d ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / h u g g i n g f a c e _ h u b / m a i n / e n / p a c k a g e _ r e f e r e n c e / f i l e _ d o w n l o a d # h u g g i n g f a c e _ h u b . s n a p s h o t _ d o w n l o a d ) f u n c t i o n s . T h e [ f r o m _ s i n g l e _ f i l e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / s i n g l e _ f i l e # d i f f u s e r s . l o a d e r s . F r o m S i n g l e F i l e M i x i n . f r o m _ s i n g l e _ f i l e ) m e t h o d r e l i e s o n t h e [ h u g g i n g f a c e _ h u b ] ( h t t p s : / / h f . c o / d o c s / h u g g i n g f a c e _ h u b / i n d e x ) c a c h i n g m e c h a n i s m t o f e t c h a n d s t o r e c h e c k p o i n t s a n d c o n f i g u r a t i o n f i l e s f o r m o d e l s a n d p i p e l i n e s . I f y o u ' r e w o r k i n g w i t h a f i l e s y s t e m t h a t d o e s n o t s u p p o r t s y m l i n k i n g , y o u s h o u l d d o w n l o a d t h e c h e c k p o i n t f i l e t o a l o c a l d i r e c t o r y f i r s t , a n d d i s a b l e s y m l i n k i n g w i t h t h e ` l o c a l _ d i r _ u s e _ s y m l i n k = F a l s e ` p a r a m e t e r i n t h e [ h f _ h u b _ d o w n l o a d ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / h u g g i n g f a c e _ h u b / m a i n / e n / p a c k a g e _ r e f e r e n c e / f i l e _ d o w n l o a d # h u g g i n g f a c e _ h u b . h f _ h u b _ d o w n l o a d ) f u n c t i o n a n d [ s n a p s h o t _ d o w n l o a d ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / h u g g i n g f a c e _ h u b / m a i n / e n / p a c k a g e _ r e f e r e n c e / f i l e _ d o w n l o a d # h u g g i n g f a c e _ h u b . s n a p s h o t _ d o w n l o a d ) f u n c t i o n s . ` ` ` p y t h o n f r o m h u g g i n g f a c e _ h u b i m p o r t h f _ h u b _ d o w n l o a d , s n a p s h o t _ d o w n l o a d m y _ l o c a l _ c h e c k p o i n t _ p a t h = h f _ h u b _ d o w n l o a d ( r e p o _ i d = " s e g m i n d / S S D - 1 B " , f i l e n a m e = " S S D - 1 B . s a f e t e n s o r s " l o c a l _ d i r = " m y _ l o c a l _ c h e c k p o i n t s " , l o c a l _ d i r _ u s e _ s y m l i n k s = F a l s e ) p r i n t ( " M y l o c a l c h e c k p o i n t : " , m y _ l o c a l _ c h e c k p o i n t _ p a t h ) m y _ l o c a l _ c o n f i g _ p a t h = s n a p s h o t _ d o w n l o a d ( r e p o _ i d = " s e g m i n d / S S D - 1 B " , a l l o w _ p a t t e r n s = [ " * . j s o n " , " * * / * . j s o n " , " * . t x t " , " * * / * . t x t " ] l o c a l _ d i r _ u s e _ s y m l i n k s = F a l s e , ) p r i n t ( " M y l o c a l c o n f i g : " , m y _ l o c a l _ c o n f i g _ p a t h ) ` ` ` T h e n y o u c a n p a s s t h e l o c a l p a t h s t o t h e ` p r e t r a i n e d _ m o d e l _ l i n k _ o r _ p a t h ` a n d ` c o n f i g ` p a r a m e t e r s . ` ` ` p y t h o n p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ s i n g l e _ f i l e ( m y _ l o c a l _ c h e c k p o i n t _ p a t h , c o n f i g = m y _ l o c a l _ c o n f i g _ p a t h , l o c a l _ f i l e s _ o n l y = T r u e ) ` ` ` # T r a j e c t o r y C o n s i s t e n c y D i s t i l l a t i o n - L o R A T r a j e c t o r y C o n s i s t e n c y D i s t i l l a t i o n ( T C D ) e n a b l e s a m o d e l t o g e n e r a t e h i g h e r q u a l i t y a n d m o r e d e t a i l e d i m a g e s w i t h f e w e r s t e p s . M o r e o v e r , o w i n g t o t h e e f f e c t i v e e r r o r m i t i g a t i o n d u r i n g t h e d i s t i l l a t i o n p r o c e s s , T C D d e m o n s t r a t e s s u p e r i o r p e r f o r m a n c e e v e n u n d e r c o n d i t i o n s o f l a r g e i n f e r e n c e s t e p s . T h e m a j o r a d v a n t a g e s o f T C D a r e : - B e t t e r t h a n T e a c h e r : T C D d e m o n s t r a t e s s u p e r i o r g e n e r a t i v e q u a l i t y a t b o t h s m a l l a n d l a r g e i n f e r e n c e s t e p s a n d e x c e e d s t h e p e r f o r m a n c e o f [ D P M - S o l v e r + + ( 2 S ) ] ( . . / . . / a p i / s c h e d u l e r s / m u l t i s t e p _ d p m _ s o l v e r ) w i t h S t a b l e D i f f u s i o n X L ( S D X L ) . T h e r e i s n o a d d i t i o n a l d i s c r i m i n a t o r o r L P I P S s u p e r v i s i o n i n c l u d e d d u r i n g T C D t r a i n i n g . - F l e x i b l e I n f e r e n c e S t e p s : T h e i n f e r e n c e s t e p s f o r T C D s a m p l i n g c a n b e f r e e l y a d j u s t e d w i t h o u t a d v e r s e l y a f f e c t i n g t h e i m a g e q u a l i t y . - F r e e l y c h a n g e d e t a i l l e v e l : D u r i n g i n f e r e n c e , t h e l e v e l o f d e t a i l i n t h e i m a g e c a n b e a d j u s t e d w i t h a s i n g l e h y p e r p a r a m e t e r , * g a m m a * . > [ ! T I P ] > F o r m o r e t e c h n i c a l d e t a i l s o f T C D , p l e a s e r e f e r t o t h e [ p a p e r ] ( h t t p s : / / a r x i v . o r g / a b s / 2 4 0 2 . 1 9 1 5 9 ) o r o f f i c i a l [ p r o j e c t p a g e ] ( h t t p s : / / m h h 0 3 1 8 . g i t h u b . i o / t c d / ) ) . F o r l a r g e m o d e l s l i k e S D X L , T C D i s t r a i n e d w i t h [ L o R A ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / p e f t / c o n c e p t u a l _ g u i d e s / a d a p t e r # l o w - r a n k - a d a p t a t i o n - l o r a ) t o r e d u c e m e m o r y u s a g e . T h i s i s a l s o u s e f u l b e c a u s e y o u c a n r e u s e L o R A s b e t w e e n d i f f e r e n t f i n e t u n e d m o d e l s , a s l o n g a s t h e y s h a r e t h e s a m e b a s e m o d e l , w i t h o u t f u r t h e r t r a i n i n g . T h i s g u i d e w i l l s h o w y o u h o w t o p e r f o r m i n f e r e n c e w i t h T C D - L o R A s f o r a v a r i e t y o f t a s k s l i k e t e x t - t o - i m a g e a n d i n p a i n t i n g , a s w e l l a s h o w y o u c a n e a s i l y c o m b i n e T C D - L o R A s w i t h o t h e r a d a p t e r s . C h o o s e o n e o f t h e s u p p o r t e d b a s e m o d e l a n d i t ' s c o r r e s p o n d i n g T C D - L o R A c h e c k p o i n t f r o m t h e t a b l e b e l o w t o g e t s t a r t e d . | B a s e m o d e l | T C D - L o R A c h e c k p o i n t | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | [ s t a b l e - d i f f u s i o n - v 1 - 5 ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ) | [ T C D - S D 1 5 ] ( h t t p s : / / h u g g i n g f a c e . c o / h 1 t / T C D - S D 1 5 - L o R A ) | | [ s t a b l e - d i f f u s i o n - 2 - 1 - b a s e ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - 1 - b a s e ) | [ T C D - S D 2 1 - b a s e ] ( h t t p s : / / h u g g i n g f a c e . c o / h 1 t / T C D - S D 2 1 - b a s e - L o R A ) | | [ s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 ) | [ T C D - S D X L ] ( h t t p s : / / h u g g i n g f a c e . c o / h 1 t / T C D - S D X L - L o R A ) | M a k e s u r e y o u h a v e [ P E F T ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / p e f t ) i n s t a l l e d f o r b e t t e r L o R A s u p p o r t . ` ` ` b a s h p i p i n s t a l l - U p e f t ` ` ` # # G e n e r a l t a s k s I n t h i s g u i d e , l e t ' s u s e t h e [ S t a b l e D i f f u s i o n X L P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L P i p e l i n e ) a n d t h e [ T C D S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / t c d # d i f f u s e r s . T C D S c h e d u l e r ) . U s e t h e [ l o a d _ l o r a _ w e i g h t s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . S t a b l e D i f f u s i o n L o r a L o a d e r M i x i n . l o a d _ l o r a _ w e i g h t s ) m e t h o d t o l o a d t h e S D X L - c o m p a t i b l e T C D - L o R A w e i g h t s . A f e w t i p s t o k e e p i n m i n d f o r T C D - L o R A i n f e r e n c e a r e t o : - K e e p t h e ` n u m _ i n f e r e n c e _ s t e p s ` b e t w e e n 4 a n d 5 0 - S e t ` e t a ` ( u s e d t o c o n t r o l s t o c h a s t i c i t y a t e a c h s t e p ) b e t w e e n 0 a n d 1 . Y o u s h o u l d u s e a h i g h e r ` e t a ` w h e n i n c r e a s i n g t h e n u m b e r o f i n f e r e n c e s t e p s , b u t t h e d o w n s i d e i s t h a t a l a r g e r ` e t a ` i n [ T C D S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / t c d # d i f f u s e r s . T C D S c h e d u l e r ) l e a d s t o b l u r r i e r i m a g e s . A v a l u e o f 0 . 3 i s r e c o m m e n d e d t o p r o d u c e g o o d r e s u l t s . < h f o p t i o n s i d = " t a s k s " > < h f o p t i o n i d = " t e x t - t o - i m a g e " > ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e , T C D S c h e d u l e r d e v i c e = " c u d a " b a s e _ m o d e l _ i d = " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " t c d _ l o r a _ i d = " h 1 t / T C D - S D X L - L o R A " p i p e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( b a s e _ m o d e l _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) . t o ( d e v i c e ) p i p e . s c h e d u l e r = T C D S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . l o a d _ l o r a _ w e i g h t s ( t c d _ l o r a _ i d ) p i p e . f u s e _ l o r a ( ) p r o m p t = " P a i n t i n g o f t h e o r a n g e c a t O t t o v o n G a r f i e l d , C o u n t o f B i s m a r c k - S c h รถ n h a u s e n , D u k e o f L a u e n b u r g , M i n i s t e r - P r e s i d e n t o f P r u s s i a . D e p i c t e d w e a r i n g a P r u s s i a n P i c k e l h a u b e a n d e a t i n g h i s f a v o r i t e m e a l - l a s a g n a . " i m a g e = p i p e ( p r o m p t = p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 4 , g u i d a n c e _ s c a l e = 0 , e t a = 0 . 3 , g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = d e v i c e ) . m a n u a l _ s e e d ( 0 ) , ) . i m a g e s [ 0 ] ` ` ` ! [ ] ( h t t p s : / / g i t h u b . c o m / j a b i r - z h e n g / T C D / r a w / m a i n / a s s e t s / d e m o _ i m a g e . p n g ) < / h f o p t i o n > < h f o p t i o n i d = " i n p a i n t i n g " > ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g , T C D S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d d e v i c e = " c u d a " b a s e _ m o d e l _ i d = " d i f f u s e r s / s t a b l e - d i f f u s i o n - x l - 1 . 0 - i n p a i n t i n g - 0 . 1 " t c d _ l o r a _ i d = " h 1 t / T C D - S D X L - L o R A " p i p e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( b a s e _ m o d e l _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) . t o ( d e v i c e ) p i p e . s c h e d u l e r = T C D S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . l o a d _ l o r a _ w e i g h t s ( t c d _ l o r a _ i d ) p i p e . f u s e _ l o r a ( ) i m g _ u r l = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / C o m p V i s / l a t e n t - d i f f u s i o n / m a i n / d a t a / i n p a i n t i n g _ e x a m p l e s / o v e r t u r e - c r e a t i o n s - 5 s I 6 f Q g Y I u o . p n g " m a s k _ u r l = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / C o m p V i s / l a t e n t - d i f f u s i o n / m a i n / d a t a / i n p a i n t i n g _ e x a m p l e s / o v e r t u r e - c r e a t i o n s - 5 s I 6 f Q g Y I u o _ m a s k . p n g " i n i t _ i m a g e = l o a d _ i m a g e ( i m g _ u r l ) . r e s i z e ( ( 1 0 2 4 , 1 0 2 4 ) ) m a s k _ i m a g e = l o a d _ i m a g e ( m a s k _ u r l ) . r e s i z e ( ( 1 0 2 4 , 1 0 2 4 ) ) p r o m p t = " a t i g e r s i t t i n g o n a p a r k b e n c h " i m a g e = p i p e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e , n u m _ i n f e r e n c e _ s t e p s = 8 , g u i d a n c e _ s c a l e = 0 , e t a = 0 . 3 , s t r e n g t h = 0 . 9 9 , # m a k e s u r e t o u s e ` s t r e n g t h ` b e l o w 1 . 0 g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = d e v i c e ) . m a n u a l _ s e e d ( 0 ) , ) . i m a g e s [ 0 ] g r i d _ i m a g e = m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` ! [ ] ( h t t p s : / / g i t h u b . c o m / j a b i r - z h e n g / T C D / r a w / m a i n / a s s e t s / i n p a i n t i n g _ t c d . p n g ) < / h f o p t i o n > < / h f o p t i o n s > # # C o m m u n i t y m o d e l s T C D - L o R A a l s o w o r k s w i t h m a n y c o m m u n i t y f i n e t u n e d m o d e l s a n d p l u g i n s . F o r e x a m p l e , l o a d t h e [ a n i m a g i n e - x l - 3 . 0 ] ( h t t p s : / / h u g g i n g f a c e . c o / c a g l i o s t r o l a b / a n i m a g i n e - x l - 3 . 0 ) c h e c k p o i n t w h i c h i s a c o m m u n i t y f i n e t u n e d v e r s i o n o f S D X L f o r g e n e r a t i n g a n i m e i m a g e s . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e , T C D S c h e d u l e r d e v i c e = " c u d a " b a s e _ m o d e l _ i d = " c a g l i o s t r o l a b / a n i m a g i n e - x l - 3 . 0 " t c d _ l o r a _ i d = " h 1 t / T C D - S D X L - L o R A " p i p e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( b a s e _ m o d e l _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) . t o ( d e v i c e ) p i p e . s c h e d u l e r = T C D S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . l o a d _ l o r a _ w e i g h t s ( t c d _ l o r a _ i d ) p i p e . f u s e _ l o r a ( ) p r o m p t = " A m a n , c l a d i n a m e t i c u l o u s l y t a i l o r e d m i l i t a r y u n i f o r m , s t a n d s w i t h u n w a v e r i n g r e s o l v e . T h e u n i f o r m b o a s t s i n t r i c a t e d e t a i l s , a n d h i s e y e s g l e a m w i t h d e t e r m i n a t i o n . S t r a n d s o f v i b r a n t , w i n d s w e p t h a i r p e e k o u t f r o m b e n e a t h t h e b r i m o f h i s c a p . " i m a g e = p i p e ( p r o m p t = p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 8 , g u i d a n c e _ s c a l e = 0 , e t a = 0 . 3 , g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = d e v i c e ) . m a n u a l _ s e e d ( 0 ) , ) . i m a g e s [ 0 ] ` ` ` ! [ ] ( h t t p s : / / g i t h u b . c o m / j a b i r - z h e n g / T C D / r a w / m a i n / a s s e t s / a n i m a g i n e _ x l . p n g ) T C D - L o R A a l s o s u p p o r t s o t h e r L o R A s t r a i n e d o n d i f f e r e n t s t y l e s . F o r e x a m p l e , l e t ' s l o a d t h e [ T h e L a s t B e n / P a p e r c u t _ S D X L ] ( h t t p s : / / h u g g i n g f a c e . c o / T h e L a s t B e n / P a p e r c u t _ S D X L ) L o R A a n d f u s e i t w i t h t h e T C D - L o R A w i t h t h e ` ~ l o a d e r s . U N e t 2 D C o n d i t i o n L o a d e r s M i x i n . s e t _ a d a p t e r s ` m e t h o d . > [ ! T I P ] > C h e c k o u t t h e [ M e r g e L o R A s ] ( m e r g e _ l o r a s ) g u i d e t o l e a r n m o r e a b o u t e f f i c i e n t m e r g i n g m e t h o d s . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e f r o m s c h e d u l i n g _ t c d i m p o r t T C D S c h e d u l e r d e v i c e = " c u d a " b a s e _ m o d e l _ i d = " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " t c d _ l o r a _ i d = " h 1 t / T C D - S D X L - L o R A " s t y l e d _ l o r a _ i d = " T h e L a s t B e n / P a p e r c u t _ S D X L " p i p e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( b a s e _ m o d e l _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) . t o ( d e v i c e ) p i p e . s c h e d u l e r = T C D S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . l o a d _ l o r a _ w e i g h t s ( t c d _ l o r a _ i d , a d a p t e r _ n a m e = " t c d " ) p i p e . l o a d _ l o r a _ w e i g h t s ( s t y l e d _ l o r a _ i d , a d a p t e r _ n a m e = " s t y l e " ) p i p e . s e t _ a d a p t e r s ( [ " t c d " , " s t y l e " ] , a d a p t e r _ w e i g h t s = [ 1 . 0 , 1 . 0 ] ) p r o m p t = " p a p e r c u t o f a w i n t e r m o u n t a i n , s n o w " i m a g e = p i p e ( p r o m p t = p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 4 , g u i d a n c e _ s c a l e = 0 , e t a = 0 . 3 , g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = d e v i c e ) . m a n u a l _ s e e d ( 0 ) , ) . i m a g e s [ 0 ] ` ` ` ! [ ] ( h t t p s : / / g i t h u b . c o m / j a b i r - z h e n g / T C D / r a w / m a i n / a s s e t s / s t y l e d _ l o r a . p n g ) # # A d a p t e r s T C D - L o R A i s v e r y v e r s a t i l e , a n d i t c a n b e c o m b i n e d w i t h o t h e r a d a p t e r t y p e s l i k e C o n t r o l N e t s , I P - A d a p t e r , a n d A n i m a t e D i f f . < h f o p t i o n s i d = " a d a p t e r s " > < h f o p t i o n i d = " C o n t r o l N e t " > # # # D e p t h C o n t r o l N e t ` ` ` p y t h o n i m p o r t t o r c h i m p o r t n u m p y a s n p f r o m P I L i m p o r t I m a g e f r o m t r a n s f o r m e r s i m p o r t D P T I m a g e P r o c e s s o r , D P T F o r D e p t h E s t i m a t i o n f r o m d i f f u s e r s i m p o r t C o n t r o l N e t M o d e l , S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d f r o m s c h e d u l i n g _ t c d i m p o r t T C D S c h e d u l e r d e v i c e = " c u d a " d e p t h _ e s t i m a t o r = D P T F o r D e p t h E s t i m a t i o n . f r o m _ p r e t r a i n e d ( " I n t e l / d p t - h y b r i d - m i d a s " ) . t o ( d e v i c e ) f e a t u r e _ e x t r a c t o r = D P T I m a g e P r o c e s s o r . f r o m _ p r e t r a i n e d ( " I n t e l / d p t - h y b r i d - m i d a s " ) d e f g e t _ d e p t h _ m a p ( i m a g e ) : i m a g e = f e a t u r e _ e x t r a c t o r ( i m a g e s = i m a g e , r e t u r n _ t e n s o r s = " p t " ) . p i x e l _ v a l u e s . t o ( d e v i c e ) w i t h t o r c h . n o _ g r a d ( ) , t o r c h . a u t o c a s t ( d e v i c e ) : d e p t h _ m a p = d e p t h _ e s t i m a t o r ( i m a g e ) . p r e d i c t e d _ d e p t h d e p t h _ m a p = t o r c h . n n . f u n c t i o n a l . i n t e r p o l a t e ( d e p t h _ m a p . u n s q u e e z e ( 1 ) , s i z e = ( 1 0 2 4 , 1 0 2 4 ) , m o d e = " b i c u b i c " , a l i g n _ c o r n e r s = F a l s e , ) d e p t h _ m i n = t o r c h . a m i n ( d e p t h _ m a p , d i m = [ 1 , 2 , 3 ] , k e e p d i m = T r u e ) d e p t h _ m a x = t o r c h . a m a x ( d e p t h _ m a p , d i m = [ 1 , 2 , 3 ] , k e e p d i m = T r u e ) d e p t h _ m a p = ( d e p t h _ m a p - d e p t h _ m i n ) / ( d e p t h _ m a x - d e p t h _ m i n ) i m a g e = t o r c h . c a t ( [ d e p t h _ m a p ] * 3 , d i m = 1 ) i m a g e = i m a g e . p e r m u t e ( 0 , 2 , 3 , 1 ) . c p u ( ) . n u m p y ( ) [ 0 ] i m a g e = I m a g e . f r o m a r r a y ( ( i m a g e * 2 5 5 . 0 ) . c l i p ( 0 , 2 5 5 ) . a s t y p e ( n p . u i n t 8 ) ) r e t u r n i m a g e b a s e _ m o d e l _ i d = " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " c o n t r o l n e t _ i d = " d i f f u s e r s / c o n t r o l n e t - d e p t h - s d x l - 1 . 0 " t c d _ l o r a _ i d = " h 1 t / T C D - S D X L - L o R A " c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( c o n t r o l n e t _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) p i p e = S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( b a s e _ m o d e l _ i d , c o n t r o l n e t = c o n t r o l n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p i p e . s c h e d u l e r = T C D S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . l o a d _ l o r a _ w e i g h t s ( t c d _ l o r a _ i d ) p i p e . f u s e _ l o r a ( ) p r o m p t = " s t o r m t r o o p e r l e c t u r e , p h o t o r e a l i s t i c " i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / l l l y a s v i e l / s d - c o n t r o l n e t - d e p t h / r e s o l v e / m a i n / i m a g e s / s t o r m t r o o p e r . p n g " ) d e p t h _ i m a g e = g e t _ d e p t h _ m a p ( i m a g e ) c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e = 0 . 5 # r e c o m m e n d e d f o r g o o d g e n e r a l i z a t i o n i m a g e = p i p e ( p r o m p t , i m a g e = d e p t h _ i m a g e , n u m _ i n f e r e n c e _ s t e p s = 4 , g u i d a n c e _ s c a l e = 0 , e t a = 0 . 3 , c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e = c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e , g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = d e v i c e ) . m a n u a l _ s e e d ( 0 ) , ) . i m a g e s [ 0 ] g r i d _ i m a g e = m a k e _ i m a g e _ g r i d ( [ d e p t h _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` ! [ ] ( h t t p s : / / g i t h u b . c o m / j a b i r - z h e n g / T C D / r a w / m a i n / a s s e t s / c o n t r o l n e t _ d e p t h _ t c d . p n g ) # # # C a n n y C o n t r o l N e t ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t C o n t r o l N e t M o d e l , S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d f r o m s c h e d u l i n g _ t c d i m p o r t T C D S c h e d u l e r d e v i c e = " c u d a " b a s e _ m o d e l _ i d = " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " c o n t r o l n e t _ i d = " d i f f u s e r s / c o n t r o l n e t - c a n n y - s d x l - 1 . 0 " t c d _ l o r a _ i d = " h 1 t / T C D - S D X L - L o R A " c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( c o n t r o l n e t _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) p i p e = S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( b a s e _ m o d e l _ i d , c o n t r o l n e t = c o n t r o l n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p i p e . s c h e d u l e r = T C D S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . l o a d _ l o r a _ w e i g h t s ( t c d _ l o r a _ i d ) p i p e . f u s e _ l o r a ( ) p r o m p t = " u l t r a r e a l i s t i c s h o t o f a f u r r y b l u e b i r d " c a n n y _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / s d _ c o n t r o l n e t / b i r d _ c a n n y . p n g " ) c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e = 0 . 5 # r e c o m m e n d e d f o r g o o d g e n e r a l i z a t i o n i m a g e = p i p e ( p r o m p t , i m a g e = c a n n y _ i m a g e , n u m _ i n f e r e n c e _ s t e p s = 4 , g u i d a n c e _ s c a l e = 0 , e t a = 0 . 3 , c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e = c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e , g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = d e v i c e ) . m a n u a l _ s e e d ( 0 ) , ) . i m a g e s [ 0 ] g r i d _ i m a g e = m a k e _ i m a g e _ g r i d ( [ c a n n y _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` ! [ ] ( h t t p s : / / g i t h u b . c o m / j a b i r - z h e n g / T C D / r a w / m a i n / a s s e t s / c o n t r o l n e t _ c a n n y _ t c d . p n g ) < T i p > T h e i n f e r e n c e p a r a m e t e r s i n t h i s e x a m p l e m i g h t n o t w o r k f o r a l l e x a m p l e s , s o w e r e c o m m e n d y o u t o t r y d i f f e r e n t v a l u e s f o r ` n u m _ i n f e r e n c e _ s t e p s ` , ` g u i d a n c e _ s c a l e ` , ` c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e ` a n d ` c r o s s _ a t t e n t i o n _ k w a r g s ` p a r a m e t e r s a n d c h o o s e t h e b e s t o n e . < / T i p > < / h f o p t i o n > < h f o p t i o n i d = " I P - A d a p t e r " > T h i s e x a m p l e s h o w s h o w t o u s e t h e T C D - L o R A w i t h t h e [ I P - A d a p t e r ] ( h t t p s : / / g i t h u b . c o m / t e n c e n t - a i l a b / I P - A d a p t e r / t r e e / m a i n ) a n d S D X L . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d f r o m i p _ a d a p t e r i m p o r t I P A d a p t e r X L f r o m s c h e d u l i n g _ t c d i m p o r t T C D S c h e d u l e r d e v i c e = " c u d a " b a s e _ m o d e l _ p a t h = " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " i m a g e _ e n c o d e r _ p a t h = " s d x l _ m o d e l s / i m a g e _ e n c o d e r " i p _ c k p t = " s d x l _ m o d e l s / i p - a d a p t e r _ s d x l . b i n " t c d _ l o r a _ i d = " h 1 t / T C D - S D X L - L o R A " p i p e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( b a s e _ m o d e l _ p a t h , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e . s c h e d u l e r = T C D S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . l o a d _ l o r a _ w e i g h t s ( t c d _ l o r a _ i d ) p i p e . f u s e _ l o r a ( ) i p _ m o d e l = I P A d a p t e r X L ( p i p e , i m a g e _ e n c o d e r _ p a t h , i p _ c k p t , d e v i c e ) r e f _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / t e n c e n t - a i l a b / I P - A d a p t e r / m a i n / a s s e t s / i m a g e s / w o m a n . p n g " ) . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) p r o m p t = " b e s t q u a l i t y , h i g h q u a l i t y , w e a r i n g s u n g l a s s e s " i m a g e = i p _ m o d e l . g e n e r a t e ( p i l _ i m a g e = r e f _ i m a g e , p r o m p t = p r o m p t , s c a l e = 0 . 5 , n u m _ s a m p l e s = 1 , n u m _ i n f e r e n c e _ s t e p s = 4 , g u i d a n c e _ s c a l e = 0 , e t a = 0 . 3 , s e e d = 0 , ) [ 0 ] g r i d _ i m a g e = m a k e _ i m a g e _ g r i d ( [ r e f _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` ! [ ] ( h t t p s : / / g i t h u b . c o m / j a b i r - z h e n g / T C D / r a w / m a i n / a s s e t s / i p _ a d a p t e r . p n g ) < / h f o p t i o n > < h f o p t i o n i d = " A n i m a t e D i f f " > ` A n i m a t e D i f f ` a l l o w s a n i m a t i n g i m a g e s u s i n g S t a b l e D i f f u s i o n m o d e l s . T C D - L o R A c a n s u b s t a n t i a l l y a c c e l e r a t e t h e p r o c e s s w i t h o u t d e g r a d i n g i m a g e q u a l i t y . T h e q u a l i t y o f a n i m a t i o n w i t h T C D - L o R A a n d A n i m a t e D i f f h a s a m o r e l u c i d o u t c o m e . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t M o t i o n A d a p t e r , A n i m a t e D i f f P i p e l i n e , D D I M S c h e d u l e r f r o m s c h e d u l i n g _ t c d i m p o r t T C D S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f a d a p t e r = M o t i o n A d a p t e r . f r o m _ p r e t r a i n e d ( " g u o y w w / a n i m a t e d i f f - m o t i o n - a d a p t e r - v 1 - 5 " ) p i p e = A n i m a t e D i f f P i p e l i n e . f r o m _ p r e t r a i n e d ( " f r a n k j o s h u a / t o o n y o u _ b e t a 6 " , m o t i o n _ a d a p t e r = a d a p t e r , ) . t o ( " c u d a " ) # s e t T C D S c h e d u l e r p i p e . s c h e d u l e r = T C D S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) # l o a d T C D L o R A p i p e . l o a d _ l o r a _ w e i g h t s ( " h 1 t / T C D - S D 1 5 - L o R A " , a d a p t e r _ n a m e = " t c d " ) p i p e . l o a d _ l o r a _ w e i g h t s ( " g u o y w w / a n i m a t e d i f f - m o t i o n - l o r a - z o o m - i n " , w e i g h t _ n a m e = " d i f f u s i o n _ p y t o r c h _ m o d e l . s a f e t e n s o r s " , a d a p t e r _ n a m e = " m o t i o n - l o r a " ) p i p e . s e t _ a d a p t e r s ( [ " t c d " , " m o t i o n - l o r a " ] , a d a p t e r _ w e i g h t s = [ 1 . 0 , 1 . 2 ] ) p r o m p t = " b e s t q u a l i t y , m a s t e r p i e c e , 1 g i r l , l o o k i n g a t v i e w e r , b l u r r y b a c k g r o u n d , u p p e r b o d y , c o n t e m p o r a r y , d r e s s " g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) f r a m e s = p i p e ( p r o m p t = p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 5 , g u i d a n c e _ s c a l e = 0 , c r o s s _ a t t e n t i o n _ k w a r g s = { " s c a l e " : 1 } , n u m _ f r a m e s = 2 4 , e t a = 0 . 3 , g e n e r a t o r = g e n e r a t o r ) . f r a m e s [ 0 ] e x p o r t _ t o _ g i f ( f r a m e s , " a n i m a t i o n . g i f " ) ` ` ` ! [ ] ( h t t p s : / / g i t h u b . c o m / j a b i r - z h e n g / T C D / r a w / m a i n / a s s e t s / a n i m a t i o n _ e x a m p l e . g i f ) < / h f o p t i o n > < / h f o p t i o n s > # I P - A d a p t e r [ I P - A d a p t e r ] ( h t t p s : / / h f . c o / p a p e r s / 2 3 0 8 . 0 6 7 2 1 ) i s a n i m a g e p r o m p t a d a p t e r t h a t c a n b e p l u g g e d i n t o d i f f u s i o n m o d e l s t o e n a b l e i m a g e p r o m p t i n g w i t h o u t a n y c h a n g e s t o t h e u n d e r l y i n g m o d e l . F u r t h e r m o r e , t h i s a d a p t e r c a n b e r e u s e d w i t h o t h e r m o d e l s f i n e t u n e d f r o m t h e s a m e b a s e m o d e l a n d i t c a n b e c o m b i n e d w i t h o t h e r a d a p t e r s l i k e [ C o n t r o l N e t ] ( . . / u s i n g - d i f f u s e r s / c o n t r o l n e t ) . T h e k e y i d e a b e h i n d I P - A d a p t e r i s t h e * d e c o u p l e d c r o s s - a t t e n t i o n * m e c h a n i s m w h i c h a d d s a s e p a r a t e c r o s s - a t t e n t i o n l a y e r j u s t f o r i m a g e f e a t u r e s i n s t e a d o f u s i n g t h e s a m e c r o s s - a t t e n t i o n l a y e r f o r b o t h t e x t a n d i m a g e f e a t u r e s . T h i s a l l o w s t h e m o d e l t o l e a r n m o r e i m a g e - s p e c i f i c f e a t u r e s . > [ ! T I P ] > L e a r n h o w t o l o a d a n I P - A d a p t e r i n t h e [ L o a d a d a p t e r s ] ( . . / u s i n g - d i f f u s e r s / l o a d i n g _ a d a p t e r s # i p - a d a p t e r ) g u i d e , a n d m a k e s u r e y o u c h e c k o u t t h e [ I P - A d a p t e r P l u s ] ( . . / u s i n g - d i f f u s e r s / l o a d i n g _ a d a p t e r s # i p - a d a p t e r - p l u s ) s e c t i o n w h i c h r e q u i r e s m a n u a l l y l o a d i n g t h e i m a g e e n c o d e r . T h i s g u i d e w i l l w a l k y o u t h r o u g h u s i n g I P - A d a p t e r f o r v a r i o u s t a s k s a n d u s e c a s e s . # # G e n e r a l t a s k s L e t ' s t a k e a l o o k a t h o w t o u s e I P - A d a p t e r ' s i m a g e p r o m p t i n g c a p a b i l i t i e s w i t h t h e [ S t a b l e D i f f u s i o n X L P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L P i p e l i n e ) f o r t a s k s l i k e t e x t - t o - i m a g e , i m a g e - t o - i m a g e , a n d i n p a i n t i n g . W e a l s o e n c o u r a g e y o u t o t r y o u t o t h e r p i p e l i n e s s u c h a s S t a b l e D i f f u s i o n , L C M - L o R A , C o n t r o l N e t , T 2 I - A d a p t e r , o r A n i m a t e D i f f ! I n a l l t h e f o l l o w i n g e x a m p l e s , y o u ' l l s e e t h e [ s e t _ i p _ a d a p t e r _ s c a l e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / i p _ a d a p t e r # d i f f u s e r s . l o a d e r s . I P A d a p t e r M i x i n . s e t _ i p _ a d a p t e r _ s c a l e ) m e t h o d . T h i s m e t h o d c o n t r o l s t h e a m o u n t o f t e x t o r i m a g e c o n d i t i o n i n g t o a p p l y t o t h e m o d e l . A v a l u e o f ` 1 . 0 ` m e a n s t h e m o d e l i s o n l y c o n d i t i o n e d o n t h e i m a g e p r o m p t . L o w e r i n g t h i s v a l u e e n c o u r a g e s t h e m o d e l t o p r o d u c e m o r e d i v e r s e i m a g e s , b u t t h e y m a y n o t b e a s a l i g n e d w i t h t h e i m a g e p r o m p t . T y p i c a l l y , a v a l u e o f ` 0 . 5 ` a c h i e v e s a g o o d b a l a n c e b e t w e e n t h e t w o p r o m p t t y p e s a n d p r o d u c e s g o o d r e s u l t s . > [ ! T I P ] > I n t h e e x a m p l e s b e l o w , t r y a d d i n g ` l o w _ c p u _ m e m _ u s a g e = T r u e ` t o t h e [ l o a d _ i p _ a d a p t e r ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / i p _ a d a p t e r # d i f f u s e r s . l o a d e r s . I P A d a p t e r M i x i n . l o a d _ i p _ a d a p t e r ) m e t h o d t o s p e e d u p t h e l o a d i n g t i m e . < h f o p t i o n s i d = " t a s k s " > < h f o p t i o n i d = " T e x t - t o - i m a g e " > C r a f t i n g t h e p r e c i s e t e x t p r o m p t t o g e n e r a t e t h e i m a g e y o u w a n t c a n b e d i f f i c u l t b e c a u s e i t m a y n o t a l w a y s c a p t u r e w h a t y o u ' d l i k e t o e x p r e s s . A d d i n g a n i m a g e a l o n g s i d e t h e t e x t p r o m p t h e l p s t h e m o d e l b e t t e r u n d e r s t a n d w h a t i t s h o u l d g e n e r a t e a n d c a n l e a d t o m o r e a c c u r a t e r e s u l t s . L o a d a S t a b l e D i f f u s i o n X L ( S D X L ) m o d e l a n d i n s e r t a n I P - A d a p t e r i n t o t h e m o d e l w i t h t h e [ l o a d _ i p _ a d a p t e r ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / i p _ a d a p t e r # d i f f u s e r s . l o a d e r s . I P A d a p t e r M i x i n . l o a d _ i p _ a d a p t e r ) m e t h o d . U s e t h e ` s u b f o l d e r ` p a r a m e t e r t o l o a d t h e S D X L m o d e l w e i g h t s . ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e . l o a d _ i p _ a d a p t e r ( " h 9 4 / I P - A d a p t e r " , s u b f o l d e r = " s d x l _ m o d e l s " , w e i g h t _ n a m e = " i p - a d a p t e r _ s d x l . b i n " ) p i p e l i n e . s e t _ i p _ a d a p t e r _ s c a l e ( 0 . 6 ) ` ` ` C r e a t e a t e x t p r o m p t a n d l o a d a n i m a g e p r o m p t b e f o r e p a s s i n g t h e m t o t h e p i p e l i n e t o g e n e r a t e a n i m a g e . ` ` ` p y i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ d i n e r . p n g " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 0 ) i m a g e s = p i p e l i n e ( p r o m p t = " a p o l a r b e a r s i t t i n g i n a c h a i r d r i n k i n g a m i l k s h a k e " , i p _ a d a p t e r _ i m a g e = i m a g e , n e g a t i v e _ p r o m p t = " d e f o r m e d , u g l y , w r o n g p r o p o r t i o n , l o w r e s , b a d a n a t o m y , w o r s t q u a l i t y , l o w q u a l i t y " , n u m _ i n f e r e n c e _ s t e p s = 1 0 0 , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s i m a g e s [ 0 ] ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ d i n e r . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > I P - A d a p t e r i m a g e < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ d i n e r _ 2 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " I m a g e - t o - i m a g e " > I P - A d a p t e r c a n a l s o h e l p w i t h i m a g e - t o - i m a g e b y g u i d i n g t h e m o d e l t o g e n e r a t e a n i m a g e t h a t r e s e m b l e s t h e o r i g i n a l i m a g e a n d t h e i m a g e p r o m p t . L o a d a S t a b l e D i f f u s i o n X L ( S D X L ) m o d e l a n d i n s e r t a n I P - A d a p t e r i n t o t h e m o d e l w i t h t h e [ l o a d _ i p _ a d a p t e r ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / i p _ a d a p t e r # d i f f u s e r s . l o a d e r s . I P A d a p t e r M i x i n . l o a d _ i p _ a d a p t e r ) m e t h o d . U s e t h e ` s u b f o l d e r ` p a r a m e t e r t o l o a d t h e S D X L m o d e l w e i g h t s . ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I m a g e 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e . l o a d _ i p _ a d a p t e r ( " h 9 4 / I P - A d a p t e r " , s u b f o l d e r = " s d x l _ m o d e l s " , w e i g h t _ n a m e = " i p - a d a p t e r _ s d x l . b i n " ) p i p e l i n e . s e t _ i p _ a d a p t e r _ s c a l e ( 0 . 6 ) ` ` ` P a s s t h e o r i g i n a l i m a g e a n d t h e I P - A d a p t e r i m a g e p r o m p t t o t h e p i p e l i n e t o g e n e r a t e a n i m a g e . P r o v i d i n g a t e x t p r o m p t t o t h e p i p e l i n e i s o p t i o n a l , b u t i n t h i s e x a m p l e , a t e x t p r o m p t i s u s e d t o i n c r e a s e i m a g e q u a l i t y . ` ` ` p y i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ b e a r _ 1 . p n g " ) i p _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ b e a r _ 2 . p n g " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 4 ) i m a g e s = p i p e l i n e ( p r o m p t = " b e s t q u a l i t y , h i g h q u a l i t y " , i m a g e = i m a g e , i p _ a d a p t e r _ i m a g e = i p _ i m a g e , g e n e r a t o r = g e n e r a t o r , s t r e n g t h = 0 . 6 , ) . i m a g e s i m a g e s [ 0 ] ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ b e a r _ 1 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > o r i g i n a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ b e a r _ 2 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > I P - A d a p t e r i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ b e a r _ 3 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " I n p a i n t i n g " > I P - A d a p t e r i s a l s o u s e f u l f o r i n p a i n t i n g b e c a u s e t h e i m a g e p r o m p t a l l o w s y o u t o b e m u c h m o r e s p e c i f i c a b o u t w h a t y o u ' d l i k e t o g e n e r a t e . L o a d a S t a b l e D i f f u s i o n X L ( S D X L ) m o d e l a n d i n s e r t a n I P - A d a p t e r i n t o t h e m o d e l w i t h t h e [ l o a d _ i p _ a d a p t e r ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / i p _ a d a p t e r # d i f f u s e r s . l o a d e r s . I P A d a p t e r M i x i n . l o a d _ i p _ a d a p t e r ) m e t h o d . U s e t h e ` s u b f o l d e r ` p a r a m e t e r t o l o a d t h e S D X L m o d e l w e i g h t s . ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " d i f f u s e r s / s t a b l e - d i f f u s i o n - x l - 1 . 0 - i n p a i n t i n g - 0 . 1 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e . l o a d _ i p _ a d a p t e r ( " h 9 4 / I P - A d a p t e r " , s u b f o l d e r = " s d x l _ m o d e l s " , w e i g h t _ n a m e = " i p - a d a p t e r _ s d x l . b i n " ) p i p e l i n e . s e t _ i p _ a d a p t e r _ s c a l e ( 0 . 6 ) ` ` ` P a s s a p r o m p t , t h e o r i g i n a l i m a g e , m a s k i m a g e , a n d t h e I P - A d a p t e r i m a g e p r o m p t t o t h e p i p e l i n e t o g e n e r a t e a n i m a g e . ` ` ` p y m a s k _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ m a s k . p n g " ) i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ b e a r _ 1 . p n g " ) i p _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ g u m m y . p n g " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 4 ) i m a g e s = p i p e l i n e ( p r o m p t = " a c u t e g u m m y b e a r w a v i n g " , i m a g e = i m a g e , m a s k _ i m a g e = m a s k _ i m a g e , i p _ a d a p t e r _ i m a g e = i p _ i m a g e , g e n e r a t o r = g e n e r a t o r , n u m _ i n f e r e n c e _ s t e p s = 1 0 0 , ) . i m a g e s i m a g e s [ 0 ] ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ b e a r _ 1 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > o r i g i n a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ g u m m y . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > I P - A d a p t e r i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ i n p a i n t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " V i d e o " > I P - A d a p t e r c a n a l s o h e l p y o u g e n e r a t e v i d e o s t h a t a r e m o r e a l i g n e d w i t h y o u r t e x t p r o m p t . F o r e x a m p l e , l e t ' s l o a d [ A n i m a t e D i f f ] ( . . / a p i / p i p e l i n e s / a n i m a t e d i f f ) w i t h i t s m o t i o n a d a p t e r a n d i n s e r t a n I P - A d a p t e r i n t o t h e m o d e l w i t h t h e [ l o a d _ i p _ a d a p t e r ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / i p _ a d a p t e r # d i f f u s e r s . l o a d e r s . I P A d a p t e r M i x i n . l o a d _ i p _ a d a p t e r ) m e t h o d . > [ ! W A R N I N G ] > I f y o u ' r e p l a n n i n g o n o f f l o a d i n g t h e m o d e l t o t h e C P U , m a k e s u r e y o u r u n i t a f t e r y o u ' v e l o a d e d t h e I P - A d a p t e r . W h e n y o u c a l l [ e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ) b e f o r e l o a d i n g t h e I P - A d a p t e r , i t o f f l o a d s t h e i m a g e e n c o d e r m o d u l e t o t h e C P U a n d i t ' l l r e t u r n a n e r r o r w h e n y o u t r y t o r u n t h e p i p e l i n e . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A n i m a t e D i f f P i p e l i n e , D D I M S c h e d u l e r , M o t i o n A d a p t e r f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e a d a p t e r = M o t i o n A d a p t e r . f r o m _ p r e t r a i n e d ( " g u o y w w / a n i m a t e d i f f - m o t i o n - a d a p t e r - v 1 - 5 - 2 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e = A n i m a t e D i f f P i p e l i n e . f r o m _ p r e t r a i n e d ( " e m i l i a n J R / e p i C R e a l i s m " , m o t i o n _ a d a p t e r = a d a p t e r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ p r e t r a i n e d ( " e m i l i a n J R / e p i C R e a l i s m " , s u b f o l d e r = " s c h e d u l e r " , c l i p _ s a m p l e = F a l s e , t i m e s t e p _ s p a c i n g = " l i n s p a c e " , b e t a _ s c h e d u l e = " l i n e a r " , s t e p s _ o f f s e t = 1 , ) p i p e l i n e . s c h e d u l e r = s c h e d u l e r p i p e l i n e . e n a b l e _ v a e _ s l i c i n g ( ) p i p e l i n e . l o a d _ i p _ a d a p t e r ( " h 9 4 / I P - A d a p t e r " , s u b f o l d e r = " m o d e l s " , w e i g h t _ n a m e = " i p - a d a p t e r _ s d 1 5 . b i n " ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` ` ` P a s s a p r o m p t a n d a n i m a g e p r o m p t t o t h e p i p e l i n e t o g e n e r a t e a s h o r t v i d e o . ` ` ` p y i p _ a d a p t e r _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ i n p a i n t . p n g " ) o u t p u t = p i p e l i n e ( p r o m p t = " A c u t e g u m m y b e a r w a v i n g " , n e g a t i v e _ p r o m p t = " b a d q u a l i t y , w o r s e q u a l i t y , l o w r e s o l u t i o n " , i p _ a d a p t e r _ i m a g e = i p _ a d a p t e r _ i m a g e , n u m _ f r a m e s = 1 6 , g u i d a n c e _ s c a l e = 7 . 5 , n u m _ i n f e r e n c e _ s t e p s = 5 0 , g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 0 ) , ) f r a m e s = o u t p u t . f r a m e s [ 0 ] e x p o r t _ t o _ g i f ( f r a m e s , " g u m m y _ b e a r . g i f " ) ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ i n p a i n t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > I P - A d a p t e r i m a g e < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / g u m m y _ b e a r . g i f " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d v i d e o < / f i g c a p t i o n > < / d i v > < / d i v > < / h f o p t i o n > < / h f o p t i o n s > # # C o n f i g u r e p a r a m e t e r s T h e r e a r e a c o u p l e o f I P - A d a p t e r p a r a m e t e r s t h a t a r e u s e f u l t o k n o w a b o u t a n d c a n h e l p y o u w i t h y o u r i m a g e g e n e r a t i o n t a s k s . T h e s e p a r a m e t e r s c a n m a k e y o u r w o r k f l o w m o r e e f f i c i e n t o r g i v e y o u m o r e c o n t r o l o v e r i m a g e g e n e r a t i o n . # # # I m a g e e m b e d d i n g s I P - A d a p t e r e n a b l e d p i p e l i n e s p r o v i d e t h e ` i p _ a d a p t e r _ i m a g e _ e m b e d s ` p a r a m e t e r t o a c c e p t p r e c o m p u t e d i m a g e e m b e d d i n g s . T h i s i s p a r t i c u l a r l y u s e f u l i n s c e n a r i o s w h e r e y o u n e e d t o r u n t h e I P - A d a p t e r p i p e l i n e m u l t i p l e t i m e s b e c a u s e y o u h a v e m o r e t h a n o n e i m a g e . F o r e x a m p l e , [ m u l t i I P - A d a p t e r ] ( # m u l t i - i p - a d a p t e r ) i s a s p e c i f i c u s e c a s e w h e r e y o u p r o v i d e m u l t i p l e s t y l i n g i m a g e s t o g e n e r a t e a s p e c i f i c i m a g e i n a s p e c i f i c s t y l e . L o a d i n g a n d e n c o d i n g m u l t i p l e i m a g e s e a c h t i m e y o u u s e t h e p i p e l i n e w o u l d b e i n e f f i c i e n t . I n s t e a d , y o u c a n p r e c o m p u t e a n d s a v e t h e i m a g e e m b e d d i n g s t o d i s k ( w h i c h c a n s a v e a l o t o f s p a c e i f y o u ' r e u s i n g h i g h - q u a l i t y i m a g e s ) a n d l o a d t h e m w h e n y o u n e e d t h e m . > [ ! T I P ] > T h i s p a r a m e t e r a l s o g i v e s y o u t h e f l e x i b i l i t y t o l o a d e m b e d d i n g s f r o m o t h e r s o u r c e s . F o r e x a m p l e , C o m f y U I i m a g e e m b e d d i n g s f o r I P - A d a p t e r s a r e c o m p a t i b l e w i t h D i f f u s e r s a n d s h o u l d w o r k o u f - o f - t h e - b o x ! C a l l t h e ` p r e p a r e _ i p _ a d a p t e r _ i m a g e _ e m b e d s ( ) ` m e t h o d t o e n c o d e a n d g e n e r a t e t h e i m a g e e m b e d d i n g s . T h e n y o u c a n s a v e t h e m t o d i s k w i t h ` t o r c h . s a v e ` . > [ ! T I P ] > I f y o u ' r e u s i n g I P - A d a p t e r w i t h ` i p _ a d a p t e r _ i m a g e _ e m b e d d i n g ` i n s t e a d o f ` i p _ a d a p t e r _ i m a g e ` ' , y o u c a n s e t ` l o a d _ i p _ a d a p t e r ( i m a g e _ e n c o d e r _ f o l d e r = N o n e , . . . ) ` b e c a u s e y o u d o n ' t n e e d t o l o a d a n e n c o d e r t o g e n e r a t e t h e i m a g e e m b e d d i n g s . ` ` ` p y i m a g e _ e m b e d s = p i p e l i n e . p r e p a r e _ i p _ a d a p t e r _ i m a g e _ e m b e d s ( i p _ a d a p t e r _ i m a g e = i m a g e , i p _ a d a p t e r _ i m a g e _ e m b e d s = N o n e , d e v i c e = " c u d a " , n u m _ i m a g e s _ p e r _ p r o m p t = 1 , d o _ c l a s s i f i e r _ f r e e _ g u i d a n c e = T r u e , ) t o r c h . s a v e ( i m a g e _ e m b e d s , " i m a g e _ e m b e d s . i p a d p t " ) ` ` ` N o w l o a d t h e i m a g e e m b e d d i n g s b y p a s s i n g t h e m t o t h e ` i p _ a d a p t e r _ i m a g e _ e m b e d s ` p a r a m e t e r . ` ` ` p y i m a g e _ e m b e d s = t o r c h . l o a d ( " i m a g e _ e m b e d s . i p a d p t " ) i m a g e s = p i p e l i n e ( p r o m p t = " a p o l a r b e a r s i t t i n g i n a c h a i r d r i n k i n g a m i l k s h a k e " , i p _ a d a p t e r _ i m a g e _ e m b e d s = i m a g e _ e m b e d s , n e g a t i v e _ p r o m p t = " d e f o r m e d , u g l y , w r o n g p r o p o r t i o n , l o w r e s , b a d a n a t o m y , w o r s t q u a l i t y , l o w q u a l i t y " , n u m _ i n f e r e n c e _ s t e p s = 1 0 0 , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s ` ` ` # # # I P - A d a p t e r m a s k i n g B i n a r y m a s k s s p e c i f y w h i c h p o r t i o n o f t h e o u t p u t i m a g e s h o u l d b e a s s i g n e d t o a n I P - A d a p t e r . T h i s i s u s e f u l f o r c o m p o s i n g m o r e t h a n o n e I P - A d a p t e r i m a g e . F o r e a c h i n p u t I P - A d a p t e r i m a g e , y o u m u s t p r o v i d e a b i n a r y m a s k . T o s t a r t , p r e p r o c e s s t h e i n p u t I P - A d a p t e r i m a g e s w i t h t h e ` ~ i m a g e _ p r o c e s s o r . I P A d a p t e r M a s k P r o c e s s o r . p r e p r o c e s s ( ) ` t o g e n e r a t e t h e i r m a s k s . F o r o p t i m a l r e s u l t s , p r o v i d e t h e o u t p u t h e i g h t a n d w i d t h t o ` ~ i m a g e _ p r o c e s s o r . I P A d a p t e r M a s k P r o c e s s o r . p r e p r o c e s s ( ) ` . T h i s e n s u r e s m a s k s w i t h d i f f e r e n t a s p e c t r a t i o s a r e a p p r o p r i a t e l y s t r e t c h e d . I f t h e i n p u t m a s k s a l r e a d y m a t c h t h e a s p e c t r a t i o o f t h e g e n e r a t e d i m a g e , y o u d o n ' t h a v e t o s e t t h e ` h e i g h t ` a n d ` w i d t h ` . ` ` ` p y f r o m d i f f u s e r s . i m a g e _ p r o c e s s o r i m p o r t I P A d a p t e r M a s k P r o c e s s o r m a s k 1 = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ m a s k _ m a s k 1 . p n g " ) m a s k 2 = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ m a s k _ m a s k 2 . p n g " ) o u t p u t _ h e i g h t = 1 0 2 4 o u t p u t _ w i d t h = 1 0 2 4 p r o c e s s o r = I P A d a p t e r M a s k P r o c e s s o r ( ) m a s k s = p r o c e s s o r . p r e p r o c e s s ( [ m a s k 1 , m a s k 2 ] , h e i g h t = o u t p u t _ h e i g h t , w i d t h = o u t p u t _ w i d t h ) ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / i p _ m a s k _ m a s k 1 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > m a s k o n e < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / i p _ m a s k _ m a s k 2 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > m a s k t w o < / f i g c a p t i o n > < / d i v > < / d i v > W h e n t h e r e i s m o r e t h a n o n e i n p u t I P - A d a p t e r i m a g e , l o a d t h e m a s a l i s t a n d p r o v i d e t h e I P - A d a p t e r s c a l e l i s t . E a c h o f t h e i n p u t I P - A d a p t e r i m a g e s h e r e c o r r e s p o n d s t o o n e o f t h e m a s k s g e n e r a t e d a b o v e . ` ` ` p y p i p e l i n e . l o a d _ i p _ a d a p t e r ( " h 9 4 / I P - A d a p t e r " , s u b f o l d e r = " s d x l _ m o d e l s " , w e i g h t _ n a m e = [ " i p - a d a p t e r - p l u s - f a c e _ s d x l _ v i t - h . s a f e t e n s o r s " ] ) p i p e l i n e . s e t _ i p _ a d a p t e r _ s c a l e ( [ [ 0 . 7 , 0 . 7 ] ] ) # o n e s c a l e f o r e a c h i m a g e - m a s k p a i r f a c e _ i m a g e 1 = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ m a s k _ g i r l 1 . p n g " ) f a c e _ i m a g e 2 = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ m a s k _ g i r l 2 . p n g " ) i p _ i m a g e s = [ [ f a c e _ i m a g e 1 , f a c e _ i m a g e 2 ] ] m a s k s = [ m a s k s . r e s h a p e ( 1 , m a s k s . s h a p e [ 0 ] , m a s k s . s h a p e [ 2 ] , m a s k s . s h a p e [ 3 ] ) ] ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / i p _ m a s k _ g i r l 1 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > I P - A d a p t e r i m a g e o n e < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / i p _ m a s k _ g i r l 2 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > I P - A d a p t e r i m a g e t w o < / f i g c a p t i o n > < / d i v > < / d i v > N o w p a s s t h e p r e p r o c e s s e d m a s k s t o ` c r o s s _ a t t e n t i o n _ k w a r g s ` i n t h e p i p e l i n e c a l l . ` ` ` p y g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 0 ) n u m _ i m a g e s = 1 i m a g e = p i p e l i n e ( p r o m p t = " 2 g i r l s " , i p _ a d a p t e r _ i m a g e = i p _ i m a g e s , n e g a t i v e _ p r o m p t = " m o n o c h r o m e , l o w r e s , b a d a n a t o m y , w o r s t q u a l i t y , l o w q u a l i t y " , n u m _ i n f e r e n c e _ s t e p s = 2 0 , n u m _ i m a g e s _ p e r _ p r o m p t = n u m _ i m a g e s , g e n e r a t o r = g e n e r a t o r , c r o s s _ a t t e n t i o n _ k w a r g s = { " i p _ a d a p t e r _ m a s k s " : m a s k s } ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ a t t e n t i o n _ m a s k _ r e s u l t _ s e e d _ 0 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > I P - A d a p t e r m a s k i n g a p p l i e d < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ n o _ a t t e n t i o n _ m a s k _ r e s u l t _ s e e d _ 0 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > n o I P - A d a p t e r m a s k i n g a p p l i e d < / f i g c a p t i o n > < / d i v > < / d i v > # # S p e c i f i c u s e c a s e s I P - A d a p t e r ' s i m a g e p r o m p t i n g a n d c o m p a t i b i l i t y w i t h o t h e r a d a p t e r s a n d m o d e l s m a k e s i t a v e r s a t i l e t o o l f o r a v a r i e t y o f u s e c a s e s . T h i s s e c t i o n c o v e r s s o m e o f t h e m o r e p o p u l a r a p p l i c a t i o n s o f I P - A d a p t e r , a n d w e c a n ' t w a i t t o s e e w h a t y o u c o m e u p w i t h ! # # # F a c e m o d e l G e n e r a t i n g a c c u r a t e f a c e s i s c h a l l e n g i n g b e c a u s e t h e y a r e c o m p l e x a n d n u a n c e d . D i f f u s e r s s u p p o r t s t w o I P - A d a p t e r c h e c k p o i n t s s p e c i f i c a l l y t r a i n e d t o g e n e r a t e f a c e s f r o m t h e [ h 9 4 / I P - A d a p t e r ] ( h t t p s : / / h u g g i n g f a c e . c o / h 9 4 / I P - A d a p t e r ) r e p o s i t o r y : * [ i p - a d a p t e r - f u l l - f a c e _ s d 1 5 . s a f e t e n s o r s ] ( h t t p s : / / h u g g i n g f a c e . c o / h 9 4 / I P - A d a p t e r / b l o b / m a i n / m o d e l s / i p - a d a p t e r - f u l l - f a c e _ s d 1 5 . s a f e t e n s o r s ) i s c o n d i t i o n e d w i t h i m a g e s o f c r o p p e d f a c e s a n d r e m o v e d b a c k g r o u n d s * [ i p - a d a p t e r - p l u s - f a c e _ s d 1 5 . s a f e t e n s o r s ] ( h t t p s : / / h u g g i n g f a c e . c o / h 9 4 / I P - A d a p t e r / b l o b / m a i n / m o d e l s / i p - a d a p t e r - p l u s - f a c e _ s d 1 5 . s a f e t e n s o r s ) u s e s p a t c h e m b e d d i n g s a n d i s c o n d i t i o n e d w i t h i m a g e s o f c r o p p e d f a c e s A d d i t i o n a l l y , D i f f u s e r s s u p p o r t s a l l I P - A d a p t e r c h e c k p o i n t s t r a i n e d w i t h f a c e e m b e d d i n g s e x t r a c t e d b y ` i n s i g h t f a c e ` f a c e m o d e l s . S u p p o r t e d m o d e l s a r e f r o m t h e [ h 9 4 / I P - A d a p t e r - F a c e I D ] ( h t t p s : / / h u g g i n g f a c e . c o / h 9 4 / I P - A d a p t e r - F a c e I D ) r e p o s i t o r y . F o r f a c e m o d e l s , u s e t h e [ h 9 4 / I P - A d a p t e r ] ( h t t p s : / / h u g g i n g f a c e . c o / h 9 4 / I P - A d a p t e r ) c h e c k p o i n t . I t i s a l s o r e c o m m e n d e d t o u s e [ D D I M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / d d i m # d i f f u s e r s . D D I M S c h e d u l e r ) o r [ E u l e r D i s c r e t e S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / e u l e r # d i f f u s e r s . E u l e r D i s c r e t e S c h e d u l e r ) f o r f a c e m o d e l s . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e , D D I M S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e p i p e l i n e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , ) . t o ( " c u d a " ) p i p e l i n e . s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g ) p i p e l i n e . l o a d _ i p _ a d a p t e r ( " h 9 4 / I P - A d a p t e r " , s u b f o l d e r = " m o d e l s " , w e i g h t _ n a m e = " i p - a d a p t e r - f u l l - f a c e _ s d 1 5 . b i n " ) p i p e l i n e . s e t _ i p _ a d a p t e r _ s c a l e ( 0 . 5 ) i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ e i n s t e i n _ b a s e . p n g " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 2 6 ) i m a g e = p i p e l i n e ( p r o m p t = " A p h o t o o f E i n s t e i n a s a c h e f , w e a r i n g a n a p r o n , c o o k i n g i n a F r e n c h r e s t a u r a n t " , i p _ a d a p t e r _ i m a g e = i m a g e , n e g a t i v e _ p r o m p t = " l o w r e s , b a d a n a t o m y , w o r s t q u a l i t y , l o w q u a l i t y " , n u m _ i n f e r e n c e _ s t e p s = 1 0 0 , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ e i n s t e i n _ b a s e . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > I P - A d a p t e r i m a g e < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ e i n s t e i n . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > T o u s e I P - A d a p t e r F a c e I D m o d e l s , f i r s t e x t r a c t f a c e e m b e d d i n g s w i t h ` i n s i g h t f a c e ` . T h e n p a s s t h e l i s t o f t e n s o r s t o t h e p i p e l i n e a s ` i p _ a d a p t e r _ i m a g e _ e m b e d s ` . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e , D D I M S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e f r o m i n s i g h t f a c e . a p p i m p o r t F a c e A n a l y s i s p i p e l i n e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , ) . t o ( " c u d a " ) p i p e l i n e . s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g ) p i p e l i n e . l o a d _ i p _ a d a p t e r ( " h 9 4 / I P - A d a p t e r - F a c e I D " , s u b f o l d e r = N o n e , w e i g h t _ n a m e = " i p - a d a p t e r - f a c e i d _ s d 1 5 . b i n " , i m a g e _ e n c o d e r _ f o l d e r = N o n e ) p i p e l i n e . s e t _ i p _ a d a p t e r _ s c a l e ( 0 . 6 ) i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ m a s k _ g i r l 1 . p n g " ) r e f _ i m a g e s _ e m b e d s = [ ] a p p = F a c e A n a l y s i s ( n a m e = " b u f f a l o _ l " , p r o v i d e r s = [ ' C U D A E x e c u t i o n P r o v i d e r ' , ' C P U E x e c u t i o n P r o v i d e r ' ] ) a p p . p r e p a r e ( c t x _ i d = 0 , d e t _ s i z e = ( 6 4 0 , 6 4 0 ) ) i m a g e = c v 2 . c v t C o l o r ( n p . a s a r r a y ( i m a g e ) , c v 2 . C O L O R _ B G R 2 R G B ) f a c e s = a p p . g e t ( i m a g e ) i m a g e = t o r c h . f r o m _ n u m p y ( f a c e s [ 0 ] . n o r m e d _ e m b e d d i n g ) r e f _ i m a g e s _ e m b e d s . a p p e n d ( i m a g e . u n s q u e e z e ( 0 ) ) r e f _ i m a g e s _ e m b e d s = t o r c h . s t a c k ( r e f _ i m a g e s _ e m b e d s , d i m = 0 ) . u n s q u e e z e ( 0 ) n e g _ r e f _ i m a g e s _ e m b e d s = t o r c h . z e r o s _ l i k e ( r e f _ i m a g e s _ e m b e d s ) i d _ e m b e d s = t o r c h . c a t ( [ n e g _ r e f _ i m a g e s _ e m b e d s , r e f _ i m a g e s _ e m b e d s ] ) . t o ( d t y p e = t o r c h . f l o a t 1 6 , d e v i c e = " c u d a " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 4 2 ) i m a g e s = p i p e l i n e ( p r o m p t = " A p h o t o o f a g i r l " , i p _ a d a p t e r _ i m a g e _ e m b e d s = [ i d _ e m b e d s ] , n e g a t i v e _ p r o m p t = " m o n o c h r o m e , l o w r e s , b a d a n a t o m y , w o r s t q u a l i t y , l o w q u a l i t y " , n u m _ i n f e r e n c e _ s t e p s = 2 0 , n u m _ i m a g e s _ p e r _ p r o m p t = 1 , g e n e r a t o r = g e n e r a t o r ) . i m a g e s ` ` ` B o t h I P - A d a p t e r F a c e I D P l u s a n d P l u s v 2 m o d e l s r e q u i r e C L I P i m a g e e m b e d d i n g s . Y o u c a n p r e p a r e f a c e e m b e d d i n g s a s s h o w n p r e v i o u s l y , t h e n y o u c a n e x t r a c t a n d p a s s C L I P e m b e d d i n g s t o t h e h i d d e n i m a g e p r o j e c t i o n l a y e r s . ` ` ` p y f r o m i n s i g h t f a c e . u t i l s i m p o r t f a c e _ a l i g n r e f _ i m a g e s _ e m b e d s = [ ] i p _ a d a p t e r _ i m a g e s = [ ] a p p = F a c e A n a l y s i s ( n a m e = " b u f f a l o _ l " , p r o v i d e r s = [ ' C U D A E x e c u t i o n P r o v i d e r ' , ' C P U E x e c u t i o n P r o v i d e r ' ] ) a p p . p r e p a r e ( c t x _ i d = 0 , d e t _ s i z e = ( 6 4 0 , 6 4 0 ) ) i m a g e = c v 2 . c v t C o l o r ( n p . a s a r r a y ( i m a g e ) , c v 2 . C O L O R _ B G R 2 R G B ) f a c e s = a p p . g e t ( i m a g e ) i p _ a d a p t e r _ i m a g e s . a p p e n d ( f a c e _ a l i g n . n o r m _ c r o p ( i m a g e , l a n d m a r k = f a c e s [ 0 ] . k p s , i m a g e _ s i z e = 2 2 4 ) ) i m a g e = t o r c h . f r o m _ n u m p y ( f a c e s [ 0 ] . n o r m e d _ e m b e d d i n g ) r e f _ i m a g e s _ e m b e d s . a p p e n d ( i m a g e . u n s q u e e z e ( 0 ) ) r e f _ i m a g e s _ e m b e d s = t o r c h . s t a c k ( r e f _ i m a g e s _ e m b e d s , d i m = 0 ) . u n s q u e e z e ( 0 ) n e g _ r e f _ i m a g e s _ e m b e d s = t o r c h . z e r o s _ l i k e ( r e f _ i m a g e s _ e m b e d s ) i d _ e m b e d s = t o r c h . c a t ( [ n e g _ r e f _ i m a g e s _ e m b e d s , r e f _ i m a g e s _ e m b e d s ] ) . t o ( d t y p e = t o r c h . f l o a t 1 6 , d e v i c e = " c u d a " ) c l i p _ e m b e d s = p i p e l i n e . p r e p a r e _ i p _ a d a p t e r _ i m a g e _ e m b e d s ( [ i p _ a d a p t e r _ i m a g e s ] , N o n e , t o r c h . d e v i c e ( " c u d a " ) , n u m _ i m a g e s , T r u e ) [ 0 ] p i p e l i n e . u n e t . e n c o d e r _ h i d _ p r o j . i m a g e _ p r o j e c t i o n _ l a y e r s [ 0 ] . c l i p _ e m b e d s = c l i p _ e m b e d s . t o ( d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e . u n e t . e n c o d e r _ h i d _ p r o j . i m a g e _ p r o j e c t i o n _ l a y e r s [ 0 ] . s h o r t c u t = F a l s e # T r u e i f P l u s v 2 ` ` ` # # # M u l t i I P - A d a p t e r M o r e t h a n o n e I P - A d a p t e r c a n b e u s e d a t t h e s a m e t i m e t o g e n e r a t e s p e c i f i c i m a g e s i n m o r e d i v e r s e s t y l e s . F o r e x a m p l e , y o u c a n u s e I P - A d a p t e r - F a c e t o g e n e r a t e c o n s i s t e n t f a c e s a n d c h a r a c t e r s , a n d I P - A d a p t e r P l u s t o g e n e r a t e t h o s e f a c e s i n a s p e c i f i c s t y l e . > [ ! T I P ] > R e a d t h e [ I P - A d a p t e r P l u s ] ( . . / u s i n g - d i f f u s e r s / l o a d i n g _ a d a p t e r s # i p - a d a p t e r - p l u s ) s e c t i o n t o l e a r n w h y y o u n e e d t o m a n u a l l y l o a d t h e i m a g e e n c o d e r . L o a d t h e i m a g e e n c o d e r w i t h [ C L I P V i s i o n M o d e l W i t h P r o j e c t i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / e n / m o d e l _ d o c / c l i p # t r a n s f o r m e r s . C L I P V i s i o n M o d e l W i t h P r o j e c t i o n ) . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e , D D I M S c h e d u l e r f r o m t r a n s f o r m e r s i m p o r t C L I P V i s i o n M o d e l W i t h P r o j e c t i o n f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m a g e _ e n c o d e r = C L I P V i s i o n M o d e l W i t h P r o j e c t i o n . f r o m _ p r e t r a i n e d ( " h 9 4 / I P - A d a p t e r " , s u b f o l d e r = " m o d e l s / i m a g e _ e n c o d e r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , ) ` ` ` N e x t , y o u ' l l l o a d a b a s e m o d e l , s c h e d u l e r , a n d t h e I P - A d a p t e r s . T h e I P - A d a p t e r s t o u s e a r e p a s s e d a s a l i s t t o t h e ` w e i g h t _ n a m e ` p a r a m e t e r : * [ i p - a d a p t e r - p l u s _ s d x l _ v i t - h ] ( h t t p s : / / h u g g i n g f a c e . c o / h 9 4 / I P - A d a p t e r # i p - a d a p t e r - f o r - s d x l - 1 0 ) u s e s p a t c h e m b e d d i n g s a n d a V i T - H i m a g e e n c o d e r * [ i p - a d a p t e r - p l u s - f a c e _ s d x l _ v i t - h ] ( h t t p s : / / h u g g i n g f a c e . c o / h 9 4 / I P - A d a p t e r # i p - a d a p t e r - f o r - s d x l - 1 0 ) h a s t h e s a m e a r c h i t e c t u r e b u t i t i s c o n d i t i o n e d w i t h i m a g e s o f c r o p p e d f a c e s ` ` ` p y p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , i m a g e _ e n c o d e r = i m a g e _ e n c o d e r , ) p i p e l i n e . s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g ) p i p e l i n e . l o a d _ i p _ a d a p t e r ( " h 9 4 / I P - A d a p t e r " , s u b f o l d e r = " s d x l _ m o d e l s " , w e i g h t _ n a m e = [ " i p - a d a p t e r - p l u s _ s d x l _ v i t - h . s a f e t e n s o r s " , " i p - a d a p t e r - p l u s - f a c e _ s d x l _ v i t - h . s a f e t e n s o r s " ] ) p i p e l i n e . s e t _ i p _ a d a p t e r _ s c a l e ( [ 0 . 7 , 0 . 3 ] ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` ` ` L o a d a n i m a g e p r o m p t a n d a f o l d e r c o n t a i n i n g i m a g e s o f a c e r t a i n s t y l e y o u w a n t t o u s e . ` ` ` p y f a c e _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / w o m e n _ i n p u t . p n g " ) s t y l e _ f o l d e r = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / s t y l e _ z i g g y " s t y l e _ i m a g e s = [ l o a d _ i m a g e ( f " { s t y l e _ f o l d e r } / i m g { i } . p n g " ) f o r i i n r a n g e ( 1 0 ) ] ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / w o m e n _ i n p u t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > I P - A d a p t e r i m a g e o f f a c e < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / i p _ s t y l e _ g r i d . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > I P - A d a p t e r s t y l e i m a g e s < / f i g c a p t i o n > < / d i v > < / d i v > P a s s t h e i m a g e p r o m p t a n d s t y l e i m a g e s a s a l i s t t o t h e ` i p _ a d a p t e r _ i m a g e ` p a r a m e t e r , a n d r u n t h e p i p e l i n e ! ` ` ` p y g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 0 ) i m a g e = p i p e l i n e ( p r o m p t = " w o n d e r w o m a n " , i p _ a d a p t e r _ i m a g e = [ s t y l e _ i m a g e s , f a c e _ i m a g e ] , n e g a t i v e _ p r o m p t = " m o n o c h r o m e , l o w r e s , b a d a n a t o m y , w o r s t q u a l i t y , l o w q u a l i t y " , n u m _ i n f e r e n c e _ s t e p s = 5 0 , n u m _ i m a g e s _ p e r _ p r o m p t = 1 , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > ย  ย  < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / i p _ m u l t i _ o u t . p n g " / > < / d i v > # # # I n s t a n t g e n e r a t i o n [ L a t e n t C o n s i s t e n c y M o d e l s ( L C M ) ] ( . . / u s i n g - d i f f u s e r s / i n f e r e n c e _ w i t h _ l c m _ l o r a ) a r e d i f f u s i o n m o d e l s t h a t c a n g e n e r a t e i m a g e s i n a s l i t t l e a s 4 s t e p s c o m p a r e d t o o t h e r d i f f u s i o n m o d e l s l i k e S D X L t h a t t y p i c a l l y r e q u i r e w a y m o r e s t e p s . T h i s i s w h y i m a g e g e n e r a t i o n w i t h a n L C M f e e l s " i n s t a n t a n e o u s " . I P - A d a p t e r s c a n b e p l u g g e d i n t o a n L C M - L o R A m o d e l t o i n s t a n t l y g e n e r a t e i m a g e s w i t h a n i m a g e p r o m p t . T h e I P - A d a p t e r w e i g h t s n e e d t o b e l o a d e d f i r s t , t h e n y o u c a n u s e [ l o a d _ l o r a _ w e i g h t s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . S t a b l e D i f f u s i o n L o r a L o a d e r M i x i n . l o a d _ l o r a _ w e i g h t s ) t o l o a d t h e L o R A s t y l e a n d w e i g h t y o u w a n t t o a p p l y t o y o u r i m a g e . ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e , L C M S c h e d u l e r i m p o r t t o r c h f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e m o d e l _ i d = " s d - d r e a m b o o t h - l i b r a r y / h e r g e - s t y l e " l c m _ l o r a _ i d = " l a t e n t - c o n s i s t e n c y / l c m - l o r a - s d v 1 - 5 " p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ i d , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e . l o a d _ i p _ a d a p t e r ( " h 9 4 / I P - A d a p t e r " , s u b f o l d e r = " m o d e l s " , w e i g h t _ n a m e = " i p - a d a p t e r _ s d 1 5 . b i n " ) p i p e l i n e . l o a d _ l o r a _ w e i g h t s ( l c m _ l o r a _ i d ) p i p e l i n e . s c h e d u l e r = L C M S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` ` ` T r y u s i n g w i t h a l o w e r I P - A d a p t e r s c a l e t o c o n d i t i o n i m a g e g e n e r a t i o n m o r e o n t h e [ h e r g e _ s t y l e ] ( h t t p s : / / h u g g i n g f a c e . c o / s d - d r e a m b o o t h - l i b r a r y / h e r g e - s t y l e ) c h e c k p o i n t , a n d r e m e m b e r t o u s e t h e s p e c i a l t o k e n ` h e r g e _ s t y l e ` i n y o u r p r o m p t t o t r i g g e r a n d a p p l y t h e s t y l e . ` ` ` p y p i p e l i n e . s e t _ i p _ a d a p t e r _ s c a l e ( 0 . 4 ) p r o m p t = " h e r g e _ s t y l e w o m a n i n a r m o r , b e s t q u a l i t y , h i g h q u a l i t y " g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 0 ) i p _ a d a p t e r _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / u s e r - i m a g e s . g i t h u b u s e r c o n t e n t . c o m / 2 4 7 3 4 1 4 2 / 2 6 6 4 9 2 8 7 5 - 2 d 5 0 d 2 2 3 - 8 4 7 5 - 4 4 f 0 - a 7 c 6 - 0 8 b 5 1 c b 5 3 5 7 2 . p n g " ) i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , i p _ a d a p t e r _ i m a g e = i p _ a d a p t e r _ i m a g e , n u m _ i n f e r e n c e _ s t e p s = 4 , g u i d a n c e _ s c a l e = 1 , ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > ย  ย  < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ h e r g e . p n g " / > < / d i v > # # # S t r u c t u r a l c o n t r o l T o c o n t r o l i m a g e g e n e r a t i o n t o a n e v e n g r e a t e r d e g r e e , y o u c a n c o m b i n e I P - A d a p t e r w i t h a m o d e l l i k e [ C o n t r o l N e t ] ( . . / u s i n g - d i f f u s e r s / c o n t r o l n e t ) . A C o n t r o l N e t i s a l s o a n a d a p t e r t h a t c a n b e i n s e r t e d i n t o a d i f f u s i o n m o d e l t o a l l o w f o r c o n d i t i o n i n g o n a n a d d i t i o n a l c o n t r o l i m a g e . T h e c o n t r o l i m a g e c a n b e d e p t h m a p s , e d g e m a p s , p o s e e s t i m a t i o n s , a n d m o r e . L o a d a [ C o n t r o l N e t M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / c o n t r o l n e t # d i f f u s e r s . C o n t r o l N e t M o d e l ) c h e c k p o i n t c o n d i t i o n e d o n d e p t h m a p s , i n s e r t i t i n t o a d i f f u s i o n m o d e l , a n d l o a d t h e I P - A d a p t e r . ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e , C o n t r o l N e t M o d e l i m p o r t t o r c h f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e c o n t r o l n e t _ m o d e l _ p a t h = " l l l y a s v i e l / c o n t r o l _ v 1 1 f 1 p _ s d 1 5 _ d e p t h " c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( c o n t r o l n e t _ m o d e l _ p a t h , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e = S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , c o n t r o l n e t = c o n t r o l n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e . t o ( " c u d a " ) p i p e l i n e . l o a d _ i p _ a d a p t e r ( " h 9 4 / I P - A d a p t e r " , s u b f o l d e r = " m o d e l s " , w e i g h t _ n a m e = " i p - a d a p t e r _ s d 1 5 . b i n " ) ` ` ` N o w l o a d t h e I P - A d a p t e r i m a g e a n d d e p t h m a p . ` ` ` p y i p _ a d a p t e r _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / s t a t u e . p n g " ) d e p t h _ m a p = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / d e p t h . p n g " ) ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / s t a t u e . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > I P - A d a p t e r i m a g e < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / d e p t h . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > d e p t h m a p < / f i g c a p t i o n > < / d i v > < / d i v > P a s s t h e d e p t h m a p a n d I P - A d a p t e r i m a g e t o t h e p i p e l i n e t o g e n e r a t e a n i m a g e . ` ` ` p y g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 3 3 ) i m a g e = p i p e l i n e ( p r o m p t = " b e s t q u a l i t y , h i g h q u a l i t y " , i m a g e = d e p t h _ m a p , i p _ a d a p t e r _ i m a g e = i p _ a d a p t e r _ i m a g e , n e g a t i v e _ p r o m p t = " m o n o c h r o m e , l o w r e s , b a d a n a t o m y , w o r s t q u a l i t y , l o w q u a l i t y " , n u m _ i n f e r e n c e _ s t e p s = 5 0 , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > ย  ย  < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / i p a - c o n t r o l n e t - o u t . p n g " / > < / d i v > # # # S t y l e & l a y o u t c o n t r o l [ I n s t a n t S t y l e ] ( h t t p s : / / a r x i v . o r g / a b s / 2 4 0 4 . 0 2 7 3 3 ) i s a p l u g - a n d - p l a y m e t h o d o n t o p o f I P - A d a p t e r , w h i c h d i s e n t a n g l e s s t y l e a n d l a y o u t f r o m i m a g e p r o m p t t o c o n t r o l i m a g e g e n e r a t i o n . T h i s w a y , y o u c a n g e n e r a t e i m a g e s f o l l o w i n g o n l y t h e s t y l e o r l a y o u t f r o m i m a g e p r o m p t , w i t h s i g n i f i c a n t l y i m p r o v e d d i v e r s i t y . T h i s i s a c h i e v e d b y o n l y a c t i v a t i n g I P - A d a p t e r s t o s p e c i f i c p a r t s o f t h e m o d e l . B y d e f a u l t I P - A d a p t e r s a r e i n s e r t e d t o a l l l a y e r s o f t h e m o d e l . U s e t h e [ s e t _ i p _ a d a p t e r _ s c a l e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / i p _ a d a p t e r # d i f f u s e r s . l o a d e r s . I P A d a p t e r M i x i n . s e t _ i p _ a d a p t e r _ s c a l e ) m e t h o d w i t h a d i c t i o n a r y t o a s s i g n s c a l e s t o I P - A d a p t e r a t d i f f e r e n t l a y e r s . ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e . l o a d _ i p _ a d a p t e r ( " h 9 4 / I P - A d a p t e r " , s u b f o l d e r = " s d x l _ m o d e l s " , w e i g h t _ n a m e = " i p - a d a p t e r _ s d x l . b i n " ) s c a l e = { " d o w n " : { " b l o c k _ 2 " : [ 0 . 0 , 1 . 0 ] } , " u p " : { " b l o c k _ 0 " : [ 0 . 0 , 1 . 0 , 0 . 0 ] } , } p i p e l i n e . s e t _ i p _ a d a p t e r _ s c a l e ( s c a l e ) ` ` ` T h i s w i l l a c t i v a t e I P - A d a p t e r a t t h e s e c o n d l a y e r i n t h e m o d e l ' s d o w n - p a r t b l o c k 2 a n d u p - p a r t b l o c k 0 . T h e f o r m e r i s t h e l a y e r w h e r e I P - A d a p t e r i n j e c t s l a y o u t i n f o r m a t i o n a n d t h e l a t t e r i n j e c t s s t y l e . I n s e r t i n g I P - A d a p t e r t o t h e s e t w o l a y e r s y o u c a n g e n e r a t e i m a g e s f o l l o w i n g b o t h t h e s t y l e a n d l a y o u t f r o m i m a g e p r o m p t , b u t w i t h c o n t e n t s m o r e a l i g n e d t o t e x t p r o m p t . ` ` ` p y s t y l e _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / 0 0 5 2 a 7 0 b e e d 5 b f 7 1 b 9 2 6 1 0 a 4 3 a 5 2 d f 6 d 2 8 6 c d 5 f 3 / d i f f u s e r s / r a b b i t . j p g " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 2 6 ) i m a g e = p i p e l i n e ( p r o m p t = " a c a t , m a s t e r p i e c e , b e s t q u a l i t y , h i g h q u a l i t y " , i p _ a d a p t e r _ i m a g e = s t y l e _ i m a g e , n e g a t i v e _ p r o m p t = " t e x t , w a t e r m a r k , l o w r e s , l o w q u a l i t y , w o r s t q u a l i t y , d e f o r m e d , g l i t c h , l o w c o n t r a s t , n o i s y , s a t u r a t i o n , b l u r r y " , g u i d a n c e _ s c a l e = 5 , n u m _ i n f e r e n c e _ s t e p s = 3 0 , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / 0 0 5 2 a 7 0 b e e d 5 b f 7 1 b 9 2 6 1 0 a 4 3 a 5 2 d f 6 d 2 8 6 c d 5 f 3 / d i f f u s e r s / r a b b i t . j p g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > I P - A d a p t e r i m a g e < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d a t a s e t s / c a t _ s t y l e _ l a y o u t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > I n c o n t r a s t , i n s e r t i n g I P - A d a p t e r t o a l l l a y e r s w i l l o f t e n g e n e r a t e i m a g e s t h a t o v e r l y f o c u s o n i m a g e p r o m p t a n d d i m i n i s h d i v e r s i t y . A c t i v a t e I P - A d a p t e r o n l y i n t h e s t y l e l a y e r a n d t h e n c a l l t h e p i p e l i n e a g a i n . ` ` ` p y s c a l e = { " u p " : { " b l o c k _ 0 " : [ 0 . 0 , 1 . 0 , 0 . 0 ] } , } p i p e l i n e . s e t _ i p _ a d a p t e r _ s c a l e ( s c a l e ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 2 6 ) i m a g e = p i p e l i n e ( p r o m p t = " a c a t , m a s t e r p i e c e , b e s t q u a l i t y , h i g h q u a l i t y " , i p _ a d a p t e r _ i m a g e = s t y l e _ i m a g e , n e g a t i v e _ p r o m p t = " t e x t , w a t e r m a r k , l o w r e s , l o w q u a l i t y , w o r s t q u a l i t y , d e f o r m e d , g l i t c h , l o w c o n t r a s t , n o i s y , s a t u r a t i o n , b l u r r y " , g u i d a n c e _ s c a l e = 5 , n u m _ i n f e r e n c e _ s t e p s = 3 0 , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d a t a s e t s / c a t _ s t y l e _ o n l y . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > I P - A d a p t e r o n l y i n s t y l e l a y e r < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d a t a s e t s / c a t _ i p _ a d a p t e r . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > I P - A d a p t e r i n a l l l a y e r s < / f i g c a p t i o n > < / d i v > < / d i v > N o t e t h a t y o u d o n ' t h a v e t o s p e c i f y a l l l a y e r s i n t h e d i c t i o n a r y . T h o s e n o t i n c l u d e d i n t h e d i c t i o n a r y w i l l b e s e t t o s c a l e 0 w h i c h m e a n s d i s a b l e I P - A d a p t e r b y d e f a u l t . # T e x t - g u i d e d d e p t h - t o - i m a g e g e n e r a t i o n T h e [ S t a b l e D i f f u s i o n D e p t h 2 I m g P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / d e p t h 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n D e p t h 2 I m g P i p e l i n e ) l e t s y o u p a s s a t e x t p r o m p t a n d a n i n i t i a l i m a g e t o c o n d i t i o n t h e g e n e r a t i o n o f n e w i m a g e s . I n a d d i t i o n , y o u c a n a l s o p a s s a ` d e p t h _ m a p ` t o p r e s e r v e t h e i m a g e s t r u c t u r e . I f n o ` d e p t h _ m a p ` i s p r o v i d e d , t h e p i p e l i n e a u t o m a t i c a l l y p r e d i c t s t h e d e p t h v i a a n i n t e g r a t e d [ d e p t h - e s t i m a t i o n m o d e l ] ( h t t p s : / / g i t h u b . c o m / i s l - o r g / M i D a S ) . S t a r t b y c r e a t i n g a n i n s t a n c e o f t h e [ S t a b l e D i f f u s i o n D e p t h 2 I m g P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / d e p t h 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n D e p t h 2 I m g P i p e l i n e ) : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n D e p t h 2 I m g P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d p i p e l i n e = S t a b l e D i f f u s i o n D e p t h 2 I m g P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - d e p t h " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , ) . t o ( " c u d a " ) ` ` ` N o w p a s s y o u r p r o m p t t o t h e p i p e l i n e . Y o u c a n a l s o p a s s a ` n e g a t i v e _ p r o m p t ` t o p r e v e n t c e r t a i n w o r d s f r o m g u i d i n g h o w a n i m a g e i s g e n e r a t e d : ` ` ` p y t h o n u r l = " h t t p : / / i m a g e s . c o c o d a t a s e t . o r g / v a l 2 0 1 7 / 0 0 0 0 0 0 0 3 9 7 6 9 . j p g " i n i t _ i m a g e = l o a d _ i m a g e ( u r l ) p r o m p t = " t w o t i g e r s " n e g a t i v e _ p r o m p t = " b a d , d e f o r m e d , u g l y , b a d a n a t o m y " i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , s t r e n g t h = 0 . 7 ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` | I n p u t | O u t p u t | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o c o - c a t s . p n g " w i d t h = " 5 0 0 " / > | < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / d e p t h 2 i m g - t i g e r s . p n g " w i d t h = " 5 0 0 " / > | # C o g V i d e o X C o g V i d e o X i s a t e x t - t o - v i d e o g e n e r a t i o n m o d e l f o c u s e d o n c r e a t i n g m o r e c o h e r e n t v i d e o s a l i g n e d w i t h a p r o m p t . I t a c h i e v e s t h i s u s i n g s e v e r a l m e t h o d s . - a 3 D v a r i a t i o n a l a u t o e n c o d e r t h a t c o m p r e s s e s v i d e o s s p a t i a l l y a n d t e m p o r a l l y , i m p r o v i n g c o m p r e s s i o n r a t e a n d v i d e o a c c u r a c y . - a n e x p e r t t r a n s f o r m e r b l o c k t o h e l p a l i g n t e x t a n d v i d e o , a n d a 3 D f u l l a t t e n t i o n m o d u l e f o r c a p t u r i n g a n d c r e a t i n g s p a t i a l l y a n d t e m p o r a l l y a c c u r a t e v i d e o s . # # L o a d m o d e l c h e c k p o i n t s M o d e l w e i g h t s m a y b e s t o r e d i n s e p a r a t e s u b f o l d e r s o n t h e H u b o r l o c a l l y , i n w h i c h c a s e , y o u s h o u l d u s e t h e [ f r o m _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ) m e t h o d . ` ` ` p y f r o m d i f f u s e r s i m p o r t C o g V i d e o X P i p e l i n e , C o g V i d e o X I m a g e T o V i d e o P i p e l i n e p i p e = C o g V i d e o X P i p e l i n e . f r o m _ p r e t r a i n e d ( " T H U D M / C o g V i d e o X - 2 b " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e = C o g V i d e o X I m a g e T o V i d e o P i p e l i n e . f r o m _ p r e t r a i n e d ( " T H U D M / C o g V i d e o X - 5 b - I 2 V " , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) ` ` ` # # T e x t - t o - V i d e o F o r t e x t - t o - v i d e o , p a s s a t e x t p r o m p t . B y d e f a u l t , C o g V i d e o X g e n e r a t e s a 7 2 0 x 4 8 0 v i d e o f o r t h e b e s t r e s u l t s . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t C o g V i d e o X P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ v i d e o p r o m p t = " A n e l d e r l y g e n t l e m a n , w i t h a s e r e n e e x p r e s s i o n , s i t s a t t h e w a t e r ' s e d g e , a s t e a m i n g c u p o f t e a b y h i s s i d e . H e i s e n g r o s s e d i n h i s a r t w o r k , b r u s h i n h a n d , a s h e r e n d e r s a n o i l p a i n t i n g o n a c a n v a s t h a t ' s p r o p p e d u p a g a i n s t a s m a l l , w e a t h e r e d t a b l e . T h e s e a b r e e z e w h i s p e r s t h r o u g h h i s s i l v e r h a i r , g e n t l y b i l l o w i n g h i s l o o s e - f i t t i n g w h i t e s h i r t , w h i l e t h e s a l t y a i r a d d s a n i n t a n g i b l e e l e m e n t t o h i s m a s t e r p i e c e i n p r o g r e s s . T h e s c e n e i s o n e o f t r a n q u i l i t y a n d i n s p i r a t i o n , w i t h t h e a r t i s t ' s c a n v a s c a p t u r i n g t h e v i b r a n t h u e s o f t h e s e t t i n g s u n r e f l e c t i n g o f f t h e t r a n q u i l s e a . " p i p e = C o g V i d e o X P i p e l i n e . f r o m _ p r e t r a i n e d ( " T H U D M / C o g V i d e o X - 5 b " , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p i p e . v a e . e n a b l e _ t i l i n g ( ) v i d e o = p i p e ( p r o m p t = p r o m p t , n u m _ v i d e o s _ p e r _ p r o m p t = 1 , n u m _ i n f e r e n c e _ s t e p s = 5 0 , n u m _ f r a m e s = 4 9 , g u i d a n c e _ s c a l e = 6 , g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c u d a " ) . m a n u a l _ s e e d ( 4 2 ) , ) . f r a m e s [ 0 ] e x p o r t _ t o _ v i d e o ( v i d e o , " o u t p u t . m p 4 " , f p s = 8 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o g v i d e o x / c o g v i d e o x _ o u t . g i f " a l t = " g e n e r a t e d i m a g e o f a n a s t r o n a u t i n a j u n g l e " / > < / d i v > # # I m a g e - t o - V i d e o Y o u ' l l u s e t h e [ T H U D M / C o g V i d e o X - 5 b - I 2 V ] ( h t t p s : / / h u g g i n g f a c e . c o / T H U D M / C o g V i d e o X - 5 b - I 2 V ) c h e c k p o i n t f o r t h i s g u i d e . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t C o g V i d e o X I m a g e T o V i d e o P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ v i d e o , l o a d _ i m a g e p r o m p t = " A v a s t , s h i m m e r i n g o c e a n f l o w s g r a c e f u l l y u n d e r a t w i l i g h t s k y , i t s w a v e s u n d u l a t i n g i n a m e s m e r i z i n g d a n c e o f b l u e s a n d g r e e n s . T h e s u r f a c e g l i n t s w i t h t h e l a s t r a y s o f t h e s e t t i n g s u n , c a s t i n g g o l d e n h i g h l i g h t s t h a t r i p p l e a c r o s s t h e w a t e r . S e a g u l l s s o a r a b o v e , t h e i r c r i e s b l e n d i n g w i t h t h e g e n t l e r o a r o f t h e w a v e s . T h e h o r i z o n s t r e t c h e s i n f i n i t e l y , w h e r e t h e o c e a n m e e t s t h e s k y i n a s e a m l e s s b l e n d o f h u e s . C l o s e - u p s r e v e a l t h e i n t r i c a t e p a t t e r n s o f t h e w a v e s , c a p t u r i n g t h e f l u i d i t y a n d d y n a m i c b e a u t y o f t h e s e a i n m o t i o n . " i m a g e = l o a d _ i m a g e ( i m a g e = " c o g v i d e o x _ r o c k e t . p n g " ) p i p e = C o g V i d e o X I m a g e T o V i d e o P i p e l i n e . f r o m _ p r e t r a i n e d ( " T H U D M / C o g V i d e o X - 5 b - I 2 V " , t o r c h _ d t y p e = t o r c h . b f l o a t 1 6 ) p i p e . v a e . e n a b l e _ t i l i n g ( ) p i p e . v a e . e n a b l e _ s l i c i n g ( ) v i d e o = p i p e ( p r o m p t = p r o m p t , i m a g e = i m a g e , n u m _ v i d e o s _ p e r _ p r o m p t = 1 , n u m _ i n f e r e n c e _ s t e p s = 5 0 , n u m _ f r a m e s = 4 9 , g u i d a n c e _ s c a l e = 6 , g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c u d a " ) . m a n u a l _ s e e d ( 4 2 ) , ) . f r a m e s [ 0 ] e x p o r t _ t o _ v i d e o ( v i d e o , " o u t p u t . m p 4 " , f p s = 8 ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o g v i d e o x / c o g v i d e o x _ r o c k e t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > i n i t i a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o g v i d e o x / c o g v i d e o x _ o u t r o c k e t . g i f " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d v i d e o < / f i g c a p t i o n > < / d i v > < / d i v > # M e r g e L o R A s I t c a n b e f u n a n d c r e a t i v e t o u s e m u l t i p l e [ L o R A s ] ( ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / p e f t / c o n c e p t u a l _ g u i d e s / a d a p t e r # l o w - r a n k - a d a p t a t i o n - l o r a ) ) t o g e t h e r t o g e n e r a t e s o m e t h i n g e n t i r e l y n e w a n d u n i q u e . T h i s w o r k s b y m e r g i n g m u l t i p l e L o R A w e i g h t s t o g e t h e r t o p r o d u c e i m a g e s t h a t a r e a b l e n d o f d i f f e r e n t s t y l e s . D i f f u s e r s p r o v i d e s a f e w m e t h o d s t o m e r g e L o R A s d e p e n d i n g o n * h o w * y o u w a n t t o m e r g e t h e i r w e i g h t s , w h i c h c a n a f f e c t i m a g e q u a l i t y . T h i s g u i d e w i l l s h o w y o u h o w t o m e r g e L o R A s u s i n g t h e [ s e t _ a d a p t e r s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / p e f t # d i f f u s e r s . l o a d e r s . P e f t A d a p t e r M i x i n . s e t _ a d a p t e r s ) a n d [ a d d _ w e i g h t e d _ a d a p t e r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / p e f t / p a c k a g e _ r e f e r e n c e / l o r a # p e f t . L o r a M o d e l . a d d _ w e i g h t e d _ a d a p t e r ) m e t h o d s . T o i m p r o v e i n f e r e n c e s p e e d a n d r e d u c e m e m o r y - u s a g e o f m e r g e d L o R A s , y o u ' l l a l s o s e e h o w t o u s e t h e ` f u s e _ l o r a ( ) ` m e t h o d t o f u s e t h e L o R A w e i g h t s w i t h t h e o r i g i n a l w e i g h t s o f t h e u n d e r l y i n g m o d e l . F o r t h i s g u i d e , l o a d a S t a b l e D i f f u s i o n X L ( S D X L ) c h e c k p o i n t a n d t h e [ K a p p a N e u r o / s t u d i o - g h i b l i - s t y l e ] ( h t t p s : / / h u g g i n g f a c e . c o / K a p p a N e u r o / s t u d i o - g h i b l i - s t y l e ) a n d [ N o r o d 7 8 / s d x l - c h a l k b o a r d d r a w i n g - l o r a ] ( h t t p s : / / h u g g i n g f a c e . c o / N o r o d 7 8 / s d x l - c h a l k b o a r d d r a w i n g - l o r a ) L o R A s w i t h t h e [ l o a d _ l o r a _ w e i g h t s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . S t a b l e D i f f u s i o n L o r a L o a d e r M i x i n . l o a d _ l o r a _ w e i g h t s ) m e t h o d . Y o u ' l l n e e d t o a s s i g n e a c h L o R A a n ` a d a p t e r _ n a m e ` t o c o m b i n e t h e m l a t e r . ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e . l o a d _ l o r a _ w e i g h t s ( " o s t r i s / i k e a - i n s t r u c t i o n s - l o r a - s d x l " , w e i g h t _ n a m e = " i k e a _ i n s t r u c t i o n s _ x l _ v 1 _ 5 . s a f e t e n s o r s " , a d a p t e r _ n a m e = " i k e a " ) p i p e l i n e . l o a d _ l o r a _ w e i g h t s ( " l o r d j i a / b y - f e n g - z i k a i " , w e i g h t _ n a m e = " f e n g z i k a i _ v 1 . 0 _ X L . s a f e t e n s o r s " , a d a p t e r _ n a m e = " f e n g " ) ` ` ` # # s e t _ a d a p t e r s T h e [ s e t _ a d a p t e r s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / p e f t # d i f f u s e r s . l o a d e r s . P e f t A d a p t e r M i x i n . s e t _ a d a p t e r s ) m e t h o d m e r g e s L o R A a d a p t e r s b y c o n c a t e n a t i n g t h e i r w e i g h t e d m a t r i c e s . U s e t h e a d a p t e r n a m e t o s p e c i f y w h i c h L o R A s t o m e r g e , a n d t h e ` a d a p t e r _ w e i g h t s ` p a r a m e t e r t o c o n t r o l t h e s c a l i n g f o r e a c h L o R A . F o r e x a m p l e , i f ` a d a p t e r _ w e i g h t s = [ 0 . 5 , 0 . 5 ] ` , t h e n t h e m e r g e d L o R A o u t p u t i s a n a v e r a g e o f b o t h L o R A s . T r y a d j u s t i n g t h e a d a p t e r w e i g h t s t o s e e h o w i t a f f e c t s t h e g e n e r a t e d i m a g e ! ` ` ` p y p i p e l i n e . s e t _ a d a p t e r s ( [ " i k e a " , " f e n g " ] , a d a p t e r _ w e i g h t s = [ 0 . 7 , 0 . 8 ] ) g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) p r o m p t = " A b o w l o f r a m e n s h a p e d l i k e a c u t e k a w a i i b e a r , b y F e n g Z i k a i " i m a g e = p i p e l i n e ( p r o m p t , g e n e r a t o r = g e n e r a t o r , c r o s s _ a t t e n t i o n _ k w a r g s = { " s c a l e " : 1 . 0 } ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l o r a _ m e r g e _ s e t _ a d a p t e r s . p n g " / > < / d i v > # # a d d _ w e i g h t e d _ a d a p t e r > [ ! W A R N I N G ] > T h i s i s a n e x p e r i m e n t a l m e t h o d t h a t a d d s P E F T s [ a d d _ w e i g h t e d _ a d a p t e r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / p e f t / p a c k a g e _ r e f e r e n c e / l o r a # p e f t . L o r a M o d e l . a d d _ w e i g h t e d _ a d a p t e r ) m e t h o d t o D i f f u s e r s t o e n a b l e m o r e e f f i c i e n t m e r g i n g m e t h o d s . C h e c k o u t t h i s [ i s s u e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / 6 8 9 2 ) i f y o u ' r e i n t e r e s t e d i n l e a r n i n g m o r e a b o u t t h e m o t i v a t i o n a n d d e s i g n b e h i n d t h i s i n t e g r a t i o n . T h e [ a d d _ w e i g h t e d _ a d a p t e r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / p e f t / p a c k a g e _ r e f e r e n c e / l o r a # p e f t . L o r a M o d e l . a d d _ w e i g h t e d _ a d a p t e r ) m e t h o d p r o v i d e s a c c e s s t o m o r e e f f i c i e n t m e r g i n g m e t h o d s u c h a s [ T I E S a n d D A R E ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / p e f t / d e v e l o p e r _ g u i d e s / m o d e l _ m e r g i n g ) . T o u s e t h e s e m e r g i n g m e t h o d s , m a k e s u r e y o u h a v e t h e l a t e s t s t a b l e v e r s i o n o f D i f f u s e r s a n d P E F T i n s t a l l e d . ` ` ` b a s h p i p i n s t a l l - U d i f f u s e r s p e f t ` ` ` T h e r e a r e t h r e e s t e p s t o m e r g e L o R A s w i t h t h e [ a d d _ w e i g h t e d _ a d a p t e r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / p e f t / p a c k a g e _ r e f e r e n c e / l o r a # p e f t . L o r a M o d e l . a d d _ w e i g h t e d _ a d a p t e r ) m e t h o d : 1 . C r e a t e a [ P e f t M o d e l ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / p e f t / p a c k a g e _ r e f e r e n c e / p e f t _ m o d e l # p e f t . P e f t M o d e l ) f r o m t h e u n d e r l y i n g m o d e l a n d L o R A c h e c k p o i n t . 2 . L o a d a b a s e U N e t m o d e l a n d t h e L o R A a d a p t e r s . 3 . M e r g e t h e a d a p t e r s u s i n g t h e [ a d d _ w e i g h t e d _ a d a p t e r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / p e f t / p a c k a g e _ r e f e r e n c e / l o r a # p e f t . L o r a M o d e l . a d d _ w e i g h t e d _ a d a p t e r ) m e t h o d a n d t h e m e r g i n g m e t h o d o f y o u r c h o i c e . L e t ' s d i v e d e e p e r i n t o w h a t t h e s e s t e p s e n t a i l . 1 . L o a d a U N e t t h a t c o r r e s p o n d s t o t h e U N e t i n t h e L o R A c h e c k p o i n t . I n t h i s c a s e , b o t h L o R A s u s e t h e S D X L U N e t a s t h e i r b a s e m o d e l . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t U N e t 2 D C o n d i t i o n M o d e l i m p o r t t o r c h u n e t = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , v a r i a n t = " f p 1 6 " , s u b f o l d e r = " u n e t " , ) . t o ( " c u d a " ) ` ` ` L o a d t h e S D X L p i p e l i n e a n d t h e L o R A c h e c k p o i n t s , s t a r t i n g w i t h t h e [ o s t r i s / i k e a - i n s t r u c t i o n s - l o r a - s d x l ] ( h t t p s : / / h u g g i n g f a c e . c o / o s t r i s / i k e a - i n s t r u c t i o n s - l o r a - s d x l ) L o R A . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u n e t = u n e t ) . t o ( " c u d a " ) p i p e l i n e . l o a d _ l o r a _ w e i g h t s ( " o s t r i s / i k e a - i n s t r u c t i o n s - l o r a - s d x l " , w e i g h t _ n a m e = " i k e a _ i n s t r u c t i o n s _ x l _ v 1 _ 5 . s a f e t e n s o r s " , a d a p t e r _ n a m e = " i k e a " ) ` ` ` N o w y o u ' l l c r e a t e a [ P e f t M o d e l ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / p e f t / p a c k a g e _ r e f e r e n c e / p e f t _ m o d e l # p e f t . P e f t M o d e l ) f r o m t h e l o a d e d L o R A c h e c k p o i n t b y c o m b i n i n g t h e S D X L U N e t a n d t h e L o R A U N e t f r o m t h e p i p e l i n e . ` ` ` p y t h o n f r o m p e f t i m p o r t g e t _ p e f t _ m o d e l , L o r a C o n f i g i m p o r t c o p y s d x l _ u n e t = c o p y . d e e p c o p y ( u n e t ) i k e a _ p e f t _ m o d e l = g e t _ p e f t _ m o d e l ( s d x l _ u n e t , p i p e l i n e . u n e t . p e f t _ c o n f i g [ " i k e a " ] , a d a p t e r _ n a m e = " i k e a " ) o r i g i n a l _ s t a t e _ d i c t = { f " b a s e _ m o d e l . m o d e l . { k } " : v f o r k , v i n p i p e l i n e . u n e t . s t a t e _ d i c t ( ) . i t e m s ( ) } i k e a _ p e f t _ m o d e l . l o a d _ s t a t e _ d i c t ( o r i g i n a l _ s t a t e _ d i c t , s t r i c t = T r u e ) ` ` ` > [ ! T I P ] > Y o u c a n o p t i o n a l l y p u s h t h e i k e a _ p e f t _ m o d e l t o t h e H u b b y c a l l i n g ` i k e a _ p e f t _ m o d e l . p u s h _ t o _ h u b ( " i k e a _ p e f t _ m o d e l " , t o k e n = T O K E N ) ` . R e p e a t t h i s p r o c e s s t o c r e a t e a [ P e f t M o d e l ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / p e f t / p a c k a g e _ r e f e r e n c e / p e f t _ m o d e l # p e f t . P e f t M o d e l ) f r o m t h e [ l o r d j i a / b y - f e n g - z i k a i ] ( h t t p s : / / h u g g i n g f a c e . c o / l o r d j i a / b y - f e n g - z i k a i ) L o R A . ` ` ` p y t h o n p i p e l i n e . d e l e t e _ a d a p t e r s ( " i k e a " ) s d x l _ u n e t . d e l e t e _ a d a p t e r s ( " i k e a " ) p i p e l i n e . l o a d _ l o r a _ w e i g h t s ( " l o r d j i a / b y - f e n g - z i k a i " , w e i g h t _ n a m e = " f e n g z i k a i _ v 1 . 0 _ X L . s a f e t e n s o r s " , a d a p t e r _ n a m e = " f e n g " ) p i p e l i n e . s e t _ a d a p t e r s ( a d a p t e r _ n a m e s = " f e n g " ) f e n g _ p e f t _ m o d e l = g e t _ p e f t _ m o d e l ( s d x l _ u n e t , p i p e l i n e . u n e t . p e f t _ c o n f i g [ " f e n g " ] , a d a p t e r _ n a m e = " f e n g " ) o r i g i n a l _ s t a t e _ d i c t = { f " b a s e _ m o d e l . m o d e l . { k } " : v f o r k , v i n p i p e . u n e t . s t a t e _ d i c t ( ) . i t e m s ( ) } f e n g _ p e f t _ m o d e l . l o a d _ s t a t e _ d i c t ( o r i g i n a l _ s t a t e _ d i c t , s t r i c t = T r u e ) ` ` ` 2 . L o a d a b a s e U N e t m o d e l a n d t h e n l o a d t h e a d a p t e r s o n t o i t . ` ` ` p y t h o n f r o m p e f t i m p o r t P e f t M o d e l b a s e _ u n e t = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , v a r i a n t = " f p 1 6 " , s u b f o l d e r = " u n e t " , ) . t o ( " c u d a " ) m o d e l = P e f t M o d e l . f r o m _ p r e t r a i n e d ( b a s e _ u n e t , " s t e v h l i u / i k e a _ p e f t _ m o d e l " , u s e _ s a f e t e n s o r s = T r u e , s u b f o l d e r = " i k e a " , a d a p t e r _ n a m e = " i k e a " ) m o d e l . l o a d _ a d a p t e r ( " s t e v h l i u / f e n g _ p e f t _ m o d e l " , u s e _ s a f e t e n s o r s = T r u e , s u b f o l d e r = " f e n g " , a d a p t e r _ n a m e = " f e n g " ) ` ` ` 3 . M e r g e t h e a d a p t e r s u s i n g t h e [ a d d _ w e i g h t e d _ a d a p t e r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / p e f t / p a c k a g e _ r e f e r e n c e / l o r a # p e f t . L o r a M o d e l . a d d _ w e i g h t e d _ a d a p t e r ) m e t h o d a n d t h e m e r g i n g m e t h o d o f y o u r c h o i c e ( l e a r n m o r e a b o u t o t h e r m e r g i n g m e t h o d s i n t h i s [ b l o g p o s t ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / p e f t _ m e r g i n g ) ) . F o r t h i s e x a m p l e , l e t ' s u s e t h e ` " d a r e _ l i n e a r " ` m e t h o d t o m e r g e t h e L o R A s . > [ ! W A R N I N G ] > K e e p i n m i n d t h e L o R A s n e e d t o h a v e t h e s a m e r a n k t o b e m e r g e d ! ` ` ` p y t h o n m o d e l . a d d _ w e i g h t e d _ a d a p t e r ( a d a p t e r s = [ " i k e a " , " f e n g " ] , w e i g h t s = [ 1 . 0 , 1 . 0 ] , c o m b i n a t i o n _ t y p e = " d a r e _ l i n e a r " , a d a p t e r _ n a m e = " i k e a - f e n g " ) m o d e l . s e t _ a d a p t e r s ( " i k e a - f e n g " ) ` ` ` N o w y o u c a n g e n e r a t e a n i m a g e w i t h t h e m e r g e d L o R A . ` ` ` p y t h o n m o d e l = m o d e l . t o ( d t y p e = t o r c h . f l o a t 1 6 , d e v i c e = " c u d a " ) p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , u n e t = m o d e l , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , ) . t o ( " c u d a " ) i m a g e = p i p e l i n e ( " A b o w l o f r a m e n s h a p e d l i k e a c u t e k a w a i i b e a r , b y F e n g Z i k a i " , g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i k e a - f e n g - d a r e - l i n e a r . p n g " / > < / d i v > # # f u s e _ l o r a B o t h t h e [ s e t _ a d a p t e r s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / p e f t # d i f f u s e r s . l o a d e r s . P e f t A d a p t e r M i x i n . s e t _ a d a p t e r s ) a n d [ a d d _ w e i g h t e d _ a d a p t e r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / p e f t / p a c k a g e _ r e f e r e n c e / l o r a # p e f t . L o r a M o d e l . a d d _ w e i g h t e d _ a d a p t e r ) m e t h o d s r e q u i r e l o a d i n g t h e b a s e m o d e l a n d t h e L o R A a d a p t e r s s e p a r a t e l y w h i c h i n c u r s s o m e o v e r h e a d . T h e [ f u s e _ l o r a ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . l o r a _ b a s e . L o r a B a s e M i x i n . f u s e _ l o r a ) m e t h o d a l l o w s y o u t o f u s e t h e L o R A w e i g h t s d i r e c t l y w i t h t h e o r i g i n a l w e i g h t s o f t h e u n d e r l y i n g m o d e l . T h i s w a y , y o u ' r e o n l y l o a d i n g t h e m o d e l o n c e w h i c h c a n i n c r e a s e i n f e r e n c e a n d l o w e r m e m o r y - u s a g e . Y o u c a n u s e P E F T t o e a s i l y f u s e / u n f u s e m u l t i p l e a d a p t e r s d i r e c t l y i n t o t h e m o d e l w e i g h t s ( b o t h U N e t a n d t e x t e n c o d e r ) u s i n g t h e [ f u s e _ l o r a ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . l o r a _ b a s e . L o r a B a s e M i x i n . f u s e _ l o r a ) m e t h o d , w h i c h c a n l e a d t o a s p e e d - u p i n i n f e r e n c e a n d l o w e r V R A M u s a g e . F o r e x a m p l e , i f y o u h a v e a b a s e m o d e l a n d a d a p t e r s l o a d e d a n d s e t a s a c t i v e w i t h t h e f o l l o w i n g a d a p t e r w e i g h t s : ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e . l o a d _ l o r a _ w e i g h t s ( " o s t r i s / i k e a - i n s t r u c t i o n s - l o r a - s d x l " , w e i g h t _ n a m e = " i k e a _ i n s t r u c t i o n s _ x l _ v 1 _ 5 . s a f e t e n s o r s " , a d a p t e r _ n a m e = " i k e a " ) p i p e l i n e . l o a d _ l o r a _ w e i g h t s ( " l o r d j i a / b y - f e n g - z i k a i " , w e i g h t _ n a m e = " f e n g z i k a i _ v 1 . 0 _ X L . s a f e t e n s o r s " , a d a p t e r _ n a m e = " f e n g " ) p i p e l i n e . s e t _ a d a p t e r s ( [ " i k e a " , " f e n g " ] , a d a p t e r _ w e i g h t s = [ 0 . 7 , 0 . 8 ] ) ` ` ` F u s e t h e s e L o R A s i n t o t h e U N e t w i t h t h e [ f u s e _ l o r a ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . l o r a _ b a s e . L o r a B a s e M i x i n . f u s e _ l o r a ) m e t h o d . T h e ` l o r a _ s c a l e ` p a r a m e t e r c o n t r o l s h o w m u c h t o s c a l e t h e o u t p u t b y w i t h t h e L o R A w e i g h t s . I t i s i m p o r t a n t t o m a k e t h e ` l o r a _ s c a l e ` a d j u s t m e n t s i n t h e [ f u s e _ l o r a ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . l o r a _ b a s e . L o r a B a s e M i x i n . f u s e _ l o r a ) m e t h o d b e c a u s e i t w o n โ€™ t w o r k i f y o u t r y t o p a s s ` s c a l e ` t o t h e ` c r o s s _ a t t e n t i o n _ k w a r g s ` i n t h e p i p e l i n e . ` ` ` p y p i p e l i n e . f u s e _ l o r a ( a d a p t e r _ n a m e s = [ " i k e a " , " f e n g " ] , l o r a _ s c a l e = 1 . 0 ) ` ` ` T h e n y o u s h o u l d u s e [ u n l o a d _ l o r a _ w e i g h t s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . l o r a _ b a s e . L o r a B a s e M i x i n . u n l o a d _ l o r a _ w e i g h t s ) t o u n l o a d t h e L o R A w e i g h t s s i n c e t h e y ' v e a l r e a d y b e e n f u s e d w i t h t h e u n d e r l y i n g b a s e m o d e l . F i n a l l y , c a l l [ s a v e _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . s a v e _ p r e t r a i n e d ) t o s a v e t h e f u s e d p i p e l i n e l o c a l l y o r y o u c o u l d c a l l [ p u s h _ t o _ h u b ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . u t i l s . P u s h T o H u b M i x i n . p u s h _ t o _ h u b ) t o p u s h t h e f u s e d p i p e l i n e t o t h e H u b . ` ` ` p y p i p e l i n e . u n l o a d _ l o r a _ w e i g h t s ( ) # s a v e l o c a l l y p i p e l i n e . s a v e _ p r e t r a i n e d ( " p a t h / t o / f u s e d - p i p e l i n e " ) # s a v e t o t h e H u b p i p e l i n e . p u s h _ t o _ h u b ( " f u s e d - i k e a - f e n g " ) ` ` ` N o w y o u c a n q u i c k l y l o a d t h e f u s e d p i p e l i n e a n d u s e i t f o r i n f e r e n c e w i t h o u t n e e d i n g t o s e p a r a t e l y l o a d t h e L o R A a d a p t e r s . ` ` ` p y p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " u s e r n a m e / f u s e d - i k e a - f e n g " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , ) . t o ( " c u d a " ) i m a g e = p i p e l i n e ( " A b o w l o f r a m e n s h a p e d l i k e a c u t e k a w a i i b e a r , b y F e n g Z i k a i " , g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) ) . i m a g e s [ 0 ] i m a g e ` ` ` Y o u c a n c a l l ` ~ ~ l o a d e r s . l o r a _ b a s e . L o r a B a s e M i x i n . u n f u s e _ l o r a ` t o r e s t o r e t h e o r i g i n a l m o d e l ' s w e i g h t s ( f o r e x a m p l e , i f y o u w a n t t o u s e a d i f f e r e n t ` l o r a _ s c a l e ` v a l u e ) . H o w e v e r , t h i s o n l y w o r k s i f y o u ' v e o n l y f u s e d o n e L o R A a d a p t e r t o t h e o r i g i n a l m o d e l . I f y o u ' v e f u s e d m u l t i p l e L o R A s , y o u ' l l n e e d t o r e l o a d t h e m o d e l . ` ` ` p y p i p e l i n e . u n f u s e _ l o r a ( ) ` ` ` # # # t o r c h . c o m p i l e [ t o r c h . c o m p i l e ] ( . . / o p t i m i z a t i o n / t o r c h 2 . 0 # t o r c h c o m p i l e ) c a n s p e e d u p y o u r p i p e l i n e e v e n m o r e , b u t t h e L o R A w e i g h t s m u s t b e f u s e d f i r s t a n d t h e n u n l o a d e d . T y p i c a l l y , t h e U N e t i s c o m p i l e d b e c a u s e i t i s s u c h a c o m p u t a t i o n a l l y i n t e n s i v e c o m p o n e n t o f t h e p i p e l i n e . ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h # l o a d b a s e m o d e l a n d L o R A s p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e . l o a d _ l o r a _ w e i g h t s ( " o s t r i s / i k e a - i n s t r u c t i o n s - l o r a - s d x l " , w e i g h t _ n a m e = " i k e a _ i n s t r u c t i o n s _ x l _ v 1 _ 5 . s a f e t e n s o r s " , a d a p t e r _ n a m e = " i k e a " ) p i p e l i n e . l o a d _ l o r a _ w e i g h t s ( " l o r d j i a / b y - f e n g - z i k a i " , w e i g h t _ n a m e = " f e n g z i k a i _ v 1 . 0 _ X L . s a f e t e n s o r s " , a d a p t e r _ n a m e = " f e n g " ) # a c t i v a t e b o t h L o R A s a n d s e t a d a p t e r w e i g h t s p i p e l i n e . s e t _ a d a p t e r s ( [ " i k e a " , " f e n g " ] , a d a p t e r _ w e i g h t s = [ 0 . 7 , 0 . 8 ] ) # f u s e L o R A s a n d u n l o a d w e i g h t s p i p e l i n e . f u s e _ l o r a ( a d a p t e r _ n a m e s = [ " i k e a " , " f e n g " ] , l o r a _ s c a l e = 1 . 0 ) p i p e l i n e . u n l o a d _ l o r a _ w e i g h t s ( ) # t o r c h . c o m p i l e p i p e l i n e . u n e t . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) p i p e l i n e . u n e t = t o r c h . c o m p i l e ( p i p e l i n e . u n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) i m a g e = p i p e l i n e ( " A b o w l o f r a m e n s h a p e d l i k e a c u t e k a w a i i b e a r , b y F e n g Z i k a i " , g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) ) . i m a g e s [ 0 ] ` ` ` L e a r n m o r e a b o u t t o r c h . c o m p i l e i n t h e [ A c c e l e r a t e i n f e r e n c e o f t e x t - t o - i m a g e d i f f u s i o n m o d e l s ] ( . . / t u t o r i a l s / f a s t _ d i f f u s i o n # t o r c h c o m p i l e ) g u i d e . # # N e x t s t e p s F o r m o r e c o n c e p t u a l d e t a i l s a b o u t h o w e a c h m e r g i n g m e t h o d w o r k s , t a k e a l o o k a t t h e [ ๐Ÿค— P E F T w e l c o m e s n e w m e r g i n g m e t h o d s ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / p e f t _ m e r g i n g # c o n c a t e n a t i o n - c a t ) b l o g p o s t ! # P e r t u r b e d - A t t e n t i o n G u i d a n c e [ P e r t u r b e d - A t t e n t i o n G u i d a n c e ( P A G ) ] ( h t t p s : / / k u - c v l a b . g i t h u b . i o / P e r t u r b e d - A t t e n t i o n - G u i d a n c e / ) i s a n e w d i f f u s i o n s a m p l i n g g u i d a n c e t h a t i m p r o v e s s a m p l e q u a l i t y a c r o s s b o t h u n c o n d i t i o n a l a n d c o n d i t i o n a l s e t t i n g s , a c h i e v i n g t h i s w i t h o u t r e q u i r i n g f u r t h e r t r a i n i n g o r t h e i n t e g r a t i o n o f e x t e r n a l m o d u l e s . P A G i s d e s i g n e d t o p r o g r e s s i v e l y e n h a n c e t h e s t r u c t u r e o f s y n t h e s i z e d s a m p l e s t h r o u g h o u t t h e d e n o i s i n g p r o c e s s b y c o n s i d e r i n g t h e s e l f - a t t e n t i o n m e c h a n i s m s ' a b i l i t y t o c a p t u r e s t r u c t u r a l i n f o r m a t i o n . I t i n v o l v e s g e n e r a t i n g i n t e r m e d i a t e s a m p l e s w i t h d e g r a d e d s t r u c t u r e b y s u b s t i t u t i n g s e l e c t e d s e l f - a t t e n t i o n m a p s i n d i f f u s i o n U - N e t w i t h a n i d e n t i t y m a t r i x , a n d g u i d i n g t h e d e n o i s i n g p r o c e s s a w a y f r o m t h e s e d e g r a d e d s a m p l e s . T h i s g u i d e w i l l s h o w y o u h o w t o u s e P A G f o r v a r i o u s t a s k s a n d u s e c a s e s . # # G e n e r a l t a s k s Y o u c a n a p p l y P A G t o t h e [ S t a b l e D i f f u s i o n X L P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L P i p e l i n e ) f o r t a s k s s u c h a s t e x t - t o - i m a g e , i m a g e - t o - i m a g e , a n d i n p a i n t i n g . T o e n a b l e P A G f o r a s p e c i f i c t a s k , l o a d t h e p i p e l i n e u s i n g t h e [ A u t o P i p e l i n e ] ( . . / a p i / p i p e l i n e s / a u t o _ p i p e l i n e ) A P I w i t h t h e ` e n a b l e _ p a g = T r u e ` f l a g a n d t h e ` p a g _ a p p l i e d _ l a y e r s ` a r g u m e n t . > [ ! T I P ] > ๐Ÿค— D i f f u s e r s c u r r e n t l y o n l y s u p p o r t s u s i n g P A G w i t h s e l e c t e d S D X L p i p e l i n e s a n d [ P i x A r t S i g m a P A G P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / p a g # d i f f u s e r s . P i x A r t S i g m a P A G P i p e l i n e ) . B u t f e e l f r e e t o o p e n a [ f e a t u r e r e q u e s t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / n e w / c h o o s e ) i f y o u w a n t t o a d d P A G s u p p o r t t o a n e w p i p e l i n e ! < h f o p t i o n s i d = " t a s k s " > < h f o p t i o n i d = " T e x t - t o - i m a g e " > ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , e n a b l e _ p a g = T r u e , p a g _ a p p l i e d _ l a y e r s = [ " m i d " ] , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` ` ` > [ ! T I P ] > T h e ` p a g _ a p p l i e d _ l a y e r s ` a r g u m e n t a l l o w s y o u t o s p e c i f y w h i c h l a y e r s P A G i s a p p l i e d t o . A d d i t i o n a l l y , y o u c a n u s e ` s e t _ p a g _ a p p l i e d _ l a y e r s ` m e t h o d t o u p d a t e t h e s e l a y e r s a f t e r t h e p i p e l i n e h a s b e e n c r e a t e d . C h e c k o u t t h e [ p a g _ a p p l i e d _ l a y e r s ] ( # p a g _ a p p l i e d _ l a y e r s ) s e c t i o n t o l e a r n m o r e a b o u t a p p l y i n g P A G t o o t h e r l a y e r s . I f y o u a l r e a d y h a v e a p i p e l i n e c r e a t e d a n d l o a d e d , y o u c a n e n a b l e P A G o n i t u s i n g t h e ` f r o m _ p i p e ` A P I w i t h t h e ` e n a b l e _ p a g ` f l a g . I n t e r n a l l y , a P A G p i p e l i n e i s c r e a t e d b a s e d o n t h e p i p e l i n e a n d t a s k y o u s p e c i f i e d . I n t h e e x a m p l e b e l o w , s i n c e w e u s e d ` A u t o P i p e l i n e F o r T e x t 2 I m a g e ` a n d p a s s e d a ` S t a b l e D i f f u s i o n X L P i p e l i n e ` , a ` S t a b l e D i f f u s i o n X L P A G P i p e l i n e ` i s c r e a t e d a c c o r d i n g l y . N o t e t h a t t h i s d o e s n o t r e q u i r e a d d i t i o n a l m e m o r y , a n d y o u w i l l h a v e b o t h ` S t a b l e D i f f u s i o n X L P i p e l i n e ` a n d ` S t a b l e D i f f u s i o n X L P A G P i p e l i n e ` l o a d e d a n d r e a d y t o u s e . Y o u c a n r e a d m o r e a b o u t t h e ` f r o m _ p i p e ` A P I a n d h o w t o r e u s e p i p e l i n e s i n d i f f u s e r [ h e r e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / u s i n g - d i f f u s e r s / l o a d i n g # r e u s e - a - p i p e l i n e ) . ` ` ` p y p i p e l i n e _ s d x l = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p i p e ( p i p e l i n e _ s d x l , e n a b l e _ p a g = T r u e ) ` ` ` T o g e n e r a t e a n i m a g e , y o u w i l l a l s o n e e d t o p a s s a ` p a g _ s c a l e ` . W h e n ` p a g _ s c a l e ` i n c r e a s e s , i m a g e s g a i n m o r e s e m a n t i c a l l y c o h e r e n t s t r u c t u r e s a n d e x h i b i t f e w e r a r t i f a c t s . H o w e v e r o v e r l y l a r g e g u i d a n c e s c a l e c a n l e a d t o s m o o t h e r t e x t u r e s a n d s l i g h t s a t u r a t i o n i n t h e i m a g e s , s i m i l a r l y t o C F G . ` p a g _ s c a l e = 3 . 0 ` i s u s e d i n t h e o f f i c i a l d e m o a n d w o r k s w e l l i n m o s t o f t h e u s e c a s e s , b u t f e e l f r e e t o e x p e r i m e n t a n d s e l e c t t h e a p p r o p r i a t e v a l u e a c c o r d i n g t o y o u r n e e d s ! P A G i s d i s a b l e d w h e n ` p a g _ s c a l e = 0 ` . ` ` ` p y p r o m p t = " a n i n s e c t r o b o t p r e p a r i n g a d e l i c i o u s m e a l , a n i m e s t y l e " f o r p a g _ s c a l e i n [ 0 . 0 , 3 . 0 ] : g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 0 ) i m a g e s = p i p e l i n e ( p r o m p t = p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 2 5 , g u i d a n c e _ s c a l e = 7 . 0 , g e n e r a t o r = g e n e r a t o r , p a g _ s c a l e = p a g _ s c a l e , ) . i m a g e s ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / p a g _ 0 . 0 _ c f g _ 7 . 0 _ m i d . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d i m a g e w i t h o u t P A G < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / p a g _ 3 . 0 _ c f g _ 7 . 0 _ m i d . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d i m a g e w i t h P A G < / f i g c a p t i o n > < / d i v > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " I m a g e - t o - i m a g e " > Y o u c a n u s e P A G w i t h i m a g e - t o - i m a g e p i p e l i n e s . ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I m a g e 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , e n a b l e _ p a g = T r u e , p a g _ a p p l i e d _ l a y e r s = [ " m i d " ] , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` ` ` I f y o u a l r e a d y h a v e a i m a g e - t o - i m a g e p i p e l i n e a n d w o u l d l i k e e n a b l e P A G o n i t , y o u c a n r u n t h i s ` ` ` p y p i p e l i n e _ t 2 i = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p i p e ( p i p e l i n e _ t 2 i , e n a b l e _ p a g = T r u e ) ` ` ` I t i s a l s o v e r y e a s y t o d i r e c t l y s w i t c h f r o m a t e x t - t o - i m a g e p i p e l i n e t o P A G e n a b l e d i m a g e - t o - i m a g e p i p e l i n e ` ` ` p y p i p e l i n e _ p a g = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p i p e ( p i p e l i n e _ t 2 i , e n a b l e _ p a g = T r u e ) ` ` ` I f y o u h a v e a P A G e n a b l e d t e x t - t o - i m a g e p i p e l i n e , y o u c a n d i r e c t l y s w i t c h t o a i m a g e - t o - i m a g e p i p e l i n e w i t h P A G s t i l l e n a b l e d ` ` ` p y p i p e l i n e _ p a g = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , e n a b l e _ p a g = T r u e , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p i p e ( p i p e l i n e _ t 2 i ) ` ` ` N o w l e t ' s g e n e r a t e a n i m a g e ! ` ` ` p y p a g _ s c a l e s = 4 . 0 g u i d a n c e _ s c a l e s = 7 . 0 u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s d x l - t e x t 2 i m g . p n g " i n i t _ i m a g e = l o a d _ i m a g e ( u r l ) p r o m p t = " a d o g c a t c h i n g a f r i s b e e i n t h e j u n g l e " g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 0 ) i m a g e = p i p e l i n e ( p r o m p t , i m a g e = i n i t _ i m a g e , s t r e n g t h = 0 . 8 , g u i d a n c e _ s c a l e = g u i d a n c e _ s c a l e , p a g _ s c a l e = p a g _ s c a l e , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " I n p a i n t i n g " > ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , e n a b l e _ p a g = T r u e , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` ` ` Y o u c a n e n a b l e P A G o n a n e x i s i t i n g i n p a i n t i n g p i p e l i n e l i k e t h i s ` ` ` p y p i p e l i n e _ i n p a i n t = A u t o P i p e l i n e F o r I n p a i t i n g . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e = A u t o P i p e l i n e F o r I n p a i t i n g . f r o m _ p i p e ( p i p e l i n e _ i n p a i n t , e n a b l e _ p a g = T r u e ) ` ` ` T h i s s t i l l w o r k s w h e n y o u r p i p e l i n e h a s a d i f f e r e n t t a s k : ` ` ` p y p i p e l i n e _ t 2 i = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e = A u t o P i p e l i n e F o r I n p a i t i n g . f r o m _ p i p e ( p i p e l i n e _ t 2 i , e n a b l e _ p a g = T r u e ) ` ` ` L e t ' s g e n e r a t e a n i m a g e ! ` ` ` p y i m g _ u r l = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / C o m p V i s / l a t e n t - d i f f u s i o n / m a i n / d a t a / i n p a i n t i n g _ e x a m p l e s / o v e r t u r e - c r e a t i o n s - 5 s I 6 f Q g Y I u o . p n g " m a s k _ u r l = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / C o m p V i s / l a t e n t - d i f f u s i o n / m a i n / d a t a / i n p a i n t i n g _ e x a m p l e s / o v e r t u r e - c r e a t i o n s - 5 s I 6 f Q g Y I u o _ m a s k . p n g " i n i t _ i m a g e = l o a d _ i m a g e ( i m g _ u r l ) . c o n v e r t ( " R G B " ) m a s k _ i m a g e = l o a d _ i m a g e ( m a s k _ u r l ) . c o n v e r t ( " R G B " ) p r o m p t = " A m a j e s t i c t i g e r s i t t i n g o n a b e n c h " p a g _ s c a l e s = 3 . 0 g u i d a n c e _ s c a l e s = 7 . 5 g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 1 ) i m a g e s = p i p e l i n e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e , s t r e n g t h = 0 . 8 , n u m _ i n f e r e n c e _ s t e p s = 5 0 , g u i d a n c e _ s c a l e = g u i d a n c e _ s c a l e , g e n e r a t o r = g e n e r a t o r , p a g _ s c a l e = p a g _ s c a l e , ) . i m a g e s i m a g e s [ 0 ] ` ` ` < / h f o p t i o n > < / h f o p t i o n s > # # P A G w i t h C o n t r o l N e t T o u s e P A G w i t h C o n t r o l N e t , f i r s t c r e a t e a ` c o n t r o l n e t ` . T h e n , p a s s t h e ` c o n t r o l n e t ` a n d o t h e r P A G a r g u m e n t s t o t h e ` f r o m _ p r e t r a i n e d ` m e t h o d o f t h e A u t o P i p e l i n e f o r t h e s p e c i f i e d t a s k . ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e , C o n t r o l N e t M o d e l i m p o r t t o r c h c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " d i f f u s e r s / c o n t r o l n e t - c a n n y - s d x l - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , c o n t r o l n e t = c o n t r o l n e t , e n a b l e _ p a g = T r u e , p a g _ a p p l i e d _ l a y e r s = " m i d " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` ` ` < T i p > I f y o u a l r e a d y h a v e a c o n t r o l n e t p i p e l i n e a n d w a n t t o e n a b l e P A G , y o u c a n u s e t h e ` f r o m _ p i p e ` A P I : ` A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p i p e ( p i p e l i n e _ c o n t r o l n e t , e n a b l e _ p a g = T r u e ) ` < / T i p > Y o u c a n u s e t h e p i p e l i n e i n t h e s a m e w a y y o u n o r m a l l y u s e C o n t r o l N e t p i p e l i n e s , w i t h t h e a d d e d o p t i o n t o s p e c i f y a ` p a g _ s c a l e ` p a r a m e t e r . N o t e t h a t P A G w o r k s w e l l f o r u n c o n d i t i o n a l g e n e r a t i o n . I n t h i s e x a m p l e , w e w i l l g e n e r a t e a n i m a g e w i t h o u t a p r o m p t . ` ` ` p y f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e c a n n y _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / p a g _ c o n t r o l _ i n p u t . p n g " ) f o r p a g _ s c a l e i n [ 0 . 0 , 3 . 0 ] : g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 1 ) i m a g e s = p i p e l i n e ( p r o m p t = " " , c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e = c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e , i m a g e = c a n n y _ i m a g e , n u m _ i n f e r e n c e _ s t e p s = 5 0 , g u i d a n c e _ s c a l e = 0 , g e n e r a t o r = g e n e r a t o r , p a g _ s c a l e = p a g _ s c a l e , ) . i m a g e s i m a g e s [ 0 ] ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / p a g _ 0 . 0 _ c o n t r o l n e t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d i m a g e w i t h o u t P A G < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / p a g _ 3 . 0 _ c o n t r o l n e t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d i m a g e w i t h P A G < / f i g c a p t i o n > < / d i v > < / d i v > # # P A G w i t h I P - A d a p t e r [ I P - A d a p t e r ] ( h t t p s : / / h f . c o / p a p e r s / 2 3 0 8 . 0 6 7 2 1 ) i s a p o p u l a r m o d e l t h a t c a n b e p l u g g e d i n t o d i f f u s i o n m o d e l s t o e n a b l e i m a g e p r o m p t i n g w i t h o u t a n y c h a n g e s t o t h e u n d e r l y i n g m o d e l . Y o u c a n e n a b l e P A G o n a p i p e l i n e w i t h I P - A d a p t e r l o a d e d . ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e f r o m t r a n s f o r m e r s i m p o r t C L I P V i s i o n M o d e l W i t h P r o j e c t i o n i m p o r t t o r c h i m a g e _ e n c o d e r = C L I P V i s i o n M o d e l W i t h P r o j e c t i o n . f r o m _ p r e t r a i n e d ( " h 9 4 / I P - A d a p t e r " , s u b f o l d e r = " m o d e l s / i m a g e _ e n c o d e r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , i m a g e _ e n c o d e r = i m a g e _ e n c o d e r , e n a b l e _ p a g = T r u e , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e . l o a d _ i p _ a d a p t e r ( " h 9 4 / I P - A d a p t e r " , s u b f o l d e r = " s d x l _ m o d e l s " , w e i g h t _ n a m e = " i p - a d a p t e r - p l u s _ s d x l _ v i t - h . b i n " ) p a g _ s c a l e s = 5 . 0 i p _ a d a p t e r _ s c a l e s = 0 . 8 i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i p _ a d a p t e r _ d i n e r . p n g " ) p i p e l i n e . s e t _ i p _ a d a p t e r _ s c a l e ( i p _ a d a p t e r _ s c a l e ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 0 ) i m a g e s = p i p e l i n e ( p r o m p t = " a p o l a r b e a r s i t t i n g i n a c h a i r d r i n k i n g a m i l k s h a k e " , i p _ a d a p t e r _ i m a g e = i m a g e , n e g a t i v e _ p r o m p t = " d e f o r m e d , u g l y , w r o n g p r o p o r t i o n , l o w r e s , b a d a n a t o m y , w o r s t q u a l i t y , l o w q u a l i t y " , n u m _ i n f e r e n c e _ s t e p s = 2 5 , g u i d a n c e _ s c a l e = 3 . 0 , g e n e r a t o r = g e n e r a t o r , p a g _ s c a l e = p a g _ s c a l e , ) . i m a g e s i m a g e s [ 0 ] ` ` ` P A G r e d u c e s a r t i f a c t s a n d i m p r o v e s t h e o v e r a l l c o m p p o s i t i o n . < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / p a g _ 0 . 0 _ i p a _ 0 . 8 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d i m a g e w i t h o u t P A G < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / p a g _ 5 . 0 _ i p a _ 0 . 8 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d i m a g e w i t h P A G < / f i g c a p t i o n > < / d i v > < / d i v > # # C o n f i g u r e p a r a m e t e r s # # # p a g _ a p p l i e d _ l a y e r s T h e ` p a g _ a p p l i e d _ l a y e r s ` a r g u m e n t a l l o w s y o u t o s p e c i f y w h i c h l a y e r s P A G i s a p p l i e d t o . B y d e f a u l t , i t a p p l i e s o n l y t o t h e m i d b l o c k s . C h a n g i n g t h i s s e t t i n g w i l l s i g n i f i c a n t l y i m p a c t t h e o u t p u t . Y o u c a n u s e t h e ` s e t _ p a g _ a p p l i e d _ l a y e r s ` m e t h o d t o a d j u s t t h e P A G l a y e r s a f t e r t h e p i p e l i n e i s c r e a t e d , h e l p i n g y o u f i n d t h e o p t i m a l l a y e r s f o r y o u r m o d e l . A s a n e x a m p l e , h e r e i s t h e i m a g e s g e n e r a t e d w i t h ` p a g _ l a y e r s = [ " d o w n . b l o c k _ 2 " ] ` a n d ` p a g _ l a y e r s = [ " d o w n . b l o c k _ 2 " , " u p . b l o c k _ 1 . a t t e n t i o n s _ 0 " ] ` ` ` ` p y p r o m p t = " a n i n s e c t r o b o t p r e p a r i n g a d e l i c i o u s m e a l , a n i m e s t y l e " p i p e l i n e . s e t _ p a g _ a p p l i e d _ l a y e r s ( p a g _ l a y e r s ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 0 ) i m a g e s = p i p e l i n e ( p r o m p t = p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 2 5 , g u i d a n c e _ s c a l e = g u i d a n c e _ s c a l e , g e n e r a t o r = g e n e r a t o r , p a g _ s c a l e = p a g _ s c a l e , ) . i m a g e s i m a g e s [ 0 ] ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / p a g _ 3 . 0 _ c f g _ 7 . 0 _ d o w n 2 _ u p 1 a 0 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > d o w n . b l o c k _ 2 + u p . b l o c k 1 . a t t e n t i o n s _ 0 < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / p a g _ 3 . 0 _ c f g _ 7 . 0 _ d o w n 2 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > d o w n . b l o c k _ 2 < / f i g c a p t i o n > < / d i v > < / d i v > # C o n t r o l l e d g e n e r a t i o n C o n t r o l l i n g o u t p u t s g e n e r a t e d b y d i f f u s i o n m o d e l s h a s b e e n l o n g p u r s u e d b y t h e c o m m u n i t y a n d i s n o w a n a c t i v e r e s e a r c h t o p i c . I n m a n y p o p u l a r d i f f u s i o n m o d e l s , s u b t l e c h a n g e s i n i n p u t s , b o t h i m a g e s a n d t e x t p r o m p t s , c a n d r a s t i c a l l y c h a n g e o u t p u t s . I n a n i d e a l w o r l d w e w a n t t o b e a b l e t o c o n t r o l h o w s e m a n t i c s a r e p r e s e r v e d a n d c h a n g e d . M o s t e x a m p l e s o f p r e s e r v i n g s e m a n t i c s r e d u c e t o b e i n g a b l e t o a c c u r a t e l y m a p a c h a n g e i n i n p u t t o a c h a n g e i n o u t p u t . I . e . a d d i n g a n a d j e c t i v e t o a s u b j e c t i n a p r o m p t p r e s e r v e s t h e e n t i r e i m a g e , o n l y m o d i f y i n g t h e c h a n g e d s u b j e c t . O r , i m a g e v a r i a t i o n o f a p a r t i c u l a r s u b j e c t p r e s e r v e s t h e s u b j e c t ' s p o s e . A d d i t i o n a l l y , t h e r e a r e q u a l i t i e s o f g e n e r a t e d i m a g e s t h a t w e w o u l d l i k e t o i n f l u e n c e b e y o n d s e m a n t i c p r e s e r v a t i o n . I . e . i n g e n e r a l , w e w o u l d l i k e o u r o u t p u t s t o b e o f g o o d q u a l i t y , a d h e r e t o a p a r t i c u l a r s t y l e , o r b e r e a l i s t i c . W e w i l l d o c u m e n t s o m e o f t h e t e c h n i q u e s ` d i f f u s e r s ` s u p p o r t s t o c o n t r o l g e n e r a t i o n o f d i f f u s i o n m o d e l s . M u c h i s c u t t i n g e d g e r e s e a r c h a n d c a n b e q u i t e n u a n c e d . I f s o m e t h i n g n e e d s c l a r i f y i n g o r y o u h a v e a s u g g e s t i o n , d o n ' t h e s i t a t e t o o p e n a d i s c u s s i o n o n t h e [ f o r u m ] ( h t t p s : / / d i s c u s s . h u g g i n g f a c e . c o / c / d i s c u s s i o n - r e l a t e d - t o - h t t p s g i t h u b c o m h u g g i n g f a c e d i f f u s e r s / 6 3 ) o r a [ G i t H u b i s s u e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s ) . W e p r o v i d e a h i g h l e v e l e x p l a n a t i o n o f h o w t h e g e n e r a t i o n c a n b e c o n t r o l l e d a s w e l l a s a s n i p p e t o f t h e t e c h n i c a l s . F o r m o r e i n d e p t h e x p l a n a t i o n s o n t h e t e c h n i c a l s , t h e o r i g i n a l p a p e r s w h i c h a r e l i n k e d f r o m t h e p i p e l i n e s a r e a l w a y s t h e b e s t r e s o u r c e s . D e p e n d i n g o n t h e u s e c a s e , o n e s h o u l d c h o o s e a t e c h n i q u e a c c o r d i n g l y . I n m a n y c a s e s , t h e s e t e c h n i q u e s c a n b e c o m b i n e d . F o r e x a m p l e , o n e c a n c o m b i n e T e x t u a l I n v e r s i o n w i t h S E G A t o p r o v i d e m o r e s e m a n t i c g u i d a n c e t o t h e o u t p u t s g e n e r a t e d u s i n g T e x t u a l I n v e r s i o n . U n l e s s o t h e r w i s e m e n t i o n e d , t h e s e a r e t e c h n i q u e s t h a t w o r k w i t h e x i s t i n g m o d e l s a n d d o n ' t r e q u i r e t h e i r o w n w e i g h t s . 1 . [ I n s t r u c t P i x 2 P i x ] ( # i n s t r u c t - p i x 2 p i x ) 2 . [ P i x 2 P i x Z e r o ] ( # p i x 2 p i x - z e r o ) 3 . [ A t t e n d a n d E x c i t e ] ( # a t t e n d - a n d - e x c i t e ) 4 . [ S e m a n t i c G u i d a n c e ] ( # s e m a n t i c - g u i d a n c e - s e g a ) 5 . [ S e l f - a t t e n t i o n G u i d a n c e ] ( # s e l f - a t t e n t i o n - g u i d a n c e - s a g ) 6 . [ D e p t h 2 I m a g e ] ( # d e p t h 2 i m a g e ) 7 . [ M u l t i D i f f u s i o n P a n o r a m a ] ( # m u l t i d i f f u s i o n - p a n o r a m a ) 8 . [ D r e a m B o o t h ] ( # d r e a m b o o t h ) 9 . [ T e x t u a l I n v e r s i o n ] ( # t e x t u a l - i n v e r s i o n ) 1 0 . [ C o n t r o l N e t ] ( # c o n t r o l n e t ) 1 1 . [ P r o m p t W e i g h t i n g ] ( # p r o m p t - w e i g h t i n g ) 1 2 . [ C u s t o m D i f f u s i o n ] ( # c u s t o m - d i f f u s i o n ) 1 3 . [ M o d e l E d i t i n g ] ( # m o d e l - e d i t i n g ) 1 4 . [ D i f f E d i t ] ( # d i f f e d i t ) 1 5 . [ T 2 I - A d a p t e r ] ( # t 2 i - a d a p t e r ) 1 6 . [ F A B R I C ] ( # f a b r i c ) F o r c o n v e n i e n c e , w e p r o v i d e a t a b l e t o d e n o t e w h i c h m e t h o d s a r e i n f e r e n c e - o n l y a n d w h i c h r e q u i r e f i n e - t u n i n g / t r a i n i n g . | * * M e t h o d * * | * * I n f e r e n c e o n l y * * | * * R e q u i r e s t r a i n i n g / < b r > f i n e - t u n i n g * * | * * C o m m e n t s * * | | : - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - : | : - - - - - - - - - - - - - - - - : | : - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - : | : - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - : | | [ I n s t r u c t P i x 2 P i x ] ( # i n s t r u c t - p i x 2 p i x ) | โœ… | โŒ | C a n a d d i t i o n a l l y b e < b r > f i n e - t u n e d f o r b e t t e r < b r > p e r f o r m a n c e o n s p e c i f i c < b r > e d i t i n s t r u c t i o n s . | | [ P i x 2 P i x Z e r o ] ( # p i x 2 p i x - z e r o ) | โœ… | โŒ | | | [ A t t e n d a n d E x c i t e ] ( # a t t e n d - a n d - e x c i t e ) | โœ… | โŒ | | | [ S e m a n t i c G u i d a n c e ] ( # s e m a n t i c - g u i d a n c e - s e g a ) | โœ… | โŒ | | | [ S e l f - a t t e n t i o n G u i d a n c e ] ( # s e l f - a t t e n t i o n - g u i d a n c e - s a g ) | โœ… | โŒ | | | [ D e p t h 2 I m a g e ] ( # d e p t h 2 i m a g e ) | โœ… | โŒ | | | [ M u l t i D i f f u s i o n P a n o r a m a ] ( # m u l t i d i f f u s i o n - p a n o r a m a ) | โœ… | โŒ | | | [ D r e a m B o o t h ] ( # d r e a m b o o t h ) | โŒ | โœ… | | | [ T e x t u a l I n v e r s i o n ] ( # t e x t u a l - i n v e r s i o n ) | โŒ | โœ… | | | [ C o n t r o l N e t ] ( # c o n t r o l n e t ) | โœ… | โŒ | A C o n t r o l N e t c a n b e < b r > t r a i n e d / f i n e - t u n e d o n < b r > a c u s t o m c o n d i t i o n i n g . | | [ P r o m p t W e i g h t i n g ] ( # p r o m p t - w e i g h t i n g ) | โœ… | โŒ | | | [ C u s t o m D i f f u s i o n ] ( # c u s t o m - d i f f u s i o n ) | โŒ | โœ… | | | [ M o d e l E d i t i n g ] ( # m o d e l - e d i t i n g ) | โœ… | โŒ | | | [ D i f f E d i t ] ( # d i f f e d i t ) | โœ… | โŒ | | | [ T 2 I - A d a p t e r ] ( # t 2 i - a d a p t e r ) | โœ… | โŒ | | | [ F a b r i c ] ( # f a b r i c ) | โœ… | โŒ | | # # I n s t r u c t P i x 2 P i x [ P a p e r ] ( h t t p s : / / a r x i v . o r g / a b s / 2 2 1 1 . 0 9 8 0 0 ) [ I n s t r u c t P i x 2 P i x ] ( . . / a p i / p i p e l i n e s / p i x 2 p i x ) i s f i n e - t u n e d f r o m S t a b l e D i f f u s i o n t o s u p p o r t e d i t i n g i n p u t i m a g e s . I t t a k e s a s i n p u t s a n i m a g e a n d a p r o m p t d e s c r i b i n g a n e d i t , a n d i t o u t p u t s t h e e d i t e d i m a g e . I n s t r u c t P i x 2 P i x h a s b e e n e x p l i c i t l y t r a i n e d t o w o r k w e l l w i t h [ I n s t r u c t G P T ] ( h t t p s : / / o p e n a i . c o m / b l o g / i n s t r u c t i o n - f o l l o w i n g / ) - l i k e p r o m p t s . # # P i x 2 P i x Z e r o [ P a p e r ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 0 2 . 0 3 0 2 7 ) [ P i x 2 P i x Z e r o ] ( . . / a p i / p i p e l i n e s / p i x 2 p i x _ z e r o ) a l l o w s m o d i f y i n g a n i m a g e s o t h a t o n e c o n c e p t o r s u b j e c t i s t r a n s l a t e d t o a n o t h e r o n e w h i l e p r e s e r v i n g g e n e r a l i m a g e s e m a n t i c s . T h e d e n o i s i n g p r o c e s s i s g u i d e d f r o m o n e c o n c e p t u a l e m b e d d i n g t o w a r d s a n o t h e r c o n c e p t u a l e m b e d d i n g . T h e i n t e r m e d i a t e l a t e n t s a r e o p t i m i z e d d u r i n g t h e d e n o i s i n g p r o c e s s t o p u s h t h e a t t e n t i o n m a p s t o w a r d s r e f e r e n c e a t t e n t i o n m a p s . T h e r e f e r e n c e a t t e n t i o n m a p s a r e f r o m t h e d e n o i s i n g p r o c e s s o f t h e i n p u t i m a g e a n d a r e u s e d t o e n c o u r a g e s e m a n t i c p r e s e r v a t i o n . P i x 2 P i x Z e r o c a n b e u s e d b o t h t o e d i t s y n t h e t i c i m a g e s a s w e l l a s r e a l i m a g e s . - T o e d i t s y n t h e t i c i m a g e s , o n e f i r s t g e n e r a t e s a n i m a g e g i v e n a c a p t i o n . N e x t , w e g e n e r a t e i m a g e c a p t i o n s f o r t h e c o n c e p t t h a t s h a l l b e e d i t e d a n d f o r t h e n e w t a r g e t c o n c e p t . W e c a n u s e a m o d e l l i k e [ F l a n - T 5 ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m o d e l _ d o c / f l a n - t 5 ) f o r t h i s p u r p o s e . T h e n , " m e a n " p r o m p t e m b e d d i n g s f o r b o t h t h e s o u r c e a n d t a r g e t c o n c e p t s a r e c r e a t e d v i a t h e t e x t e n c o d e r . F i n a l l y , t h e p i x 2 p i x - z e r o a l g o r i t h m i s u s e d t o e d i t t h e s y n t h e t i c i m a g e . - T o e d i t a r e a l i m a g e , o n e f i r s t g e n e r a t e s a n i m a g e c a p t i o n u s i n g a m o d e l l i k e [ B L I P ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m o d e l _ d o c / b l i p ) . T h e n o n e a p p l i e s D D I M i n v e r s i o n o n t h e p r o m p t a n d i m a g e t o g e n e r a t e " i n v e r s e " l a t e n t s . S i m i l a r t o b e f o r e , " m e a n " p r o m p t e m b e d d i n g s f o r b o t h s o u r c e a n d t a r g e t c o n c e p t s a r e c r e a t e d a n d f i n a l l y t h e p i x 2 p i x - z e r o a l g o r i t h m i n c o m b i n a t i o n w i t h t h e " i n v e r s e " l a t e n t s i s u s e d t o e d i t t h e i m a g e . < T i p > P i x 2 P i x Z e r o i s t h e f i r s t m o d e l t h a t a l l o w s " z e r o - s h o t " i m a g e e d i t i n g . T h i s m e a n s t h a t t h e m o d e l c a n e d i t a n i m a g e i n l e s s t h a n a m i n u t e o n a c o n s u m e r G P U a s s h o w n [ h e r e ] ( . . / a p i / p i p e l i n e s / p i x 2 p i x _ z e r o # u s a g e - e x a m p l e ) . < / T i p > A s m e n t i o n e d a b o v e , P i x 2 P i x Z e r o i n c l u d e s o p t i m i z i n g t h e l a t e n t s ( a n d n o t a n y o f t h e U N e t , V A E , o r t h e t e x t e n c o d e r ) t o s t e e r t h e g e n e r a t i o n t o w a r d a s p e c i f i c c o n c e p t . T h i s m e a n s t h a t t h e o v e r a l l p i p e l i n e m i g h t r e q u i r e m o r e m e m o r y t h a n a s t a n d a r d [ S t a b l e D i f f u s i o n P i p e l i n e ] ( . . / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g ) . < T i p > A n i m p o r t a n t d i s t i n c t i o n b e t w e e n m e t h o d s l i k e I n s t r u c t P i x 2 P i x a n d P i x 2 P i x Z e r o i s t h a t t h e f o r m e r i n v o l v e s f i n e - t u n i n g t h e p r e - t r a i n e d w e i g h t s w h i l e t h e l a t t e r d o e s n o t . T h i s m e a n s t h a t y o u c a n a p p l y P i x 2 P i x Z e r o t o a n y o f t h e a v a i l a b l e S t a b l e D i f f u s i o n m o d e l s . < / T i p > # # A t t e n d a n d E x c i t e [ P a p e r ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 0 1 . 1 3 8 2 6 ) [ A t t e n d a n d E x c i t e ] ( . . / a p i / p i p e l i n e s / a t t e n d _ a n d _ e x c i t e ) a l l o w s s u b j e c t s i n t h e p r o m p t t o b e f a i t h f u l l y r e p r e s e n t e d i n t h e f i n a l i m a g e . A s e t o f t o k e n i n d i c e s a r e g i v e n a s i n p u t , c o r r e s p o n d i n g t o t h e s u b j e c t s i n t h e p r o m p t t h a t n e e d t o b e p r e s e n t i n t h e i m a g e . D u r i n g d e n o i s i n g , e a c h t o k e n i n d e x i s g u a r a n t e e d t o h a v e a m i n i m u m a t t e n t i o n t h r e s h o l d f o r a t l e a s t o n e p a t c h o f t h e i m a g e . T h e i n t e r m e d i a t e l a t e n t s a r e i t e r a t i v e l y o p t i m i z e d d u r i n g t h e d e n o i s i n g p r o c e s s t o s t r e n g t h e n t h e a t t e n t i o n o f t h e m o s t n e g l e c t e d s u b j e c t t o k e n u n t i l t h e a t t e n t i o n t h r e s h o l d i s p a s s e d f o r a l l s u b j e c t t o k e n s . L i k e P i x 2 P i x Z e r o , A t t e n d a n d E x c i t e a l s o i n v o l v e s a m i n i o p t i m i z a t i o n l o o p ( l e a v i n g t h e p r e - t r a i n e d w e i g h t s u n t o u c h e d ) i n i t s p i p e l i n e a n d c a n r e q u i r e m o r e m e m o r y t h a n t h e u s u a l [ S t a b l e D i f f u s i o n P i p e l i n e ] ( . . / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g ) . # # S e m a n t i c G u i d a n c e ( S E G A ) [ P a p e r ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 0 1 . 1 2 2 4 7 ) [ S E G A ] ( . . / a p i / p i p e l i n e s / s e m a n t i c _ s t a b l e _ d i f f u s i o n ) a l l o w s a p p l y i n g o r r e m o v i n g o n e o r m o r e c o n c e p t s f r o m a n i m a g e . T h e s t r e n g t h o f t h e c o n c e p t c a n a l s o b e c o n t r o l l e d . I . e . t h e s m i l e c o n c e p t c a n b e u s e d t o i n c r e m e n t a l l y i n c r e a s e o r d e c r e a s e t h e s m i l e o f a p o r t r a i t . S i m i l a r t o h o w c l a s s i f i e r f r e e g u i d a n c e p r o v i d e s g u i d a n c e v i a e m p t y p r o m p t i n p u t s , S E G A p r o v i d e s g u i d a n c e o n c o n c e p t u a l p r o m p t s . M u l t i p l e o f t h e s e c o n c e p t u a l p r o m p t s c a n b e a p p l i e d s i m u l t a n e o u s l y . E a c h c o n c e p t u a l p r o m p t c a n e i t h e r a d d o r r e m o v e t h e i r c o n c e p t d e p e n d i n g o n i f t h e g u i d a n c e i s a p p l i e d p o s i t i v e l y o r n e g a t i v e l y . U n l i k e P i x 2 P i x Z e r o o r A t t e n d a n d E x c i t e , S E G A d i r e c t l y i n t e r a c t s w i t h t h e d i f f u s i o n p r o c e s s i n s t e a d o f p e r f o r m i n g a n y e x p l i c i t g r a d i e n t - b a s e d o p t i m i z a t i o n . # # S e l f - a t t e n t i o n G u i d a n c e ( S A G ) [ P a p e r ] ( h t t p s : / / a r x i v . o r g / a b s / 2 2 1 0 . 0 0 9 3 9 ) [ S e l f - a t t e n t i o n G u i d a n c e ] ( . . / a p i / p i p e l i n e s / s e l f _ a t t e n t i o n _ g u i d a n c e ) i m p r o v e s t h e g e n e r a l q u a l i t y o f i m a g e s . S A G p r o v i d e s g u i d a n c e f r o m p r e d i c t i o n s n o t c o n d i t i o n e d o n h i g h - f r e q u e n c y d e t a i l s t o f u l l y c o n d i t i o n e d i m a g e s . T h e h i g h f r e q u e n c y d e t a i l s a r e e x t r a c t e d o u t o f t h e U N e t s e l f - a t t e n t i o n m a p s . # # D e p t h 2 I m a g e [ P r o j e c t ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - d e p t h ) [ D e p t h 2 I m a g e ] ( . . / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / d e p t h 2 i m g ) i s f i n e - t u n e d f r o m S t a b l e D i f f u s i o n t o b e t t e r p r e s e r v e s e m a n t i c s f o r t e x t g u i d e d i m a g e v a r i a t i o n . I t c o n d i t i o n s o n a m o n o c u l a r d e p t h e s t i m a t e o f t h e o r i g i n a l i m a g e . # # M u l t i D i f f u s i o n P a n o r a m a [ P a p e r ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 0 2 . 0 8 1 1 3 ) [ M u l t i D i f f u s i o n P a n o r a m a ] ( . . / a p i / p i p e l i n e s / p a n o r a m a ) d e f i n e s a n e w g e n e r a t i o n p r o c e s s o v e r a p r e - t r a i n e d d i f f u s i o n m o d e l . T h i s p r o c e s s b i n d s t o g e t h e r m u l t i p l e d i f f u s i o n g e n e r a t i o n m e t h o d s t h a t c a n b e r e a d i l y a p p l i e d t o g e n e r a t e h i g h q u a l i t y a n d d i v e r s e i m a g e s . R e s u l t s a d h e r e t o u s e r - p r o v i d e d c o n t r o l s , s u c h a s d e s i r e d a s p e c t r a t i o ( e . g . , p a n o r a m a ) , a n d s p a t i a l g u i d i n g s i g n a l s , r a n g i n g f r o m t i g h t s e g m e n t a t i o n m a s k s t o b o u n d i n g b o x e s . M u l t i D i f f u s i o n P a n o r a m a a l l o w s t o g e n e r a t e h i g h - q u a l i t y i m a g e s a t a r b i t r a r y a s p e c t r a t i o s ( e . g . , p a n o r a m a s ) . # # F i n e - t u n i n g y o u r o w n m o d e l s I n a d d i t i o n t o p r e - t r a i n e d m o d e l s , D i f f u s e r s h a s t r a i n i n g s c r i p t s f o r f i n e - t u n i n g m o d e l s o n u s e r - p r o v i d e d d a t a . # # D r e a m B o o t h [ P r o j e c t ] ( h t t p s : / / d r e a m b o o t h . g i t h u b . i o / ) [ D r e a m B o o t h ] ( . . / t r a i n i n g / d r e a m b o o t h ) f i n e - t u n e s a m o d e l t o t e a c h i t a b o u t a n e w s u b j e c t . I . e . a f e w p i c t u r e s o f a p e r s o n c a n b e u s e d t o g e n e r a t e i m a g e s o f t h a t p e r s o n i n d i f f e r e n t s t y l e s . # # T e x t u a l I n v e r s i o n [ P a p e r ] ( h t t p s : / / a r x i v . o r g / a b s / 2 2 0 8 . 0 1 6 1 8 ) [ T e x t u a l I n v e r s i o n ] ( . . / t r a i n i n g / t e x t _ i n v e r s i o n ) f i n e - t u n e s a m o d e l t o t e a c h i t a b o u t a n e w c o n c e p t . I . e . a f e w p i c t u r e s o f a s t y l e o f a r t w o r k c a n b e u s e d t o g e n e r a t e i m a g e s i n t h a t s t y l e . # # C o n t r o l N e t [ P a p e r ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 0 2 . 0 5 5 4 3 ) [ C o n t r o l N e t ] ( . . / a p i / p i p e l i n e s / c o n t r o l n e t ) i s a n a u x i l i a r y n e t w o r k w h i c h a d d s a n e x t r a c o n d i t i o n . T h e r e a r e 8 c a n o n i c a l p r e - t r a i n e d C o n t r o l N e t s t r a i n e d o n d i f f e r e n t c o n d i t i o n i n g s s u c h a s e d g e d e t e c t i o n , s c r i b b l e s , d e p t h m a p s , a n d s e m a n t i c s e g m e n t a t i o n s . # # P r o m p t W e i g h t i n g [ P r o m p t w e i g h t i n g ] ( . . / u s i n g - d i f f u s e r s / w e i g h t e d _ p r o m p t s ) i s a s i m p l e t e c h n i q u e t h a t p u t s m o r e a t t e n t i o n w e i g h t o n c e r t a i n p a r t s o f t h e t e x t i n p u t . # # C u s t o m D i f f u s i o n [ P a p e r ] ( h t t p s : / / a r x i v . o r g / a b s / 2 2 1 2 . 0 4 4 8 8 ) [ C u s t o m D i f f u s i o n ] ( . . / t r a i n i n g / c u s t o m _ d i f f u s i o n ) o n l y f i n e - t u n e s t h e c r o s s - a t t e n t i o n m a p s o f a p r e - t r a i n e d t e x t - t o - i m a g e d i f f u s i o n m o d e l . I t a l s o a l l o w s f o r a d d i t i o n a l l y p e r f o r m i n g T e x t u a l I n v e r s i o n . I t s u p p o r t s m u l t i - c o n c e p t t r a i n i n g b y d e s i g n . L i k e D r e a m B o o t h a n d T e x t u a l I n v e r s i o n , C u s t o m D i f f u s i o n i s a l s o u s e d t o t e a c h a p r e - t r a i n e d t e x t - t o - i m a g e d i f f u s i o n m o d e l a b o u t n e w c o n c e p t s t o g e n e r a t e o u t p u t s i n v o l v i n g t h e c o n c e p t ( s ) o f i n t e r e s t . # # M o d e l E d i t i n g [ P a p e r ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 0 3 . 0 8 0 8 4 ) T h e [ t e x t - t o - i m a g e m o d e l e d i t i n g p i p e l i n e ] ( . . / a p i / p i p e l i n e s / m o d e l _ e d i t i n g ) h e l p s y o u m i t i g a t e s o m e o f t h e i n c o r r e c t i m p l i c i t a s s u m p t i o n s a p r e - t r a i n e d t e x t - t o - i m a g e d i f f u s i o n m o d e l m i g h t m a k e a b o u t t h e s u b j e c t s p r e s e n t i n t h e i n p u t p r o m p t . F o r e x a m p l e , i f y o u p r o m p t S t a b l e D i f f u s i o n t o g e n e r a t e i m a g e s f o r " A p a c k o f r o s e s " , t h e r o s e s i n t h e g e n e r a t e d i m a g e s a r e m o r e l i k e l y t o b e r e d . T h i s p i p e l i n e h e l p s y o u c h a n g e t h a t a s s u m p t i o n . # # D i f f E d i t [ P a p e r ] ( h t t p s : / / a r x i v . o r g / a b s / 2 2 1 0 . 1 1 4 2 7 ) [ D i f f E d i t ] ( . . / a p i / p i p e l i n e s / d i f f e d i t ) a l l o w s f o r s e m a n t i c e d i t i n g o f i n p u t i m a g e s a l o n g w i t h i n p u t p r o m p t s w h i l e p r e s e r v i n g t h e o r i g i n a l i n p u t i m a g e s a s m u c h a s p o s s i b l e . # # T 2 I - A d a p t e r [ P a p e r ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 0 2 . 0 8 4 5 3 ) [ T 2 I - A d a p t e r ] ( . . / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / a d a p t e r ) i s a n a u x i l i a r y n e t w o r k w h i c h a d d s a n e x t r a c o n d i t i o n . T h e r e a r e 8 c a n o n i c a l p r e - t r a i n e d a d a p t e r s t r a i n e d o n d i f f e r e n t c o n d i t i o n i n g s s u c h a s e d g e d e t e c t i o n , s k e t c h , d e p t h m a p s , a n d s e m a n t i c s e g m e n t a t i o n s . # # F a b r i c [ P a p e r ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 0 7 . 1 0 1 5 9 ) [ F a b r i c ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / 4 4 2 0 1 7 c c c 8 7 7 2 7 9 b c f 2 4 f b e 9 2 f 9 2 d 3 d 0 d e f 1 9 1 b 6 / e x a m p l e s / c o m m u n i t y # s t a b l e - d i f f u s i o n - f a b r i c - p i p e l i n e ) i s a t r a i n i n g - f r e e a p p r o a c h a p p l i c a b l e t o a w i d e r a n g e o f p o p u l a r d i f f u s i o n m o d e l s , w h i c h e x p l o i t s t h e s e l f - a t t e n t i o n l a y e r p r e s e n t i n t h e m o s t w i d e l y u s e d a r c h i t e c t u r e s t o c o n d i t i o n t h e d i f f u s i o n p r o c e s s o n a s e t o f f e e d b a c k i m a g e s . # C o n t r o l N e t C o n t r o l N e t i s a t y p e o f m o d e l f o r c o n t r o l l i n g i m a g e d i f f u s i o n m o d e l s b y c o n d i t i o n i n g t h e m o d e l w i t h a n a d d i t i o n a l i n p u t i m a g e . T h e r e a r e m a n y t y p e s o f c o n d i t i o n i n g i n p u t s ( c a n n y e d g e , u s e r s k e t c h i n g , h u m a n p o s e , d e p t h , a n d m o r e ) y o u c a n u s e t o c o n t r o l a d i f f u s i o n m o d e l . T h i s i s h u g e l y u s e f u l b e c a u s e i t a f f o r d s y o u g r e a t e r c o n t r o l o v e r i m a g e g e n e r a t i o n , m a k i n g i t e a s i e r t o g e n e r a t e s p e c i f i c i m a g e s w i t h o u t e x p e r i m e n t i n g w i t h d i f f e r e n t t e x t p r o m p t s o r d e n o i s i n g v a l u e s a s m u c h . < T i p > C h e c k o u t S e c t i o n 3 . 5 o f t h e [ C o n t r o l N e t ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 2 . 0 5 5 4 3 ) p a p e r v 1 f o r a l i s t o f C o n t r o l N e t i m p l e m e n t a t i o n s o n v a r i o u s c o n d i t i o n i n g i n p u t s . Y o u c a n f i n d t h e o f f i c i a l S t a b l e D i f f u s i o n C o n t r o l N e t c o n d i t i o n e d m o d e l s o n [ l l l y a s v i e l ] ( h t t p s : / / h u g g i n g f a c e . c o / l l l y a s v i e l ) ' s H u b p r o f i l e , a n d m o r e [ c o m m u n i t y - t r a i n e d ] ( h t t p s : / / h u g g i n g f a c e . c o / m o d e l s ? o t h e r = s t a b l e - d i f f u s i o n & o t h e r = c o n t r o l n e t ) o n e s o n t h e H u b . F o r S t a b l e D i f f u s i o n X L ( S D X L ) C o n t r o l N e t m o d e l s , y o u c a n f i n d t h e m o n t h e ๐Ÿค— [ D i f f u s e r s ] ( h t t p s : / / h u g g i n g f a c e . c o / d i f f u s e r s ) H u b o r g a n i z a t i o n , o r y o u c a n b r o w s e [ c o m m u n i t y - t r a i n e d ] ( h t t p s : / / h u g g i n g f a c e . c o / m o d e l s ? o t h e r = s t a b l e - d i f f u s i o n - x l & o t h e r = c o n t r o l n e t ) o n e s o n t h e H u b . < / T i p > A C o n t r o l N e t m o d e l h a s t w o s e t s o f w e i g h t s ( o r b l o c k s ) c o n n e c t e d b y a z e r o - c o n v o l u t i o n l a y e r : - a * l o c k e d c o p y * k e e p s e v e r y t h i n g a l a r g e p r e t r a i n e d d i f f u s i o n m o d e l h a s l e a r n e d - a * t r a i n a b l e c o p y * i s t r a i n e d o n t h e a d d i t i o n a l c o n d i t i o n i n g i n p u t S i n c e t h e l o c k e d c o p y p r e s e r v e s t h e p r e t r a i n e d m o d e l , t r a i n i n g a n d i m p l e m e n t i n g a C o n t r o l N e t o n a n e w c o n d i t i o n i n g i n p u t i s a s f a s t a s f i n e t u n i n g a n y o t h e r m o d e l b e c a u s e y o u a r e n ' t t r a i n i n g t h e m o d e l f r o m s c r a t c h . T h i s g u i d e w i l l s h o w y o u h o w t o u s e C o n t r o l N e t f o r t e x t - t o - i m a g e , i m a g e - t o - i m a g e , i n p a i n t i n g , a n d m o r e ! T h e r e a r e m a n y t y p e s o f C o n t r o l N e t c o n d i t i o n i n g i n p u t s t o c h o o s e f r o m , b u t i n t h i s g u i d e w e ' l l o n l y f o c u s o n s e v e r a l o f t h e m . F e e l f r e e t o e x p e r i m e n t w i t h o t h e r c o n d i t i o n i n g i n p u t s ! B e f o r e y o u b e g i n , m a k e s u r e y o u h a v e t h e f o l l o w i n g l i b r a r i e s i n s t a l l e d : ` ` ` p y # u n c o m m e n t t o i n s t a l l t h e n e c e s s a r y l i b r a r i e s i n C o l a b # ! p i p i n s t a l l - q d i f f u s e r s t r a n s f o r m e r s a c c e l e r a t e o p e n c v - p y t h o n ` ` ` # # T e x t - t o - i m a g e F o r t e x t - t o - i m a g e , y o u n o r m a l l y p a s s a t e x t p r o m p t t o t h e m o d e l . B u t w i t h C o n t r o l N e t , y o u c a n s p e c i f y a n a d d i t i o n a l c o n d i t i o n i n g i n p u t . L e t ' s c o n d i t i o n t h e m o d e l w i t h a c a n n y i m a g e , a w h i t e o u t l i n e o f a n i m a g e o n a b l a c k b a c k g r o u n d . T h i s w a y , t h e C o n t r o l N e t c a n u s e t h e c a n n y i m a g e a s a c o n t r o l t o g u i d e t h e m o d e l t o g e n e r a t e a n i m a g e w i t h t h e s a m e o u t l i n e . L o a d a n i m a g e a n d u s e t h e [ o p e n c v - p y t h o n ] ( h t t p s : / / g i t h u b . c o m / o p e n c v / o p e n c v - p y t h o n ) l i b r a r y t o e x t r a c t t h e c a n n y i m a g e : ` ` ` p y f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d f r o m P I L i m p o r t I m a g e i m p o r t c v 2 i m p o r t n u m p y a s n p o r i g i n a l _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h f . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p u t _ i m a g e _ v e r m e e r . p n g " ) i m a g e = n p . a r r a y ( o r i g i n a l _ i m a g e ) l o w _ t h r e s h o l d = 1 0 0 h i g h _ t h r e s h o l d = 2 0 0 i m a g e = c v 2 . C a n n y ( i m a g e , l o w _ t h r e s h o l d , h i g h _ t h r e s h o l d ) i m a g e = i m a g e [ : , : , N o n e ] i m a g e = n p . c o n c a t e n a t e ( [ i m a g e , i m a g e , i m a g e ] , a x i s = 2 ) c a n n y _ i m a g e = I m a g e . f r o m a r r a y ( i m a g e ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p u t _ i m a g e _ v e r m e e r . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > o r i g i n a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / v e r m e e r _ c a n n y _ e d g e d . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > c a n n y i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > N e x t , l o a d a C o n t r o l N e t m o d e l c o n d i t i o n e d o n c a n n y e d g e d e t e c t i o n a n d p a s s i t t o t h e [ S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / c o n t r o l n e t # d i f f u s e r s . S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e ) . U s e t h e f a s t e r [ U n i P C M u l t i s t e p S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / u n i p c # d i f f u s e r s . U n i P C M u l t i s t e p S c h e d u l e r ) a n d e n a b l e m o d e l o f f l o a d i n g t o s p e e d u p i n f e r e n c e a n d r e d u c e m e m o r y u s a g e . ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e , C o n t r o l N e t M o d e l , U n i P C M u l t i s t e p S c h e d u l e r i m p o r t t o r c h c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " l l l y a s v i e l / s d - c o n t r o l n e t - c a n n y " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e = S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , c o n t r o l n e t = c o n t r o l n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e . s c h e d u l e r = U n i P C M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` ` ` N o w p a s s y o u r p r o m p t a n d c a n n y i m a g e t o t h e p i p e l i n e : ` ` ` p y o u t p u t = p i p e ( " t h e m o n a l i s a " , i m a g e = c a n n y _ i m a g e ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ o r i g i n a l _ i m a g e , c a n n y _ i m a g e , o u t p u t ] , r o w s = 1 , c o l s = 3 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o n t r o l n e t - t e x t 2 i m g . p n g " / > < / d i v > # # I m a g e - t o - i m a g e F o r i m a g e - t o - i m a g e , y o u ' d t y p i c a l l y p a s s a n i n i t i a l i m a g e a n d a p r o m p t t o t h e p i p e l i n e t o g e n e r a t e a n e w i m a g e . W i t h C o n t r o l N e t , y o u c a n p a s s a n a d d i t i o n a l c o n d i t i o n i n g i n p u t t o g u i d e t h e m o d e l . L e t ' s c o n d i t i o n t h e m o d e l w i t h a d e p t h m a p , a n i m a g e w h i c h c o n t a i n s s p a t i a l i n f o r m a t i o n . T h i s w a y , t h e C o n t r o l N e t c a n u s e t h e d e p t h m a p a s a c o n t r o l t o g u i d e t h e m o d e l t o g e n e r a t e a n i m a g e t h a t p r e s e r v e s s p a t i a l i n f o r m a t i o n . Y o u ' l l u s e t h e [ S t a b l e D i f f u s i o n C o n t r o l N e t I m g 2 I m g P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / c o n t r o l n e t # d i f f u s e r s . S t a b l e D i f f u s i o n C o n t r o l N e t I m g 2 I m g P i p e l i n e ) f o r t h i s t a s k , w h i c h i s d i f f e r e n t f r o m t h e [ S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / c o n t r o l n e t # d i f f u s e r s . S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e ) b e c a u s e i t a l l o w s y o u t o p a s s a n i n i t i a l i m a g e a s t h e s t a r t i n g p o i n t f o r t h e i m a g e g e n e r a t i o n p r o c e s s . L o a d a n i m a g e a n d u s e t h e ` d e p t h - e s t i m a t i o n ` [ P i p e l i n e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / e n / m a i n _ c l a s s e s / p i p e l i n e s # t r a n s f o r m e r s . P i p e l i n e ) f r o m ๐Ÿค— T r a n s f o r m e r s t o e x t r a c t t h e d e p t h m a p o f a n i m a g e : ` ` ` p y i m p o r t t o r c h i m p o r t n u m p y a s n p f r o m t r a n s f o r m e r s i m p o r t p i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o n t r o l n e t - i m g 2 i m g . j p g " ) d e f g e t _ d e p t h _ m a p ( i m a g e , d e p t h _ e s t i m a t o r ) : i m a g e = d e p t h _ e s t i m a t o r ( i m a g e ) [ " d e p t h " ] i m a g e = n p . a r r a y ( i m a g e ) i m a g e = i m a g e [ : , : , N o n e ] i m a g e = n p . c o n c a t e n a t e ( [ i m a g e , i m a g e , i m a g e ] , a x i s = 2 ) d e t e c t e d _ m a p = t o r c h . f r o m _ n u m p y ( i m a g e ) . f l o a t ( ) / 2 5 5 . 0 d e p t h _ m a p = d e t e c t e d _ m a p . p e r m u t e ( 2 , 0 , 1 ) r e t u r n d e p t h _ m a p d e p t h _ e s t i m a t o r = p i p e l i n e ( " d e p t h - e s t i m a t i o n " ) d e p t h _ m a p = g e t _ d e p t h _ m a p ( i m a g e , d e p t h _ e s t i m a t o r ) . u n s q u e e z e ( 0 ) . h a l f ( ) . t o ( " c u d a " ) ` ` ` N e x t , l o a d a C o n t r o l N e t m o d e l c o n d i t i o n e d o n d e p t h m a p s a n d p a s s i t t o t h e [ S t a b l e D i f f u s i o n C o n t r o l N e t I m g 2 I m g P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / c o n t r o l n e t # d i f f u s e r s . S t a b l e D i f f u s i o n C o n t r o l N e t I m g 2 I m g P i p e l i n e ) . U s e t h e f a s t e r [ U n i P C M u l t i s t e p S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / u n i p c # d i f f u s e r s . U n i P C M u l t i s t e p S c h e d u l e r ) a n d e n a b l e m o d e l o f f l o a d i n g t o s p e e d u p i n f e r e n c e a n d r e d u c e m e m o r y u s a g e . ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n C o n t r o l N e t I m g 2 I m g P i p e l i n e , C o n t r o l N e t M o d e l , U n i P C M u l t i s t e p S c h e d u l e r i m p o r t t o r c h c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " l l l y a s v i e l / c o n t r o l _ v 1 1 f 1 p _ s d 1 5 _ d e p t h " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e = S t a b l e D i f f u s i o n C o n t r o l N e t I m g 2 I m g P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , c o n t r o l n e t = c o n t r o l n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e . s c h e d u l e r = U n i P C M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` ` ` N o w p a s s y o u r p r o m p t , i n i t i a l i m a g e , a n d d e p t h m a p t o t h e p i p e l i n e : ` ` ` p y o u t p u t = p i p e ( " l e g o b a t m a n a n d r o b i n " , i m a g e = i m a g e , c o n t r o l _ i m a g e = d e p t h _ m a p , ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i m a g e , o u t p u t ] , r o w s = 1 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o n t r o l n e t - i m g 2 i m g . j p g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > o r i g i n a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o n t r o l n e t - i m g 2 i m g - 2 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > # # I n p a i n t i n g F o r i n p a i n t i n g , y o u n e e d a n i n i t i a l i m a g e , a m a s k i m a g e , a n d a p r o m p t d e s c r i b i n g w h a t t o r e p l a c e t h e m a s k w i t h . C o n t r o l N e t m o d e l s a l l o w y o u t o a d d a n o t h e r c o n t r o l i m a g e t o c o n d i t i o n a m o d e l w i t h . L e t โ€™ s c o n d i t i o n t h e m o d e l w i t h a n i n p a i n t i n g m a s k . T h i s w a y , t h e C o n t r o l N e t c a n u s e t h e i n p a i n t i n g m a s k a s a c o n t r o l t o g u i d e t h e m o d e l t o g e n e r a t e a n i m a g e w i t h i n t h e m a s k a r e a . L o a d a n i n i t i a l i m a g e a n d a m a s k i m a g e : ` ` ` p y f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o n t r o l n e t - i n p a i n t . j p g " ) i n i t _ i m a g e = i n i t _ i m a g e . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) m a s k _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o n t r o l n e t - i n p a i n t - m a s k . j p g " ) m a s k _ i m a g e = m a s k _ i m a g e . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k _ i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` C r e a t e a f u n c t i o n t o p r e p a r e t h e c o n t r o l i m a g e f r o m t h e i n i t i a l a n d m a s k i m a g e s . T h i s ' l l c r e a t e a t e n s o r t o m a r k t h e p i x e l s i n ` i n i t _ i m a g e ` a s m a s k e d i f t h e c o r r e s p o n d i n g p i x e l i n ` m a s k _ i m a g e ` i s o v e r a c e r t a i n t h r e s h o l d . ` ` ` p y i m p o r t n u m p y a s n p i m p o r t t o r c h d e f m a k e _ i n p a i n t _ c o n d i t i o n ( i m a g e , i m a g e _ m a s k ) : i m a g e = n p . a r r a y ( i m a g e . c o n v e r t ( " R G B " ) ) . a s t y p e ( n p . f l o a t 3 2 ) / 2 5 5 . 0 i m a g e _ m a s k = n p . a r r a y ( i m a g e _ m a s k . c o n v e r t ( " L " ) ) . a s t y p e ( n p . f l o a t 3 2 ) / 2 5 5 . 0 a s s e r t i m a g e . s h a p e [ 0 : 1 ] = = i m a g e _ m a s k . s h a p e [ 0 : 1 ] i m a g e [ i m a g e _ m a s k > 0 . 5 ] = - 1 . 0 # s e t a s m a s k e d p i x e l i m a g e = n p . e x p a n d _ d i m s ( i m a g e , 0 ) . t r a n s p o s e ( 0 , 3 , 1 , 2 ) i m a g e = t o r c h . f r o m _ n u m p y ( i m a g e ) r e t u r n i m a g e c o n t r o l _ i m a g e = m a k e _ i n p a i n t _ c o n d i t i o n ( i n i t _ i m a g e , m a s k _ i m a g e ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o n t r o l n e t - i n p a i n t . j p g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > o r i g i n a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o n t r o l n e t - i n p a i n t - m a s k . j p g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > m a s k i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > L o a d a C o n t r o l N e t m o d e l c o n d i t i o n e d o n i n p a i n t i n g a n d p a s s i t t o t h e [ S t a b l e D i f f u s i o n C o n t r o l N e t I n p a i n t P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / c o n t r o l n e t # d i f f u s e r s . S t a b l e D i f f u s i o n C o n t r o l N e t I n p a i n t P i p e l i n e ) . U s e t h e f a s t e r [ U n i P C M u l t i s t e p S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / u n i p c # d i f f u s e r s . U n i P C M u l t i s t e p S c h e d u l e r ) a n d e n a b l e m o d e l o f f l o a d i n g t o s p e e d u p i n f e r e n c e a n d r e d u c e m e m o r y u s a g e . ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n C o n t r o l N e t I n p a i n t P i p e l i n e , C o n t r o l N e t M o d e l , U n i P C M u l t i s t e p S c h e d u l e r c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " l l l y a s v i e l / c o n t r o l _ v 1 1 p _ s d 1 5 _ i n p a i n t " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e = S t a b l e D i f f u s i o n C o n t r o l N e t I n p a i n t P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , c o n t r o l n e t = c o n t r o l n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e . s c h e d u l e r = U n i P C M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` ` ` N o w p a s s y o u r p r o m p t , i n i t i a l i m a g e , m a s k i m a g e , a n d c o n t r o l i m a g e t o t h e p i p e l i n e : ` ` ` p y o u t p u t = p i p e ( " c o r g i f a c e w i t h l a r g e e a r s , d e t a i l e d , p i x a r , a n i m a t e d , d i s n e y " , n u m _ i n f e r e n c e _ s t e p s = 2 0 , e t a = 1 . 0 , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e , c o n t r o l _ i m a g e = c o n t r o l _ i m a g e , ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k _ i m a g e , o u t p u t ] , r o w s = 1 , c o l s = 3 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o n t r o l n e t - i n p a i n t - r e s u l t . p n g " / > < / d i v > # # G u e s s m o d e [ G u e s s m o d e ] ( h t t p s : / / g i t h u b . c o m / l l l y a s v i e l / C o n t r o l N e t / d i s c u s s i o n s / 1 8 8 ) d o e s n o t r e q u i r e s u p p l y i n g a p r o m p t t o a C o n t r o l N e t a t a l l ! T h i s f o r c e s t h e C o n t r o l N e t e n c o d e r t o d o i t s b e s t t o " g u e s s " t h e c o n t e n t s o f t h e i n p u t c o n t r o l m a p ( d e p t h m a p , p o s e e s t i m a t i o n , c a n n y e d g e , e t c . ) . G u e s s m o d e a d j u s t s t h e s c a l e o f t h e o u t p u t r e s i d u a l s f r o m a C o n t r o l N e t b y a f i x e d r a t i o d e p e n d i n g o n t h e b l o c k d e p t h . T h e s h a l l o w e s t ` D o w n B l o c k ` c o r r e s p o n d s t o 0 . 1 , a n d a s t h e b l o c k s g e t d e e p e r , t h e s c a l e i n c r e a s e s e x p o n e n t i a l l y s u c h t h a t t h e s c a l e o f t h e ` M i d B l o c k ` o u t p u t b e c o m e s 1 . 0 . < T i p > G u e s s m o d e d o e s n o t h a v e a n y i m p a c t o n p r o m p t c o n d i t i o n i n g a n d y o u c a n s t i l l p r o v i d e a p r o m p t i f y o u w a n t . < / T i p > S e t ` g u e s s _ m o d e = T r u e ` i n t h e p i p e l i n e , a n d i t i s [ r e c o m m e n d e d ] ( h t t p s : / / g i t h u b . c o m / l l l y a s v i e l / C o n t r o l N e t # g u e s s - m o d e - - n o n - p r o m p t - m o d e ) t o s e t t h e ` g u i d a n c e _ s c a l e ` v a l u e b e t w e e n 3 . 0 a n d 5 . 0 . ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e , C o n t r o l N e t M o d e l f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d i m p o r t n u m p y a s n p i m p o r t t o r c h f r o m P I L i m p o r t I m a g e i m p o r t c v 2 c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " l l l y a s v i e l / s d - c o n t r o l n e t - c a n n y " , u s e _ s a f e t e n s o r s = T r u e ) p i p e = S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , c o n t r o l n e t = c o n t r o l n e t , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) o r i g i n a l _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / t a k u m a 1 0 4 / c o n t r o l n e t _ d e v / r e s o l v e / m a i n / b i r d _ 5 1 2 x 5 1 2 . p n g " ) i m a g e = n p . a r r a y ( o r i g i n a l _ i m a g e ) l o w _ t h r e s h o l d = 1 0 0 h i g h _ t h r e s h o l d = 2 0 0 i m a g e = c v 2 . C a n n y ( i m a g e , l o w _ t h r e s h o l d , h i g h _ t h r e s h o l d ) i m a g e = i m a g e [ : , : , N o n e ] i m a g e = n p . c o n c a t e n a t e ( [ i m a g e , i m a g e , i m a g e ] , a x i s = 2 ) c a n n y _ i m a g e = I m a g e . f r o m a r r a y ( i m a g e ) i m a g e = p i p e ( " " , i m a g e = c a n n y _ i m a g e , g u e s s _ m o d e = T r u e , g u i d a n c e _ s c a l e = 3 . 0 ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ o r i g i n a l _ i m a g e , c a n n y _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / t a k u m a 1 0 4 / c o n t r o l n e t _ d e v / r e s o l v e / m a i n / g e n _ c o m p a r e _ g u e s s _ m o d e / o u t p u t _ i m a g e s / d i f f u s e r s / o u t p u t _ b i r d _ c a n n y _ 0 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > r e g u l a r m o d e w i t h p r o m p t < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / t a k u m a 1 0 4 / c o n t r o l n e t _ d e v / r e s o l v e / m a i n / g e n _ c o m p a r e _ g u e s s _ m o d e / o u t p u t _ i m a g e s / d i f f u s e r s / o u t p u t _ b i r d _ c a n n y _ 0 _ g m . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g u e s s m o d e w i t h o u t p r o m p t < / f i g c a p t i o n > < / d i v > < / d i v > # # C o n t r o l N e t w i t h S t a b l e D i f f u s i o n X L T h e r e a r e n ' t t o o m a n y C o n t r o l N e t m o d e l s c o m p a t i b l e w i t h S t a b l e D i f f u s i o n X L ( S D X L ) a t t h e m o m e n t , b u t w e ' v e t r a i n e d t w o f u l l - s i z e d C o n t r o l N e t m o d e l s f o r S D X L c o n d i t i o n e d o n c a n n y e d g e d e t e c t i o n a n d d e p t h m a p s . W e ' r e a l s o e x p e r i m e n t i n g w i t h c r e a t i n g s m a l l e r v e r s i o n s o f t h e s e S D X L - c o m p a t i b l e C o n t r o l N e t m o d e l s s o i t i s e a s i e r t o r u n o n r e s o u r c e - c o n s t r a i n e d h a r d w a r e . Y o u c a n f i n d t h e s e c h e c k p o i n t s o n t h e [ ๐Ÿค— D i f f u s e r s H u b o r g a n i z a t i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / d i f f u s e r s ) ! L e t ' s u s e a S D X L C o n t r o l N e t c o n d i t i o n e d o n c a n n y i m a g e s t o g e n e r a t e a n i m a g e . S t a r t b y l o a d i n g a n i m a g e a n d p r e p a r e t h e c a n n y i m a g e : ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e , C o n t r o l N e t M o d e l , A u t o e n c o d e r K L f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d f r o m P I L i m p o r t I m a g e i m p o r t c v 2 i m p o r t n u m p y a s n p i m p o r t t o r c h o r i g i n a l _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / s d _ c o n t r o l n e t / h f - l o g o . p n g " ) i m a g e = n p . a r r a y ( o r i g i n a l _ i m a g e ) l o w _ t h r e s h o l d = 1 0 0 h i g h _ t h r e s h o l d = 2 0 0 i m a g e = c v 2 . C a n n y ( i m a g e , l o w _ t h r e s h o l d , h i g h _ t h r e s h o l d ) i m a g e = i m a g e [ : , : , N o n e ] i m a g e = n p . c o n c a t e n a t e ( [ i m a g e , i m a g e , i m a g e ] , a x i s = 2 ) c a n n y _ i m a g e = I m a g e . f r o m a r r a y ( i m a g e ) m a k e _ i m a g e _ g r i d ( [ o r i g i n a l _ i m a g e , c a n n y _ i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / s d _ c o n t r o l n e t / h f - l o g o . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > o r i g i n a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / h f - l o g o - c a n n y . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > c a n n y i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > L o a d a S D X L C o n t r o l N e t m o d e l c o n d i t i o n e d o n c a n n y e d g e d e t e c t i o n a n d p a s s i t t o t h e [ S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / c o n t r o l n e t _ s d x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e ) . Y o u c a n a l s o e n a b l e m o d e l o f f l o a d i n g t o r e d u c e m e m o r y u s a g e . ` ` ` p y c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " d i f f u s e r s / c o n t r o l n e t - c a n n y - s d x l - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) v a e = A u t o e n c o d e r K L . f r o m _ p r e t r a i n e d ( " m a d e b y o l l i n / s d x l - v a e - f p 1 6 - f i x " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e = S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , c o n t r o l n e t = c o n t r o l n e t , v a e = v a e , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` ` ` N o w p a s s y o u r p r o m p t ( a n d o p t i o n a l l y a n e g a t i v e p r o m p t i f y o u ' r e u s i n g o n e ) a n d c a n n y i m a g e t o t h e p i p e l i n e : < T i p > T h e [ ` c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / c o n t r o l n e t # d i f f u s e r s . S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e . _ _ c a l l _ _ . c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e ) p a r a m e t e r d e t e r m i n e s h o w m u c h w e i g h t t o a s s i g n t o t h e c o n d i t i o n i n g i n p u t s . A v a l u e o f 0 . 5 i s r e c o m m e n d e d f o r g o o d g e n e r a l i z a t i o n , b u t f e e l f r e e t o e x p e r i m e n t w i t h t h i s n u m b e r ! < / T i p > ` ` ` p y p r o m p t = " a e r i a l v i e w , a f u t u r i s t i c r e s e a r c h c o m p l e x i n a b r i g h t f o g g y j u n g l e , h a r d l i g h t i n g " n e g a t i v e _ p r o m p t = ' l o w q u a l i t y , b a d q u a l i t y , s k e t c h e s ' i m a g e = p i p e ( p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , i m a g e = c a n n y _ i m a g e , c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e = 0 . 5 , ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ o r i g i n a l _ i m a g e , c a n n y _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d i f f u s e r s / c o n t r o l n e t - c a n n y - s d x l - 1 . 0 / r e s o l v e / m a i n / o u t _ h u g _ l a b _ 7 . p n g " / > < / d i v > Y o u c a n u s e [ S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / c o n t r o l n e t _ s d x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e ) i n g u e s s m o d e a s w e l l b y s e t t i n g t h e p a r a m e t e r t o ` T r u e ` : ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e , C o n t r o l N e t M o d e l , A u t o e n c o d e r K L f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d i m p o r t n u m p y a s n p i m p o r t t o r c h i m p o r t c v 2 f r o m P I L i m p o r t I m a g e p r o m p t = " a e r i a l v i e w , a f u t u r i s t i c r e s e a r c h c o m p l e x i n a b r i g h t f o g g y j u n g l e , h a r d l i g h t i n g " n e g a t i v e _ p r o m p t = " l o w q u a l i t y , b a d q u a l i t y , s k e t c h e s " o r i g i n a l _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h f . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / s d _ c o n t r o l n e t / h f - l o g o . p n g " ) c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " d i f f u s e r s / c o n t r o l n e t - c a n n y - s d x l - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) v a e = A u t o e n c o d e r K L . f r o m _ p r e t r a i n e d ( " m a d e b y o l l i n / s d x l - v a e - f p 1 6 - f i x " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e = S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , c o n t r o l n e t = c o n t r o l n e t , v a e = v a e , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) i m a g e = n p . a r r a y ( o r i g i n a l _ i m a g e ) i m a g e = c v 2 . C a n n y ( i m a g e , 1 0 0 , 2 0 0 ) i m a g e = i m a g e [ : , : , N o n e ] i m a g e = n p . c o n c a t e n a t e ( [ i m a g e , i m a g e , i m a g e ] , a x i s = 2 ) c a n n y _ i m a g e = I m a g e . f r o m a r r a y ( i m a g e ) i m a g e = p i p e ( p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e = 0 . 5 , i m a g e = c a n n y _ i m a g e , g u e s s _ m o d e = T r u e , ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ o r i g i n a l _ i m a g e , c a n n y _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` < T i p > Y o u c a n u s e a r e f i n e r m o d e l w i t h ` S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e ` t o i m p r o v e i m a g e q u a l i t y , j u s t l i k e y o u c a n w i t h a r e g u l a r ` S t a b l e D i f f u s i o n X L P i p e l i n e ` . S e e t h e [ R e f i n e i m a g e q u a l i t y ] ( . / s d x l # r e f i n e - i m a g e - q u a l i t y ) s e c t i o n t o l e a r n h o w t o u s e t h e r e f i n e r m o d e l . M a k e s u r e t o u s e ` S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e ` a n d p a s s ` i m a g e ` a n d ` c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e ` . ` ` ` p y b a s e = S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e ( . . . ) i m a g e = b a s e ( p r o m p t = p r o m p t , c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e = 0 . 5 , i m a g e = c a n n y _ i m a g e , n u m _ i n f e r e n c e _ s t e p s = 4 0 , d e n o i s i n g _ e n d = 0 . 8 , o u t p u t _ t y p e = " l a t e n t " , ) . i m a g e s # r e s t e x a c t l y a s w i t h S t a b l e D i f f u s i o n X L P i p e l i n e ` ` ` < / T i p > # # M u l t i C o n t r o l N e t < T i p > R e p l a c e t h e S D X L m o d e l w i t h a m o d e l l i k e [ s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ) t o u s e m u l t i p l e c o n d i t i o n i n g i n p u t s w i t h S t a b l e D i f f u s i o n m o d e l s . < / T i p > Y o u c a n c o m p o s e m u l t i p l e C o n t r o l N e t c o n d i t i o n i n g s f r o m d i f f e r e n t i m a g e i n p u t s t o c r e a t e a * M u l t i C o n t r o l N e t * . T o g e t b e t t e r r e s u l t s , i t i s o f t e n h e l p f u l t o : 1 . m a s k c o n d i t i o n i n g s s u c h t h a t t h e y d o n ' t o v e r l a p ( f o r e x a m p l e , m a s k t h e a r e a o f a c a n n y i m a g e w h e r e t h e p o s e c o n d i t i o n i n g i s l o c a t e d ) 2 . e x p e r i m e n t w i t h t h e [ ` c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / c o n t r o l n e t # d i f f u s e r s . S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e . _ _ c a l l _ _ . c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e ) p a r a m e t e r t o d e t e r m i n e h o w m u c h w e i g h t t o a s s i g n t o e a c h c o n d i t i o n i n g i n p u t I n t h i s e x a m p l e , y o u ' l l c o m b i n e a c a n n y i m a g e a n d a h u m a n p o s e e s t i m a t i o n i m a g e t o g e n e r a t e a n e w i m a g e . P r e p a r e t h e c a n n y i m a g e c o n d i t i o n i n g : ` ` ` p y f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d f r o m P I L i m p o r t I m a g e i m p o r t n u m p y a s n p i m p o r t c v 2 o r i g i n a l _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l a n d s c a p e . p n g " ) i m a g e = n p . a r r a y ( o r i g i n a l _ i m a g e ) l o w _ t h r e s h o l d = 1 0 0 h i g h _ t h r e s h o l d = 2 0 0 i m a g e = c v 2 . C a n n y ( i m a g e , l o w _ t h r e s h o l d , h i g h _ t h r e s h o l d ) # z e r o o u t m i d d l e c o l u m n s o f i m a g e w h e r e p o s e w i l l b e o v e r l a i d z e r o _ s t a r t = i m a g e . s h a p e [ 1 ] / / 4 z e r o _ e n d = z e r o _ s t a r t + i m a g e . s h a p e [ 1 ] / / 2 i m a g e [ : , z e r o _ s t a r t : z e r o _ e n d ] = 0 i m a g e = i m a g e [ : , : , N o n e ] i m a g e = n p . c o n c a t e n a t e ( [ i m a g e , i m a g e , i m a g e ] , a x i s = 2 ) c a n n y _ i m a g e = I m a g e . f r o m a r r a y ( i m a g e ) m a k e _ i m a g e _ g r i d ( [ o r i g i n a l _ i m a g e , c a n n y _ i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l a n d s c a p e . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > o r i g i n a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / b l o g / c o n t r o l n e t / l a n d s c a p e _ c a n n y _ m a s k e d . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > c a n n y i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > F o r h u m a n p o s e e s t i m a t i o n , i n s t a l l [ c o n t r o l n e t _ a u x ] ( h t t p s : / / g i t h u b . c o m / p a t r i c k v o n p l a t e n / c o n t r o l n e t _ a u x ) : ` ` ` p y # u n c o m m e n t t o i n s t a l l t h e n e c e s s a r y l i b r a r y i n C o l a b # ! p i p i n s t a l l - q c o n t r o l n e t - a u x ` ` ` P r e p a r e t h e h u m a n p o s e e s t i m a t i o n c o n d i t i o n i n g : ` ` ` p y f r o m c o n t r o l n e t _ a u x i m p o r t O p e n p o s e D e t e c t o r o p e n p o s e = O p e n p o s e D e t e c t o r . f r o m _ p r e t r a i n e d ( " l l l y a s v i e l / C o n t r o l N e t " ) o r i g i n a l _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / p e r s o n . p n g " ) o p e n p o s e _ i m a g e = o p e n p o s e ( o r i g i n a l _ i m a g e ) m a k e _ i m a g e _ g r i d ( [ o r i g i n a l _ i m a g e , o p e n p o s e _ i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / p e r s o n . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > o r i g i n a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / b l o g / c o n t r o l n e t / p e r s o n _ p o s e . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > h u m a n p o s e i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > L o a d a l i s t o f C o n t r o l N e t m o d e l s t h a t c o r r e s p o n d t o e a c h c o n d i t i o n i n g , a n d p a s s t h e m t o t h e [ S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / c o n t r o l n e t _ s d x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e ) . U s e t h e f a s t e r [ U n i P C M u l t i s t e p S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / u n i p c # d i f f u s e r s . U n i P C M u l t i s t e p S c h e d u l e r ) a n d e n a b l e m o d e l o f f l o a d i n g t o r e d u c e m e m o r y u s a g e . ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e , C o n t r o l N e t M o d e l , A u t o e n c o d e r K L , U n i P C M u l t i s t e p S c h e d u l e r i m p o r t t o r c h c o n t r o l n e t s = [ C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " t h i b a u d / c o n t r o l n e t - o p e n p o s e - s d x l - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) , C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " d i f f u s e r s / c o n t r o l n e t - c a n n y - s d x l - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) , ] v a e = A u t o e n c o d e r K L . f r o m _ p r e t r a i n e d ( " m a d e b y o l l i n / s d x l - v a e - f p 1 6 - f i x " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e = S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , c o n t r o l n e t = c o n t r o l n e t s , v a e = v a e , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e . s c h e d u l e r = U n i P C M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` ` ` N o w y o u c a n p a s s y o u r p r o m p t ( a n o p t i o n a l n e g a t i v e p r o m p t i f y o u ' r e u s i n g o n e ) , c a n n y i m a g e , a n d p o s e i m a g e t o t h e p i p e l i n e : ` ` ` p y p r o m p t = " a g i a n t s t a n d i n g i n a f a n t a s y l a n d s c a p e , b e s t q u a l i t y " n e g a t i v e _ p r o m p t = " m o n o c h r o m e , l o w r e s , b a d a n a t o m y , w o r s t q u a l i t y , l o w q u a l i t y " g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 1 ) i m a g e s = [ o p e n p o s e _ i m a g e . r e s i z e ( ( 1 0 2 4 , 1 0 2 4 ) ) , c a n n y _ i m a g e . r e s i z e ( ( 1 0 2 4 , 1 0 2 4 ) ) ] i m a g e s = p i p e ( p r o m p t , i m a g e = i m a g e s , n u m _ i n f e r e n c e _ s t e p s = 2 5 , g e n e r a t o r = g e n e r a t o r , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , n u m _ i m a g e s _ p e r _ p r o m p t = 3 , c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e = [ 1 . 0 , 0 . 8 ] , ) . i m a g e s m a k e _ i m a g e _ g r i d ( [ o r i g i n a l _ i m a g e , c a n n y _ i m a g e , o p e n p o s e _ i m a g e , i m a g e s [ 0 ] . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) , i m a g e s [ 1 ] . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) , i m a g e s [ 2 ] . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) ] , r o w s = 2 , c o l s = 3 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / m u l t i c o n t r o l n e t . p n g " / > < / d i v > # T 2 I - A d a p t e r [ T 2 I - A d a p t e r ] ( h t t p s : / / h f . c o / p a p e r s / 2 3 0 2 . 0 8 4 5 3 ) i s a l i g h t w e i g h t a d a p t e r f o r c o n t r o l l i n g a n d p r o v i d i n g m o r e a c c u r a t e s t r u c t u r e g u i d a n c e f o r t e x t - t o - i m a g e m o d e l s . I t w o r k s b y l e a r n i n g a n a l i g n m e n t b e t w e e n t h e i n t e r n a l k n o w l e d g e o f t h e t e x t - t o - i m a g e m o d e l a n d a n e x t e r n a l c o n t r o l s i g n a l , s u c h a s e d g e d e t e c t i o n o r d e p t h e s t i m a t i o n . T h e T 2 I - A d a p t e r d e s i g n i s s i m p l e , t h e c o n d i t i o n i s p a s s e d t o f o u r f e a t u r e e x t r a c t i o n b l o c k s a n d t h r e e d o w n s a m p l e b l o c k s . T h i s m a k e s i t f a s t a n d e a s y t o t r a i n d i f f e r e n t a d a p t e r s f o r d i f f e r e n t c o n d i t i o n s w h i c h c a n b e p l u g g e d i n t o t h e t e x t - t o - i m a g e m o d e l . T 2 I - A d a p t e r i s s i m i l a r t o [ C o n t r o l N e t ] ( c o n t r o l n e t ) e x c e p t i t i s s m a l l e r ( ~ 7 7 M p a r a m e t e r s ) a n d f a s t e r b e c a u s e i t o n l y r u n s o n c e d u r i n g t h e d i f f u s i o n p r o c e s s . T h e d o w n s i d e i s t h a t p e r f o r m a n c e m a y b e s l i g h t l y w o r s e t h a n C o n t r o l N e t . T h i s g u i d e w i l l s h o w y o u h o w t o u s e T 2 I - A d a p t e r w i t h d i f f e r e n t S t a b l e D i f f u s i o n m o d e l s a n d h o w y o u c a n c o m p o s e m u l t i p l e T 2 I - A d a p t e r s t o i m p o s e m o r e t h a n o n e c o n d i t i o n . > [ ! T I P ] > T h e r e a r e s e v e r a l T 2 I - A d a p t e r s a v a i l a b l e f o r d i f f e r e n t c o n d i t i o n s , s u c h a s c o l o r p a l e t t e , d e p t h , s k e t c h , p o s e , a n d > s e g m e n t a t i o n . C h e c k o u t t h e [ T e n c e n t A R C ] ( h t t p s : / / h f . c o / T e n c e n t A R C ) r e p o s i t o r y t o t r y t h e m o u t ! B e f o r e y o u b e g i n , m a k e s u r e y o u h a v e t h e f o l l o w i n g l i b r a r i e s i n s t a l l e d . ` ` ` p y # u n c o m m e n t t o i n s t a l l t h e n e c e s s a r y l i b r a r i e s i n C o l a b # ! p i p i n s t a l l - q d i f f u s e r s a c c e l e r a t e c o n t r o l n e t - a u x = = 0 . 0 . 7 ` ` ` # # T e x t - t o - i m a g e T e x t - t o - i m a g e m o d e l s r e l y o n a p r o m p t t o g e n e r a t e a n i m a g e , b u t s o m e t i m e s , t e x t a l o n e m a y n o t b e e n o u g h t o p r o v i d e m o r e a c c u r a t e s t r u c t u r a l g u i d a n c e . T 2 I - A d a p t e r a l l o w s y o u t o p r o v i d e a n a d d i t i o n a l c o n t r o l i m a g e t o g u i d e t h e g e n e r a t i o n p r o c e s s . F o r e x a m p l e , y o u c a n p r o v i d e a c a n n y i m a g e ( a w h i t e o u t l i n e o f a n i m a g e o n a b l a c k b a c k g r o u n d ) t o g u i d e t h e m o d e l t o g e n e r a t e a n i m a g e w i t h a s i m i l a r s t r u c t u r e . < h f o p t i o n s i d = " s t a b l e d i f f u s i o n " > < h f o p t i o n i d = " S t a b l e D i f f u s i o n 1 . 5 " > C r e a t e a c a n n y i m a g e w i t h t h e [ o p e n c v - l i b r a r y ] ( h t t p s : / / g i t h u b . c o m / o p e n c v / o p e n c v - p y t h o n ) . ` ` ` p y i m p o r t c v 2 i m p o r t n u m p y a s n p f r o m P I L i m p o r t I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / s d _ c o n t r o l n e t / h f - l o g o . p n g " ) i m a g e = n p . a r r a y ( i m a g e ) l o w _ t h r e s h o l d = 1 0 0 h i g h _ t h r e s h o l d = 2 0 0 i m a g e = c v 2 . C a n n y ( i m a g e , l o w _ t h r e s h o l d , h i g h _ t h r e s h o l d ) i m a g e = I m a g e . f r o m a r r a y ( i m a g e ) ` ` ` N o w l o a d a T 2 I - A d a p t e r c o n d i t i o n e d o n [ c a n n y i m a g e s ] ( h t t p s : / / h f . c o / T e n c e n t A R C / t 2 i a d a p t e r _ c a n n y _ s d 1 5 v 2 ) a n d p a s s i t t o t h e [ S t a b l e D i f f u s i o n A d a p t e r P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / a d a p t e r # d i f f u s e r s . S t a b l e D i f f u s i o n A d a p t e r P i p e l i n e ) . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n A d a p t e r P i p e l i n e , T 2 I A d a p t e r a d a p t e r = T 2 I A d a p t e r . f r o m _ p r e t r a i n e d ( " T e n c e n t A R C / t 2 i a d a p t e r _ c a n n y _ s d 1 5 v 2 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e = S t a b l e D i f f u s i o n A d a p t e r P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , a d a p t e r = a d a p t e r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , ) p i p e l i n e . t o ( " c u d a " ) ` ` ` F i n a l l y , p a s s y o u r p r o m p t a n d c o n t r o l i m a g e t o t h e p i p e l i n e . ` ` ` p y g e n e r a t o r = t o r c h . G e n e r a t o r ( " c u d a " ) . m a n u a l _ s e e d ( 0 ) i m a g e = p i p e l i n e ( p r o m p t = " c i n e m a t i c p h o t o o f a p l u s h a n d s o f t m i d c e n t u r y s t y l e r u g o n a w o o d e n f l o o r , 3 5 m m p h o t o g r a p h , f i l m , p r o f e s s i o n a l , 4 k , h i g h l y d e t a i l e d " , i m a g e = i m a g e , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / t 2 i - s d 1 . 5 . p n g " / > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " S t a b l e D i f f u s i o n X L " > C r e a t e a c a n n y i m a g e w i t h t h e [ c o n t r o l n e t - a u x ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / c o n t r o l n e t _ a u x ) l i b r a r y . ` ` ` p y f r o m c o n t r o l n e t _ a u x . c a n n y i m p o r t C a n n y D e t e c t o r f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e c a n n y _ d e t e c t o r = C a n n y D e t e c t o r ( ) i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / s d _ c o n t r o l n e t / h f - l o g o . p n g " ) i m a g e = c a n n y _ d e t e c t o r ( i m a g e , d e t e c t _ r e s o l u t i o n = 3 8 4 , i m a g e _ r e s o l u t i o n = 1 0 2 4 ) ` ` ` N o w l o a d a T 2 I - A d a p t e r c o n d i t i o n e d o n [ c a n n y i m a g e s ] ( h t t p s : / / h f . c o / T e n c e n t A R C / t 2 i - a d a p t e r - c a n n y - s d x l - 1 . 0 ) a n d p a s s i t t o t h e [ S t a b l e D i f f u s i o n X L A d a p t e r P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / a d a p t e r # d i f f u s e r s . S t a b l e D i f f u s i o n X L A d a p t e r P i p e l i n e ) . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L A d a p t e r P i p e l i n e , T 2 I A d a p t e r , E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r , A u t o e n c o d e r K L s c h e d u l e r = E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , s u b f o l d e r = " s c h e d u l e r " ) v a e = A u t o e n c o d e r K L . f r o m _ p r e t r a i n e d ( " m a d e b y o l l i n / s d x l - v a e - f p 1 6 - f i x " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) a d a p t e r = T 2 I A d a p t e r . f r o m _ p r e t r a i n e d ( " T e n c e n t A R C / t 2 i - a d a p t e r - c a n n y - s d x l - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e = S t a b l e D i f f u s i o n X L A d a p t e r P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , a d a p t e r = a d a p t e r , v a e = v a e , s c h e d u l e r = s c h e d u l e r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) p i p e l i n e . t o ( " c u d a " ) ` ` ` F i n a l l y , p a s s y o u r p r o m p t a n d c o n t r o l i m a g e t o t h e p i p e l i n e . ` ` ` p y g e n e r a t o r = t o r c h . G e n e r a t o r ( " c u d a " ) . m a n u a l _ s e e d ( 0 ) i m a g e = p i p e l i n e ( p r o m p t = " c i n e m a t i c p h o t o o f a p l u s h a n d s o f t m i d c e n t u r y s t y l e r u g o n a w o o d e n f l o o r , 3 5 m m p h o t o g r a p h , f i l m , p r o f e s s i o n a l , 4 k , h i g h l y d e t a i l e d " , i m a g e = i m a g e , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / t 2 i - s d x l . p n g " / > < / d i v > < / h f o p t i o n > < / h f o p t i o n s > # # M u l t i A d a p t e r T 2 I - A d a p t e r s a r e a l s o c o m p o s a b l e , a l l o w i n g y o u t o u s e m o r e t h a n o n e a d a p t e r t o i m p o s e m u l t i p l e c o n t r o l c o n d i t i o n s o n a n i m a g e . F o r e x a m p l e , y o u c a n u s e a p o s e m a p t o p r o v i d e s t r u c t u r a l c o n t r o l a n d a d e p t h m a p f o r d e p t h c o n t r o l . T h i s i s e n a b l e d b y t h e ` M u l t i A d a p t e r ` c l a s s . L e t ' s c o n d i t i o n a t e x t - t o - i m a g e m o d e l w i t h a p o s e a n d d e p t h a d a p t e r . C r e a t e a n d p l a c e y o u r d e p t h a n d p o s e i m a g e a n d i n a l i s t . ` ` ` p y f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e p o s e _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / t 2 i - a d a p t e r / k e y p o s e _ s a m p l e _ i n p u t . p n g " ) d e p t h _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / t 2 i - a d a p t e r / d e p t h _ s a m p l e _ i n p u t . p n g " ) c o n d = [ p o s e _ i m a g e , d e p t h _ i m a g e ] p r o m p t = [ " S a n t a C l a u s w a l k i n g i n t o a n o f f i c e r o o m w i t h a b e a u t i f u l c i t y v i e w " ] ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / t 2 i - a d a p t e r / d e p t h _ s a m p l e _ i n p u t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > d e p t h i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / t 2 i - a d a p t e r / k e y p o s e _ s a m p l e _ i n p u t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > p o s e i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > L o a d t h e c o r r e s p o n d i n g p o s e a n d d e p t h a d a p t e r s a s a l i s t i n t h e ` M u l t i A d a p t e r ` c l a s s . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n A d a p t e r P i p e l i n e , M u l t i A d a p t e r , T 2 I A d a p t e r a d a p t e r s = M u l t i A d a p t e r ( [ T 2 I A d a p t e r . f r o m _ p r e t r a i n e d ( " T e n c e n t A R C / t 2 i a d a p t e r _ k e y p o s e _ s d 1 4 v 1 " ) , T 2 I A d a p t e r . f r o m _ p r e t r a i n e d ( " T e n c e n t A R C / t 2 i a d a p t e r _ d e p t h _ s d 1 4 v 1 " ) , ] ) a d a p t e r s = a d a p t e r s . t o ( t o r c h . f l o a t 1 6 ) ` ` ` F i n a l l y , l o a d a [ S t a b l e D i f f u s i o n A d a p t e r P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / a d a p t e r # d i f f u s e r s . S t a b l e D i f f u s i o n A d a p t e r P i p e l i n e ) w i t h t h e a d a p t e r s , a n d p a s s y o u r p r o m p t a n d c o n d i t i o n e d i m a g e s t o i t . U s e t h e ` a d a p t e r _ c o n d i t i o n i n g _ s c a l e ` t o a d j u s t t h e w e i g h t o f e a c h a d a p t e r o n t h e i m a g e . ` ` ` p y p i p e l i n e = S t a b l e D i f f u s i o n A d a p t e r P i p e l i n e . f r o m _ p r e t r a i n e d ( " C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , a d a p t e r = a d a p t e r s , ) . t o ( " c u d a " ) i m a g e = p i p e l i n e ( p r o m p t , c o n d , a d a p t e r _ c o n d i t i o n i n g _ s c a l e = [ 0 . 7 , 0 . 7 ] ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / t 2 i - m u l t i . p n g " / > < / d i v > # P i p e l i n e c a l l b a c k s T h e d e n o i s i n g l o o p o f a p i p e l i n e c a n b e m o d i f i e d w i t h c u s t o m d e f i n e d f u n c t i o n s u s i n g t h e ` c a l l b a c k _ o n _ s t e p _ e n d ` p a r a m e t e r . T h e c a l l b a c k f u n c t i o n i s e x e c u t e d a t t h e e n d o f e a c h s t e p , a n d m o d i f i e s t h e p i p e l i n e a t t r i b u t e s a n d v a r i a b l e s f o r t h e n e x t s t e p . T h i s i s r e a l l y u s e f u l f o r * d y n a m i c a l l y * a d j u s t i n g c e r t a i n p i p e l i n e a t t r i b u t e s o r m o d i f y i n g t e n s o r v a r i a b l e s . T h i s v e r s a t i l i t y a l l o w s f o r i n t e r e s t i n g u s e c a s e s s u c h a s c h a n g i n g t h e p r o m p t e m b e d d i n g s a t e a c h t i m e s t e p , a s s i g n i n g d i f f e r e n t w e i g h t s t o t h e p r o m p t e m b e d d i n g s , a n d e d i t i n g t h e g u i d a n c e s c a l e . W i t h c a l l b a c k s , y o u c a n i m p l e m e n t n e w f e a t u r e s w i t h o u t m o d i f y i n g t h e u n d e r l y i n g c o d e ! > [ ! T I P ] > ๐Ÿค— D i f f u s e r s c u r r e n t l y o n l y s u p p o r t s ` c a l l b a c k _ o n _ s t e p _ e n d ` , b u t f e e l f r e e t o o p e n a [ f e a t u r e r e q u e s t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / n e w / c h o o s e ) i f y o u h a v e a c o o l u s e - c a s e a n d r e q u i r e a c a l l b a c k f u n c t i o n w i t h a d i f f e r e n t e x e c u t i o n p o i n t ! T h i s g u i d e w i l l d e m o n s t r a t e h o w c a l l b a c k s w o r k b y a f e w f e a t u r e s y o u c a n i m p l e m e n t w i t h t h e m . # # O f f i c i a l c a l l b a c k s W e p r o v i d e a l i s t o f c a l l b a c k s y o u c a n p l u g i n t o a n e x i s t i n g p i p e l i n e a n d m o d i f y t h e d e n o i s i n g l o o p . T h i s i s t h e c u r r e n t l i s t o f o f f i c i a l c a l l b a c k s : - ` S D C F G C u t o f f C a l l b a c k ` : D i s a b l e s t h e C F G a f t e r a c e r t a i n n u m b e r o f s t e p s f o r a l l S D 1 . 5 p i p e l i n e s , i n c l u d i n g t e x t - t o - i m a g e , i m a g e - t o - i m a g e , i n p a i n t , a n d c o n t r o l n e t . - ` S D X L C F G C u t o f f C a l l b a c k ` : D i s a b l e s t h e C F G a f t e r a c e r t a i n n u m b e r o f s t e p s f o r a l l S D X L p i p e l i n e s , i n c l u d i n g t e x t - t o - i m a g e , i m a g e - t o - i m a g e , i n p a i n t , a n d c o n t r o l n e t . - ` I P A d a p t e r S c a l e C u t o f f C a l l b a c k ` : D i s a b l e s t h e I P A d a p t e r a f t e r a c e r t a i n n u m b e r o f s t e p s f o r a l l p i p e l i n e s s u p p o r t i n g I P - A d a p t e r . > [ ! T I P ] > I f y o u w a n t t o a d d a n e w o f f i c i a l c a l l b a c k , f e e l f r e e t o o p e n a [ f e a t u r e r e q u e s t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / n e w / c h o o s e ) o r [ s u b m i t a P R ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / c o n c e p t u a l / c o n t r i b u t i o n # h o w - t o - o p e n - a - p r ) . T o s e t u p a c a l l b a c k , y o u n e e d t o s p e c i f y t h e n u m b e r o f d e n o i s i n g s t e p s a f t e r w h i c h t h e c a l l b a c k c o m e s i n t o e f f e c t . Y o u c a n d o s o b y u s i n g e i t h e r o n e o f t h e s e t w o a r g u m e n t s - ` c u t o f f _ s t e p _ r a t i o ` : F l o a t n u m b e r w i t h t h e r a t i o o f t h e s t e p s . - ` c u t o f f _ s t e p _ i n d e x ` : I n t e g e r n u m b e r w i t h t h e e x a c t n u m b e r o f t h e s t e p . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D P M S o l v e r M u l t i s t e p S c h e d u l e r , S t a b l e D i f f u s i o n X L P i p e l i n e f r o m d i f f u s e r s . c a l l b a c k s i m p o r t S D X L C F G C u t o f f C a l l b a c k c a l l b a c k = S D X L C F G C u t o f f C a l l b a c k ( c u t o f f _ s t e p _ r a t i o = 0 . 4 ) # c a n a l s o b e u s e d w i t h c u t o f f _ s t e p _ i n d e x # c a l l b a c k = S D X L C F G C u t o f f C a l l b a c k ( c u t o f f _ s t e p _ r a t i o = N o n e , c u t o f f _ s t e p _ i n d e x = 1 0 ) p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) . t o ( " c u d a " ) p i p e l i n e . s c h e d u l e r = D P M S o l v e r M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g , u s e _ k a r r a s _ s i g m a s = T r u e ) p r o m p t = " a s p o r t s c a r a t t h e r o a d , b e s t q u a l i t y , h i g h q u a l i t y , h i g h d e t a i l , 8 k r e s o l u t i o n " g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 2 6 2 8 6 7 0 6 4 1 ) o u t = p i p e l i n e ( p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = " " , g u i d a n c e _ s c a l e = 6 . 5 , n u m _ i n f e r e n c e _ s t e p s = 2 5 , g e n e r a t o r = g e n e r a t o r , c a l l b a c k _ o n _ s t e p _ e n d = c a l l b a c k , ) o u t . i m a g e s [ 0 ] . s a v e ( " o f f i c i a l _ c a l l b a c k . p n g " ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / w i t h o u t _ c f g _ c a l l b a c k . p n g " a l t = " g e n e r a t e d i m a g e o f a s p o r t s c a r a t t h e r o a d " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > w i t h o u t S D X L C F G C u t o f f C a l l b a c k < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / w i t h _ c f g _ c a l l b a c k . p n g " a l t = " g e n e r a t e d i m a g e o f a s p o r t s c a r a t t h e r o a d w i t h c f g c a l l b a c k " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > w i t h S D X L C F G C u t o f f C a l l b a c k < / f i g c a p t i o n > < / d i v > < / d i v > # # D y n a m i c c l a s s i f i e r - f r e e g u i d a n c e D y n a m i c c l a s s i f i e r - f r e e g u i d a n c e ( C F G ) i s a f e a t u r e t h a t a l l o w s y o u t o d i s a b l e C F G a f t e r a c e r t a i n n u m b e r o f i n f e r e n c e s t e p s w h i c h c a n h e l p y o u s a v e c o m p u t e w i t h m i n i m a l c o s t t o p e r f o r m a n c e . T h e c a l l b a c k f u n c t i o n f o r t h i s s h o u l d h a v e t h e f o l l o w i n g a r g u m e n t s : - ` p i p e l i n e ` ( o r t h e p i p e l i n e i n s t a n c e ) p r o v i d e s a c c e s s t o i m p o r t a n t p r o p e r t i e s s u c h a s ` n u m _ t i m e s t e p s ` a n d ` g u i d a n c e _ s c a l e ` . Y o u c a n m o d i f y t h e s e p r o p e r t i e s b y u p d a t i n g t h e u n d e r l y i n g a t t r i b u t e s . F o r t h i s e x a m p l e , y o u ' l l d i s a b l e C F G b y s e t t i n g ` p i p e l i n e . _ g u i d a n c e _ s c a l e = 0 . 0 ` . - ` s t e p _ i n d e x ` a n d ` t i m e s t e p ` t e l l y o u w h e r e y o u a r e i n t h e d e n o i s i n g l o o p . U s e ` s t e p _ i n d e x ` t o t u r n o f f C F G a f t e r r e a c h i n g 4 0 % o f ` n u m _ t i m e s t e p s ` . - ` c a l l b a c k _ k w a r g s ` i s a d i c t t h a t c o n t a i n s t e n s o r v a r i a b l e s y o u c a n m o d i f y d u r i n g t h e d e n o i s i n g l o o p . I t o n l y i n c l u d e s v a r i a b l e s s p e c i f i e d i n t h e ` c a l l b a c k _ o n _ s t e p _ e n d _ t e n s o r _ i n p u t s ` a r g u m e n t , w h i c h i s p a s s e d t o t h e p i p e l i n e ' s ` _ _ c a l l _ _ ` m e t h o d . D i f f e r e n t p i p e l i n e s m a y u s e d i f f e r e n t s e t s o f v a r i a b l e s , s o p l e a s e c h e c k a p i p e l i n e ' s ` _ c a l l b a c k _ t e n s o r _ i n p u t s ` a t t r i b u t e f o r t h e l i s t o f v a r i a b l e s y o u c a n m o d i f y . S o m e c o m m o n v a r i a b l e s i n c l u d e ` l a t e n t s ` a n d ` p r o m p t _ e m b e d s ` . F o r t h i s f u n c t i o n , c h a n g e t h e b a t c h s i z e o f ` p r o m p t _ e m b e d s ` a f t e r s e t t i n g ` g u i d a n c e _ s c a l e = 0 . 0 ` i n o r d e r f o r i t t o w o r k p r o p e r l y . Y o u r c a l l b a c k f u n c t i o n s h o u l d l o o k s o m e t h i n g l i k e t h i s : ` ` ` p y t h o n d e f c a l l b a c k _ d y n a m i c _ c f g ( p i p e , s t e p _ i n d e x , t i m e s t e p , c a l l b a c k _ k w a r g s ) : # a d j u s t t h e b a t c h _ s i z e o f p r o m p t _ e m b e d s a c c o r d i n g t o g u i d a n c e _ s c a l e i f s t e p _ i n d e x = = i n t ( p i p e l i n e . n u m _ t i m e s t e p s * 0 . 4 ) : p r o m p t _ e m b e d s = c a l l b a c k _ k w a r g s [ " p r o m p t _ e m b e d s " ] p r o m p t _ e m b e d s = p r o m p t _ e m b e d s . c h u n k ( 2 ) [ - 1 ] # u p d a t e g u i d a n c e _ s c a l e a n d p r o m p t _ e m b e d s p i p e l i n e . _ g u i d a n c e _ s c a l e = 0 . 0 c a l l b a c k _ k w a r g s [ " p r o m p t _ e m b e d s " ] = p r o m p t _ e m b e d s r e t u r n c a l l b a c k _ k w a r g s ` ` ` N o w , y o u c a n p a s s t h e c a l l b a c k f u n c t i o n t o t h e ` c a l l b a c k _ o n _ s t e p _ e n d ` p a r a m e t e r a n d t h e ` p r o m p t _ e m b e d s ` t o ` c a l l b a c k _ o n _ s t e p _ e n d _ t e n s o r _ i n p u t s ` . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e p i p e l i n e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e = p i p e l i n e . t o ( " c u d a " ) p r o m p t = " a p h o t o o f a n a s t r o n a u t r i d i n g a h o r s e o n m a r s " g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c u d a " ) . m a n u a l _ s e e d ( 1 ) o u t = p i p e l i n e ( p r o m p t , g e n e r a t o r = g e n e r a t o r , c a l l b a c k _ o n _ s t e p _ e n d = c a l l b a c k _ d y n a m i c _ c f g , c a l l b a c k _ o n _ s t e p _ e n d _ t e n s o r _ i n p u t s = [ ' p r o m p t _ e m b e d s ' ] ) o u t . i m a g e s [ 0 ] . s a v e ( " o u t _ c u s t o m _ c f g . p n g " ) ` ` ` # # I n t e r r u p t t h e d i f f u s i o n p r o c e s s > [ ! T I P ] > T h e i n t e r r u p t i o n c a l l b a c k i s s u p p o r t e d f o r t e x t - t o - i m a g e , i m a g e - t o - i m a g e , a n d i n p a i n t i n g f o r t h e [ S t a b l e D i f f u s i o n P i p e l i n e ] ( . . / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / o v e r v i e w ) a n d [ S t a b l e D i f f u s i o n X L P i p e l i n e ] ( . . / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l ) . S t o p p i n g t h e d i f f u s i o n p r o c e s s e a r l y i s u s e f u l w h e n b u i l d i n g U I s t h a t w o r k w i t h D i f f u s e r s b e c a u s e i t a l l o w s u s e r s t o s t o p t h e g e n e r a t i o n p r o c e s s i f t h e y ' r e u n h a p p y w i t h t h e i n t e r m e d i a t e r e s u l t s . Y o u c a n i n c o r p o r a t e t h i s i n t o y o u r p i p e l i n e w i t h a c a l l b a c k . T h i s c a l l b a c k f u n c t i o n s h o u l d t a k e t h e f o l l o w i n g a r g u m e n t s : ` p i p e l i n e ` , ` i ` , ` t ` , a n d ` c a l l b a c k _ k w a r g s ` ( t h i s m u s t b e r e t u r n e d ) . S e t t h e p i p e l i n e ' s ` _ i n t e r r u p t ` a t t r i b u t e t o ` T r u e ` t o s t o p t h e d i f f u s i o n p r o c e s s a f t e r a c e r t a i n n u m b e r o f s t e p s . Y o u a r e a l s o f r e e t o i m p l e m e n t y o u r o w n c u s t o m s t o p p i n g l o g i c i n s i d e t h e c a l l b a c k . I n t h i s e x a m p l e , t h e d i f f u s i o n p r o c e s s i s s t o p p e d a f t e r 1 0 s t e p s e v e n t h o u g h ` n u m _ i n f e r e n c e _ s t e p s ` i s s e t t o 5 0 . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e p i p e l i n e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) n u m _ i n f e r e n c e _ s t e p s = 5 0 d e f i n t e r r u p t _ c a l l b a c k ( p i p e l i n e , i , t , c a l l b a c k _ k w a r g s ) : s t o p _ i d x = 1 0 i f i = = s t o p _ i d x : p i p e l i n e . _ i n t e r r u p t = T r u e r e t u r n c a l l b a c k _ k w a r g s p i p e l i n e ( " A p h o t o o f a c a t " , n u m _ i n f e r e n c e _ s t e p s = n u m _ i n f e r e n c e _ s t e p s , c a l l b a c k _ o n _ s t e p _ e n d = i n t e r r u p t _ c a l l b a c k , ) ` ` ` # # D i s p l a y i m a g e a f t e r e a c h g e n e r a t i o n s t e p > [ ! T I P ] > T h i s t i p w a s c o n t r i b u t e d b y [ a s o m o z a ] ( h t t p s : / / g i t h u b . c o m / a s o m o z a ) . D i s p l a y a n i m a g e a f t e r e a c h g e n e r a t i o n s t e p b y a c c e s s i n g a n d c o n v e r t i n g t h e l a t e n t s a f t e r e a c h s t e p i n t o a n i m a g e . T h e l a t e n t s p a c e i s c o m p r e s s e d t o 1 2 8 x 1 2 8 , s o t h e i m a g e s a r e a l s o 1 2 8 x 1 2 8 w h i c h i s u s e f u l f o r a q u i c k p r e v i e w . 1 . U s e t h e f u n c t i o n b e l o w t o c o n v e r t t h e S D X L l a t e n t s ( 4 c h a n n e l s ) t o R G B t e n s o r s ( 3 c h a n n e l s ) a s e x p l a i n e d i n t h e [ E x p l a i n i n g t h e S D X L l a t e n t s p a c e ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / T i m o t h y A l e x i s V a s s / e x p l a i n i n g - t h e - s d x l - l a t e n t - s p a c e ) b l o g p o s t . ` ` ` p y d e f l a t e n t s _ t o _ r g b ( l a t e n t s ) : w e i g h t s = ( ( 6 0 , - 6 0 , 2 5 , - 7 0 ) , ( 6 0 , - 5 , 1 5 , - 5 0 ) , ( 6 0 , 1 0 , - 5 , - 3 5 ) , ) w e i g h t s _ t e n s o r = t o r c h . t ( t o r c h . t e n s o r ( w e i g h t s , d t y p e = l a t e n t s . d t y p e ) . t o ( l a t e n t s . d e v i c e ) ) b i a s e s _ t e n s o r = t o r c h . t e n s o r ( ( 1 5 0 , 1 4 0 , 1 3 0 ) , d t y p e = l a t e n t s . d t y p e ) . t o ( l a t e n t s . d e v i c e ) r g b _ t e n s o r = t o r c h . e i n s u m ( " . . . l x y , l r - > . . . r x y " , l a t e n t s , w e i g h t s _ t e n s o r ) + b i a s e s _ t e n s o r . u n s q u e e z e ( - 1 ) . u n s q u e e z e ( - 1 ) i m a g e _ a r r a y = r g b _ t e n s o r . c l a m p ( 0 , 2 5 5 ) . b y t e ( ) . c p u ( ) . n u m p y ( ) . t r a n s p o s e ( 1 , 2 , 0 ) r e t u r n I m a g e . f r o m a r r a y ( i m a g e _ a r r a y ) ` ` ` 2 . C r e a t e a f u n c t i o n t o d e c o d e a n d s a v e t h e l a t e n t s i n t o a n i m a g e . ` ` ` p y d e f d e c o d e _ t e n s o r s ( p i p e , s t e p , t i m e s t e p , c a l l b a c k _ k w a r g s ) : l a t e n t s = c a l l b a c k _ k w a r g s [ " l a t e n t s " ] i m a g e = l a t e n t s _ t o _ r g b ( l a t e n t s [ 0 ] ) i m a g e . s a v e ( f " { s t e p } . p n g " ) r e t u r n c a l l b a c k _ k w a r g s ` ` ` 3 . P a s s t h e ` d e c o d e _ t e n s o r s ` f u n c t i o n t o t h e ` c a l l b a c k _ o n _ s t e p _ e n d ` p a r a m e t e r t o d e c o d e t h e t e n s o r s a f t e r e a c h s t e p . Y o u a l s o n e e d t o s p e c i f y w h a t y o u w a n t t o m o d i f y i n t h e ` c a l l b a c k _ o n _ s t e p _ e n d _ t e n s o r _ i n p u t s ` p a r a m e t e r , w h i c h i n t h i s c a s e a r e t h e l a t e n t s . ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h f r o m P I L i m p o r t I m a g e p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) i m a g e = p i p e l i n e ( p r o m p t = " A c r o i s s a n t s h a p e d l i k e a c u t e b e a r . " , n e g a t i v e _ p r o m p t = " D e f o r m e d , u g l y , b a d a n a t o m y " , c a l l b a c k _ o n _ s t e p _ e n d = d e c o d e _ t e n s o r s , c a l l b a c k _ o n _ s t e p _ e n d _ t e n s o r _ i n p u t s = [ " l a t e n t s " ] , ) . i m a g e s [ 0 ] ` ` ` < d i v c l a s s = " f l e x g a p - 4 j u s t i f y - c e n t e r " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / t i p s _ s t e p _ 0 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > s t e p 0 < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / t i p s _ s t e p _ 1 9 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > s t e p 1 9 < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / t i p s _ s t e p _ 2 9 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > s t e p 2 9 < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / t i p s _ s t e p _ 3 9 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > s t e p 3 9 < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / t i p s _ s t e p _ 4 9 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > s t e p 4 9 < / f i g c a p t i o n > < / d i v > < / d i v > # L o a d c o m m u n i t y p i p e l i n e s a n d c o m p o n e n t s # # C o m m u n i t y p i p e l i n e s > [ ! T I P ] T a k e a l o o k a t G i t H u b I s s u e [ # 8 4 1 ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / 8 4 1 ) f o r m o r e c o n t e x t a b o u t w h y w e ' r e a d d i n g c o m m u n i t y p i p e l i n e s t o h e l p e v e r y o n e e a s i l y s h a r e t h e i r w o r k w i t h o u t b e i n g s l o w e d d o w n . C o m m u n i t y p i p e l i n e s a r e a n y [ D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e ) c l a s s t h a t a r e d i f f e r e n t f r o m t h e o r i g i n a l p a p e r i m p l e m e n t a t i o n ( f o r e x a m p l e , t h e [ S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / c o n t r o l n e t # d i f f u s e r s . S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e ) c o r r e s p o n d s t o t h e [ T e x t - t o - I m a g e G e n e r a t i o n w i t h C o n t r o l N e t C o n d i t i o n i n g ] ( h t t p s : / / a r x i v . o r g / a b s / 2 3 0 2 . 0 5 5 4 3 ) p a p e r ) . T h e y p r o v i d e a d d i t i o n a l f u n c t i o n a l i t y o r e x t e n d t h e o r i g i n a l i m p l e m e n t a t i o n o f a p i p e l i n e . T h e r e a r e m a n y c o o l c o m m u n i t y p i p e l i n e s l i k e [ M a r i g o l d D e p t h E s t i m a t i o n ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / c o m m u n i t y # m a r i g o l d - d e p t h - e s t i m a t i o n ) o r [ I n s t a n t I D ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / c o m m u n i t y # i n s t a n t i d - p i p e l i n e ) , a n d y o u c a n f i n d a l l t h e o f f i c i a l c o m m u n i t y p i p e l i n e s [ h e r e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / c o m m u n i t y ) . T h e r e a r e t w o t y p e s o f c o m m u n i t y p i p e l i n e s , t h o s e s t o r e d o n t h e H u g g i n g F a c e H u b a n d t h o s e s t o r e d o n D i f f u s e r s G i t H u b r e p o s i t o r y . H u b p i p e l i n e s a r e c o m p l e t e l y c u s t o m i z a b l e ( s c h e d u l e r , m o d e l s , p i p e l i n e c o d e , e t c . ) w h i l e D i f f u s e r s G i t H u b p i p e l i n e s a r e o n l y l i m i t e d t o c u s t o m p i p e l i n e c o d e . | | G i t H u b c o m m u n i t y p i p e l i n e | H F H u b c o m m u n i t y p i p e l i n e | | - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | u s a g e | s a m e | s a m e | | r e v i e w p r o c e s s | o p e n a P u l l R e q u e s t o n G i t H u b a n d u n d e r g o a r e v i e w p r o c e s s f r o m t h e D i f f u s e r s t e a m b e f o r e m e r g i n g ; m a y b e s l o w e r | u p l o a d d i r e c t l y t o a H u b r e p o s i t o r y w i t h o u t a n y r e v i e w ; t h i s i s t h e f a s t e s t w o r k f l o w | | v i s i b i l i t y | i n c l u d e d i n t h e o f f i c i a l D i f f u s e r s r e p o s i t o r y a n d d o c u m e n t a t i o n | i n c l u d e d o n y o u r H F H u b p r o f i l e a n d r e l i e s o n y o u r o w n u s a g e / p r o m o t i o n t o g a i n v i s i b i l i t y | < h f o p t i o n s i d = " c o m m u n i t y " > < h f o p t i o n i d = " H u b p i p e l i n e s " > T o l o a d a H u g g i n g F a c e H u b c o m m u n i t y p i p e l i n e , p a s s t h e r e p o s i t o r y i d o f t h e c o m m u n i t y p i p e l i n e t o t h e ` c u s t o m _ p i p e l i n e ` a r g u m e n t a n d t h e m o d e l r e p o s i t o r y w h e r e y o u ' d l i k e t o l o a d t h e p i p e l i n e w e i g h t s a n d c o m p o n e n t s f r o m . F o r e x a m p l e , t h e e x a m p l e b e l o w l o a d s a d u m m y p i p e l i n e f r o m [ h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - d u m m y - p i p e l i n e ] ( h t t p s : / / h u g g i n g f a c e . c o / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - d u m m y - p i p e l i n e / b l o b / m a i n / p i p e l i n e . p y ) a n d t h e p i p e l i n e w e i g h t s a n d c o m p o n e n t s f r o m [ g o o g l e / d d p m - c i f a r 1 0 - 3 2 ] ( h t t p s : / / h u g g i n g f a c e . c o / g o o g l e / d d p m - c i f a r 1 0 - 3 2 ) : > [ ! W A R N I N G ] > B y l o a d i n g a c o m m u n i t y p i p e l i n e f r o m t h e H u g g i n g F a c e H u b , y o u a r e t r u s t i n g t h a t t h e c o d e y o u a r e l o a d i n g i s s a f e . M a k e s u r e t o i n s p e c t t h e c o d e o n l i n e b e f o r e l o a d i n g a n d r u n n i n g i t a u t o m a t i c a l l y ! ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " g o o g l e / d d p m - c i f a r 1 0 - 3 2 " , c u s t o m _ p i p e l i n e = " h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - d u m m y - p i p e l i n e " , u s e _ s a f e t e n s o r s = T r u e ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " G i t H u b p i p e l i n e s " > T o l o a d a G i t H u b c o m m u n i t y p i p e l i n e , p a s s t h e r e p o s i t o r y i d o f t h e c o m m u n i t y p i p e l i n e t o t h e ` c u s t o m _ p i p e l i n e ` a r g u m e n t a n d t h e m o d e l r e p o s i t o r y w h e r e y o u y o u ' d l i k e t o l o a d t h e p i p e l i n e w e i g h t s a n d c o m p o n e n t s f r o m . Y o u c a n a l s o l o a d m o d e l c o m p o n e n t s d i r e c t l y . T h e e x a m p l e b e l o w l o a d s t h e c o m m u n i t y [ C L I P G u i d e d S t a b l e D i f f u s i o n ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / c o m m u n i t y # c l i p - g u i d e d - s t a b l e - d i f f u s i o n ) p i p e l i n e a n d t h e C L I P m o d e l c o m p o n e n t s . ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e f r o m t r a n s f o r m e r s i m p o r t C L I P I m a g e P r o c e s s o r , C L I P M o d e l c l i p _ m o d e l _ i d = " l a i o n / C L I P - V i T - B - 3 2 - l a i o n 2 B - s 3 4 B - b 7 9 K " f e a t u r e _ e x t r a c t o r = C L I P I m a g e P r o c e s s o r . f r o m _ p r e t r a i n e d ( c l i p _ m o d e l _ i d ) c l i p _ m o d e l = C L I P M o d e l . f r o m _ p r e t r a i n e d ( c l i p _ m o d e l _ i d ) p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , c u s t o m _ p i p e l i n e = " c l i p _ g u i d e d _ s t a b l e _ d i f f u s i o n " , c l i p _ m o d e l = c l i p _ m o d e l , f e a t u r e _ e x t r a c t o r = f e a t u r e _ e x t r a c t o r , u s e _ s a f e t e n s o r s = T r u e , ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > # # # L o a d f r o m a l o c a l f i l e C o m m u n i t y p i p e l i n e s c a n a l s o b e l o a d e d f r o m a l o c a l f i l e i f y o u p a s s a f i l e p a t h i n s t e a d . T h e p a t h t o t h e p a s s e d d i r e c t o r y m u s t c o n t a i n a p i p e l i n e . p y f i l e t h a t c o n t a i n s t h e p i p e l i n e c l a s s . ` ` ` p y p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , c u s t o m _ p i p e l i n e = " . / p a t h / t o / p i p e l i n e _ d i r e c t o r y / " , c l i p _ m o d e l = c l i p _ m o d e l , f e a t u r e _ e x t r a c t o r = f e a t u r e _ e x t r a c t o r , u s e _ s a f e t e n s o r s = T r u e , ) ` ` ` # # # L o a d f r o m a s p e c i f i c v e r s i o n B y d e f a u l t , c o m m u n i t y p i p e l i n e s a r e l o a d e d f r o m t h e l a t e s t s t a b l e v e r s i o n o f D i f f u s e r s . T o l o a d a c o m m u n i t y p i p e l i n e f r o m a n o t h e r v e r s i o n , u s e t h e ` c u s t o m _ r e v i s i o n ` p a r a m e t e r . < h f o p t i o n s i d = " v e r s i o n " > < h f o p t i o n i d = " m a i n " > F o r e x a m p l e , t o l o a d f r o m t h e m a i n b r a n c h : ` ` ` p y p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , c u s t o m _ p i p e l i n e = " c l i p _ g u i d e d _ s t a b l e _ d i f f u s i o n " , c u s t o m _ r e v i s i o n = " m a i n " , c l i p _ m o d e l = c l i p _ m o d e l , f e a t u r e _ e x t r a c t o r = f e a t u r e _ e x t r a c t o r , u s e _ s a f e t e n s o r s = T r u e , ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " o l d e r v e r s i o n " > F o r e x a m p l e , t o l o a d f r o m a p r e v i o u s v e r s i o n o f D i f f u s e r s l i k e v 0 . 2 5 . 0 : ` ` ` p y p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , c u s t o m _ p i p e l i n e = " c l i p _ g u i d e d _ s t a b l e _ d i f f u s i o n " , c u s t o m _ r e v i s i o n = " v 0 . 2 5 . 0 " , c l i p _ m o d e l = c l i p _ m o d e l , f e a t u r e _ e x t r a c t o r = f e a t u r e _ e x t r a c t o r , u s e _ s a f e t e n s o r s = T r u e , ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > # # # L o a d w i t h f r o m _ p i p e C o m m u n i t y p i p e l i n e s c a n a l s o b e l o a d e d w i t h t h e [ f r o m _ p i p e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p i p e ) m e t h o d w h i c h a l l o w s y o u t o l o a d a n d r e u s e m u l t i p l e p i p e l i n e s w i t h o u t a n y a d d i t i o n a l m e m o r y o v e r h e a d ( l e a r n m o r e i n t h e [ R e u s e a p i p e l i n e ] ( . / l o a d i n g # r e u s e - a - p i p e l i n e ) g u i d e ) . T h e m e m o r y r e q u i r e m e n t i s d e t e r m i n e d b y t h e l a r g e s t s i n g l e p i p e l i n e l o a d e d . F o r e x a m p l e , l e t ' s l o a d a c o m m u n i t y p i p e l i n e t h a t s u p p o r t s [ l o n g p r o m p t s w i t h w e i g h t i n g ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / c o m m u n i t y # l o n g - p r o m p t - w e i g h t i n g - s t a b l e - d i f f u s i o n ) f r o m a S t a b l e D i f f u s i o n p i p e l i n e . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e _ s d = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " e m i l i a n J R / C y b e r R e a l i s t i c _ V 3 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e _ s d . t o ( " c u d a " ) # l o a d l o n g p r o m p t w e i g h t i n g p i p e l i n e p i p e _ l p w = D i f f u s i o n P i p e l i n e . f r o m _ p i p e ( p i p e _ s d , c u s t o m _ p i p e l i n e = " l p w _ s t a b l e _ d i f f u s i o n " , ) . t o ( " c u d a " ) p r o m p t = " c a t , h i d i n g i n t h e l e a v e s , ( ( r a i n ) ) , z a z i e r a i n y d a y , b e a u t i f u l e y e s , m a c r o s h o t , c o l o r f u l d e t a i l s , n a t u r a l l i g h t i n g , a m a z i n g c o m p o s i t i o n , s u b s u r f a c e s c a t t e r i n g , a m a z i n g t e x t u r e s , f i l m i c , s o f t l i g h t , u l t r a - d e t a i l e d e y e s , i n t r i c a t e d e t a i l s , d e t a i l e d t e x t u r e , l i g h t s o u r c e c o n t r a s t , d r a m a t i c s h a d o w s , c i n e m a t i c l i g h t , d e p t h o f f i e l d , f i l m g r a i n , n o i s e , d a r k b a c k g r o u n d , h y p e r r e a l i s t i c d s l r f i l m s t i l l , d i m v o l u m e t r i c c i n e m a t i c l i g h t i n g " n e g _ p r o m p t = " ( d e f o r m e d i r i s , d e f o r m e d p u p i l s , s e m i - r e a l i s t i c , c g i , 3 d , r e n d e r , s k e t c h , c a r t o o n , d r a w i n g , a n i m e , m u t a t e d h a n d s a n d f i n g e r s : 1 . 4 ) , ( d e f o r m e d , d i s t o r t e d , d i s f i g u r e d : 1 . 3 ) , p o o r l y d r a w n , b a d a n a t o m y , w r o n g a n a t o m y , e x t r a l i m b , m i s s i n g l i m b , f l o a t i n g l i m b s , d i s c o n n e c t e d l i m b s , m u t a t i o n , m u t a t e d , u g l y , d i s g u s t i n g , a m p u t a t i o n " g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 2 0 ) o u t _ l p w = p i p e _ l p w ( p r o m p t , n e g a t i v e _ p r o m p t = n e g _ p r o m p t , w i d t h = 5 1 2 , h e i g h t = 5 1 2 , m a x _ e m b e d d i n g s _ m u l t i p l e s = 3 , n u m _ i n f e r e n c e _ s t e p s = 5 0 , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s [ 0 ] o u t _ l p w ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / f r o m _ p i p e _ l p w . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > S t a b l e D i f f u s i o n w i t h l o n g p r o m p t w e i g h t i n g < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / f r o m _ p i p e _ n o n _ l p w . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > S t a b l e D i f f u s i o n < / f i g c a p t i o n > < / d i v > < / d i v > # # E x a m p l e c o m m u n i t y p i p e l i n e s C o m m u n i t y p i p e l i n e s a r e a r e a l l y f u n a n d c r e a t i v e w a y t o e x t e n d t h e c a p a b i l i t i e s o f t h e o r i g i n a l p i p e l i n e w i t h n e w a n d u n i q u e f e a t u r e s . Y o u c a n f i n d a l l c o m m u n i t y p i p e l i n e s i n t h e [ d i f f u s e r s / e x a m p l e s / c o m m u n i t y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / c o m m u n i t y ) f o l d e r w i t h i n f e r e n c e a n d t r a i n i n g e x a m p l e s f o r h o w t o u s e t h e m . T h i s s e c t i o n s h o w c a s e s a c o u p l e o f t h e c o m m u n i t y p i p e l i n e s a n d h o p e f u l l y i t ' l l i n s p i r e y o u t o c r e a t e y o u r o w n ( f e e l f r e e t o o p e n a P R f o r y o u r c o m m u n i t y p i p e l i n e a n d p i n g u s f o r a r e v i e w ) ! > [ ! T I P ] > T h e [ f r o m _ p i p e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p i p e ) m e t h o d i s p a r t i c u l a r l y u s e f u l f o r l o a d i n g c o m m u n i t y p i p e l i n e s b e c a u s e m a n y o f t h e m d o n ' t h a v e p r e t r a i n e d w e i g h t s a n d a d d a f e a t u r e o n t o p o f a n e x i s t i n g p i p e l i n e l i k e S t a b l e D i f f u s i o n o r S t a b l e D i f f u s i o n X L . Y o u c a n l e a r n m o r e a b o u t t h e [ f r o m _ p i p e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p i p e ) m e t h o d i n t h e [ L o a d w i t h f r o m _ p i p e ] ( c u s t o m _ p i p e l i n e _ o v e r v i e w # l o a d - w i t h - f r o m _ p i p e ) s e c t i o n . < h f o p t i o n s i d = " c o m m u n i t y " > < h f o p t i o n i d = " M a r i g o l d " > [ M a r i g o l d ] ( h t t p s : / / m a r i g o l d m o n o d e p t h . g i t h u b . i o / ) i s a d e p t h e s t i m a t i o n d i f f u s i o n p i p e l i n e t h a t u s e s t h e r i c h e x i s t i n g a n d i n h e r e n t v i s u a l k n o w l e d g e i n d i f f u s i o n m o d e l s . I t t a k e s a n i n p u t i m a g e a n d d e n o i s e s a n d d e c o d e s i t i n t o a d e p t h m a p . M a r i g o l d p e r f o r m s w e l l e v e n o n i m a g e s i t h a s n ' t s e e n b e f o r e . ` ` ` p y i m p o r t t o r c h f r o m P I L i m p o r t I m a g e f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " p r s - e t h / m a r i g o l d - l c m - v 1 - 0 " , c u s t o m _ p i p e l i n e = " m a r i g o l d _ d e p t h _ e s t i m a t i o n " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) p i p e l i n e . t o ( " c u d a " ) i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o m m u n i t y - m a r i g o l d . p n g " ) o u t p u t = p i p e l i n e ( i m a g e , d e n o i s i n g _ s t e p s = 4 , e n s e m b l e _ s i z e = 5 , p r o c e s s i n g _ r e s = 7 6 8 , m a t c h _ i n p u t _ r e s = T r u e , b a t c h _ s i z e = 0 , s e e d = 3 3 , c o l o r _ m a p = " S p e c t r a l " , s h o w _ p r o g r e s s _ b a r = T r u e , ) d e p t h _ c o l o r e d : I m a g e . I m a g e = o u t p u t . d e p t h _ c o l o r e d d e p t h _ c o l o r e d . s a v e ( " . / d e p t h _ c o l o r e d . p n g " ) ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o m m u n i t y - m a r i g o l d . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > o r i g i n a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / m a r i g o l d - d e p t h . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > c o l o r i z e d d e p t h i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " H D - P a i n t e r " > [ H D - P a i n t e r ] ( h t t p s : / / h f . c o / p a p e r s / 2 3 1 2 . 1 4 0 9 1 ) i s a h i g h - r e s o l u t i o n i n p a i n t i n g p i p e l i n e . I t i n t r o d u c e s a * P r o m p t - A w a r e I n t r o v e r t e d A t t e n t i o n ( P A I n t A ) * l a y e r t o b e t t e r a l i g n a p r o m p t w i t h t h e a r e a t o b e i n p a i n t e d , a n d * R e w e i g h t i n g A t t e n t i o n S c o r e G u i d a n c e ( R A S G ) * t o k e e p t h e l a t e n t s m o r e p r o m p t - a l i g n e d a n d w i t h i n t h e i r t r a i n e d d o m a i n t o g e n e r a t e r e a l i s t c i m a g e s . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e , D D I M S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 - i n p a i n t i n g " , c u s t o m _ p i p e l i n e = " h d _ p a i n t e r " ) p i p e l i n e . s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g ) i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / h d - p a i n t e r . j p g " ) m a s k _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / h d - p a i n t e r - m a s k . p n g " ) p r o m p t = " f o o t b a l l " i m a g e = p i p e l i n e ( p r o m p t , i n i t _ i m a g e , m a s k _ i m a g e , u s e _ r a s g = T r u e , u s e _ p a i n t a = T r u e , g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / h d - p a i n t e r . j p g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > o r i g i n a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / h d - p a i n t e r - o u t p u t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > < / h f o p t i o n > < / h f o p t i o n s > # # C o m m u n i t y c o m p o n e n t s C o m m u n i t y c o m p o n e n t s a l l o w u s e r s t o b u i l d p i p e l i n e s t h a t m a y h a v e c u s t o m i z e d c o m p o n e n t s t h a t a r e n o t a p a r t o f D i f f u s e r s . I f y o u r p i p e l i n e h a s c u s t o m c o m p o n e n t s t h a t D i f f u s e r s d o e s n ' t a l r e a d y s u p p o r t , y o u n e e d t o p r o v i d e t h e i r i m p l e m e n t a t i o n s a s P y t h o n m o d u l e s . T h e s e c u s t o m i z e d c o m p o n e n t s c o u l d b e a V A E , U N e t , a n d s c h e d u l e r . I n m o s t c a s e s , t h e t e x t e n c o d e r i s i m p o r t e d f r o m t h e T r a n s f o r m e r s l i b r a r y . T h e p i p e l i n e c o d e i t s e l f c a n a l s o b e c u s t o m i z e d . T h i s s e c t i o n s h o w s h o w u s e r s s h o u l d u s e c o m m u n i t y c o m p o n e n t s t o b u i l d a c o m m u n i t y p i p e l i n e . Y o u ' l l u s e t h e [ s h o w l a b / s h o w - 1 - b a s e ] ( h t t p s : / / h u g g i n g f a c e . c o / s h o w l a b / s h o w - 1 - b a s e ) p i p e l i n e c h e c k p o i n t a s a n e x a m p l e . 1 . I m p o r t a n d l o a d t h e t e x t e n c o d e r f r o m T r a n s f o r m e r s : ` ` ` p y t h o n f r o m t r a n s f o r m e r s i m p o r t T 5 T o k e n i z e r , T 5 E n c o d e r M o d e l p i p e _ i d = " s h o w l a b / s h o w - 1 - b a s e " t o k e n i z e r = T 5 T o k e n i z e r . f r o m _ p r e t r a i n e d ( p i p e _ i d , s u b f o l d e r = " t o k e n i z e r " ) t e x t _ e n c o d e r = T 5 E n c o d e r M o d e l . f r o m _ p r e t r a i n e d ( p i p e _ i d , s u b f o l d e r = " t e x t _ e n c o d e r " ) ` ` ` 2 . L o a d a s c h e d u l e r : ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D P M S o l v e r M u l t i s t e p S c h e d u l e r s c h e d u l e r = D P M S o l v e r M u l t i s t e p S c h e d u l e r . f r o m _ p r e t r a i n e d ( p i p e _ i d , s u b f o l d e r = " s c h e d u l e r " ) ` ` ` 3 . L o a d a n i m a g e p r o c e s s o r : ` ` ` p y t h o n f r o m t r a n s f o r m e r s i m p o r t C L I P I m a g e P r o c e s s o r f e a t u r e _ e x t r a c t o r = C L I P I m a g e P r o c e s s o r . f r o m _ p r e t r a i n e d ( p i p e _ i d , s u b f o l d e r = " f e a t u r e _ e x t r a c t o r " ) ` ` ` < T i p w a r n i n g = { t r u e } > I n s t e p s 4 a n d 5 , t h e c u s t o m [ U N e t ] ( h t t p s : / / g i t h u b . c o m / s h o w l a b / S h o w - 1 / b l o b / m a i n / s h o w o n e / m o d e l s / u n e t _ 3 d _ c o n d i t i o n . p y ) a n d [ p i p e l i n e ] ( h t t p s : / / h u g g i n g f a c e . c o / s a y a k p a u l / s h o w - 1 - b a s e - w i t h - c o d e / b l o b / m a i n / u n e t / s h o w o n e _ u n e t _ 3 d _ c o n d i t i o n . p y ) i m p l e m e n t a t i o n m u s t m a t c h t h e f o r m a t s h o w n i n t h e i r f i l e s f o r t h i s e x a m p l e t o w o r k . < / T i p > 4 . N o w y o u ' l l l o a d a [ c u s t o m U N e t ] ( h t t p s : / / g i t h u b . c o m / s h o w l a b / S h o w - 1 / b l o b / m a i n / s h o w o n e / m o d e l s / u n e t _ 3 d _ c o n d i t i o n . p y ) , w h i c h i n t h i s e x a m p l e , h a s a l r e a d y b e e n i m p l e m e n t e d i n [ s h o w o n e _ u n e t _ 3 d _ c o n d i t i o n . p y ] ( h t t p s : / / h u g g i n g f a c e . c o / s a y a k p a u l / s h o w - 1 - b a s e - w i t h - c o d e / b l o b / m a i n / u n e t / s h o w o n e _ u n e t _ 3 d _ c o n d i t i o n . p y ) f o r y o u r c o n v e n i e n c e . Y o u ' l l n o t i c e t h e [ U N e t 3 D C o n d i t i o n M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / u n e t 3 d - c o n d # d i f f u s e r s . U N e t 3 D C o n d i t i o n M o d e l ) c l a s s n a m e i s c h a n g e d t o ` S h o w O n e U N e t 3 D C o n d i t i o n M o d e l ` b e c a u s e [ U N e t 3 D C o n d i t i o n M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / u n e t 3 d - c o n d # d i f f u s e r s . U N e t 3 D C o n d i t i o n M o d e l ) a l r e a d y e x i s t s i n D i f f u s e r s . A n y c o m p o n e n t s n e e d e d f o r t h e ` S h o w O n e U N e t 3 D C o n d i t i o n M o d e l ` c l a s s s h o u l d b e p l a c e d i n s h o w o n e _ u n e t _ 3 d _ c o n d i t i o n . p y . O n c e t h i s i s d o n e , y o u c a n i n i t i a l i z e t h e U N e t : ` ` ` p y t h o n f r o m s h o w o n e _ u n e t _ 3 d _ c o n d i t i o n i m p o r t S h o w O n e U N e t 3 D C o n d i t i o n M o d e l u n e t = S h o w O n e U N e t 3 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( p i p e _ i d , s u b f o l d e r = " u n e t " ) ` ` ` 5 . F i n a l l y , y o u ' l l l o a d t h e c u s t o m p i p e l i n e c o d e . F o r t h i s e x a m p l e , i t h a s a l r e a d y b e e n c r e a t e d f o r y o u i n [ p i p e l i n e _ t 2 v _ b a s e _ p i x e l . p y ] ( h t t p s : / / h u g g i n g f a c e . c o / s a y a k p a u l / s h o w - 1 - b a s e - w i t h - c o d e / b l o b / m a i n / p i p e l i n e _ t 2 v _ b a s e _ p i x e l . p y ) . T h i s s c r i p t c o n t a i n s a c u s t o m ` T e x t T o V i d e o I F P i p e l i n e ` c l a s s f o r g e n e r a t i n g v i d e o s f r o m t e x t . J u s t l i k e t h e c u s t o m U N e t , a n y c o d e n e e d e d f o r t h e c u s t o m p i p e l i n e t o w o r k s h o u l d g o i n p i p e l i n e _ t 2 v _ b a s e _ p i x e l . p y . O n c e e v e r y t h i n g i s i n p l a c e , y o u c a n i n i t i a l i z e t h e ` T e x t T o V i d e o I F P i p e l i n e ` w i t h t h e ` S h o w O n e U N e t 3 D C o n d i t i o n M o d e l ` : ` ` ` p y t h o n f r o m p i p e l i n e _ t 2 v _ b a s e _ p i x e l i m p o r t T e x t T o V i d e o I F P i p e l i n e i m p o r t t o r c h p i p e l i n e = T e x t T o V i d e o I F P i p e l i n e ( u n e t = u n e t , t e x t _ e n c o d e r = t e x t _ e n c o d e r , t o k e n i z e r = t o k e n i z e r , s c h e d u l e r = s c h e d u l e r , f e a t u r e _ e x t r a c t o r = f e a t u r e _ e x t r a c t o r ) p i p e l i n e = p i p e l i n e . t o ( d e v i c e = " c u d a " ) p i p e l i n e . t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ` ` ` P u s h t h e p i p e l i n e t o t h e H u b t o s h a r e w i t h t h e c o m m u n i t y ! ` ` ` p y t h o n p i p e l i n e . p u s h _ t o _ h u b ( " c u s t o m - t 2 v - p i p e l i n e " ) ` ` ` A f t e r t h e p i p e l i n e i s s u c c e s s f u l l y p u s h e d , y o u n e e d t o m a k e a f e w c h a n g e s : 1 . C h a n g e t h e ` _ c l a s s _ n a m e ` a t t r i b u t e i n [ m o d e l _ i n d e x . j s o n ] ( h t t p s : / / h u g g i n g f a c e . c o / s a y a k p a u l / s h o w - 1 - b a s e - w i t h - c o d e / b l o b / m a i n / m o d e l _ i n d e x . j s o n # L 2 ) t o ` " p i p e l i n e _ t 2 v _ b a s e _ p i x e l " ` a n d ` " T e x t T o V i d e o I F P i p e l i n e " ` . 2 . U p l o a d ` s h o w o n e _ u n e t _ 3 d _ c o n d i t i o n . p y ` t o t h e [ u n e t ] ( h t t p s : / / h u g g i n g f a c e . c o / s a y a k p a u l / s h o w - 1 - b a s e - w i t h - c o d e / b l o b / m a i n / u n e t / s h o w o n e _ u n e t _ 3 d _ c o n d i t i o n . p y ) s u b f o l d e r . 3 . U p l o a d ` p i p e l i n e _ t 2 v _ b a s e _ p i x e l . p y ` t o t h e p i p e l i n e [ r e p o s i t o r y ] ( h t t p s : / / h u g g i n g f a c e . c o / s a y a k p a u l / s h o w - 1 - b a s e - w i t h - c o d e / t r e e / m a i n ) . T o r u n i n f e r e n c e , a d d t h e ` t r u s t _ r e m o t e _ c o d e ` a r g u m e n t w h i l e i n i t i a l i z i n g t h e p i p e l i n e t o h a n d l e a l l t h e " m a g i c " b e h i n d t h e s c e n e s . > [ ! W A R N I N G ] > A s a n a d d i t i o n a l p r e c a u t i o n w i t h ` t r u s t _ r e m o t e _ c o d e = T r u e ` , w e s t r o n g l y e n c o u r a g e y o u t o p a s s a c o m m i t h a s h t o t h e ` r e v i s i o n ` p a r a m e t e r i n [ f r o m _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ) t o m a k e s u r e t h e c o d e h a s n ' t b e e n u p d a t e d w i t h s o m e m a l i c i o u s n e w l i n e s o f c o d e ( u n l e s s y o u f u l l y t r u s t t h e m o d e l o w n e r s ) . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " < c h a n g e - u s e r n a m e > / < c h a n g e - i d > " , t r u s t _ r e m o t e _ c o d e = T r u e , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p r o m p t = " h e l l o " # T e x t e m b e d s p r o m p t _ e m b e d s , n e g a t i v e _ e m b e d s = p i p e l i n e . e n c o d e _ p r o m p t ( p r o m p t ) # K e y f r a m e s g e n e r a t i o n ( 8 x 6 4 x 4 0 , 2 f p s ) v i d e o _ f r a m e s = p i p e l i n e ( p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , n e g a t i v e _ p r o m p t _ e m b e d s = n e g a t i v e _ e m b e d s , n u m _ f r a m e s = 8 , h e i g h t = 4 0 , w i d t h = 6 4 , n u m _ i n f e r e n c e _ s t e p s = 2 , g u i d a n c e _ s c a l e = 9 . 0 , o u t p u t _ t y p e = " p t " ) . f r a m e s ` ` ` A s a n a d d i t i o n a l r e f e r e n c e , t a k e a l o o k a t t h e r e p o s i t o r y s t r u c t u r e o f [ s t a b i l i t y a i / j a p a n e s e - s t a b l e - d i f f u s i o n - x l ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / j a p a n e s e - s t a b l e - d i f f u s i o n - x l / ) w h i c h a l s o u s e s t h e ` t r u s t _ r e m o t e _ c o d e ` f e a t u r e . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / j a p a n e s e - s t a b l e - d i f f u s i o n - x l " , t r u s t _ r e m o t e _ c o d e = T r u e ) p i p e l i n e . t o ( " c u d a " ) ` ` ` # S h a p - E S h a p - E i s a c o n d i t i o n a l m o d e l f o r g e n e r a t i n g 3 D a s s e t s w h i c h c o u l d b e u s e d f o r v i d e o g a m e d e v e l o p m e n t , i n t e r i o r d e s i g n , a n d a r c h i t e c t u r e . I t i s t r a i n e d o n a l a r g e d a t a s e t o f 3 D a s s e t s , a n d p o s t - p r o c e s s e d t o r e n d e r m o r e v i e w s o f e a c h o b j e c t a n d p r o d u c e 1 6 K i n s t e a d o f 4 K p o i n t c l o u d s . T h e S h a p - E m o d e l i s t r a i n e d i n t w o s t e p s : 1 . a n e n c o d e r a c c e p t s t h e p o i n t c l o u d s a n d r e n d e r e d v i e w s o f a 3 D a s s e t a n d o u t p u t s t h e p a r a m e t e r s o f i m p l i c i t f u n c t i o n s t h a t r e p r e s e n t t h e a s s e t 2 . a d i f f u s i o n m o d e l i s t r a i n e d o n t h e l a t e n t s p r o d u c e d b y t h e e n c o d e r t o g e n e r a t e e i t h e r n e u r a l r a d i a n c e f i e l d s ( N e R F s ) o r a t e x t u r e d 3 D m e s h , m a k i n g i t e a s i e r t o r e n d e r a n d u s e t h e 3 D a s s e t i n d o w n s t r e a m a p p l i c a t i o n s T h i s g u i d e w i l l s h o w y o u h o w t o u s e S h a p - E t o s t a r t g e n e r a t i n g y o u r o w n 3 D a s s e t s ! B e f o r e y o u b e g i n , m a k e s u r e y o u h a v e t h e f o l l o w i n g l i b r a r i e s i n s t a l l e d : ` ` ` p y # u n c o m m e n t t o i n s t a l l t h e n e c e s s a r y l i b r a r i e s i n C o l a b # ! p i p i n s t a l l - q d i f f u s e r s t r a n s f o r m e r s a c c e l e r a t e t r i m e s h ` ` ` # # T e x t - t o - 3 D T o g e n e r a t e a g i f o f a 3 D o b j e c t , p a s s a t e x t p r o m p t t o t h e [ S h a p E P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s h a p _ e # d i f f u s e r s . S h a p E P i p e l i n e ) . T h e p i p e l i n e g e n e r a t e s a l i s t o f i m a g e f r a m e s w h i c h a r e u s e d t o c r e a t e t h e 3 D o b j e c t . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S h a p E P i p e l i n e d e v i c e = t o r c h . d e v i c e ( " c u d a " i f t o r c h . c u d a . i s _ a v a i l a b l e ( ) e l s e " c p u " ) p i p e = S h a p E P i p e l i n e . f r o m _ p r e t r a i n e d ( " o p e n a i / s h a p - e " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e = p i p e . t o ( d e v i c e ) g u i d a n c e _ s c a l e = 1 5 . 0 p r o m p t = [ " A f i r e c r a c k e r " , " A b i r t h d a y c u p c a k e " ] i m a g e s = p i p e ( p r o m p t , g u i d a n c e _ s c a l e = g u i d a n c e _ s c a l e , n u m _ i n f e r e n c e _ s t e p s = 6 4 , f r a m e _ s i z e = 2 5 6 , ) . i m a g e s ` ` ` ์ด ์ œ [ e x p o r t _ t o _ g i f ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / u t i l i t i e s # d i f f u s e r s . u t i l s . e x p o r t _ t o _ g i f ) ํ•จ ์ˆ˜ ๋ฅผ ์‚ฌ ์šฉ ํ•ด ์ด ๋ฏธ ์ง€ ํ”„ ๋ ˆ ์ž„ ๋ฆฌ ์Šค ํŠธ ๋ฅผ 3 D ์˜ค ๋ธŒ ์  ํŠธ ์˜ g i f ๋กœ ๋ณ€ ํ™˜ ํ•ฉ ๋‹ˆ ๋‹ค . ` ` ` p y f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f e x p o r t _ t o _ g i f ( i m a g e s [ 0 ] , " f i r e c r a c k e r _ 3 d . g i f " ) e x p o r t _ t o _ g i f ( i m a g e s [ 1 ] , " c a k e _ 3 d . g i f " ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / s h a p _ e / f i r e c r a c k e r _ o u t . g i f " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > p r o m p t = " A f i r e c r a c k e r " < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / s h a p _ e / c a k e _ o u t . g i f " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > p r o m p t = " A b i r t h d a y c u p c a k e " < / f i g c a p t i o n > < / d i v > < / d i v > # # I m a g e - t o - 3 D T o g e n e r a t e a 3 D o b j e c t f r o m a n o t h e r i m a g e , u s e t h e [ S h a p E I m g 2 I m g P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s h a p _ e # d i f f u s e r s . S h a p E I m g 2 I m g P i p e l i n e ) . Y o u c a n u s e a n e x i s t i n g i m a g e o r g e n e r a t e a n e n t i r e l y n e w o n e . L e t ' s u s e t h e [ K a n d i n s k y 2 . 1 ] ( . . / a p i / p i p e l i n e s / k a n d i n s k y ) m o d e l t o g e n e r a t e a n e w i m a g e . ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h p r i o r _ p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 1 - p r i o r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 1 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) p r o m p t = " A c h e e s e b u r g e r , w h i t e b a c k g r o u n d " i m a g e _ e m b e d s , n e g a t i v e _ i m a g e _ e m b e d s = p r i o r _ p i p e l i n e ( p r o m p t , g u i d a n c e _ s c a l e = 1 . 0 ) . t o _ t u p l e ( ) i m a g e = p i p e l i n e ( p r o m p t , i m a g e _ e m b e d s = i m a g e _ e m b e d s , n e g a t i v e _ i m a g e _ e m b e d s = n e g a t i v e _ i m a g e _ e m b e d s , ) . i m a g e s [ 0 ] i m a g e . s a v e ( " b u r g e r . p n g " ) ` ` ` P a s s t h e c h e e s e b u r g e r t o t h e [ S h a p E I m g 2 I m g P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s h a p _ e # d i f f u s e r s . S h a p E I m g 2 I m g P i p e l i n e ) t o g e n e r a t e a 3 D r e p r e s e n t a t i o n o f i t . ` ` ` p y f r o m P I L i m p o r t I m a g e f r o m d i f f u s e r s i m p o r t S h a p E I m g 2 I m g P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f p i p e = S h a p E I m g 2 I m g P i p e l i n e . f r o m _ p r e t r a i n e d ( " o p e n a i / s h a p - e - i m g 2 i m g " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) . t o ( " c u d a " ) g u i d a n c e _ s c a l e = 3 . 0 i m a g e = I m a g e . o p e n ( " b u r g e r . p n g " ) . r e s i z e ( ( 2 5 6 , 2 5 6 ) ) i m a g e s = p i p e ( i m a g e , g u i d a n c e _ s c a l e = g u i d a n c e _ s c a l e , n u m _ i n f e r e n c e _ s t e p s = 6 4 , f r a m e _ s i z e = 2 5 6 , ) . i m a g e s g i f _ p a t h = e x p o r t _ t o _ g i f ( i m a g e s [ 0 ] , " b u r g e r _ 3 d . g i f " ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / s h a p _ e / b u r g e r _ i n . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > c h e e s e b u r g e r < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / s h a p _ e / b u r g e r _ o u t . g i f " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > 3 D c h e e s e b u r g e r < / f i g c a p t i o n > < / d i v > < / d i v > # # G e n e r a t e m e s h S h a p - E i s a f l e x i b l e m o d e l t h a t c a n a l s o g e n e r a t e t e x t u r e d m e s h o u t p u t s t o b e r e n d e r e d f o r d o w n s t r e a m a p p l i c a t i o n s . I n t h i s e x a m p l e , y o u ' l l c o n v e r t t h e o u t p u t i n t o a ` g l b ` f i l e b e c a u s e t h e ๐Ÿค— D a t a s e t s l i b r a r y s u p p o r t s m e s h v i s u a l i z a t i o n o f ` g l b ` f i l e s w h i c h c a n b e r e n d e r e d b y t h e [ D a t a s e t v i e w e r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / h u b / d a t a s e t s - v i e w e r # d a t a s e t - p r e v i e w ) . Y o u c a n g e n e r a t e m e s h o u t p u t s f o r b o t h t h e [ S h a p E P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s h a p _ e # d i f f u s e r s . S h a p E P i p e l i n e ) a n d [ S h a p E I m g 2 I m g P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s h a p _ e # d i f f u s e r s . S h a p E I m g 2 I m g P i p e l i n e ) b y s p e c i f y i n g t h e ` o u t p u t _ t y p e ` p a r a m e t e r a s ` " m e s h " ` : ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S h a p E P i p e l i n e d e v i c e = t o r c h . d e v i c e ( " c u d a " i f t o r c h . c u d a . i s _ a v a i l a b l e ( ) e l s e " c p u " ) p i p e = S h a p E P i p e l i n e . f r o m _ p r e t r a i n e d ( " o p e n a i / s h a p - e " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e = p i p e . t o ( d e v i c e ) g u i d a n c e _ s c a l e = 1 5 . 0 p r o m p t = " A b i r t h d a y c u p c a k e " i m a g e s = p i p e ( p r o m p t , g u i d a n c e _ s c a l e = g u i d a n c e _ s c a l e , n u m _ i n f e r e n c e _ s t e p s = 6 4 , f r a m e _ s i z e = 2 5 6 , o u t p u t _ t y p e = " m e s h " ) . i m a g e s ` ` ` U s e t h e ` e x p o r t _ t o _ p l y ( ) ` f u n c t i o n t o s a v e t h e m e s h o u t p u t a s a ` p l y ` f i l e : < T i p > Y o u c a n o p t i o n a l l y s a v e t h e m e s h o u t p u t a s a n ` o b j ` f i l e w i t h t h e ` e x p o r t _ t o _ o b j ( ) ` f u n c t i o n . T h e a b i l i t y t o s a v e t h e m e s h o u t p u t i n a v a r i e t y o f f o r m a t s m a k e s i t m o r e f l e x i b l e f o r d o w n s t r e a m u s a g e ! < / T i p > ` ` ` p y f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ p l y p l y _ p a t h = e x p o r t _ t o _ p l y ( i m a g e s [ 0 ] , " 3 d _ c a k e . p l y " ) p r i n t ( f " S a v e d t o f o l d e r : { p l y _ p a t h } " ) ` ` ` T h e n y o u c a n c o n v e r t t h e ` p l y ` f i l e t o a ` g l b ` f i l e w i t h t h e t r i m e s h l i b r a r y : ` ` ` p y i m p o r t t r i m e s h m e s h = t r i m e s h . l o a d ( " 3 d _ c a k e . p l y " ) m e s h _ e x p o r t = m e s h . e x p o r t ( " 3 d _ c a k e . g l b " , f i l e _ t y p e = " g l b " ) ` ` ` B y d e f a u l t , t h e m e s h o u t p u t i s f o c u s e d f r o m t h e b o t t o m v i e w p o i n t b u t y o u c a n c h a n g e t h e d e f a u l t v i e w p o i n t b y a p p l y i n g a r o t a t i o n t r a n s f o r m : ` ` ` p y i m p o r t t r i m e s h i m p o r t n u m p y a s n p m e s h = t r i m e s h . l o a d ( " 3 d _ c a k e . p l y " ) r o t = t r i m e s h . t r a n s f o r m a t i o n s . r o t a t i o n _ m a t r i x ( - n p . p i / 2 , [ 1 , 0 , 0 ] ) m e s h = m e s h . a p p l y _ t r a n s f o r m ( r o t ) m e s h _ e x p o r t = m e s h . e x p o r t ( " 3 d _ c a k e . g l b " , f i l e _ t y p e = " g l b " ) ` ` ` U p l o a d t h e m e s h f i l e t o y o u r d a t a s e t r e p o s i t o r y t o v i s u a l i z e i t w i t h t h e D a t a s e t v i e w e r ! < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / 3 D - c a k e . g i f " / > < / d i v > # S t a b l e V i d e o D i f f u s i o n [ S t a b l e V i d e o D i f f u s i o n ( S V D ) ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 1 1 . 1 5 1 2 7 ) i s a p o w e r f u l i m a g e - t o - v i d e o g e n e r a t i o n m o d e l t h a t c a n g e n e r a t e 2 - 4 s e c o n d h i g h r e s o l u t i o n ( 5 7 6 x 1 0 2 4 ) v i d e o s c o n d i t i o n e d o n a n i n p u t i m a g e . T h i s g u i d e w i l l s h o w y o u h o w t o u s e S V D t o g e n e r a t e s h o r t v i d e o s f r o m i m a g e s . B e f o r e y o u b e g i n , m a k e s u r e y o u h a v e t h e f o l l o w i n g l i b r a r i e s i n s t a l l e d : ` ` ` p y # C o l a b ์— ์„œ ํ•„ ์š” ํ•œ ๋ผ ์ด ๋ธŒ ๋Ÿฌ ๋ฆฌ ๋ฅผ ์„ค ์น˜ ํ•˜ ๊ธฐ ์œ„ ํ•ด ์ฃผ ์„ ์„ ์ œ ์™ธ ํ•˜ ์„ธ ์š” ! p i p i n s t a l l - q - U d i f f u s e r s t r a n s f o r m e r s a c c e l e r a t e ` ` ` T h e a r e t w o v a r i a n t s o f t h i s m o d e l , [ S V D ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - v i d e o - d i f f u s i o n - i m g 2 v i d ) a n d [ S V D - X T ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - v i d e o - d i f f u s i o n - i m g 2 v i d - x t ) . T h e S V D c h e c k p o i n t i s t r a i n e d t o g e n e r a t e 1 4 f r a m e s a n d t h e S V D - X T c h e c k p o i n t i s f u r t h e r f i n e t u n e d t o g e n e r a t e 2 5 f r a m e s . Y o u ' l l u s e t h e S V D - X T c h e c k p o i n t f o r t h i s g u i d e . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e V i d e o D i f f u s i o n P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , e x p o r t _ t o _ v i d e o p i p e = S t a b l e V i d e o D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - v i d e o - d i f f u s i o n - i m g 2 v i d - x t " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # L o a d t h e c o n d i t i o n i n g i m a g e i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s v d / r o c k e t . p n g " ) i m a g e = i m a g e . r e s i z e ( ( 1 0 2 4 , 5 7 6 ) ) g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 4 2 ) f r a m e s = p i p e ( i m a g e , d e c o d e _ c h u n k _ s i z e = 8 , g e n e r a t o r = g e n e r a t o r ) . f r a m e s [ 0 ] e x p o r t _ t o _ v i d e o ( f r a m e s , " g e n e r a t e d . m p 4 " , f p s = 7 ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s v d / r o c k e t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > " s o u r c e i m a g e o f a r o c k e t " < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s v d / o u t p u t _ r o c k e t . g i f " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > " g e n e r a t e d v i d e o f r o m s o u r c e i m a g e " < / f i g c a p t i o n > < / d i v > < / d i v > # # t o r c h . c o m p i l e Y o u c a n g a i n a 2 0 - 2 5 % s p e e d u p a t t h e e x p e n s e o f s l i g h t l y i n c r e a s e d m e m o r y b y [ c o m p i l i n g ] ( . . / o p t i m i z a t i o n / t o r c h 2 . 0 # t o r c h c o m p i l e ) t h e U N e t . ` ` ` d i f f - p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) + p i p e . t o ( " c u d a " ) + p i p e . u n e t = t o r c h . c o m p i l e ( p i p e . u n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) ` ` ` # # R e d u c e m e m o r y u s a g e V i d e o g e n e r a t i o n i s v e r y m e m o r y i n t e n s i v e b e c a u s e y o u ' r e e s s e n t i a l l y g e n e r a t i n g ` n u m _ f r a m e s ` a l l a t o n c e , s i m i l a r t o t e x t - t o - i m a g e g e n e r a t i o n w i t h a h i g h b a t c h s i z e . T o r e d u c e t h e m e m o r y r e q u i r e m e n t , t h e r e a r e m u l t i p l e o p t i o n s t h a t t r a d e - o f f i n f e r e n c e s p e e d f o r l o w e r m e m o r y r e q u i r e m e n t : - e n a b l e m o d e l o f f l o a d i n g : e a c h c o m p o n e n t o f t h e p i p e l i n e i s o f f l o a d e d t o t h e C P U o n c e i t ' s n o t n e e d e d a n y m o r e . - e n a b l e f e e d - f o r w a r d c h u n k i n g : t h e f e e d - f o r w a r d l a y e r r u n s i n a l o o p i n s t e a d o f r u n n i n g a s i n g l e f e e d - f o r w a r d w i t h a h u g e b a t c h s i z e . - r e d u c e ` d e c o d e _ c h u n k _ s i z e ` : t h e V A E d e c o d e s f r a m e s i n c h u n k s i n s t e a d o f d e c o d i n g t h e m a l l t o g e t h e r . S e t t i n g ` d e c o d e _ c h u n k _ s i z e = 1 ` d e c o d e s o n e f r a m e a t a t i m e a n d u s e s t h e l e a s t a m o u n t o f m e m o r y ( w e r e c o m m e n d a d j u s t i n g t h i s v a l u e b a s e d o n y o u r G P U m e m o r y ) b u t t h e v i d e o m i g h t h a v e s o m e f l i c k e r i n g . ` ` ` d i f f - p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) - f r a m e s = p i p e ( i m a g e , d e c o d e _ c h u n k _ s i z e = 8 , g e n e r a t o r = g e n e r a t o r ) . f r a m e s [ 0 ] + p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) + p i p e . u n e t . e n a b l e _ f o r w a r d _ c h u n k i n g ( ) + f r a m e s = p i p e ( i m a g e , d e c o d e _ c h u n k _ s i z e = 2 , g e n e r a t o r = g e n e r a t o r , n u m _ f r a m e s = 2 5 ) . f r a m e s [ 0 ] ` ` ` U s i n g a l l t h e s e t r i c k s t o g e t h e r s h o u l d l o w e r t h e m e m o r y r e q u i r e m e n t t o l e s s t h a n 8 G B V R A M . # # M i c r o - c o n d i t i o n i n g S t a b l e D i f f u s i o n V i d e o a l s o a c c e p t s m i c r o - c o n d i t i o n i n g , i n a d d i t i o n t o t h e c o n d i t i o n i n g i m a g e , w h i c h a l l o w s m o r e c o n t r o l o v e r t h e g e n e r a t e d v i d e o : - ` f p s ` : t h e f r a m e s p e r s e c o n d o f t h e g e n e r a t e d v i d e o . - ` m o t i o n _ b u c k e t _ i d ` : t h e m o t i o n b u c k e t i d t o u s e f o r t h e g e n e r a t e d v i d e o . T h i s c a n b e u s e d t o c o n t r o l t h e m o t i o n o f t h e g e n e r a t e d v i d e o . I n c r e a s i n g t h e m o t i o n b u c k e t i d i n c r e a s e s t h e m o t i o n o f t h e g e n e r a t e d v i d e o . - ` n o i s e _ a u g _ s t r e n g t h ` : t h e a m o u n t o f n o i s e a d d e d t o t h e c o n d i t i o n i n g i m a g e . T h e h i g h e r t h e v a l u e s t h e l e s s t h e v i d e o r e s e m b l e s t h e c o n d i t i o n i n g i m a g e . I n c r e a s i n g t h i s v a l u e a l s o i n c r e a s e s t h e m o t i o n o f t h e g e n e r a t e d v i d e o . F o r e x a m p l e , t o g e n e r a t e a v i d e o w i t h m o r e m o t i o n , u s e t h e ` m o t i o n _ b u c k e t _ i d ` a n d ` n o i s e _ a u g _ s t r e n g t h ` m i c r o - c o n d i t i o n i n g p a r a m e t e r s : ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e V i d e o D i f f u s i o n P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , e x p o r t _ t o _ v i d e o p i p e = S t a b l e V i d e o D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - v i d e o - d i f f u s i o n - i m g 2 v i d - x t " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # L o a d t h e c o n d i t i o n i n g i m a g e i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s v d / r o c k e t . p n g " ) i m a g e = i m a g e . r e s i z e ( ( 1 0 2 4 , 5 7 6 ) ) g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 4 2 ) f r a m e s = p i p e ( i m a g e , d e c o d e _ c h u n k _ s i z e = 8 , g e n e r a t o r = g e n e r a t o r , m o t i o n _ b u c k e t _ i d = 1 8 0 , n o i s e _ a u g _ s t r e n g t h = 0 . 1 ) . f r a m e s [ 0 ] e x p o r t _ t o _ v i d e o ( f r a m e s , " g e n e r a t e d . m p 4 " , f p s = 7 ) ` ` ` ! [ ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s v d / o u t p u t _ r o c k e t _ w i t h _ c o n d i t i o n s . g i f ) # L o a d s c h e d u l e r s a n d m o d e l s D i f f u s i o n p i p e l i n e s a r e a c o l l e c t i o n o f i n t e r c h a n g e a b l e s c h e d u l e r s a n d m o d e l s t h a t c a n b e m i x e d a n d m a t c h e d t o t a i l o r a p i p e l i n e t o a s p e c i f i c u s e c a s e . T h e s c h e d u l e r e n c a p s u l a t e s t h e e n t i r e d e n o i s i n g p r o c e s s s u c h a s t h e n u m b e r o f d e n o i s i n g s t e p s a n d t h e a l g o r i t h m f o r f i n d i n g t h e d e n o i s e d s a m p l e . A s c h e d u l e r i s n o t p a r a m e t e r i z e d o r t r a i n e d s o t h e y d o n ' t t a k e v e r y m u c h m e m o r y . T h e m o d e l i s u s u a l l y o n l y c o n c e r n e d w i t h t h e f o r w a r d p a s s o f g o i n g f r o m a n o i s y i n p u t t o a l e s s n o i s y s a m p l e . T h i s g u i d e w i l l s h o w y o u h o w t o l o a d s c h e d u l e r s a n d m o d e l s t o c u s t o m i z e a p i p e l i n e . Y o u ' l l u s e t h e [ s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ] ( h t t p s : / / h f . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ) c h e c k p o i n t t h r o u g h o u t t h i s g u i d e , s o l e t ' s l o a d i t f i r s t . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) ` ` ` Y o u c a n s e e w h a t s c h e d u l e r t h i s p i p e l i n e u s e s w i t h t h e ` p i p e l i n e . s c h e d u l e r ` a t t r i b u t e . ` ` ` p y p i p e l i n e . s c h e d u l e r P N D M S c h e d u l e r { " _ c l a s s _ n a m e " : " P N D M S c h e d u l e r " , " _ d i f f u s e r s _ v e r s i o n " : " 0 . 2 1 . 4 " , " b e t a _ e n d " : 0 . 0 1 2 , " b e t a _ s c h e d u l e " : " s c a l e d _ l i n e a r " , " b e t a _ s t a r t " : 0 . 0 0 0 8 5 , " c l i p _ s a m p l e " : f a l s e , " n u m _ t r a i n _ t i m e s t e p s " : 1 0 0 0 , " s e t _ a l p h a _ t o _ o n e " : f a l s e , " s k i p _ p r k _ s t e p s " : t r u e , " s t e p s _ o f f s e t " : 1 , " t i m e s t e p _ s p a c i n g " : " l e a d i n g " , " t r a i n e d _ b e t a s " : n u l l } ` ` ` # # L o a d a s c h e d u l e r S c h e d u l e r s a r e d e f i n e d b y a c o n f i g u r a t i o n f i l e t h a t c a n b e u s e d b y a v a r i e t y o f s c h e d u l e r s . L o a d a s c h e d u l e r w i t h t h e [ S c h e d u l e r M i x i n . f r o m _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / o v e r v i e w # d i f f u s e r s . S c h e d u l e r M i x i n . f r o m _ p r e t r a i n e d ) m e t h o d , a n d s p e c i f y t h e ` s u b f o l d e r ` p a r a m e t e r t o l o a d t h e c o n f i g u r a t i o n f i l e i n t o t h e c o r r e c t s u b f o l d e r o f t h e p i p e l i n e r e p o s i t o r y . F o r e x a m p l e , t o l o a d t h e [ D D I M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / d d i m # d i f f u s e r s . D D I M S c h e d u l e r ) : ` ` ` p y f r o m d i f f u s e r s i m p o r t D D I M S c h e d u l e r , D i f f u s i o n P i p e l i n e d d i m = D D I M S c h e d u l e r . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , s u b f o l d e r = " s c h e d u l e r " ) ` ` ` T h e n y o u c a n p a s s t h e n e w l y l o a d e d s c h e d u l e r t o t h e p i p e l i n e . ` ` ` p y t h o n p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , s c h e d u l e r = d d i m , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) ` ` ` # # C o m p a r e s c h e d u l e r s S c h e d u l e r s h a v e t h e i r o w n u n i q u e s t r e n g t h s a n d w e a k n e s s e s , m a k i n g i t d i f f i c u l t t o q u a n t i t a t i v e l y c o m p a r e w h i c h s c h e d u l e r w o r k s b e s t f o r a p i p e l i n e . Y o u t y p i c a l l y h a v e t o m a k e a t r a d e - o f f b e t w e e n d e n o i s i n g s p e e d a n d d e n o i s i n g q u a l i t y . W e r e c o m m e n d t r y i n g o u t d i f f e r e n t s c h e d u l e r s t o f i n d o n e t h a t w o r k s b e s t f o r y o u r u s e c a s e . C a l l t h e ` p i p e l i n e . s c h e d u l e r . c o m p a t i b l e s ` a t t r i b u t e t o s e e w h a t s c h e d u l e r s a r e c o m p a t i b l e w i t h a p i p e l i n e . L e t ' s c o m p a r e t h e [ L M S D i s c r e t e S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / l m s _ d i s c r e t e # d i f f u s e r s . L M S D i s c r e t e S c h e d u l e r ) , [ E u l e r D i s c r e t e S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / e u l e r # d i f f u s e r s . E u l e r D i s c r e t e S c h e d u l e r ) , [ E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / e u l e r _ a n c e s t r a l # d i f f u s e r s . E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r ) , a n d t h e [ D P M S o l v e r M u l t i s t e p S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / m u l t i s t e p _ d p m _ s o l v e r # d i f f u s e r s . D P M S o l v e r M u l t i s t e p S c h e d u l e r ) o n t h e f o l l o w i n g p r o m p t a n d s e e d . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) p r o m p t = " A p h o t o g r a p h o f a n a s t r o n a u t r i d i n g a h o r s e o n M a r s , h i g h r e s o l u t i o n , h i g h d e f i n i t i o n . " g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c u d a " ) . m a n u a l _ s e e d ( 8 ) ` ` ` T o c h a n g e t h e p i p e l i n e s s c h e d u l e r , u s e t h e [ f r o m _ c o n f i g ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / c o n f i g u r a t i o n # d i f f u s e r s . C o n f i g M i x i n . f r o m _ c o n f i g ) m e t h o d t o l o a d a d i f f e r e n t s c h e d u l e r ' s ` p i p e l i n e . s c h e d u l e r . c o n f i g ` i n t o t h e p i p e l i n e . < h f o p t i o n s i d = " s c h e d u l e r s " > < h f o p t i o n i d = " L M S D i s c r e t e S c h e d u l e r " > [ L M S D i s c r e t e S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / l m s _ d i s c r e t e # d i f f u s e r s . L M S D i s c r e t e S c h e d u l e r ) t y p i c a l l y g e n e r a t e s h i g h e r q u a l i t y i m a g e s t h a n t h e d e f a u l t s c h e d u l e r . ` ` ` p y f r o m d i f f u s e r s i m p o r t L M S D i s c r e t e S c h e d u l e r p i p e l i n e . s c h e d u l e r = L M S D i s c r e t e S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g ) i m a g e = p i p e l i n e ( p r o m p t , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " E u l e r D i s c r e t e S c h e d u l e r " > [ E u l e r D i s c r e t e S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / e u l e r # d i f f u s e r s . E u l e r D i s c r e t e S c h e d u l e r ) c a n g e n e r a t e h i g h e r q u a l i t y i m a g e s i n j u s t 3 0 s t e p s . ` ` ` p y f r o m d i f f u s e r s i m p o r t E u l e r D i s c r e t e S c h e d u l e r p i p e l i n e . s c h e d u l e r = E u l e r D i s c r e t e S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g ) i m a g e = p i p e l i n e ( p r o m p t , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r " > [ E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / e u l e r _ a n c e s t r a l # d i f f u s e r s . E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r ) c a n g e n e r a t e h i g h e r q u a l i t y i m a g e s i n j u s t 3 0 s t e p s . ` ` ` p y f r o m d i f f u s e r s i m p o r t E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r p i p e l i n e . s c h e d u l e r = E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g ) i m a g e = p i p e l i n e ( p r o m p t , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " D P M S o l v e r M u l t i s t e p S c h e d u l e r " > [ D P M S o l v e r M u l t i s t e p S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / m u l t i s t e p _ d p m _ s o l v e r # d i f f u s e r s . D P M S o l v e r M u l t i s t e p S c h e d u l e r ) p r o v i d e s a b a l a n c e b e t w e e n s p e e d a n d q u a l i t y a n d c a n g e n e r a t e h i g h e r q u a l i t y i m a g e s i n j u s t 2 0 s t e p s . ` ` ` p y f r o m d i f f u s e r s i m p o r t D P M S o l v e r M u l t i s t e p S c h e d u l e r p i p e l i n e . s c h e d u l e r = D P M S o l v e r M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g ) i m a g e = p i p e l i n e ( p r o m p t , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` < / h f o p t i o n > < / h f o p t i o n s > < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / p a t r i c k v o n p l a t e n / i m a g e s / r e s o l v e / m a i n / d i f f u s e r s _ d o c s / a s t r o n a u t _ l m s . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > L M S D i s c r e t e S c h e d u l e r < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / p a t r i c k v o n p l a t e n / i m a g e s / r e s o l v e / m a i n / d i f f u s e r s _ d o c s / a s t r o n a u t _ e u l e r _ d i s c r e t e . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > E u l e r D i s c r e t e S c h e d u l e r < / f i g c a p t i o n > < / d i v > < / d i v > < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / p a t r i c k v o n p l a t e n / i m a g e s / r e s o l v e / m a i n / d i f f u s e r s _ d o c s / a s t r o n a u t _ e u l e r _ a n c e s t r a l . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > E u l e r A n c e s t r a l D i s c r e t e S c h e d u l e r < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / p a t r i c k v o n p l a t e n / i m a g e s / r e s o l v e / m a i n / d i f f u s e r s _ d o c s / a s t r o n a u t _ d p m . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > D P M S o l v e r M u l t i s t e p S c h e d u l e r < / f i g c a p t i o n > < / d i v > < / d i v > M o s t i m a g e s l o o k v e r y s i m i l a r a n d a r e c o m p a r a b l e i n q u a l i t y . A g a i n , i t o f t e n c o m e s d o w n t o y o u r s p e c i f i c u s e c a s e s o a g o o d a p p r o a c h i s t o r u n m u l t i p l e d i f f e r e n t s c h e d u l e r s a n d c o m p a r e t h e r e s u l t s . # # # F l a x s c h e d u l e r s T o c o m p a r e F l a x s c h e d u l e r s , y o u n e e d t o a d d i t i o n a l l y l o a d t h e s c h e d u l e r s t a t e i n t o t h e m o d e l p a r a m e t e r s . F o r e x a m p l e , l e t ' s c h a n g e t h e d e f a u l t s c h e d u l e r i n [ F l a x S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . F l a x S t a b l e D i f f u s i o n P i p e l i n e ) t o u s e t h e s u p e r f a s t ` F l a x D P M S o l v e r M u l t i s t e p S c h e d u l e r ` . > [ ! W A R N I N G ] > T h e ` F l a x L M S D i s c r e t e S c h e d u l e r ` a n d ` F l a x D D P M S c h e d u l e r ` a r e n o t c o m p a t i b l e w i t h t h e [ F l a x S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . F l a x S t a b l e D i f f u s i o n P i p e l i n e ) y e t . ` ` ` p y i m p o r t j a x i m p o r t n u m p y a s n p f r o m f l a x . j a x _ u t i l s i m p o r t r e p l i c a t e f r o m f l a x . t r a i n i n g . c o m m o n _ u t i l s i m p o r t s h a r d f r o m d i f f u s e r s i m p o r t F l a x S t a b l e D i f f u s i o n P i p e l i n e , F l a x D P M S o l v e r M u l t i s t e p S c h e d u l e r s c h e d u l e r , s c h e d u l e r _ s t a t e = F l a x D P M S o l v e r M u l t i s t e p S c h e d u l e r . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , s u b f o l d e r = " s c h e d u l e r " ) p i p e l i n e , p a r a m s = F l a x S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , s c h e d u l e r = s c h e d u l e r , v a r i a n t = " b f 1 6 " , d t y p e = j a x . n u m p y . b f l o a t 1 6 , ) p a r a m s [ " s c h e d u l e r " ] = s c h e d u l e r _ s t a t e ` ` ` T h e n y o u c a n t a k e a d v a n t a g e o f F l a x ' s c o m p a t i b i l i t y w i t h T P U s t o g e n e r a t e a n u m b e r o f i m a g e s i n p a r a l l e l . Y o u ' l l n e e d t o m a k e a c o p y o f t h e m o d e l p a r a m e t e r s f o r e a c h a v a i l a b l e d e v i c e a n d t h e n s p l i t t h e i n p u t s a c r o s s t h e m t o g e n e r a t e y o u r d e s i r e d n u m b e r o f i m a g e s . ` ` ` p y # G e n e r a t e 1 i m a g e p e r p a r a l l e l d e v i c e ( 8 o n T P U v 2 - 8 o r T P U v 3 - 8 ) p r o m p t = " A p h o t o g r a p h o f a n a s t r o n a u t r i d i n g a h o r s e o n M a r s , h i g h r e s o l u t i o n , h i g h d e f i n i t i o n . " n u m _ s a m p l e s = j a x . d e v i c e _ c o u n t ( ) p r o m p t _ i d s = p i p e l i n e . p r e p a r e _ i n p u t s ( [ p r o m p t ] * n u m _ s a m p l e s ) p r n g _ s e e d = j a x . r a n d o m . P R N G K e y ( 0 ) n u m _ i n f e r e n c e _ s t e p s = 2 5 # s h a r d i n p u t s a n d r n g p a r a m s = r e p l i c a t e ( p a r a m s ) p r n g _ s e e d = j a x . r a n d o m . s p l i t ( p r n g _ s e e d , j a x . d e v i c e _ c o u n t ( ) ) p r o m p t _ i d s = s h a r d ( p r o m p t _ i d s ) i m a g e s = p i p e l i n e ( p r o m p t _ i d s , p a r a m s , p r n g _ s e e d , n u m _ i n f e r e n c e _ s t e p s , j i t = T r u e ) . i m a g e s i m a g e s = p i p e l i n e . n u m p y _ t o _ p i l ( n p . a s a r r a y ( i m a g e s . r e s h a p e ( ( n u m _ s a m p l e s , ) + i m a g e s . s h a p e [ - 3 : ] ) ) ) ` ` ` # # M o d e l s M o d e l s a r e l o a d e d f r o m t h e [ M o d e l M i x i n . f r o m _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / o v e r v i e w # d i f f u s e r s . M o d e l M i x i n . f r o m _ p r e t r a i n e d ) m e t h o d , w h i c h d o w n l o a d s a n d c a c h e s t h e l a t e s t v e r s i o n o f t h e m o d e l w e i g h t s a n d c o n f i g u r a t i o n s . I f t h e l a t e s t f i l e s a r e a v a i l a b l e i n t h e l o c a l c a c h e , [ f r o m _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / o v e r v i e w # d i f f u s e r s . M o d e l M i x i n . f r o m _ p r e t r a i n e d ) r e u s e s f i l e s i n t h e c a c h e i n s t e a d o f r e - d o w n l o a d i n g t h e m . M o d e l s c a n b e l o a d e d f r o m a s u b f o l d e r w i t h t h e ` s u b f o l d e r ` a r g u m e n t . F o r e x a m p l e , t h e m o d e l w e i g h t s f o r [ s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ] ( h t t p s : / / h f . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ) a r e s t o r e d i n t h e [ u n e t ] ( h t t p s : / / h f . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 / t r e e / m a i n / u n e t ) s u b f o l d e r . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t U N e t 2 D C o n d i t i o n M o d e l u n e t = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , s u b f o l d e r = " u n e t " , u s e _ s a f e t e n s o r s = T r u e ) ` ` ` T h e y c a n a l s o b e d i r e c t l y l o a d e d f r o m a [ r e p o s i t o r y ] ( h t t p s : / / h u g g i n g f a c e . c o / g o o g l e / d d p m - c i f a r 1 0 - 3 2 / t r e e / m a i n ) . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t U N e t 2 D M o d e l u n e t = U N e t 2 D M o d e l . f r o m _ p r e t r a i n e d ( " g o o g l e / d d p m - c i f a r 1 0 - 3 2 " , u s e _ s a f e t e n s o r s = T r u e ) ` ` ` T o l o a d a n d s a v e m o d e l v a r i a n t s , s p e c i f y t h e ` v a r i a n t ` a r g u m e n t i n [ M o d e l M i x i n . f r o m _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / o v e r v i e w # d i f f u s e r s . M o d e l M i x i n . f r o m _ p r e t r a i n e d ) a n d [ M o d e l M i x i n . s a v e _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / o v e r v i e w # d i f f u s e r s . M o d e l M i x i n . s a v e _ p r e t r a i n e d ) . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t U N e t 2 D C o n d i t i o n M o d e l u n e t = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , s u b f o l d e r = " u n e t " , v a r i a n t = " n o n _ e m a " , u s e _ s a f e t e n s o r s = T r u e ) u n e t . s a v e _ p r e t r a i n e d ( " . / l o c a l - u n e t " , v a r i a n t = " n o n _ e m a " ) ` ` ` # K a n d i n s k y T h e K a n d i n s k y m o d e l s a r e a s e r i e s o f m u l t i l i n g u a l t e x t - t o - i m a g e g e n e r a t i o n m o d e l s . T h e K a n d i n s k y 2 . 0 m o d e l u s e s t w o m u l t i l i n g u a l t e x t e n c o d e r s a n d c o n c a t e n a t e s t h o s e r e s u l t s f o r t h e U N e t . [ K a n d i n s k y 2 . 1 ] ( . . / a p i / p i p e l i n e s / k a n d i n s k y ) c h a n g e s t h e a r c h i t e c t u r e t o i n c l u d e a n i m a g e p r i o r m o d e l ( [ ` C L I P ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m o d e l _ d o c / c l i p ) ) t o g e n e r a t e a m a p p i n g b e t w e e n t e x t a n d i m a g e e m b e d d i n g s . T h e m a p p i n g p r o v i d e s b e t t e r t e x t - i m a g e a l i g n m e n t a n d i t i s u s e d w i t h t h e t e x t e m b e d d i n g s d u r i n g t r a i n i n g , l e a d i n g t o h i g h e r q u a l i t y r e s u l t s . F i n a l l y , K a n d i n s k y 2 . 1 u s e s a [ M o d u l a t i n g Q u a n t i z e d V e c t o r s ( M o V Q ) ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 2 0 9 . 0 9 0 0 2 ) d e c o d e r - w h i c h a d d s a s p a t i a l c o n d i t i o n a l n o r m a l i z a t i o n l a y e r t o i n c r e a s e p h o t o r e a l i s m - t o d e c o d e t h e l a t e n t s i n t o i m a g e s . [ K a n d i n s k y 2 . 2 ] ( . . / a p i / p i p e l i n e s / k a n d i n s k y _ v 2 2 ) i m p r o v e s o n t h e p r e v i o u s m o d e l b y r e p l a c i n g t h e i m a g e e n c o d e r o f t h e i m a g e p r i o r m o d e l w i t h a l a r g e r C L I P - V i T - G m o d e l t o i m p r o v e q u a l i t y . T h e i m a g e p r i o r m o d e l w a s a l s o r e t r a i n e d o n i m a g e s w i t h d i f f e r e n t r e s o l u t i o n s a n d a s p e c t r a t i o s t o g e n e r a t e h i g h e r - r e s o l u t i o n i m a g e s a n d d i f f e r e n t i m a g e s i z e s . [ K a n d i n s k y 3 ] ( . . / a p i / p i p e l i n e s / k a n d i n s k y 3 ) s i m p l i f i e s t h e a r c h i t e c t u r e a n d s h i f t s a w a y f r o m t h e t w o - s t a g e g e n e r a t i o n p r o c e s s i n v o l v i n g t h e p r i o r m o d e l a n d d i f f u s i o n m o d e l . I n s t e a d , K a n d i n s k y 3 u s e s [ F l a n - U L 2 ] ( h t t p s : / / h u g g i n g f a c e . c o / g o o g l e / f l a n - u l 2 ) t o e n c o d e t e x t , a U N e t w i t h [ B i g G a n - d e e p ] ( h t t p s : / / h f . c o / p a p e r s / 1 8 0 9 . 1 1 0 9 6 ) b l o c k s , a n d [ S b e r - M o V Q G A N ] ( h t t p s : / / g i t h u b . c o m / a i - f o r e v e r / M o V Q G A N ) t o d e c o d e t h e l a t e n t s i n t o i m a g e s . T e x t u n d e r s t a n d i n g a n d g e n e r a t e d i m a g e q u a l i t y a r e p r i m a r i l y a c h i e v e d b y u s i n g a l a r g e r t e x t e n c o d e r a n d U N e t . T h i s g u i d e w i l l s h o w y o u h o w t o u s e t h e K a n d i n s k y m o d e l s f o r t e x t - t o - i m a g e , i m a g e - t o - i m a g e , i n p a i n t i n g , i n t e r p o l a t i o n , a n d m o r e . B e f o r e y o u b e g i n , m a k e s u r e y o u h a v e t h e f o l l o w i n g l i b r a r i e s i n s t a l l e d : ` ` ` p y # u n c o m m e n t t o i n s t a l l t h e n e c e s s a r y l i b r a r i e s i n C o l a b # ! p i p i n s t a l l - q d i f f u s e r s t r a n s f o r m e r s a c c e l e r a t e ` ` ` < T i p w a r n i n g = { t r u e } > K a n d i n s k y 2 . 1 a n d 2 . 2 u s a g e i s v e r y s i m i l a r ! T h e o n l y d i f f e r e n c e i s K a n d i n s k y 2 . 2 d o e s n ' t a c c e p t ` p r o m p t ` a s a n i n p u t w h e n d e c o d i n g t h e l a t e n t s . I n s t e a d , K a n d i n s k y 2 . 2 o n l y a c c e p t s ` i m a g e _ e m b e d s ` d u r i n g d e c o d i n g . < b r > K a n d i n s k y 3 h a s a m o r e c o n c i s e a r c h i t e c t u r e a n d i t d o e s n ' t r e q u i r e a p r i o r m o d e l . T h i s m e a n s i t ' s u s a g e i s i d e n t i c a l t o o t h e r d i f f u s i o n m o d e l s l i k e [ S t a b l e D i f f u s i o n X L ] ( s d x l ) . < / T i p > # # T e x t - t o - i m a g e T o u s e t h e K a n d i n s k y m o d e l s f o r a n y t a s k , y o u a l w a y s s t a r t b y s e t t i n g u p t h e p r i o r p i p e l i n e t o e n c o d e t h e p r o m p t a n d g e n e r a t e t h e i m a g e e m b e d d i n g s . T h e p r i o r p i p e l i n e a l s o g e n e r a t e s ` n e g a t i v e _ i m a g e _ e m b e d s ` t h a t c o r r e s p o n d t o t h e n e g a t i v e p r o m p t ` " " ` . F o r b e t t e r r e s u l t s , y o u c a n p a s s a n a c t u a l ` n e g a t i v e _ p r o m p t ` t o t h e p r i o r p i p e l i n e , b u t t h i s ' l l i n c r e a s e t h e e f f e c t i v e b a t c h s i z e o f t h e p r i o r p i p e l i n e b y 2 x . < h f o p t i o n s i d = " t e x t - t o - i m a g e " > < h f o p t i o n i d = " K a n d i n s k y 2 . 1 " > ` ` ` p y f r o m d i f f u s e r s i m p o r t K a n d i n s k y P r i o r P i p e l i n e , K a n d i n s k y P i p e l i n e i m p o r t t o r c h p r i o r _ p i p e l i n e = K a n d i n s k y P r i o r P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 1 - p r i o r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e = K a n d i n s k y P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 1 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p r o m p t = " A a l i e n c h e e s e b u r g e r c r e a t u r e e a t i n g i t s e l f , c l a y m a t i o n , c i n e m a t i c , m o o d y l i g h t i n g " n e g a t i v e _ p r o m p t = " l o w q u a l i t y , b a d q u a l i t y " # o p t i o n a l t o i n c l u d e a n e g a t i v e p r o m p t , b u t r e s u l t s a r e u s u a l l y b e t t e r i m a g e _ e m b e d s , n e g a t i v e _ i m a g e _ e m b e d s = p r i o r _ p i p e l i n e ( p r o m p t , n e g a t i v e _ p r o m p t , g u i d a n c e _ s c a l e = 1 . 0 ) . t o _ t u p l e ( ) ` ` ` N o w p a s s a l l t h e p r o m p t s a n d e m b e d d i n g s t o t h e [ K a n d i n s k y P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / k a n d i n s k y # d i f f u s e r s . K a n d i n s k y P i p e l i n e ) t o g e n e r a t e a n i m a g e : ` ` ` p y i m a g e = p i p e l i n e ( p r o m p t , i m a g e _ e m b e d s = i m a g e _ e m b e d s , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , n e g a t i v e _ i m a g e _ e m b e d s = n e g a t i v e _ i m a g e _ e m b e d s , h e i g h t = 7 6 8 , w i d t h = 7 6 8 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / k a n d i n s k y - d o c s / c h e e s e b u r g e r . p n g " / > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " K a n d i n s k y 2 . 2 " > ` ` ` p y f r o m d i f f u s e r s i m p o r t K a n d i n s k y V 2 2 P r i o r P i p e l i n e , K a n d i n s k y V 2 2 P i p e l i n e i m p o r t t o r c h p r i o r _ p i p e l i n e = K a n d i n s k y V 2 2 P r i o r P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - p r i o r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e = K a n d i n s k y V 2 2 P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - d e c o d e r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p r o m p t = " A a l i e n c h e e s e b u r g e r c r e a t u r e e a t i n g i t s e l f , c l a y m a t i o n , c i n e m a t i c , m o o d y l i g h t i n g " n e g a t i v e _ p r o m p t = " l o w q u a l i t y , b a d q u a l i t y " # o p t i o n a l t o i n c l u d e a n e g a t i v e p r o m p t , b u t r e s u l t s a r e u s u a l l y b e t t e r i m a g e _ e m b e d s , n e g a t i v e _ i m a g e _ e m b e d s = p r i o r _ p i p e l i n e ( p r o m p t , g u i d a n c e _ s c a l e = 1 . 0 ) . t o _ t u p l e ( ) ` ` ` P a s s t h e ` i m a g e _ e m b e d s ` a n d ` n e g a t i v e _ i m a g e _ e m b e d s ` t o t h e [ K a n d i n s k y V 2 2 P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / k a n d i n s k y _ v 2 2 # d i f f u s e r s . K a n d i n s k y V 2 2 P i p e l i n e ) t o g e n e r a t e a n i m a g e : ` ` ` p y i m a g e = p i p e l i n e ( i m a g e _ e m b e d s = i m a g e _ e m b e d s , n e g a t i v e _ i m a g e _ e m b e d s = n e g a t i v e _ i m a g e _ e m b e d s , h e i g h t = 7 6 8 , w i d t h = 7 6 8 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / k a n d i n s k y - t e x t - t o - i m a g e . p n g " / > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " K a n d i n s k y 3 " > K a n d i n s k y 3 d o e s n ' t r e q u i r e a p r i o r m o d e l s o y o u c a n d i r e c t l y l o a d t h e [ K a n d i n s k y 3 P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / k a n d i n s k y 3 # d i f f u s e r s . K a n d i n s k y 3 P i p e l i n e ) a n d p a s s a p r o m p t t o g e n e r a t e a n i m a g e : ` ` ` p y f r o m d i f f u s e r s i m p o r t K a n d i n s k y 3 P i p e l i n e i m p o r t t o r c h p i p e l i n e = K a n d i n s k y 3 P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 3 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p r o m p t = " A a l i e n c h e e s e b u r g e r c r e a t u r e e a t i n g i t s e l f , c l a y m a t i o n , c i n e m a t i c , m o o d y l i g h t i n g " i m a g e = p i p e l i n e ( p r o m p t ) . i m a g e s [ 0 ] i m a g e ` ` ` < / h f o p t i o n > < / h f o p t i o n s > ๐Ÿค— D i f f u s e r s a l s o p r o v i d e s a n e n d - t o - e n d A P I w i t h t h e [ K a n d i n s k y C o m b i n e d P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / k a n d i n s k y # d i f f u s e r s . K a n d i n s k y C o m b i n e d P i p e l i n e ) a n d [ K a n d i n s k y V 2 2 C o m b i n e d P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / k a n d i n s k y _ v 2 2 # d i f f u s e r s . K a n d i n s k y V 2 2 C o m b i n e d P i p e l i n e ) , m e a n i n g y o u d o n ' t h a v e t o s e p a r a t e l y l o a d t h e p r i o r a n d t e x t - t o - i m a g e p i p e l i n e . T h e c o m b i n e d p i p e l i n e a u t o m a t i c a l l y l o a d s b o t h t h e p r i o r m o d e l a n d t h e d e c o d e r . Y o u c a n s t i l l s e t d i f f e r e n t v a l u e s f o r t h e p r i o r p i p e l i n e w i t h t h e ` p r i o r _ g u i d a n c e _ s c a l e ` a n d ` p r i o r _ n u m _ i n f e r e n c e _ s t e p s ` p a r a m e t e r s i f y o u w a n t . U s e t h e [ A u t o P i p e l i n e F o r T e x t 2 I m a g e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a u t o _ p i p e l i n e # d i f f u s e r s . A u t o P i p e l i n e F o r T e x t 2 I m a g e ) t o a u t o m a t i c a l l y c a l l t h e c o m b i n e d p i p e l i n e s u n d e r t h e h o o d : < h f o p t i o n s i d = " t e x t - t o - i m a g e " > < h f o p t i o n i d = " K a n d i n s k y 2 . 1 " > ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 1 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p r o m p t = " A a l i e n c h e e s e b u r g e r c r e a t u r e e a t i n g i t s e l f , c l a y m a t i o n , c i n e m a t i c , m o o d y l i g h t i n g " n e g a t i v e _ p r o m p t = " l o w q u a l i t y , b a d q u a l i t y " i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , p r i o r _ g u i d a n c e _ s c a l e = 1 . 0 , g u i d a n c e _ s c a l e = 4 . 0 , h e i g h t = 7 6 8 , w i d t h = 7 6 8 ) . i m a g e s [ 0 ] i m a g e ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " K a n d i n s k y 2 . 2 " > ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - d e c o d e r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p r o m p t = " A a l i e n c h e e s e b u r g e r c r e a t u r e e a t i n g i t s e l f , c l a y m a t i o n , c i n e m a t i c , m o o d y l i g h t i n g " n e g a t i v e _ p r o m p t = " l o w q u a l i t y , b a d q u a l i t y " i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , p r i o r _ g u i d a n c e _ s c a l e = 1 . 0 , g u i d a n c e _ s c a l e = 4 . 0 , h e i g h t = 7 6 8 , w i d t h = 7 6 8 ) . i m a g e s [ 0 ] i m a g e ` ` ` < / h f o p t i o n > < / h f o p t i o n s > # # I m a g e - t o - i m a g e F o r i m a g e - t o - i m a g e , p a s s t h e i n i t i a l i m a g e a n d t e x t p r o m p t t o c o n d i t i o n t h e i m a g e t o t h e p i p e l i n e . S t a r t b y l o a d i n g t h e p r i o r p i p e l i n e : < h f o p t i o n s i d = " i m a g e - t o - i m a g e " > < h f o p t i o n i d = " K a n d i n s k y 2 . 1 " > ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t K a n d i n s k y I m g 2 I m g P i p e l i n e , K a n d i n s k y P r i o r P i p e l i n e p r i o r _ p i p e l i n e = K a n d i n s k y P r i o r P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 1 - p r i o r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) p i p e l i n e = K a n d i n s k y I m g 2 I m g P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 1 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " K a n d i n s k y 2 . 2 " > ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t K a n d i n s k y V 2 2 I m g 2 I m g P i p e l i n e , K a n d i n s k y P r i o r P i p e l i n e p r i o r _ p i p e l i n e = K a n d i n s k y P r i o r P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - p r i o r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) p i p e l i n e = K a n d i n s k y V 2 2 I m g 2 I m g P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - d e c o d e r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " K a n d i n s k y 3 " > K a n d i n s k y 3 d o e s n ' t r e q u i r e a p r i o r m o d e l s o y o u c a n d i r e c t l y l o a d t h e i m a g e - t o - i m a g e p i p e l i n e : ` ` ` p y f r o m d i f f u s e r s i m p o r t K a n d i n s k y 3 I m g 2 I m g P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m p o r t t o r c h p i p e l i n e = K a n d i n s k y 3 I m g 2 I m g P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 3 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > D o w n l o a d a n i m a g e t o c o n d i t i o n o n : ` ` ` p y f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e # d o w n l o a d i m a g e u r l = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / C o m p V i s / s t a b l e - d i f f u s i o n / m a i n / a s s e t s / s t a b l e - s a m p l e s / i m g 2 i m g / s k e t c h - m o u n t a i n s - i n p u t . j p g " o r i g i n a l _ i m a g e = l o a d _ i m a g e ( u r l ) o r i g i n a l _ i m a g e = o r i g i n a l _ i m a g e . r e s i z e ( ( 7 6 8 , 5 1 2 ) ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / C o m p V i s / s t a b l e - d i f f u s i o n / m a i n / a s s e t s / s t a b l e - s a m p l e s / i m g 2 i m g / s k e t c h - m o u n t a i n s - i n p u t . j p g " / > < / d i v > G e n e r a t e t h e ` i m a g e _ e m b e d s ` a n d ` n e g a t i v e _ i m a g e _ e m b e d s ` w i t h t h e p r i o r p i p e l i n e : ` ` ` p y p r o m p t = " A f a n t a s y l a n d s c a p e , C i n e m a t i c l i g h t i n g " n e g a t i v e _ p r o m p t = " l o w q u a l i t y , b a d q u a l i t y " i m a g e _ e m b e d s , n e g a t i v e _ i m a g e _ e m b e d s = p r i o r _ p i p e l i n e ( p r o m p t , n e g a t i v e _ p r o m p t ) . t o _ t u p l e ( ) ` ` ` N o w p a s s t h e o r i g i n a l i m a g e , a n d a l l t h e p r o m p t s a n d e m b e d d i n g s t o t h e p i p e l i n e t o g e n e r a t e a n i m a g e : < h f o p t i o n s i d = " i m a g e - t o - i m a g e " > < h f o p t i o n i d = " K a n d i n s k y 2 . 1 " > ` ` ` p y f r o m d i f f u s e r s . u t i l s i m p o r t m a k e _ i m a g e _ g r i d i m a g e = p i p e l i n e ( p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , i m a g e = o r i g i n a l _ i m a g e , i m a g e _ e m b e d s = i m a g e _ e m b e d s , n e g a t i v e _ i m a g e _ e m b e d s = n e g a t i v e _ i m a g e _ e m b e d s , h e i g h t = 7 6 8 , w i d t h = 7 6 8 , s t r e n g t h = 0 . 3 ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ o r i g i n a l _ i m a g e . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) , i m a g e . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) ] , r o w s = 1 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / k a n d i n s k y - d o c s / i m g 2 i m g _ f a n t a s y l a n d . p n g " / > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " K a n d i n s k y 2 . 2 " > ` ` ` p y f r o m d i f f u s e r s . u t i l s i m p o r t m a k e _ i m a g e _ g r i d i m a g e = p i p e l i n e ( i m a g e = o r i g i n a l _ i m a g e , i m a g e _ e m b e d s = i m a g e _ e m b e d s , n e g a t i v e _ i m a g e _ e m b e d s = n e g a t i v e _ i m a g e _ e m b e d s , h e i g h t = 7 6 8 , w i d t h = 7 6 8 , s t r e n g t h = 0 . 3 ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ o r i g i n a l _ i m a g e . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) , i m a g e . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) ] , r o w s = 1 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / k a n d i n s k y - i m a g e - t o - i m a g e . p n g " / > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " K a n d i n s k y 3 " > ` ` ` p y i m a g e = p i p e l i n e ( p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , i m a g e = i m a g e , s t r e n g t h = 0 . 7 5 , n u m _ i n f e r e n c e _ s t e p s = 2 5 ) . i m a g e s [ 0 ] i m a g e ` ` ` < / h f o p t i o n > < / h f o p t i o n s > ๐Ÿค— D i f f u s e r s a l s o p r o v i d e s a n e n d - t o - e n d A P I w i t h t h e [ K a n d i n s k y I m g 2 I m g C o m b i n e d P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / k a n d i n s k y # d i f f u s e r s . K a n d i n s k y I m g 2 I m g C o m b i n e d P i p e l i n e ) a n d [ K a n d i n s k y V 2 2 I m g 2 I m g C o m b i n e d P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / k a n d i n s k y _ v 2 2 # d i f f u s e r s . K a n d i n s k y V 2 2 I m g 2 I m g C o m b i n e d P i p e l i n e ) , m e a n i n g y o u d o n ' t h a v e t o s e p a r a t e l y l o a d t h e p r i o r a n d i m a g e - t o - i m a g e p i p e l i n e . T h e c o m b i n e d p i p e l i n e a u t o m a t i c a l l y l o a d s b o t h t h e p r i o r m o d e l a n d t h e d e c o d e r . Y o u c a n s t i l l s e t d i f f e r e n t v a l u e s f o r t h e p r i o r p i p e l i n e w i t h t h e ` p r i o r _ g u i d a n c e _ s c a l e ` a n d ` p r i o r _ n u m _ i n f e r e n c e _ s t e p s ` p a r a m e t e r s i f y o u w a n t . U s e t h e [ A u t o P i p e l i n e F o r I m a g e 2 I m a g e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a u t o _ p i p e l i n e # d i f f u s e r s . A u t o P i p e l i n e F o r I m a g e 2 I m a g e ) t o a u t o m a t i c a l l y c a l l t h e c o m b i n e d p i p e l i n e s u n d e r t h e h o o d : < h f o p t i o n s i d = " i m a g e - t o - i m a g e " > < h f o p t i o n i d = " K a n d i n s k y 2 . 1 " > ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I m a g e 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t m a k e _ i m a g e _ g r i d , l o a d _ i m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 1 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p r o m p t = " A f a n t a s y l a n d s c a p e , C i n e m a t i c l i g h t i n g " n e g a t i v e _ p r o m p t = " l o w q u a l i t y , b a d q u a l i t y " u r l = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / C o m p V i s / s t a b l e - d i f f u s i o n / m a i n / a s s e t s / s t a b l e - s a m p l e s / i m g 2 i m g / s k e t c h - m o u n t a i n s - i n p u t . j p g " o r i g i n a l _ i m a g e = l o a d _ i m a g e ( u r l ) o r i g i n a l _ i m a g e . t h u m b n a i l ( ( 7 6 8 , 7 6 8 ) ) i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , i m a g e = o r i g i n a l _ i m a g e , s t r e n g t h = 0 . 3 ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ o r i g i n a l _ i m a g e . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) , i m a g e . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) ] , r o w s = 1 , c o l s = 2 ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " K a n d i n s k y 2 . 2 " > ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I m a g e 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t m a k e _ i m a g e _ g r i d , l o a d _ i m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - d e c o d e r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p r o m p t = " A f a n t a s y l a n d s c a p e , C i n e m a t i c l i g h t i n g " n e g a t i v e _ p r o m p t = " l o w q u a l i t y , b a d q u a l i t y " u r l = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / C o m p V i s / s t a b l e - d i f f u s i o n / m a i n / a s s e t s / s t a b l e - s a m p l e s / i m g 2 i m g / s k e t c h - m o u n t a i n s - i n p u t . j p g " o r i g i n a l _ i m a g e = l o a d _ i m a g e ( u r l ) o r i g i n a l _ i m a g e . t h u m b n a i l ( ( 7 6 8 , 7 6 8 ) ) i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , i m a g e = o r i g i n a l _ i m a g e , s t r e n g t h = 0 . 3 ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ o r i g i n a l _ i m a g e . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) , i m a g e . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) ] , r o w s = 1 , c o l s = 2 ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > # # I n p a i n t i n g < T i p w a r n i n g = { t r u e } > โš  ๏ธ T h e K a n d i n s k y m o d e l s u s e โฌœ ๏ธ * * w h i t e p i x e l s * * t o r e p r e s e n t t h e m a s k e d a r e a n o w i n s t e a d o f b l a c k p i x e l s . I f y o u a r e u s i n g [ K a n d i n s k y I n p a i n t P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / k a n d i n s k y # d i f f u s e r s . K a n d i n s k y I n p a i n t P i p e l i n e ) i n p r o d u c t i o n , y o u n e e d t o c h a n g e t h e m a s k t o u s e w h i t e p i x e l s : ` ` ` p y # F o r P I L i n p u t i m p o r t P I L . I m a g e O p s m a s k = P I L . I m a g e O p s . i n v e r t ( m a s k ) # F o r P y T o r c h a n d N u m P y i n p u t m a s k = 1 - m a s k ` ` ` < / T i p > F o r i n p a i n t i n g , y o u ' l l n e e d t h e o r i g i n a l i m a g e , a m a s k o f t h e a r e a t o r e p l a c e i n t h e o r i g i n a l i m a g e , a n d a t e x t p r o m p t o f w h a t t o i n p a i n t . L o a d t h e p r i o r p i p e l i n e : < h f o p t i o n s i d = " i n p a i n t " > < h f o p t i o n i d = " K a n d i n s k y 2 . 1 " > ` ` ` p y f r o m d i f f u s e r s i m p o r t K a n d i n s k y I n p a i n t P i p e l i n e , K a n d i n s k y P r i o r P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d i m p o r t t o r c h i m p o r t n u m p y a s n p f r o m P I L i m p o r t I m a g e p r i o r _ p i p e l i n e = K a n d i n s k y P r i o r P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 1 - p r i o r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) p i p e l i n e = K a n d i n s k y I n p a i n t P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 1 - i n p a i n t " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " K a n d i n s k y 2 . 2 " > ` ` ` p y f r o m d i f f u s e r s i m p o r t K a n d i n s k y V 2 2 I n p a i n t P i p e l i n e , K a n d i n s k y V 2 2 P r i o r P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d i m p o r t t o r c h i m p o r t n u m p y a s n p f r o m P I L i m p o r t I m a g e p r i o r _ p i p e l i n e = K a n d i n s k y V 2 2 P r i o r P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - p r i o r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) p i p e l i n e = K a n d i n s k y V 2 2 I n p a i n t P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - d e c o d e r - i n p a i n t " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > L o a d a n i n i t i a l i m a g e a n d c r e a t e a m a s k : ` ` ` p y i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / k a n d i n s k y / c a t . p n g " ) m a s k = n p . z e r o s ( ( 7 6 8 , 7 6 8 ) , d t y p e = n p . f l o a t 3 2 ) # m a s k a r e a a b o v e c a t ' s h e a d m a s k [ : 2 5 0 , 2 5 0 : - 2 5 0 ] = 1 ` ` ` G e n e r a t e t h e e m b e d d i n g s w i t h t h e p r i o r p i p e l i n e : ` ` ` p y p r o m p t = " a h a t " p r i o r _ o u t p u t = p r i o r _ p i p e l i n e ( p r o m p t ) ` ` ` N o w p a s s t h e i n i t i a l i m a g e , m a s k , a n d p r o m p t a n d e m b e d d i n g s t o t h e p i p e l i n e t o g e n e r a t e a n i m a g e : < h f o p t i o n s i d = " i n p a i n t " > < h f o p t i o n i d = " K a n d i n s k y 2 . 1 " > ` ` ` p y o u t p u t _ i m a g e = p i p e l i n e ( p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k , * * p r i o r _ o u t p u t , h e i g h t = 7 6 8 , w i d t h = 7 6 8 , n u m _ i n f e r e n c e _ s t e p s = 1 5 0 ) . i m a g e s [ 0 ] m a s k = I m a g e . f r o m a r r a y ( ( m a s k * 2 5 5 ) . a s t y p e ( ' u i n t 8 ' ) , ' L ' ) m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k , o u t p u t _ i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / k a n d i n s k y - d o c s / i n p a i n t _ c a t _ h a t . p n g " / > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " K a n d i n s k y 2 . 2 " > ` ` ` p y o u t p u t _ i m a g e = p i p e l i n e ( i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k , * * p r i o r _ o u t p u t , h e i g h t = 7 6 8 , w i d t h = 7 6 8 , n u m _ i n f e r e n c e _ s t e p s = 1 5 0 ) . i m a g e s [ 0 ] m a s k = I m a g e . f r o m a r r a y ( ( m a s k * 2 5 5 ) . a s t y p e ( ' u i n t 8 ' ) , ' L ' ) m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k , o u t p u t _ i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / k a n d i n s k y v 2 2 - i n p a i n t . p n g " / > < / d i v > < / h f o p t i o n > < / h f o p t i o n s > Y o u c a n a l s o u s e t h e e n d - t o - e n d [ K a n d i n s k y I n p a i n t C o m b i n e d P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / k a n d i n s k y # d i f f u s e r s . K a n d i n s k y I n p a i n t C o m b i n e d P i p e l i n e ) a n d [ K a n d i n s k y V 2 2 I n p a i n t C o m b i n e d P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / k a n d i n s k y _ v 2 2 # d i f f u s e r s . K a n d i n s k y V 2 2 I n p a i n t C o m b i n e d P i p e l i n e ) t o c a l l t h e p r i o r a n d d e c o d e r p i p e l i n e s t o g e t h e r u n d e r t h e h o o d . U s e t h e [ A u t o P i p e l i n e F o r I n p a i n t i n g ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a u t o _ p i p e l i n e # d i f f u s e r s . A u t o P i p e l i n e F o r I n p a i n t i n g ) f o r t h i s : < h f o p t i o n s i d = " i n p a i n t " > < h f o p t i o n i d = " K a n d i n s k y 2 . 1 " > ` ` ` p y i m p o r t t o r c h i m p o r t n u m p y a s n p f r o m P I L i m p o r t I m a g e f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d p i p e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 1 - i n p a i n t " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / k a n d i n s k y / c a t . p n g " ) m a s k = n p . z e r o s ( ( 7 6 8 , 7 6 8 ) , d t y p e = n p . f l o a t 3 2 ) # m a s k a r e a a b o v e c a t ' s h e a d m a s k [ : 2 5 0 , 2 5 0 : - 2 5 0 ] = 1 p r o m p t = " a h a t " o u t p u t _ i m a g e = p i p e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k ) . i m a g e s [ 0 ] m a s k = I m a g e . f r o m a r r a y ( ( m a s k * 2 5 5 ) . a s t y p e ( ' u i n t 8 ' ) , ' L ' ) m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k , o u t p u t _ i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " K a n d i n s k y 2 . 2 " > ` ` ` p y i m p o r t t o r c h i m p o r t n u m p y a s n p f r o m P I L i m p o r t I m a g e f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d p i p e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - d e c o d e r - i n p a i n t " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / k a n d i n s k y / c a t . p n g " ) m a s k = n p . z e r o s ( ( 7 6 8 , 7 6 8 ) , d t y p e = n p . f l o a t 3 2 ) # m a s k a r e a a b o v e c a t ' s h e a d m a s k [ : 2 5 0 , 2 5 0 : - 2 5 0 ] = 1 p r o m p t = " a h a t " o u t p u t _ i m a g e = p i p e ( p r o m p t = p r o m p t , i m a g e = o r i g i n a l _ i m a g e , m a s k _ i m a g e = m a s k ) . i m a g e s [ 0 ] m a s k = I m a g e . f r o m a r r a y ( ( m a s k * 2 5 5 ) . a s t y p e ( ' u i n t 8 ' ) , ' L ' ) m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k , o u t p u t _ i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > # # I n t e r p o l a t i o n I n t e r p o l a t i o n a l l o w s y o u t o e x p l o r e t h e l a t e n t s p a c e b e t w e e n t h e i m a g e a n d t e x t e m b e d d i n g s w h i c h i s a c o o l w a y t o s e e s o m e o f t h e p r i o r m o d e l ' s i n t e r m e d i a t e o u t p u t s . L o a d t h e p r i o r p i p e l i n e a n d t w o i m a g e s y o u ' d l i k e t o i n t e r p o l a t e : < h f o p t i o n s i d = " i n t e r p o l a t e " > < h f o p t i o n i d = " K a n d i n s k y 2 . 1 " > ` ` ` p y f r o m d i f f u s e r s i m p o r t K a n d i n s k y P r i o r P i p e l i n e , K a n d i n s k y P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d i m p o r t t o r c h p r i o r _ p i p e l i n e = K a n d i n s k y P r i o r P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 1 - p r i o r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) i m g _ 1 = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / k a n d i n s k y / c a t . p n g " ) i m g _ 2 = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / k a n d i n s k y / s t a r r y _ n i g h t . j p e g " ) m a k e _ i m a g e _ g r i d ( [ i m g _ 1 . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) , i m g _ 2 . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) ] , r o w s = 1 , c o l s = 2 ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " K a n d i n s k y 2 . 2 " > ` ` ` p y f r o m d i f f u s e r s i m p o r t K a n d i n s k y V 2 2 P r i o r P i p e l i n e , K a n d i n s k y V 2 2 P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d i m p o r t t o r c h p r i o r _ p i p e l i n e = K a n d i n s k y V 2 2 P r i o r P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - p r i o r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) i m g _ 1 = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / k a n d i n s k y / c a t . p n g " ) i m g _ 2 = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / k a n d i n s k y / s t a r r y _ n i g h t . j p e g " ) m a k e _ i m a g e _ g r i d ( [ i m g _ 1 . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) , i m g _ 2 . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) ] , r o w s = 1 , c o l s = 2 ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / k a n d i n s k y / c a t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > a c a t < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / k a n d i n s k y / s t a r r y _ n i g h t . j p e g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > V a n G o g h ' s S t a r r y N i g h t p a i n t i n g < / f i g c a p t i o n > < / d i v > < / d i v > S p e c i f y t h e t e x t o r i m a g e s t o i n t e r p o l a t e , a n d s e t t h e w e i g h t s f o r e a c h t e x t o r i m a g e . E x p e r i m e n t w i t h t h e w e i g h t s t o s e e h o w t h e y a f f e c t t h e i n t e r p o l a t i o n ! ` ` ` p y i m a g e s _ t e x t s = [ " a c a t " , i m g _ 1 , i m g _ 2 ] w e i g h t s = [ 0 . 3 , 0 . 3 , 0 . 4 ] ` ` ` C a l l t h e ` i n t e r p o l a t e ` f u n c t i o n t o g e n e r a t e t h e e m b e d d i n g s , a n d t h e n p a s s t h e m t o t h e p i p e l i n e t o g e n e r a t e t h e i m a g e : < h f o p t i o n s i d = " i n t e r p o l a t e " > < h f o p t i o n i d = " K a n d i n s k y 2 . 1 " > ` ` ` p y # p r o m p t c a n b e l e f t e m p t y p r o m p t = " " p r i o r _ o u t = p r i o r _ p i p e l i n e . i n t e r p o l a t e ( i m a g e s _ t e x t s , w e i g h t s ) p i p e l i n e = K a n d i n s k y P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 1 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) i m a g e = p i p e l i n e ( p r o m p t , * * p r i o r _ o u t , h e i g h t = 7 6 8 , w i d t h = 7 6 8 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / k a n d i n s k y - d o c s / s t a r r y _ c a t . p n g " / > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " K a n d i n s k y 2 . 2 " > ` ` ` p y # p r o m p t c a n b e l e f t e m p t y p r o m p t = " " p r i o r _ o u t = p r i o r _ p i p e l i n e . i n t e r p o l a t e ( i m a g e s _ t e x t s , w e i g h t s ) p i p e l i n e = K a n d i n s k y V 2 2 P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - d e c o d e r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) i m a g e = p i p e l i n e ( p r o m p t , * * p r i o r _ o u t , h e i g h t = 7 6 8 , w i d t h = 7 6 8 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / k a n d i n s k y v 2 2 - i n t e r p o l a t e . p n g " / > < / d i v > < / h f o p t i o n > < / h f o p t i o n s > # # C o n t r o l N e t < T i p w a r n i n g = { t r u e } > โš  ๏ธ C o n t r o l N e t i s o n l y s u p p o r t e d f o r K a n d i n s k y 2 . 2 ! < / T i p > C o n t r o l N e t e n a b l e s c o n d i t i o n i n g l a r g e p r e t r a i n e d d i f f u s i o n m o d e l s w i t h a d d i t i o n a l i n p u t s s u c h a s a d e p t h m a p o r e d g e d e t e c t i o n . F o r e x a m p l e , y o u c a n c o n d i t i o n K a n d i n s k y 2 . 2 w i t h a d e p t h m a p s o t h e m o d e l u n d e r s t a n d s a n d p r e s e r v e s t h e s t r u c t u r e o f t h e d e p t h i m a g e . L e t ' s l o a d a n i m a g e a n d e x t r a c t i t ' s d e p t h m a p : ` ` ` p y f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m g = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / k a n d i n s k y v 2 2 / c a t . p n g " ) . r e s i z e ( ( 7 6 8 , 7 6 8 ) ) i m g ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / k a n d i n s k y v 2 2 / c a t . p n g " / > < / d i v > T h e n y o u c a n u s e t h e ` d e p t h - e s t i m a t i o n ` [ P i p e l i n e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / e n / m a i n _ c l a s s e s / p i p e l i n e s # t r a n s f o r m e r s . P i p e l i n e ) f r o m ๐Ÿค— T r a n s f o r m e r s t o p r o c e s s t h e i m a g e a n d r e t r i e v e t h e d e p t h m a p : ` ` ` p y i m p o r t t o r c h i m p o r t n u m p y a s n p f r o m t r a n s f o r m e r s i m p o r t p i p e l i n e d e f m a k e _ h i n t ( i m a g e , d e p t h _ e s t i m a t o r ) : i m a g e = d e p t h _ e s t i m a t o r ( i m a g e ) [ " d e p t h " ] i m a g e = n p . a r r a y ( i m a g e ) i m a g e = i m a g e [ : , : , N o n e ] i m a g e = n p . c o n c a t e n a t e ( [ i m a g e , i m a g e , i m a g e ] , a x i s = 2 ) d e t e c t e d _ m a p = t o r c h . f r o m _ n u m p y ( i m a g e ) . f l o a t ( ) / 2 5 5 . 0 h i n t = d e t e c t e d _ m a p . p e r m u t e ( 2 , 0 , 1 ) r e t u r n h i n t d e p t h _ e s t i m a t o r = p i p e l i n e ( " d e p t h - e s t i m a t i o n " ) h i n t = m a k e _ h i n t ( i m g , d e p t h _ e s t i m a t o r ) . u n s q u e e z e ( 0 ) . h a l f ( ) . t o ( " c u d a " ) ` ` ` # # # T e x t - t o - i m a g e [ [ c o n t r o l n e t - t e x t - t o - i m a g e ] ] L o a d t h e p r i o r p i p e l i n e a n d t h e [ K a n d i n s k y V 2 2 C o n t r o l n e t P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / k a n d i n s k y _ v 2 2 # d i f f u s e r s . K a n d i n s k y V 2 2 C o n t r o l n e t P i p e l i n e ) : ` ` ` p y f r o m d i f f u s e r s i m p o r t K a n d i n s k y V 2 2 P r i o r P i p e l i n e , K a n d i n s k y V 2 2 C o n t r o l n e t P i p e l i n e p r i o r _ p i p e l i n e = K a n d i n s k y V 2 2 P r i o r P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - p r i o r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) p i p e l i n e = K a n d i n s k y V 2 2 C o n t r o l n e t P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - c o n t r o l n e t - d e p t h " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) ` ` ` G e n e r a t e t h e i m a g e e m b e d d i n g s f r o m a p r o m p t a n d n e g a t i v e p r o m p t : ` ` ` p y p r o m p t = " A r o b o t , 4 k p h o t o " n e g a t i v e _ p r i o r _ p r o m p t = " l o w r e s , t e x t , e r r o r , c r o p p e d , w o r s t q u a l i t y , l o w q u a l i t y , j p e g a r t i f a c t s , u g l y , d u p l i c a t e , m o r b i d , m u t i l a t e d , o u t o f f r a m e , e x t r a f i n g e r s , m u t a t e d h a n d s , p o o r l y d r a w n h a n d s , p o o r l y d r a w n f a c e , m u t a t i o n , d e f o r m e d , b l u r r y , d e h y d r a t e d , b a d a n a t o m y , b a d p r o p o r t i o n s , e x t r a l i m b s , c l o n e d f a c e , d i s f i g u r e d , g r o s s p r o p o r t i o n s , m a l f o r m e d l i m b s , m i s s i n g a r m s , m i s s i n g l e g s , e x t r a a r m s , e x t r a l e g s , f u s e d f i n g e r s , t o o m a n y f i n g e r s , l o n g n e c k , u s e r n a m e , w a t e r m a r k , s i g n a t u r e " g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c u d a " ) . m a n u a l _ s e e d ( 4 3 ) i m a g e _ e m b , z e r o _ i m a g e _ e m b = p r i o r _ p i p e l i n e ( p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r i o r _ p r o m p t , g e n e r a t o r = g e n e r a t o r ) . t o _ t u p l e ( ) ` ` ` F i n a l l y , p a s s t h e i m a g e e m b e d d i n g s a n d t h e d e p t h i m a g e t o t h e [ K a n d i n s k y V 2 2 C o n t r o l n e t P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / k a n d i n s k y _ v 2 2 # d i f f u s e r s . K a n d i n s k y V 2 2 C o n t r o l n e t P i p e l i n e ) t o g e n e r a t e a n i m a g e : ` ` ` p y i m a g e = p i p e l i n e ( i m a g e _ e m b e d s = i m a g e _ e m b , n e g a t i v e _ i m a g e _ e m b e d s = z e r o _ i m a g e _ e m b , h i n t = h i n t , n u m _ i n f e r e n c e _ s t e p s = 5 0 , g e n e r a t o r = g e n e r a t o r , h e i g h t = 7 6 8 , w i d t h = 7 6 8 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / k a n d i n s k y v 2 2 / r o b o t _ c a t _ t e x t 2 i m g . p n g " / > < / d i v > # # # I m a g e - t o - i m a g e [ [ c o n t r o l n e t - i m a g e - t o - i m a g e ] ] F o r i m a g e - t o - i m a g e w i t h C o n t r o l N e t , y o u ' l l n e e d t o u s e t h e : - [ K a n d i n s k y V 2 2 P r i o r E m b 2 E m b P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / k a n d i n s k y _ v 2 2 # d i f f u s e r s . K a n d i n s k y V 2 2 P r i o r E m b 2 E m b P i p e l i n e ) t o g e n e r a t e t h e i m a g e e m b e d d i n g s f r o m a t e x t p r o m p t a n d a n i m a g e - [ K a n d i n s k y V 2 2 C o n t r o l n e t I m g 2 I m g P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / k a n d i n s k y _ v 2 2 # d i f f u s e r s . K a n d i n s k y V 2 2 C o n t r o l n e t I m g 2 I m g P i p e l i n e ) t o g e n e r a t e a n i m a g e f r o m t h e i n i t i a l i m a g e a n d t h e i m a g e e m b e d d i n g s P r o c e s s a n d e x t r a c t a d e p t h m a p o f a n i n i t i a l i m a g e o f a c a t w i t h t h e ` d e p t h - e s t i m a t i o n ` [ P i p e l i n e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / e n / m a i n _ c l a s s e s / p i p e l i n e s # t r a n s f o r m e r s . P i p e l i n e ) f r o m ๐Ÿค— T r a n s f o r m e r s : ` ` ` p y i m p o r t t o r c h i m p o r t n u m p y a s n p f r o m d i f f u s e r s i m p o r t K a n d i n s k y V 2 2 P r i o r E m b 2 E m b P i p e l i n e , K a n d i n s k y V 2 2 C o n t r o l n e t I m g 2 I m g P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e f r o m t r a n s f o r m e r s i m p o r t p i p e l i n e i m g = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / k a n d i n s k y v 2 2 / c a t . p n g " ) . r e s i z e ( ( 7 6 8 , 7 6 8 ) ) d e f m a k e _ h i n t ( i m a g e , d e p t h _ e s t i m a t o r ) : i m a g e = d e p t h _ e s t i m a t o r ( i m a g e ) [ " d e p t h " ] i m a g e = n p . a r r a y ( i m a g e ) i m a g e = i m a g e [ : , : , N o n e ] i m a g e = n p . c o n c a t e n a t e ( [ i m a g e , i m a g e , i m a g e ] , a x i s = 2 ) d e t e c t e d _ m a p = t o r c h . f r o m _ n u m p y ( i m a g e ) . f l o a t ( ) / 2 5 5 . 0 h i n t = d e t e c t e d _ m a p . p e r m u t e ( 2 , 0 , 1 ) r e t u r n h i n t d e p t h _ e s t i m a t o r = p i p e l i n e ( " d e p t h - e s t i m a t i o n " ) h i n t = m a k e _ h i n t ( i m g , d e p t h _ e s t i m a t o r ) . u n s q u e e z e ( 0 ) . h a l f ( ) . t o ( " c u d a " ) ` ` ` L o a d t h e p r i o r p i p e l i n e a n d t h e [ K a n d i n s k y V 2 2 C o n t r o l n e t I m g 2 I m g P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / k a n d i n s k y _ v 2 2 # d i f f u s e r s . K a n d i n s k y V 2 2 C o n t r o l n e t I m g 2 I m g P i p e l i n e ) : ` ` ` p y p r i o r _ p i p e l i n e = K a n d i n s k y V 2 2 P r i o r E m b 2 E m b P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - p r i o r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) p i p e l i n e = K a n d i n s k y V 2 2 C o n t r o l n e t I m g 2 I m g P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - c o n t r o l n e t - d e p t h " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) ` ` ` P a s s a t e x t p r o m p t a n d t h e i n i t i a l i m a g e t o t h e p r i o r p i p e l i n e t o g e n e r a t e t h e i m a g e e m b e d d i n g s : ` ` ` p y p r o m p t = " A r o b o t , 4 k p h o t o " n e g a t i v e _ p r i o r _ p r o m p t = " l o w r e s , t e x t , e r r o r , c r o p p e d , w o r s t q u a l i t y , l o w q u a l i t y , j p e g a r t i f a c t s , u g l y , d u p l i c a t e , m o r b i d , m u t i l a t e d , o u t o f f r a m e , e x t r a f i n g e r s , m u t a t e d h a n d s , p o o r l y d r a w n h a n d s , p o o r l y d r a w n f a c e , m u t a t i o n , d e f o r m e d , b l u r r y , d e h y d r a t e d , b a d a n a t o m y , b a d p r o p o r t i o n s , e x t r a l i m b s , c l o n e d f a c e , d i s f i g u r e d , g r o s s p r o p o r t i o n s , m a l f o r m e d l i m b s , m i s s i n g a r m s , m i s s i n g l e g s , e x t r a a r m s , e x t r a l e g s , f u s e d f i n g e r s , t o o m a n y f i n g e r s , l o n g n e c k , u s e r n a m e , w a t e r m a r k , s i g n a t u r e " g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c u d a " ) . m a n u a l _ s e e d ( 4 3 ) i m g _ e m b = p r i o r _ p i p e l i n e ( p r o m p t = p r o m p t , i m a g e = i m g , s t r e n g t h = 0 . 8 5 , g e n e r a t o r = g e n e r a t o r ) n e g a t i v e _ e m b = p r i o r _ p i p e l i n e ( p r o m p t = n e g a t i v e _ p r i o r _ p r o m p t , i m a g e = i m g , s t r e n g t h = 1 , g e n e r a t o r = g e n e r a t o r ) ` ` ` N o w y o u c a n r u n t h e [ K a n d i n s k y V 2 2 C o n t r o l n e t I m g 2 I m g P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / k a n d i n s k y _ v 2 2 # d i f f u s e r s . K a n d i n s k y V 2 2 C o n t r o l n e t I m g 2 I m g P i p e l i n e ) t o g e n e r a t e a n i m a g e f r o m t h e i n i t i a l i m a g e a n d t h e i m a g e e m b e d d i n g s : ` ` ` p y i m a g e = p i p e l i n e ( i m a g e = i m g , s t r e n g t h = 0 . 5 , i m a g e _ e m b e d s = i m g _ e m b . i m a g e _ e m b e d s , n e g a t i v e _ i m a g e _ e m b e d s = n e g a t i v e _ e m b . i m a g e _ e m b e d s , h i n t = h i n t , n u m _ i n f e r e n c e _ s t e p s = 5 0 , g e n e r a t o r = g e n e r a t o r , h e i g h t = 7 6 8 , w i d t h = 7 6 8 ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i m g . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) , i m a g e . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) ] , r o w s = 1 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / k a n d i n s k y v 2 2 / r o b o t _ c a t . p n g " / > < / d i v > # # O p t i m i z a t i o n s K a n d i n s k y i s u n i q u e b e c a u s e i t r e q u i r e s a p r i o r p i p e l i n e t o g e n e r a t e t h e m a p p i n g s , a n d a s e c o n d p i p e l i n e t o d e c o d e t h e l a t e n t s i n t o a n i m a g e . O p t i m i z a t i o n e f f o r t s s h o u l d b e f o c u s e d o n t h e s e c o n d p i p e l i n e b e c a u s e t h a t i s w h e r e t h e b u l k o f t h e c o m p u t a t i o n i s d o n e . H e r e a r e s o m e t i p s t o i m p r o v e K a n d i n s k y d u r i n g i n f e r e n c e . 1 . E n a b l e [ x F o r m e r s ] ( . . / o p t i m i z a t i o n / x f o r m e r s ) i f y o u ' r e u s i n g P y T o r c h < 2 . 0 : ` ` ` d i f f f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 1 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) + p i p e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) ` ` ` 2 . E n a b l e ` t o r c h . c o m p i l e ` i f y o u ' r e u s i n g P y T o r c h > = 2 . 0 t o a u t o m a t i c a l l y u s e s c a l e d d o t - p r o d u c t a t t e n t i o n ( S D P A ) : ` ` ` d i f f p i p e . u n e t . t o ( m e m o r y _ f o r m a t = t o r c h . c h a n n e l s _ l a s t ) + p i p e . u n e t = t o r c h . c o m p i l e ( p i p e . u n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) ` ` ` T h i s i s t h e s a m e a s e x p l i c i t l y s e t t i n g t h e a t t e n t i o n p r o c e s s o r t o u s e [ A t t n A d d e d K V P r o c e s s o r 2 _ 0 ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / a t t n p r o c e s s o r # d i f f u s e r s . m o d e l s . a t t e n t i o n _ p r o c e s s o r . A t t n A d d e d K V P r o c e s s o r 2 _ 0 ) : ` ` ` p y f r o m d i f f u s e r s . m o d e l s . a t t e n t i o n _ p r o c e s s o r i m p o r t A t t n A d d e d K V P r o c e s s o r 2 _ 0 p i p e . u n e t . s e t _ a t t n _ p r o c e s s o r ( A t t n A d d e d K V P r o c e s s o r 2 _ 0 ( ) ) ` ` ` 3 . O f f l o a d t h e m o d e l t o t h e C P U w i t h [ e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ) t o a v o i d o u t - o f - m e m o r y e r r o r s : ` ` ` d i f f f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 1 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) + p i p e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` ` ` 4 . B y d e f a u l t , t h e t e x t - t o - i m a g e p i p e l i n e u s e s t h e [ D D I M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / d d i m # d i f f u s e r s . D D I M S c h e d u l e r ) b u t y o u c a n r e p l a c e i t w i t h a n o t h e r s c h e d u l e r l i k e [ D D P M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / d d p m # d i f f u s e r s . D D P M S c h e d u l e r ) t o s e e h o w t h a t a f f e c t s t h e t r a d e o f f b e t w e e n i n f e r e n c e s p e e d a n d i m a g e q u a l i t y : ` ` ` p y f r o m d i f f u s e r s i m p o r t D D P M S c h e d u l e r f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e s c h e d u l e r = D D P M S c h e d u l e r . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 1 " , s u b f o l d e r = " d d p m _ s c h e d u l e r " ) p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 1 " , s c h e d u l e r = s c h e d u l e r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) ` ` ` # S c h e d u l e r f e a t u r e s T h e s c h e d u l e r i s a n i m p o r t a n t c o m p o n e n t o f a n y d i f f u s i o n m o d e l b e c a u s e i t c o n t r o l s t h e e n t i r e d e n o i s i n g ( o r s a m p l i n g ) p r o c e s s . T h e r e a r e m a n y t y p e s o f s c h e d u l e r s , s o m e a r e o p t i m i z e d f o r s p e e d a n d s o m e f o r q u a l i t y . W i t h D i f f u s e r s , y o u c a n m o d i f y t h e s c h e d u l e r c o n f i g u r a t i o n t o u s e c u s t o m n o i s e s c h e d u l e s , s i g m a s , a n d r e s c a l e t h e n o i s e s c h e d u l e . C h a n g i n g t h e s e p a r a m e t e r s c a n h a v e p r o f o u n d e f f e c t s o n i n f e r e n c e q u a l i t y a n d s p e e d . T h i s g u i d e w i l l d e m o n s t r a t e h o w t o u s e t h e s e f e a t u r e s t o i m p r o v e i n f e r e n c e q u a l i t y . > [ ! T I P ] > D i f f u s e r s c u r r e n t l y o n l y s u p p o r t s t h e ` t i m e s t e p s ` a n d ` s i g m a s ` p a r a m e t e r s f o r a s e l e c t l i s t o f s c h e d u l e r s a n d p i p e l i n e s . F e e l f r e e t o o p e n a [ f e a t u r e r e q u e s t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / n e w / c h o o s e ) i f y o u w a n t t o e x t e n d t h e s e p a r a m e t e r s t o a s c h e d u l e r a n d p i p e l i n e t h a t d o e s n o t c u r r e n t l y s u p p o r t i t ! # # T i m e s t e p s c h e d u l e s T h e t i m e s t e p o r n o i s e s c h e d u l e d e t e r m i n e s t h e a m o u n t o f n o i s e a t e a c h s a m p l i n g s t e p . T h e s c h e d u l e r u s e s t h i s t o g e n e r a t e a n i m a g e w i t h t h e c o r r e s p o n d i n g a m o u n t o f n o i s e a t e a c h s t e p . T h e t i m e s t e p s c h e d u l e i s g e n e r a t e d f r o m t h e s c h e d u l e r ' s d e f a u l t c o n f i g u r a t i o n , b u t y o u c a n c u s t o m i z e t h e s c h e d u l e r t o u s e n e w a n d o p t i m i z e d s a m p l i n g s c h e d u l e s t h a t a r e n ' t i n D i f f u s e r s y e t . F o r e x a m p l e , [ A l i g n Y o u r S t e p s ( A Y S ) ] ( h t t p s : / / r e s e a r c h . n v i d i a . c o m / l a b s / t o r o n t o - a i / A l i g n Y o u r S t e p s / ) i s a m e t h o d f o r o p t i m i z i n g a s a m p l i n g s c h e d u l e t o g e n e r a t e a h i g h - q u a l i t y i m a g e i n a s l i t t l e a s 1 0 s t e p s . T h e o p t i m a l [ 1 0 - s t e p s c h e d u l e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / a 7 b f 7 7 f c 2 8 4 8 1 0 4 8 3 f 1 e 6 0 a f e 3 4 d 1 d 2 7 a d 9 1 c e 2 e / s r c / d i f f u s e r s / s c h e d u l e r s / s c h e d u l i n g _ u t i l s . p y # L 5 1 ) f o r S t a b l e D i f f u s i o n X L i s : ` ` ` p y f r o m d i f f u s e r s . s c h e d u l e r s i m p o r t A y s S c h e d u l e s s a m p l i n g _ s c h e d u l e = A y s S c h e d u l e s [ " S t a b l e D i f f u s i o n X L T i m e s t e p s " ] p r i n t ( s a m p l i n g _ s c h e d u l e ) " [ 9 9 9 , 8 4 5 , 7 3 0 , 5 8 7 , 4 4 3 , 3 1 0 , 1 9 3 , 1 1 6 , 5 3 , 1 3 ] " ` ` ` Y o u c a n u s e t h e A Y S s a m p l i n g s c h e d u l e i n a p i p e l i n e b y p a s s i n g i t t o t h e ` t i m e s t e p s ` p a r a m e t e r . ` ` ` p y p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " S G 1 6 1 2 2 2 / R e a l V i s X L _ V 4 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) . t o ( " c u d a " ) p i p e l i n e . s c h e d u l e r = D P M S o l v e r M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g , a l g o r i t h m _ t y p e = " s d e - d p m s o l v e r + + " ) p r o m p t = " A c i n e m a t i c s h o t o f a c u t e l i t t l e r a b b i t w e a r i n g a j a c k e t a n d d o i n g a t h u m b s u p " g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 2 4 8 7 8 5 4 4 4 6 ) i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = " " , g e n e r a t o r = g e n e r a t o r , t i m e s t e p s = s a m p l i n g _ s c h e d u l e , ) . i m a g e s [ 0 ] ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / a y s . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > A Y S t i m e s t e p s c h e d u l e 1 0 s t e p s < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / 1 0 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > L i n e a r l y - s p a c e d t i m e s t e p s c h e d u l e 1 0 s t e p s < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / 2 5 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > L i n e a r l y - s p a c e d t i m e s t e p s c h e d u l e 2 5 s t e p s < / f i g c a p t i o n > < / d i v > < / d i v > # # T i m e s t e p s p a c i n g T h e w a y s a m p l e s t e p s a r e s e l e c t e d i n t h e s c h e d u l e c a n a f f e c t t h e q u a l i t y o f t h e g e n e r a t e d i m a g e , e s p e c i a l l y w i t h r e s p e c t t o [ r e s c a l i n g t h e n o i s e s c h e d u l e ] ( # r e s c a l e - n o i s e - s c h e d u l e ) , w h i c h c a n e n a b l e a m o d e l t o g e n e r a t e m u c h b r i g h t e r o r d a r k e r i m a g e s . D i f f u s e r s p r o v i d e s t h r e e t i m e s t e p s p a c i n g m e t h o d s : - ` l e a d i n g ` c r e a t e s e v e n l y s p a c e d s t e p s - ` l i n s p a c e ` i n c l u d e s t h e f i r s t a n d l a s t s t e p s a n d e v e n l y s e l e c t s t h e r e m a i n i n g i n t e r m e d i a t e s t e p s - ` t r a i l i n g ` o n l y i n c l u d e s t h e l a s t s t e p a n d e v e n l y s e l e c t s t h e r e m a i n i n g i n t e r m e d i a t e s t e p s s t a r t i n g f r o m t h e e n d I t i s r e c o m m e n d e d t o u s e t h e ` t r a i l i n g ` s p a c i n g m e t h o d b e c a u s e i t g e n e r a t e s h i g h e r q u a l i t y i m a g e s w i t h m o r e d e t a i l s w h e n t h e r e a r e f e w e r s a m p l e s t e p s . B u t t h e d i f f e r e n c e i n q u a l i t y i s n o t a s o b v i o u s f o r m o r e s t a n d a r d s a m p l e s t e p v a l u e s . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e , D P M S o l v e r M u l t i s t e p S c h e d u l e r p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " S G 1 6 1 2 2 2 / R e a l V i s X L _ V 4 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) . t o ( " c u d a " ) p i p e l i n e . s c h e d u l e r = D P M S o l v e r M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g , t i m e s t e p _ s p a c i n g = " t r a i l i n g " ) p r o m p t = " A c i n e m a t i c s h o t o f a c u t e l i t t l e b l a c k c a t s i t t i n g o n a p u m p k i n a t n i g h t " g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 2 4 8 7 8 5 4 4 4 6 ) i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = " " , g e n e r a t o r = g e n e r a t o r , n u m _ i n f e r e n c e _ s t e p s = 5 , ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / s t e v h l i u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / t r a i l i n g _ s p a c i n g . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > t r a i l i n g s p a c i n g a f t e r 5 s t e p s < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / s t e v h l i u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / l e a d i n g _ s p a c i n g . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > l e a d i n g s p a c i n g a f t e r 5 s t e p s < / f i g c a p t i o n > < / d i v > < / d i v > # # S i g m a s T h e ` s i g m a s ` p a r a m e t e r i s t h e a m o u n t o f n o i s e a d d e d a t e a c h t i m e s t e p a c c o r d i n g t o t h e t i m e s t e p s c h e d u l e . L i k e t h e ` t i m e s t e p s ` p a r a m e t e r , y o u c a n c u s t o m i z e t h e ` s i g m a s ` p a r a m e t e r t o c o n t r o l h o w m u c h n o i s e i s a d d e d a t e a c h s t e p . W h e n y o u u s e a c u s t o m ` s i g m a s ` v a l u e , t h e ` t i m e s t e p s ` a r e c a l c u l a t e d f r o m t h e c u s t o m ` s i g m a s ` v a l u e a n d t h e d e f a u l t s c h e d u l e r c o n f i g u r a t i o n i s i g n o r e d . F o r e x a m p l e , y o u c a n m a n u a l l y p a s s t h e [ s i g m a s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 6 5 2 9 e e 6 7 e c 0 2 f c f 5 8 d 2 f d 9 2 4 2 1 6 4 e a 0 0 2 b 3 5 1 d 7 5 / s r c / d i f f u s e r s / s c h e d u l e r s / s c h e d u l i n g _ u t i l s . p y # L 5 5 ) f o r s o m e t h i n g l i k e t h e 1 0 - s t e p A Y S s c h e d u l e f r o m b e f o r e t o t h e p i p e l i n e . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e , E u l e r D i s c r e t e S c h e d u l e r m o d e l _ i d = " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) . t o ( " c u d a " ) p i p e l i n e . s c h e d u l e r = E u l e r D i s c r e t e S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g ) s i g m a s = [ 1 4 . 6 1 5 , 6 . 3 1 5 , 3 . 7 7 1 , 2 . 1 8 1 , 1 . 3 4 2 , 0 . 8 6 2 , 0 . 5 5 5 , 0 . 3 8 0 , 0 . 2 3 4 , 0 . 1 1 3 , 0 . 0 ] p r o m p t = " a n t h r o p o m o r p h i c c a p y b a r a w e a r i n g a s u i t a n d w o r k i n g w i t h a c o m p u t e r " g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = ' c u d a ' ) . m a n u a l _ s e e d ( 1 2 3 ) i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 1 0 , s i g m a s = s i g m a s , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] ` ` ` W h e n y o u t a k e a l o o k a t t h e s c h e d u l e r ' s ` t i m e s t e p s ` p a r a m e t e r , y o u ' l l s e e t h a t i t i s t h e s a m e a s t h e A Y S t i m e s t e p s c h e d u l e b e c a u s e t h e ` t i m e s t e p ` s c h e d u l e i s c a l c u l a t e d f r o m t h e ` s i g m a s ` . ` ` ` p y p r i n t ( f " t i m e s t e p s : { p i p e . s c h e d u l e r . t i m e s t e p s } " ) " t i m e s t e p s : t e n s o r ( [ 9 9 9 . , 8 4 5 . , 7 3 0 . , 5 8 7 . , 4 4 3 . , 3 1 0 . , 1 9 3 . , 1 1 6 . , 5 3 . , 1 3 . ] , d e v i c e = ' c u d a : 0 ' ) " ` ` ` # # # K a r r a s s i g m a s > [ ! T I P ] > R e f e r t o t h e s c h e d u l e r A P I [ o v e r v i e w ] ( . . / a p i / s c h e d u l e r s / o v e r v i e w ) f o r a l i s t o f s c h e d u l e r s t h a t s u p p o r t K a r r a s s i g m a s . > > K a r r a s s i g m a s s h o u l d n o t b e u s e d f o r m o d e l s t h a t w e r e n ' t t r a i n e d w i t h t h e m . F o r e x a m p l e , t h e b a s e S t a b l e D i f f u s i o n X L m o d e l s h o u l d n ' t u s e K a r r a s s i g m a s b u t t h e [ D r e a m S h a p e r X L ] ( h t t p s : / / h f . c o / L y k o n / d r e a m s h a p e r - x l - 1 - 0 ) m o d e l c a n s i n c e t h e y a r e t r a i n e d w i t h K a r r a s s i g m a s . K a r r a s s c h e d u l e r ' s u s e t h e t i m e s t e p s c h e d u l e a n d s i g m a s f r o m t h e [ E l u c i d a t i n g t h e D e s i g n S p a c e o f D i f f u s i o n - B a s e d G e n e r a t i v e M o d e l s ] ( h t t p s : / / h f . c o / p a p e r s / 2 2 0 6 . 0 0 3 6 4 ) p a p e r . T h i s s c h e d u l e r v a r i a n t a p p l i e s a s m a l l e r a m o u n t o f n o i s e p e r s t e p a s i t a p p r o a c h e s t h e e n d o f t h e s a m p l i n g p r o c e s s c o m p a r e d t o o t h e r s c h e d u l e r s , a n d c a n i n c r e a s e t h e l e v e l o f d e t a i l s i n t h e g e n e r a t e d i m a g e . E n a b l e K a r r a s s i g m a s b y s e t t i n g ` u s e _ k a r r a s _ s i g m a s = T r u e ` i n t h e s c h e d u l e r . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e , D P M S o l v e r M u l t i s t e p S c h e d u l e r p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " S G 1 6 1 2 2 2 / R e a l V i s X L _ V 4 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) . t o ( " c u d a " ) p i p e l i n e . s c h e d u l e r = D P M S o l v e r M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g , a l g o r i t h m _ t y p e = " s d e - d p m s o l v e r + + " , u s e _ k a r r a s _ s i g m a s = T r u e ) p r o m p t = " A c i n e m a t i c s h o t o f a c u t e l i t t l e r a b b i t w e a r i n g a j a c k e t a n d d o i n g a t h u m b s u p " g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 2 4 8 7 8 5 4 4 4 6 ) i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = " " , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s [ 0 ] ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / s t e v h l i u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / k a r r a s _ s i g m a s _ t r u e . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > K a r r a s s i g m a s e n a b l e d < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / s t e v h l i u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / k a r r a s _ s i g m a s _ f a l s e . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > K a r r a s s i g m a s d i s a b l e d < / f i g c a p t i o n > < / d i v > < / d i v > # # R e s c a l e n o i s e s c h e d u l e I n t h e [ C o m m o n D i f f u s i o n N o i s e S c h e d u l e s a n d S a m p l e S t e p s a r e F l a w e d ] ( h t t p s : / / h f . c o / p a p e r s / 2 3 0 5 . 0 8 8 9 1 ) p a p e r , t h e a u t h o r s d i s c o v e r e d t h a t c o m m o n n o i s e s c h e d u l e s a l l o w e d s o m e s i g n a l t o l e a k i n t o t h e l a s t t i m e s t e p . T h i s s i g n a l l e a k a g e a t i n f e r e n c e c a n c a u s e m o d e l s t o o n l y g e n e r a t e i m a g e s w i t h m e d i u m b r i g h t n e s s . B y e n f o r c i n g a z e r o s i g n a l - t o - n o i s e r a t i o ( S N R ) f o r t h e t i m s t e p s c h e d u l e a n d s a m p l i n g f r o m t h e l a s t t i m e s t e p , t h e m o d e l c a n b e i m p r o v e d t o g e n e r a t e v e r y b r i g h t o r d a r k i m a g e s . > [ ! T I P ] > F o r i n f e r e n c e , y o u n e e d a m o d e l t h a t h a s b e e n t r a i n e d w i t h * v _ p r e d i c t i o n * . T o t r a i n y o u r o w n m o d e l w i t h * v _ p r e d i c t i o n * , a d d t h e f o l l o w i n g f l a g t o t h e [ t r a i n _ t e x t _ t o _ i m a g e . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e . p y ) o r [ t r a i n _ t e x t _ t o _ i m a g e _ l o r a . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / t e x t _ t o _ i m a g e / t r a i n _ t e x t _ t o _ i m a g e _ l o r a . p y ) s c r i p t s . > > ` ` ` b a s h > - - p r e d i c t i o n _ t y p e = " v _ p r e d i c t i o n " > ` ` ` F o r e x a m p l e , l o a d t h e [ p t x 0 / p s e u d o - j o u r n e y - v 2 ] ( h t t p s : / / h f . c o / p t x 0 / p s e u d o - j o u r n e y - v 2 ) c h e c k p o i n t w h i c h w a s t r a i n e d w i t h ` v _ p r e d i c t i o n ` a n d t h e [ D D I M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / d d i m # d i f f u s e r s . D D I M S c h e d u l e r ) . C o n f i g u r e t h e f o l l o w i n g p a r a m e t e r s i n t h e [ D D I M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / d d i m # d i f f u s e r s . D D I M S c h e d u l e r ) : * ` r e s c a l e _ b e t a s _ z e r o _ s n r = T r u e ` t o r e s c a l e t h e n o i s e s c h e d u l e t o z e r o S N R * ` t i m e s t e p _ s p a c i n g = " t r a i l i n g " ` t o s t a r t s a m p l i n g f r o m t h e l a s t t i m e s t e p S e t ` g u i d a n c e _ r e s c a l e ` i n t h e p i p e l i n e t o p r e v e n t o v e r - e x p o s u r e . A l o w e r v a l u e i n c r e a s e s b r i g h t n e s s b u t s o m e o f t h e d e t a i l s m a y a p p e a r w a s h e d o u t . ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e , D D I M S c h e d u l e r p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " p t x 0 / p s e u d o - j o u r n e y - v 2 " , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e . s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g , r e s c a l e _ b e t a s _ z e r o _ s n r = T r u e , t i m e s t e p _ s p a c i n g = " t r a i l i n g " ) p i p e l i n e . t o ( " c u d a " ) p r o m p t = " c i n e m a t i c p h o t o o f a s n o w y m o u n t a i n a t n i g h t w i t h t h e n o r t h e r n l i g h t s a u r o r a b o r e a l i s o v e r h e a d , 3 5 m m p h o t o g r a p h , f i l m , p r o f e s s i o n a l , 4 k , h i g h l y d e t a i l e d " g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 2 3 ) i m a g e = p i p e l i n e ( p r o m p t , g u i d a n c e _ r e s c a l e = 0 . 7 , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / n o - z e r o - s n r . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > d e f a u l t S t a b l e D i f f u s i o n v 2 - 1 i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / z e r o - s n r . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > i m a g e w i t h z e r o S N R a n d t r a i l i n g t i m e s t e p s p a c i n g e n a b l e d < / f i g c a p t i o n > < / d i v > < / d i v > # P r o m p t t e c h n i q u e s P r o m p t s a r e i m p o r t a n t b e c a u s e t h e y d e s c r i b e w h a t y o u w a n t a d i f f u s i o n m o d e l t o g e n e r a t e . T h e b e s t p r o m p t s a r e d e t a i l e d , s p e c i f i c , a n d w e l l - s t r u c t u r e d t o h e l p t h e m o d e l r e a l i z e y o u r v i s i o n . B u t c r a f t i n g a g r e a t p r o m p t t a k e s t i m e a n d e f f o r t a n d s o m e t i m e s i t m a y n o t b e e n o u g h b e c a u s e l a n g u a g e a n d w o r d s c a n b e i m p r e c i s e . T h i s i s w h e r e y o u n e e d t o b o o s t y o u r p r o m p t w i t h o t h e r t e c h n i q u e s , s u c h a s p r o m p t e n h a n c i n g a n d p r o m p t w e i g h t i n g , t o g e t t h e r e s u l t s y o u w a n t . T h i s g u i d e w i l l s h o w y o u h o w y o u c a n u s e t h e s e p r o m p t t e c h n i q u e s t o g e n e r a t e h i g h - q u a l i t y i m a g e s w i t h l o w e r e f f o r t a n d a d j u s t t h e w e i g h t o f c e r t a i n k e y w o r d s i n a p r o m p t . # # P r o m p t e n g i n e e r i n g > [ ! T I P ] > T h i s i s n o t a n e x h a u s t i v e g u i d e o n p r o m p t e n g i n e e r i n g , b u t i t w i l l h e l p y o u u n d e r s t a n d t h e n e c e s s a r y p a r t s o f a g o o d p r o m p t . W e e n c o u r a g e y o u t o c o n t i n u e e x p e r i m e n t i n g w i t h d i f f e r e n t p r o m p t s a n d c o m b i n e t h e m i n n e w w a y s t o s e e w h a t w o r k s b e s t . A s y o u w r i t e m o r e p r o m p t s , y o u ' l l d e v e l o p a n i n t u i t i o n f o r w h a t w o r k s a n d w h a t d o e s n ' t ! N e w d i f f u s i o n m o d e l s d o a p r e t t y g o o d j o b o f g e n e r a t i n g h i g h - q u a l i t y i m a g e s f r o m a b a s i c p r o m p t , b u t i t i s s t i l l i m p o r t a n t t o c r e a t e a w e l l - w r i t t e n p r o m p t t o g e t t h e b e s t r e s u l t s . H e r e a r e a f e w t i p s f o r w r i t i n g a g o o d p r o m p t : 1 . W h a t i s t h e i m a g e * m e d i u m * ? I s i t a p h o t o , a p a i n t i n g , a 3 D i l l u s t r a t i o n , o r s o m e t h i n g e l s e ? 2 . W h a t i s t h e i m a g e * s u b j e c t * ? I s i t a p e r s o n , a n i m a l , o b j e c t , o r s c e n e ? 3 . W h a t * d e t a i l s * w o u l d y o u l i k e t o s e e i n t h e i m a g e ? T h i s i s w h e r e y o u c a n g e t r e a l l y c r e a t i v e a n d h a v e a l o t o f f u n e x p e r i m e n t i n g w i t h d i f f e r e n t w o r d s t o b r i n g y o u r i m a g e t o l i f e . F o r e x a m p l e , w h a t i s t h e l i g h t i n g l i k e ? W h a t i s t h e v i b e a n d a e s t h e t i c ? W h a t k i n d o f a r t o r i l l u s t r a t i o n s t y l e a r e y o u l o o k i n g f o r ? T h e m o r e s p e c i f i c a n d p r e c i s e w o r d s y o u u s e , t h e b e t t e r t h e m o d e l w i l l u n d e r s t a n d w h a t y o u w a n t t o g e n e r a t e . < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / p l a i n - p r o m p t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > " A p h o t o o f a b a n a n a - s h a p e d c o u c h i n a l i v i n g r o o m " < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / d e t a i l - p r o m p t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > " A v i b r a n t y e l l o w b a n a n a - s h a p e d c o u c h s i t s i n a c o z y l i v i n g r o o m , i t s c u r v e c r a d l i n g a p i l e o f c o l o r f u l c u s h i o n s . o n t h e w o o d e n f l o o r , a p a t t e r n e d r u g a d d s a t o u c h o f e c l e c t i c c h a r m , a n d a p o t t e d p l a n t s i t s i n t h e c o r n e r , r e a c h i n g t o w a r d s t h e s u n l i g h t f i l t e r i n g t h r o u g h t h e w i n d o w s " < / f i g c a p t i o n > < / d i v > < / d i v > # # P r o m p t e n h a n c i n g w i t h G P T 2 P r o m p t e n h a n c i n g i s a t e c h n i q u e f o r q u i c k l y i m p r o v i n g p r o m p t q u a l i t y w i t h o u t s p e n d i n g t o o m u c h e f f o r t c o n s t r u c t i n g o n e . I t u s e s a m o d e l l i k e G P T 2 p r e t r a i n e d o n S t a b l e D i f f u s i o n t e x t p r o m p t s t o a u t o m a t i c a l l y e n r i c h a p r o m p t w i t h a d d i t i o n a l i m p o r t a n t k e y w o r d s t o g e n e r a t e h i g h - q u a l i t y i m a g e s . T h e t e c h n i q u e w o r k s b y c u r a t i n g a l i s t o f s p e c i f i c k e y w o r d s a n d f o r c i n g t h e m o d e l t o g e n e r a t e t h o s e w o r d s t o e n h a n c e t h e o r i g i n a l p r o m p t . T h i s w a y , y o u r p r o m p t c a n b e " a c a t " a n d G P T 2 c a n e n h a n c e t h e p r o m p t t o " c i n e m a t i c f i l m s t i l l o f a c a t b a s k i n g i n t h e s u n o n a r o o f i n T u r k e y , h i g h l y d e t a i l e d , h i g h b u d g e t h o l l y w o o d m o v i e , c i n e m a s c o p e , m o o d y , e p i c , g o r g e o u s , f i l m g r a i n q u a l i t y s h a r p f o c u s b e a u t i f u l d e t a i l e d i n t r i c a t e s t u n n i n g a m a z i n g e p i c " . > [ ! T I P ] > Y o u s h o u l d a l s o u s e a [ * o f f s e t n o i s e * ] ( h t t p s : / / w w w . c r o s s l a b s . o r g / / b l o g / d i f f u s i o n - w i t h - o f f s e t - n o i s e ) L o R A t o i m p r o v e t h e c o n t r a s t i n b r i g h t a n d d a r k i m a g e s a n d c r e a t e b e t t e r l i g h t i n g o v e r a l l . T h i s [ L o R A ] ( h t t p s : / / h f . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 / b l o b / m a i n / s d _ x l _ o f f s e t _ e x a m p l e - l o r a _ 1 . 0 . s a f e t e n s o r s ) i s a v a i l a b l e f r o m [ s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 ] ( h t t p s : / / h f . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 ) . S t a r t b y d e f i n i n g c e r t a i n s t y l e s a n d a l i s t o f w o r d s ( y o u c a n c h e c k o u t a m o r e c o m p r e h e n s i v e l i s t o f [ w o r d s ] ( h t t p s : / / h f . c o / L y k o s A I / G P T - P r o m p t - E x p a n s i o n - F o o o c u s - v 2 / b l o b / m a i n / p o s i t i v e . t x t ) a n d [ s t y l e s ] ( h t t p s : / / g i t h u b . c o m / l l l y a s v i e l / F o o o c u s / t r e e / m a i n / s d x l _ s t y l e s ) u s e d b y F o o o c u s ) t o e n h a n c e a p r o m p t w i t h . ` ` ` p y i m p o r t t o r c h f r o m t r a n s f o r m e r s i m p o r t G e n e r a t i o n C o n f i g , G P T 2 L M H e a d M o d e l , G P T 2 T o k e n i z e r , L o g i t s P r o c e s s o r , L o g i t s P r o c e s s o r L i s t f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e s t y l e s = { " c i n e m a t i c " : " c i n e m a t i c f i l m s t i l l o f { p r o m p t } , h i g h l y d e t a i l e d , h i g h b u d g e t h o l l y w o o d m o v i e , c i n e m a s c o p e , m o o d y , e p i c , g o r g e o u s , f i l m g r a i n " , " a n i m e " : " a n i m e a r t w o r k o f { p r o m p t } , a n i m e s t y l e , k e y v i s u a l , v i b r a n t , s t u d i o a n i m e , h i g h l y d e t a i l e d " , " p h o t o g r a p h i c " : " c i n e m a t i c p h o t o o f { p r o m p t } , 3 5 m m p h o t o g r a p h , f i l m , p r o f e s s i o n a l , 4 k , h i g h l y d e t a i l e d " , " c o m i c " : " c o m i c o f { p r o m p t } , g r a p h i c i l l u s t r a t i o n , c o m i c a r t , g r a p h i c n o v e l a r t , v i b r a n t , h i g h l y d e t a i l e d " , " l i n e a r t " : " l i n e a r t d r a w i n g { p r o m p t } , p r o f e s s i o n a l , s l e e k , m o d e r n , m i n i m a l i s t , g r a p h i c , l i n e a r t , v e c t o r g r a p h i c s " , " p i x e l a r t " : " p i x e l - a r t { p r o m p t } , l o w - r e s , b l o c k y , p i x e l a r t s t y l e , 8 - b i t g r a p h i c s " , } w o r d s = [ " a e s t h e t i c " , " a s t o n i s h i n g " , " b e a u t i f u l " , " b r e a t h t a k i n g " , " c o m p o s i t i o n " , " c o n t r a s t e d " , " e p i c " , " m o o d y " , " e n h a n c e d " , " e x c e p t i o n a l " , " f a s c i n a t i n g " , " f l a w l e s s " , " g l a m o r o u s " , " g l o r i o u s " , " i l l u m i n a t i o n " , " i m p r e s s i v e " , " i m p r o v e d " , " i n s p i r a t i o n a l " , " m a g n i f i c e n t " , " m a j e s t i c " , " h y p e r r e a l i s t i c " , " s m o o t h " , " s h a r p " , " f o c u s " , " s t u n n i n g " , " d e t a i l e d " , " i n t r i c a t e " , " d r a m a t i c " , " h i g h " , " q u a l i t y " , " p e r f e c t " , " l i g h t " , " u l t r a " , " h i g h l y " , " r a d i a n t " , " s a t i s f y i n g " , " s o o t h i n g " , " s o p h i s t i c a t e d " , " s t y l i s h " , " s u b l i m e " , " t e r r i f i c " , " t o u c h i n g " , " t i m e l e s s " , " w o n d e r f u l " , " u n b e l i e v a b l e " , " e l e g a n t " , " a w e s o m e " , " a m a z i n g " , " d y n a m i c " , " t r e n d y " , ] ` ` ` Y o u m a y h a v e n o t i c e d i n t h e ` w o r d s ` l i s t , t h e r e a r e c e r t a i n w o r d s t h a t c a n b e p a i r e d t o g e t h e r t o c r e a t e s o m e t h i n g m o r e m e a n i n g f u l . F o r e x a m p l e , t h e w o r d s " h i g h " a n d " q u a l i t y " c a n b e c o m b i n e d t o c r e a t e " h i g h q u a l i t y " . L e t ' s p a i r t h e s e w o r d s t o g e t h e r a n d r e m o v e t h e w o r d s t h a t c a n ' t b e p a i r e d . ` ` ` p y w o r d _ p a i r s = [ " h i g h l y d e t a i l e d " , " h i g h q u a l i t y " , " e n h a n c e d q u a l i t y " , " p e r f e c t c o m p o s i t i o n " , " d y n a m i c l i g h t " ] d e f f i n d _ a n d _ o r d e r _ p a i r s ( s , p a i r s ) : w o r d s = s . s p l i t ( ) f o u n d _ p a i r s = [ ] f o r p a i r i n p a i r s : p a i r _ w o r d s = p a i r . s p l i t ( ) i f p a i r _ w o r d s [ 0 ] i n w o r d s a n d p a i r _ w o r d s [ 1 ] i n w o r d s : f o u n d _ p a i r s . a p p e n d ( p a i r ) w o r d s . r e m o v e ( p a i r _ w o r d s [ 0 ] ) w o r d s . r e m o v e ( p a i r _ w o r d s [ 1 ] ) f o r w o r d i n w o r d s [ : ] : f o r p a i r i n p a i r s : i f w o r d i n p a i r . s p l i t ( ) : w o r d s . r e m o v e ( w o r d ) b r e a k o r d e r e d _ p a i r s = " , " . j o i n ( f o u n d _ p a i r s ) r e m a i n i n g _ s = " , " . j o i n ( w o r d s ) r e t u r n o r d e r e d _ p a i r s , r e m a i n i n g _ s ` ` ` N e x t , i m p l e m e n t a c u s t o m [ L o g i t s P r o c e s s o r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / e n / i n t e r n a l / g e n e r a t i o n _ u t i l s # t r a n s f o r m e r s . L o g i t s P r o c e s s o r ) c l a s s t h a t a s s i g n s t o k e n s i n t h e ` w o r d s ` l i s t a v a l u e o f 0 a n d a s s i g n s t o k e n s n o t i n t h e ` w o r d s ` l i s t a n e g a t i v e v a l u e s o t h e y a r e n ' t p i c k e d d u r i n g g e n e r a t i o n . T h i s w a y , g e n e r a t i o n i s b i a s e d t o w a r d s w o r d s i n t h e ` w o r d s ` l i s t . A f t e r a w o r d f r o m t h e l i s t i s u s e d , i t i s a l s o a s s i g n e d a n e g a t i v e v a l u e s o i t i s n ' t p i c k e d a g a i n . ` ` ` p y c l a s s C u s t o m L o g i t s P r o c e s s o r ( L o g i t s P r o c e s s o r ) : d e f _ _ i n i t _ _ ( s e l f , b i a s ) : s u p e r ( ) . _ _ i n i t _ _ ( ) s e l f . b i a s = b i a s d e f _ _ c a l l _ _ ( s e l f , i n p u t _ i d s , s c o r e s ) : i f l e n ( i n p u t _ i d s . s h a p e ) = = 2 : l a s t _ t o k e n _ i d = i n p u t _ i d s [ 0 , - 1 ] s e l f . b i a s [ l a s t _ t o k e n _ i d ] = - 1 e 1 0 r e t u r n s c o r e s + s e l f . b i a s w o r d _ i d s = [ t o k e n i z e r . e n c o d e ( w o r d , a d d _ p r e f i x _ s p a c e = T r u e ) [ 0 ] f o r w o r d i n w o r d s ] b i a s = t o r c h . f u l l ( ( t o k e n i z e r . v o c a b _ s i z e , ) , - f l o a t ( " I n f " ) ) . t o ( " c u d a " ) b i a s [ w o r d _ i d s ] = 0 p r o c e s s o r = C u s t o m L o g i t s P r o c e s s o r ( b i a s ) p r o c e s s o r _ l i s t = L o g i t s P r o c e s s o r L i s t ( [ p r o c e s s o r ] ) ` ` ` C o m b i n e t h e p r o m p t a n d t h e ` c i n e m a t i c ` s t y l e p r o m p t d e f i n e d i n t h e ` s t y l e s ` d i c t i o n a r y e a r l i e r . ` ` ` p y p r o m p t = " a c a t b a s k i n g i n t h e s u n o n a r o o f i n T u r k e y " s t y l e = " c i n e m a t i c " p r o m p t = s t y l e s [ s t y l e ] . f o r m a t ( p r o m p t = p r o m p t ) p r o m p t " c i n e m a t i c f i l m s t i l l o f a c a t b a s k i n g i n t h e s u n o n a r o o f i n T u r k e y , h i g h l y d e t a i l e d , h i g h b u d g e t h o l l y w o o d m o v i e , c i n e m a s c o p e , m o o d y , e p i c , g o r g e o u s , f i l m g r a i n " ` ` ` L o a d a G P T 2 t o k e n i z e r a n d m o d e l f r o m t h e [ G u s t a v o s t a / M a g i c P r o m p t - S t a b l e - D i f f u s i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / G u s t a v o s t a / M a g i c P r o m p t - S t a b l e - D i f f u s i o n ) c h e c k p o i n t ( t h i s s p e c i f i c c h e c k p o i n t i s t r a i n e d t o g e n e r a t e p r o m p t s ) t o e n h a n c e t h e p r o m p t . ` ` ` p y t o k e n i z e r = G P T 2 T o k e n i z e r . f r o m _ p r e t r a i n e d ( " G u s t a v o s t a / M a g i c P r o m p t - S t a b l e - D i f f u s i o n " ) m o d e l = G P T 2 L M H e a d M o d e l . f r o m _ p r e t r a i n e d ( " G u s t a v o s t a / M a g i c P r o m p t - S t a b l e - D i f f u s i o n " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) m o d e l . e v a l ( ) i n p u t s = t o k e n i z e r ( p r o m p t , r e t u r n _ t e n s o r s = " p t " ) . t o ( " c u d a " ) t o k e n _ c o u n t = i n p u t s [ " i n p u t _ i d s " ] . s h a p e [ 1 ] m a x _ n e w _ t o k e n s = 5 0 - t o k e n _ c o u n t g e n e r a t i o n _ c o n f i g = G e n e r a t i o n C o n f i g ( p e n a l t y _ a l p h a = 0 . 7 , t o p _ k = 5 0 , e o s _ t o k e n _ i d = m o d e l . c o n f i g . e o s _ t o k e n _ i d , p a d _ t o k e n _ i d = m o d e l . c o n f i g . e o s _ t o k e n _ i d , p a d _ t o k e n = m o d e l . c o n f i g . p a d _ t o k e n _ i d , d o _ s a m p l e = T r u e , ) w i t h t o r c h . n o _ g r a d ( ) : g e n e r a t e d _ i d s = m o d e l . g e n e r a t e ( i n p u t _ i d s = i n p u t s [ " i n p u t _ i d s " ] , a t t e n t i o n _ m a s k = i n p u t s [ " a t t e n t i o n _ m a s k " ] , m a x _ n e w _ t o k e n s = m a x _ n e w _ t o k e n s , g e n e r a t i o n _ c o n f i g = g e n e r a t i o n _ c o n f i g , l o g i t s _ p r o c e s s o r = p r o c c e s o r _ l i s t , ) ` ` ` T h e n y o u c a n c o m b i n e t h e i n p u t p r o m p t a n d t h e g e n e r a t e d p r o m p t . F e e l f r e e t o t a k e a l o o k a t w h a t t h e g e n e r a t e d p r o m p t ( ` g e n e r a t e d _ p a r t ` ) i s , t h e w o r d p a i r s t h a t w e r e f o u n d ( ` p a i r s ` ) , a n d t h e r e m a i n i n g w o r d s ( ` w o r d s ` ) . T h i s i s a l l p a c k e d t o g e t h e r i n t h e ` e n h a n c e d _ p r o m p t ` . ` ` ` p y o u t p u t _ t o k e n s = [ t o k e n i z e r . d e c o d e ( g e n e r a t e d _ i d , s k i p _ s p e c i a l _ t o k e n s = T r u e ) f o r g e n e r a t e d _ i d i n g e n e r a t e d _ i d s ] i n p u t _ p a r t , g e n e r a t e d _ p a r t = o u t p u t _ t o k e n s [ 0 ] [ : l e n ( p r o m p t ) ] , o u t p u t _ t o k e n s [ 0 ] [ l e n ( p r o m p t ) : ] p a i r s , w o r d s = f i n d _ a n d _ o r d e r _ p a i r s ( g e n e r a t e d _ p a r t , w o r d _ p a i r s ) f o r m a t t e d _ g e n e r a t e d _ p a r t = p a i r s + " , " + w o r d s e n h a n c e d _ p r o m p t = i n p u t _ p a r t + " , " + f o r m a t t e d _ g e n e r a t e d _ p a r t e n h a n c e d _ p r o m p t [ " c i n e m a t i c f i l m s t i l l o f a c a t b a s k i n g i n t h e s u n o n a r o o f i n T u r k e y , h i g h l y d e t a i l e d , h i g h b u d g e t h o l l y w o o d m o v i e , c i n e m a s c o p e , m o o d y , e p i c , g o r g e o u s , f i l m g r a i n q u a l i t y s h a r p f o c u s b e a u t i f u l d e t a i l e d i n t r i c a t e s t u n n i n g a m a z i n g e p i c " ] ` ` ` F i n a l l y , l o a d a p i p e l i n e a n d t h e o f f s e t n o i s e L o R A w i t h a * l o w w e i g h t * t o g e n e r a t e a n i m a g e w i t h t h e e n h a n c e d p r o m p t . ` ` ` p y p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " R u n D i f f u s i o n / J u g g e r n a u t - X L - v 9 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) . t o ( " c u d a " ) p i p e l i n e . l o a d _ l o r a _ w e i g h t s ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , w e i g h t _ n a m e = " s d _ x l _ o f f s e t _ e x a m p l e - l o r a _ 1 . 0 . s a f e t e n s o r s " , a d a p t e r _ n a m e = " o f f s e t " , ) p i p e l i n e . s e t _ a d a p t e r s ( [ " o f f s e t " ] , a d a p t e r _ w e i g h t s = [ 0 . 2 ] ) i m a g e = p i p e l i n e ( e n h a n c e d _ p r o m p t , w i d t h = 1 1 5 2 , h e i g h t = 8 9 6 , g u i d a n c e _ s c a l e = 7 . 5 , n u m _ i n f e r e n c e _ s t e p s = 2 5 , ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / n o n - e n h a n c e d - p r o m p t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > " a c a t b a s k i n g i n t h e s u n o n a r o o f i n T u r k e y " < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / e n h a n c e d - p r o m p t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > " c i n e m a t i c f i l m s t i l l o f a c a t b a s k i n g i n t h e s u n o n a r o o f i n T u r k e y , h i g h l y d e t a i l e d , h i g h b u d g e t h o l l y w o o d m o v i e , c i n e m a s c o p e , m o o d y , e p i c , g o r g e o u s , f i l m g r a i n " < / f i g c a p t i o n > < / d i v > < / d i v > # # P r o m p t w e i g h t i n g P r o m p t w e i g h t i n g p r o v i d e s a w a y t o e m p h a s i z e o r d e - e m p h a s i z e c e r t a i n p a r t s o f a p r o m p t , a l l o w i n g f o r m o r e c o n t r o l o v e r t h e g e n e r a t e d i m a g e . A p r o m p t c a n i n c l u d e s e v e r a l c o n c e p t s , w h i c h g e t s t u r n e d i n t o c o n t e x t u a l i z e d t e x t e m b e d d i n g s . T h e e m b e d d i n g s a r e u s e d b y t h e m o d e l t o c o n d i t i o n i t s c r o s s - a t t e n t i o n l a y e r s t o g e n e r a t e a n i m a g e ( r e a d t h e S t a b l e D i f f u s i o n [ b l o g p o s t ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / s t a b l e _ d i f f u s i o n ) t o l e a r n m o r e a b o u t h o w i t w o r k s ) . P r o m p t w e i g h t i n g w o r k s b y i n c r e a s i n g o r d e c r e a s i n g t h e s c a l e o f t h e t e x t e m b e d d i n g v e c t o r t h a t c o r r e s p o n d s t o i t s c o n c e p t i n t h e p r o m p t b e c a u s e y o u m a y n o t n e c e s s a r i l y w a n t t h e m o d e l t o f o c u s o n a l l c o n c e p t s e q u a l l y . T h e e a s i e s t w a y t o p r e p a r e t h e p r o m p t - w e i g h t e d e m b e d d i n g s i s t o u s e [ C o m p e l ] ( h t t p s : / / g i t h u b . c o m / d a m i a n 0 8 1 5 / c o m p e l ) , a t e x t p r o m p t - w e i g h t i n g a n d b l e n d i n g l i b r a r y . O n c e y o u h a v e t h e p r o m p t - w e i g h t e d e m b e d d i n g s , y o u c a n p a s s t h e m t o a n y p i p e l i n e t h a t h a s a [ ` p r o m p t _ e m b e d s ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e . _ _ c a l l _ _ . p r o m p t _ e m b e d s ) ( a n d o p t i o n a l l y [ ` n e g a t i v e _ p r o m p t _ e m b e d s ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e . _ _ c a l l _ _ . n e g a t i v e _ p r o m p t _ e m b e d s ) ) p a r a m e t e r , s u c h a s [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) , [ S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / c o n t r o l n e t # d i f f u s e r s . S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e ) , a n d [ S t a b l e D i f f u s i o n X L P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L P i p e l i n e ) . < T i p > I f y o u r f a v o r i t e p i p e l i n e d o e s n ' t h a v e a ` p r o m p t _ e m b e d s ` p a r a m e t e r , p l e a s e o p e n a n [ i s s u e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / n e w / c h o o s e ) s o w e c a n a d d i t ! < / T i p > T h i s g u i d e w i l l s h o w y o u h o w t o w e i g h t a n d b l e n d y o u r p r o m p t s w i t h C o m p e l i n ๐Ÿค— D i f f u s e r s . B e f o r e y o u b e g i n , m a k e s u r e y o u h a v e t h e l a t e s t v e r s i o n o f C o m p e l i n s t a l l e d : ` ` ` p y # u n c o m m e n t t o i n s t a l l i n C o l a b # ! p i p i n s t a l l c o m p e l - - u p g r a d e ` ` ` F o r t h i s g u i d e , l e t ' s g e n e r a t e a n i m a g e w i t h t h e p r o m p t ` " a r e d c a t p l a y i n g w i t h a b a l l " ` u s i n g t h e [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) : ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e , U n i P C M u l t i s t e p S c h e d u l e r i m p o r t t o r c h p i p e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 " , u s e _ s a f e t e n s o r s = T r u e ) p i p e . s c h e d u l e r = U n i P C M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . t o ( " c u d a " ) p r o m p t = " a r e d c a t p l a y i n g w i t h a b a l l " g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 3 3 ) i m a g e = p i p e ( p r o m p t , g e n e r a t o r = g e n e r a t o r , n u m _ i n f e r e n c e _ s t e p s = 2 0 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / c o m p e l / f o r e s t _ 0 . p n g " / > < / d i v > # # # W e i g h t i n g Y o u ' l l n o t i c e t h e r e i s n o " b a l l " i n t h e i m a g e ! L e t ' s u s e c o m p e l t o u p w e i g h t t h e c o n c e p t o f " b a l l " i n t h e p r o m p t . C r e a t e a [ ` C o m p e l ` ] ( h t t p s : / / g i t h u b . c o m / d a m i a n 0 8 1 5 / c o m p e l / b l o b / m a i n / d o c / c o m p e l . m d # c o m p e l - o b j e c t s ) o b j e c t , a n d p a s s i t a t o k e n i z e r a n d t e x t e n c o d e r : ` ` ` p y f r o m c o m p e l i m p o r t C o m p e l c o m p e l _ p r o c = C o m p e l ( t o k e n i z e r = p i p e . t o k e n i z e r , t e x t _ e n c o d e r = p i p e . t e x t _ e n c o d e r ) ` ` ` c o m p e l u s e s ` + ` o r ` - ` t o i n c r e a s e o r d e c r e a s e t h e w e i g h t o f a w o r d i n t h e p r o m p t . T o i n c r e a s e t h e w e i g h t o f " b a l l " : < T i p > ` + ` c o r r e s p o n d s t o t h e v a l u e ` 1 . 1 ` , ` + + ` c o r r e s p o n d s t o ` 1 . 1 ^ 2 ` , a n d s o o n . S i m i l a r l y , ` - ` c o r r e s p o n d s t o ` 0 . 9 ` a n d ` - - ` c o r r e s p o n d s t o ` 0 . 9 ^ 2 ` . F e e l f r e e t o e x p e r i m e n t w i t h a d d i n g m o r e ` + ` o r ` - ` i n y o u r p r o m p t ! < / T i p > ` ` ` p y p r o m p t = " a r e d c a t p l a y i n g w i t h a b a l l + + " ` ` ` P a s s t h e p r o m p t t o ` c o m p e l _ p r o c ` t o c r e a t e t h e n e w p r o m p t e m b e d d i n g s w h i c h a r e p a s s e d t o t h e p i p e l i n e : ` ` ` p y p r o m p t _ e m b e d s = c o m p e l _ p r o c ( p r o m p t ) g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 3 3 ) i m a g e = p i p e ( p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , g e n e r a t o r = g e n e r a t o r , n u m _ i n f e r e n c e _ s t e p s = 2 0 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / c o m p e l / f o r e s t _ 1 . p n g " / > < / d i v > T o d o w n w e i g h t p a r t s o f t h e p r o m p t , u s e t h e ` - ` s u f f i x : ` ` ` p y p r o m p t = " a r e d - - - - - - - c a t p l a y i n g w i t h a b a l l " p r o m p t _ e m b e d s = c o m p e l _ p r o c ( p r o m p t ) g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 3 3 ) i m a g e = p i p e ( p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , g e n e r a t o r = g e n e r a t o r , n u m _ i n f e r e n c e _ s t e p s = 2 0 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o m p e l - n e g . p n g " / > < / d i v > Y o u c a n e v e n u p o r d o w n w e i g h t m u l t i p l e c o n c e p t s i n t h e s a m e p r o m p t : ` ` ` p y p r o m p t = " a r e d c a t + + p l a y i n g w i t h a b a l l - - - - " p r o m p t _ e m b e d s = c o m p e l _ p r o c ( p r o m p t ) g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 3 3 ) i m a g e = p i p e ( p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , g e n e r a t o r = g e n e r a t o r , n u m _ i n f e r e n c e _ s t e p s = 2 0 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o m p e l - p o s - n e g . p n g " / > < / d i v > # # # B l e n d i n g Y o u c a n a l s o c r e a t e a w e i g h t e d * b l e n d * o f p r o m p t s b y a d d i n g ` . b l e n d ( ) ` t o a l i s t o f p r o m p t s a n d p a s s i n g i t s o m e w e i g h t s . Y o u r b l e n d m a y n o t a l w a y s p r o d u c e t h e r e s u l t y o u e x p e c t b e c a u s e i t b r e a k s s o m e a s s u m p t i o n s a b o u t h o w t h e t e x t e n c o d e r f u n c t i o n s , s o j u s t h a v e f u n a n d e x p e r i m e n t w i t h i t ! ` ` ` p y p r o m p t _ e m b e d s = c o m p e l _ p r o c ( ' ( " a r e d c a t p l a y i n g w i t h a b a l l " , " j u n g l e " ) . b l e n d ( 0 . 7 , 0 . 8 ) ' ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c u d a " ) . m a n u a l _ s e e d ( 3 3 ) i m a g e = p i p e ( p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , g e n e r a t o r = g e n e r a t o r , n u m _ i n f e r e n c e _ s t e p s = 2 0 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o m p e l - b l e n d . p n g " / > < / d i v > # # # C o n j u n c t i o n A c o n j u n c t i o n d i f f u s e s e a c h p r o m p t i n d e p e n d e n t l y a n d c o n c a t e n a t e s t h e i r r e s u l t s b y t h e i r w e i g h t e d s u m . A d d ` . a n d ( ) ` t o t h e e n d o f a l i s t o f p r o m p t s t o c r e a t e a c o n j u n c t i o n : ` ` ` p y p r o m p t _ e m b e d s = c o m p e l _ p r o c ( ' [ " a r e d c a t " , " p l a y i n g w i t h a " , " b a l l " ] . a n d ( ) ' ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c u d a " ) . m a n u a l _ s e e d ( 5 5 ) i m a g e = p i p e ( p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , g e n e r a t o r = g e n e r a t o r , n u m _ i n f e r e n c e _ s t e p s = 2 0 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o m p e l - c o n j . p n g " / > < / d i v > # # # T e x t u a l i n v e r s i o n [ T e x t u a l i n v e r s i o n ] ( . . / t r a i n i n g / t e x t _ i n v e r s i o n ) i s a t e c h n i q u e f o r l e a r n i n g a s p e c i f i c c o n c e p t f r o m s o m e i m a g e s w h i c h y o u c a n u s e t o g e n e r a t e n e w i m a g e s c o n d i t i o n e d o n t h a t c o n c e p t . C r e a t e a p i p e l i n e a n d u s e t h e [ l o a d _ t e x t u a l _ i n v e r s i o n ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / t e x t u a l _ i n v e r s i o n # d i f f u s e r s . l o a d e r s . T e x t u a l I n v e r s i o n L o a d e r M i x i n . l o a d _ t e x t u a l _ i n v e r s i o n ) f u n c t i o n t o l o a d t h e t e x t u a l i n v e r s i o n e m b e d d i n g s ( f e e l f r e e t o b r o w s e t h e [ S t a b l e D i f f u s i o n C o n c e p t u a l i z e r ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / s d - c o n c e p t s - l i b r a r y / s t a b l e - d i f f u s i o n - c o n c e p t u a l i z e r ) f o r 1 0 0 + t r a i n e d c o n c e p t s ) : ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e f r o m c o m p e l i m p o r t C o m p e l , D i f f u s e r s T e x t u a l I n v e r s i o n M a n a g e r p i p e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , v a r i a n t = " f p 1 6 " ) . t o ( " c u d a " ) p i p e . l o a d _ t e x t u a l _ i n v e r s i o n ( " s d - c o n c e p t s - l i b r a r y / m i d j o u r n e y - s t y l e " ) ` ` ` C o m p e l p r o v i d e s a ` D i f f u s e r s T e x t u a l I n v e r s i o n M a n a g e r ` c l a s s t o s i m p l i f y p r o m p t w e i g h t i n g w i t h t e x t u a l i n v e r s i o n . I n s t a n t i a t e ` D i f f u s e r s T e x t u a l I n v e r s i o n M a n a g e r ` a n d p a s s i t t o t h e ` C o m p e l ` c l a s s : ` ` ` p y t e x t u a l _ i n v e r s i o n _ m a n a g e r = D i f f u s e r s T e x t u a l I n v e r s i o n M a n a g e r ( p i p e ) c o m p e l _ p r o c = C o m p e l ( t o k e n i z e r = p i p e . t o k e n i z e r , t e x t _ e n c o d e r = p i p e . t e x t _ e n c o d e r , t e x t u a l _ i n v e r s i o n _ m a n a g e r = t e x t u a l _ i n v e r s i o n _ m a n a g e r ) ` ` ` I n c o r p o r a t e t h e c o n c e p t t o c o n d i t i o n a p r o m p t w i t h u s i n g t h e ` < c o n c e p t > ` s y n t a x : ` ` ` p y p r o m p t _ e m b e d s = c o m p e l _ p r o c ( ' ( " A r e d c a t + + p l a y i n g w i t h a b a l l < m i d j o u r n e y - s t y l e > " ) ' ) i m a g e = p i p e ( p r o m p t _ e m b e d s = p r o m p t _ e m b e d s ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o m p e l - t e x t - i n v e r s i o n . p n g " / > < / d i v > # # # D r e a m B o o t h [ D r e a m B o o t h ] ( . . / t r a i n i n g / d r e a m b o o t h ) i s a t e c h n i q u e f o r g e n e r a t i n g c o n t e x t u a l i z e d i m a g e s o f a s u b j e c t g i v e n j u s t a f e w i m a g e s o f t h e s u b j e c t t o t r a i n o n . I t i s s i m i l a r t o t e x t u a l i n v e r s i o n , b u t D r e a m B o o t h t r a i n s t h e f u l l m o d e l w h e r e a s t e x t u a l i n v e r s i o n o n l y f i n e - t u n e s t h e t e x t e m b e d d i n g s . T h i s m e a n s y o u s h o u l d u s e [ f r o m _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ) t o l o a d t h e D r e a m B o o t h m o d e l ( f e e l f r e e t o b r o w s e t h e [ S t a b l e D i f f u s i o n D r e a m b o o t h C o n c e p t s L i b r a r y ] ( h t t p s : / / h u g g i n g f a c e . c o / s d - d r e a m b o o t h - l i b r a r y ) f o r 1 0 0 + t r a i n e d m o d e l s ) : ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e , U n i P C M u l t i s t e p S c h e d u l e r f r o m c o m p e l i m p o r t C o m p e l p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s d - d r e a m b o o t h - l i b r a r y / d n d c o v e r a r t - v 1 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e . s c h e d u l e r = U n i P C M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) ` ` ` C r e a t e a ` C o m p e l ` c l a s s w i t h a t o k e n i z e r a n d t e x t e n c o d e r , a n d p a s s y o u r p r o m p t t o i t . D e p e n d i n g o n t h e m o d e l y o u u s e , y o u ' l l n e e d t o i n c o r p o r a t e t h e m o d e l ' s u n i q u e i d e n t i f i e r i n t o y o u r p r o m p t . F o r e x a m p l e , t h e ` d n d c o v e r a r t - v 1 ` m o d e l u s e s t h e i d e n t i f i e r ` d n d c o v e r a r t ` : ` ` ` p y c o m p e l _ p r o c = C o m p e l ( t o k e n i z e r = p i p e . t o k e n i z e r , t e x t _ e n c o d e r = p i p e . t e x t _ e n c o d e r ) p r o m p t _ e m b e d s = c o m p e l _ p r o c ( ' ( " m a g a z i n e c o v e r o f a d n d c o v e r a r t d r a g o n , h i g h q u a l i t y , i n t r i c a t e d e t a i l s , l a r r y e l m o r e a r t s t y l e " ) . a n d ( ) ' ) i m a g e = p i p e ( p r o m p t _ e m b e d s = p r o m p t _ e m b e d s ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o m p e l - d r e a m b o o t h . p n g " / > < / d i v > # # # S t a b l e D i f f u s i o n X L S t a b l e D i f f u s i o n X L ( S D X L ) h a s t w o t o k e n i z e r s a n d t e x t e n c o d e r s s o i t ' s u s a g e i s a b i t d i f f e r e n t . T o a d d r e s s t h i s , y o u s h o u l d p a s s b o t h t o k e n i z e r s a n d e n c o d e r s t o t h e ` C o m p e l ` c l a s s : ` ` ` p y f r o m c o m p e l i m p o r t C o m p e l , R e t u r n e d E m b e d d i n g s T y p e f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t m a k e _ i m a g e _ g r i d i m p o r t t o r c h p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) c o m p e l = C o m p e l ( t o k e n i z e r = [ p i p e l i n e . t o k e n i z e r , p i p e l i n e . t o k e n i z e r _ 2 ] , t e x t _ e n c o d e r = [ p i p e l i n e . t e x t _ e n c o d e r , p i p e l i n e . t e x t _ e n c o d e r _ 2 ] , r e t u r n e d _ e m b e d d i n g s _ t y p e = R e t u r n e d E m b e d d i n g s T y p e . P E N U L T I M A T E _ H I D D E N _ S T A T E S _ N O N _ N O R M A L I Z E D , r e q u i r e s _ p o o l e d = [ F a l s e , T r u e ] ) ` ` ` T h i s t i m e , l e t ' s u p w e i g h t " b a l l " b y a f a c t o r o f 1 . 5 f o r t h e f i r s t p r o m p t , a n d d o w n w e i g h t " b a l l " b y 0 . 6 f o r t h e s e c o n d p r o m p t . T h e [ S t a b l e D i f f u s i o n X L P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L P i p e l i n e ) a l s o r e q u i r e s [ ` p o o l e d _ p r o m p t _ e m b e d s ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L I n p a i n t P i p e l i n e . _ _ c a l l _ _ . p o o l e d _ p r o m p t _ e m b e d s ) ( a n d o p t i o n a l l y [ ` n e g a t i v e _ p o o l e d _ p r o m p t _ e m b e d s ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L I n p a i n t P i p e l i n e . _ _ c a l l _ _ . n e g a t i v e _ p o o l e d _ p r o m p t _ e m b e d s ) ) s o y o u s h o u l d p a s s t h o s e t o t h e p i p e l i n e a l o n g w i t h t h e c o n d i t i o n i n g t e n s o r s : ` ` ` p y # a p p l y w e i g h t s p r o m p t = [ " a r e d c a t p l a y i n g w i t h a ( b a l l ) 1 . 5 " , " a r e d c a t p l a y i n g w i t h a ( b a l l ) 0 . 6 " ] c o n d i t i o n i n g , p o o l e d = c o m p e l ( p r o m p t ) # g e n e r a t e i m a g e g e n e r a t o r = [ t o r c h . G e n e r a t o r ( ) . m a n u a l _ s e e d ( 3 3 ) f o r _ i n r a n g e ( l e n ( p r o m p t ) ) ] i m a g e s = p i p e l i n e ( p r o m p t _ e m b e d s = c o n d i t i o n i n g , p o o l e d _ p r o m p t _ e m b e d s = p o o l e d , g e n e r a t o r = g e n e r a t o r , n u m _ i n f e r e n c e _ s t e p s = 3 0 ) . i m a g e s m a k e _ i m a g e _ g r i d ( i m a g e s , r o w s = 1 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / c o m p e l / s d x l _ b a l l 1 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > " a r e d c a t p l a y i n g w i t h a ( b a l l ) 1 . 5 " < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h f - i n t e r n a l - t e s t i n g / d i f f u s e r s - i m a g e s / r e s o l v e / m a i n / c o m p e l / s d x l _ b a l l 2 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > " a r e d c a t p l a y i n g w i t h a ( b a l l ) 0 . 6 " < / f i g c a p t i o n > < / d i v > < / d i v > # L o a d p i p e l i n e s D i f f u s i o n s y s t e m s c o n s i s t o f m u l t i p l e c o m p o n e n t s l i k e p a r a m e t e r i z e d m o d e l s a n d s c h e d u l e r s t h a t i n t e r a c t i n c o m p l e x w a y s . T h a t i s w h y w e d e s i g n e d t h e [ D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e ) t o w r a p t h e c o m p l e x i t y o f t h e e n t i r e d i f f u s i o n s y s t e m i n t o a n e a s y - t o - u s e A P I . A t t h e s a m e t i m e , t h e [ D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e ) i s e n t i r e l y c u s t o m i z a b l e s o y o u c a n m o d i f y e a c h c o m p o n e n t t o b u i l d a d i f f u s i o n s y s t e m f o r y o u r u s e c a s e . T h i s g u i d e w i l l s h o w y o u h o w t o l o a d : - p i p e l i n e s f r o m t h e H u b a n d l o c a l l y - d i f f e r e n t c o m p o n e n t s i n t o a p i p e l i n e - m u l t i p l e p i p e l i n e s w i t h o u t i n c r e a s i n g m e m o r y u s a g e - c h e c k p o i n t v a r i a n t s s u c h a s d i f f e r e n t f l o a t i n g p o i n t t y p e s o r n o n - e x p o n e n t i a l m e a n a v e r a g e d ( E M A ) w e i g h t s # # L o a d a p i p e l i n e > [ ! T I P ] > S k i p t o t h e [ D i f f u s i o n P i p e l i n e e x p l a i n e d ] ( # d i f f u s i o n p i p e l i n e - e x p l a i n e d ) s e c t i o n i f y o u ' r e i n t e r e s t e d i n a n e x p l a n a t i o n a b o u t h o w t h e [ D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e ) c l a s s w o r k s . T h e r e a r e t w o w a y s t o l o a d a p i p e l i n e f o r a t a s k : 1 . L o a d t h e g e n e r i c [ D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e ) c l a s s a n d a l l o w i t t o a u t o m a t i c a l l y d e t e c t t h e c o r r e c t p i p e l i n e c l a s s f r o m t h e c h e c k p o i n t . 2 . L o a d a s p e c i f i c p i p e l i n e c l a s s f o r a s p e c i f i c t a s k . < h f o p t i o n s i d = " p i p e l i n e s " > < h f o p t i o n i d = " g e n e r i c p i p e l i n e " > T h e [ D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e ) c l a s s i s a s i m p l e a n d g e n e r i c w a y t o l o a d t h e l a t e s t t r e n d i n g d i f f u s i o n m o d e l f r o m t h e [ H u b ] ( h t t p s : / / h u g g i n g f a c e . c o / m o d e l s ? l i b r a r y = d i f f u s e r s & s o r t = t r e n d i n g ) . I t u s e s t h e [ f r o m _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ) m e t h o d t o a u t o m a t i c a l l y d e t e c t t h e c o r r e c t p i p e l i n e c l a s s f o r a t a s k f r o m t h e c h e c k p o i n t , d o w n l o a d s a n d c a c h e s a l l t h e r e q u i r e d c o n f i g u r a t i o n a n d w e i g h t f i l e s , a n d r e t u r n s a p i p e l i n e r e a d y f o r i n f e r e n c e . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , u s e _ s a f e t e n s o r s = T r u e ) ` ` ` T h i s s a m e c h e c k p o i n t c a n a l s o b e u s e d f o r a n i m a g e - t o - i m a g e t a s k . T h e [ D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e ) c l a s s c a n h a n d l e a n y t a s k a s l o n g a s y o u p r o v i d e t h e a p p r o p r i a t e i n p u t s . F o r e x a m p l e , f o r a n i m a g e - t o - i m a g e t a s k , y o u n e e d t o p a s s a n i n i t i a l i m a g e t o t h e p i p e l i n e . ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , u s e _ s a f e t e n s o r s = T r u e ) i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - i n i t . p n g " ) p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " i m a g e = p i p e l i n e ( " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " , i m a g e = i n i t _ i m a g e ) . i m a g e s [ 0 ] ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " s p e c i f i c p i p e l i n e " > C h e c k p o i n t s c a n b e l o a d e d b y t h e i r s p e c i f i c p i p e l i n e c l a s s i f y o u a l r e a d y k n o w i t . F o r e x a m p l e , t o l o a d a S t a b l e D i f f u s i o n m o d e l , u s e t h e [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) c l a s s . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e p i p e l i n e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , u s e _ s a f e t e n s o r s = T r u e ) ` ` ` T h i s s a m e c h e c k p o i n t m a y a l s o b e u s e d f o r a n o t h e r t a s k l i k e i m a g e - t o - i m a g e . T o d i f f e r e n t i a t e w h a t t a s k y o u w a n t t o u s e t h e c h e c k p o i n t f o r , y o u h a v e t o u s e t h e c o r r e s p o n d i n g t a s k - s p e c i f i c p i p e l i n e c l a s s . F o r e x a m p l e , t o u s e t h e s a m e c h e c k p o i n t f o r i m a g e - t o - i m a g e , u s e t h e [ S t a b l e D i f f u s i o n I m g 2 I m g P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / i m g 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n I m g 2 I m g P i p e l i n e ) c l a s s . ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n I m g 2 I m g P i p e l i n e p i p e l i n e = S t a b l e D i f f u s i o n I m g 2 I m g P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , u s e _ s a f e t e n s o r s = T r u e ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > U s e t h e S p a c e b e l o w t o g a u g e a p i p e l i n e ' s m e m o r y r e q u i r e m e n t s b e f o r e y o u d o w n l o a d a n d l o a d i t t o s e e i f i t r u n s o n y o u r h a r d w a r e . < d i v c l a s s = " b l o c k d a r k : h i d d e n " > < i f r a m e s r c = " h t t p s : / / d i f f u s e r s - c o m p u t e - p i p e l i n e - s i z e . h f . s p a c e ? _ _ t h e m e = l i g h t " w i d t h = " 8 5 0 " h e i g h t = " 1 6 0 0 " > < / i f r a m e > < / d i v > < d i v c l a s s = " h i d d e n d a r k : b l o c k " > < i f r a m e s r c = " h t t p s : / / d i f f u s e r s - c o m p u t e - p i p e l i n e - s i z e . h f . s p a c e ? _ _ t h e m e = d a r k " w i d t h = " 8 5 0 " h e i g h t = " 1 6 0 0 " > < / i f r a m e > < / d i v > # # # L o c a l p i p e l i n e T o l o a d a p i p e l i n e l o c a l l y , u s e [ g i t - l f s ] ( h t t p s : / / g i t - l f s . g i t h u b . c o m / ) t o m a n u a l l y d o w n l o a d a c h e c k p o i n t t o y o u r l o c a l d i s k . ` ` ` b a s h g i t - l f s i n s t a l l g i t c l o n e h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ` ` ` T h i s c r e a t e s a l o c a l f o l d e r , . / s t a b l e - d i f f u s i o n - v 1 - 5 , o n y o u r d i s k a n d y o u s h o u l d p a s s i t s p a t h t o [ f r o m _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ) . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e s t a b l e _ d i f f u s i o n = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " . / s t a b l e - d i f f u s i o n - v 1 - 5 " , u s e _ s a f e t e n s o r s = T r u e ) ` ` ` T h e [ f r o m _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ) m e t h o d w o n ' t d o w n l o a d f i l e s f r o m t h e H u b w h e n i t d e t e c t s a l o c a l p a t h , b u t t h i s a l s o m e a n s i t w o n ' t d o w n l o a d a n d c a c h e t h e l a t e s t c h a n g e s t o a c h e c k p o i n t . # # C u s t o m i z e a p i p e l i n e Y o u c a n c u s t o m i z e a p i p e l i n e b y l o a d i n g d i f f e r e n t c o m p o n e n t s i n t o i t . T h i s i s i m p o r t a n t b e c a u s e y o u c a n : - c h a n g e t o a s c h e d u l e r w i t h f a s t e r g e n e r a t i o n s p e e d o r h i g h e r g e n e r a t i o n q u a l i t y d e p e n d i n g o n y o u r n e e d s ( c a l l t h e ` s c h e d u l e r . c o m p a t i b l e s ` m e t h o d o n y o u r p i p e l i n e t o s e e c o m p a t i b l e s c h e d u l e r s ) - c h a n g e a d e f a u l t p i p e l i n e c o m p o n e n t t o a n e w e r a n d b e t t e r p e r f o r m i n g o n e F o r e x a m p l e , l e t ' s c u s t o m i z e t h e d e f a u l t [ s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 ] ( h t t p s : / / h f . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 ) c h e c k p o i n t w i t h : - T h e [ H e u n D i s c r e t e S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / h e u n # d i f f u s e r s . H e u n D i s c r e t e S c h e d u l e r ) t o g e n e r a t e h i g h e r q u a l i t y i m a g e s a t t h e e x p e n s e o f s l o w e r g e n e r a t i o n s p e e d . Y o u m u s t p a s s t h e ` s u b f o l d e r = " s c h e d u l e r " ` p a r a m e t e r i n [ f r o m _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / o v e r v i e w # d i f f u s e r s . S c h e d u l e r M i x i n . f r o m _ p r e t r a i n e d ) t o l o a d t h e s c h e d u l e r c o n f i g u r a t i o n i n t o t h e c o r r e c t [ s u b f o l d e r ] ( h t t p s : / / h f . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 / t r e e / m a i n / s c h e d u l e r ) o f t h e p i p e l i n e r e p o s i t o r y . - A m o r e s t a b l e V A E t h a t r u n s i n f p 1 6 . ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e , H e u n D i s c r e t e S c h e d u l e r , A u t o e n c o d e r K L i m p o r t t o r c h s c h e d u l e r = H e u n D i s c r e t e S c h e d u l e r . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , s u b f o l d e r = " s c h e d u l e r " ) v a e = A u t o e n c o d e r K L . f r o m _ p r e t r a i n e d ( " m a d e b y o l l i n / s d x l - v a e - f p 1 6 - f i x " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) ` ` ` N o w p a s s t h e n e w s c h e d u l e r a n d V A E t o t h e [ S t a b l e D i f f u s i o n X L P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L P i p e l i n e ) . ` ` ` p y p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , s c h e d u l e r = s c h e d u l e r , v a e = v a e , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) ` ` ` # # R e u s e a p i p e l i n e W h e n y o u l o a d m u l t i p l e p i p e l i n e s t h a t s h a r e t h e s a m e m o d e l c o m p o n e n t s , i t m a k e s s e n s e t o r e u s e t h e s h a r e d c o m p o n e n t s i n s t e a d o f r e l o a d i n g e v e r y t h i n g i n t o m e m o r y a g a i n , e s p e c i a l l y i f y o u r h a r d w a r e i s m e m o r y - c o n s t r a i n e d . F o r e x a m p l e : 1 . Y o u g e n e r a t e d a n i m a g e w i t h t h e [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) b u t y o u w a n t t o i m p r o v e i t s q u a l i t y w i t h t h e [ S t a b l e D i f f u s i o n S A G P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s e l f _ a t t e n t i o n _ g u i d a n c e # d i f f u s e r s . S t a b l e D i f f u s i o n S A G P i p e l i n e ) . B o t h o f t h e s e p i p e l i n e s s h a r e t h e s a m e p r e t r a i n e d m o d e l , s o i t ' d b e a w a s t e o f m e m o r y t o l o a d t h e s a m e m o d e l t w i c e . 2 . Y o u w a n t t o a d d a m o d e l c o m p o n e n t , l i k e a [ ` M o t i o n A d a p t e r ` ] ( . . / a p i / p i p e l i n e s / a n i m a t e d i f f # a n i m a t e d i f f p i p e l i n e ) , t o [ A n i m a t e D i f f P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a n i m a t e d i f f # d i f f u s e r s . A n i m a t e D i f f P i p e l i n e ) w h i c h w a s i n s t a n t i a t e d f r o m a n e x i s t i n g [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) . A g a i n , b o t h p i p e l i n e s s h a r e t h e s a m e p r e t r a i n e d m o d e l , s o i t ' d b e a w a s t e o f m e m o r y t o l o a d a n e n t i r e l y n e w p i p e l i n e a g a i n . W i t h t h e [ D i f f u s i o n P i p e l i n e . f r o m _ p i p e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p i p e ) A P I , y o u c a n s w i t c h b e t w e e n m u l t i p l e p i p e l i n e s t o t a k e a d v a n t a g e o f t h e i r d i f f e r e n t f e a t u r e s w i t h o u t i n c r e a s i n g m e m o r y - u s a g e . I t i s s i m i l a r t o t u r n i n g o n a n d o f f a f e a t u r e i n y o u r p i p e l i n e . > [ ! T I P ] > T o s w i t c h b e t w e e n t a s k s ( r a t h e r t h a n f e a t u r e s ) , u s e t h e [ f r o m _ p i p e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p i p e ) m e t h o d w i t h t h e [ A u t o P i p e l i n e ] ( . . / a p i / p i p e l i n e s / a u t o _ p i p e l i n e ) c l a s s , w h i c h a u t o m a t i c a l l y i d e n t i f i e s t h e p i p e l i n e c l a s s b a s e d o n t h e t a s k ( l e a r n m o r e i n t h e [ A u t o P i p e l i n e ] ( . . / t u t o r i a l s / a u t o p i p e l i n e ) t u t o r i a l ) . L e t ' s s t a r t w i t h a [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) a n d t h e n r e u s e t h e l o a d e d m o d e l c o m p o n e n t s t o c r e a t e a [ S t a b l e D i f f u s i o n S A G P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s e l f _ a t t e n t i o n _ g u i d a n c e # d i f f u s e r s . S t a b l e D i f f u s i o n S A G P i p e l i n e ) t o i n c r e a s e g e n e r a t i o n q u a l i t y . Y o u ' l l u s e t h e [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) w i t h a n [ I P - A d a p t e r ] ( . / i p _ a d a p t e r ) t o g e n e r a t e a b e a r e a t i n g p i z z a . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e , S t a b l e D i f f u s i o n S A G P i p e l i n e i m p o r t t o r c h i m p o r t g c f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e f r o m a c c e l e r a t e . u t i l s i m p o r t c o m p u t e _ m o d u l e _ s i z e s i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l o a d _ n e g _ e m b e d . p n g " ) p i p e _ s d = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " S G 1 6 1 2 2 2 / R e a l i s t i c _ V i s i o n _ V 6 . 0 _ B 1 _ n o V A E " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e _ s d . l o a d _ i p _ a d a p t e r ( " h 9 4 / I P - A d a p t e r " , s u b f o l d e r = " m o d e l s " , w e i g h t _ n a m e = " i p - a d a p t e r _ s d 1 5 . b i n " ) p i p e _ s d . s e t _ i p _ a d a p t e r _ s c a l e ( 0 . 6 ) p i p e _ s d . t o ( " c u d a " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 3 3 ) o u t _ s d = p i p e _ s d ( p r o m p t = " b e a r e a t s p i z z a " , n e g a t i v e _ p r o m p t = " w r o n g w h i t e b a l a n c e , d a r k , s k e t c h e s , w o r s t q u a l i t y , l o w q u a l i t y " , i p _ a d a p t e r _ i m a g e = i m a g e , n u m _ i n f e r e n c e _ s t e p s = 5 0 , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s [ 0 ] o u t _ s d ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / f r o m _ p i p e _ o u t _ s d _ 0 . p n g " / > < / d i v > F o r r e f e r e n c e , y o u c a n c h e c k h o w m u c h m e m o r y t h i s p r o c e s s c o n s u m e d . ` ` ` p y t h o n d e f b y t e s _ t o _ g i g a _ b y t e s ( b y t e s ) : r e t u r n b y t e s / 1 0 2 4 / 1 0 2 4 / 1 0 2 4 p r i n t ( f " M a x m e m o r y a l l o c a t e d : { b y t e s _ t o _ g i g a _ b y t e s ( t o r c h . c u d a . m a x _ m e m o r y _ a l l o c a t e d ( ) ) } G B " ) " M a x m e m o r y a l l o c a t e d : 4 . 4 0 6 2 1 3 2 8 3 5 3 8 8 1 8 G B " ` ` ` N o w , r e u s e t h e s a m e p i p e l i n e c o m p o n e n t s f r o m [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) i n [ S t a b l e D i f f u s i o n S A G P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s e l f _ a t t e n t i o n _ g u i d a n c e # d i f f u s e r s . S t a b l e D i f f u s i o n S A G P i p e l i n e ) w i t h t h e [ f r o m _ p i p e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p i p e ) m e t h o d . > [ ! W A R N I N G ] > S o m e p i p e l i n e m e t h o d s m a y n o t f u n c t i o n p r o p e r l y o n n e w p i p e l i n e s c r e a t e d w i t h [ f r o m _ p i p e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p i p e ) . F o r i n s t a n c e , t h e [ e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ) m e t h o d i n s t a l l s h o o k s o n t h e m o d e l c o m p o n e n t s b a s e d o n a u n i q u e o f f l o a d i n g s e q u e n c e f o r e a c h p i p e l i n e . I f t h e m o d e l s a r e e x e c u t e d i n a d i f f e r e n t o r d e r i n t h e n e w p i p e l i n e , t h e C P U o f f l o a d i n g m a y n o t w o r k c o r r e c t l y . > > T o e n s u r e e v e r y t h i n g w o r k s a s e x p e c t e d , w e r e c o m m e n d r e - a p p l y i n g a p i p e l i n e m e t h o d o n a n e w p i p e l i n e c r e a t e d w i t h [ f r o m _ p i p e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p i p e ) . ` ` ` p y t h o n p i p e _ s a g = S t a b l e D i f f u s i o n S A G P i p e l i n e . f r o m _ p i p e ( p i p e _ s d ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 3 3 ) o u t _ s a g = p i p e _ s a g ( p r o m p t = " b e a r e a t s p i z z a " , n e g a t i v e _ p r o m p t = " w r o n g w h i t e b a l a n c e , d a r k , s k e t c h e s , w o r s t q u a l i t y , l o w q u a l i t y " , i p _ a d a p t e r _ i m a g e = i m a g e , n u m _ i n f e r e n c e _ s t e p s = 5 0 , g e n e r a t o r = g e n e r a t o r , g u i d a n c e _ s c a l e = 1 . 0 , s a g _ s c a l e = 0 . 7 5 ) . i m a g e s [ 0 ] o u t _ s a g ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / f r o m _ p i p e _ o u t _ s a g _ 1 . p n g " / > < / d i v > I f y o u c h e c k t h e m e m o r y u s a g e , y o u ' l l s e e i t r e m a i n s t h e s a m e a s b e f o r e b e c a u s e [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) a n d [ S t a b l e D i f f u s i o n S A G P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s e l f _ a t t e n t i o n _ g u i d a n c e # d i f f u s e r s . S t a b l e D i f f u s i o n S A G P i p e l i n e ) a r e s h a r i n g t h e s a m e p i p e l i n e c o m p o n e n t s . T h i s a l l o w s y o u t o u s e t h e m i n t e r c h a n g e a b l y w i t h o u t a n y a d d i t i o n a l m e m o r y o v e r h e a d . ` ` ` p y p r i n t ( f " M a x m e m o r y a l l o c a t e d : { b y t e s _ t o _ g i g a _ b y t e s ( t o r c h . c u d a . m a x _ m e m o r y _ a l l o c a t e d ( ) ) } G B " ) " M a x m e m o r y a l l o c a t e d : 4 . 4 0 6 2 1 3 2 8 3 5 3 8 8 1 8 G B " ` ` ` L e t ' s a n i m a t e t h e i m a g e w i t h t h e [ A n i m a t e D i f f P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a n i m a t e d i f f # d i f f u s e r s . A n i m a t e D i f f P i p e l i n e ) a n d a l s o a d d a ` M o t i o n A d a p t e r ` m o d u l e t o t h e p i p e l i n e . F o r t h e [ A n i m a t e D i f f P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a n i m a t e d i f f # d i f f u s e r s . A n i m a t e D i f f P i p e l i n e ) , y o u n e e d t o u n l o a d t h e I P - A d a p t e r f i r s t a n d r e l o a d i t * a f t e r * y o u ' v e c r e a t e d y o u r n e w p i p e l i n e ( t h i s o n l y a p p l i e s t o t h e [ A n i m a t e D i f f P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a n i m a t e d i f f # d i f f u s e r s . A n i m a t e D i f f P i p e l i n e ) ) . ` ` ` p y f r o m d i f f u s e r s i m p o r t A n i m a t e D i f f P i p e l i n e , M o t i o n A d a p t e r , D D I M S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f p i p e _ s a g . u n l o a d _ i p _ a d a p t e r ( ) a d a p t e r = M o t i o n A d a p t e r . f r o m _ p r e t r a i n e d ( " g u o y w w / a n i m a t e d i f f - m o t i o n - a d a p t e r - v 1 - 5 - 2 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e _ a n i m a t e = A n i m a t e D i f f P i p e l i n e . f r o m _ p i p e ( p i p e _ s d , m o t i o n _ a d a p t e r = a d a p t e r ) p i p e _ a n i m a t e . s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ c o n f i g ( p i p e _ a n i m a t e . s c h e d u l e r . c o n f i g , b e t a _ s c h e d u l e = " l i n e a r " ) # l o a d I P - A d a p t e r a n d L o R A w e i g h t s a g a i n p i p e _ a n i m a t e . l o a d _ i p _ a d a p t e r ( " h 9 4 / I P - A d a p t e r " , s u b f o l d e r = " m o d e l s " , w e i g h t _ n a m e = " i p - a d a p t e r _ s d 1 5 . b i n " ) p i p e _ a n i m a t e . l o a d _ l o r a _ w e i g h t s ( " g u o y w w / a n i m a t e d i f f - m o t i o n - l o r a - z o o m - o u t " , a d a p t e r _ n a m e = " z o o m - o u t " ) p i p e _ a n i m a t e . t o ( " c u d a " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 3 3 ) p i p e _ a n i m a t e . s e t _ a d a p t e r s ( " z o o m - o u t " , a d a p t e r _ w e i g h t s = 0 . 7 5 ) o u t = p i p e _ a n i m a t e ( p r o m p t = " b e a r e a t s p i z z a " , n u m _ f r a m e s = 1 6 , n u m _ i n f e r e n c e _ s t e p s = 5 0 , i p _ a d a p t e r _ i m a g e = i m a g e , g e n e r a t o r = g e n e r a t o r , ) . f r a m e s [ 0 ] e x p o r t _ t o _ g i f ( o u t , " o u t _ a n i m a t e . g i f " ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / f r o m _ p i p e _ o u t _ a n i m a t e _ 3 . g i f " / > < / d i v > T h e [ A n i m a t e D i f f P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a n i m a t e d i f f # d i f f u s e r s . A n i m a t e D i f f P i p e l i n e ) i s m o r e m e m o r y - i n t e n s i v e a n d c o n s u m e s 1 5 G B o f m e m o r y ( s e e t h e [ M e m o r y - u s a g e o f f r o m _ p i p e ] ( # m e m o r y - u s a g e - o f - f r o m _ p i p e ) s e c t i o n t o l e a r n w h a t t h i s m e a n s f o r y o u r m e m o r y - u s a g e ) . ` ` ` p y p r i n t ( f " M a x m e m o r y a l l o c a t e d : { b y t e s _ t o _ g i g a _ b y t e s ( t o r c h . c u d a . m a x _ m e m o r y _ a l l o c a t e d ( ) ) } G B " ) " M a x m e m o r y a l l o c a t e d : 1 5 . 1 7 8 6 6 4 2 0 7 4 5 8 4 9 6 G B " ` ` ` # # # M o d i f y f r o m _ p i p e c o m p o n e n t s P i p e l i n e s l o a d e d w i t h [ f r o m _ p i p e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p i p e ) c a n b e c u s t o m i z e d w i t h d i f f e r e n t m o d e l c o m p o n e n t s o r m e t h o d s . H o w e v e r , w h e n e v e r y o u m o d i f y t h e * s t a t e * o f t h e m o d e l c o m p o n e n t s , i t a f f e c t s a l l t h e o t h e r p i p e l i n e s t h a t s h a r e t h e s a m e c o m p o n e n t s . F o r e x a m p l e , i f y o u c a l l [ u n l o a d _ i p _ a d a p t e r ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / i p _ a d a p t e r # d i f f u s e r s . l o a d e r s . I P A d a p t e r M i x i n . u n l o a d _ i p _ a d a p t e r ) o n t h e [ S t a b l e D i f f u s i o n S A G P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s e l f _ a t t e n t i o n _ g u i d a n c e # d i f f u s e r s . S t a b l e D i f f u s i o n S A G P i p e l i n e ) , y o u w o n ' t b e a b l e t o u s e I P - A d a p t e r w i t h t h e [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) b e c a u s e i t ' s b e e n r e m o v e d f r o m t h e i r s h a r e d c o m p o n e n t s . ` ` ` p y p i p e . s a g _ u n l o a d _ i p _ a d a p t e r ( ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 3 3 ) o u t _ s d = p i p e _ s d ( p r o m p t = " b e a r e a t s p i z z a " , n e g a t i v e _ p r o m p t = " w r o n g w h i t e b a l a n c e , d a r k , s k e t c h e s , w o r s t q u a l i t y , l o w q u a l i t y " , i p _ a d a p t e r _ i m a g e = i m a g e , n u m _ i n f e r e n c e _ s t e p s = 5 0 , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s [ 0 ] " A t t r i b u t e E r r o r : ' N o n e T y p e ' o b j e c t h a s n o a t t r i b u t e ' i m a g e _ p r o j e c t i o n _ l a y e r s ' " ` ` ` # # # M e m o r y u s a g e o f f r o m _ p i p e T h e m e m o r y r e q u i r e m e n t o f l o a d i n g m u l t i p l e p i p e l i n e s w i t h [ f r o m _ p i p e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p i p e ) i s d e t e r m i n e d b y t h e p i p e l i n e w i t h t h e h i g h e s t m e m o r y - u s a g e r e g a r d l e s s o f t h e n u m b e r o f p i p e l i n e s y o u c r e a t e . | P i p e l i n e | M e m o r y u s a g e ( G B ) | | - - - | - - - | | S t a b l e D i f f u s i o n P i p e l i n e | 4 . 4 0 0 | | S t a b l e D i f f u s i o n S A G P i p e l i n e | 4 . 4 0 0 | | A n i m a t e D i f f P i p e l i n e | 1 5 . 1 7 8 | T h e [ A n i m a t e D i f f P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a n i m a t e d i f f # d i f f u s e r s . A n i m a t e D i f f P i p e l i n e ) h a s t h e h i g h e s t m e m o r y r e q u i r e m e n t , s o t h e * t o t a l m e m o r y - u s a g e * i s b a s e d o n l y o n t h e [ A n i m a t e D i f f P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a n i m a t e d i f f # d i f f u s e r s . A n i m a t e D i f f P i p e l i n e ) . Y o u r m e m o r y - u s a g e w i l l n o t i n c r e a s e i f y o u c r e a t e a d d i t i o n a l p i p e l i n e s a s l o n g a s t h e i r m e m o r y r e q u i r e m e n t s d o e s n ' t e x c e e d t h a t o f t h e [ A n i m a t e D i f f P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a n i m a t e d i f f # d i f f u s e r s . A n i m a t e D i f f P i p e l i n e ) . E a c h p i p e l i n e c a n b e u s e d i n t e r c h a n g e a b l y w i t h o u t a n y a d d i t i o n a l m e m o r y o v e r h e a d . # # S a f e t y c h e c k e r D i f f u s e r s i m p l e m e n t s a [ s a f e t y c h e c k e r ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s a f e t y _ c h e c k e r . p y ) f o r S t a b l e D i f f u s i o n m o d e l s w h i c h c a n g e n e r a t e h a r m f u l c o n t e n t . T h e s a f e t y c h e c k e r s c r e e n s t h e g e n e r a t e d o u t p u t a g a i n s t k n o w n h a r d c o d e d n o t - s a f e - f o r - w o r k ( N S F W ) c o n t e n t . I f f o r w h a t e v e r r e a s o n y o u ' d l i k e t o d i s a b l e t h e s a f e t y c h e c k e r , p a s s ` s a f e t y _ c h e c k e r = N o n e ` t o t h e [ f r o m _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ) m e t h o d . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , s a f e t y _ c h e c k e r = N o n e , u s e _ s a f e t e n s o r s = T r u e ) " " " Y o u h a v e d i s a b l e d t h e s a f e t y c h e c k e r f o r < c l a s s ' d i f f u s e r s . p i p e l i n e s . s t a b l e _ d i f f u s i o n . p i p e l i n e _ s t a b l e _ d i f f u s i o n . S t a b l e D i f f u s i o n P i p e l i n e ' > b y p a s s i n g ` s a f e t y _ c h e c k e r = N o n e ` . E n s u r e t h a t y o u a b i d e b y t h e c o n d i t i o n s o f t h e S t a b l e D i f f u s i o n l i c e n s e a n d d o n o t e x p o s e u n f i l t e r e d r e s u l t s i n s e r v i c e s o r a p p l i c a t i o n s o p e n t o t h e p u b l i c . B o t h t h e d i f f u s e r s t e a m a n d H u g g i n g F a c e s t r o n g l y r e c o m m e n d k e e p i n g t h e s a f e t y f i l t e r e n a b l e d i n a l l p u b l i c - f a c i n g c i r c u m s t a n c e s , d i s a b l i n g i t o n l y f o r u s e c a s e s t h a t i n v o l v e a n a l y z i n g n e t w o r k b e h a v i o r o r a u d i t i n g i t s r e s u l t s . F o r m o r e i n f o r m a t i o n , p l e a s e h a v e a l o o k a t h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / p u l l / 2 5 4 . " " " ` ` ` # # C h e c k p o i n t v a r i a n t s A c h e c k p o i n t v a r i a n t i s u s u a l l y a c h e c k p o i n t w h o s e w e i g h t s a r e : - S t o r e d i n a d i f f e r e n t f l o a t i n g p o i n t t y p e , s u c h a s [ t o r c h . f l o a t 1 6 ] ( h t t p s : / / p y t o r c h . o r g / d o c s / s t a b l e / t e n s o r s . h t m l # d a t a - t y p e s ) , b e c a u s e i t o n l y r e q u i r e s h a l f t h e b a n d w i d t h a n d s t o r a g e t o d o w n l o a d . Y o u c a n ' t u s e t h i s v a r i a n t i f y o u ' r e c o n t i n u i n g t r a i n i n g o r u s i n g a C P U . - N o n - e x p o n e n t i a l m e a n a v e r a g e d ( E M A ) w e i g h t s w h i c h s h o u l d n ' t b e u s e d f o r i n f e r e n c e . Y o u s h o u l d u s e t h i s v a r i a n t t o c o n t i n u e f i n e t u n i n g a m o d e l . > [ ! T I P ] > W h e n t h e c h e c k p o i n t s h a v e i d e n t i c a l m o d e l s t r u c t u r e s , b u t t h e y w e r e t r a i n e d o n d i f f e r e n t d a t a s e t s a n d w i t h a d i f f e r e n t t r a i n i n g s e t u p , t h e y s h o u l d b e s t o r e d i n s e p a r a t e r e p o s i t o r i e s . F o r e x a m p l e , [ s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 ] ( h t t p s : / / h f . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 ) a n d [ s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - 1 ] ( h t t p s : / / h f . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - 1 ) a r e s t o r e d i n s e p a r a t e r e p o s i t o r i e s . O t h e r w i s e , a v a r i a n t i s * * i d e n t i c a l * * t o t h e o r i g i n a l c h e c k p o i n t . T h e y h a v e e x a c t l y t h e s a m e s e r i a l i z a t i o n f o r m a t ( l i k e [ s a f e t e n s o r s ] ( . / u s i n g _ s a f e t e n s o r s ) ) , m o d e l s t r u c t u r e , a n d t h e i r w e i g h t s h a v e i d e n t i c a l t e n s o r s h a p e s . | * * c h e c k p o i n t t y p e * * | * * w e i g h t n a m e * * | * * a r g u m e n t f o r l o a d i n g w e i g h t s * * | | - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | o r i g i n a l | d i f f u s i o n _ p y t o r c h _ m o d e l . s a f e t e n s o r s | | | f l o a t i n g p o i n t | d i f f u s i o n _ p y t o r c h _ m o d e l . f p 1 6 . s a f e t e n s o r s | ` v a r i a n t ` , ` t o r c h _ d t y p e ` | | n o n - E M A | d i f f u s i o n _ p y t o r c h _ m o d e l . n o n _ e m a . s a f e t e n s o r s | ` v a r i a n t ` | T h e r e a r e t w o i m p o r t a n t a r g u m e n t s f o r l o a d i n g v a r i a n t s : - ` t o r c h _ d t y p e ` s p e c i f i e s t h e f l o a t i n g p o i n t p r e c i s i o n o f t h e l o a d e d c h e c k p o i n t . F o r e x a m p l e , i f y o u w a n t t o s a v e b a n d w i d t h b y l o a d i n g a f p 1 6 v a r i a n t , y o u s h o u l d s e t ` v a r i a n t = " f p 1 6 " ` a n d ` t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ` t o * c o n v e r t t h e w e i g h t s * t o f p 1 6 . O t h e r w i s e , t h e f p 1 6 w e i g h t s a r e c o n v e r t e d t o t h e d e f a u l t f p 3 2 p r e c i s i o n . I f y o u o n l y s e t ` t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ` , t h e d e f a u l t f p 3 2 w e i g h t s a r e d o w n l o a d e d f i r s t a n d t h e n c o n v e r t e d t o f p 1 6 . - ` v a r i a n t ` s p e c i f i e s w h i c h f i l e s s h o u l d b e l o a d e d f r o m t h e r e p o s i t o r y . F o r e x a m p l e , i f y o u w a n t t o l o a d a n o n - E M A v a r i a n t o f a U N e t f r o m [ s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ] ( h t t p s : / / h f . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 / t r e e / m a i n / u n e t ) , s e t ` v a r i a n t = " n o n _ e m a " ` t o d o w n l o a d t h e ` n o n _ e m a ` f i l e . < h f o p t i o n s i d = " v a r i a n t s " > < h f o p t i o n i d = " f p 1 6 " > ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " n o n - E M A " > ` ` ` p y p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , v a r i a n t = " n o n _ e m a " , u s e _ s a f e t e n s o r s = T r u e ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > U s e t h e ` v a r i a n t ` p a r a m e t e r i n t h e [ D i f f u s i o n P i p e l i n e . s a v e _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . s a v e _ p r e t r a i n e d ) m e t h o d t o s a v e a c h e c k p o i n t a s a d i f f e r e n t f l o a t i n g p o i n t t y p e o r a s a n o n - E M A v a r i a n t . Y o u s h o u l d t r y s a v e a v a r i a n t t o t h e s a m e f o l d e r a s t h e o r i g i n a l c h e c k p o i n t , s o y o u h a v e t h e o p t i o n o f l o a d i n g b o t h f r o m t h e s a m e f o l d e r . < h f o p t i o n s i d = " s a v e " > < h f o p t i o n i d = " f p 1 6 " > ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e l i n e . s a v e _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , v a r i a n t = " f p 1 6 " ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " n o n _ e m a " > ` ` ` p y p i p e l i n e . s a v e _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , v a r i a n t = " n o n _ e m a " ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > I f y o u d o n ' t s a v e t h e v a r i a n t t o a n e x i s t i n g f o l d e r , y o u m u s t s p e c i f y t h e ` v a r i a n t ` a r g u m e n t o t h e r w i s e i t ' l l t h r o w a n ` E x c e p t i o n ` b e c a u s e i t c a n ' t f i n d t h e o r i g i n a l c h e c k p o i n t . ` ` ` p y t h o n # ๐Ÿ‘Ž t h i s w o n ' t w o r k p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " . / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) # ๐Ÿ‘ t h i s w o r k s p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " . / s t a b l e - d i f f u s i o n - v 1 - 5 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) ` ` ` # # D i f f u s i o n P i p e l i n e e x p l a i n e d A s a c l a s s m e t h o d , [ D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ) i s r e s p o n s i b l e f o r t w o t h i n g s : - D o w n l o a d t h e l a t e s t v e r s i o n o f t h e f o l d e r s t r u c t u r e r e q u i r e d f o r i n f e r e n c e a n d c a c h e i t . I f t h e l a t e s t f o l d e r s t r u c t u r e i s a v a i l a b l e i n t h e l o c a l c a c h e , [ D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ) r e u s e s t h e c a c h e a n d w o n ' t r e d o w n l o a d t h e f i l e s . - L o a d t h e c a c h e d w e i g h t s i n t o t h e c o r r e c t p i p e l i n e [ c l a s s ] ( . . / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s - s u m m a r y ) - r e t r i e v e d f r o m t h e ` m o d e l _ i n d e x . j s o n ` f i l e - a n d r e t u r n a n i n s t a n c e o f i t . T h e p i p e l i n e s ' u n d e r l y i n g f o l d e r s t r u c t u r e c o r r e s p o n d s d i r e c t l y w i t h t h e i r c l a s s i n s t a n c e s . F o r e x a m p l e , t h e [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) c o r r e s p o n d s t o t h e f o l d e r s t r u c t u r e i n [ ` s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ` ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ) . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e r e p o _ i d = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( r e p o _ i d , u s e _ s a f e t e n s o r s = T r u e ) p r i n t ( p i p e l i n e ) ` ` ` Y o u ' l l s e e p i p e l i n e i s a n i n s t a n c e o f [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) , w h i c h c o n s i s t s o f s e v e n c o m p o n e n t s : - ` " f e a t u r e _ e x t r a c t o r " ` : a [ C L I P I m a g e P r o c e s s o r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / e n / m o d e l _ d o c / c l i p # t r a n s f o r m e r s . C L I P I m a g e P r o c e s s o r ) f r o m ๐Ÿค— T r a n s f o r m e r s . - ` " s a f e t y _ c h e c k e r " ` : a [ c o m p o n e n t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / e 5 5 6 8 7 e 1 e 1 5 4 0 7 f 6 0 f 3 2 2 4 2 0 2 7 b 7 b b 8 1 7 0 e 5 8 2 6 6 / s r c / d i f f u s e r s / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s a f e t y _ c h e c k e r . p y # L 3 2 ) f o r s c r e e n i n g a g a i n s t h a r m f u l c o n t e n t . - ` " s c h e d u l e r " ` : a n i n s t a n c e o f [ P N D M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / p n d m # d i f f u s e r s . P N D M S c h e d u l e r ) . - ` " t e x t _ e n c o d e r " ` : a [ C L I P T e x t M o d e l ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / e n / m o d e l _ d o c / c l i p # t r a n s f o r m e r s . C L I P T e x t M o d e l ) f r o m ๐Ÿค— T r a n s f o r m e r s . - ` " t o k e n i z e r " ` : a [ C L I P T o k e n i z e r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / e n / m o d e l _ d o c / c l i p # t r a n s f o r m e r s . C L I P T o k e n i z e r ) f r o m ๐Ÿค— T r a n s f o r m e r s . - ` " u n e t " ` : a n i n s t a n c e o f [ U N e t 2 D C o n d i t i o n M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / u n e t 2 d - c o n d # d i f f u s e r s . U N e t 2 D C o n d i t i o n M o d e l ) . - ` " v a e " ` : a n i n s t a n c e o f [ A u t o e n c o d e r K L ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / a u t o e n c o d e r k l # d i f f u s e r s . A u t o e n c o d e r K L ) . ` ` ` j s o n S t a b l e D i f f u s i o n P i p e l i n e { " f e a t u r e _ e x t r a c t o r " : [ " t r a n s f o r m e r s " , " C L I P I m a g e P r o c e s s o r " ] , " s a f e t y _ c h e c k e r " : [ " s t a b l e _ d i f f u s i o n " , " S t a b l e D i f f u s i o n S a f e t y C h e c k e r " ] , " s c h e d u l e r " : [ " d i f f u s e r s " , " P N D M S c h e d u l e r " ] , " t e x t _ e n c o d e r " : [ " t r a n s f o r m e r s " , " C L I P T e x t M o d e l " ] , " t o k e n i z e r " : [ " t r a n s f o r m e r s " , " C L I P T o k e n i z e r " ] , " u n e t " : [ " d i f f u s e r s " , " U N e t 2 D C o n d i t i o n M o d e l " ] , " v a e " : [ " d i f f u s e r s " , " A u t o e n c o d e r K L " ] } ` ` ` C o m p a r e t h e c o m p o n e n t s o f t h e p i p e l i n e i n s t a n c e t o t h e [ ` s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ` ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 / t r e e / m a i n ) f o l d e r s t r u c t u r e , a n d y o u ' l l s e e t h e r e i s a s e p a r a t e f o l d e r f o r e a c h o f t h e c o m p o n e n t s i n t h e r e p o s i t o r y : ` ` ` . โ”œ โ”€ โ”€ f e a t u r e _ e x t r a c t o r โ”‚ ย  ย  โ”” โ”€ โ”€ p r e p r o c e s s o r _ c o n f i g . j s o n โ”œ โ”€ โ”€ m o d e l _ i n d e x . j s o n โ”œ โ”€ โ”€ s a f e t y _ c h e c k e r โ”‚ ย  ย  โ”œ โ”€ โ”€ c o n f i g . j s o n | โ”œ โ”€ โ”€ m o d e l . f p 1 6 . s a f e t e n s o r s โ”‚ โ”œ โ”€ โ”€ m o d e l . s a f e t e n s o r s โ”‚ โ”œ โ”€ โ”€ p y t o r c h _ m o d e l . b i n | โ”” โ”€ โ”€ p y t o r c h _ m o d e l . f p 1 6 . b i n โ”œ โ”€ โ”€ s c h e d u l e r โ”‚ ย  ย  โ”” โ”€ โ”€ s c h e d u l e r _ c o n f i g . j s o n โ”œ โ”€ โ”€ t e x t _ e n c o d e r โ”‚ ย  ย  โ”œ โ”€ โ”€ c o n f i g . j s o n | โ”œ โ”€ โ”€ m o d e l . f p 1 6 . s a f e t e n s o r s โ”‚ โ”œ โ”€ โ”€ m o d e l . s a f e t e n s o r s โ”‚ | โ”€ โ”€ p y t o r c h _ m o d e l . b i n | โ”” โ”€ โ”€ p y t o r c h _ m o d e l . f p 1 6 . b i n โ”œ โ”€ โ”€ t o k e n i z e r โ”‚ ย  ย  โ”œ โ”€ โ”€ m e r g e s . t x t โ”‚ ย  ย  โ”œ โ”€ โ”€ s p e c i a l _ t o k e n s _ m a p . j s o n โ”‚ ย  ย  โ”œ โ”€ โ”€ t o k e n i z e r _ c o n f i g . j s o n โ”‚ ย  ย  โ”” โ”€ โ”€ v o c a b . j s o n โ”œ โ”€ โ”€ u n e t โ”‚ ย  ย  โ”œ โ”€ โ”€ c o n f i g . j s o n โ”‚ ย  ย  โ”œ โ”€ โ”€ d i f f u s i o n _ p y t o r c h _ m o d e l . b i n | | โ”€ โ”€ d i f f u s i o n _ p y t o r c h _ m o d e l . f p 1 6 . b i n โ”‚ | โ”€ โ”€ d i f f u s i o n _ p y t o r c h _ m o d e l . f 1 6 . s a f e t e n s o r s โ”‚ | โ”€ โ”€ d i f f u s i o n _ p y t o r c h _ m o d e l . n o n _ e m a . b i n โ”‚ | โ”€ โ”€ d i f f u s i o n _ p y t o r c h _ m o d e l . n o n _ e m a . s a f e t e n s o r s โ”‚ โ”” โ”€ โ”€ d i f f u s i o n _ p y t o r c h _ m o d e l . s a f e t e n s o r s | โ”€ โ”€ v a e . โ”œ โ”€ โ”€ c o n f i g . j s o n . โ”œ โ”€ โ”€ d i f f u s i o n _ p y t o r c h _ m o d e l . b i n โ”œ โ”€ โ”€ d i f f u s i o n _ p y t o r c h _ m o d e l . f p 1 6 . b i n โ”œ โ”€ โ”€ d i f f u s i o n _ p y t o r c h _ m o d e l . f p 1 6 . s a f e t e n s o r s โ”” โ”€ โ”€ d i f f u s i o n _ p y t o r c h _ m o d e l . s a f e t e n s o r s ` ` ` Y o u c a n a c c e s s e a c h o f t h e c o m p o n e n t s o f t h e p i p e l i n e a s a n a t t r i b u t e t o v i e w i t s c o n f i g u r a t i o n : ` ` ` p y p i p e l i n e . t o k e n i z e r C L I P T o k e n i z e r ( n a m e _ o r _ p a t h = " / r o o t / . c a c h e / h u g g i n g f a c e / h u b / m o d e l s - - r u n w a y m l - - s t a b l e - d i f f u s i o n - v 1 - 5 / s n a p s h o t s / 3 9 5 9 3 d 5 6 5 0 1 1 2 b 4 c c 5 8 0 4 3 3 f 6 b 0 4 3 5 3 8 5 8 8 2 d 8 1 9 / t o k e n i z e r " , v o c a b _ s i z e = 4 9 4 0 8 , m o d e l _ m a x _ l e n g t h = 7 7 , i s _ f a s t = F a l s e , p a d d i n g _ s i d e = " r i g h t " , t r u n c a t i o n _ s i d e = " r i g h t " , s p e c i a l _ t o k e n s = { " b o s _ t o k e n " : A d d e d T o k e n ( " < | s t a r t o f t e x t | > " , r s t r i p = F a l s e , l s t r i p = F a l s e , s i n g l e _ w o r d = F a l s e , n o r m a l i z e d = T r u e ) , " e o s _ t o k e n " : A d d e d T o k e n ( " < | e n d o f t e x t | > " , r s t r i p = F a l s e , l s t r i p = F a l s e , s i n g l e _ w o r d = F a l s e , n o r m a l i z e d = T r u e ) , " u n k _ t o k e n " : A d d e d T o k e n ( " < | e n d o f t e x t | > " , r s t r i p = F a l s e , l s t r i p = F a l s e , s i n g l e _ w o r d = F a l s e , n o r m a l i z e d = T r u e ) , " p a d _ t o k e n " : " < | e n d o f t e x t | > " , } , c l e a n _ u p _ t o k e n i z a t i o n _ s p a c e s = T r u e ) ` ` ` E v e r y p i p e l i n e e x p e c t s a [ ` m o d e l _ i n d e x . j s o n ` ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 / b l o b / m a i n / m o d e l _ i n d e x . j s o n ) f i l e t h a t t e l l s t h e [ D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e ) : - w h i c h p i p e l i n e c l a s s t o l o a d f r o m ` _ c l a s s _ n a m e ` - w h i c h v e r s i o n o f ๐Ÿงจ D i f f u s e r s w a s u s e d t o c r e a t e t h e m o d e l i n ` _ d i f f u s e r s _ v e r s i o n ` - w h a t c o m p o n e n t s f r o m w h i c h l i b r a r y a r e s t o r e d i n t h e s u b f o l d e r s ( ` n a m e ` c o r r e s p o n d s t o t h e c o m p o n e n t a n d s u b f o l d e r n a m e , ` l i b r a r y ` c o r r e s p o n d s t o t h e n a m e o f t h e l i b r a r y t o l o a d t h e c l a s s f r o m , a n d ` c l a s s ` c o r r e s p o n d s t o t h e c l a s s n a m e ) ` ` ` j s o n { " _ c l a s s _ n a m e " : " S t a b l e D i f f u s i o n P i p e l i n e " , " _ d i f f u s e r s _ v e r s i o n " : " 0 . 6 . 0 " , " f e a t u r e _ e x t r a c t o r " : [ " t r a n s f o r m e r s " , " C L I P I m a g e P r o c e s s o r " ] , " s a f e t y _ c h e c k e r " : [ " s t a b l e _ d i f f u s i o n " , " S t a b l e D i f f u s i o n S a f e t y C h e c k e r " ] , " s c h e d u l e r " : [ " d i f f u s e r s " , " P N D M S c h e d u l e r " ] , " t e x t _ e n c o d e r " : [ " t r a n s f o r m e r s " , " C L I P T e x t M o d e l " ] , " t o k e n i z e r " : [ " t r a n s f o r m e r s " , " C L I P T o k e n i z e r " ] , " u n e t " : [ " d i f f u s e r s " , " U N e t 2 D C o n d i t i o n M o d e l " ] , " v a e " : [ " d i f f u s e r s " , " A u t o e n c o d e r K L " ] } ` ` ` # C o n t r o l l i n g i m a g e q u a l i t y T h e c o m p o n e n t s o f a d i f f u s i o n m o d e l , l i k e t h e U N e t a n d s c h e d u l e r , c a n b e o p t i m i z e d t o i m p r o v e t h e q u a l i t y o f g e n e r a t e d i m a g e s l e a d i n g t o b e t t e r d e t a i l s . T h e s e t e c h n i q u e s a r e e s p e c i a l l y u s e f u l i f y o u d o n ' t h a v e t h e r e s o u r c e s t o s i m p l y u s e a l a r g e r m o d e l f o r i n f e r e n c e . Y o u c a n e n a b l e t h e s e t e c h n i q u e s d u r i n g i n f e r e n c e w i t h o u t a n y a d d i t i o n a l t r a i n i n g . T h i s g u i d e w i l l s h o w y o u h o w t o t u r n t h e s e t e c h n i q u e s o n i n y o u r p i p e l i n e a n d h o w t o c o n f i g u r e t h e m t o i m p r o v e t h e q u a l i t y o f y o u r g e n e r a t e d i m a g e s . # # D e t a i l s [ F r e e U ] ( h t t p s : / / h f . c o / p a p e r s / 2 3 0 9 . 1 1 4 9 7 ) i m p r o v e s i m a g e d e t a i l s b y r e b a l a n c i n g t h e U N e t ' s b a c k b o n e a n d s k i p c o n n e c t i o n w e i g h t s . T h e s k i p c o n n e c t i o n s c a n c a u s e t h e m o d e l t o o v e r l o o k s o m e o f t h e b a c k b o n e s e m a n t i c s w h i c h m a y l e a d t o u n n a t u r a l i m a g e d e t a i l s i n t h e g e n e r a t e d i m a g e . T h i s t e c h n i q u e d o e s n o t r e q u i r e a n y a d d i t i o n a l t r a i n i n g a n d c a n b e a p p l i e d o n t h e f l y d u r i n g i n f e r e n c e f o r t a s k s l i k e i m a g e - t o - i m a g e a n d t e x t - t o - v i d e o . U s e t h e [ e n a b l e _ f r e e u ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . S t a b l e D i f f u s i o n M i x i n . e n a b l e _ f r e e u ) m e t h o d o n y o u r p i p e l i n e a n d c o n f i g u r e t h e s c a l i n g f a c t o r s f o r t h e b a c k b o n e ( ` b 1 ` a n d ` b 2 ` ) a n d s k i p c o n n e c t i o n s ( ` s 1 ` a n d ` s 2 ` ) . T h e n u m b e r a f t e r e a c h s c a l i n g f a c t o r c o r r e s p o n d s t o t h e s t a g e i n t h e U N e t w h e r e t h e f a c t o r i s a p p l i e d . T a k e a l o o k a t t h e [ F r e e U ] ( h t t p s : / / g i t h u b . c o m / C h e n y a n g S i / F r e e U # p a r a m e t e r s ) r e p o s i t o r y f o r r e f e r e n c e h y p e r p a r a m e t e r s f o r d i f f e r e n t m o d e l s . < h f o p t i o n s i d = " f r e e u " > < h f o p t i o n i d = " S t a b l e D i f f u s i o n v 1 - 5 " > ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , s a f e t y _ c h e c k e r = N o n e ) . t o ( " c u d a " ) p i p e l i n e . e n a b l e _ f r e e u ( s 1 = 0 . 9 , s 2 = 0 . 2 , b 1 = 1 . 5 , b 2 = 1 . 6 ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 3 3 ) p r o m p t = " " i m a g e = p i p e l i n e ( p r o m p t , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s d v 1 5 - n o - f r e e u . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > F r e e U d i s a b l e d < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s d v 1 5 - f r e e u . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > F r e e U e n a b l e d < / f i g c a p t i o n > < / d i v > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " S t a b l e D i f f u s i o n v 2 - 1 " > ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - 1 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , s a f e t y _ c h e c k e r = N o n e ) . t o ( " c u d a " ) p i p e l i n e . e n a b l e _ f r e e u ( s 1 = 0 . 9 , s 2 = 0 . 2 , b 1 = 1 . 4 , b 2 = 1 . 6 ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 8 0 ) p r o m p t = " A s q u i r r e l e a t i n g a b u r g e r " i m a g e = p i p e l i n e ( p r o m p t , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s d v 2 1 - n o - f r e e u . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > F r e e U d i s a b l e d < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s d v 2 1 - f r e e u . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > F r e e U e n a b l e d < / f i g c a p t i o n > < / d i v > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " S t a b l e D i f f u s i o n X L " > ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , ) . t o ( " c u d a " ) p i p e l i n e . e n a b l e _ f r e e u ( s 1 = 0 . 9 , s 2 = 0 . 2 , b 1 = 1 . 3 , b 2 = 1 . 4 ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 1 3 ) p r o m p t = " A s q u i r r e l e a t i n g a b u r g e r " i m a g e = p i p e l i n e ( p r o m p t , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s d x l - n o - f r e e u . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > F r e e U d i s a b l e d < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s d x l - f r e e u . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > F r e e U e n a b l e d < / f i g c a p t i o n > < / d i v > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " Z e r o s c o p e " > ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ v i d e o p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " d a m o - v i l a b / t e x t - t o - v i d e o - m s - 1 . 7 b " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) # v a l u e s c o m e f r o m h t t p s : / / g i t h u b . c o m / l y n - r g b / F r e e U _ D i f f u s e r s # v i d e o - p i p e l i n e s p i p e l i n e . e n a b l e _ f r e e u ( b 1 = 1 . 2 , b 2 = 1 . 4 , s 1 = 0 . 9 , s 2 = 0 . 2 ) p r o m p t = " C o n f i d e n t t e d d y b e a r s u r f e r r i d e s t h e w a v e i n t h e t r o p i c s " g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 4 7 ) v i d e o _ f r a m e s = p i p e l i n e ( p r o m p t , g e n e r a t o r = g e n e r a t o r ) . f r a m e s [ 0 ] e x p o r t _ t o _ v i d e o ( v i d e o _ f r a m e s , " t e d d y _ b e a r . m p 4 " , f p s = 1 0 ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / v i d e o - n o - f r e e u . g i f " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > F r e e U d i s a b l e d < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / v i d e o - f r e e u . g i f " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > F r e e U e n a b l e d < / f i g c a p t i o n > < / d i v > < / d i v > < / h f o p t i o n > < / h f o p t i o n s > C a l l t h e [ p i p e l i n e s . S t a b l e D i f f u s i o n M i x i n . d i s a b l e _ f r e e u ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . S t a b l e D i f f u s i o n M i x i n . d i s a b l e _ f r e e u ) m e t h o d t o d i s a b l e F r e e U . ` ` ` p y p i p e l i n e . d i s a b l e _ f r e e u ( ) ` ` ` # R e p r o d u c i b l e p i p e l i n e s D i f f u s i o n m o d e l s a r e i n h e r e n t l y r a n d o m w h i c h i s w h a t a l l o w s i t t o g e n e r a t e d i f f e r e n t o u t p u t s e v e r y t i m e i t i s r u n . B u t t h e r e a r e c e r t a i n t i m e s w h e n y o u w a n t t o g e n e r a t e t h e s a m e o u t p u t e v e r y t i m e , l i k e w h e n y o u ' r e t e s t i n g , r e p l i c a t i n g r e s u l t s , a n d e v e n [ i m p r o v i n g i m a g e q u a l i t y ] ( # d e t e r m i n i s t i c - b a t c h - g e n e r a t i o n ) . W h i l e y o u c a n ' t e x p e c t t o g e t i d e n t i c a l r e s u l t s a c r o s s p l a t f o r m s , y o u c a n e x p e c t r e p r o d u c i b l e r e s u l t s a c r o s s r e l e a s e s a n d p l a t f o r m s w i t h i n a c e r t a i n t o l e r a n c e r a n g e ( t h o u g h e v e n t h i s m a y v a r y ) . T h i s g u i d e w i l l s h o w y o u h o w t o c o n t r o l r a n d o m n e s s f o r d e t e r m i n i s t i c g e n e r a t i o n o n a C P U a n d G P U . > [ ! T I P ] > W e s t r o n g l y r e c o m m e n d r e a d i n g P y T o r c h ' s [ s t a t e m e n t a b o u t r e p r o d u c i b i l i t y ] ( h t t p s : / / p y t o r c h . o r g / d o c s / s t a b l e / n o t e s / r a n d o m n e s s . h t m l ) : > > " C o m p l e t e l y r e p r o d u c i b l e r e s u l t s a r e n o t g u a r a n t e e d a c r o s s P y T o r c h r e l e a s e s , i n d i v i d u a l c o m m i t s , o r d i f f e r e n t p l a t f o r m s . F u r t h e r m o r e , r e s u l t s m a y n o t b e r e p r o d u c i b l e b e t w e e n C P U a n d G P U e x e c u t i o n s , e v e n w h e n u s i n g i d e n t i c a l s e e d s . " # # C o n t r o l r a n d o m n e s s D u r i n g i n f e r e n c e , p i p e l i n e s r e l y h e a v i l y o n r a n d o m s a m p l i n g o p e r a t i o n s w h i c h i n c l u d e c r e a t i n g t h e G a u s s i a n n o i s e t e n s o r s t o d e n o i s e a n d a d d i n g n o i s e t o t h e s c h e d u l i n g s t e p . T a k e a l o o k a t t h e t e n s o r v a l u e s i n t h e [ D D I M P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / d d i m # d i f f u s e r s . D D I M P i p e l i n e ) a f t e r t w o i n f e r e n c e s t e p s . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D D I M P i p e l i n e i m p o r t n u m p y a s n p d d i m = D D I M P i p e l i n e . f r o m _ p r e t r a i n e d ( " g o o g l e / d d p m - c i f a r 1 0 - 3 2 " , u s e _ s a f e t e n s o r s = T r u e ) i m a g e = d d i m ( n u m _ i n f e r e n c e _ s t e p s = 2 , o u t p u t _ t y p e = " n p " ) . i m a g e s p r i n t ( n p . a b s ( i m a g e ) . s u m ( ) ) ` ` ` R u n n i n g t h e c o d e a b o v e p r i n t s o n e v a l u e , b u t i f y o u r u n i t a g a i n y o u g e t a d i f f e r e n t v a l u e . E a c h t i m e t h e p i p e l i n e i s r u n , [ t o r c h . r a n d n ] ( h t t p s : / / p y t o r c h . o r g / d o c s / s t a b l e / g e n e r a t e d / t o r c h . r a n d n . h t m l ) u s e s a d i f f e r e n t r a n d o m s e e d t o c r e a t e t h e G a u s s i a n n o i s e t e n s o r s . T h i s l e a d s t o a d i f f e r e n t r e s u l t e a c h t i m e i t i s r u n a n d e n a b l e s t h e d i f f u s i o n p i p e l i n e t o g e n e r a t e a d i f f e r e n t r a n d o m i m a g e e a c h t i m e . B u t i f y o u n e e d t o r e l i a b l y g e n e r a t e t h e s a m e i m a g e , t h a t d e p e n d s o n w h e t h e r y o u ' r e r u n n i n g t h e p i p e l i n e o n a C P U o r G P U . > [ ! T I P ] > I t m i g h t s e e m u n i n t u i t i v e t o p a s s ` G e n e r a t o r ` o b j e c t s t o a p i p e l i n e i n s t e a d o f t h e i n t e g e r v a l u e r e p r e s e n t i n g t h e s e e d . H o w e v e r , t h i s i s t h e r e c o m m e n d e d d e s i g n w h e n w o r k i n g w i t h p r o b a b i l i s t i c m o d e l s i n P y T o r c h b e c a u s e a ` G e n e r a t o r ` i s a * r a n d o m s t a t e * t h a t c a n b e p a s s e d t o m u l t i p l e p i p e l i n e s i n a s e q u e n c e . A s s o o n a s t h e ` G e n e r a t o r ` i s c o n s u m e d , t h e * s t a t e * i s c h a n g e d i n p l a c e w h i c h m e a n s e v e n i f y o u p a s s e d t h e s a m e ` G e n e r a t o r ` t o a d i f f e r e n t p i p e l i n e , i t w o n ' t p r o d u c e t h e s a m e r e s u l t b e c a u s e t h e s t a t e i s a l r e a d y c h a n g e d . < h f o p t i o n s i d = " h a r d w a r e " > < h f o p t i o n i d = " C P U " > T o g e n e r a t e r e p r o d u c i b l e r e s u l t s o n a C P U , y o u ' l l n e e d t o u s e a P y T o r c h [ G e n e r a t o r ] ( h t t p s : / / p y t o r c h . o r g / d o c s / s t a b l e / g e n e r a t e d / t o r c h . G e n e r a t o r . h t m l ) a n d s e t a s e e d . N o w w h e n y o u r u n t h e c o d e , i t a l w a y s p r i n t s a v a l u e o f ` 1 4 9 1 . 1 7 1 1 ` b e c a u s e t h e ` G e n e r a t o r ` o b j e c t w i t h t h e s e e d i s p a s s e d t o a l l t h e r a n d o m f u n c t i o n s i n t h e p i p e l i n e . Y o u s h o u l d g e t a s i m i l a r , i f n o t t h e s a m e , r e s u l t o n w h a t e v e r h a r d w a r e a n d P y T o r c h v e r s i o n y o u ' r e u s i n g . ` ` ` p y t h o n i m p o r t t o r c h i m p o r t n u m p y a s n p f r o m d i f f u s e r s i m p o r t D D I M P i p e l i n e d d i m = D D I M P i p e l i n e . f r o m _ p r e t r a i n e d ( " g o o g l e / d d p m - c i f a r 1 0 - 3 2 " , u s e _ s a f e t e n s o r s = T r u e ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 0 ) i m a g e = d d i m ( n u m _ i n f e r e n c e _ s t e p s = 2 , o u t p u t _ t y p e = " n p " , g e n e r a t o r = g e n e r a t o r ) . i m a g e s p r i n t ( n p . a b s ( i m a g e ) . s u m ( ) ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " G P U " > W r i t i n g a r e p r o d u c i b l e p i p e l i n e o n a G P U i s a b i t t r i c k i e r , a n d f u l l r e p r o d u c i b i l i t y a c r o s s d i f f e r e n t h a r d w a r e i s n o t g u a r a n t e e d b e c a u s e m a t r i x m u l t i p l i c a t i o n - w h i c h d i f f u s i o n p i p e l i n e s r e q u i r e a l o t o f - i s l e s s d e t e r m i n i s t i c o n a G P U t h a n a C P U . F o r e x a m p l e , i f y o u r u n t h e s a m e c o d e e x a m p l e f r o m t h e C P U e x a m p l e , y o u ' l l g e t a d i f f e r e n t r e s u l t e v e n t h o u g h t h e s e e d i s i d e n t i c a l . T h i s i s b e c a u s e t h e G P U u s e s a d i f f e r e n t r a n d o m n u m b e r g e n e r a t o r t h a n t h e C P U . ` ` ` p y t h o n i m p o r t t o r c h i m p o r t n u m p y a s n p f r o m d i f f u s e r s i m p o r t D D I M P i p e l i n e d d i m = D D I M P i p e l i n e . f r o m _ p r e t r a i n e d ( " g o o g l e / d d p m - c i f a r 1 0 - 3 2 " , u s e _ s a f e t e n s o r s = T r u e ) d d i m . t o ( " c u d a " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c u d a " ) . m a n u a l _ s e e d ( 0 ) i m a g e = d d i m ( n u m _ i n f e r e n c e _ s t e p s = 2 , o u t p u t _ t y p e = " n p " , g e n e r a t o r = g e n e r a t o r ) . i m a g e s p r i n t ( n p . a b s ( i m a g e ) . s u m ( ) ) ` ` ` T o a v o i d t h i s i s s u e , D i f f u s e r s h a s a [ r a n d n _ t e n s o r ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / u t i l i t i e s # d i f f u s e r s . u t i l s . t o r c h _ u t i l s . r a n d n _ t e n s o r ) f u n c t i o n f o r c r e a t i n g r a n d o m n o i s e o n t h e C P U , a n d t h e n m o v i n g t h e t e n s o r t o a G P U i f n e c e s s a r y . T h e [ r a n d n _ t e n s o r ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / u t i l i t i e s # d i f f u s e r s . u t i l s . t o r c h _ u t i l s . r a n d n _ t e n s o r ) f u n c t i o n i s u s e d e v e r y w h e r e i n s i d e t h e p i p e l i n e . N o w y o u c a n c a l l [ t o r c h . m a n u a l _ s e e d ] ( h t t p s : / / p y t o r c h . o r g / d o c s / s t a b l e / g e n e r a t e d / t o r c h . m a n u a l _ s e e d . h t m l ) w h i c h a u t o m a t i c a l l y c r e a t e s a C P U ` G e n e r a t o r ` t h a t c a n b e p a s s e d t o t h e p i p e l i n e e v e n i f i t i s b e i n g r u n o n a G P U . ` ` ` p y t h o n i m p o r t t o r c h i m p o r t n u m p y a s n p f r o m d i f f u s e r s i m p o r t D D I M P i p e l i n e d d i m = D D I M P i p e l i n e . f r o m _ p r e t r a i n e d ( " g o o g l e / d d p m - c i f a r 1 0 - 3 2 " , u s e _ s a f e t e n s o r s = T r u e ) d d i m . t o ( " c u d a " ) g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) i m a g e = d d i m ( n u m _ i n f e r e n c e _ s t e p s = 2 , o u t p u t _ t y p e = " n p " , g e n e r a t o r = g e n e r a t o r ) . i m a g e s p r i n t ( n p . a b s ( i m a g e ) . s u m ( ) ) ` ` ` > [ ! T I P ] > I f r e p r o d u c i b i l i t y i s i m p o r t a n t t o y o u r u s e c a s e , w e r e c o m m e n d a l w a y s p a s s i n g a C P U ` G e n e r a t o r ` . T h e p e r f o r m a n c e l o s s i s o f t e n n e g l i g i b l e a n d y o u ' l l g e n e r a t e m o r e s i m i l a r v a l u e s t h a n i f t h e p i p e l i n e h a d b e e n r u n o n a G P U . F i n a l l y , m o r e c o m p l e x p i p e l i n e s s u c h a s [ U n C L I P P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / u n c l i p # d i f f u s e r s . U n C L I P P i p e l i n e ) , a r e o f t e n e x t r e m e l y s u s c e p t i b l e t o p r e c i s i o n e r r o r p r o p a g a t i o n . Y o u ' l l n e e d t o u s e e x a c t l y t h e s a m e h a r d w a r e a n d P y T o r c h v e r s i o n f o r f u l l r e p r o d u c i b i l i t y . < / h f o p t i o n > < / h f o p t i o n s > # # D e t e r m i n i s t i c a l g o r i t h m s Y o u c a n a l s o c o n f i g u r e P y T o r c h t o u s e d e t e r m i n i s t i c a l g o r i t h m s t o c r e a t e a r e p r o d u c i b l e p i p e l i n e . T h e d o w n s i d e i s t h a t d e t e r m i n i s t i c a l g o r i t h m s m a y b e s l o w e r t h a n n o n - d e t e r m i n i s t i c o n e s a n d y o u m a y o b s e r v e a d e c r e a s e i n p e r f o r m a n c e . N o n - d e t e r m i n i s t i c b e h a v i o r o c c u r s w h e n o p e r a t i o n s a r e l a u n c h e d i n m o r e t h a n o n e C U D A s t r e a m . T o a v o i d t h i s , s e t t h e e n v i r o n m e n t v a r i a b l e [ C U B L A S _ W O R K S P A C E _ C O N F I G ] ( h t t p s : / / d o c s . n v i d i a . c o m / c u d a / c u b l a s / i n d e x . h t m l # r e s u l t s - r e p r o d u c i b i l i t y ) t o ` : 1 6 : 8 ` t o o n l y u s e o n e b u f f e r s i z e d u r i n g r u n t i m e . P y T o r c h t y p i c a l l y b e n c h m a r k s m u l t i p l e a l g o r i t h m s t o s e l e c t t h e f a s t e s t o n e , b u t i f y o u w a n t r e p r o d u c i b i l i t y , y o u s h o u l d d i s a b l e t h i s f e a t u r e b e c a u s e t h e b e n c h m a r k m a y s e l e c t d i f f e r e n t a l g o r i t h m s e a c h t i m e . S e t D i f f u s e r s [ e n a b l e _ f u l l _ d e t e r m i n i s m ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 1 4 2 f 3 5 3 e 1 c 6 3 8 f f 1 d 2 0 b d 7 9 8 4 0 2 b 6 8 f 7 2 c 1 e b b d d / s r c / d i f f u s e r s / u t i l s / t e s t i n g _ u t i l s . p y # L 8 6 1 ) t o e n a b l e d e t e r m i n i s t i c a l g o r i t h m s . ` ` ` p y e n a b l e _ f u l l _ d e t e r m i n i s m ( ) ` ` ` N o w w h e n y o u r u n t h e s a m e p i p e l i n e t w i c e , y o u ' l l g e t i d e n t i c a l r e s u l t s . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D D I M S c h e d u l e r , S t a b l e D i f f u s i o n P i p e l i n e p i p e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) p i p e . s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) g = t o r c h . G e n e r a t o r ( d e v i c e = " c u d a " ) p r o m p t = " A b e a r i s p l a y i n g a g u i t a r o n T i m e s S q u a r e " g . m a n u a l _ s e e d ( 0 ) r e s u l t 1 = p i p e ( p r o m p t = p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 5 0 , g e n e r a t o r = g , o u t p u t _ t y p e = " l a t e n t " ) . i m a g e s g . m a n u a l _ s e e d ( 0 ) r e s u l t 2 = p i p e ( p r o m p t = p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 5 0 , g e n e r a t o r = g , o u t p u t _ t y p e = " l a t e n t " ) . i m a g e s p r i n t ( " L _ i n f d i s t = " , a b s ( r e s u l t 1 - r e s u l t 2 ) . m a x ( ) ) " L _ i n f d i s t = t e n s o r ( 0 . , d e v i c e = ' c u d a : 0 ' ) " ` ` ` # # D e t e r m i n i s t i c b a t c h g e n e r a t i o n A p r a c t i c a l a p p l i c a t i o n o f c r e a t i n g r e p r o d u c i b l e p i p e l i n e s i s * d e t e r m i n i s t i c b a t c h g e n e r a t i o n * . Y o u g e n e r a t e a b a t c h o f i m a g e s a n d s e l e c t o n e i m a g e t o i m p r o v e w i t h a m o r e d e t a i l e d p r o m p t . T h e m a i n i d e a i s t o p a s s a l i s t o f [ G e n e r a t o r ' s ] ( h t t p s : / / p y t o r c h . o r g / d o c s / s t a b l e / g e n e r a t e d / t o r c h . G e n e r a t o r . h t m l ) t o t h e p i p e l i n e a n d t i e e a c h ` G e n e r a t o r ` t o a s e e d s o y o u c a n r e u s e i t . L e t ' s u s e t h e [ s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ) c h e c k p o i n t a n d g e n e r a t e a b a t c h o f i m a g e s . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t m a k e _ i m a g e _ g r i d p i p e l i n e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e = p i p e l i n e . t o ( " c u d a " ) ` ` ` D e f i n e f o u r d i f f e r e n t ` G e n e r a t o r ` s a n d a s s i g n e a c h ` G e n e r a t o r ` a s e e d ( ` 0 ` t o ` 3 ` ) . T h e n g e n e r a t e a b a t c h o f i m a g e s a n d p i c k o n e t o i t e r a t e o n . > [ ! W A R N I N G ] > U s e a l i s t c o m p r e h e n s i o n t h a t i t e r a t e s o v e r t h e b a t c h s i z e s p e c i f i e d i n ` r a n g e ( ) ` t o c r e a t e a u n i q u e ` G e n e r a t o r ` o b j e c t f o r e a c h i m a g e i n t h e b a t c h . I f y o u m u l t i p l y t h e ` G e n e r a t o r ` b y t h e b a t c h s i z e i n t e g e r , i t o n l y c r e a t e s * o n e * ` G e n e r a t o r ` o b j e c t t h a t i s u s e d s e q u e n t i a l l y f o r e a c h i m a g e i n t h e b a t c h . > > ` ` ` p y > [ t o r c h . G e n e r a t o r ( ) . m a n u a l _ s e e d ( s e e d ) ] * 4 > ` ` ` ` ` ` p y t h o n g e n e r a t o r = [ t o r c h . G e n e r a t o r ( d e v i c e = " c u d a " ) . m a n u a l _ s e e d ( i ) f o r i i n r a n g e ( 4 ) ] p r o m p t = " L a b r a d o r i n t h e s t y l e o f V e r m e e r " i m a g e s = p i p e l i n e ( p r o m p t , g e n e r a t o r = g e n e r a t o r , n u m _ i m a g e s _ p e r _ p r o m p t = 4 ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( i m a g e s , r o w s = 2 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d i f f u s e r s - i m a g e s - d o c s / r e s o l v e / m a i n / r e u s a b e _ s e e d s . j p g " / > < / d i v > L e t ' s i m p r o v e t h e f i r s t i m a g e ( y o u c a n c h o o s e a n y i m a g e y o u w a n t ) w h i c h c o r r e s p o n d s t o t h e ` G e n e r a t o r ` w i t h s e e d ` 0 ` . A d d s o m e a d d i t i o n a l t e x t t o y o u r p r o m p t a n d t h e n m a k e s u r e y o u r e u s e t h e s a m e ` G e n e r a t o r ` w i t h s e e d ` 0 ` . A l l t h e g e n e r a t e d i m a g e s s h o u l d r e s e m b l e t h e f i r s t i m a g e . ` ` ` p y t h o n p r o m p t = [ p r o m p t + t f o r t i n [ " , h i g h l y r e a l i s t i c " , " , a r t s y " , " , t r e n d i n g " , " , c o l o r f u l " ] ] g e n e r a t o r = [ t o r c h . G e n e r a t o r ( d e v i c e = " c u d a " ) . m a n u a l _ s e e d ( 0 ) f o r i i n r a n g e ( 4 ) ] i m a g e s = p i p e l i n e ( p r o m p t , g e n e r a t o r = g e n e r a t o r ) . i m a g e s m a k e _ i m a g e _ g r i d ( i m a g e s , r o w s = 2 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d i f f u s e r s - i m a g e s - d o c s / r e s o l v e / m a i n / r e u s a b e _ s e e d s _ 2 . j p g " / > < / d i v > # O v e r v i e w T h e i n f e r e n c e p i p e l i n e s u p p o r t s a n d e n a b l e s a w i d e r a n g e o f t e c h n i q u e s t h a t a r e d i v i d e d i n t o t w o c a t e g o r i e s : * P i p e l i n e f u n c t i o n a l i t y : t h e s e t e c h n i q u e s m o d i f y t h e p i p e l i n e o r e x t e n d i t f o r o t h e r a p p l i c a t i o n s . F o r e x a m p l e , p i p e l i n e c a l l b a c k s a d d n e w f e a t u r e s t o a p i p e l i n e a n d a p i p e l i n e c a n a l s o b e e x t e n d e d f o r d i s t r i b u t e d i n f e r e n c e . * I m p r o v e i n f e r e n c e q u a l i t y : t h e s e t e c h n i q u e s i n c r e a s e t h e v i s u a l q u a l i t y o f t h e g e n e r a t e d i m a g e s . F o r e x a m p l e , y o u c a n e n h a n c e y o u r p r o m p t s w i t h G P T 2 t o c r e a t e b e t t e r i m a g e s w i t h l o w e r e f f o r t . # I m a g e - t o - i m a g e I m a g e - t o - i m a g e i s s i m i l a r t o [ t e x t - t o - i m a g e ] ( c o n d i t i o n a l _ i m a g e _ g e n e r a t i o n ) , b u t i n a d d i t i o n t o a p r o m p t , y o u c a n a l s o p a s s a n i n i t i a l i m a g e a s a s t a r t i n g p o i n t f o r t h e d i f f u s i o n p r o c e s s . T h e i n i t i a l i m a g e i s e n c o d e d t o l a t e n t s p a c e a n d n o i s e i s a d d e d t o i t . T h e n t h e l a t e n t d i f f u s i o n m o d e l t a k e s a p r o m p t a n d t h e n o i s y l a t e n t i m a g e , p r e d i c t s t h e a d d e d n o i s e , a n d r e m o v e s t h e p r e d i c t e d n o i s e f r o m t h e i n i t i a l l a t e n t i m a g e t o g e t t h e n e w l a t e n t i m a g e . L a s t l y , a d e c o d e r d e c o d e s t h e n e w l a t e n t i m a g e b a c k i n t o a n i m a g e . W i t h ๐Ÿค— D i f f u s e r s , t h i s i s a s e a s y a s 1 - 2 - 3 : 1 . L o a d a c h e c k p o i n t i n t o t h e [ A u t o P i p e l i n e F o r I m a g e 2 I m a g e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a u t o _ p i p e l i n e # d i f f u s e r s . A u t o P i p e l i n e F o r I m a g e 2 I m a g e ) c l a s s ; t h i s p i p e l i n e a u t o m a t i c a l l y h a n d l e s l o a d i n g t h e c o r r e c t p i p e l i n e c l a s s b a s e d o n t h e c h e c k p o i n t : ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I m a g e 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - d e c o d e r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) ` ` ` < T i p > Y o u ' l l n o t i c e t h r o u g h o u t t h e g u i d e , w e u s e [ e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ) a n d [ e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ) , t o s a v e m e m o r y a n d i n c r e a s e i n f e r e n c e s p e e d . I f y o u ' r e u s i n g P y T o r c h 2 . 0 , t h e n y o u d o n ' t n e e d t o c a l l [ e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ) o n y o u r p i p e l i n e b e c a u s e i t ' l l a l r e a d y b e u s i n g P y T o r c h 2 . 0 ' s n a t i v e [ s c a l e d - d o t p r o d u c t a t t e n t i o n ] ( . . / o p t i m i z a t i o n / t o r c h 2 . 0 # s c a l e d - d o t - p r o d u c t - a t t e n t i o n ) . < / T i p > 2 . L o a d a n i m a g e t o p a s s t o t h e p i p e l i n e : ` ` ` p y i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c a t . p n g " ) ` ` ` 3 . P a s s a p r o m p t a n d i m a g e t o t h e p i p e l i n e t o g e n e r a t e a n i m a g e : ` ` ` p y p r o m p t = " c a t w i z a r d , g a n d a l f , l o r d o f t h e r i n g s , d e t a i l e d , f a n t a s y , c u t e , a d o r a b l e , P i x a r , D i s n e y , 8 k " i m a g e = p i p e l i n e ( p r o m p t , i m a g e = i n i t _ i m a g e ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c a t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > i n i t i a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > # # P o p u l a r m o d e l s T h e m o s t p o p u l a r i m a g e - t o - i m a g e m o d e l s a r e [ S t a b l e D i f f u s i o n v 1 . 5 ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ) , [ S t a b l e D i f f u s i o n X L ( S D X L ) ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 ) , a n d [ K a n d i n s k y 2 . 2 ] ( h t t p s : / / h u g g i n g f a c e . c o / k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - d e c o d e r ) . T h e r e s u l t s f r o m t h e S t a b l e D i f f u s i o n a n d K a n d i n s k y m o d e l s v a r y d u e t o t h e i r a r c h i t e c t u r e d i f f e r e n c e s a n d t r a i n i n g p r o c e s s ; y o u c a n g e n e r a l l y e x p e c t S D X L t o p r o d u c e h i g h e r q u a l i t y i m a g e s t h a n S t a b l e D i f f u s i o n v 1 . 5 . L e t ' s t a k e a q u i c k l o o k a t h o w t o u s e e a c h o f t h e s e m o d e l s a n d c o m p a r e t h e i r r e s u l t s . # # # S t a b l e D i f f u s i o n v 1 . 5 S t a b l e D i f f u s i o n v 1 . 5 i s a l a t e n t d i f f u s i o n m o d e l i n i t i a l i z e d f r o m a n e a r l i e r c h e c k p o i n t , a n d f u r t h e r f i n e t u n e d f o r 5 9 5 K s t e p s o n 5 1 2 x 5 1 2 i m a g e s . T o u s e t h i s p i p e l i n e f o r i m a g e - t o - i m a g e , y o u ' l l n e e d t o p r e p a r e a n i n i t i a l i m a g e t o p a s s t o t h e p i p e l i n e . T h e n y o u c a n p a s s a p r o m p t a n d t h e i m a g e t o t h e p i p e l i n e t o g e n e r a t e a n e w i m a g e : ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I m a g e 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t m a k e _ i m a g e _ g r i d , l o a d _ i m a g e p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # p r e p a r e i m a g e u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - i n i t . p n g " i n i t _ i m a g e = l o a d _ i m a g e ( u r l ) p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " # p a s s p r o m p t a n d i m a g e t o p i p e l i n e i m a g e = p i p e l i n e ( p r o m p t , i m a g e = i n i t _ i m a g e ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - i n i t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > i n i t i a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - s d v 1 . 5 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > # # # S t a b l e D i f f u s i o n X L ( S D X L ) S D X L i s a m o r e p o w e r f u l v e r s i o n o f t h e S t a b l e D i f f u s i o n m o d e l . I t u s e s a l a r g e r b a s e m o d e l , a n d a n a d d i t i o n a l r e f i n e r m o d e l t o i n c r e a s e t h e q u a l i t y o f t h e b a s e m o d e l ' s o u t p u t . R e a d t h e [ S D X L ] ( s d x l ) g u i d e f o r a m o r e d e t a i l e d w a l k t h r o u g h o f h o w t o u s e t h i s m o d e l , a n d o t h e r t e c h n i q u e s i t u s e s t o p r o d u c e h i g h q u a l i t y i m a g e s . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I m a g e 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t m a k e _ i m a g e _ g r i d , l o a d _ i m a g e p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - r e f i n e r - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # p r e p a r e i m a g e u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - s d x l - i n i t . p n g " i n i t _ i m a g e = l o a d _ i m a g e ( u r l ) p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " # p a s s p r o m p t a n d i m a g e t o p i p e l i n e i m a g e = p i p e l i n e ( p r o m p t , i m a g e = i n i t _ i m a g e , s t r e n g t h = 0 . 5 ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - s d x l - i n i t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > i n i t i a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - s d x l . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > # # # K a n d i n s k y 2 . 2 T h e K a n d i n s k y m o d e l i s d i f f e r e n t f r o m t h e S t a b l e D i f f u s i o n m o d e l s b e c a u s e i t u s e s a n i m a g e p r i o r m o d e l t o c r e a t e i m a g e e m b e d d i n g s . T h e e m b e d d i n g s h e l p c r e a t e a b e t t e r a l i g n m e n t b e t w e e n t e x t a n d i m a g e s , a l l o w i n g t h e l a t e n t d i f f u s i o n m o d e l t o g e n e r a t e b e t t e r i m a g e s . T h e s i m p l e s t w a y t o u s e K a n d i n s k y 2 . 2 i s : ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I m a g e 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t m a k e _ i m a g e _ g r i d , l o a d _ i m a g e p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - d e c o d e r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # p r e p a r e i m a g e u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - i n i t . p n g " i n i t _ i m a g e = l o a d _ i m a g e ( u r l ) p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " # p a s s p r o m p t a n d i m a g e t o p i p e l i n e i m a g e = p i p e l i n e ( p r o m p t , i m a g e = i n i t _ i m a g e ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - i n i t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > i n i t i a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - k a n d i n s k y . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > # # C o n f i g u r e p i p e l i n e p a r a m e t e r s T h e r e a r e s e v e r a l i m p o r t a n t p a r a m e t e r s y o u c a n c o n f i g u r e i n t h e p i p e l i n e t h a t ' l l a f f e c t t h e i m a g e g e n e r a t i o n p r o c e s s a n d i m a g e q u a l i t y . L e t ' s t a k e a c l o s e r l o o k a t w h a t t h e s e p a r a m e t e r s d o a n d h o w c h a n g i n g t h e m a f f e c t s t h e o u t p u t . # # # S t r e n g t h ` s t r e n g t h ` i s o n e o f t h e m o s t i m p o r t a n t p a r a m e t e r s t o c o n s i d e r a n d i t ' l l h a v e a h u g e i m p a c t o n y o u r g e n e r a t e d i m a g e . I t d e t e r m i n e s h o w m u c h t h e g e n e r a t e d i m a g e r e s e m b l e s t h e i n i t i a l i m a g e . I n o t h e r w o r d s : - ๐Ÿ“ˆ a h i g h e r ` s t r e n g t h ` v a l u e g i v e s t h e m o d e l m o r e " c r e a t i v i t y " t o g e n e r a t e a n i m a g e t h a t ' s d i f f e r e n t f r o m t h e i n i t i a l i m a g e ; a ` s t r e n g t h ` v a l u e o f 1 . 0 m e a n s t h e i n i t i a l i m a g e i s m o r e o r l e s s i g n o r e d - ๐Ÿ“‰ a l o w e r ` s t r e n g t h ` v a l u e m e a n s t h e g e n e r a t e d i m a g e i s m o r e s i m i l a r t o t h e i n i t i a l i m a g e T h e ` s t r e n g t h ` a n d ` n u m _ i n f e r e n c e _ s t e p s ` p a r a m e t e r s a r e r e l a t e d b e c a u s e ` s t r e n g t h ` d e t e r m i n e s t h e n u m b e r o f n o i s e s t e p s t o a d d . F o r e x a m p l e , i f t h e ` n u m _ i n f e r e n c e _ s t e p s ` i s 5 0 a n d ` s t r e n g t h ` i s 0 . 8 , t h e n t h i s m e a n s a d d i n g 4 0 ( 5 0 * 0 . 8 ) s t e p s o f n o i s e t o t h e i n i t i a l i m a g e a n d t h e n d e n o i s i n g f o r 4 0 s t e p s t o g e t t h e n e w l y g e n e r a t e d i m a g e . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I m a g e 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t m a k e _ i m a g e _ g r i d , l o a d _ i m a g e p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # p r e p a r e i m a g e u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - i n i t . p n g " i n i t _ i m a g e = l o a d _ i m a g e ( u r l ) p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " # p a s s p r o m p t a n d i m a g e t o p i p e l i n e i m a g e = p i p e l i n e ( p r o m p t , i m a g e = i n i t _ i m a g e , s t r e n g t h = 0 . 8 ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - s t r e n g t h - 0 . 4 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > s t r e n g t h = 0 . 4 < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - s t r e n g t h - 0 . 6 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > s t r e n g t h = 0 . 6 < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - s t r e n g t h - 1 . 0 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > s t r e n g t h = 1 . 0 < / f i g c a p t i o n > < / d i v > < / d i v > # # # G u i d a n c e s c a l e T h e ` g u i d a n c e _ s c a l e ` p a r a m e t e r i s u s e d t o c o n t r o l h o w c l o s e l y a l i g n e d t h e g e n e r a t e d i m a g e a n d t e x t p r o m p t a r e . A h i g h e r ` g u i d a n c e _ s c a l e ` v a l u e m e a n s y o u r g e n e r a t e d i m a g e i s m o r e a l i g n e d w i t h t h e p r o m p t , w h i l e a l o w e r ` g u i d a n c e _ s c a l e ` v a l u e m e a n s y o u r g e n e r a t e d i m a g e h a s m o r e s p a c e t o d e v i a t e f r o m t h e p r o m p t . Y o u c a n c o m b i n e ` g u i d a n c e _ s c a l e ` w i t h ` s t r e n g t h ` f o r e v e n m o r e p r e c i s e c o n t r o l o v e r h o w e x p r e s s i v e t h e m o d e l i s . F o r e x a m p l e , c o m b i n e a h i g h ` s t r e n g t h + g u i d a n c e _ s c a l e ` f o r m a x i m u m c r e a t i v i t y o r u s e a c o m b i n a t i o n o f l o w ` s t r e n g t h ` a n d l o w ` g u i d a n c e _ s c a l e ` t o g e n e r a t e a n i m a g e t h a t r e s e m b l e s t h e i n i t i a l i m a g e b u t i s n o t a s s t r i c t l y b o u n d t o t h e p r o m p t . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I m a g e 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t m a k e _ i m a g e _ g r i d , l o a d _ i m a g e p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # p r e p a r e i m a g e u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - i n i t . p n g " i n i t _ i m a g e = l o a d _ i m a g e ( u r l ) p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " # p a s s p r o m p t a n d i m a g e t o p i p e l i n e i m a g e = p i p e l i n e ( p r o m p t , i m a g e = i n i t _ i m a g e , g u i d a n c e _ s c a l e = 8 . 0 ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - g u i d a n c e - 0 . 1 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g u i d a n c e _ s c a l e = 0 . 1 < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - g u i d a n c e - 3 . 0 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g u i d a n c e _ s c a l e = 5 . 0 < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - g u i d a n c e - 7 . 5 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g u i d a n c e _ s c a l e = 1 0 . 0 < / f i g c a p t i o n > < / d i v > < / d i v > # # # N e g a t i v e p r o m p t A n e g a t i v e p r o m p t c o n d i t i o n s t h e m o d e l t o * n o t * i n c l u d e t h i n g s i n a n i m a g e , a n d i t c a n b e u s e d t o i m p r o v e i m a g e q u a l i t y o r m o d i f y a n i m a g e . F o r e x a m p l e , y o u c a n i m p r o v e i m a g e q u a l i t y b y i n c l u d i n g n e g a t i v e p r o m p t s l i k e " p o o r d e t a i l s " o r " b l u r r y " t o e n c o u r a g e t h e m o d e l t o g e n e r a t e a h i g h e r q u a l i t y i m a g e . O r y o u c a n m o d i f y a n i m a g e b y s p e c i f y i n g t h i n g s t o e x c l u d e f r o m a n i m a g e . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I m a g e 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t m a k e _ i m a g e _ g r i d , l o a d _ i m a g e p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - r e f i n e r - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # p r e p a r e i m a g e u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - i n i t . p n g " i n i t _ i m a g e = l o a d _ i m a g e ( u r l ) p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " n e g a t i v e _ p r o m p t = " u g l y , d e f o r m e d , d i s f i g u r e d , p o o r d e t a i l s , b a d a n a t o m y " # p a s s p r o m p t a n d i m a g e t o p i p e l i n e i m a g e = p i p e l i n e ( p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , i m a g e = i n i t _ i m a g e ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - n e g a t i v e - 1 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > n e g a t i v e _ p r o m p t = " u g l y , d e f o r m e d , d i s f i g u r e d , p o o r d e t a i l s , b a d a n a t o m y " < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - n e g a t i v e - 2 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > n e g a t i v e _ p r o m p t = " j u n g l e " < / f i g c a p t i o n > < / d i v > < / d i v > # # C h a i n e d i m a g e - t o - i m a g e p i p e l i n e s T h e r e a r e s o m e o t h e r i n t e r e s t i n g w a y s y o u c a n u s e a n i m a g e - t o - i m a g e p i p e l i n e a s i d e f r o m j u s t g e n e r a t i n g a n i m a g e ( a l t h o u g h t h a t i s p r e t t y c o o l t o o ) . Y o u c a n t a k e i t a s t e p f u r t h e r a n d c h a i n i t w i t h o t h e r p i p e l i n e s . # # # T e x t - t o - i m a g e - t o - i m a g e C h a i n i n g a t e x t - t o - i m a g e a n d i m a g e - t o - i m a g e p i p e l i n e a l l o w s y o u t o g e n e r a t e a n i m a g e f r o m t e x t a n d u s e t h e g e n e r a t e d i m a g e a s t h e i n i t i a l i m a g e f o r t h e i m a g e - t o - i m a g e p i p e l i n e . T h i s i s u s e f u l i f y o u w a n t t o g e n e r a t e a n i m a g e e n t i r e l y f r o m s c r a t c h . F o r e x a m p l e , l e t ' s c h a i n a S t a b l e D i f f u s i o n a n d a K a n d i n s k y m o d e l . S t a r t b y g e n e r a t i n g a n i m a g e w i t h t h e t e x t - t o - i m a g e p i p e l i n e : ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e , A u t o P i p e l i n e F o r I m a g e 2 I m a g e i m p o r t t o r c h f r o m d i f f u s e r s . u t i l s i m p o r t m a k e _ i m a g e _ g r i d p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) t e x t 2 i m a g e = p i p e l i n e ( " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " ) . i m a g e s [ 0 ] t e x t 2 i m a g e ` ` ` N o w y o u c a n p a s s t h i s g e n e r a t e d i m a g e t o t h e i m a g e - t o - i m a g e p i p e l i n e : ` ` ` p y p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - d e c o d e r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) i m a g e 2 i m a g e = p i p e l i n e ( " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " , i m a g e = t e x t 2 i m a g e ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ t e x t 2 i m a g e , i m a g e 2 i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` # # # I m a g e - t o - i m a g e - t o - i m a g e Y o u c a n a l s o c h a i n m u l t i p l e i m a g e - t o - i m a g e p i p e l i n e s t o g e t h e r t o c r e a t e m o r e i n t e r e s t i n g i m a g e s . T h i s c a n b e u s e f u l f o r i t e r a t i v e l y p e r f o r m i n g s t y l e t r a n s f e r o n a n i m a g e , g e n e r a t i n g s h o r t G I F s , r e s t o r i n g c o l o r t o a n i m a g e , o r r e s t o r i n g m i s s i n g a r e a s o f a n i m a g e . S t a r t b y g e n e r a t i n g a n i m a g e : ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I m a g e 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t m a k e _ i m a g e _ g r i d , l o a d _ i m a g e p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # p r e p a r e i m a g e u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - i n i t . p n g " i n i t _ i m a g e = l o a d _ i m a g e ( u r l ) p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " # p a s s p r o m p t a n d i m a g e t o p i p e l i n e i m a g e = p i p e l i n e ( p r o m p t , i m a g e = i n i t _ i m a g e , o u t p u t _ t y p e = " l a t e n t " ) . i m a g e s [ 0 ] ` ` ` < T i p > I t i s i m p o r t a n t t o s p e c i f y ` o u t p u t _ t y p e = " l a t e n t " ` i n t h e p i p e l i n e t o k e e p a l l t h e o u t p u t s i n l a t e n t s p a c e t o a v o i d a n u n n e c e s s a r y d e c o d e - e n c o d e s t e p . T h i s o n l y w o r k s i f t h e c h a i n e d p i p e l i n e s a r e u s i n g t h e s a m e V A E . < / T i p > P a s s t h e l a t e n t o u t p u t f r o m t h i s p i p e l i n e t o t h e n e x t p i p e l i n e t o g e n e r a t e a n i m a g e i n a [ c o m i c b o o k a r t s t y l e ] ( h t t p s : / / h u g g i n g f a c e . c o / o g k a l u / C o m i c - D i f f u s i o n ) : ` ` ` p y p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " o g k a l u / C o m i c - D i f f u s i o n " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # n e e d t o i n c l u d e t h e t o k e n " c h a r l i e b o a r t s t y l e " i n t h e p r o m p t t o u s e t h i s c h e c k p o i n t i m a g e = p i p e l i n e ( " A s t r o n a u t i n a j u n g l e , c h a r l i e b o a r t s t y l e " , i m a g e = i m a g e , o u t p u t _ t y p e = " l a t e n t " ) . i m a g e s [ 0 ] ` ` ` R e p e a t o n e m o r e t i m e t o g e n e r a t e t h e f i n a l i m a g e i n a [ p i x e l a r t s t y l e ] ( h t t p s : / / h u g g i n g f a c e . c o / k o h b a n y e / p i x e l - a r t - s t y l e ) : ` ` ` p y p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " k o h b a n y e / p i x e l - a r t - s t y l e " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # n e e d t o i n c l u d e t h e t o k e n " p i x e l a r t s t y l e " i n t h e p r o m p t t o u s e t h i s c h e c k p o i n t i m a g e = p i p e l i n e ( " A s t r o n a u t i n a j u n g l e , p i x e l a r t s t y l e " , i m a g e = i m a g e ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` # # # I m a g e - t o - u p s c a l e r - t o - s u p e r - r e s o l u t i o n A n o t h e r w a y y o u c a n c h a i n y o u r i m a g e - t o - i m a g e p i p e l i n e i s w i t h a n u p s c a l e r a n d s u p e r - r e s o l u t i o n p i p e l i n e t o r e a l l y i n c r e a s e t h e l e v e l o f d e t a i l s i n a n i m a g e . S t a r t w i t h a n i m a g e - t o - i m a g e p i p e l i n e : ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I m a g e 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t m a k e _ i m a g e _ g r i d , l o a d _ i m a g e p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # p r e p a r e i m a g e u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - i n i t . p n g " i n i t _ i m a g e = l o a d _ i m a g e ( u r l ) p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " # p a s s p r o m p t a n d i m a g e t o p i p e l i n e i m a g e _ 1 = p i p e l i n e ( p r o m p t , i m a g e = i n i t _ i m a g e , o u t p u t _ t y p e = " l a t e n t " ) . i m a g e s [ 0 ] ` ` ` < T i p > I t i s i m p o r t a n t t o s p e c i f y ` o u t p u t _ t y p e = " l a t e n t " ` i n t h e p i p e l i n e t o k e e p a l l t h e o u t p u t s i n * l a t e n t * s p a c e t o a v o i d a n u n n e c e s s a r y d e c o d e - e n c o d e s t e p . T h i s o n l y w o r k s i f t h e c h a i n e d p i p e l i n e s a r e u s i n g t h e s a m e V A E . < / T i p > C h a i n i t t o a n u p s c a l e r p i p e l i n e t o i n c r e a s e t h e i m a g e r e s o l u t i o n : ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n L a t e n t U p s c a l e P i p e l i n e u p s c a l e r = S t a b l e D i f f u s i o n L a t e n t U p s c a l e P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s d - x 2 - l a t e n t - u p s c a l e r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) u p s c a l e r . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) u p s c a l e r . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) i m a g e _ 2 = u p s c a l e r ( p r o m p t , i m a g e = i m a g e _ 1 , o u t p u t _ t y p e = " l a t e n t " ) . i m a g e s [ 0 ] ` ` ` F i n a l l y , c h a i n i t t o a s u p e r - r e s o l u t i o n p i p e l i n e t o f u r t h e r e n h a n c e t h e r e s o l u t i o n : ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n U p s c a l e P i p e l i n e s u p e r _ r e s = S t a b l e D i f f u s i o n U p s c a l e P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x 4 - u p s c a l e r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) s u p e r _ r e s . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) s u p e r _ r e s . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) i m a g e _ 3 = s u p e r _ r e s ( p r o m p t , i m a g e = i m a g e _ 2 ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , i m a g e _ 3 . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) ] , r o w s = 1 , c o l s = 2 ) ` ` ` # # C o n t r o l i m a g e g e n e r a t i o n T r y i n g t o g e n e r a t e a n i m a g e t h a t l o o k s e x a c t l y t h e w a y y o u w a n t c a n b e d i f f i c u l t , w h i c h i s w h y c o n t r o l l e d g e n e r a t i o n t e c h n i q u e s a n d m o d e l s a r e s o u s e f u l . W h i l e y o u c a n u s e t h e ` n e g a t i v e _ p r o m p t ` t o p a r t i a l l y c o n t r o l i m a g e g e n e r a t i o n , t h e r e a r e m o r e r o b u s t m e t h o d s l i k e p r o m p t w e i g h t i n g a n d C o n t r o l N e t s . # # # P r o m p t w e i g h t i n g P r o m p t w e i g h t i n g a l l o w s y o u t o s c a l e t h e r e p r e s e n t a t i o n o f e a c h c o n c e p t i n a p r o m p t . F o r e x a m p l e , i n a p r o m p t l i k e " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " , y o u c a n c h o o s e t o i n c r e a s e o r d e c r e a s e t h e e m b e d d i n g s o f " a s t r o n a u t " a n d " j u n g l e " . T h e [ C o m p e l ] ( h t t p s : / / g i t h u b . c o m / d a m i a n 0 8 1 5 / c o m p e l ) l i b r a r y p r o v i d e s a s i m p l e s y n t a x f o r a d j u s t i n g p r o m p t w e i g h t s a n d g e n e r a t i n g t h e e m b e d d i n g s . Y o u c a n l e a r n h o w t o c r e a t e t h e e m b e d d i n g s i n t h e [ P r o m p t w e i g h t i n g ] ( w e i g h t e d _ p r o m p t s ) g u i d e . [ A u t o P i p e l i n e F o r I m a g e 2 I m a g e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a u t o _ p i p e l i n e # d i f f u s e r s . A u t o P i p e l i n e F o r I m a g e 2 I m a g e ) h a s a ` p r o m p t _ e m b e d s ` ( a n d ` n e g a t i v e _ p r o m p t _ e m b e d s ` i f y o u ' r e u s i n g a n e g a t i v e p r o m p t ) p a r a m e t e r w h e r e y o u c a n p a s s t h e e m b e d d i n g s w h i c h r e p l a c e s t h e ` p r o m p t ` p a r a m e t e r . ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I m a g e 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) i m a g e = p i p e l i n e ( p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , # g e n e r a t e d f r o m C o m p e l n e g a t i v e _ p r o m p t _ e m b e d s = n e g a t i v e _ p r o m p t _ e m b e d s , # g e n e r a t e d f r o m C o m p e l i m a g e = i n i t _ i m a g e , ) . i m a g e s [ 0 ] ` ` ` # # # C o n t r o l N e t C o n t r o l N e t s p r o v i d e a m o r e f l e x i b l e a n d a c c u r a t e w a y t o c o n t r o l i m a g e g e n e r a t i o n b e c a u s e y o u c a n u s e a n a d d i t i o n a l c o n d i t i o n i n g i m a g e . T h e c o n d i t i o n i n g i m a g e c a n b e a c a n n y i m a g e , d e p t h m a p , i m a g e s e g m e n t a t i o n , a n d e v e n s c r i b b l e s ! W h a t e v e r t y p e o f c o n d i t i o n i n g i m a g e y o u c h o o s e , t h e C o n t r o l N e t g e n e r a t e s a n i m a g e t h a t p r e s e r v e s t h e i n f o r m a t i o n i n i t . F o r e x a m p l e , l e t ' s c o n d i t i o n a n i m a g e w i t h a d e p t h m a p t o k e e p t h e s p a t i a l i n f o r m a t i o n i n t h e i m a g e . ` ` ` p y f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d # p r e p a r e i m a g e u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - i n i t . p n g " i n i t _ i m a g e = l o a d _ i m a g e ( u r l ) i n i t _ i m a g e = i n i t _ i m a g e . r e s i z e ( ( 9 5 8 , 9 6 0 ) ) # r e s i z e t o d e p t h i m a g e d i m e n s i o n s d e p t h _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / l l l y a s v i e l / c o n t r o l _ v 1 1 f 1 p _ s d 1 5 _ d e p t h / r e s o l v e / m a i n / i m a g e s / c o n t r o l . p n g " ) m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , d e p t h _ i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` L o a d a C o n t r o l N e t m o d e l c o n d i t i o n e d o n d e p t h m a p s a n d t h e [ A u t o P i p e l i n e F o r I m a g e 2 I m a g e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a u t o _ p i p e l i n e # d i f f u s e r s . A u t o P i p e l i n e F o r I m a g e 2 I m a g e ) : ` ` ` p y f r o m d i f f u s e r s i m p o r t C o n t r o l N e t M o d e l , A u t o P i p e l i n e F o r I m a g e 2 I m a g e i m p o r t t o r c h c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " l l l y a s v i e l / c o n t r o l _ v 1 1 f 1 p _ s d 1 5 _ d e p t h " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , c o n t r o l n e t = c o n t r o l n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) ` ` ` N o w g e n e r a t e a n e w i m a g e c o n d i t i o n e d o n t h e d e p t h m a p , i n i t i a l i m a g e , a n d p r o m p t : ` ` ` p y p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " i m a g e _ c o n t r o l _ n e t = p i p e l i n e ( p r o m p t , i m a g e = i n i t _ i m a g e , c o n t r o l _ i m a g e = d e p t h _ i m a g e ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , d e p t h _ i m a g e , i m a g e _ c o n t r o l _ n e t ] , r o w s = 1 , c o l s = 3 ) ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - i n i t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > i n i t i a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / l l l y a s v i e l / c o n t r o l _ v 1 1 f 1 p _ s d 1 5 _ d e p t h / r e s o l v e / m a i n / i m a g e s / c o n t r o l . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > d e p t h i m a g e < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - c o n t r o l n e t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > C o n t r o l N e t i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > L e t ' s a p p l y a n e w [ s t y l e ] ( h t t p s : / / h u g g i n g f a c e . c o / n i t r o s o c k e / e l d e n - r i n g - d i f f u s i o n ) t o t h e i m a g e g e n e r a t e d f r o m t h e C o n t r o l N e t b y c h a i n i n g i t w i t h a n i m a g e - t o - i m a g e p i p e l i n e : ` ` ` p y p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " n i t r o s o c k e / e l d e n - r i n g - d i f f u s i o n " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) p r o m p t = " e l d e n r i n g s t y l e a s t r o n a u t i n a j u n g l e " # i n c l u d e t h e t o k e n " e l d e n r i n g s t y l e " i n t h e p r o m p t n e g a t i v e _ p r o m p t = " u g l y , d e f o r m e d , d i s f i g u r e d , p o o r d e t a i l s , b a d a n a t o m y " i m a g e _ e l d e n _ r i n g = p i p e l i n e ( p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , i m a g e = i m a g e _ c o n t r o l _ n e t , s t r e n g t h = 0 . 4 5 , g u i d a n c e _ s c a l e = 1 0 . 5 ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , d e p t h _ i m a g e , i m a g e _ c o n t r o l _ n e t , i m a g e _ e l d e n _ r i n g ] , r o w s = 2 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - e l d e n - r i n g . p n g " > < / d i v > # # O p t i m i z e R u n n i n g d i f f u s i o n m o d e l s i s c o m p u t a t i o n a l l y e x p e n s i v e a n d i n t e n s i v e , b u t w i t h a f e w o p t i m i z a t i o n t r i c k s , i t i s e n t i r e l y p o s s i b l e t o r u n t h e m o n c o n s u m e r a n d f r e e - t i e r G P U s . F o r e x a m p l e , y o u c a n u s e a m o r e m e m o r y - e f f i c i e n t f o r m o f a t t e n t i o n s u c h a s P y T o r c h 2 . 0 ' s [ s c a l e d - d o t p r o d u c t a t t e n t i o n ] ( . . / o p t i m i z a t i o n / t o r c h 2 . 0 # s c a l e d - d o t - p r o d u c t - a t t e n t i o n ) o r [ x F o r m e r s ] ( . . / o p t i m i z a t i o n / x f o r m e r s ) ( y o u c a n u s e o n e o r t h e o t h e r , b u t t h e r e ' s n o n e e d t o u s e b o t h ) . Y o u c a n a l s o o f f l o a d t h e m o d e l t o t h e G P U w h i l e t h e o t h e r p i p e l i n e c o m p o n e n t s w a i t o n t h e C P U . ` ` ` d i f f + p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) + p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) ` ` ` W i t h [ ` t o r c h . c o m p i l e ` ] ( . . / o p t i m i z a t i o n / t o r c h 2 . 0 # t o r c h c o m p i l e ) , y o u c a n b o o s t y o u r i n f e r e n c e s p e e d e v e n m o r e b y w r a p p i n g y o u r U N e t w i t h i t : ` ` ` p y p i p e l i n e . u n e t = t o r c h . c o m p i l e ( p i p e l i n e . u n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) ` ` ` T o l e a r n m o r e , t a k e a l o o k a t t h e [ R e d u c e m e m o r y u s a g e ] ( . . / o p t i m i z a t i o n / m e m o r y ) a n d [ T o r c h 2 . 0 ] ( . . / o p t i m i z a t i o n / t o r c h 2 . 0 ) g u i d e s . # S t a b l e D i f f u s i o n X L [ S t a b l e D i f f u s i o n X L ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 0 7 . 0 1 9 5 2 ) ( S D X L ) i s a p o w e r f u l t e x t - t o - i m a g e g e n e r a t i o n m o d e l t h a t i t e r a t e s o n t h e p r e v i o u s S t a b l e D i f f u s i o n m o d e l s i n t h r e e k e y w a y s : 1 . t h e U N e t i s 3 x l a r g e r a n d S D X L c o m b i n e s a s e c o n d t e x t e n c o d e r ( O p e n C L I P V i T - b i g G / 1 4 ) w i t h t h e o r i g i n a l t e x t e n c o d e r t o s i g n i f i c a n t l y i n c r e a s e t h e n u m b e r o f p a r a m e t e r s 2 . i n t r o d u c e s s i z e a n d c r o p - c o n d i t i o n i n g t o p r e s e r v e t r a i n i n g d a t a f r o m b e i n g d i s c a r d e d a n d g a i n m o r e c o n t r o l o v e r h o w a g e n e r a t e d i m a g e s h o u l d b e c r o p p e d 3 . i n t r o d u c e s a t w o - s t a g e m o d e l p r o c e s s ; t h e * b a s e * m o d e l ( c a n a l s o b e r u n a s a s t a n d a l o n e m o d e l ) g e n e r a t e s a n i m a g e a s a n i n p u t t o t h e * r e f i n e r * m o d e l w h i c h a d d s a d d i t i o n a l h i g h - q u a l i t y d e t a i l s T h i s g u i d e w i l l s h o w y o u h o w t o u s e S D X L f o r t e x t - t o - i m a g e , i m a g e - t o - i m a g e , a n d i n p a i n t i n g . B e f o r e y o u b e g i n , m a k e s u r e y o u h a v e t h e f o l l o w i n g l i b r a r i e s i n s t a l l e d : ` ` ` p y # u n c o m m e n t t o i n s t a l l t h e n e c e s s a r y l i b r a r i e s i n C o l a b # ! p i p i n s t a l l - q d i f f u s e r s t r a n s f o r m e r s a c c e l e r a t e i n v i s i b l e - w a t e r m a r k > = 0 . 2 . 0 ` ` ` < T i p w a r n i n g = { t r u e } > W e r e c o m m e n d i n s t a l l i n g t h e [ i n v i s i b l e - w a t e r m a r k ] ( h t t p s : / / p y p i . o r g / p r o j e c t / i n v i s i b l e - w a t e r m a r k / ) l i b r a r y t o h e l p i d e n t i f y i m a g e s t h a t a r e g e n e r a t e d . I f t h e i n v i s i b l e - w a t e r m a r k l i b r a r y i s i n s t a l l e d , i t i s u s e d b y d e f a u l t . T o d i s a b l e t h e w a t e r m a r k e r : ` ` ` p y p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( . . . , a d d _ w a t e r m a r k e r = F a l s e ) ` ` ` < / T i p > # # L o a d m o d e l c h e c k p o i n t s M o d e l w e i g h t s m a y b e s t o r e d i n s e p a r a t e s u b f o l d e r s o n t h e H u b o r l o c a l l y , i n w h i c h c a s e , y o u s h o u l d u s e t h e [ f r o m _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ) m e t h o d : ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e , S t a b l e D i f f u s i o n X L I m g 2 I m g P i p e l i n e i m p o r t t o r c h p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) r e f i n e r = S t a b l e D i f f u s i o n X L I m g 2 I m g P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - r e f i n e r - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , v a r i a n t = " f p 1 6 " ) . t o ( " c u d a " ) ` ` ` Y o u c a n a l s o u s e t h e [ f r o m _ s i n g l e _ f i l e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / s i n g l e _ f i l e # d i f f u s e r s . l o a d e r s . F r o m S i n g l e F i l e M i x i n . f r o m _ s i n g l e _ f i l e ) m e t h o d t o l o a d a m o d e l c h e c k p o i n t s t o r e d i n a s i n g l e f i l e f o r m a t ( ` . c k p t ` o r ` . s a f e t e n s o r s ` ) f r o m t h e H u b o r l o c a l l y : ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e , S t a b l e D i f f u s i o n X L I m g 2 I m g P i p e l i n e i m p o r t t o r c h p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ s i n g l e _ f i l e ( " h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 / b l o b / m a i n / s d _ x l _ b a s e _ 1 . 0 . s a f e t e n s o r s " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) r e f i n e r = S t a b l e D i f f u s i o n X L I m g 2 I m g P i p e l i n e . f r o m _ s i n g l e _ f i l e ( " h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - r e f i n e r - 1 . 0 / b l o b / m a i n / s d _ x l _ r e f i n e r _ 1 . 0 . s a f e t e n s o r s " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) ` ` ` # # T e x t - t o - i m a g e F o r t e x t - t o - i m a g e , p a s s a t e x t p r o m p t . B y d e f a u l t , S D X L g e n e r a t e s a 1 0 2 4 x 1 0 2 4 i m a g e f o r t h e b e s t r e s u l t s . Y o u c a n t r y s e t t i n g t h e ` h e i g h t ` a n d ` w i d t h ` p a r a m e t e r s t o 7 6 8 x 7 6 8 o r 5 1 2 x 5 1 2 , b u t a n y t h i n g b e l o w 5 1 2 x 5 1 2 i s n o t l i k e l y t o w o r k . ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e _ t e x t 2 i m a g e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " i m a g e = p i p e l i n e _ t e x t 2 i m a g e ( p r o m p t = p r o m p t ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s d x l - t e x t 2 i m g . p n g " a l t = " g e n e r a t e d i m a g e o f a n a s t r o n a u t i n a j u n g l e " / > < / d i v > # # I m a g e - t o - i m a g e F o r i m a g e - t o - i m a g e , S D X L w o r k s e s p e c i a l l y w e l l w i t h i m a g e s i z e s b e t w e e n 7 6 8 x 7 6 8 a n d 1 0 2 4 x 1 0 2 4 . P a s s a n i n i t i a l i m a g e , a n d a t e x t p r o m p t t o c o n d i t i o n t h e i m a g e w i t h : ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I m a g e 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d # u s e f r o m _ p i p e t o a v o i d c o n s u m i n g a d d i t i o n a l m e m o r y w h e n l o a d i n g a c h e c k p o i n t p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p i p e ( p i p e l i n e _ t e x t 2 i m a g e ) . t o ( " c u d a " ) u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s d x l - t e x t 2 i m g . p n g " i n i t _ i m a g e = l o a d _ i m a g e ( u r l ) p r o m p t = " a d o g c a t c h i n g a f r i s b e e i n t h e j u n g l e " i m a g e = p i p e l i n e ( p r o m p t , i m a g e = i n i t _ i m a g e , s t r e n g t h = 0 . 8 , g u i d a n c e _ s c a l e = 1 0 . 5 ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s d x l - i m g 2 i m g . p n g " a l t = " g e n e r a t e d i m a g e o f a d o g c a t c h i n g a f r i s b e e i n a j u n g l e " / > < / d i v > # # I n p a i n t i n g F o r i n p a i n t i n g , y o u ' l l n e e d t h e o r i g i n a l i m a g e a n d a m a s k o f w h a t y o u w a n t t o r e p l a c e i n t h e o r i g i n a l i m a g e . C r e a t e a p r o m p t t o d e s c r i b e w h a t y o u w a n t t o r e p l a c e t h e m a s k e d a r e a w i t h . ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d # u s e f r o m _ p i p e t o a v o i d c o n s u m i n g a d d i t i o n a l m e m o r y w h e n l o a d i n g a c h e c k p o i n t p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p i p e ( p i p e l i n e _ t e x t 2 i m a g e ) . t o ( " c u d a " ) i m g _ u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s d x l - t e x t 2 i m g . p n g " m a s k _ u r l = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s d x l - i n p a i n t - m a s k . p n g " i n i t _ i m a g e = l o a d _ i m a g e ( i m g _ u r l ) m a s k _ i m a g e = l o a d _ i m a g e ( m a s k _ u r l ) p r o m p t = " A d e e p s e a d i v e r f l o a t i n g " i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e , s t r e n g t h = 0 . 8 5 , g u i d a n c e _ s c a l e = 1 2 . 5 ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s d x l - i n p a i n t . p n g " a l t = " g e n e r a t e d i m a g e o f a d e e p s e a d i v e r i n a j u n g l e " / > < / d i v > # # R e f i n e i m a g e q u a l i t y S D X L i n c l u d e s a [ r e f i n e r m o d e l ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - r e f i n e r - 1 . 0 ) s p e c i a l i z e d i n d e n o i s i n g l o w - n o i s e s t a g e i m a g e s t o g e n e r a t e h i g h e r - q u a l i t y i m a g e s f r o m t h e b a s e m o d e l . T h e r e a r e t w o w a y s t o u s e t h e r e f i n e r : 1 . u s e t h e b a s e a n d r e f i n e r m o d e l s t o g e t h e r t o p r o d u c e a r e f i n e d i m a g e 2 . u s e t h e b a s e m o d e l t o p r o d u c e a n i m a g e , a n d s u b s e q u e n t l y u s e t h e r e f i n e r m o d e l t o a d d m o r e d e t a i l s t o t h e i m a g e ( t h i s i s h o w S D X L w a s o r i g i n a l l y t r a i n e d ) # # # B a s e + r e f i n e r m o d e l W h e n y o u u s e t h e b a s e a n d r e f i n e r m o d e l t o g e t h e r t o g e n e r a t e a n i m a g e , t h i s i s k n o w n a s a n [ * e n s e m b l e o f e x p e r t d e n o i s e r s * ] ( h t t p s : / / r e s e a r c h . n v i d i a . c o m / l a b s / d i r / e D i f f - I / ) . T h e e n s e m b l e o f e x p e r t d e n o i s e r s a p p r o a c h r e q u i r e s f e w e r o v e r a l l d e n o i s i n g s t e p s v e r s u s p a s s i n g t h e b a s e m o d e l ' s o u t p u t t o t h e r e f i n e r m o d e l , s o i t s h o u l d b e s i g n i f i c a n t l y f a s t e r t o r u n . H o w e v e r , y o u w o n ' t b e a b l e t o i n s p e c t t h e b a s e m o d e l ' s o u t p u t b e c a u s e i t s t i l l c o n t a i n s a l a r g e a m o u n t o f n o i s e . A s a n e n s e m b l e o f e x p e r t d e n o i s e r s , t h e b a s e m o d e l s e r v e s a s t h e e x p e r t d u r i n g t h e h i g h - n o i s e d i f f u s i o n s t a g e a n d t h e r e f i n e r m o d e l s e r v e s a s t h e e x p e r t d u r i n g t h e l o w - n o i s e d i f f u s i o n s t a g e . L o a d t h e b a s e a n d r e f i n e r m o d e l : ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h b a s e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) r e f i n e r = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - r e f i n e r - 1 . 0 " , t e x t _ e n c o d e r _ 2 = b a s e . t e x t _ e n c o d e r _ 2 , v a e = b a s e . v a e , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , v a r i a n t = " f p 1 6 " , ) . t o ( " c u d a " ) ` ` ` T o u s e t h i s a p p r o a c h , y o u n e e d t o d e f i n e t h e n u m b e r o f t i m e s t e p s f o r e a c h m o d e l t o r u n t h r o u g h t h e i r r e s p e c t i v e s t a g e s . F o r t h e b a s e m o d e l , t h i s i s c o n t r o l l e d b y t h e [ ` d e n o i s i n g _ e n d ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L P i p e l i n e . _ _ c a l l _ _ . d e n o i s i n g _ e n d ) p a r a m e t e r a n d f o r t h e r e f i n e r m o d e l , i t i s c o n t r o l l e d b y t h e [ ` d e n o i s i n g _ s t a r t ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L I m g 2 I m g P i p e l i n e . _ _ c a l l _ _ . d e n o i s i n g _ s t a r t ) p a r a m e t e r . < T i p > T h e ` d e n o i s i n g _ e n d ` a n d ` d e n o i s i n g _ s t a r t ` p a r a m e t e r s s h o u l d b e a f l o a t b e t w e e n 0 a n d 1 . T h e s e p a r a m e t e r s a r e r e p r e s e n t e d a s a p r o p o r t i o n o f d i s c r e t e t i m e s t e p s a s d e f i n e d b y t h e s c h e d u l e r . I f y o u ' r e a l s o u s i n g t h e ` s t r e n g t h ` p a r a m e t e r , i t ' l l b e i g n o r e d b e c a u s e t h e n u m b e r o f d e n o i s i n g s t e p s i s d e t e r m i n e d b y t h e d i s c r e t e t i m e s t e p s t h e m o d e l i s t r a i n e d o n a n d t h e d e c l a r e d f r a c t i o n a l c u t o f f . < / T i p > L e t ' s s e t ` d e n o i s i n g _ e n d = 0 . 8 ` s o t h e b a s e m o d e l p e r f o r m s t h e f i r s t 8 0 % o f d e n o i s i n g t h e * * h i g h - n o i s e * * t i m e s t e p s a n d s e t ` d e n o i s i n g _ s t a r t = 0 . 8 ` s o t h e r e f i n e r m o d e l p e r f o r m s t h e l a s t 2 0 % o f d e n o i s i n g t h e * * l o w - n o i s e * * t i m e s t e p s . T h e b a s e m o d e l o u t p u t s h o u l d b e i n * * l a t e n t * * s p a c e i n s t e a d o f a P I L i m a g e . ` ` ` p y p r o m p t = " A m a j e s t i c l i o n j u m p i n g f r o m a b i g s t o n e a t n i g h t " i m a g e = b a s e ( p r o m p t = p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 4 0 , d e n o i s i n g _ e n d = 0 . 8 , o u t p u t _ t y p e = " l a t e n t " , ) . i m a g e s i m a g e = r e f i n e r ( p r o m p t = p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 4 0 , d e n o i s i n g _ s t a r t = 0 . 8 , i m a g e = i m a g e , ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l i o n _ b a s e . p n g " a l t = " g e n e r a t e d i m a g e o f a l i o n o n a r o c k a t n i g h t " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > d e f a u l t b a s e m o d e l < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l i o n _ r e f i n e d . p n g " a l t = " g e n e r a t e d i m a g e o f a l i o n o n a r o c k a t n i g h t i n h i g h e r q u a l i t y " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > e n s e m b l e o f e x p e r t d e n o i s e r s < / f i g c a p t i o n > < / d i v > < / d i v > T h e r e f i n e r m o d e l c a n a l s o b e u s e d f o r i n p a i n t i n g i n t h e [ S t a b l e D i f f u s i o n X L I n p a i n t P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L I n p a i n t P i p e l i n e ) : ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L I n p a i n t P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d i m p o r t t o r c h b a s e = S t a b l e D i f f u s i o n X L I n p a i n t P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) r e f i n e r = S t a b l e D i f f u s i o n X L I n p a i n t P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - r e f i n e r - 1 . 0 " , t e x t _ e n c o d e r _ 2 = b a s e . t e x t _ e n c o d e r _ 2 , v a e = b a s e . v a e , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , v a r i a n t = " f p 1 6 " , ) . t o ( " c u d a " ) i m g _ u r l = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / C o m p V i s / l a t e n t - d i f f u s i o n / m a i n / d a t a / i n p a i n t i n g _ e x a m p l e s / o v e r t u r e - c r e a t i o n s - 5 s I 6 f Q g Y I u o . p n g " m a s k _ u r l = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / C o m p V i s / l a t e n t - d i f f u s i o n / m a i n / d a t a / i n p a i n t i n g _ e x a m p l e s / o v e r t u r e - c r e a t i o n s - 5 s I 6 f Q g Y I u o _ m a s k . p n g " i n i t _ i m a g e = l o a d _ i m a g e ( i m g _ u r l ) m a s k _ i m a g e = l o a d _ i m a g e ( m a s k _ u r l ) p r o m p t = " A m a j e s t i c t i g e r s i t t i n g o n a b e n c h " n u m _ i n f e r e n c e _ s t e p s = 7 5 h i g h _ n o i s e _ f r a c = 0 . 7 i m a g e = b a s e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e , n u m _ i n f e r e n c e _ s t e p s = n u m _ i n f e r e n c e _ s t e p s , d e n o i s i n g _ e n d = h i g h _ n o i s e _ f r a c , o u t p u t _ t y p e = " l a t e n t " , ) . i m a g e s i m a g e = r e f i n e r ( p r o m p t = p r o m p t , i m a g e = i m a g e , m a s k _ i m a g e = m a s k _ i m a g e , n u m _ i n f e r e n c e _ s t e p s = n u m _ i n f e r e n c e _ s t e p s , d e n o i s i n g _ s t a r t = h i g h _ n o i s e _ f r a c , ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k _ i m a g e , i m a g e . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) ] , r o w s = 1 , c o l s = 3 ) ` ` ` T h i s e n s e m b l e o f e x p e r t d e n o i s e r s m e t h o d w o r k s w e l l f o r a l l a v a i l a b l e s c h e d u l e r s ! # # # B a s e t o r e f i n e r m o d e l S D X L g e t s a b o o s t i n i m a g e q u a l i t y b y u s i n g t h e r e f i n e r m o d e l t o a d d a d d i t i o n a l h i g h - q u a l i t y d e t a i l s t o t h e f u l l y - d e n o i s e d i m a g e f r o m t h e b a s e m o d e l , i n a n i m a g e - t o - i m a g e s e t t i n g . L o a d t h e b a s e a n d r e f i n e r m o d e l s : ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h b a s e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) r e f i n e r = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - r e f i n e r - 1 . 0 " , t e x t _ e n c o d e r _ 2 = b a s e . t e x t _ e n c o d e r _ 2 , v a e = b a s e . v a e , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e , v a r i a n t = " f p 1 6 " , ) . t o ( " c u d a " ) ` ` ` < T i p w a r n i n g = { t r u e } > Y o u c a n u s e S D X L r e f i n e r w i t h a d i f f e r e n t b a s e m o d e l . F o r e x a m p l e , y o u c a n u s e t h e [ H u n y u a n - D i T ] ( . . / . . / a p i / p i p e l i n e s / h u n y u a n d i t ) o r [ P i x A r t - S i g m a ] ( . . / . . / a p i / p i p e l i n e s / p i x a r t _ s i g m a ) p i p e l i n e s t o g e n e r a t e i m a g e s w i t h b e t t e r p r o m p t a d h e r e n c e . O n c e y o u h a v e g e n e r a t e d a n i m a g e , y o u c a n p a s s i t t o t h e S D X L r e f i n e r m o d e l t o e n h a n c e f i n a l g e n e r a t i o n q u a l i t y . < / T i p > G e n e r a t e a n i m a g e f r o m t h e b a s e m o d e l , a n d s e t t h e m o d e l o u t p u t t o * * l a t e n t * * s p a c e : ` ` ` p y p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " i m a g e = b a s e ( p r o m p t = p r o m p t , o u t p u t _ t y p e = " l a t e n t " ) . i m a g e s [ 0 ] ` ` ` P a s s t h e g e n e r a t e d i m a g e t o t h e r e f i n e r m o d e l : ` ` ` p y i m a g e = r e f i n e r ( p r o m p t = p r o m p t , i m a g e = i m a g e [ N o n e , : ] ) . i m a g e s [ 0 ] ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / s d _ x l / i n i t _ i m a g e . p n g " a l t = " g e n e r a t e d i m a g e o f a n a s t r o n a u t r i d i n g a g r e e n h o r s e o n M a r s " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > b a s e m o d e l < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / s d _ x l / r e f i n e d _ i m a g e . p n g " a l t = " h i g h e r q u a l i t y g e n e r a t e d i m a g e o f a n a s t r o n a u t r i d i n g a g r e e n h o r s e o n M a r s " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > b a s e m o d e l + r e f i n e r m o d e l < / f i g c a p t i o n > < / d i v > < / d i v > F o r i n p a i n t i n g , l o a d t h e b a s e a n d t h e r e f i n e r m o d e l i n t h e [ S t a b l e D i f f u s i o n X L I n p a i n t P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L I n p a i n t P i p e l i n e ) , r e m o v e t h e ` d e n o i s i n g _ e n d ` a n d ` d e n o i s i n g _ s t a r t ` p a r a m e t e r s , a n d c h o o s e a s m a l l e r n u m b e r o f i n f e r e n c e s t e p s f o r t h e r e f i n e r . # # M i c r o - c o n d i t i o n i n g S D X L t r a i n i n g i n v o l v e s s e v e r a l a d d i t i o n a l c o n d i t i o n i n g t e c h n i q u e s , w h i c h a r e r e f e r r e d t o a s * m i c r o - c o n d i t i o n i n g * . T h e s e i n c l u d e o r i g i n a l i m a g e s i z e , t a r g e t i m a g e s i z e , a n d c r o p p i n g p a r a m e t e r s . T h e m i c r o - c o n d i t i o n i n g s c a n b e u s e d a t i n f e r e n c e t i m e t o c r e a t e h i g h - q u a l i t y , c e n t e r e d i m a g e s . < T i p > Y o u c a n u s e b o t h m i c r o - c o n d i t i o n i n g a n d n e g a t i v e m i c r o - c o n d i t i o n i n g p a r a m e t e r s t h a n k s t o c l a s s i f i e r - f r e e g u i d a n c e . T h e y a r e a v a i l a b l e i n t h e [ S t a b l e D i f f u s i o n X L P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L P i p e l i n e ) , [ S t a b l e D i f f u s i o n X L I m g 2 I m g P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L I m g 2 I m g P i p e l i n e ) , [ S t a b l e D i f f u s i o n X L I n p a i n t P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L I n p a i n t P i p e l i n e ) , a n d [ S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / c o n t r o l n e t _ s d x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e ) . < / T i p > # # # S i z e c o n d i t i o n i n g T h e r e a r e t w o t y p e s o f s i z e c o n d i t i o n i n g : - [ ` o r i g i n a l _ s i z e ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L P i p e l i n e . _ _ c a l l _ _ . o r i g i n a l _ s i z e ) c o n d i t i o n i n g c o m e s f r o m u p s c a l e d i m a g e s i n t h e t r a i n i n g b a t c h ( b e c a u s e i t w o u l d b e w a s t e f u l t o d i s c a r d t h e s m a l l e r i m a g e s w h i c h m a k e u p a l m o s t 4 0 % o f t h e t o t a l t r a i n i n g d a t a ) . T h i s w a y , S D X L l e a r n s t h a t u p s c a l i n g a r t i f a c t s a r e n o t s u p p o s e d t o b e p r e s e n t i n h i g h - r e s o l u t i o n i m a g e s . D u r i n g i n f e r e n c e , y o u c a n u s e ` o r i g i n a l _ s i z e ` t o i n d i c a t e t h e o r i g i n a l i m a g e r e s o l u t i o n . U s i n g t h e d e f a u l t v a l u e o f ` ( 1 0 2 4 , 1 0 2 4 ) ` p r o d u c e s h i g h e r - q u a l i t y i m a g e s t h a t r e s e m b l e t h e 1 0 2 4 x 1 0 2 4 i m a g e s i n t h e d a t a s e t . I f y o u c h o o s e t o u s e a l o w e r r e s o l u t i o n , s u c h a s ` ( 2 5 6 , 2 5 6 ) ` , t h e m o d e l s t i l l g e n e r a t e s 1 0 2 4 x 1 0 2 4 i m a g e s , b u t t h e y ' l l l o o k l i k e t h e l o w r e s o l u t i o n i m a g e s ( s i m p l e r p a t t e r n s , b l u r r i n g ) i n t h e d a t a s e t . - [ ` t a r g e t _ s i z e ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ x l # d i f f u s e r s . S t a b l e D i f f u s i o n X L P i p e l i n e . _ _ c a l l _ _ . t a r g e t _ s i z e ) c o n d i t i o n i n g c o m e s f r o m f i n e t u n i n g S D X L t o s u p p o r t d i f f e r e n t i m a g e a s p e c t r a t i o s . D u r i n g i n f e r e n c e , i f y o u u s e t h e d e f a u l t v a l u e o f ` ( 1 0 2 4 , 1 0 2 4 ) ` , y o u ' l l g e t a n i m a g e t h a t r e s e m b l e s t h e c o m p o s i t i o n o f s q u a r e i m a g e s i n t h e d a t a s e t . W e r e c o m m e n d u s i n g t h e s a m e v a l u e f o r ` t a r g e t _ s i z e ` a n d ` o r i g i n a l _ s i z e ` , b u t f e e l f r e e t o e x p e r i m e n t w i t h o t h e r o p t i o n s ! ๐Ÿค— D i f f u s e r s a l s o l e t s y o u s p e c i f y n e g a t i v e c o n d i t i o n s a b o u t a n i m a g e ' s s i z e t o s t e e r g e n e r a t i o n a w a y f r o m c e r t a i n i m a g e r e s o l u t i o n s : ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e i m p o r t t o r c h p i p e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " i m a g e = p i p e ( p r o m p t = p r o m p t , n e g a t i v e _ o r i g i n a l _ s i z e = ( 5 1 2 , 5 1 2 ) , n e g a t i v e _ t a r g e t _ s i z e = ( 1 0 2 4 , 1 0 2 4 ) , ) . i m a g e s [ 0 ] ` ` ` < d i v c l a s s = " f l e x f l e x - c o l j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / s d _ x l / n e g a t i v e _ c o n d i t i o n s . p n g " / > < f i g c a p t i o n c l a s s = " t e x t - c e n t e r " > I m a g e s n e g a t i v e l y c o n d i t i o n e d o n i m a g e r e s o l u t i o n s o f ( 1 2 8 , 1 2 8 ) , ( 2 5 6 , 2 5 6 ) , a n d ( 5 1 2 , 5 1 2 ) . < / f i g c a p t i o n > < / d i v > # # # C r o p c o n d i t i o n i n g I m a g e s g e n e r a t e d b y p r e v i o u s S t a b l e D i f f u s i o n m o d e l s m a y s o m e t i m e s a p p e a r t o b e c r o p p e d . T h i s i s b e c a u s e i m a g e s a r e a c t u a l l y c r o p p e d d u r i n g t r a i n i n g s o t h a t a l l t h e i m a g e s i n a b a t c h h a v e t h e s a m e s i z e . B y c o n d i t i o n i n g o n c r o p c o o r d i n a t e s , S D X L * l e a r n s * t h a t n o c r o p p i n g - c o o r d i n a t e s ` ( 0 , 0 ) ` - u s u a l l y c o r r e l a t e s w i t h c e n t e r e d s u b j e c t s a n d c o m p l e t e f a c e s ( t h i s i s t h e d e f a u l t v a l u e i n ๐Ÿค— D i f f u s e r s ) . Y o u c a n e x p e r i m e n t w i t h d i f f e r e n t c o o r d i n a t e s i f y o u w a n t t o g e n e r a t e o f f - c e n t e r e d c o m p o s i t i o n s ! ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e i m p o r t t o r c h p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , c r o p s _ c o o r d s _ t o p _ l e f t = ( 2 5 6 , 0 ) ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s d x l - c r o p p e d . p n g " a l t = " g e n e r a t e d i m a g e o f a n a s t r o n a u t i n a j u n g l e , s l i g h t l y c r o p p e d " / > < / d i v > Y o u c a n a l s o s p e c i f y n e g a t i v e c r o p p i n g c o o r d i n a t e s t o s t e e r g e n e r a t i o n a w a y f r o m c e r t a i n c r o p p i n g p a r a m e t e r s : ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e i m p o r t t o r c h p i p e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " i m a g e = p i p e ( p r o m p t = p r o m p t , n e g a t i v e _ o r i g i n a l _ s i z e = ( 5 1 2 , 5 1 2 ) , n e g a t i v e _ c r o p s _ c o o r d s _ t o p _ l e f t = ( 0 , 0 ) , n e g a t i v e _ t a r g e t _ s i z e = ( 1 0 2 4 , 1 0 2 4 ) , ) . i m a g e s [ 0 ] i m a g e ` ` ` # # U s e a d i f f e r e n t p r o m p t f o r e a c h t e x t - e n c o d e r S D X L u s e s t w o t e x t - e n c o d e r s , s o i t i s p o s s i b l e t o p a s s a d i f f e r e n t p r o m p t t o e a c h t e x t - e n c o d e r , w h i c h c a n [ i m p r o v e q u a l i t y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / 4 0 0 4 # i s s u e c o m m e n t - 1 6 2 7 7 6 4 2 0 1 ) . P a s s y o u r o r i g i n a l p r o m p t t o ` p r o m p t ` a n d t h e s e c o n d p r o m p t t o ` p r o m p t _ 2 ` ( u s e ` n e g a t i v e _ p r o m p t ` a n d ` n e g a t i v e _ p r o m p t _ 2 ` i f y o u ' r e u s i n g n e g a t i v e p r o m p t s ) : ` ` ` p y f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e i m p o r t t o r c h p i p e l i n e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) # p r o m p t i s p a s s e d t o O A I C L I P - V i T / L - 1 4 p r o m p t = " A s t r o n a u t i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " # p r o m p t _ 2 i s p a s s e d t o O p e n C L I P - V i T / b i g G - 1 4 p r o m p t _ 2 = " V a n G o g h p a i n t i n g " i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , p r o m p t _ 2 = p r o m p t _ 2 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s d x l - d o u b l e - p r o m p t . p n g " a l t = " g e n e r a t e d i m a g e o f a n a s t r o n a u t i n a j u n g l e i n t h e s t y l e o f a v a n g o g h p a i n t i n g " / > < / d i v > T h e d u a l t e x t - e n c o d e r s a l s o s u p p o r t t e x t u a l i n v e r s i o n e m b e d d i n g s t h a t n e e d t o b e l o a d e d s e p a r a t e l y a s e x p l a i n e d i n t h e [ S D X L t e x t u a l i n v e r s i o n ] ( t e x t u a l _ i n v e r s i o n _ i n f e r e n c e # s t a b l e - d i f f u s i o n - x l ) s e c t i o n . # # O p t i m i z a t i o n s S D X L i s a l a r g e m o d e l , a n d y o u m a y n e e d t o o p t i m i z e m e m o r y t o g e t i t t o r u n o n y o u r h a r d w a r e . H e r e a r e s o m e t i p s t o s a v e m e m o r y a n d s p e e d u p i n f e r e n c e . 1 . O f f l o a d t h e m o d e l t o t h e C P U w i t h [ e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ) f o r o u t - o f - m e m o r y e r r o r s : ` ` ` d i f f - b a s e . t o ( " c u d a " ) - r e f i n e r . t o ( " c u d a " ) + b a s e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) + r e f i n e r . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` ` ` 2 . U s e ` t o r c h . c o m p i l e ` f o r ~ 2 0 % s p e e d - u p ( y o u n e e d ` t o r c h > = 2 . 0 ` ) : ` ` ` d i f f + b a s e . u n e t = t o r c h . c o m p i l e ( b a s e . u n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) + r e f i n e r . u n e t = t o r c h . c o m p i l e ( r e f i n e r . u n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) ` ` ` 3 . E n a b l e [ x F o r m e r s ] ( . . / o p t i m i z a t i o n / x f o r m e r s ) t o r u n S D X L i f ` t o r c h < 2 . 0 ` : ` ` ` d i f f + b a s e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) + r e f i n e r . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) ` ` ` # # O t h e r r e s o u r c e s I f y o u ' r e i n t e r e s t e d i n e x p e r i m e n t i n g w i t h a m i n i m a l v e r s i o n o f t h e [ U N e t 2 D C o n d i t i o n M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / u n e t 2 d - c o n d # d i f f u s e r s . U N e t 2 D C o n d i t i o n M o d e l ) u s e d i n S D X L , t a k e a l o o k a t t h e [ m i n S D X L ] ( h t t p s : / / g i t h u b . c o m / c l o n e o f s i m o / m i n S D X L ) i m p l e m e n t a t i o n w h i c h i s w r i t t e n i n P y T o r c h a n d d i r e c t l y c o m p a t i b l e w i t h ๐Ÿค— D i f f u s e r s . # M a r i g o l d P i p e l i n e s f o r C o m p u t e r V i s i o n T a s k s [ M a r i g o l d ] ( . . / a p i / p i p e l i n e s / m a r i g o l d ) i s a n o v e l d i f f u s i o n - b a s e d d e n s e p r e d i c t i o n a p p r o a c h , a n d a s e t o f p i p e l i n e s f o r v a r i o u s c o m p u t e r v i s i o n t a s k s , s u c h a s m o n o c u l a r d e p t h e s t i m a t i o n . T h i s g u i d e w i l l s h o w y o u h o w t o u s e M a r i g o l d t o o b t a i n f a s t a n d h i g h - q u a l i t y p r e d i c t i o n s f o r i m a g e s a n d v i d e o s . E a c h p i p e l i n e s u p p o r t s o n e C o m p u t e r V i s i o n t a s k , w h i c h t a k e s a n i n p u t R G B i m a g e a s i n p u t a n d p r o d u c e s a * p r e d i c t i o n * o f t h e m o d a l i t y o f i n t e r e s t , s u c h a s a d e p t h m a p o f t h e i n p u t i m a g e . C u r r e n t l y , t h e f o l l o w i n g t a s k s a r e i m p l e m e n t e d : | P i p e l i n e | P r e d i c t e d M o d a l i t i e s | D e m o s | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | : - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - : | | [ M a r i g o l d D e p t h P i p e l i n e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / m a r i g o l d / p i p e l i n e _ m a r i g o l d _ d e p t h . p y ) | [ D e p t h ] ( h t t p s : / / e n . w i k i p e d i a . o r g / w i k i / D e p t h _ m a p ) , [ D i s p a r i t y ] ( h t t p s : / / e n . w i k i p e d i a . o r g / w i k i / B i n o c u l a r _ d i s p a r i t y ) | [ F a s t D e m o ( L C M ) ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / p r s - e t h / m a r i g o l d - l c m ) , [ S l o w O r i g i n a l D e m o ( D D I M ) ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / p r s - e t h / m a r i g o l d ) | | [ M a r i g o l d N o r m a l s P i p e l i n e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / m a r i g o l d / p i p e l i n e _ m a r i g o l d _ n o r m a l s . p y ) | [ S u r f a c e n o r m a l s ] ( h t t p s : / / e n . w i k i p e d i a . o r g / w i k i / N o r m a l _ m a p p i n g ) | [ F a s t D e m o ( L C M ) ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / p r s - e t h / m a r i g o l d - n o r m a l s - l c m ) | T h e o r i g i n a l c h e c k p o i n t s c a n b e f o u n d u n d e r t h e [ P R S - E T H ] ( h t t p s : / / h u g g i n g f a c e . c o / p r s - e t h / ) H u g g i n g F a c e o r g a n i z a t i o n . T h e s e c h e c k p o i n t s a r e m e a n t t o w o r k w i t h d i f f u s e r s p i p e l i n e s a n d t h e [ o r i g i n a l c o d e b a s e ] ( h t t p s : / / g i t h u b . c o m / p r s - e t h / m a r i g o l d ) . T h e o r i g i n a l c o d e c a n a l s o b e u s e d t o t r a i n n e w c h e c k p o i n t s . | C h e c k p o i n t | M o d a l i t y | C o m m e n t | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | [ p r s - e t h / m a r i g o l d - v 1 - 0 ] ( h t t p s : / / h u g g i n g f a c e . c o / p r s - e t h / m a r i g o l d - v 1 - 0 ) | D e p t h | T h e f i r s t M a r i g o l d D e p t h c h e c k p o i n t , w h i c h p r e d i c t s * a f f i n e - i n v a r i a n t d e p t h * m a p s . T h e p e r f o r m a n c e o f t h i s c h e c k p o i n t i n b e n c h m a r k s w a s s t u d i e d i n t h e o r i g i n a l [ p a p e r ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 3 1 2 . 0 2 1 4 5 ) . D e s i g n e d t o b e u s e d w i t h t h e ` D D I M S c h e d u l e r ` a t i n f e r e n c e , i t r e q u i r e s a t l e a s t 1 0 s t e p s t o g e t r e l i a b l e p r e d i c t i o n s . A f f i n e - i n v a r i a n t d e p t h p r e d i c t i o n h a s a r a n g e o f v a l u e s i n e a c h p i x e l b e t w e e n 0 ( n e a r p l a n e ) a n d 1 ( f a r p l a n e ) ; b o t h p l a n e s a r e c h o s e n b y t h e m o d e l a s p a r t o f t h e i n f e r e n c e p r o c e s s . S e e t h e ` M a r i g o l d I m a g e P r o c e s s o r ` r e f e r e n c e f o r v i s u a l i z a t i o n u t i l i t i e s . | | [ p r s - e t h / m a r i g o l d - d e p t h - l c m - v 1 - 0 ] ( h t t p s : / / h u g g i n g f a c e . c o / p r s - e t h / m a r i g o l d - d e p t h - l c m - v 1 - 0 ) | D e p t h | T h e f a s t M a r i g o l d D e p t h c h e c k p o i n t , f i n e - t u n e d f r o m ` p r s - e t h / m a r i g o l d - v 1 - 0 ` . D e s i g n e d t o b e u s e d w i t h t h e ` L C M S c h e d u l e r ` a t i n f e r e n c e , i t r e q u i r e s a s l i t t l e a s 1 s t e p t o g e t r e l i a b l e p r e d i c t i o n s . T h e p r e d i c t i o n r e l i a b i l i t y s a t u r a t e s a t 4 s t e p s a n d d e c l i n e s a f t e r t h a t . | | [ p r s - e t h / m a r i g o l d - n o r m a l s - v 0 - 1 ] ( h t t p s : / / h u g g i n g f a c e . c o / p r s - e t h / m a r i g o l d - n o r m a l s - v 0 - 1 ) | N o r m a l s | A p r e v i e w c h e c k p o i n t f o r t h e M a r i g o l d N o r m a l s p i p e l i n e . D e s i g n e d t o b e u s e d w i t h t h e ` D D I M S c h e d u l e r ` a t i n f e r e n c e , i t r e q u i r e s a t l e a s t 1 0 s t e p s t o g e t r e l i a b l e p r e d i c t i o n s . T h e s u r f a c e n o r m a l s p r e d i c t i o n s a r e u n i t - l e n g t h 3 D v e c t o r s w i t h v a l u e s i n t h e r a n g e f r o m - 1 t o 1 . * T h i s c h e c k p o i n t w i l l b e p h a s e d o u t a f t e r t h e r e l e a s e o f ` v 1 - 0 ` v e r s i o n . * | | [ p r s - e t h / m a r i g o l d - n o r m a l s - l c m - v 0 - 1 ] ( h t t p s : / / h u g g i n g f a c e . c o / p r s - e t h / m a r i g o l d - n o r m a l s - l c m - v 0 - 1 ) | N o r m a l s | T h e f a s t M a r i g o l d N o r m a l s c h e c k p o i n t , f i n e - t u n e d f r o m ` p r s - e t h / m a r i g o l d - n o r m a l s - v 0 - 1 ` . D e s i g n e d t o b e u s e d w i t h t h e ` L C M S c h e d u l e r ` a t i n f e r e n c e , i t r e q u i r e s a s l i t t l e a s 1 s t e p t o g e t r e l i a b l e p r e d i c t i o n s . T h e p r e d i c t i o n r e l i a b i l i t y s a t u r a t e s a t 4 s t e p s a n d d e c l i n e s a f t e r t h a t . * T h i s c h e c k p o i n t w i l l b e p h a s e d o u t a f t e r t h e r e l e a s e o f ` v 1 - 0 ` v e r s i o n . * | T h e e x a m p l e s b e l o w a r e m o s t l y g i v e n f o r d e p t h p r e d i c t i o n , b u t t h e y c a n b e u n i v e r s a l l y a p p l i e d w i t h o t h e r s u p p o r t e d m o d a l i t i e s . W e s h o w c a s e t h e p r e d i c t i o n s u s i n g t h e s a m e i n p u t i m a g e o f A l b e r t E i n s t e i n g e n e r a t e d b y M i d j o u r n e y . T h i s m a k e s i t e a s i e r t o c o m p a r e v i s u a l i z a t i o n s o f t h e p r e d i c t i o n s a c r o s s v a r i o u s m o d a l i t i e s a n d c h e c k p o i n t s . < d i v c l a s s = " f l e x g a p - 4 " s t y l e = " j u s t i f y - c o n t e n t : c e n t e r ; w i d t h : 1 0 0 % ; " > < d i v s t y l e = " f l e x : 1 1 5 0 % ; m a x - w i d t h : 5 0 % ; " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / m a r i g o l d m o n o d e p t h . g i t h u b . i o / i m a g e s / e i n s t e i n . j p g " / > < f i g c a p t i o n c l a s s = " m t - 1 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > E x a m p l e i n p u t i m a g e f o r a l l M a r i g o l d p i p e l i n e s < / f i g c a p t i o n > < / d i v > < / d i v > # # # D e p t h P r e d i c t i o n Q u i c k S t a r t T o g e t t h e f i r s t d e p t h p r e d i c t i o n , l o a d ` p r s - e t h / m a r i g o l d - d e p t h - l c m - v 1 - 0 ` c h e c k p o i n t i n t o ` M a r i g o l d D e p t h P i p e l i n e ` p i p e l i n e , p u t t h e i m a g e t h r o u g h t h e p i p e l i n e , a n d s a v e t h e p r e d i c t i o n s : ` ` ` p y t h o n i m p o r t d i f f u s e r s i m p o r t t o r c h p i p e = d i f f u s e r s . M a r i g o l d D e p t h P i p e l i n e . f r o m _ p r e t r a i n e d ( " p r s - e t h / m a r i g o l d - d e p t h - l c m - v 1 - 0 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) i m a g e = d i f f u s e r s . u t i l s . l o a d _ i m a g e ( " h t t p s : / / m a r i g o l d m o n o d e p t h . g i t h u b . i o / i m a g e s / e i n s t e i n . j p g " ) d e p t h = p i p e ( i m a g e ) v i s = p i p e . i m a g e _ p r o c e s s o r . v i s u a l i z e _ d e p t h ( d e p t h . p r e d i c t i o n ) v i s [ 0 ] . s a v e ( " e i n s t e i n _ d e p t h . p n g " ) d e p t h _ 1 6 b i t = p i p e . i m a g e _ p r o c e s s o r . e x p o r t _ d e p t h _ t o _ 1 6 b i t _ p n g ( d e p t h . p r e d i c t i o n ) d e p t h _ 1 6 b i t [ 0 ] . s a v e ( " e i n s t e i n _ d e p t h _ 1 6 b i t . p n g " ) ` ` ` T h e v i s u a l i z a t i o n f u n c t i o n f o r d e p t h ` v i s u a l i z e _ d e p t h ( ) ` a p p l i e s o n e o f [ m a t p l o t l i b ' s c o l o r m a p s ] ( h t t p s : / / m a t p l o t l i b . o r g / s t a b l e / u s e r s / e x p l a i n / c o l o r s / c o l o r m a p s . h t m l ) ( ` S p e c t r a l ` b y d e f a u l t ) t o m a p t h e p r e d i c t e d p i x e l v a l u e s f r o m a s i n g l e - c h a n n e l ` [ 0 , 1 ] ` d e p t h r a n g e i n t o a n R G B i m a g e . W i t h t h e ` S p e c t r a l ` c o l o r m a p , p i x e l s w i t h n e a r d e p t h a r e p a i n t e d r e d , a n d f a r p i x e l s a r e a s s i g n e d b l u e c o l o r . T h e 1 6 - b i t P N G f i l e s t o r e s t h e s i n g l e c h a n n e l v a l u e s m a p p e d l i n e a r l y f r o m t h e ` [ 0 , 1 ] ` r a n g e i n t o ` [ 0 , 6 5 5 3 5 ] ` . B e l o w a r e t h e r a w a n d t h e v i s u a l i z e d p r e d i c t i o n s ; a s c a n b e s e e n , d a r k a r e a s ( m u s t a c h e ) a r e e a s i e r t o d i s t i n g u i s h i n t h e v i s u a l i z a t i o n : < d i v c l a s s = " f l e x g a p - 4 " > < d i v s t y l e = " f l e x : 1 1 5 0 % ; m a x - w i d t h : 5 0 % ; " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / m a r i g o l d / m a r i g o l d _ e i n s t e i n _ l c m _ d e p t h _ 1 6 b i t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 1 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > P r e d i c t e d d e p t h ( 1 6 - b i t P N G ) < / f i g c a p t i o n > < / d i v > < d i v s t y l e = " f l e x : 1 1 5 0 % ; m a x - w i d t h : 5 0 % ; " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / m a r i g o l d / m a r i g o l d _ e i n s t e i n _ l c m _ d e p t h . p n g " / > < f i g c a p t i o n c l a s s = " m t - 1 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > P r e d i c t e d d e p t h v i s u a l i z a t i o n ( S p e c t r a l ) < / f i g c a p t i o n > < / d i v > < / d i v > # # # S u r f a c e N o r m a l s P r e d i c t i o n Q u i c k S t a r t L o a d ` p r s - e t h / m a r i g o l d - n o r m a l s - l c m - v 0 - 1 ` c h e c k p o i n t i n t o ` M a r i g o l d N o r m a l s P i p e l i n e ` p i p e l i n e , p u t t h e i m a g e t h r o u g h t h e p i p e l i n e , a n d s a v e t h e p r e d i c t i o n s : ` ` ` p y t h o n i m p o r t d i f f u s e r s i m p o r t t o r c h p i p e = d i f f u s e r s . M a r i g o l d N o r m a l s P i p e l i n e . f r o m _ p r e t r a i n e d ( " p r s - e t h / m a r i g o l d - n o r m a l s - l c m - v 0 - 1 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) i m a g e = d i f f u s e r s . u t i l s . l o a d _ i m a g e ( " h t t p s : / / m a r i g o l d m o n o d e p t h . g i t h u b . i o / i m a g e s / e i n s t e i n . j p g " ) n o r m a l s = p i p e ( i m a g e ) v i s = p i p e . i m a g e _ p r o c e s s o r . v i s u a l i z e _ n o r m a l s ( n o r m a l s . p r e d i c t i o n ) v i s [ 0 ] . s a v e ( " e i n s t e i n _ n o r m a l s . p n g " ) ` ` ` T h e v i s u a l i z a t i o n f u n c t i o n f o r n o r m a l s ` v i s u a l i z e _ n o r m a l s ( ) ` m a p s t h e t h r e e - d i m e n s i o n a l p r e d i c t i o n w i t h p i x e l v a l u e s i n t h e r a n g e ` [ - 1 , 1 ] ` i n t o a n R G B i m a g e . T h e v i s u a l i z a t i o n f u n c t i o n s u p p o r t s f l i p p i n g s u r f a c e n o r m a l s a x e s t o m a k e t h e v i s u a l i z a t i o n c o m p a t i b l e w i t h o t h e r c h o i c e s o f t h e f r a m e o f r e f e r e n c e . C o n c e p t u a l l y , e a c h p i x e l i s p a i n t e d a c c o r d i n g t o t h e s u r f a c e n o r m a l v e c t o r i n t h e f r a m e o f r e f e r e n c e , w h e r e ` X ` a x i s p o i n t s r i g h t , ` Y ` a x i s p o i n t s u p , a n d ` Z ` a x i s p o i n t s a t t h e v i e w e r . B e l o w i s t h e v i s u a l i z e d p r e d i c t i o n : < d i v c l a s s = " f l e x g a p - 4 " s t y l e = " j u s t i f y - c o n t e n t : c e n t e r ; w i d t h : 1 0 0 % ; " > < d i v s t y l e = " f l e x : 1 1 5 0 % ; m a x - w i d t h : 5 0 % ; " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / m a r i g o l d / m a r i g o l d _ e i n s t e i n _ l c m _ n o r m a l s . p n g " / > < f i g c a p t i o n c l a s s = " m t - 1 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > P r e d i c t e d s u r f a c e n o r m a l s v i s u a l i z a t i o n < / f i g c a p t i o n > < / d i v > < / d i v > I n t h i s e x a m p l e , t h e n o s e t i p a l m o s t c e r t a i n l y h a s a p o i n t o n t h e s u r f a c e , i n w h i c h t h e s u r f a c e n o r m a l v e c t o r p o i n t s s t r a i g h t a t t h e v i e w e r , m e a n i n g t h a t i t s c o o r d i n a t e s a r e ` [ 0 , 0 , 1 ] ` . T h i s v e c t o r m a p s t o t h e R G B ` [ 1 2 8 , 1 2 8 , 2 5 5 ] ` , w h i c h c o r r e s p o n d s t o t h e v i o l e t - b l u e c o l o r . S i m i l a r l y , a s u r f a c e n o r m a l o n t h e c h e e k i n t h e r i g h t p a r t o f t h e i m a g e h a s a l a r g e ` X ` c o m p o n e n t , w h i c h i n c r e a s e s t h e r e d h u e . P o i n t s o n t h e s h o u l d e r s p o i n t i n g u p w i t h a l a r g e ` Y ` p r o m o t e g r e e n c o l o r . # # # S p e e d i n g u p i n f e r e n c e T h e a b o v e q u i c k s t a r t s n i p p e t s a r e a l r e a d y o p t i m i z e d f o r s p e e d : t h e y l o a d t h e L C M c h e c k p o i n t , u s e t h e ` f p 1 6 ` v a r i a n t o f w e i g h t s a n d c o m p u t a t i o n , a n d p e r f o r m j u s t o n e d e n o i s i n g d i f f u s i o n s t e p . T h e ` p i p e ( i m a g e ) ` c a l l c o m p l e t e s i n 2 8 0 m s o n R T X 3 0 9 0 G P U . I n t e r n a l l y , t h e i n p u t i m a g e i s e n c o d e d w i t h t h e S t a b l e D i f f u s i o n V A E e n c o d e r , t h e n t h e U - N e t p e r f o r m s o n e d e n o i s i n g s t e p , a n d f i n a l l y , t h e p r e d i c t i o n l a t e n t i s d e c o d e d w i t h t h e V A E d e c o d e r i n t o p i x e l s p a c e . I n t h i s c a s e , t w o o u t o f t h r e e m o d u l e c a l l s a r e d e d i c a t e d t o c o n v e r t i n g b e t w e e n p i x e l a n d l a t e n t s p a c e o f L D M . B e c a u s e M a r i g o l d ' s l a t e n t s p a c e i s c o m p a t i b l e w i t h t h e b a s e S t a b l e D i f f u s i o n , i t i s p o s s i b l e t o s p e e d u p t h e p i p e l i n e c a l l b y m o r e t h a n 3 x ( 8 5 m s o n R T X 3 0 9 0 ) b y u s i n g a [ l i g h t w e i g h t r e p l a c e m e n t o f t h e S D V A E ] ( . . / a p i / m o d e l s / a u t o e n c o d e r _ t i n y ) : ` ` ` d i f f i m p o r t d i f f u s e r s i m p o r t t o r c h p i p e = d i f f u s e r s . M a r i g o l d D e p t h P i p e l i n e . f r o m _ p r e t r a i n e d ( " p r s - e t h / m a r i g o l d - d e p t h - l c m - v 1 - 0 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) + p i p e . v a e = d i f f u s e r s . A u t o e n c o d e r T i n y . f r o m _ p r e t r a i n e d ( + " m a d e b y o l l i n / t a e s d " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 + ) . c u d a ( ) i m a g e = d i f f u s e r s . u t i l s . l o a d _ i m a g e ( " h t t p s : / / m a r i g o l d m o n o d e p t h . g i t h u b . i o / i m a g e s / e i n s t e i n . j p g " ) d e p t h = p i p e ( i m a g e ) ` ` ` A s s u g g e s t e d i n [ O p t i m i z a t i o n s ] ( . . / o p t i m i z a t i o n / t o r c h 2 . 0 # t o r c h . c o m p i l e ) , a d d i n g ` t o r c h . c o m p i l e ` m a y s q u e e z e e x t r a p e r f o r m a n c e d e p e n d i n g o n t h e t a r g e t h a r d w a r e : ` ` ` d i f f i m p o r t d i f f u s e r s i m p o r t t o r c h p i p e = d i f f u s e r s . M a r i g o l d D e p t h P i p e l i n e . f r o m _ p r e t r a i n e d ( " p r s - e t h / m a r i g o l d - d e p t h - l c m - v 1 - 0 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) + p i p e . u n e t = t o r c h . c o m p i l e ( p i p e . u n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) i m a g e = d i f f u s e r s . u t i l s . l o a d _ i m a g e ( " h t t p s : / / m a r i g o l d m o n o d e p t h . g i t h u b . i o / i m a g e s / e i n s t e i n . j p g " ) d e p t h = p i p e ( i m a g e ) ` ` ` # # Q u a l i t a t i v e C o m p a r i s o n w i t h D e p t h A n y t h i n g W i t h t h e a b o v e s p e e d o p t i m i z a t i o n s , M a r i g o l d d e l i v e r s p r e d i c t i o n s w i t h m o r e d e t a i l s a n d f a s t e r t h a n [ D e p t h A n y t h i n g ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / e n / m o d e l _ d o c / d e p t h _ a n y t h i n g ) w i t h t h e l a r g e s t c h e c k p o i n t [ L i h e Y o u n g / d e p t h - a n y t h i n g - l a r g e - h f ] ( h t t p s : / / h u g g i n g f a c e . c o / L i h e Y o u n g / d e p t h - a n y t h i n g - l a r g e - h f ) : < d i v c l a s s = " f l e x g a p - 4 " > < d i v s t y l e = " f l e x : 1 1 5 0 % ; m a x - w i d t h : 5 0 % ; " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / m a r i g o l d / m a r i g o l d _ e i n s t e i n _ l c m _ d e p t h . p n g " / > < f i g c a p t i o n c l a s s = " m t - 1 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > M a r i g o l d L C M f p 1 6 w i t h T i n y A u t o E n c o d e r < / f i g c a p t i o n > < / d i v > < d i v s t y l e = " f l e x : 1 1 5 0 % ; m a x - w i d t h : 5 0 % ; " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / m a r i g o l d / e i n s t e i n _ d e p t h a n y t h i n g _ l a r g e . p n g " / > < f i g c a p t i o n c l a s s = " m t - 1 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > D e p t h A n y t h i n g L a r g e < / f i g c a p t i o n > < / d i v > < / d i v > # # M a x i m i z i n g P r e c i s i o n a n d E n s e m b l i n g M a r i g o l d p i p e l i n e s h a v e a b u i l t - i n e n s e m b l i n g m e c h a n i s m c o m b i n i n g m u l t i p l e p r e d i c t i o n s f r o m d i f f e r e n t r a n d o m l a t e n t s . T h i s i s a b r u t e - f o r c e w a y o f i m p r o v i n g t h e p r e c i s i o n o f p r e d i c t i o n s , c a p i t a l i z i n g o n t h e g e n e r a t i v e n a t u r e o f d i f f u s i o n . T h e e n s e m b l i n g p a t h i s a c t i v a t e d a u t o m a t i c a l l y w h e n t h e ` e n s e m b l e _ s i z e ` a r g u m e n t i s s e t g r e a t e r t h a n ` 1 ` . W h e n a i m i n g f o r m a x i m u m p r e c i s i o n , i t m a k e s s e n s e t o a d j u s t ` n u m _ i n f e r e n c e _ s t e p s ` s i m u l t a n e o u s l y w i t h ` e n s e m b l e _ s i z e ` . T h e r e c o m m e n d e d v a l u e s v a r y a c r o s s c h e c k p o i n t s b u t p r i m a r i l y d e p e n d o n t h e s c h e d u l e r t y p e . T h e e f f e c t o f e n s e m b l i n g i s p a r t i c u l a r l y w e l l - s e e n w i t h s u r f a c e n o r m a l s : ` ` ` p y t h o n i m p o r t d i f f u s e r s m o d e l _ p a t h = " p r s - e t h / m a r i g o l d - n o r m a l s - v 1 - 0 " m o d e l _ p a p e r _ k w a r g s = { d i f f u s e r s . s c h e d u l e r s . D D I M S c h e d u l e r : { " n u m _ i n f e r e n c e _ s t e p s " : 1 0 , " e n s e m b l e _ s i z e " : 1 0 , } , d i f f u s e r s . s c h e d u l e r s . L C M S c h e d u l e r : { " n u m _ i n f e r e n c e _ s t e p s " : 4 , " e n s e m b l e _ s i z e " : 5 , } , } i m a g e = d i f f u s e r s . u t i l s . l o a d _ i m a g e ( " h t t p s : / / m a r i g o l d m o n o d e p t h . g i t h u b . i o / i m a g e s / e i n s t e i n . j p g " ) p i p e = d i f f u s e r s . M a r i g o l d N o r m a l s P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ p a t h ) . t o ( " c u d a " ) p i p e _ k w a r g s = m o d e l _ p a p e r _ k w a r g s [ t y p e ( p i p e . s c h e d u l e r ) ] d e p t h = p i p e ( i m a g e , * * p i p e _ k w a r g s ) v i s = p i p e . i m a g e _ p r o c e s s o r . v i s u a l i z e _ n o r m a l s ( d e p t h . p r e d i c t i o n ) v i s [ 0 ] . s a v e ( " e i n s t e i n _ n o r m a l s . p n g " ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v s t y l e = " f l e x : 1 1 5 0 % ; m a x - w i d t h : 5 0 % ; " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / m a r i g o l d / m a r i g o l d _ e i n s t e i n _ l c m _ n o r m a l s . p n g " / > < f i g c a p t i o n c l a s s = " m t - 1 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > S u r f a c e n o r m a l s , n o e n s e m b l i n g < / f i g c a p t i o n > < / d i v > < d i v s t y l e = " f l e x : 1 1 5 0 % ; m a x - w i d t h : 5 0 % ; " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / m a r i g o l d / m a r i g o l d _ e i n s t e i n _ n o r m a l s . p n g " / > < f i g c a p t i o n c l a s s = " m t - 1 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > S u r f a c e n o r m a l s , w i t h e n s e m b l i n g < / f i g c a p t i o n > < / d i v > < / d i v > A s c a n b e s e e n , a l l a r e a s w i t h f i n e - g r a i n e d s t r u c t u r e r s , s u c h a s h a i r , g o t m o r e c o n s e r v a t i v e a n d o n a v e r a g e m o r e c o r r e c t p r e d i c t i o n s . S u c h a r e s u l t i s m o r e s u i t a b l e f o r p r e c i s i o n - s e n s i t i v e d o w n s t r e a m t a s k s , s u c h a s 3 D r e c o n s t r u c t i o n . # # Q u a n t i t a t i v e E v a l u a t i o n T o e v a l u a t e M a r i g o l d q u a n t i t a t i v e l y i n s t a n d a r d l e a d e r b o a r d s a n d b e n c h m a r k s ( s u c h a s N Y U , K I T T I , a n d o t h e r d a t a s e t s ) , f o l l o w t h e e v a l u a t i o n p r o t o c o l o u t l i n e d i n t h e p a p e r : l o a d t h e f u l l p r e c i s i o n f p 3 2 m o d e l a n d u s e a p p r o p r i a t e v a l u e s f o r ` n u m _ i n f e r e n c e _ s t e p s ` a n d ` e n s e m b l e _ s i z e ` . O p t i o n a l l y s e e d r a n d o m n e s s t o e n s u r e r e p r o d u c i b i l i t y . M a x i m i z i n g ` b a t c h _ s i z e ` w i l l d e l i v e r m a x i m u m d e v i c e u t i l i z a t i o n . ` ` ` p y t h o n i m p o r t d i f f u s e r s i m p o r t t o r c h d e v i c e = " c u d a " s e e d = 2 0 2 4 m o d e l _ p a t h = " p r s - e t h / m a r i g o l d - v 1 - 0 " m o d e l _ p a p e r _ k w a r g s = { d i f f u s e r s . s c h e d u l e r s . D D I M S c h e d u l e r : { " n u m _ i n f e r e n c e _ s t e p s " : 5 0 , " e n s e m b l e _ s i z e " : 1 0 , } , d i f f u s e r s . s c h e d u l e r s . L C M S c h e d u l e r : { " n u m _ i n f e r e n c e _ s t e p s " : 4 , " e n s e m b l e _ s i z e " : 1 0 , } , } i m a g e = d i f f u s e r s . u t i l s . l o a d _ i m a g e ( " h t t p s : / / m a r i g o l d m o n o d e p t h . g i t h u b . i o / i m a g e s / e i n s t e i n . j p g " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = d e v i c e ) . m a n u a l _ s e e d ( s e e d ) p i p e = d i f f u s e r s . M a r i g o l d D e p t h P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ p a t h ) . t o ( d e v i c e ) p i p e _ k w a r g s = m o d e l _ p a p e r _ k w a r g s [ t y p e ( p i p e . s c h e d u l e r ) ] d e p t h = p i p e ( i m a g e , g e n e r a t o r = g e n e r a t o r , * * p i p e _ k w a r g s ) # e v a l u a t e m e t r i c s ` ` ` # # U s i n g P r e d i c t i v e U n c e r t a i n t y T h e e n s e m b l i n g m e c h a n i s m b u i l t i n t o M a r i g o l d p i p e l i n e s c o m b i n e s m u l t i p l e p r e d i c t i o n s o b t a i n e d f r o m d i f f e r e n t r a n d o m l a t e n t s . A s a s i d e e f f e c t , i t c a n b e u s e d t o q u a n t i f y e p i s t e m i c ( m o d e l ) u n c e r t a i n t y ; s i m p l y s p e c i f y ` e n s e m b l e _ s i z e ` g r e a t e r t h a n 1 a n d s e t ` o u t p u t _ u n c e r t a i n t y = T r u e ` . T h e r e s u l t i n g u n c e r t a i n t y w i l l b e a v a i l a b l e i n t h e ` u n c e r t a i n t y ` f i e l d o f t h e o u t p u t . I t c a n b e v i s u a l i z e d a s f o l l o w s : ` ` ` p y t h o n i m p o r t d i f f u s e r s i m p o r t t o r c h p i p e = d i f f u s e r s . M a r i g o l d D e p t h P i p e l i n e . f r o m _ p r e t r a i n e d ( " p r s - e t h / m a r i g o l d - d e p t h - l c m - v 1 - 0 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) i m a g e = d i f f u s e r s . u t i l s . l o a d _ i m a g e ( " h t t p s : / / m a r i g o l d m o n o d e p t h . g i t h u b . i o / i m a g e s / e i n s t e i n . j p g " ) d e p t h = p i p e ( i m a g e , e n s e m b l e _ s i z e = 1 0 , # a n y n u m b e r g r e a t e r t h a n 1 ; h i g h e r v a l u e s y i e l d h i g h e r p r e c i s i o n o u t p u t _ u n c e r t a i n t y = T r u e , ) u n c e r t a i n t y = p i p e . i m a g e _ p r o c e s s o r . v i s u a l i z e _ u n c e r t a i n t y ( d e p t h . u n c e r t a i n t y ) u n c e r t a i n t y [ 0 ] . s a v e ( " e i n s t e i n _ d e p t h _ u n c e r t a i n t y . p n g " ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v s t y l e = " f l e x : 1 1 5 0 % ; m a x - w i d t h : 5 0 % ; " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / m a r i g o l d / m a r i g o l d _ e i n s t e i n _ d e p t h _ u n c e r t a i n t y . p n g " / > < f i g c a p t i o n c l a s s = " m t - 1 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > D e p t h u n c e r t a i n t y < / f i g c a p t i o n > < / d i v > < d i v s t y l e = " f l e x : 1 1 5 0 % ; m a x - w i d t h : 5 0 % ; " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / m a r i g o l d / m a r i g o l d _ e i n s t e i n _ n o r m a l s _ u n c e r t a i n t y . p n g " / > < f i g c a p t i o n c l a s s = " m t - 1 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > S u r f a c e n o r m a l s u n c e r t a i n t y < / f i g c a p t i o n > < / d i v > < / d i v > T h e i n t e r p r e t a t i o n o f u n c e r t a i n t y i s e a s y : h i g h e r v a l u e s ( w h i t e ) c o r r e s p o n d t o p i x e l s , w h e r e t h e m o d e l s t r u g g l e s t o m a k e c o n s i s t e n t p r e d i c t i o n s . E v i d e n t l y , t h e d e p t h m o d e l i s t h e l e a s t c o n f i d e n t a r o u n d e d g e s w i t h d i s c o n t i n u i t y , w h e r e t h e o b j e c t d e p t h c h a n g e s d r a s t i c a l l y . T h e s u r f a c e n o r m a l s m o d e l i s t h e l e a s t c o n f i d e n t i n f i n e - g r a i n e d s t r u c t u r e s , s u c h a s h a i r , a n d d a r k a r e a s , s u c h a s t h e c o l l a r . # # F r a m e - b y - f r a m e V i d e o P r o c e s s i n g w i t h T e m p o r a l C o n s i s t e n c y D u e t o M a r i g o l d ' s g e n e r a t i v e n a t u r e , e a c h p r e d i c t i o n i s u n i q u e a n d d e f i n e d b y t h e r a n d o m n o i s e s a m p l e d f o r t h e l a t e n t i n i t i a l i z a t i o n . T h i s b e c o m e s a n o b v i o u s d r a w b a c k c o m p a r e d t o t r a d i t i o n a l e n d - t o - e n d d e n s e r e g r e s s i o n n e t w o r k s , a s e x e m p l i f i e d i n t h e f o l l o w i n g v i d e o s : < d i v c l a s s = " f l e x g a p - 4 " > < d i v s t y l e = " f l e x : 1 1 5 0 % ; m a x - w i d t h : 5 0 % ; " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / m a r i g o l d / m a r i g o l d _ o b a m a . g i f " / > < f i g c a p t i o n c l a s s = " m t - 1 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > I n p u t v i d e o < / f i g c a p t i o n > < / d i v > < d i v s t y l e = " f l e x : 1 1 5 0 % ; m a x - w i d t h : 5 0 % ; " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / m a r i g o l d / m a r i g o l d _ o b a m a _ d e p t h _ i n d e p e n d e n t . g i f " / > < f i g c a p t i o n c l a s s = " m t - 1 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > M a r i g o l d D e p t h a p p l i e d t o i n p u t v i d e o f r a m e s i n d e p e n d e n t l y < / f i g c a p t i o n > < / d i v > < / d i v > T o a d d r e s s t h i s i s s u e , i t i s p o s s i b l e t o p a s s ` l a t e n t s ` a r g u m e n t t o t h e p i p e l i n e s , w h i c h d e f i n e s t h e s t a r t i n g p o i n t o f d i f f u s i o n . E m p i r i c a l l y , w e f o u n d t h a t a c o n v e x c o m b i n a t i o n o f t h e v e r y s a m e s t a r t i n g p o i n t n o i s e l a t e n t a n d t h e l a t e n t c o r r e s p o n d i n g t o t h e p r e v i o u s f r a m e p r e d i c t i o n g i v e s u f f i c i e n t l y s m o o t h r e s u l t s , a s i m p l e m e n t e d i n t h e s n i p p e t b e l o w : ` ` ` p y t h o n i m p o r t i m a g e i o f r o m P I L i m p o r t I m a g e f r o m t q d m i m p o r t t q d m i m p o r t d i f f u s e r s i m p o r t t o r c h d e v i c e = " c u d a " p a t h _ i n = " o b a m a . m p 4 " p a t h _ o u t = " o b a m a _ d e p t h . g i f " p i p e = d i f f u s e r s . M a r i g o l d D e p t h P i p e l i n e . f r o m _ p r e t r a i n e d ( " p r s - e t h / m a r i g o l d - d e p t h - l c m - v 1 - 0 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( d e v i c e ) p i p e . v a e = d i f f u s e r s . A u t o e n c o d e r T i n y . f r o m _ p r e t r a i n e d ( " m a d e b y o l l i n / t a e s d " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( d e v i c e ) p i p e . s e t _ p r o g r e s s _ b a r _ c o n f i g ( d i s a b l e = T r u e ) w i t h i m a g e i o . g e t _ r e a d e r ( p a t h _ i n ) a s r e a d e r : s i z e = r e a d e r . g e t _ m e t a _ d a t a ( ) [ ' s i z e ' ] l a s t _ f r a m e _ l a t e n t = N o n e l a t e n t _ c o m m o n = t o r c h . r a n d n ( ( 1 , 4 , 7 6 8 * s i z e [ 1 ] / / ( 8 * m a x ( s i z e ) ) , 7 6 8 * s i z e [ 0 ] / / ( 8 * m a x ( s i z e ) ) ) ) . t o ( d e v i c e = d e v i c e , d t y p e = t o r c h . f l o a t 1 6 ) o u t = [ ] f o r f r a m e _ i d , f r a m e i n t q d m ( e n u m e r a t e ( r e a d e r ) , d e s c = " P r o c e s s i n g V i d e o " ) : f r a m e = I m a g e . f r o m a r r a y ( f r a m e ) l a t e n t s = l a t e n t _ c o m m o n i f l a s t _ f r a m e _ l a t e n t i s n o t N o n e : l a t e n t s = 0 . 9 * l a t e n t s + 0 . 1 * l a s t _ f r a m e _ l a t e n t d e p t h = p i p e ( f r a m e , m a t c h _ i n p u t _ r e s o l u t i o n = F a l s e , l a t e n t s = l a t e n t s , o u t p u t _ l a t e n t = T r u e ) l a s t _ f r a m e _ l a t e n t = d e p t h . l a t e n t o u t . a p p e n d ( p i p e . i m a g e _ p r o c e s s o r . v i s u a l i z e _ d e p t h ( d e p t h . p r e d i c t i o n ) [ 0 ] ) d i f f u s e r s . u t i l s . e x p o r t _ t o _ g i f ( o u t , p a t h _ o u t , f p s = r e a d e r . g e t _ m e t a _ d a t a ( ) [ ' f p s ' ] ) ` ` ` H e r e , t h e d i f f u s i o n p r o c e s s s t a r t s f r o m t h e g i v e n c o m p u t e d l a t e n t . T h e p i p e l i n e s e t s ` o u t p u t _ l a t e n t = T r u e ` t o a c c e s s ` o u t . l a t e n t ` a n d c o m p u t e s i t s c o n t r i b u t i o n t o t h e n e x t f r a m e ' s l a t e n t i n i t i a l i z a t i o n . T h e r e s u l t i s m u c h m o r e s t a b l e n o w : < d i v c l a s s = " f l e x g a p - 4 " > < d i v s t y l e = " f l e x : 1 1 5 0 % ; m a x - w i d t h : 5 0 % ; " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / m a r i g o l d / m a r i g o l d _ o b a m a _ d e p t h _ i n d e p e n d e n t . g i f " / > < f i g c a p t i o n c l a s s = " m t - 1 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > M a r i g o l d D e p t h a p p l i e d t o i n p u t v i d e o f r a m e s i n d e p e n d e n t l y < / f i g c a p t i o n > < / d i v > < d i v s t y l e = " f l e x : 1 1 5 0 % ; m a x - w i d t h : 5 0 % ; " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / m a r i g o l d / m a r i g o l d _ o b a m a _ d e p t h _ c o n s i s t e n t . g i f " / > < f i g c a p t i o n c l a s s = " m t - 1 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > M a r i g o l d D e p t h w i t h f o r c e d l a t e n t s i n i t i a l i z a t i o n < / f i g c a p t i o n > < / d i v > < / d i v > # # M a r i g o l d f o r C o n t r o l N e t A v e r y c o m m o n a p p l i c a t i o n f o r d e p t h p r e d i c t i o n w i t h d i f f u s i o n m o d e l s c o m e s i n c o n j u n c t i o n w i t h C o n t r o l N e t . D e p t h c r i s p n e s s p l a y s a c r u c i a l r o l e i n o b t a i n i n g h i g h - q u a l i t y r e s u l t s f r o m C o n t r o l N e t . A s s e e n i n c o m p a r i s o n s w i t h o t h e r m e t h o d s a b o v e , M a r i g o l d e x c e l s a t t h a t t a s k . T h e s n i p p e t b e l o w d e m o n s t r a t e s h o w t o l o a d a n i m a g e , c o m p u t e d e p t h , a n d p a s s i t i n t o C o n t r o l N e t i n a c o m p a t i b l e f o r m a t : ` ` ` p y t h o n i m p o r t t o r c h i m p o r t d i f f u s e r s d e v i c e = " c u d a " g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = d e v i c e ) . m a n u a l _ s e e d ( 2 0 2 4 ) i m a g e = d i f f u s e r s . u t i l s . l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o n t r o l n e t _ d e p t h _ s o u r c e . p n g " ) p i p e = d i f f u s e r s . M a r i g o l d D e p t h P i p e l i n e . f r o m _ p r e t r a i n e d ( " p r s - e t h / m a r i g o l d - d e p t h - l c m - v 1 - 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) . t o ( d e v i c e ) d e p t h _ i m a g e = p i p e ( i m a g e , g e n e r a t o r = g e n e r a t o r ) . p r e d i c t i o n d e p t h _ i m a g e = p i p e . i m a g e _ p r o c e s s o r . v i s u a l i z e _ d e p t h ( d e p t h _ i m a g e , c o l o r _ m a p = " b i n a r y " ) d e p t h _ i m a g e [ 0 ] . s a v e ( " m o t o r c y c l e _ c o n t r o l n e t _ d e p t h . p n g " ) c o n t r o l n e t = d i f f u s e r s . C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " d i f f u s e r s / c o n t r o l n e t - d e p t h - s d x l - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) . t o ( d e v i c e ) p i p e = d i f f u s e r s . S t a b l e D i f f u s i o n X L C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( " S G 1 6 1 2 2 2 / R e a l V i s X L _ V 4 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , c o n t r o l n e t = c o n t r o l n e t ) . t o ( d e v i c e ) p i p e . s c h e d u l e r = d i f f u s e r s . D P M S o l v e r M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g , u s e _ k a r r a s _ s i g m a s = T r u e ) c o n t r o l n e t _ o u t = p i p e ( p r o m p t = " h i g h q u a l i t y p h o t o o f a s p o r t s b i k e , c i t y " , n e g a t i v e _ p r o m p t = " " , g u i d a n c e _ s c a l e = 6 . 5 , n u m _ i n f e r e n c e _ s t e p s = 2 5 , i m a g e = d e p t h _ i m a g e , c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e = 0 . 7 , c o n t r o l _ g u i d a n c e _ e n d = 0 . 7 , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s c o n t r o l n e t _ o u t [ 0 ] . s a v e ( " m o t o r c y c l e _ c o n t r o l n e t _ o u t . p n g " ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v s t y l e = " f l e x : 1 1 3 3 % ; m a x - w i d t h : 3 3 % ; " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / c o n t r o l n e t _ d e p t h _ s o u r c e . p n g " / > < f i g c a p t i o n c l a s s = " m t - 1 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > I n p u t i m a g e < / f i g c a p t i o n > < / d i v > < d i v s t y l e = " f l e x : 1 1 3 3 % ; m a x - w i d t h : 3 3 % ; " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / m a r i g o l d / m o t o r c y c l e _ c o n t r o l n e t _ d e p t h . p n g " / > < f i g c a p t i o n c l a s s = " m t - 1 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > D e p t h i n t h e f o r m a t c o m p a t i b l e w i t h C o n t r o l N e t < / f i g c a p t i o n > < / d i v > < d i v s t y l e = " f l e x : 1 1 3 3 % ; m a x - w i d t h : 3 3 % ; " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / m a r i g o l d / m o t o r c y c l e _ c o n t r o l n e t _ o u t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 1 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > C o n t r o l N e t g e n e r a t i o n , c o n d i t i o n e d o n d e p t h a n d p r o m p t : " h i g h q u a l i t y p h o t o o f a s p o r t s b i k e , c i t y " < / f i g c a p t i o n > < / d i v > < / d i v > H o p e f u l l y , y o u w i l l f i n d M a r i g o l d u s e f u l f o r s o l v i n g y o u r d o w n s t r e a m t a s k s , b e i t a p a r t o f a m o r e b r o a d g e n e r a t i v e w o r k f l o w , o r a p e r c e p t i o n t a s k , s u c h a s 3 D r e c o n s t r u c t i o n . # J A X / F l a x ๐Ÿค— D i f f u s e r s s u p p o r t s F l a x f o r s u p e r f a s t i n f e r e n c e o n G o o g l e T P U s , s u c h a s t h o s e a v a i l a b l e i n C o l a b , K a g g l e o r G o o g l e C l o u d P l a t f o r m . T h i s g u i d e s h o w s y o u h o w t o r u n i n f e r e n c e w i t h S t a b l e D i f f u s i o n u s i n g J A X / F l a x . B e f o r e y o u b e g i n , m a k e s u r e y o u h a v e t h e n e c e s s a r y l i b r a r i e s i n s t a l l e d : ` ` ` p y # u n c o m m e n t t o i n s t a l l t h e n e c e s s a r y l i b r a r i e s i n C o l a b # ! p i p i n s t a l l - q j a x = = 0 . 3 . 2 5 j a x l i b = = 0 . 3 . 2 5 f l a x t r a n s f o r m e r s f t f y # ! p i p i n s t a l l - q d i f f u s e r s ` ` ` Y o u s h o u l d a l s o m a k e s u r e y o u ' r e u s i n g a T P U b a c k e n d . W h i l e J A X d o e s n o t r u n e x c l u s i v e l y o n T P U s , y o u ' l l g e t t h e b e s t p e r f o r m a n c e o n a T P U b e c a u s e e a c h s e r v e r h a s 8 T P U a c c e l e r a t o r s w o r k i n g i n p a r a l l e l . I f y o u a r e r u n n i n g t h i s g u i d e i n C o l a b , s e l e c t * R u n t i m e * i n t h e m e n u a b o v e , s e l e c t t h e o p t i o n * C h a n g e r u n t i m e t y p e * , a n d t h e n s e l e c t * T P U * u n d e r t h e * H a r d w a r e a c c e l e r a t o r * s e t t i n g . I m p o r t J A X a n d q u i c k l y c h e c k w h e t h e r y o u ' r e u s i n g a T P U : ` ` ` p y t h o n i m p o r t j a x i m p o r t j a x . t o o l s . c o l a b _ t p u j a x . t o o l s . c o l a b _ t p u . s e t u p _ t p u ( ) n u m _ d e v i c e s = j a x . d e v i c e _ c o u n t ( ) d e v i c e _ t y p e = j a x . d e v i c e s ( ) [ 0 ] . d e v i c e _ k i n d p r i n t ( f " F o u n d { n u m _ d e v i c e s } J A X d e v i c e s o f t y p e { d e v i c e _ t y p e } . " ) a s s e r t ( " T P U " i n d e v i c e _ t y p e , " A v a i l a b l e d e v i c e i s n o t a T P U , p l e a s e s e l e c t T P U f r o m R u n t i m e > C h a n g e r u n t i m e t y p e > H a r d w a r e a c c e l e r a t o r " ) # F o u n d 8 J A X d e v i c e s o f t y p e C l o u d T P U . ` ` ` G r e a t , n o w y o u c a n i m p o r t t h e r e s t o f t h e d e p e n d e n c i e s y o u ' l l n e e d : ` ` ` p y t h o n i m p o r t j a x . n u m p y a s j n p f r o m j a x i m p o r t p m a p f r o m f l a x . j a x _ u t i l s i m p o r t r e p l i c a t e f r o m f l a x . t r a i n i n g . c o m m o n _ u t i l s i m p o r t s h a r d f r o m d i f f u s e r s i m p o r t F l a x S t a b l e D i f f u s i o n P i p e l i n e ` ` ` # # L o a d a m o d e l F l a x i s a f u n c t i o n a l f r a m e w o r k , s o m o d e l s a r e s t a t e l e s s a n d p a r a m e t e r s a r e s t o r e d o u t s i d e o f t h e m . L o a d i n g a p r e t r a i n e d F l a x p i p e l i n e r e t u r n s * b o t h * t h e p i p e l i n e a n d t h e m o d e l w e i g h t s ( o r p a r a m e t e r s ) . I n t h i s g u i d e , y o u ' l l u s e ` b f l o a t 1 6 ` , a m o r e e f f i c i e n t h a l f - f l o a t t y p e t h a t i s s u p p o r t e d b y T P U s ( y o u c a n a l s o u s e ` f l o a t 3 2 ` f o r f u l l p r e c i s i o n i f y o u w a n t ) . ` ` ` p y t h o n d t y p e = j n p . b f l o a t 1 6 p i p e l i n e , p a r a m s = F l a x S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 " , v a r i a n t = " b f 1 6 " , d t y p e = d t y p e , ) ` ` ` # # I n f e r e n c e T P U s u s u a l l y h a v e 8 d e v i c e s w o r k i n g i n p a r a l l e l , s o l e t ' s u s e t h e s a m e p r o m p t f o r e a c h d e v i c e . T h i s m e a n s y o u c a n p e r f o r m i n f e r e n c e o n 8 d e v i c e s a t o n c e , w i t h e a c h d e v i c e g e n e r a t i n g o n e i m a g e . A s a r e s u l t , y o u ' l l g e t 8 i m a g e s i n t h e s a m e a m o u n t o f t i m e i t t a k e s f o r o n e c h i p t o g e n e r a t e a s i n g l e i m a g e ! < T i p > L e a r n m o r e d e t a i l s i n t h e [ H o w d o e s p a r a l l e l i z a t i o n w o r k ? ] ( # h o w - d o e s - p a r a l l e l i z a t i o n - w o r k ) s e c t i o n . < / T i p > A f t e r r e p l i c a t i n g t h e p r o m p t , g e t t h e t o k e n i z e d t e x t i d s b y c a l l i n g t h e ` p r e p a r e _ i n p u t s ` f u n c t i o n o n t h e p i p e l i n e . T h e l e n g t h o f t h e t o k e n i z e d t e x t i s s e t t o 7 7 t o k e n s a s r e q u i r e d b y t h e c o n f i g u r a t i o n o f t h e u n d e r l y i n g C L I P t e x t m o d e l . ` ` ` p y t h o n p r o m p t = " A c i n e m a t i c f i l m s t i l l o f M o r g a n F r e e m a n s t a r r i n g a s J i m i H e n d r i x , p o r t r a i t , 4 0 m m l e n s , s h a l l o w d e p t h o f f i e l d , c l o s e u p , s p l i t l i g h t i n g , c i n e m a t i c " p r o m p t = [ p r o m p t ] * j a x . d e v i c e _ c o u n t ( ) p r o m p t _ i d s = p i p e l i n e . p r e p a r e _ i n p u t s ( p r o m p t ) p r o m p t _ i d s . s h a p e # ( 8 , 7 7 ) ` ` ` M o d e l p a r a m e t e r s a n d i n p u t s h a v e t o b e r e p l i c a t e d a c r o s s t h e 8 p a r a l l e l d e v i c e s . T h e p a r a m e t e r s d i c t i o n a r y i s r e p l i c a t e d w i t h [ ` f l a x . j a x _ u t i l s . r e p l i c a t e ` ] ( h t t p s : / / f l a x . r e a d t h e d o c s . i o / e n / l a t e s t / a p i _ r e f e r e n c e / f l a x . j a x _ u t i l s . h t m l # f l a x . j a x _ u t i l s . r e p l i c a t e ) w h i c h t r a v e r s e s t h e d i c t i o n a r y a n d c h a n g e s t h e s h a p e o f t h e w e i g h t s s o t h e y a r e r e p e a t e d 8 t i m e s . A r r a y s a r e r e p l i c a t e d u s i n g ` s h a r d ` . ` ` ` p y t h o n # p a r a m e t e r s p _ p a r a m s = r e p l i c a t e ( p a r a m s ) # a r r a y s p r o m p t _ i d s = s h a r d ( p r o m p t _ i d s ) p r o m p t _ i d s . s h a p e # ( 8 , 1 , 7 7 ) ` ` ` T h i s s h a p e m e a n s e a c h o n e o f t h e 8 d e v i c e s r e c e i v e s a s a n i n p u t a ` j n p ` a r r a y w i t h s h a p e ` ( 1 , 7 7 ) ` , w h e r e ` 1 ` i s t h e b a t c h s i z e p e r d e v i c e . O n T P U s w i t h s u f f i c i e n t m e m o r y , y o u c o u l d h a v e a b a t c h s i z e l a r g e r t h a n ` 1 ` i f y o u w a n t t o g e n e r a t e m u l t i p l e i m a g e s ( p e r c h i p ) a t o n c e . N e x t , c r e a t e a r a n d o m n u m b e r g e n e r a t o r t o p a s s t o t h e g e n e r a t i o n f u n c t i o n . T h i s i s s t a n d a r d p r o c e d u r e i n F l a x , w h i c h i s v e r y s e r i o u s a n d o p i n i o n a t e d a b o u t r a n d o m n u m b e r s . A l l f u n c t i o n s t h a t d e a l w i t h r a n d o m n u m b e r s a r e e x p e c t e d t o r e c e i v e a g e n e r a t o r t o e n s u r e r e p r o d u c i b i l i t y , e v e n w h e n y o u ' r e t r a i n i n g a c r o s s m u l t i p l e d i s t r i b u t e d d e v i c e s . T h e h e l p e r f u n c t i o n b e l o w u s e s a s e e d t o i n i t i a l i z e a r a n d o m n u m b e r g e n e r a t o r . A s l o n g a s y o u u s e t h e s a m e s e e d , y o u ' l l g e t t h e e x a c t s a m e r e s u l t s . F e e l f r e e t o u s e d i f f e r e n t s e e d s w h e n e x p l o r i n g r e s u l t s l a t e r i n t h e g u i d e . ` ` ` p y t h o n d e f c r e a t e _ k e y ( s e e d = 0 ) : r e t u r n j a x . r a n d o m . P R N G K e y ( s e e d ) ` ` ` T h e h e l p e r f u n c t i o n , o r ` r n g ` , i s s p l i t 8 t i m e s s o e a c h d e v i c e r e c e i v e s a d i f f e r e n t g e n e r a t o r a n d g e n e r a t e s a d i f f e r e n t i m a g e . ` ` ` p y t h o n r n g = c r e a t e _ k e y ( 0 ) r n g = j a x . r a n d o m . s p l i t ( r n g , j a x . d e v i c e _ c o u n t ( ) ) ` ` ` T o t a k e a d v a n t a g e o f J A X ' s o p t i m i z e d s p e e d o n a T P U , p a s s ` j i t = T r u e ` t o t h e p i p e l i n e t o c o m p i l e t h e J A X c o d e i n t o a n e f f i c i e n t r e p r e s e n t a t i o n a n d t o e n s u r e t h e m o d e l r u n s i n p a r a l l e l a c r o s s t h e 8 d e v i c e s . < T i p w a r n i n g = { t r u e } > Y o u n e e d t o e n s u r e a l l y o u r i n p u t s h a v e t h e s a m e s h a p e i n s u b s e q u e n t c a l l s , o t h e r w i s e J A X w i l l n e e d t o r e c o m p i l e t h e c o d e w h i c h i s s l o w e r . < / T i p > T h e f i r s t i n f e r e n c e r u n t a k e s m o r e t i m e b e c a u s e i t n e e d s t o c o m p i l e t h e c o d e , b u t s u b s e q u e n t c a l l s ( e v e n w i t h d i f f e r e n t i n p u t s ) a r e m u c h f a s t e r . F o r e x a m p l e , i t t o o k m o r e t h a n a m i n u t e t o c o m p i l e o n a T P U v 2 - 8 , b u t t h e n i t t a k e s a b o u t * * 7 s * * o n a f u t u r e i n f e r e n c e r u n ! ` ` ` p y % % t i m e i m a g e s = p i p e l i n e ( p r o m p t _ i d s , p _ p a r a m s , r n g , j i t = T r u e ) [ 0 ] # C P U t i m e s : u s e r 5 6 . 2 s , s y s : 4 2 . 5 s , t o t a l : 1 m i n 3 8 s # W a l l t i m e : 1 m i n 2 9 s ` ` ` T h e r e t u r n e d a r r a y h a s s h a p e ` ( 8 , 1 , 5 1 2 , 5 1 2 , 3 ) ` w h i c h s h o u l d b e r e s h a p e d t o r e m o v e t h e s e c o n d d i m e n s i o n a n d g e t 8 i m a g e s o f ` 5 1 2 ร— 5 1 2 ร— 3 ` . T h e n y o u c a n u s e t h e [ n u m p y _ t o _ p i l ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / u t i l i t i e s # d i f f u s e r s . u t i l s . n u m p y _ t o _ p i l ) f u n c t i o n t o c o n v e r t t h e a r r a y s i n t o i m a g e s . ` ` ` p y t h o n f r o m d i f f u s e r s . u t i l s i m p o r t m a k e _ i m a g e _ g r i d i m a g e s = i m a g e s . r e s h a p e ( ( i m a g e s . s h a p e [ 0 ] * i m a g e s . s h a p e [ 1 ] , ) + i m a g e s . s h a p e [ - 3 : ] ) i m a g e s = p i p e l i n e . n u m p y _ t o _ p i l ( i m a g e s ) m a k e _ i m a g e _ g r i d ( i m a g e s , r o w s = 2 , c o l s = 4 ) ` ` ` ! [ i m g ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t - d o c - a s s e t s / r e s o l v e / m a i n / s t a b l e _ d i f f u s i o n _ j a x _ h o w _ t o _ c e l l _ 3 8 _ o u t p u t _ 0 . j p e g ) # # U s i n g d i f f e r e n t p r o m p t s Y o u d o n ' t n e c e s s a r i l y h a v e t o u s e t h e s a m e p r o m p t o n a l l d e v i c e s . F o r e x a m p l e , t o g e n e r a t e 8 d i f f e r e n t p r o m p t s : ` ` ` p y t h o n p r o m p t s = [ " L a b r a d o r i n t h e s t y l e o f H o k u s a i " , " P a i n t i n g o f a s q u i r r e l s k a t i n g i n N e w Y o r k " , " H A L - 9 0 0 0 i n t h e s t y l e o f V a n G o g h " , " T i m e s S q u a r e u n d e r w a t e r , w i t h f i s h a n d a d o l p h i n s w i m m i n g a r o u n d " , " A n c i e n t R o m a n f r e s c o s h o w i n g a m a n w o r k i n g o n h i s l a p t o p " , " C l o s e - u p p h o t o g r a p h o f y o u n g b l a c k w o m a n a g a i n s t u r b a n b a c k g r o u n d , h i g h q u a l i t y , b o k e h " , " A r m c h a i r i n t h e s h a p e o f a n a v o c a d o " , " C l o w n a s t r o n a u t i n s p a c e , w i t h E a r t h i n t h e b a c k g r o u n d " , ] p r o m p t _ i d s = p i p e l i n e . p r e p a r e _ i n p u t s ( p r o m p t s ) p r o m p t _ i d s = s h a r d ( p r o m p t _ i d s ) i m a g e s = p i p e l i n e ( p r o m p t _ i d s , p _ p a r a m s , r n g , j i t = T r u e ) . i m a g e s i m a g e s = i m a g e s . r e s h a p e ( ( i m a g e s . s h a p e [ 0 ] * i m a g e s . s h a p e [ 1 ] , ) + i m a g e s . s h a p e [ - 3 : ] ) i m a g e s = p i p e l i n e . n u m p y _ t o _ p i l ( i m a g e s ) m a k e _ i m a g e _ g r i d ( i m a g e s , 2 , 4 ) ` ` ` ! [ i m g ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t - d o c - a s s e t s / r e s o l v e / m a i n / s t a b l e _ d i f f u s i o n _ j a x _ h o w _ t o _ c e l l _ 4 3 _ o u t p u t _ 0 . j p e g ) # # H o w d o e s p a r a l l e l i z a t i o n w o r k ? T h e F l a x p i p e l i n e i n ๐Ÿค— D i f f u s e r s a u t o m a t i c a l l y c o m p i l e s t h e m o d e l a n d r u n s i t i n p a r a l l e l o n a l l a v a i l a b l e d e v i c e s . L e t ' s t a k e a c l o s e r l o o k a t h o w t h a t p r o c e s s w o r k s . J A X p a r a l l e l i z a t i o n c a n b e d o n e i n m u l t i p l e w a y s . T h e e a s i e s t o n e r e v o l v e s a r o u n d u s i n g t h e [ ` j a x . p m a p ` ] ( h t t p s : / / j a x . r e a d t h e d o c s . i o / e n / l a t e s t / _ a u t o s u m m a r y / j a x . p m a p . h t m l ) f u n c t i o n t o a c h i e v e s i n g l e - p r o g r a m m u l t i p l e - d a t a ( S P M D ) p a r a l l e l i z a t i o n . I t m e a n s r u n n i n g s e v e r a l c o p i e s o f t h e s a m e c o d e , e a c h o n d i f f e r e n t d a t a i n p u t s . M o r e s o p h i s t i c a t e d a p p r o a c h e s a r e p o s s i b l e , a n d y o u c a n g o o v e r t o t h e J A X [ d o c u m e n t a t i o n ] ( h t t p s : / / j a x . r e a d t h e d o c s . i o / e n / l a t e s t / i n d e x . h t m l ) t o e x p l o r e t h i s t o p i c i n m o r e d e t a i l i f y o u a r e i n t e r e s t e d ! ` j a x . p m a p ` d o e s t w o t h i n g s : 1 . C o m p i l e s ( o r " ` j i t ` s " ) t h e c o d e w h i c h i s s i m i l a r t o ` j a x . j i t ( ) ` . T h i s d o e s n o t h a p p e n w h e n y o u c a l l ` p m a p ` , a n d o n l y t h e f i r s t t i m e t h e ` p m a p ` p e d f u n c t i o n i s c a l l e d . 2 . E n s u r e s t h e c o m p i l e d c o d e r u n s i n p a r a l l e l o n a l l a v a i l a b l e d e v i c e s . T o d e m o n s t r a t e , c a l l ` p m a p ` o n t h e p i p e l i n e ' s ` _ g e n e r a t e ` m e t h o d ( t h i s i s a p r i v a t e m e t h o d t h a t g e n e r a t e s i m a g e s a n d m a y b e r e n a m e d o r r e m o v e d i n f u t u r e r e l e a s e s o f ๐Ÿค— D i f f u s e r s ) : ` ` ` p y t h o n p _ g e n e r a t e = p m a p ( p i p e l i n e . _ g e n e r a t e ) ` ` ` A f t e r c a l l i n g ` p m a p ` , t h e p r e p a r e d f u n c t i o n ` p _ g e n e r a t e ` w i l l : 1 . M a k e a c o p y o f t h e u n d e r l y i n g f u n c t i o n , ` p i p e l i n e . _ g e n e r a t e ` , o n e a c h d e v i c e . 2 . S e n d e a c h d e v i c e a d i f f e r e n t p o r t i o n o f t h e i n p u t a r g u m e n t s ( t h i s i s w h y i t ' s n e c e s s a r y t o c a l l t h e * s h a r d * f u n c t i o n ) . I n t h i s c a s e , ` p r o m p t _ i d s ` h a s s h a p e ` ( 8 , 1 , 7 7 , 7 6 8 ) ` s o t h e a r r a y i s s p l i t i n t o 8 a n d e a c h c o p y o f ` _ g e n e r a t e ` r e c e i v e s a n i n p u t w i t h s h a p e ` ( 1 , 7 7 , 7 6 8 ) ` . T h e m o s t i m p o r t a n t t h i n g t o p a y a t t e n t i o n t o h e r e i s t h e b a t c h s i z e ( 1 i n t h i s e x a m p l e ) , a n d t h e i n p u t d i m e n s i o n s t h a t m a k e s e n s e f o r y o u r c o d e . Y o u d o n ' t h a v e t o c h a n g e a n y t h i n g e l s e t o m a k e t h e c o d e w o r k i n p a r a l l e l . T h e f i r s t t i m e y o u c a l l t h e p i p e l i n e t a k e s m o r e t i m e , b u t t h e c a l l s a f t e r w a r d a r e m u c h f a s t e r . T h e ` b l o c k _ u n t i l _ r e a d y ` f u n c t i o n i s u s e d t o c o r r e c t l y m e a s u r e i n f e r e n c e t i m e b e c a u s e J A X u s e s a s y n c h r o n o u s d i s p a t c h a n d r e t u r n s c o n t r o l t o t h e P y t h o n l o o p a s s o o n a s i t c a n . Y o u d o n ' t n e e d t o u s e t h a t i n y o u r c o d e ; b l o c k i n g o c c u r s a u t o m a t i c a l l y w h e n y o u w a n t t o u s e t h e r e s u l t o f a c o m p u t a t i o n t h a t h a s n o t y e t b e e n m a t e r i a l i z e d . ` ` ` p y % % t i m e i m a g e s = p _ g e n e r a t e ( p r o m p t _ i d s , p _ p a r a m s , r n g ) i m a g e s = i m a g e s . b l o c k _ u n t i l _ r e a d y ( ) # C P U t i m e s : u s e r 1 m i n 1 5 s , s y s : 1 8 . 2 s , t o t a l : 1 m i n 3 4 s # W a l l t i m e : 1 m i n 1 5 s ` ` ` C h e c k y o u r i m a g e d i m e n s i o n s t o s e e i f t h e y ' r e c o r r e c t : ` ` ` p y t h o n i m a g e s . s h a p e # ( 8 , 1 , 5 1 2 , 5 1 2 , 3 ) ` ` ` # # R e s o u r c e s T o l e a r n m o r e a b o u t h o w J A X w o r k s w i t h S t a b l e D i f f u s i o n , y o u m a y b e i n t e r e s t e d i n r e a d i n g : * [ A c c e l e r a t i n g S t a b l e D i f f u s i o n X L I n f e r e n c e w i t h J A X o n C l o u d T P U v 5 e ] ( h t t p s : / / h f . c o / b l o g / s d x l _ j a x ) # L o a d a d a p t e r s T h e r e a r e s e v e r a l [ t r a i n i n g ] ( . . / t r a i n i n g / o v e r v i e w ) t e c h n i q u e s f o r p e r s o n a l i z i n g d i f f u s i o n m o d e l s t o g e n e r a t e i m a g e s o f a s p e c i f i c s u b j e c t o r i m a g e s i n c e r t a i n s t y l e s . E a c h o f t h e s e t r a i n i n g m e t h o d s p r o d u c e s a d i f f e r e n t t y p e o f a d a p t e r . S o m e o f t h e a d a p t e r s g e n e r a t e a n e n t i r e l y n e w m o d e l , w h i l e o t h e r a d a p t e r s o n l y m o d i f y a s m a l l e r s e t o f e m b e d d i n g s o r w e i g h t s . T h i s m e a n s t h e l o a d i n g p r o c e s s f o r e a c h a d a p t e r i s a l s o d i f f e r e n t . T h i s g u i d e w i l l s h o w y o u h o w t o l o a d D r e a m B o o t h , t e x t u a l i n v e r s i o n , a n d L o R A w e i g h t s . < T i p > F e e l f r e e t o b r o w s e t h e [ S t a b l e D i f f u s i o n C o n c e p t u a l i z e r ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / s d - c o n c e p t s - l i b r a r y / s t a b l e - d i f f u s i o n - c o n c e p t u a l i z e r ) , [ L o R A t h e E x p l o r e r ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / m u l t i m o d a l a r t / L o r a T h e E x p l o r e r ) , a n d t h e [ D i f f u s e r s M o d e l s G a l l e r y ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / h u g g i n g f a c e - p r o j e c t s / d i f f u s e r s - g a l l e r y ) f o r c h e c k p o i n t s a n d e m b e d d i n g s t o u s e . < / T i p > # # D r e a m B o o t h [ D r e a m B o o t h ] ( h t t p s : / / d r e a m b o o t h . g i t h u b . i o / ) f i n e t u n e s a n * e n t i r e d i f f u s i o n m o d e l * o n j u s t s e v e r a l i m a g e s o f a s u b j e c t t o g e n e r a t e i m a g e s o f t h a t s u b j e c t i n n e w s t y l e s a n d s e t t i n g s . T h i s m e t h o d w o r k s b y u s i n g a s p e c i a l w o r d i n t h e p r o m p t t h a t t h e m o d e l l e a r n s t o a s s o c i a t e w i t h t h e s u b j e c t i m a g e . O f a l l t h e t r a i n i n g m e t h o d s , D r e a m B o o t h p r o d u c e s t h e l a r g e s t f i l e s i z e ( u s u a l l y a f e w G B s ) b e c a u s e i t i s a f u l l c h e c k p o i n t m o d e l . L e t ' s l o a d t h e [ h e r g e _ s t y l e ] ( h t t p s : / / h u g g i n g f a c e . c o / s d - d r e a m b o o t h - l i b r a r y / h e r g e - s t y l e ) c h e c k p o i n t , w h i c h i s t r a i n e d o n j u s t 1 0 i m a g e s d r a w n b y H e r g รฉ , t o g e n e r a t e i m a g e s i n t h a t s t y l e . F o r i t t o w o r k , y o u n e e d t o i n c l u d e t h e s p e c i a l w o r d ` h e r g e _ s t y l e ` i n y o u r p r o m p t t o t r i g g e r t h e c h e c k p o i n t : ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s d - d r e a m b o o t h - l i b r a r y / h e r g e - s t y l e " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p r o m p t = " A c u t e h e r g e _ s t y l e b r o w n b e a r e a t i n g a s l i c e o f p i z z a , s t u n n i n g c o l o r s c h e m e , m a s t e r p i e c e , i l l u s t r a t i o n " i m a g e = p i p e l i n e ( p r o m p t ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l o a d _ d r e a m b o o t h . p n g " / > < / d i v > # # T e x t u a l i n v e r s i o n [ T e x t u a l i n v e r s i o n ] ( h t t p s : / / t e x t u a l - i n v e r s i o n . g i t h u b . i o / ) i s v e r y s i m i l a r t o D r e a m B o o t h a n d i t c a n a l s o p e r s o n a l i z e a d i f f u s i o n m o d e l t o g e n e r a t e c e r t a i n c o n c e p t s ( s t y l e s , o b j e c t s ) f r o m j u s t a f e w i m a g e s . T h i s m e t h o d w o r k s b y t r a i n i n g a n d f i n d i n g n e w e m b e d d i n g s t h a t r e p r e s e n t t h e i m a g e s y o u p r o v i d e w i t h a s p e c i a l w o r d i n t h e p r o m p t . A s a r e s u l t , t h e d i f f u s i o n m o d e l w e i g h t s s t a y t h e s a m e a n d t h e t r a i n i n g p r o c e s s p r o d u c e s a r e l a t i v e l y t i n y ( a f e w K B s ) f i l e . B e c a u s e t e x t u a l i n v e r s i o n c r e a t e s e m b e d d i n g s , i t c a n n o t b e u s e d o n i t s o w n l i k e D r e a m B o o t h a n d r e q u i r e s a n o t h e r m o d e l . ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) ` ` ` N o w y o u c a n l o a d t h e t e x t u a l i n v e r s i o n e m b e d d i n g s w i t h t h e [ l o a d _ t e x t u a l _ i n v e r s i o n ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / t e x t u a l _ i n v e r s i o n # d i f f u s e r s . l o a d e r s . T e x t u a l I n v e r s i o n L o a d e r M i x i n . l o a d _ t e x t u a l _ i n v e r s i o n ) m e t h o d a n d g e n e r a t e s o m e i m a g e s . L e t ' s l o a d t h e [ s d - c o n c e p t s - l i b r a r y / g t a 5 - a r t w o r k ] ( h t t p s : / / h u g g i n g f a c e . c o / s d - c o n c e p t s - l i b r a r y / g t a 5 - a r t w o r k ) e m b e d d i n g s a n d y o u ' l l n e e d t o i n c l u d e t h e s p e c i a l w o r d ` < g t a 5 - a r t w o r k > ` i n y o u r p r o m p t t o t r i g g e r i t : ` ` ` p y p i p e l i n e . l o a d _ t e x t u a l _ i n v e r s i o n ( " s d - c o n c e p t s - l i b r a r y / g t a 5 - a r t w o r k " ) p r o m p t = " A c u t e b r o w n b e a r e a t i n g a s l i c e o f p i z z a , s t u n n i n g c o l o r s c h e m e , m a s t e r p i e c e , i l l u s t r a t i o n , < g t a 5 - a r t w o r k > s t y l e " i m a g e = p i p e l i n e ( p r o m p t ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l o a d _ t x t _ e m b e d . p n g " / > < / d i v > T e x t u a l i n v e r s i o n c a n a l s o b e t r a i n e d o n u n d e s i r a b l e t h i n g s t o c r e a t e * n e g a t i v e e m b e d d i n g s * t o d i s c o u r a g e a m o d e l f r o m g e n e r a t i n g i m a g e s w i t h t h o s e u n d e s i r a b l e t h i n g s l i k e b l u r r y i m a g e s o r e x t r a f i n g e r s o n a h a n d . T h i s c a n b e a n e a s y w a y t o q u i c k l y i m p r o v e y o u r p r o m p t . Y o u ' l l a l s o l o a d t h e e m b e d d i n g s w i t h [ l o a d _ t e x t u a l _ i n v e r s i o n ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / t e x t u a l _ i n v e r s i o n # d i f f u s e r s . l o a d e r s . T e x t u a l I n v e r s i o n L o a d e r M i x i n . l o a d _ t e x t u a l _ i n v e r s i o n ) , b u t t h i s t i m e , y o u ' l l n e e d t w o m o r e p a r a m e t e r s : - ` w e i g h t _ n a m e ` : s p e c i f i e s t h e w e i g h t f i l e t o l o a d i f t h e f i l e w a s s a v e d i n t h e ๐Ÿค— D i f f u s e r s f o r m a t w i t h a s p e c i f i c n a m e o r i f t h e f i l e i s s t o r e d i n t h e A 1 1 1 1 f o r m a t - ` t o k e n ` : s p e c i f i e s t h e s p e c i a l w o r d t o u s e i n t h e p r o m p t t o t r i g g e r t h e e m b e d d i n g s L e t ' s l o a d t h e [ s a y a k p a u l / E a s y N e g a t i v e - t e s t ] ( h t t p s : / / h u g g i n g f a c e . c o / s a y a k p a u l / E a s y N e g a t i v e - t e s t ) e m b e d d i n g s : ` ` ` p y p i p e l i n e . l o a d _ t e x t u a l _ i n v e r s i o n ( " s a y a k p a u l / E a s y N e g a t i v e - t e s t " , w e i g h t _ n a m e = " E a s y N e g a t i v e . s a f e t e n s o r s " , t o k e n = " E a s y N e g a t i v e " ) ` ` ` N o w y o u c a n u s e t h e ` t o k e n ` t o g e n e r a t e a n i m a g e w i t h t h e n e g a t i v e e m b e d d i n g s : ` ` ` p y p r o m p t = " A c u t e b r o w n b e a r e a t i n g a s l i c e o f p i z z a , s t u n n i n g c o l o r s c h e m e , m a s t e r p i e c e , i l l u s t r a t i o n , E a s y N e g a t i v e " n e g a t i v e _ p r o m p t = " E a s y N e g a t i v e " i m a g e = p i p e l i n e ( p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 5 0 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l o a d _ n e g _ e m b e d . p n g " / > < / d i v > # # L o R A [ L o w - R a n k A d a p t a t i o n ( L o R A ) ] ( h t t p s : / / h u g g i n g f a c e . c o / p a p e r s / 2 1 0 6 . 0 9 6 8 5 ) i s a p o p u l a r t r a i n i n g t e c h n i q u e b e c a u s e i t i s f a s t a n d g e n e r a t e s s m a l l e r f i l e s i z e s ( a c o u p l e h u n d r e d M B s ) . L i k e t h e o t h e r m e t h o d s i n t h i s g u i d e , L o R A c a n t r a i n a m o d e l t o l e a r n n e w s t y l e s f r o m j u s t a f e w i m a g e s . I t w o r k s b y i n s e r t i n g n e w w e i g h t s i n t o t h e d i f f u s i o n m o d e l a n d t h e n o n l y t h e n e w w e i g h t s a r e t r a i n e d i n s t e a d o f t h e e n t i r e m o d e l . T h i s m a k e s L o R A s f a s t e r t o t r a i n a n d e a s i e r t o s t o r e . < T i p > L o R A i s a v e r y g e n e r a l t r a i n i n g t e c h n i q u e t h a t c a n b e u s e d w i t h o t h e r t r a i n i n g m e t h o d s . F o r e x a m p l e , i t i s c o m m o n t o t r a i n a m o d e l w i t h D r e a m B o o t h a n d L o R A . I t i s a l s o i n c r e a s i n g l y c o m m o n t o l o a d a n d m e r g e m u l t i p l e L o R A s t o c r e a t e n e w a n d u n i q u e i m a g e s . Y o u c a n l e a r n m o r e a b o u t i t i n t h e i n - d e p t h [ M e r g e L o R A s ] ( m e r g e _ l o r a s ) g u i d e s i n c e m e r g i n g i s o u t s i d e t h e s c o p e o f t h i s l o a d i n g g u i d e . < / T i p > L o R A s a l s o n e e d t o b e u s e d w i t h a n o t h e r m o d e l : ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) ` ` ` T h e n u s e t h e [ l o a d _ l o r a _ w e i g h t s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . S t a b l e D i f f u s i o n L o r a L o a d e r M i x i n . l o a d _ l o r a _ w e i g h t s ) m e t h o d t o l o a d t h e [ o s t r i s / s u p e r - c e r e a l - s d x l - l o r a ] ( h t t p s : / / h u g g i n g f a c e . c o / o s t r i s / s u p e r - c e r e a l - s d x l - l o r a ) w e i g h t s a n d s p e c i f y t h e w e i g h t s f i l e n a m e f r o m t h e r e p o s i t o r y : ` ` ` p y p i p e l i n e . l o a d _ l o r a _ w e i g h t s ( " o s t r i s / s u p e r - c e r e a l - s d x l - l o r a " , w e i g h t _ n a m e = " c e r e a l _ b o x _ s d x l _ v 1 . s a f e t e n s o r s " ) p r o m p t = " b e a r s , p i z z a b i t e s " i m a g e = p i p e l i n e ( p r o m p t ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l o a d _ l o r a . p n g " / > < / d i v > T h e [ l o a d _ l o r a _ w e i g h t s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . S t a b l e D i f f u s i o n L o r a L o a d e r M i x i n . l o a d _ l o r a _ w e i g h t s ) m e t h o d l o a d s L o R A w e i g h t s i n t o b o t h t h e U N e t a n d t e x t e n c o d e r . I t i s t h e p r e f e r r e d w a y f o r l o a d i n g L o R A s b e c a u s e i t c a n h a n d l e c a s e s w h e r e : - t h e L o R A w e i g h t s d o n ' t h a v e s e p a r a t e i d e n t i f i e r s f o r t h e U N e t a n d t e x t e n c o d e r - t h e L o R A w e i g h t s h a v e s e p a r a t e i d e n t i f i e r s f o r t h e U N e t a n d t e x t e n c o d e r B u t i f y o u o n l y n e e d t o l o a d L o R A w e i g h t s i n t o t h e U N e t , t h e n y o u c a n u s e t h e [ l o a d _ a t t n _ p r o c s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / u n e t # d i f f u s e r s . l o a d e r s . U N e t 2 D C o n d i t i o n L o a d e r s M i x i n . l o a d _ a t t n _ p r o c s ) m e t h o d . L e t ' s l o a d t h e [ j b i l c k e - h f / s d x l - c i n e m a t i c - 1 ] ( h t t p s : / / h u g g i n g f a c e . c o / j b i l c k e - h f / s d x l - c i n e m a t i c - 1 ) L o R A : ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e . u n e t . l o a d _ a t t n _ p r o c s ( " j b i l c k e - h f / s d x l - c i n e m a t i c - 1 " , w e i g h t _ n a m e = " p y t o r c h _ l o r a _ w e i g h t s . s a f e t e n s o r s " ) # u s e c n m t i n t h e p r o m p t t o t r i g g e r t h e L o R A p r o m p t = " A c u t e c n m t e a t i n g a s l i c e o f p i z z a , s t u n n i n g c o l o r s c h e m e , m a s t e r p i e c e , i l l u s t r a t i o n " i m a g e = p i p e l i n e ( p r o m p t ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l o a d _ a t t n _ p r o c . p n g " / > < / d i v > T o u n l o a d t h e L o R A w e i g h t s , u s e t h e [ u n l o a d _ l o r a _ w e i g h t s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . l o r a _ b a s e . L o r a B a s e M i x i n . u n l o a d _ l o r a _ w e i g h t s ) m e t h o d t o d i s c a r d t h e L o R A w e i g h t s a n d r e s t o r e t h e m o d e l t o i t s o r i g i n a l w e i g h t s : ` ` ` p y p i p e l i n e . u n l o a d _ l o r a _ w e i g h t s ( ) ` ` ` # # # A d j u s t L o R A w e i g h t s c a l e F o r b o t h [ l o a d _ l o r a _ w e i g h t s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . S t a b l e D i f f u s i o n L o r a L o a d e r M i x i n . l o a d _ l o r a _ w e i g h t s ) a n d [ l o a d _ a t t n _ p r o c s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / u n e t # d i f f u s e r s . l o a d e r s . U N e t 2 D C o n d i t i o n L o a d e r s M i x i n . l o a d _ a t t n _ p r o c s ) , y o u c a n p a s s t h e ` c r o s s _ a t t e n t i o n _ k w a r g s = { " s c a l e " : 0 . 5 } ` p a r a m e t e r t o a d j u s t h o w m u c h o f t h e L o R A w e i g h t s t o u s e . A v a l u e o f ` 0 ` i s t h e s a m e a s o n l y u s i n g t h e b a s e m o d e l w e i g h t s , a n d a v a l u e o f ` 1 ` i s e q u i v a l e n t t o u s i n g t h e f u l l y f i n e t u n e d L o R A . F o r m o r e g r a n u l a r c o n t r o l o n t h e a m o u n t o f L o R A w e i g h t s u s e d p e r l a y e r , y o u c a n u s e ` s e t _ a d a p t e r s ( ) ` a n d p a s s a d i c t i o n a r y s p e c i f y i n g b y h o w m u c h t o s c a l e t h e w e i g h t s i n e a c h l a y e r b y . ` ` ` p y t h o n p i p e = . . . # c r e a t e p i p e l i n e p i p e . l o a d _ l o r a _ w e i g h t s ( . . . , a d a p t e r _ n a m e = " m y _ a d a p t e r " ) s c a l e s = { " t e x t _ e n c o d e r " : 0 . 5 , " t e x t _ e n c o d e r _ 2 " : 0 . 5 , # o n l y u s a b l e i f p i p e h a s a 2 n d t e x t e n c o d e r " u n e t " : { " d o w n " : 0 . 9 , # a l l t r a n s f o r m e r s i n t h e d o w n - p a r t w i l l u s e s c a l e 0 . 9 # " m i d " # i n t h i s e x a m p l e " m i d " i s n o t g i v e n , t h e r e f o r e a l l t r a n s f o r m e r s i n t h e m i d p a r t w i l l u s e t h e d e f a u l t s c a l e 1 . 0 " u p " : { " b l o c k _ 0 " : 0 . 6 , # a l l 3 t r a n s f o r m e r s i n t h e 0 t h b l o c k i n t h e u p - p a r t w i l l u s e s c a l e 0 . 6 " b l o c k _ 1 " : [ 0 . 4 , 0 . 8 , 1 . 0 ] , # t h e 3 t r a n s f o r m e r s i n t h e 1 s t b l o c k i n t h e u p - p a r t w i l l u s e s c a l e s 0 . 4 , 0 . 8 a n d 1 . 0 r e s p e c t i v e l y } } } p i p e . s e t _ a d a p t e r s ( " m y _ a d a p t e r " , s c a l e s ) ` ` ` T h i s a l s o w o r k s w i t h m u l t i p l e a d a p t e r s - s e e [ t h i s g u i d e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / t u t o r i a l s / u s i n g _ p e f t _ f o r _ i n f e r e n c e # c u s t o m i z e - a d a p t e r s - s t r e n g t h ) f o r h o w t o d o i t . < T i p w a r n i n g = { t r u e } > C u r r e n t l y , ` s e t _ a d a p t e r s ( ) ` o n l y s u p p o r t s s c a l i n g a t t e n t i o n w e i g h t s . I f a L o R A h a s o t h e r p a r t s ( e . g . , r e s n e t s o r d o w n - / u p s a m p l e r s ) , t h e y w i l l k e e p a s c a l e o f 1 . 0 . < / T i p > # # # K o h y a a n d T h e L a s t B e n O t h e r p o p u l a r L o R A t r a i n e r s f r o m t h e c o m m u n i t y i n c l u d e t h o s e b y [ K o h y a ] ( h t t p s : / / g i t h u b . c o m / k o h y a - s s / s d - s c r i p t s / ) a n d [ T h e L a s t B e n ] ( h t t p s : / / g i t h u b . c o m / T h e L a s t B e n / f a s t - s t a b l e - d i f f u s i o n ) . T h e s e t r a i n e r s c r e a t e d i f f e r e n t L o R A c h e c k p o i n t s t h a n t h o s e t r a i n e d b y ๐Ÿค— D i f f u s e r s , b u t t h e y c a n s t i l l b e l o a d e d i n t h e s a m e w a y . < h f o p t i o n s i d = " o t h e r - t r a i n e r s " > < h f o p t i o n i d = " K o h y a " > T o l o a d a K o h y a L o R A , l e t ' s d o w n l o a d t h e [ B l u e p r i n t i f y S D X L 1 . 0 ] ( h t t p s : / / c i v i t a i . c o m / m o d e l s / 1 5 0 9 8 6 / b l u e p r i n t i f y - s d - x l - 1 0 ) c h e c k p o i n t f r o m [ C i v i t a i ] ( h t t p s : / / c i v i t a i . c o m / ) a s a n e x a m p l e : ` ` ` s h ! w g e t h t t p s : / / c i v i t a i . c o m / a p i / d o w n l o a d / m o d e l s / 1 6 8 7 7 6 - O b l u e p r i n t i f y - s d - x l - 1 0 . s a f e t e n s o r s ` ` ` L o a d t h e L o R A c h e c k p o i n t w i t h t h e [ l o a d _ l o r a _ w e i g h t s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . S t a b l e D i f f u s i o n L o r a L o a d e r M i x i n . l o a d _ l o r a _ w e i g h t s ) m e t h o d , a n d s p e c i f y t h e f i l e n a m e i n t h e ` w e i g h t _ n a m e ` p a r a m e t e r : ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e . l o a d _ l o r a _ w e i g h t s ( " p a t h / t o / w e i g h t s " , w e i g h t _ n a m e = " b l u e p r i n t i f y - s d - x l - 1 0 . s a f e t e n s o r s " ) ` ` ` G e n e r a t e a n i m a g e : ` ` ` p y # u s e b l 3 u p r i n t i n t h e p r o m p t t o t r i g g e r t h e L o R A p r o m p t = " b l 3 u p r i n t , a h i g h l y d e t a i l e d b l u e p r i n t o f t h e e i f f e l t o w e r , e x p l a i n i n g h o w t o b u i l d a l l p a r t s , m a n y t x t , b l u e p r i n t g r i d b a c k d r o p " i m a g e = p i p e l i n e ( p r o m p t ) . i m a g e s [ 0 ] i m a g e ` ` ` < T i p w a r n i n g = { t r u e } > S o m e l i m i t a t i o n s o f u s i n g K o h y a L o R A s w i t h ๐Ÿค— D i f f u s e r s i n c l u d e : - I m a g e s m a y n o t l o o k l i k e t h o s e g e n e r a t e d b y U I s - l i k e C o m f y U I - f o r m u l t i p l e r e a s o n s , w h i c h a r e e x p l a i n e d [ h e r e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / p u l l / 4 2 8 7 / # i s s u e c o m m e n t - 1 6 5 5 1 1 0 7 3 6 ) . - [ L y C O R I S c h e c k p o i n t s ] ( h t t p s : / / g i t h u b . c o m / K o h a k u B l u e l e a f / L y C O R I S ) a r e n ' t f u l l y s u p p o r t e d . T h e [ l o a d _ l o r a _ w e i g h t s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . S t a b l e D i f f u s i o n L o r a L o a d e r M i x i n . l o a d _ l o r a _ w e i g h t s ) m e t h o d l o a d s L y C O R I S c h e c k p o i n t s w i t h L o R A a n d L o C o n m o d u l e s , b u t H a d a a n d L o K R a r e n o t s u p p o r t e d . < / T i p > < / h f o p t i o n > < h f o p t i o n i d = " T h e L a s t B e n " > L o a d i n g a c h e c k p o i n t f r o m T h e L a s t B e n i s v e r y s i m i l a r . F o r e x a m p l e , t o l o a d t h e [ T h e L a s t B e n / W i l l i a m _ E g g l e s t o n _ S t y l e _ S D X L ] ( h t t p s : / / h u g g i n g f a c e . c o / T h e L a s t B e n / W i l l i a m _ E g g l e s t o n _ S t y l e _ S D X L ) c h e c k p o i n t : ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e . l o a d _ l o r a _ w e i g h t s ( " T h e L a s t B e n / W i l l i a m _ E g g l e s t o n _ S t y l e _ S D X L " , w e i g h t _ n a m e = " w e g g . s a f e t e n s o r s " ) # u s e b y w i l l i a m e g g l e s t o n i n t h e p r o m p t t o t r i g g e r t h e L o R A p r o m p t = " a h o u s e b y w i l l i a m e g g l e s t o n , s u n r a y s , b e a u t i f u l , s u n l i g h t , s u n r a y s , b e a u t i f u l " i m a g e = p i p e l i n e ( p r o m p t = p r o m p t ) . i m a g e s [ 0 ] i m a g e ` ` ` < / h f o p t i o n > < / h f o p t i o n s > # # I P - A d a p t e r [ I P - A d a p t e r ] ( h t t p s : / / i p - a d a p t e r . g i t h u b . i o / ) i s a l i g h t w e i g h t a d a p t e r t h a t e n a b l e s i m a g e p r o m p t i n g f o r a n y d i f f u s i o n m o d e l . T h i s a d a p t e r w o r k s b y d e c o u p l i n g t h e c r o s s - a t t e n t i o n l a y e r s o f t h e i m a g e a n d t e x t f e a t u r e s . A l l t h e o t h e r m o d e l c o m p o n e n t s a r e f r o z e n a n d o n l y t h e e m b e d d e d i m a g e f e a t u r e s i n t h e U N e t a r e t r a i n e d . A s a r e s u l t , I P - A d a p t e r f i l e s a r e t y p i c a l l y o n l y ~ 1 0 0 M B s . Y o u c a n l e a r n m o r e a b o u t h o w t o u s e I P - A d a p t e r f o r d i f f e r e n t t a s k s a n d s p e c i f i c u s e c a s e s i n t h e [ I P - A d a p t e r ] ( . . / u s i n g - d i f f u s e r s / i p _ a d a p t e r ) g u i d e . > [ ! T I P ] > D i f f u s e r s c u r r e n t l y o n l y s u p p o r t s I P - A d a p t e r f o r s o m e o f t h e m o s t p o p u l a r p i p e l i n e s . F e e l f r e e t o o p e n a f e a t u r e r e q u e s t i f y o u h a v e a c o o l u s e c a s e a n d w a n t t o i n t e g r a t e I P - A d a p t e r w i t h a n u n s u p p o r t e d p i p e l i n e ! > O f f i c i a l I P - A d a p t e r c h e c k p o i n t s a r e a v a i l a b l e f r o m [ h 9 4 / I P - A d a p t e r ] ( h t t p s : / / h u g g i n g f a c e . c o / h 9 4 / I P - A d a p t e r ) . T o s t a r t , l o a d a S t a b l e D i f f u s i o n c h e c k p o i n t . ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) ` ` ` T h e n l o a d t h e I P - A d a p t e r w e i g h t s a n d a d d i t t o t h e p i p e l i n e w i t h t h e [ l o a d _ i p _ a d a p t e r ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / i p _ a d a p t e r # d i f f u s e r s . l o a d e r s . I P A d a p t e r M i x i n . l o a d _ i p _ a d a p t e r ) m e t h o d . ` ` ` p y p i p e l i n e . l o a d _ i p _ a d a p t e r ( " h 9 4 / I P - A d a p t e r " , s u b f o l d e r = " m o d e l s " , w e i g h t _ n a m e = " i p - a d a p t e r _ s d 1 5 . b i n " ) ` ` ` O n c e l o a d e d , y o u c a n u s e t h e p i p e l i n e w i t h a n i m a g e a n d t e x t p r o m p t t o g u i d e t h e i m a g e g e n e r a t i o n p r o c e s s . ` ` ` p y i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l o a d _ n e g _ e m b e d . p n g " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = " c p u " ) . m a n u a l _ s e e d ( 3 3 ) i m a g e s = p i p e l i n e ( ย  ย  p r o m p t = ' b e s t q u a l i t y , h i g h q u a l i t y , w e a r i n g s u n g l a s s e s ' , ย  ย  i p _ a d a p t e r _ i m a g e = i m a g e , ย  ย  n e g a t i v e _ p r o m p t = " m o n o c h r o m e , l o w r e s , b a d a n a t o m y , w o r s t q u a l i t y , l o w q u a l i t y " , ย  ย  n u m _ i n f e r e n c e _ s t e p s = 5 0 , ย  ย  g e n e r a t o r = g e n e r a t o r , ) . i m a g e s [ 0 ] i m a g e s ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > ย  ย  < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / i p - b e a r . p n g " / > < / d i v > # # # I P - A d a p t e r P l u s I P - A d a p t e r r e l i e s o n a n i m a g e e n c o d e r t o g e n e r a t e i m a g e f e a t u r e s . I f t h e I P - A d a p t e r r e p o s i t o r y c o n t a i n s a n ` i m a g e _ e n c o d e r ` s u b f o l d e r , t h e i m a g e e n c o d e r i s a u t o m a t i c a l l y l o a d e d a n d r e g i s t e r e d t o t h e p i p e l i n e . O t h e r w i s e , y o u ' l l n e e d t o e x p l i c i t l y l o a d t h e i m a g e e n c o d e r w i t h a [ C L I P V i s i o n M o d e l W i t h P r o j e c t i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / e n / m o d e l _ d o c / c l i p # t r a n s f o r m e r s . C L I P V i s i o n M o d e l W i t h P r o j e c t i o n ) m o d e l a n d p a s s i t t o t h e p i p e l i n e . T h i s i s t h e c a s e f o r * I P - A d a p t e r P l u s * c h e c k p o i n t s w h i c h u s e t h e V i T - H i m a g e e n c o d e r . ` ` ` p y f r o m t r a n s f o r m e r s i m p o r t C L I P V i s i o n M o d e l W i t h P r o j e c t i o n i m a g e _ e n c o d e r = C L I P V i s i o n M o d e l W i t h P r o j e c t i o n . f r o m _ p r e t r a i n e d ( " h 9 4 / I P - A d a p t e r " , s u b f o l d e r = " m o d e l s / i m a g e _ e n c o d e r " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , i m a g e _ e n c o d e r = i m a g e _ e n c o d e r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e . l o a d _ i p _ a d a p t e r ( " h 9 4 / I P - A d a p t e r " , s u b f o l d e r = " s d x l _ m o d e l s " , w e i g h t _ n a m e = " i p - a d a p t e r - p l u s _ s d x l _ v i t - h . s a f e t e n s o r s " ) ` ` ` # # # I P - A d a p t e r F a c e I D m o d e l s T h e I P - A d a p t e r F a c e I D m o d e l s a r e e x p e r i m e n t a l I P A d a p t e r s t h a t u s e i m a g e e m b e d d i n g s g e n e r a t e d b y ` i n s i g h t f a c e ` i n s t e a d o f C L I P i m a g e e m b e d d i n g s . S o m e o f t h e s e m o d e l s a l s o u s e L o R A t o i m p r o v e I D c o n s i s t e n c y . Y o u n e e d t o i n s t a l l ` i n s i g h t f a c e ` a n d a l l i t s r e q u i r e m e n t s t o u s e t h e s e m o d e l s . < T i p w a r n i n g = { t r u e } > A s I n s i g h t F a c e p r e t r a i n e d m o d e l s a r e a v a i l a b l e f o r n o n - c o m m e r c i a l r e s e a r c h p u r p o s e s , I P - A d a p t e r - F a c e I D m o d e l s a r e r e l e a s e d e x c l u s i v e l y f o r r e s e a r c h p u r p o s e s a n d a r e n o t i n t e n d e d f o r c o m m e r c i a l u s e . < / T i p > ` ` ` p y p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e . l o a d _ i p _ a d a p t e r ( " h 9 4 / I P - A d a p t e r - F a c e I D " , s u b f o l d e r = N o n e , w e i g h t _ n a m e = " i p - a d a p t e r - f a c e i d _ s d x l . b i n " , i m a g e _ e n c o d e r _ f o l d e r = N o n e ) ` ` ` I f y o u w a n t t o u s e o n e o f t h e t w o I P - A d a p t e r F a c e I D P l u s m o d e l s , y o u m u s t a l s o l o a d t h e C L I P i m a g e e n c o d e r , a s t h i s m o d e l s u s e b o t h ` i n s i g h t f a c e ` a n d C L I P i m a g e e m b e d d i n g s t o a c h i e v e b e t t e r p h o t o r e a l i s m . ` ` ` p y f r o m t r a n s f o r m e r s i m p o r t C L I P V i s i o n M o d e l W i t h P r o j e c t i o n i m a g e _ e n c o d e r = C L I P V i s i o n M o d e l W i t h P r o j e c t i o n . f r o m _ p r e t r a i n e d ( " l a i o n / C L I P - V i T - H - 1 4 - l a i o n 2 B - s 3 2 B - b 7 9 K " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , ) p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , i m a g e _ e n c o d e r = i m a g e _ e n c o d e r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e l i n e . l o a d _ i p _ a d a p t e r ( " h 9 4 / I P - A d a p t e r - F a c e I D " , s u b f o l d e r = N o n e , w e i g h t _ n a m e = " i p - a d a p t e r - f a c e i d - p l u s _ s d 1 5 . b i n " ) ` ` ` # I n p a i n t i n g I n p a i n t i n g r e p l a c e s o r e d i t s s p e c i f i c a r e a s o f a n i m a g e . T h i s m a k e s i t a u s e f u l t o o l f o r i m a g e r e s t o r a t i o n l i k e r e m o v i n g d e f e c t s a n d a r t i f a c t s , o r e v e n r e p l a c i n g a n i m a g e a r e a w i t h s o m e t h i n g e n t i r e l y n e w . I n p a i n t i n g r e l i e s o n a m a s k t o d e t e r m i n e w h i c h r e g i o n s o f a n i m a g e t o f i l l i n ; t h e a r e a t o i n p a i n t i s r e p r e s e n t e d b y w h i t e p i x e l s a n d t h e a r e a t o k e e p i s r e p r e s e n t e d b y b l a c k p i x e l s . T h e w h i t e p i x e l s a r e f i l l e d i n b y t h e p r o m p t . W i t h ๐Ÿค— D i f f u s e r s , h e r e i s h o w y o u c a n d o i n p a i n t i n g : 1 . L o a d a n i n p a i n t i n g c h e c k p o i n t w i t h t h e [ A u t o P i p e l i n e F o r I n p a i n t i n g ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a u t o _ p i p e l i n e # d i f f u s e r s . A u t o P i p e l i n e F o r I n p a i n t i n g ) c l a s s . T h i s ' l l a u t o m a t i c a l l y d e t e c t t h e a p p r o p r i a t e p i p e l i n e c l a s s t o l o a d b a s e d o n t h e c h e c k p o i n t : ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - d e c o d e r - i n p a i n t " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) ` ` ` < T i p > Y o u ' l l n o t i c e t h r o u g h o u t t h e g u i d e , w e u s e [ e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ) a n d [ e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ) , t o s a v e m e m o r y a n d i n c r e a s e i n f e r e n c e s p e e d . I f y o u ' r e u s i n g P y T o r c h 2 . 0 , i t ' s n o t n e c e s s a r y t o c a l l [ e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ) o n y o u r p i p e l i n e b e c a u s e i t ' l l a l r e a d y b e u s i n g P y T o r c h 2 . 0 ' s n a t i v e [ s c a l e d - d o t p r o d u c t a t t e n t i o n ] ( . . / o p t i m i z a t i o n / t o r c h 2 . 0 # s c a l e d - d o t - p r o d u c t - a t t e n t i o n ) . < / T i p > 2 . L o a d t h e b a s e a n d m a s k i m a g e s : ` ` ` p y i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t . p n g " ) m a s k _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t _ m a s k . p n g " ) ` ` ` 3 . C r e a t e a p r o m p t t o i n p a i n t t h e i m a g e w i t h a n d p a s s i t t o t h e p i p e l i n e w i t h t h e b a s e a n d m a s k i m a g e s : ` ` ` p y p r o m p t = " a b l a c k c a t w i t h g l o w i n g e y e s , c u t e , a d o r a b l e , d i s n e y , p i x a r , h i g h l y d e t a i l e d , 8 k " n e g a t i v e _ p r o m p t = " b a d a n a t o m y , d e f o r m e d , u g l y , d i s f i g u r e d " i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > b a s e i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t _ m a s k . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > m a s k i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t - c a t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > # # C r e a t e a m a s k i m a g e T h r o u g h o u t t h i s g u i d e , t h e m a s k i m a g e i s p r o v i d e d i n a l l o f t h e c o d e e x a m p l e s f o r c o n v e n i e n c e . Y o u c a n i n p a i n t o n y o u r o w n i m a g e s , b u t y o u ' l l n e e d t o c r e a t e a m a s k i m a g e f o r i t . U s e t h e S p a c e b e l o w t o e a s i l y c r e a t e a m a s k i m a g e . U p l o a d a b a s e i m a g e t o i n p a i n t o n a n d u s e t h e s k e t c h t o o l t o d r a w a m a s k . O n c e y o u ' r e d o n e , c l i c k * * R u n * * t o g e n e r a t e a n d d o w n l o a d t h e m a s k i m a g e . < i f r a m e s r c = " h t t p s : / / s t e v h l i u - i n p a i n t - m a s k - m a k e r . h f . s p a c e " f r a m e b o r d e r = " 0 " w i d t h = " 8 5 0 " h e i g h t = " 4 5 0 " > < / i f r a m e > # # # M a s k b l u r T h e ` ~ V a e I m a g e P r o c e s s o r . b l u r ` m e t h o d p r o v i d e s a n o p t i o n f o r h o w t o b l e n d t h e o r i g i n a l i m a g e a n d i n p a i n t a r e a . T h e a m o u n t o f b l u r i s d e t e r m i n e d b y t h e ` b l u r _ f a c t o r ` p a r a m e t e r . I n c r e a s i n g t h e ` b l u r _ f a c t o r ` i n c r e a s e s t h e a m o u n t o f b l u r a p p l i e d t o t h e m a s k e d g e s , s o f t e n i n g t h e t r a n s i t i o n b e t w e e n t h e o r i g i n a l i m a g e a n d i n p a i n t a r e a . A l o w o r z e r o ` b l u r _ f a c t o r ` p r e s e r v e s t h e s h a r p e r e d g e s o f t h e m a s k . T o u s e t h i s , c r e a t e a b l u r r e d m a s k w i t h t h e i m a g e p r o c e s s o r . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e f r o m P I L i m p o r t I m a g e p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( ' c u d a ' ) m a s k = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / s e a s h o r e _ m a s k . p n g " ) b l u r r e d _ m a s k = p i p e l i n e . m a s k _ p r o c e s s o r . b l u r ( m a s k , b l u r _ f a c t o r = 3 3 ) b l u r r e d _ m a s k ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / s e a s h o r e _ m a s k . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > m a s k w i t h n o b l u r < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / m a s k _ b l u r r e d . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > m a s k w i t h b l u r a p p l i e d < / f i g c a p t i o n > < / d i v > < / d i v > # # P o p u l a r m o d e l s [ S t a b l e D i f f u s i o n I n p a i n t i n g ] ( h t t p s : / / h u g g i n g f a c e . c o / r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g ) , [ S t a b l e D i f f u s i o n X L ( S D X L ) I n p a i n t i n g ] ( h t t p s : / / h u g g i n g f a c e . c o / d i f f u s e r s / s t a b l e - d i f f u s i o n - x l - 1 . 0 - i n p a i n t i n g - 0 . 1 ) , a n d [ K a n d i n s k y 2 . 2 I n p a i n t i n g ] ( h t t p s : / / h u g g i n g f a c e . c o / k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - d e c o d e r - i n p a i n t ) a r e a m o n g t h e m o s t p o p u l a r m o d e l s f o r i n p a i n t i n g . S D X L t y p i c a l l y p r o d u c e s h i g h e r r e s o l u t i o n i m a g e s t h a n S t a b l e D i f f u s i o n v 1 . 5 , a n d K a n d i n s k y 2 . 2 i s a l s o c a p a b l e o f g e n e r a t i n g h i g h - q u a l i t y i m a g e s . # # # S t a b l e D i f f u s i o n I n p a i n t i n g S t a b l e D i f f u s i o n I n p a i n t i n g i s a l a t e n t d i f f u s i o n m o d e l f i n e t u n e d o n 5 1 2 x 5 1 2 i m a g e s o n i n p a i n t i n g . I t i s a g o o d s t a r t i n g p o i n t b e c a u s e i t i s r e l a t i v e l y f a s t a n d g e n e r a t e s g o o d q u a l i t y i m a g e s . T o u s e t h i s m o d e l f o r i n p a i n t i n g , y o u ' l l n e e d t o p a s s a p r o m p t , b a s e a n d m a s k i m a g e t o t h e p i p e l i n e : ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # l o a d b a s e a n d m a s k i m a g e i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t . p n g " ) m a s k _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t _ m a s k . p n g " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( " c u d a " ) . m a n u a l _ s e e d ( 9 2 ) p r o m p t = " c o n c e p t a r t d i g i t a l p a i n t i n g o f a n e l v e n c a s t l e , i n s p i r e d b y l o r d o f t h e r i n g s , h i g h l y d e t a i l e d , 8 k " i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` # # # S t a b l e D i f f u s i o n X L ( S D X L ) I n p a i n t i n g S D X L i s a l a r g e r a n d m o r e p o w e r f u l v e r s i o n o f S t a b l e D i f f u s i o n v 1 . 5 . T h i s m o d e l c a n f o l l o w a t w o - s t a g e m o d e l p r o c e s s ( t h o u g h e a c h m o d e l c a n a l s o b e u s e d a l o n e ) ; t h e b a s e m o d e l g e n e r a t e s a n i m a g e , a n d a r e f i n e r m o d e l t a k e s t h a t i m a g e a n d f u r t h e r e n h a n c e s i t s d e t a i l s a n d q u a l i t y . T a k e a l o o k a t t h e [ S D X L ] ( s d x l ) g u i d e f o r a m o r e c o m p r e h e n s i v e g u i d e o n h o w t o u s e S D X L a n d c o n f i g u r e i t ' s p a r a m e t e r s . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " d i f f u s e r s / s t a b l e - d i f f u s i o n - x l - 1 . 0 - i n p a i n t i n g - 0 . 1 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # l o a d b a s e a n d m a s k i m a g e i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t . p n g " ) m a s k _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t _ m a s k . p n g " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( " c u d a " ) . m a n u a l _ s e e d ( 9 2 ) p r o m p t = " c o n c e p t a r t d i g i t a l p a i n t i n g o f a n e l v e n c a s t l e , i n s p i r e d b y l o r d o f t h e r i n g s , h i g h l y d e t a i l e d , 8 k " i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` # # # K a n d i n s k y 2 . 2 I n p a i n t i n g T h e K a n d i n s k y m o d e l f a m i l y i s s i m i l a r t o S D X L b e c a u s e i t u s e s t w o m o d e l s a s w e l l ; t h e i m a g e p r i o r m o d e l c r e a t e s i m a g e e m b e d d i n g s , a n d t h e d i f f u s i o n m o d e l g e n e r a t e s i m a g e s f r o m t h e m . Y o u c a n l o a d t h e i m a g e p r i o r a n d d i f f u s i o n m o d e l s e p a r a t e l y , b u t t h e e a s i e s t w a y t o u s e K a n d i n s k y 2 . 2 i s t o l o a d i t i n t o t h e [ A u t o P i p e l i n e F o r I n p a i n t i n g ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a u t o _ p i p e l i n e # d i f f u s e r s . A u t o P i p e l i n e F o r I n p a i n t i n g ) c l a s s w h i c h u s e s t h e [ K a n d i n s k y V 2 2 I n p a i n t C o m b i n e d P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / k a n d i n s k y _ v 2 2 # d i f f u s e r s . K a n d i n s k y V 2 2 I n p a i n t C o m b i n e d P i p e l i n e ) u n d e r t h e h o o d . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - d e c o d e r - i n p a i n t " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # l o a d b a s e a n d m a s k i m a g e i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t . p n g " ) m a s k _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t _ m a s k . p n g " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( " c u d a " ) . m a n u a l _ s e e d ( 9 2 ) p r o m p t = " c o n c e p t a r t d i g i t a l p a i n t i n g o f a n e l v e n c a s t l e , i n s p i r e d b y l o r d o f t h e r i n g s , h i g h l y d e t a i l e d , 8 k " i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > b a s e i m a g e < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t - s d v 1 . 5 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > S t a b l e D i f f u s i o n I n p a i n t i n g < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t - s d x l . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > S t a b l e D i f f u s i o n X L I n p a i n t i n g < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t - k a n d i n s k y . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > K a n d i n s k y 2 . 2 I n p a i n t i n g < / f i g c a p t i o n > < / d i v > < / d i v > # # N o n - i n p a i n t s p e c i f i c c h e c k p o i n t s S o f a r , t h i s g u i d e h a s u s e d i n p a i n t s p e c i f i c c h e c k p o i n t s s u c h a s [ s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - i n p a i n t i n g ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - i n p a i n t i n g ) . B u t y o u c a n a l s o u s e r e g u l a r c h e c k p o i n t s l i k e [ s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ) . L e t ' s c o m p a r e t h e r e s u l t s o f t h e t w o c h e c k p o i n t s . T h e i m a g e o n t h e l e f t i s g e n e r a t e d f r o m a r e g u l a r c h e c k p o i n t , a n d t h e i m a g e o n t h e r i g h t i s f r o m a n i n p a i n t c h e c k p o i n t . Y o u ' l l i m m e d i a t e l y n o t i c e t h e i m a g e o n t h e l e f t i s n o t a s c l e a n , a n d y o u c a n s t i l l s e e t h e o u t l i n e o f t h e a r e a t h e m o d e l i s s u p p o s e d t o i n p a i n t . T h e i m a g e o n t h e r i g h t i s m u c h c l e a n e r a n d t h e i n p a i n t e d a r e a a p p e a r s m o r e n a t u r a l . < h f o p t i o n s i d = " r e g u l a r - s p e c i f i c " > < h f o p t i o n i d = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " > ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # l o a d b a s e a n d m a s k i m a g e i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t . p n g " ) m a s k _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t _ m a s k . p n g " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( " c u d a " ) . m a n u a l _ s e e d ( 9 2 ) p r o m p t = " c o n c e p t a r t d i g i t a l p a i n t i n g o f a n e l v e n c a s t l e , i n s p i r e d b y l o r d o f t h e r i n g s , h i g h l y d e t a i l e d , 8 k " i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g " > ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # l o a d b a s e a n d m a s k i m a g e i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t . p n g " ) m a s k _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t _ m a s k . p n g " ) g e n e r a t o r = t o r c h . G e n e r a t o r ( " c u d a " ) . m a n u a l _ s e e d ( 9 2 ) p r o m p t = " c o n c e p t a r t d i g i t a l p a i n t i n g o f a n e l v e n c a s t l e , i n s p i r e d b y l o r d o f t h e r i n g s , h i g h l y d e t a i l e d , 8 k " i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / n o n - i n p a i n t - s p e c i f i c . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t - s p e c i f i c . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g < / f i g c a p t i o n > < / d i v > < / d i v > H o w e v e r , f o r m o r e b a s i c t a s k s l i k e e r a s i n g a n o b j e c t f r o m a n i m a g e ( l i k e t h e r o c k s i n t h e r o a d f o r e x a m p l e ) , a r e g u l a r c h e c k p o i n t y i e l d s p r e t t y g o o d r e s u l t s . T h e r e i s n ' t a s n o t i c e a b l e o f d i f f e r e n c e b e t w e e n t h e r e g u l a r a n d i n p a i n t c h e c k p o i n t . < h f o p t i o n s i d = " i n p a i n t " > < h f o p t i o n i d = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " > ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # l o a d b a s e a n d m a s k i m a g e i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t . p n g " ) m a s k _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / r o a d - m a s k . p n g " ) i m a g e = p i p e l i n e ( p r o m p t = " r o a d " , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` < / h f o p t i o n > < h f o p t i o n i d = " r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t " > ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # l o a d b a s e a n d m a s k i m a g e i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t . p n g " ) m a s k _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / r o a d - m a s k . p n g " ) i m a g e = p i p e l i n e ( p r o m p t = " r o a d " , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` < / h f o p t i o n > < / h f o p t i o n s > < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / r e g u l a r - i n p a i n t - b a s i c . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / s p e c i f i c - i n p a i n t - b a s i c . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g < / f i g c a p t i o n > < / d i v > < / d i v > T h e t r a d e - o f f o f u s i n g a n o n - i n p a i n t s p e c i f i c c h e c k p o i n t i s t h e o v e r a l l i m a g e q u a l i t y m a y b e l o w e r , b u t i t g e n e r a l l y t e n d s t o p r e s e r v e t h e m a s k a r e a ( t h a t i s w h y y o u c a n s e e t h e m a s k o u t l i n e ) . T h e i n p a i n t s p e c i f i c c h e c k p o i n t s a r e i n t e n t i o n a l l y t r a i n e d t o g e n e r a t e h i g h e r q u a l i t y i n p a i n t e d i m a g e s , a n d t h a t i n c l u d e s c r e a t i n g a m o r e n a t u r a l t r a n s i t i o n b e t w e e n t h e m a s k e d a n d u n m a s k e d a r e a s . A s a r e s u l t , t h e s e c h e c k p o i n t s a r e m o r e l i k e l y t o c h a n g e y o u r u n m a s k e d a r e a . I f p r e s e r v i n g t h e u n m a s k e d a r e a i s i m p o r t a n t f o r y o u r t a s k , y o u c a n u s e t h e ` V a e I m a g e P r o c e s s o r . a p p l y _ o v e r l a y ` m e t h o d t o f o r c e t h e u n m a s k e d a r e a o f a n i m a g e t o r e m a i n t h e s a m e a t t h e e x p e n s e o f s o m e m o r e u n n a t u r a l t r a n s i t i o n s b e t w e e n t h e m a s k e d a n d u n m a s k e d a r e a s . ` ` ` p y i m p o r t P I L i m p o r t n u m p y a s n p i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d d e v i c e = " c u d a " p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , ) p i p e l i n e = p i p e l i n e . t o ( d e v i c e ) i m g _ u r l = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / C o m p V i s / l a t e n t - d i f f u s i o n / m a i n / d a t a / i n p a i n t i n g _ e x a m p l e s / o v e r t u r e - c r e a t i o n s - 5 s I 6 f Q g Y I u o . p n g " m a s k _ u r l = " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / C o m p V i s / l a t e n t - d i f f u s i o n / m a i n / d a t a / i n p a i n t i n g _ e x a m p l e s / o v e r t u r e - c r e a t i o n s - 5 s I 6 f Q g Y I u o _ m a s k . p n g " i n i t _ i m a g e = l o a d _ i m a g e ( i m g _ u r l ) . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) m a s k _ i m a g e = l o a d _ i m a g e ( m a s k _ u r l ) . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) p r o m p t = " F a c e o f a y e l l o w c a t , h i g h r e s o l u t i o n , s i t t i n g o n a p a r k b e n c h " r e p a i n t e d _ i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e ) . i m a g e s [ 0 ] r e p a i n t e d _ i m a g e . s a v e ( " r e p a i n t e d _ i m a g e . p n g " ) u n m a s k e d _ u n c h a n g e d _ i m a g e = p i p e l i n e . i m a g e _ p r o c e s s o r . a p p l y _ o v e r l a y ( m a s k _ i m a g e , i n i t _ i m a g e , r e p a i n t e d _ i m a g e ) u n m a s k e d _ u n c h a n g e d _ i m a g e . s a v e ( " f o r c e _ u n m a s k e d _ u n c h a n g e d . p n g " ) m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k _ i m a g e , r e p a i n t e d _ i m a g e , u n m a s k e d _ u n c h a n g e d _ i m a g e ] , r o w s = 2 , c o l s = 2 ) ` ` ` # # C o n f i g u r e p i p e l i n e p a r a m e t e r s I m a g e f e a t u r e s - l i k e q u a l i t y a n d " c r e a t i v i t y " - a r e d e p e n d e n t o n p i p e l i n e p a r a m e t e r s . K n o w i n g w h a t t h e s e p a r a m e t e r s d o i s i m p o r t a n t f o r g e t t i n g t h e r e s u l t s y o u w a n t . L e t ' s t a k e a l o o k a t t h e m o s t i m p o r t a n t p a r a m e t e r s a n d s e e h o w c h a n g i n g t h e m a f f e c t s t h e o u t p u t . # # # S t r e n g t h ` s t r e n g t h ` i s a m e a s u r e o f h o w m u c h n o i s e i s a d d e d t o t h e b a s e i m a g e , w h i c h i n f l u e n c e s h o w s i m i l a r t h e o u t p u t i s t o t h e b a s e i m a g e . * ๐Ÿ“ˆ a h i g h ` s t r e n g t h ` v a l u e m e a n s m o r e n o i s e i s a d d e d t o a n i m a g e a n d t h e d e n o i s i n g p r o c e s s t a k e s l o n g e r , b u t y o u ' l l g e t h i g h e r q u a l i t y i m a g e s t h a t a r e m o r e d i f f e r e n t f r o m t h e b a s e i m a g e * ๐Ÿ“‰ a l o w ` s t r e n g t h ` v a l u e m e a n s l e s s n o i s e i s a d d e d t o a n i m a g e a n d t h e d e n o i s i n g p r o c e s s i s f a s t e r , b u t t h e i m a g e q u a l i t y m a y n o t b e a s g r e a t a n d t h e g e n e r a t e d i m a g e r e s e m b l e s t h e b a s e i m a g e m o r e ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # l o a d b a s e a n d m a s k i m a g e i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t . p n g " ) m a s k _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t _ m a s k . p n g " ) p r o m p t = " c o n c e p t a r t d i g i t a l p a i n t i n g o f a n e l v e n c a s t l e , i n s p i r e d b y l o r d o f t h e r i n g s , h i g h l y d e t a i l e d , 8 k " i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e , s t r e n g t h = 0 . 6 ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t - s t r e n g t h - 0 . 6 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > s t r e n g t h = 0 . 6 < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t - s t r e n g t h - 0 . 8 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > s t r e n g t h = 0 . 8 < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t - s t r e n g t h - 1 . 0 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > s t r e n g t h = 1 . 0 < / f i g c a p t i o n > < / d i v > < / d i v > # # # G u i d a n c e s c a l e ` g u i d a n c e _ s c a l e ` a f f e c t s h o w a l i g n e d t h e t e x t p r o m p t a n d g e n e r a t e d i m a g e a r e . * ๐Ÿ“ˆ a h i g h ` g u i d a n c e _ s c a l e ` v a l u e m e a n s t h e p r o m p t a n d g e n e r a t e d i m a g e a r e c l o s e l y a l i g n e d , s o t h e o u t p u t i s a s t r i c t e r i n t e r p r e t a t i o n o f t h e p r o m p t * ๐Ÿ“‰ a l o w ` g u i d a n c e _ s c a l e ` v a l u e m e a n s t h e p r o m p t a n d g e n e r a t e d i m a g e a r e m o r e l o o s e l y a l i g n e d , s o t h e o u t p u t m a y b e m o r e v a r i e d f r o m t h e p r o m p t Y o u c a n u s e ` s t r e n g t h ` a n d ` g u i d a n c e _ s c a l e ` t o g e t h e r f o r m o r e c o n t r o l o v e r h o w e x p r e s s i v e t h e m o d e l i s . F o r e x a m p l e , a c o m b i n a t i o n h i g h ` s t r e n g t h ` a n d ` g u i d a n c e _ s c a l e ` v a l u e s g i v e s t h e m o d e l t h e m o s t c r e a t i v e f r e e d o m . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # l o a d b a s e a n d m a s k i m a g e i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t . p n g " ) m a s k _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t _ m a s k . p n g " ) p r o m p t = " c o n c e p t a r t d i g i t a l p a i n t i n g o f a n e l v e n c a s t l e , i n s p i r e d b y l o r d o f t h e r i n g s , h i g h l y d e t a i l e d , 8 k " i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e , g u i d a n c e _ s c a l e = 2 . 5 ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t - g u i d a n c e - 2 . 5 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g u i d a n c e _ s c a l e = 2 . 5 < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t - g u i d a n c e - 7 . 5 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g u i d a n c e _ s c a l e = 7 . 5 < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t - g u i d a n c e - 1 2 . 5 . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g u i d a n c e _ s c a l e = 1 2 . 5 < / f i g c a p t i o n > < / d i v > < / d i v > # # # N e g a t i v e p r o m p t A n e g a t i v e p r o m p t a s s u m e s t h e o p p o s i t e r o l e o f a p r o m p t ; i t g u i d e s t h e m o d e l a w a y f r o m g e n e r a t i n g c e r t a i n t h i n g s i n a n i m a g e . T h i s i s u s e f u l f o r q u i c k l y i m p r o v i n g i m a g e q u a l i t y a n d p r e v e n t i n g t h e m o d e l f r o m g e n e r a t i n g t h i n g s y o u d o n ' t w a n t . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # l o a d b a s e a n d m a s k i m a g e i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t . p n g " ) m a s k _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t _ m a s k . p n g " ) p r o m p t = " c o n c e p t a r t d i g i t a l p a i n t i n g o f a n e l v e n c a s t l e , i n s p i r e d b y l o r d o f t h e r i n g s , h i g h l y d e t a i l e d , 8 k " n e g a t i v e _ p r o m p t = " b a d a r c h i t e c t u r e , u n s t a b l e , p o o r d e t a i l s , b l u r r y " i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < f i g u r e > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t - n e g a t i v e . p n g " / > < f i g c a p t i o n c l a s s = " t e x t - c e n t e r " > n e g a t i v e _ p r o m p t = " b a d a r c h i t e c t u r e , u n s t a b l e , p o o r d e t a i l s , b l u r r y " < / f i g c a p t i o n > < / f i g u r e > < / d i v > # # # P a d d i n g m a s k c r o p A m e t h o d f o r i n c r e a s i n g t h e i n p a i n t i n g i m a g e q u a l i t y i s t o u s e t h e [ ` p a d d i n g _ m a s k _ c r o p ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / v 0 . 2 5 . 0 / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / i n p a i n t # d i f f u s e r s . S t a b l e D i f f u s i o n I n p a i n t P i p e l i n e . _ _ c a l l _ _ . p a d d i n g _ m a s k _ c r o p ) p a r a m e t e r . W h e n e n a b l e d , t h i s o p t i o n c r o p s t h e m a s k e d a r e a w i t h s o m e u s e r - s p e c i f i e d p a d d i n g a n d i t ' l l a l s o c r o p t h e s a m e a r e a f r o m t h e o r i g i n a l i m a g e . B o t h t h e i m a g e a n d m a s k a r e u p s c a l e d t o a h i g h e r r e s o l u t i o n f o r i n p a i n t i n g , a n d t h e n o v e r l a i d o n t h e o r i g i n a l i m a g e . T h i s i s a q u i c k a n d e a s y w a y t o i m p r o v e i m a g e q u a l i t y w i t h o u t u s i n g a s e p a r a t e p i p e l i n e l i k e [ S t a b l e D i f f u s i o n U p s c a l e P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / u p s c a l e # d i f f u s e r s . S t a b l e D i f f u s i o n U p s c a l e P i p e l i n e ) . A d d t h e ` p a d d i n g _ m a s k _ c r o p ` p a r a m e t e r t o t h e p i p e l i n e c a l l a n d s e t i t t o t h e d e s i r e d p a d d i n g v a l u e . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e f r o m P I L i m p o r t I m a g e g e n e r a t o r = t o r c h . G e n e r a t o r ( d e v i c e = ' c u d a ' ) . m a n u a l _ s e e d ( 0 ) p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( ' c u d a ' ) b a s e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / s e a s h o r e . p n g " ) m a s k = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / Y i Y i X u / t e s t i n g - i m a g e s / r e s o l v e / m a i n / s e a s h o r e _ m a s k . p n g " ) i m a g e = p i p e l i n e ( " b o a t " , i m a g e = b a s e , m a s k _ i m a g e = m a s k , s t r e n g t h = 0 . 7 5 , g e n e r a t o r = g e n e r a t o r , p a d d i n g _ m a s k _ c r o p = 3 2 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / b a s e l i n e _ i n p a i n t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > d e f a u l t i n p a i n t i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / p a d d i n g _ m a s k _ c r o p _ i n p a i n t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > i n p a i n t i m a g e w i t h ` p a d d i n g _ m a s k _ c r o p ` e n a b l e d < / f i g c a p t i o n > < / d i v > < / d i v > # # C h a i n e d i n p a i n t i n g p i p e l i n e s [ A u t o P i p e l i n e F o r I n p a i n t i n g ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a u t o _ p i p e l i n e # d i f f u s e r s . A u t o P i p e l i n e F o r I n p a i n t i n g ) c a n b e c h a i n e d w i t h o t h e r ๐Ÿค— D i f f u s e r s p i p e l i n e s t o e d i t t h e i r o u t p u t s . T h i s i s o f t e n u s e f u l f o r i m p r o v i n g t h e o u t p u t q u a l i t y f r o m y o u r o t h e r d i f f u s i o n p i p e l i n e s , a n d i f y o u ' r e u s i n g m u l t i p l e p i p e l i n e s , i t c a n b e m o r e m e m o r y - e f f i c i e n t t o c h a i n t h e m t o g e t h e r t o k e e p t h e o u t p u t s i n l a t e n t s p a c e a n d r e u s e t h e s a m e p i p e l i n e c o m p o n e n t s . # # # T e x t - t o - i m a g e - t o - i n p a i n t C h a i n i n g a t e x t - t o - i m a g e a n d i n p a i n t i n g p i p e l i n e a l l o w s y o u t o i n p a i n t t h e g e n e r a t e d i m a g e , a n d y o u d o n ' t h a v e t o p r o v i d e a b a s e i m a g e t o b e g i n w i t h . T h i s m a k e s i t c o n v e n i e n t t o e d i t y o u r f a v o r i t e t e x t - t o - i m a g e o u t p u t s w i t h o u t h a v i n g t o g e n e r a t e a n e n t i r e l y n e w i m a g e . S t a r t w i t h t h e t e x t - t o - i m a g e p i p e l i n e t o c r e a t e a c a s t l e : ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e , A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d p i p e l i n e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) t e x t 2 i m a g e = p i p e l i n e ( " c o n c e p t a r t d i g i t a l p a i n t i n g o f a n e l v e n c a s t l e , i n s p i r e d b y l o r d o f t h e r i n g s , h i g h l y d e t a i l e d , 8 k " ) . i m a g e s [ 0 ] ` ` ` L o a d t h e m a s k i m a g e o f t h e o u t p u t f r o m a b o v e : ` ` ` p y m a s k _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t _ t e x t - c h a i n - m a s k . p n g " ) ` ` ` A n d l e t ' s i n p a i n t t h e m a s k e d a r e a w i t h a w a t e r f a l l : ` ` ` p y p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " k a n d i n s k y - c o m m u n i t y / k a n d i n s k y - 2 - 2 - d e c o d e r - i n p a i n t " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) p r o m p t = " d i g i t a l p a i n t i n g o f a f a n t a s y w a t e r f a l l , c l o u d y " i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , i m a g e = t e x t 2 i m a g e , m a s k _ i m a g e = m a s k _ i m a g e ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ t e x t 2 i m a g e , m a s k _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t - t e x t - c h a i n . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > t e x t - t o - i m a g e < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t - t e x t - c h a i n - o u t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > i n p a i n t < / f i g c a p t i o n > < / d i v > < / d i v > # # # I n p a i n t - t o - i m a g e - t o - i m a g e Y o u c a n a l s o c h a i n a n i n p a i n t i n g p i p e l i n e b e f o r e a n o t h e r p i p e l i n e l i k e i m a g e - t o - i m a g e o r a n u p s c a l e r t o i m p r o v e t h e q u a l i t y . B e g i n b y i n p a i n t i n g a n i m a g e : ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g , A u t o P i p e l i n e F o r I m a g e 2 I m a g e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # l o a d b a s e a n d m a s k i m a g e i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t . p n g " ) m a s k _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t _ m a s k . p n g " ) p r o m p t = " c o n c e p t a r t d i g i t a l p a i n t i n g o f a n e l v e n c a s t l e , i n s p i r e d b y l o r d o f t h e r i n g s , h i g h l y d e t a i l e d , 8 k " i m a g e _ i n p a i n t i n g = p i p e l i n e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e ) . i m a g e s [ 0 ] # r e s i z e i m a g e t o 1 0 2 4 x 1 0 2 4 f o r S D X L i m a g e _ i n p a i n t i n g = i m a g e _ i n p a i n t i n g . r e s i z e ( ( 1 0 2 4 , 1 0 2 4 ) ) ` ` ` N o w l e t ' s p a s s t h e i m a g e t o a n o t h e r i n p a i n t i n g p i p e l i n e w i t h S D X L ' s r e f i n e r m o d e l t o e n h a n c e t h e i m a g e d e t a i l s a n d q u a l i t y : ` ` ` p y p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - r e f i n e r - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , i m a g e = i m a g e _ i n p a i n t i n g , m a s k _ i m a g e = m a s k _ i m a g e , o u t p u t _ t y p e = " l a t e n t " ) . i m a g e s [ 0 ] ` ` ` < T i p > I t i s i m p o r t a n t t o s p e c i f y ` o u t p u t _ t y p e = " l a t e n t " ` i n t h e p i p e l i n e t o k e e p a l l t h e o u t p u t s i n l a t e n t s p a c e t o a v o i d a n u n n e c e s s a r y d e c o d e - e n c o d e s t e p . T h i s o n l y w o r k s i f t h e c h a i n e d p i p e l i n e s a r e u s i n g t h e s a m e V A E . F o r e x a m p l e , i n t h e [ T e x t - t o - i m a g e - t o - i n p a i n t ] ( # t e x t - t o - i m a g e - t o - i n p a i n t ) s e c t i o n , K a n d i n s k y 2 . 2 u s e s a d i f f e r e n t V A E c l a s s t h a n t h e S t a b l e D i f f u s i o n m o d e l s o i t w o n ' t w o r k . B u t i f y o u u s e S t a b l e D i f f u s i o n v 1 . 5 f o r b o t h p i p e l i n e s , t h e n y o u c a n k e e p e v e r y t h i n g i n l a t e n t s p a c e b e c a u s e t h e y b o t h u s e [ A u t o e n c o d e r K L ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / a u t o e n c o d e r k l # d i f f u s e r s . A u t o e n c o d e r K L ) . < / T i p > F i n a l l y , y o u c a n p a s s t h i s i m a g e t o a n i m a g e - t o - i m a g e p i p e l i n e t o p u t t h e f i n i s h i n g t o u c h e s o n i t . I t i s m o r e e f f i c i e n t t o u s e t h e [ f r o m _ p i p e ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a u t o _ p i p e l i n e # d i f f u s e r s . A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p i p e ) m e t h o d t o r e u s e t h e e x i s t i n g p i p e l i n e c o m p o n e n t s , a n d a v o i d u n n e c e s s a r i l y l o a d i n g a l l t h e p i p e l i n e c o m p o n e n t s i n t o m e m o r y a g a i n . ` ` ` p y p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p i p e ( p i p e l i n e ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , i m a g e = i m a g e ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k _ i m a g e , i m a g e _ i n p a i n t i n g , i m a g e ] , r o w s = 2 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > i n i t i a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t - t o - i m a g e - c h a i n . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > i n p a i n t < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t - t o - i m a g e - f i n a l . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > i m a g e - t o - i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > I m a g e - t o - i m a g e a n d i n p a i n t i n g a r e a c t u a l l y v e r y s i m i l a r t a s k s . I m a g e - t o - i m a g e g e n e r a t e s a n e w i m a g e t h a t r e s e m b l e s t h e e x i s t i n g p r o v i d e d i m a g e . I n p a i n t i n g d o e s t h e s a m e t h i n g , b u t i t o n l y t r a n s f o r m s t h e i m a g e a r e a d e f i n e d b y t h e m a s k a n d t h e r e s t o f t h e i m a g e i s u n c h a n g e d . Y o u c a n t h i n k o f i n p a i n t i n g a s a m o r e p r e c i s e t o o l f o r m a k i n g s p e c i f i c c h a n g e s a n d i m a g e - t o - i m a g e h a s a b r o a d e r s c o p e f o r m a k i n g m o r e s w e e p i n g c h a n g e s . # # C o n t r o l i m a g e g e n e r a t i o n G e t t i n g a n i m a g e t o l o o k e x a c t l y t h e w a y y o u w a n t i s c h a l l e n g i n g b e c a u s e t h e d e n o i s i n g p r o c e s s i s r a n d o m . W h i l e y o u c a n c o n t r o l c e r t a i n a s p e c t s o f g e n e r a t i o n b y c o n f i g u r i n g p a r a m e t e r s l i k e ` n e g a t i v e _ p r o m p t ` , t h e r e a r e b e t t e r a n d m o r e e f f i c i e n t m e t h o d s f o r c o n t r o l l i n g i m a g e g e n e r a t i o n . # # # P r o m p t w e i g h t i n g P r o m p t w e i g h t i n g p r o v i d e s a q u a n t i f i a b l e w a y t o s c a l e t h e r e p r e s e n t a t i o n o f c o n c e p t s i n a p r o m p t . Y o u c a n u s e i t t o i n c r e a s e o r d e c r e a s e t h e m a g n i t u d e o f t h e t e x t e m b e d d i n g v e c t o r f o r e a c h c o n c e p t i n t h e p r o m p t , w h i c h s u b s e q u e n t l y d e t e r m i n e s h o w m u c h o f e a c h c o n c e p t i s g e n e r a t e d . T h e [ C o m p e l ] ( h t t p s : / / g i t h u b . c o m / d a m i a n 0 8 1 5 / c o m p e l ) l i b r a r y o f f e r s a n i n t u i t i v e s y n t a x f o r s c a l i n g t h e p r o m p t w e i g h t s a n d g e n e r a t i n g t h e e m b e d d i n g s . L e a r n h o w t o c r e a t e t h e e m b e d d i n g s i n t h e [ P r o m p t w e i g h t i n g ] ( . . / u s i n g - d i f f u s e r s / w e i g h t e d _ p r o m p t s ) g u i d e . O n c e y o u ' v e g e n e r a t e d t h e e m b e d d i n g s , p a s s t h e m t o t h e ` p r o m p t _ e m b e d s ` ( a n d ` n e g a t i v e _ p r o m p t _ e m b e d s ` i f y o u ' r e u s i n g a n e g a t i v e p r o m p t ) p a r a m e t e r i n t h e [ A u t o P i p e l i n e F o r I n p a i n t i n g ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a u t o _ p i p e l i n e # d i f f u s e r s . A u t o P i p e l i n e F o r I n p a i n t i n g ) . T h e e m b e d d i n g s r e p l a c e t h e ` p r o m p t ` p a r a m e t e r : ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g f r o m d i f f u s e r s . u t i l s i m p o r t m a k e _ i m a g e _ g r i d p i p e l i n e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) i m a g e = p i p e l i n e ( p r o m p t _ e m b e d s = p r o m p t _ e m b e d s , # g e n e r a t e d f r o m C o m p e l n e g a t i v e _ p r o m p t _ e m b e d s = n e g a t i v e _ p r o m p t _ e m b e d s , # g e n e r a t e d f r o m C o m p e l i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` # # # C o n t r o l N e t C o n t r o l N e t m o d e l s a r e u s e d w i t h o t h e r d i f f u s i o n m o d e l s l i k e S t a b l e D i f f u s i o n , a n d t h e y p r o v i d e a n e v e n m o r e f l e x i b l e a n d a c c u r a t e w a y t o c o n t r o l h o w a n i m a g e i s g e n e r a t e d . A C o n t r o l N e t a c c e p t s a n a d d i t i o n a l c o n d i t i o n i n g i m a g e i n p u t t h a t g u i d e s t h e d i f f u s i o n m o d e l t o p r e s e r v e t h e f e a t u r e s i n i t . F o r e x a m p l e , l e t ' s c o n d i t i o n a n i m a g e w i t h a C o n t r o l N e t p r e t r a i n e d o n i n p a i n t i m a g e s : ` ` ` p y i m p o r t t o r c h i m p o r t n u m p y a s n p f r o m d i f f u s e r s i m p o r t C o n t r o l N e t M o d e l , S t a b l e D i f f u s i o n C o n t r o l N e t I n p a i n t P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d # l o a d C o n t r o l N e t c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " l l l y a s v i e l / c o n t r o l _ v 1 1 p _ s d 1 5 _ i n p a i n t " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) # p a s s C o n t r o l N e t t o t h e p i p e l i n e p i p e l i n e = S t a b l e D i f f u s i o n C o n t r o l N e t I n p a i n t P i p e l i n e . f r o m _ p r e t r a i n e d ( " r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g " , c o n t r o l n e t = c o n t r o l n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) # l o a d b a s e a n d m a s k i m a g e i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t . p n g " ) m a s k _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t _ m a s k . p n g " ) # p r e p a r e c o n t r o l i m a g e d e f m a k e _ i n p a i n t _ c o n d i t i o n ( i n i t _ i m a g e , m a s k _ i m a g e ) : i n i t _ i m a g e = n p . a r r a y ( i n i t _ i m a g e . c o n v e r t ( " R G B " ) ) . a s t y p e ( n p . f l o a t 3 2 ) / 2 5 5 . 0 m a s k _ i m a g e = n p . a r r a y ( m a s k _ i m a g e . c o n v e r t ( " L " ) ) . a s t y p e ( n p . f l o a t 3 2 ) / 2 5 5 . 0 a s s e r t i n i t _ i m a g e . s h a p e [ 0 : 1 ] = = m a s k _ i m a g e . s h a p e [ 0 : 1 ] , " i m a g e a n d i m a g e _ m a s k m u s t h a v e t h e s a m e i m a g e s i z e " i n i t _ i m a g e [ m a s k _ i m a g e > 0 . 5 ] = - 1 . 0 # s e t a s m a s k e d p i x e l i n i t _ i m a g e = n p . e x p a n d _ d i m s ( i n i t _ i m a g e , 0 ) . t r a n s p o s e ( 0 , 3 , 1 , 2 ) i n i t _ i m a g e = t o r c h . f r o m _ n u m p y ( i n i t _ i m a g e ) r e t u r n i n i t _ i m a g e c o n t r o l _ i m a g e = m a k e _ i n p a i n t _ c o n d i t i o n ( i n i t _ i m a g e , m a s k _ i m a g e ) ` ` ` N o w g e n e r a t e a n i m a g e f r o m t h e b a s e , m a s k a n d c o n t r o l i m a g e s . Y o u ' l l n o t i c e f e a t u r e s o f t h e b a s e i m a g e a r e s t r o n g l y p r e s e r v e d i n t h e g e n e r a t e d i m a g e . ` ` ` p y p r o m p t = " c o n c e p t a r t d i g i t a l p a i n t i n g o f a n e l v e n c a s t l e , i n s p i r e d b y l o r d o f t h e r i n g s , h i g h l y d e t a i l e d , 8 k " i m a g e = p i p e l i n e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e , c o n t r o l _ i m a g e = c o n t r o l _ i m a g e ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k _ i m a g e , P I L . I m a g e . f r o m a r r a y ( n p . u i n t 8 ( c o n t r o l _ i m a g e [ 0 ] [ 0 ] ) ) . c o n v e r t ( ' R G B ' ) , i m a g e ] , r o w s = 2 , c o l s = 2 ) ` ` ` Y o u c a n t a k e t h i s a s t e p f u r t h e r a n d c h a i n i t w i t h a n i m a g e - t o - i m a g e p i p e l i n e t o a p p l y a n e w [ s t y l e ] ( h t t p s : / / h u g g i n g f a c e . c o / n i t r o s o c k e / e l d e n - r i n g - d i f f u s i o n ) : ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I m a g e 2 I m a g e p i p e l i n e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " n i t r o s o c k e / e l d e n - r i n g - d i f f u s i o n " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) # r e m o v e f o l l o w i n g l i n e i f x F o r m e r s i s n o t i n s t a l l e d o r y o u h a v e P y T o r c h 2 . 0 o r h i g h e r i n s t a l l e d p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) p r o m p t = " e l d e n r i n g s t y l e c a s t l e " # i n c l u d e t h e t o k e n " e l d e n r i n g s t y l e " i n t h e p r o m p t n e g a t i v e _ p r o m p t = " b a d a r c h i t e c t u r e , d e f o r m e d , d i s f i g u r e d , p o o r d e t a i l s " i m a g e _ e l d e n _ r i n g = p i p e l i n e ( p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , i m a g e = i m a g e ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ i n i t _ i m a g e , m a s k _ i m a g e , i m a g e , i m a g e _ e l d e n _ r i n g ] , r o w s = 2 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x f l e x - r o w g a p - 4 " > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > i n i t i a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t - c o n t r o l n e t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > C o n t r o l N e t i n p a i n t < / f i g c a p t i o n > < / d i v > < d i v c l a s s = " f l e x - 1 " > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t - i m g 2 i m g . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > i m a g e - t o - i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > # # O p t i m i z e I t c a n b e d i f f i c u l t a n d s l o w t o r u n d i f f u s i o n m o d e l s i f y o u ' r e r e s o u r c e c o n s t r a i n e d , b u t i t d o e s n ' t h a v e t o b e w i t h a f e w o p t i m i z a t i o n t r i c k s . O n e o f t h e b i g g e s t ( a n d e a s i e s t ) o p t i m i z a t i o n s y o u c a n e n a b l e i s s w i t c h i n g t o m e m o r y - e f f i c i e n t a t t e n t i o n . I f y o u ' r e u s i n g P y T o r c h 2 . 0 , [ s c a l e d - d o t p r o d u c t a t t e n t i o n ] ( . . / o p t i m i z a t i o n / t o r c h 2 . 0 # s c a l e d - d o t - p r o d u c t - a t t e n t i o n ) i s a u t o m a t i c a l l y e n a b l e d a n d y o u d o n ' t n e e d t o d o a n y t h i n g e l s e . F o r n o n - P y T o r c h 2 . 0 u s e r s , y o u c a n i n s t a l l a n d u s e [ x F o r m e r s ] ( . . / o p t i m i z a t i o n / x f o r m e r s ) ' s i m p l e m e n t a t i o n o f m e m o r y - e f f i c i e n t a t t e n t i o n . B o t h o p t i o n s r e d u c e m e m o r y u s a g e a n d a c c e l e r a t e i n f e r e n c e . Y o u c a n a l s o o f f l o a d t h e m o d e l t o t h e C P U t o s a v e e v e n m o r e m e m o r y : ` ` ` d i f f + p i p e l i n e . e n a b l e _ x f o r m e r s _ m e m o r y _ e f f i c i e n t _ a t t e n t i o n ( ) + p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) ` ` ` T o s p e e d - u p y o u r i n f e r e n c e c o d e e v e n m o r e , u s e [ ` t o r c h _ c o m p i l e ` ] ( . . / o p t i m i z a t i o n / t o r c h 2 . 0 # t o r c h c o m p i l e ) . Y o u s h o u l d w r a p ` t o r c h . c o m p i l e ` a r o u n d t h e m o s t i n t e n s i v e c o m p o n e n t i n t h e p i p e l i n e w h i c h i s t y p i c a l l y t h e U N e t : ` ` ` p y p i p e l i n e . u n e t = t o r c h . c o m p i l e ( p i p e l i n e . u n e t , m o d e = " r e d u c e - o v e r h e a d " , f u l l g r a p h = T r u e ) ` ` ` L e a r n m o r e i n t h e [ R e d u c e m e m o r y u s a g e ] ( . . / o p t i m i z a t i o n / m e m o r y ) a n d [ T o r c h 2 . 0 ] ( . . / o p t i m i z a t i o n / t o r c h 2 . 0 ) g u i d e s . # L a t e n t C o n s i s t e n c y M o d e l [ L a t e n t C o n s i s t e n c y M o d e l s ( L C M s ) ] ( h t t p s : / / h f . c o / p a p e r s / 2 3 1 0 . 0 4 3 7 8 ) e n a b l e f a s t h i g h - q u a l i t y i m a g e g e n e r a t i o n b y d i r e c t l y p r e d i c t i n g t h e r e v e r s e d i f f u s i o n p r o c e s s i n t h e l a t e n t r a t h e r t h a n p i x e l s p a c e . I n o t h e r w o r d s , L C M s t r y t o p r e d i c t t h e n o i s e l e s s i m a g e f r o m t h e n o i s y i m a g e i n c o n t r a s t t o t y p i c a l d i f f u s i o n m o d e l s t h a t i t e r a t i v e l y r e m o v e n o i s e f r o m t h e n o i s y i m a g e . B y a v o i d i n g t h e i t e r a t i v e s a m p l i n g p r o c e s s , L C M s a r e a b l e t o g e n e r a t e h i g h - q u a l i t y i m a g e s i n 2 - 4 s t e p s i n s t e a d o f 2 0 - 3 0 s t e p s . L C M s a r e d i s t i l l e d f r o m p r e t r a i n e d m o d e l s w h i c h r e q u i r e s ~ 3 2 h o u r s o f A 1 0 0 c o m p u t e . T o s p e e d t h i s u p , [ L C M - L o R A s ] ( h t t p s : / / h f . c o / p a p e r s / 2 3 1 1 . 0 5 5 5 6 ) t r a i n a [ L o R A a d a p t e r ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / p e f t / c o n c e p t u a l _ g u i d e s / a d a p t e r # l o w - r a n k - a d a p t a t i o n - l o r a ) w h i c h h a v e m u c h f e w e r p a r a m e t e r s t o t r a i n c o m p a r e d t o t h e f u l l m o d e l . T h e L C M - L o R A c a n b e p l u g g e d i n t o a d i f f u s i o n m o d e l o n c e i t h a s b e e n t r a i n e d . T h i s g u i d e w i l l s h o w y o u h o w t o u s e L C M s a n d L C M - L o R A s f o r f a s t i n f e r e n c e o n t a s k s a n d h o w t o u s e t h e m w i t h o t h e r a d a p t e r s l i k e C o n t r o l N e t o r T 2 I - A d a p t e r . > [ ! T I P ] > L C M s a n d L C M - L o R A s a r e a v a i l a b l e f o r S t a b l e D i f f u s i o n v 1 . 5 , S t a b l e D i f f u s i o n X L , a n d t h e S S D - 1 B m o d e l . Y o u c a n f i n d t h e i r c h e c k p o i n t s o n t h e [ L a t e n t C o n s i s t e n c y ] ( h t t p s : / / h f . c o / c o l l e c t i o n s / l a t e n t - c o n s i s t e n c y / l a t e n t - c o n s i s t e n c y - m o d e l s - w e i g h t s - 6 5 4 c e 6 1 a 9 5 e d d 6 d f f c c e f 6 a 8 ) C o l l e c t i o n s . # # T e x t - t o - i m a g e < h f o p t i o n s i d = " l c m - t e x t 2 i m g " > < h f o p t i o n i d = " L C M " > T o u s e L C M s , y o u n e e d t o l o a d t h e L C M c h e c k p o i n t f o r y o u r s u p p o r t e d m o d e l i n t o [ U N e t 2 D C o n d i t i o n M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / u n e t 2 d - c o n d # d i f f u s e r s . U N e t 2 D C o n d i t i o n M o d e l ) a n d r e p l a c e t h e s c h e d u l e r w i t h t h e [ L C M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / l c m # d i f f u s e r s . L C M S c h e d u l e r ) . T h e n y o u c a n u s e t h e p i p e l i n e a s u s u a l , a n d p a s s a t e x t p r o m p t t o g e n e r a t e a n i m a g e i n j u s t 4 s t e p s . A c o u p l e o f n o t e s t o k e e p i n m i n d w h e n u s i n g L C M s a r e : * T y p i c a l l y , b a t c h s i z e i s d o u b l e d i n s i d e t h e p i p e l i n e f o r c l a s s i f i e r - f r e e g u i d a n c e . B u t L C M a p p l i e s g u i d a n c e w i t h g u i d a n c e e m b e d d i n g s a n d d o e s n ' t n e e d t o d o u b l e t h e b a t c h s i z e , w h i c h l e a d s t o f a s t e r i n f e r e n c e . T h e d o w n s i d e i s t h a t n e g a t i v e p r o m p t s d o n ' t w o r k w i t h L C M b e c a u s e t h e y d o n ' t h a v e a n y e f f e c t o n t h e d e n o i s i n g p r o c e s s . * T h e i d e a l r a n g e f o r ` g u i d a n c e _ s c a l e ` i s [ 3 . , 1 3 . ] b e c a u s e t h a t i s w h a t t h e U N e t w a s t r a i n e d w i t h . H o w e v e r , d i s a b l i n g ` g u i d a n c e _ s c a l e ` w i t h a v a l u e o f 1 . 0 i s a l s o e f f e c t i v e i n m o s t c a s e s . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e , U N e t 2 D C o n d i t i o n M o d e l , L C M S c h e d u l e r i m p o r t t o r c h u n e t = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( " l a t e n t - c o n s i s t e n c y / l c m - s d x l " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) p i p e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , u n e t = u n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) . t o ( " c u d a " ) p i p e . s c h e d u l e r = L C M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p r o m p t = " S e l f - p o r t r a i t o i l p a i n t i n g , a b e a u t i f u l c y b o r g w i t h g o l d e n h a i r , 8 k " g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) i m a g e = p i p e ( p r o m p t = p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 4 , g e n e r a t o r = g e n e r a t o r , g u i d a n c e _ s c a l e = 8 . 0 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l c m / l c m _ f u l l _ s d x l _ t 2 i . p n g " / > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " L C M - L o R A " > T o u s e L C M - L o R A s , y o u n e e d t o r e p l a c e t h e s c h e d u l e r w i t h t h e [ L C M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / l c m # d i f f u s e r s . L C M S c h e d u l e r ) a n d l o a d t h e L C M - L o R A w e i g h t s w i t h t h e [ l o a d _ l o r a _ w e i g h t s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . S t a b l e D i f f u s i o n L o r a L o a d e r M i x i n . l o a d _ l o r a _ w e i g h t s ) m e t h o d . T h e n y o u c a n u s e t h e p i p e l i n e a s u s u a l , a n d p a s s a t e x t p r o m p t t o g e n e r a t e a n i m a g e i n j u s t 4 s t e p s . A c o u p l e o f n o t e s t o k e e p i n m i n d w h e n u s i n g L C M - L o R A s a r e : * T y p i c a l l y , b a t c h s i z e i s d o u b l e d i n s i d e t h e p i p e l i n e f o r c l a s s i f i e r - f r e e g u i d a n c e . B u t L C M a p p l i e s g u i d a n c e w i t h g u i d a n c e e m b e d d i n g s a n d d o e s n ' t n e e d t o d o u b l e t h e b a t c h s i z e , w h i c h l e a d s t o f a s t e r i n f e r e n c e . T h e d o w n s i d e i s t h a t n e g a t i v e p r o m p t s d o n ' t w o r k w i t h L C M b e c a u s e t h e y d o n ' t h a v e a n y e f f e c t o n t h e d e n o i s i n g p r o c e s s . * Y o u c o u l d u s e g u i d a n c e w i t h L C M - L o R A s , b u t i t i s v e r y s e n s i t i v e t o h i g h ` g u i d a n c e _ s c a l e ` v a l u e s a n d c a n l e a d t o a r t i f a c t s i n t h e g e n e r a t e d i m a g e . T h e b e s t v a l u e s w e ' v e f o u n d a r e b e t w e e n [ 1 . 0 , 2 . 0 ] . * R e p l a c e [ s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 ] ( h t t p s : / / h f . c o / s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 ) w i t h a n y f i n e t u n e d m o d e l . F o r e x a m p l e , t r y u s i n g t h e [ a n i m a g i n e - x l ] ( h t t p s : / / h u g g i n g f a c e . c o / L i n a q r u f / a n i m a g i n e - x l ) c h e c k p o i n t t o g e n e r a t e a n i m e i m a g e s w i t h S D X L . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e , L C M S c h e d u l e r p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e . s c h e d u l e r = L C M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . l o a d _ l o r a _ w e i g h t s ( " l a t e n t - c o n s i s t e n c y / l c m - l o r a - s d x l " ) p r o m p t = " S e l f - p o r t r a i t o i l p a i n t i n g , a b e a u t i f u l c y b o r g w i t h g o l d e n h a i r , 8 k " g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 4 2 ) i m a g e = p i p e ( p r o m p t = p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 4 , g e n e r a t o r = g e n e r a t o r , g u i d a n c e _ s c a l e = 1 . 0 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l c m / l c m _ s d x l _ t 2 i . p n g " / > < / d i v > < / h f o p t i o n > < / h f o p t i o n s > # # I m a g e - t o - i m a g e < h f o p t i o n s i d = " l c m - i m g 2 i m g " > < h f o p t i o n i d = " L C M " > T o u s e L C M s f o r i m a g e - t o - i m a g e , y o u n e e d t o l o a d t h e L C M c h e c k p o i n t f o r y o u r s u p p o r t e d m o d e l i n t o [ U N e t 2 D C o n d i t i o n M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / u n e t 2 d - c o n d # d i f f u s e r s . U N e t 2 D C o n d i t i o n M o d e l ) a n d r e p l a c e t h e s c h e d u l e r w i t h t h e [ L C M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / l c m # d i f f u s e r s . L C M S c h e d u l e r ) . T h e n y o u c a n u s e t h e p i p e l i n e a s u s u a l , a n d p a s s a t e x t p r o m p t a n d i n i t i a l i m a g e t o g e n e r a t e a n i m a g e i n j u s t 4 s t e p s . > [ ! T I P ] > E x p e r i m e n t w i t h d i f f e r e n t v a l u e s f o r ` n u m _ i n f e r e n c e _ s t e p s ` , ` s t r e n g t h ` , a n d ` g u i d a n c e _ s c a l e ` t o g e t t h e b e s t r e s u l t s . ` ` ` p y t h o n i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I m a g e 2 I m a g e , U N e t 2 D C o n d i t i o n M o d e l , L C M S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e u n e t = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( " S i m i a n L u o / L C M _ D r e a m s h a p e r _ v 7 " , s u b f o l d e r = " u n e t " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , ) p i p e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " L y k o n / d r e a m s h a p e r - 7 " , u n e t = u n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) . t o ( " c u d a " ) p i p e . s c h e d u l e r = L C M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - i n i t . p n g " ) p r o m p t = " A s t r o n a u t s i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) i m a g e = p i p e ( p r o m p t , i m a g e = i n i t _ i m a g e , n u m _ i n f e r e n c e _ s t e p s = 4 , g u i d a n c e _ s c a l e = 7 . 5 , s t r e n g t h = 0 . 5 , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - i n i t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > i n i t i a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l c m - i m g 2 i m g . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " L C M - L o R A " > T o u s e L C M - L o R A s f o r i m a g e - t o - i m a g e , y o u n e e d t o r e p l a c e t h e s c h e d u l e r w i t h t h e [ L C M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / l c m # d i f f u s e r s . L C M S c h e d u l e r ) a n d l o a d t h e L C M - L o R A w e i g h t s w i t h t h e [ l o a d _ l o r a _ w e i g h t s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . S t a b l e D i f f u s i o n L o r a L o a d e r M i x i n . l o a d _ l o r a _ w e i g h t s ) m e t h o d . T h e n y o u c a n u s e t h e p i p e l i n e a s u s u a l , a n d p a s s a t e x t p r o m p t a n d i n i t i a l i m a g e t o g e n e r a t e a n i m a g e i n j u s t 4 s t e p s . > [ ! T I P ] > E x p e r i m e n t w i t h d i f f e r e n t v a l u e s f o r ` n u m _ i n f e r e n c e _ s t e p s ` , ` s t r e n g t h ` , a n d ` g u i d a n c e _ s c a l e ` t o g e t t h e b e s t r e s u l t s . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I m a g e 2 I m a g e , L C M S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t m a k e _ i m a g e _ g r i d , l o a d _ i m a g e p i p e = A u t o P i p e l i n e F o r I m a g e 2 I m a g e . f r o m _ p r e t r a i n e d ( " L y k o n / d r e a m s h a p e r - 7 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) . t o ( " c u d a " ) p i p e . s c h e d u l e r = L C M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . l o a d _ l o r a _ w e i g h t s ( " l a t e n t - c o n s i s t e n c y / l c m - l o r a - s d v 1 - 5 " ) i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - i n i t . p n g " ) p r o m p t = " A s t r o n a u t s i n a j u n g l e , c o l d c o l o r p a l e t t e , m u t e d c o l o r s , d e t a i l e d , 8 k " g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) i m a g e = p i p e ( p r o m p t , i m a g e = i n i t _ i m a g e , n u m _ i n f e r e n c e _ s t e p s = 4 , g u i d a n c e _ s c a l e = 1 , s t r e n g t h = 0 . 6 , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i m g 2 i m g - i n i t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > i n i t i a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l c m - l o r a - i m g 2 i m g . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > < / h f o p t i o n > < / h f o p t i o n s > # # I n p a i n t i n g T o u s e L C M - L o R A s f o r i n p a i n t i n g , y o u n e e d t o r e p l a c e t h e s c h e d u l e r w i t h t h e [ L C M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / l c m # d i f f u s e r s . L C M S c h e d u l e r ) a n d l o a d t h e L C M - L o R A w e i g h t s w i t h t h e [ l o a d _ l o r a _ w e i g h t s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . S t a b l e D i f f u s i o n L o r a L o a d e r M i x i n . l o a d _ l o r a _ w e i g h t s ) m e t h o d . T h e n y o u c a n u s e t h e p i p e l i n e a s u s u a l , a n d p a s s a t e x t p r o m p t , i n i t i a l i m a g e , a n d m a s k i m a g e t o g e n e r a t e a n i m a g e i n j u s t 4 s t e p s . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r I n p a i n t i n g , L C M S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d p i p e = A u t o P i p e l i n e F o r I n p a i n t i n g . f r o m _ p r e t r a i n e d ( " r u n w a y m l / s t a b l e - d i f f u s i o n - i n p a i n t i n g " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) . t o ( " c u d a " ) p i p e . s c h e d u l e r = L C M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . l o a d _ l o r a _ w e i g h t s ( " l a t e n t - c o n s i s t e n c y / l c m - l o r a - s d v 1 - 5 " ) i n i t _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t . p n g " ) m a s k _ i m a g e = l o a d _ i m a g e ( " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t _ m a s k . p n g " ) p r o m p t = " c o n c e p t a r t d i g i t a l p a i n t i n g o f a n e l v e n c a s t l e , i n s p i r e d b y l o r d o f t h e r i n g s , h i g h l y d e t a i l e d , 8 k " g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) i m a g e = p i p e ( p r o m p t = p r o m p t , i m a g e = i n i t _ i m a g e , m a s k _ i m a g e = m a s k _ i m a g e , g e n e r a t o r = g e n e r a t o r , n u m _ i n f e r e n c e _ s t e p s = 4 , g u i d a n c e _ s c a l e = 4 , ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p a i n t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > i n i t i a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l c m - l o r a - i n p a i n t . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > g e n e r a t e d i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > # # A d a p t e r s L C M s a r e c o m p a t i b l e w i t h a d a p t e r s l i k e L o R A , C o n t r o l N e t , T 2 I - A d a p t e r , a n d A n i m a t e D i f f . Y o u c a n b r i n g t h e s p e e d o f L C M s t o t h e s e a d a p t e r s t o g e n e r a t e i m a g e s i n a c e r t a i n s t y l e o r c o n d i t i o n t h e m o d e l o n a n o t h e r i n p u t l i k e a c a n n y i m a g e . # # # L o R A [ L o R A ] ( . . / u s i n g - d i f f u s e r s / l o a d i n g _ a d a p t e r s # l o r a ) a d a p t e r s c a n b e r a p i d l y f i n e t u n e d t o l e a r n a n e w s t y l e f r o m j u s t a f e w i m a g e s a n d p l u g g e d i n t o a p r e t r a i n e d m o d e l t o g e n e r a t e i m a g e s i n t h a t s t y l e . < h f o p t i o n s i d = " l c m - l o r a " > < h f o p t i o n i d = " L C M " > L o a d t h e L C M c h e c k p o i n t f o r y o u r s u p p o r t e d m o d e l i n t o [ U N e t 2 D C o n d i t i o n M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / u n e t 2 d - c o n d # d i f f u s e r s . U N e t 2 D C o n d i t i o n M o d e l ) a n d r e p l a c e t h e s c h e d u l e r w i t h t h e [ L C M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / l c m # d i f f u s e r s . L C M S c h e d u l e r ) . T h e n y o u c a n u s e t h e [ l o a d _ l o r a _ w e i g h t s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . S t a b l e D i f f u s i o n L o r a L o a d e r M i x i n . l o a d _ l o r a _ w e i g h t s ) m e t h o d t o l o a d t h e L o R A w e i g h t s i n t o t h e L C M a n d g e n e r a t e a s t y l e d i m a g e i n a f e w s t e p s . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L P i p e l i n e , U N e t 2 D C o n d i t i o n M o d e l , L C M S c h e d u l e r i m p o r t t o r c h u n e t = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( " l a t e n t - c o n s i s t e n c y / l c m - s d x l " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) p i p e = S t a b l e D i f f u s i o n X L P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , u n e t = u n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) . t o ( " c u d a " ) p i p e . s c h e d u l e r = L C M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . l o a d _ l o r a _ w e i g h t s ( " T h e L a s t B e n / P a p e r c u t _ S D X L " , w e i g h t _ n a m e = " p a p e r c u t . s a f e t e n s o r s " , a d a p t e r _ n a m e = " p a p e r c u t " ) p r o m p t = " p a p e r c u t , a c u t e f o x " g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) i m a g e = p i p e ( p r o m p t = p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 4 , g e n e r a t o r = g e n e r a t o r , g u i d a n c e _ s c a l e = 8 . 0 ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l c m / l c m _ f u l l _ s d x _ l o r a _ m i x . p n g " / > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " L C M - L o R A " > R e p l a c e t h e s c h e d u l e r w i t h t h e [ L C M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / l c m # d i f f u s e r s . L C M S c h e d u l e r ) . T h e n y o u c a n u s e t h e [ l o a d _ l o r a _ w e i g h t s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . S t a b l e D i f f u s i o n L o r a L o a d e r M i x i n . l o a d _ l o r a _ w e i g h t s ) m e t h o d t o l o a d t h e L C M - L o R A w e i g h t s a n d t h e s t y l e L o R A y o u w a n t t o u s e . C o m b i n e b o t h L o R A a d a p t e r s w i t h t h e ` ~ l o a d e r s . U N e t 2 D C o n d i t i o n L o a d e r s M i x i n . s e t _ a d a p t e r s ` m e t h o d a n d g e n e r a t e a s t y l e d i m a g e i n a f e w s t e p s . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e , L C M S c h e d u l e r p i p e = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) p i p e . s c h e d u l e r = L C M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . l o a d _ l o r a _ w e i g h t s ( " l a t e n t - c o n s i s t e n c y / l c m - l o r a - s d x l " , a d a p t e r _ n a m e = " l c m " ) p i p e . l o a d _ l o r a _ w e i g h t s ( " T h e L a s t B e n / P a p e r c u t _ S D X L " , w e i g h t _ n a m e = " p a p e r c u t . s a f e t e n s o r s " , a d a p t e r _ n a m e = " p a p e r c u t " ) p i p e . s e t _ a d a p t e r s ( [ " l c m " , " p a p e r c u t " ] , a d a p t e r _ w e i g h t s = [ 1 . 0 , 0 . 8 ] ) p r o m p t = " p a p e r c u t , a c u t e f o x " g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) i m a g e = p i p e ( p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 4 , g u i d a n c e _ s c a l e = 1 , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l c m / l c m _ s d x _ l o r a _ m i x . p n g " / > < / d i v > < / h f o p t i o n > < / h f o p t i o n s > # # # C o n t r o l N e t [ C o n t r o l N e t ] ( . / c o n t r o l n e t ) a r e a d a p t e r s t h a t c a n b e t r a i n e d o n a v a r i e t y o f i n p u t s l i k e c a n n y e d g e , p o s e e s t i m a t i o n , o r d e p t h . T h e C o n t r o l N e t c a n b e i n s e r t e d i n t o t h e p i p e l i n e t o p r o v i d e a d d i t i o n a l c o n d i t i o n i n g a n d c o n t r o l t o t h e m o d e l f o r m o r e a c c u r a t e g e n e r a t i o n . Y o u c a n f i n d a d d i t i o n a l C o n t r o l N e t m o d e l s t r a i n e d o n o t h e r i n p u t s i n [ l l l y a s v i e l ' s ] ( h t t p s : / / h f . c o / l l l y a s v i e l ) r e p o s i t o r y . < h f o p t i o n s i d = " l c m - c o n t r o l n e t " > < h f o p t i o n i d = " L C M " > L o a d a C o n t r o l N e t m o d e l t r a i n e d o n c a n n y i m a g e s a n d p a s s i t t o t h e [ C o n t r o l N e t M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / c o n t r o l n e t # d i f f u s e r s . C o n t r o l N e t M o d e l ) . T h e n y o u c a n l o a d a L C M m o d e l i n t o [ S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / c o n t r o l n e t # d i f f u s e r s . S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e ) a n d r e p l a c e t h e s c h e d u l e r w i t h t h e [ L C M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / l c m # d i f f u s e r s . L C M S c h e d u l e r ) . N o w p a s s t h e c a n n y i m a g e t o t h e p i p e l i n e a n d g e n e r a t e a n i m a g e . > [ ! T I P ] > E x p e r i m e n t w i t h d i f f e r e n t v a l u e s f o r ` n u m _ i n f e r e n c e _ s t e p s ` , ` c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e ` , ` c r o s s _ a t t e n t i o n _ k w a r g s ` , a n d ` g u i d a n c e _ s c a l e ` t o g e t t h e b e s t r e s u l t s . ` ` ` p y t h o n i m p o r t t o r c h i m p o r t c v 2 i m p o r t n u m p y a s n p f r o m P I L i m p o r t I m a g e f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e , C o n t r o l N e t M o d e l , L C M S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d i m a g e = l o a d _ i m a g e ( " h t t p s : / / h f . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p u t _ i m a g e _ v e r m e e r . p n g " ) . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) i m a g e = n p . a r r a y ( i m a g e ) l o w _ t h r e s h o l d = 1 0 0 h i g h _ t h r e s h o l d = 2 0 0 i m a g e = c v 2 . C a n n y ( i m a g e , l o w _ t h r e s h o l d , h i g h _ t h r e s h o l d ) i m a g e = i m a g e [ : , : , N o n e ] i m a g e = n p . c o n c a t e n a t e ( [ i m a g e , i m a g e , i m a g e ] , a x i s = 2 ) c a n n y _ i m a g e = I m a g e . f r o m a r r a y ( i m a g e ) c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " l l l y a s v i e l / s d - c o n t r o l n e t - c a n n y " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e = S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( " S i m i a n L u o / L C M _ D r e a m s h a p e r _ v 7 " , c o n t r o l n e t = c o n t r o l n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , s a f e t y _ c h e c k e r = N o n e , ) . t o ( " c u d a " ) p i p e . s c h e d u l e r = L C M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) i m a g e = p i p e ( " t h e m o n a l i s a " , i m a g e = c a n n y _ i m a g e , n u m _ i n f e r e n c e _ s t e p s = 4 , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s [ 0 ] m a k e _ i m a g e _ g r i d ( [ c a n n y _ i m a g e , i m a g e ] , r o w s = 1 , c o l s = 2 ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l c m / l c m _ f u l l _ s d v 1 - 5 _ c o n t r o l n e t . p n g " / > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " L C M - L o R A " > L o a d a C o n t r o l N e t m o d e l t r a i n e d o n c a n n y i m a g e s a n d p a s s i t t o t h e [ C o n t r o l N e t M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / c o n t r o l n e t # d i f f u s e r s . C o n t r o l N e t M o d e l ) . T h e n y o u c a n l o a d a S t a b l e D i f f u s i o n v 1 . 5 m o d e l i n t o [ S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / c o n t r o l n e t # d i f f u s e r s . S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e ) a n d r e p l a c e t h e s c h e d u l e r w i t h t h e [ L C M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / l c m # d i f f u s e r s . L C M S c h e d u l e r ) . U s e t h e [ l o a d _ l o r a _ w e i g h t s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . S t a b l e D i f f u s i o n L o r a L o a d e r M i x i n . l o a d _ l o r a _ w e i g h t s ) m e t h o d t o l o a d t h e L C M - L o R A w e i g h t s , a n d p a s s t h e c a n n y i m a g e t o t h e p i p e l i n e a n d g e n e r a t e a n i m a g e . > [ ! T I P ] > E x p e r i m e n t w i t h d i f f e r e n t v a l u e s f o r ` n u m _ i n f e r e n c e _ s t e p s ` , ` c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e ` , ` c r o s s _ a t t e n t i o n _ k w a r g s ` , a n d ` g u i d a n c e _ s c a l e ` t o g e t t h e b e s t r e s u l t s . ` ` ` p y i m p o r t t o r c h i m p o r t c v 2 i m p o r t n u m p y a s n p f r o m P I L i m p o r t I m a g e f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e , C o n t r o l N e t M o d e l , L C M S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m a g e = l o a d _ i m a g e ( " h t t p s : / / h f . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p u t _ i m a g e _ v e r m e e r . p n g " ) . r e s i z e ( ( 5 1 2 , 5 1 2 ) ) i m a g e = n p . a r r a y ( i m a g e ) l o w _ t h r e s h o l d = 1 0 0 h i g h _ t h r e s h o l d = 2 0 0 i m a g e = c v 2 . C a n n y ( i m a g e , l o w _ t h r e s h o l d , h i g h _ t h r e s h o l d ) i m a g e = i m a g e [ : , : , N o n e ] i m a g e = n p . c o n c a t e n a t e ( [ i m a g e , i m a g e , i m a g e ] , a x i s = 2 ) c a n n y _ i m a g e = I m a g e . f r o m a r r a y ( i m a g e ) c o n t r o l n e t = C o n t r o l N e t M o d e l . f r o m _ p r e t r a i n e d ( " l l l y a s v i e l / s d - c o n t r o l n e t - c a n n y " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e = S t a b l e D i f f u s i o n C o n t r o l N e t P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " , c o n t r o l n e t = c o n t r o l n e t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , s a f e t y _ c h e c k e r = N o n e , v a r i a n t = " f p 1 6 " ) . t o ( " c u d a " ) p i p e . s c h e d u l e r = L C M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . l o a d _ l o r a _ w e i g h t s ( " l a t e n t - c o n s i s t e n c y / l c m - l o r a - s d v 1 - 5 " ) g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) i m a g e = p i p e ( " t h e m o n a l i s a " , i m a g e = c a n n y _ i m a g e , n u m _ i n f e r e n c e _ s t e p s = 4 , g u i d a n c e _ s c a l e = 1 . 5 , c o n t r o l n e t _ c o n d i t i o n i n g _ s c a l e = 0 . 8 , c r o s s _ a t t e n t i o n _ k w a r g s = { " s c a l e " : 1 } , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s [ 0 ] i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l c m / l c m _ s d v 1 - 5 _ c o n t r o l n e t . p n g " / > < / d i v > < / h f o p t i o n > < / h f o p t i o n s > # # # T 2 I - A d a p t e r [ T 2 I - A d a p t e r ] ( . / t 2 i _ a d a p t e r ) i s a n e v e n m o r e l i g h t w e i g h t a d a p t e r t h a n C o n t r o l N e t , t h a t p r o v i d e s a n a d d i t i o n a l i n p u t t o c o n d i t i o n a p r e t r a i n e d m o d e l w i t h . I t i s f a s t e r t h a n C o n t r o l N e t b u t t h e r e s u l t s m a y b e s l i g h t l y w o r s e . Y o u c a n f i n d a d d i t i o n a l T 2 I - A d a p t e r c h e c k p o i n t s t r a i n e d o n o t h e r i n p u t s i n [ T e n c e n t A r c ' s ] ( h t t p s : / / h f . c o / T e n c e n t A R C ) r e p o s i t o r y . < h f o p t i o n s i d = " l c m - t 2 i " > < h f o p t i o n i d = " L C M " > L o a d a T 2 I A d a p t e r t r a i n e d o n c a n n y i m a g e s a n d p a s s i t t o t h e [ S t a b l e D i f f u s i o n X L A d a p t e r P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / a d a p t e r # d i f f u s e r s . S t a b l e D i f f u s i o n X L A d a p t e r P i p e l i n e ) . T h e n l o a d a L C M c h e c k p o i n t i n t o [ U N e t 2 D C o n d i t i o n M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / u n e t 2 d - c o n d # d i f f u s e r s . U N e t 2 D C o n d i t i o n M o d e l ) a n d r e p l a c e t h e s c h e d u l e r w i t h t h e [ L C M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / l c m # d i f f u s e r s . L C M S c h e d u l e r ) . N o w p a s s t h e c a n n y i m a g e t o t h e p i p e l i n e a n d g e n e r a t e a n i m a g e . ` ` ` p y t h o n i m p o r t t o r c h i m p o r t c v 2 i m p o r t n u m p y a s n p f r o m P I L i m p o r t I m a g e f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L A d a p t e r P i p e l i n e , U N e t 2 D C o n d i t i o n M o d e l , T 2 I A d a p t e r , L C M S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d # d e t e c t t h e c a n n y m a p i n l o w r e s o l u t i o n t o a v o i d h i g h - f r e q u e n c y d e t a i l s i m a g e = l o a d _ i m a g e ( " h t t p s : / / h f . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p u t _ i m a g e _ v e r m e e r . p n g " ) . r e s i z e ( ( 3 8 4 , 3 8 4 ) ) i m a g e = n p . a r r a y ( i m a g e ) l o w _ t h r e s h o l d = 1 0 0 h i g h _ t h r e s h o l d = 2 0 0 i m a g e = c v 2 . C a n n y ( i m a g e , l o w _ t h r e s h o l d , h i g h _ t h r e s h o l d ) i m a g e = i m a g e [ : , : , N o n e ] i m a g e = n p . c o n c a t e n a t e ( [ i m a g e , i m a g e , i m a g e ] , a x i s = 2 ) c a n n y _ i m a g e = I m a g e . f r o m a r r a y ( i m a g e ) . r e s i z e ( ( 1 0 2 4 , 1 2 1 6 ) ) a d a p t e r = T 2 I A d a p t e r . f r o m _ p r e t r a i n e d ( " T e n c e n t A R C / t 2 i - a d a p t e r - c a n n y - s d x l - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i e n t = " f p 1 6 " ) . t o ( " c u d a " ) u n e t = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( " l a t e n t - c o n s i s t e n c y / l c m - s d x l " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) p i p e = S t a b l e D i f f u s i o n X L A d a p t e r P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , u n e t = u n e t , a d a p t e r = a d a p t e r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) . t o ( " c u d a " ) p i p e . s c h e d u l e r = L C M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p r o m p t = " t h e m o n a l i s a , 4 k p i c t u r e , h i g h q u a l i t y " n e g a t i v e _ p r o m p t = " e x t r a d i g i t , f e w e r d i g i t s , c r o p p e d , w o r s t q u a l i t y , l o w q u a l i t y , g l i t c h , d e f o r m e d , m u t a t e d , u g l y , d i s f i g u r e d " g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) i m a g e = p i p e ( p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , i m a g e = c a n n y _ i m a g e , n u m _ i n f e r e n c e _ s t e p s = 4 , g u i d a n c e _ s c a l e = 5 , a d a p t e r _ c o n d i t i o n i n g _ s c a l e = 0 . 8 , a d a p t e r _ c o n d i t i o n i n g _ f a c t o r = 1 , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s [ 0 ] ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l c m - t 2 i . p n g " / > < / d i v > < / h f o p t i o n > < h f o p t i o n i d = " L C M - L o R A " > L o a d a T 2 I A d a p t e r t r a i n e d o n c a n n y i m a g e s a n d p a s s i t t o t h e [ S t a b l e D i f f u s i o n X L A d a p t e r P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / a d a p t e r # d i f f u s e r s . S t a b l e D i f f u s i o n X L A d a p t e r P i p e l i n e ) . R e p l a c e t h e s c h e d u l e r w i t h t h e [ L C M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / l c m # d i f f u s e r s . L C M S c h e d u l e r ) , a n d u s e t h e [ l o a d _ l o r a _ w e i g h t s ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / l o r a # d i f f u s e r s . l o a d e r s . S t a b l e D i f f u s i o n L o r a L o a d e r M i x i n . l o a d _ l o r a _ w e i g h t s ) m e t h o d t o l o a d t h e L C M - L o R A w e i g h t s . P a s s t h e c a n n y i m a g e t o t h e p i p e l i n e a n d g e n e r a t e a n i m a g e . ` ` ` p y i m p o r t t o r c h i m p o r t c v 2 i m p o r t n u m p y a s n p f r o m P I L i m p o r t I m a g e f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n X L A d a p t e r P i p e l i n e , U N e t 2 D C o n d i t i o n M o d e l , T 2 I A d a p t e r , L C M S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d # d e t e c t t h e c a n n y m a p i n l o w r e s o l u t i o n t o a v o i d h i g h - f r e q u e n c y d e t a i l s i m a g e = l o a d _ i m a g e ( " h t t p s : / / h f . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / i n p u t _ i m a g e _ v e r m e e r . p n g " ) . r e s i z e ( ( 3 8 4 , 3 8 4 ) ) i m a g e = n p . a r r a y ( i m a g e ) l o w _ t h r e s h o l d = 1 0 0 h i g h _ t h r e s h o l d = 2 0 0 i m a g e = c v 2 . C a n n y ( i m a g e , l o w _ t h r e s h o l d , h i g h _ t h r e s h o l d ) i m a g e = i m a g e [ : , : , N o n e ] i m a g e = n p . c o n c a t e n a t e ( [ i m a g e , i m a g e , i m a g e ] , a x i s = 2 ) c a n n y _ i m a g e = I m a g e . f r o m a r r a y ( i m a g e ) . r e s i z e ( ( 1 0 2 4 , 1 0 2 4 ) ) a d a p t e r = T 2 I A d a p t e r . f r o m _ p r e t r a i n e d ( " T e n c e n t A R C / t 2 i - a d a p t e r - c a n n y - s d x l - 1 . 0 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i e n t = " f p 1 6 " ) . t o ( " c u d a " ) p i p e = S t a b l e D i f f u s i o n X L A d a p t e r P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , a d a p t e r = a d a p t e r , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , v a r i a n t = " f p 1 6 " , ) . t o ( " c u d a " ) p i p e . s c h e d u l e r = L C M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) p i p e . l o a d _ l o r a _ w e i g h t s ( " l a t e n t - c o n s i s t e n c y / l c m - l o r a - s d x l " ) p r o m p t = " t h e m o n a l i s a , 4 k p i c t u r e , h i g h q u a l i t y " n e g a t i v e _ p r o m p t = " e x t r a d i g i t , f e w e r d i g i t s , c r o p p e d , w o r s t q u a l i t y , l o w q u a l i t y , g l i t c h , d e f o r m e d , m u t a t e d , u g l y , d i s f i g u r e d " g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) i m a g e = p i p e ( p r o m p t = p r o m p t , n e g a t i v e _ p r o m p t = n e g a t i v e _ p r o m p t , i m a g e = c a n n y _ i m a g e , n u m _ i n f e r e n c e _ s t e p s = 4 , g u i d a n c e _ s c a l e = 1 . 5 , a d a p t e r _ c o n d i t i o n i n g _ s c a l e = 0 . 8 , a d a p t e r _ c o n d i t i o n i n g _ f a c t o r = 1 , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s [ 0 ] ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l c m - l o r a - t 2 i . p n g " / > < / d i v > < / h f o p t i o n > < / h f o p t i o n s > # # # A n i m a t e D i f f [ A n i m a t e D i f f ] ( . . / a p i / p i p e l i n e s / a n i m a t e d i f f ) i s a n a d a p t e r t h a t a d d s m o t i o n t o a n i m a g e . I t c a n b e u s e d w i t h m o s t S t a b l e D i f f u s i o n m o d e l s , e f f e c t i v e l y t u r n i n g t h e m i n t o " v i d e o g e n e r a t i o n " m o d e l s . G e n e r a t i n g g o o d r e s u l t s w i t h a v i d e o m o d e l u s u a l l y r e q u i r e s g e n e r a t i n g m u l t i p l e f r a m e s ( 1 6 - 2 4 ) , w h i c h c a n b e v e r y s l o w w i t h a r e g u l a r S t a b l e D i f f u s i o n m o d e l . L C M - L o R A c a n s p e e d u p t h i s p r o c e s s b y o n l y t a k i n g 4 - 8 s t e p s f o r e a c h f r a m e . L o a d a [ A n i m a t e D i f f P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / a n i m a t e d i f f # d i f f u s e r s . A n i m a t e D i f f P i p e l i n e ) a n d p a s s a ` M o t i o n A d a p t e r ` t o i t . T h e n r e p l a c e t h e s c h e d u l e r w i t h t h e [ L C M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / l c m # d i f f u s e r s . L C M S c h e d u l e r ) , a n d c o m b i n e b o t h L o R A a d a p t e r s w i t h t h e ` ~ l o a d e r s . U N e t 2 D C o n d i t i o n L o a d e r s M i x i n . s e t _ a d a p t e r s ` m e t h o d . N o w y o u c a n p a s s a p r o m p t t o t h e p i p e l i n e a n d g e n e r a t e a n a n i m a t e d i m a g e . ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t M o t i o n A d a p t e r , A n i m a t e D i f f P i p e l i n e , D D I M S c h e d u l e r , L C M S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t e x p o r t _ t o _ g i f a d a p t e r = M o t i o n A d a p t e r . f r o m _ p r e t r a i n e d ( " g u o y w w / a n i m a t e d i f f - m o t i o n - a d a p t e r - v 1 - 5 " ) p i p e = A n i m a t e D i f f P i p e l i n e . f r o m _ p r e t r a i n e d ( " f r a n k j o s h u a / t o o n y o u _ b e t a 6 " , m o t i o n _ a d a p t e r = a d a p t e r , ) . t o ( " c u d a " ) # s e t s c h e d u l e r p i p e . s c h e d u l e r = L C M S c h e d u l e r . f r o m _ c o n f i g ( p i p e . s c h e d u l e r . c o n f i g ) # l o a d L C M - L o R A p i p e . l o a d _ l o r a _ w e i g h t s ( " l a t e n t - c o n s i s t e n c y / l c m - l o r a - s d v 1 - 5 " , a d a p t e r _ n a m e = " l c m " ) p i p e . l o a d _ l o r a _ w e i g h t s ( " g u o y w w / a n i m a t e d i f f - m o t i o n - l o r a - z o o m - i n " , w e i g h t _ n a m e = " d i f f u s i o n _ p y t o r c h _ m o d e l . s a f e t e n s o r s " , a d a p t e r _ n a m e = " m o t i o n - l o r a " ) p i p e . s e t _ a d a p t e r s ( [ " l c m " , " m o t i o n - l o r a " ] , a d a p t e r _ w e i g h t s = [ 0 . 5 5 , 1 . 2 ] ) p r o m p t = " b e s t q u a l i t y , m a s t e r p i e c e , 1 g i r l , l o o k i n g a t v i e w e r , b l u r r y b a c k g r o u n d , u p p e r b o d y , c o n t e m p o r a r y , d r e s s " g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) f r a m e s = p i p e ( p r o m p t = p r o m p t , n u m _ i n f e r e n c e _ s t e p s = 5 , g u i d a n c e _ s c a l e = 1 . 2 5 , c r o s s _ a t t e n t i o n _ k w a r g s = { " s c a l e " : 1 } , n u m _ f r a m e s = 2 4 , g e n e r a t o r = g e n e r a t o r ) . f r a m e s [ 0 ] e x p o r t _ t o _ g i f ( f r a m e s , " a n i m a t i o n . g i f " ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / l c m - l o r a - a n i m a t e d i f f . g i f " / > < / d i v > # U n d e r s t a n d i n g p i p e l i n e s , m o d e l s a n d s c h e d u l e r s ๐Ÿงจ D i f f u s e r s i s d e s i g n e d t o b e a u s e r - f r i e n d l y a n d f l e x i b l e t o o l b o x f o r b u i l d i n g d i f f u s i o n s y s t e m s t a i l o r e d t o y o u r u s e - c a s e . A t t h e c o r e o f t h e t o o l b o x a r e m o d e l s a n d s c h e d u l e r s . W h i l e t h e [ D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e ) b u n d l e s t h e s e c o m p o n e n t s t o g e t h e r f o r c o n v e n i e n c e , y o u c a n a l s o u n b u n d l e t h e p i p e l i n e a n d u s e t h e m o d e l s a n d s c h e d u l e r s s e p a r a t e l y t o c r e a t e n e w d i f f u s i o n s y s t e m s . I n t h i s t u t o r i a l , y o u ' l l l e a r n h o w t o u s e m o d e l s a n d s c h e d u l e r s t o a s s e m b l e a d i f f u s i o n s y s t e m f o r i n f e r e n c e , s t a r t i n g w i t h a b a s i c p i p e l i n e a n d t h e n p r o g r e s s i n g t o t h e S t a b l e D i f f u s i o n p i p e l i n e . # # D e c o n s t r u c t a b a s i c p i p e l i n e A p i p e l i n e i s a q u i c k a n d e a s y w a y t o r u n a m o d e l f o r i n f e r e n c e , r e q u i r i n g n o m o r e t h a n f o u r l i n e s o f c o d e t o g e n e r a t e a n i m a g e : ` ` ` p y > > > f r o m d i f f u s e r s i m p o r t D D P M P i p e l i n e > > > d d p m = D D P M P i p e l i n e . f r o m _ p r e t r a i n e d ( " g o o g l e / d d p m - c a t - 2 5 6 " , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) > > > i m a g e = d d p m ( n u m _ i n f e r e n c e _ s t e p s = 2 5 ) . i m a g e s [ 0 ] > > > i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / d d p m - c a t . p n g " a l t = " I m a g e o f c a t c r e a t e d f r o m D D P M P i p e l i n e " / > < / d i v > T h a t w a s s u p e r e a s y , b u t h o w d i d t h e p i p e l i n e d o t h a t ? L e t ' s b r e a k d o w n t h e p i p e l i n e a n d t a k e a l o o k a t w h a t ' s h a p p e n i n g u n d e r t h e h o o d . I n t h e e x a m p l e a b o v e , t h e p i p e l i n e c o n t a i n s a [ U N e t 2 D M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / u n e t 2 d # d i f f u s e r s . U N e t 2 D M o d e l ) m o d e l a n d a [ D D P M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / d d p m # d i f f u s e r s . D D P M S c h e d u l e r ) . T h e p i p e l i n e d e n o i s e s a n i m a g e b y t a k i n g r a n d o m n o i s e t h e s i z e o f t h e d e s i r e d o u t p u t a n d p a s s i n g i t t h r o u g h t h e m o d e l s e v e r a l t i m e s . A t e a c h t i m e s t e p , t h e m o d e l p r e d i c t s t h e * n o i s e r e s i d u a l * a n d t h e s c h e d u l e r u s e s i t t o p r e d i c t a l e s s n o i s y i m a g e . T h e p i p e l i n e r e p e a t s t h i s p r o c e s s u n t i l i t r e a c h e s t h e e n d o f t h e s p e c i f i e d n u m b e r o f i n f e r e n c e s t e p s . T o r e c r e a t e t h e p i p e l i n e w i t h t h e m o d e l a n d s c h e d u l e r s e p a r a t e l y , l e t ' s w r i t e o u r o w n d e n o i s i n g p r o c e s s . 1 . L o a d t h e m o d e l a n d s c h e d u l e r : ` ` ` p y > > > f r o m d i f f u s e r s i m p o r t D D P M S c h e d u l e r , U N e t 2 D M o d e l > > > s c h e d u l e r = D D P M S c h e d u l e r . f r o m _ p r e t r a i n e d ( " g o o g l e / d d p m - c a t - 2 5 6 " ) > > > m o d e l = U N e t 2 D M o d e l . f r o m _ p r e t r a i n e d ( " g o o g l e / d d p m - c a t - 2 5 6 " , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) ` ` ` 2 . S e t t h e n u m b e r o f t i m e s t e p s t o r u n t h e d e n o i s i n g p r o c e s s f o r : ` ` ` p y > > > s c h e d u l e r . s e t _ t i m e s t e p s ( 5 0 ) ` ` ` 3 . S e t t i n g t h e s c h e d u l e r t i m e s t e p s c r e a t e s a t e n s o r w i t h e v e n l y s p a c e d e l e m e n t s i n i t , 5 0 i n t h i s e x a m p l e . E a c h e l e m e n t c o r r e s p o n d s t o a t i m e s t e p a t w h i c h t h e m o d e l d e n o i s e s a n i m a g e . W h e n y o u c r e a t e t h e d e n o i s i n g l o o p l a t e r , y o u ' l l i t e r a t e o v e r t h i s t e n s o r t o d e n o i s e a n i m a g e : ` ` ` p y > > > s c h e d u l e r . t i m e s t e p s t e n s o r ( [ 9 8 0 , 9 6 0 , 9 4 0 , 9 2 0 , 9 0 0 , 8 8 0 , 8 6 0 , 8 4 0 , 8 2 0 , 8 0 0 , 7 8 0 , 7 6 0 , 7 4 0 , 7 2 0 , 7 0 0 , 6 8 0 , 6 6 0 , 6 4 0 , 6 2 0 , 6 0 0 , 5 8 0 , 5 6 0 , 5 4 0 , 5 2 0 , 5 0 0 , 4 8 0 , 4 6 0 , 4 4 0 , 4 2 0 , 4 0 0 , 3 8 0 , 3 6 0 , 3 4 0 , 3 2 0 , 3 0 0 , 2 8 0 , 2 6 0 , 2 4 0 , 2 2 0 , 2 0 0 , 1 8 0 , 1 6 0 , 1 4 0 , 1 2 0 , 1 0 0 , 8 0 , 6 0 , 4 0 , 2 0 , 0 ] ) ` ` ` 4 . C r e a t e s o m e r a n d o m n o i s e w i t h t h e s a m e s h a p e a s t h e d e s i r e d o u t p u t : ` ` ` p y > > > i m p o r t t o r c h > > > s a m p l e _ s i z e = m o d e l . c o n f i g . s a m p l e _ s i z e > > > n o i s e = t o r c h . r a n d n ( ( 1 , 3 , s a m p l e _ s i z e , s a m p l e _ s i z e ) , d e v i c e = " c u d a " ) ` ` ` 5 . N o w w r i t e a l o o p t o i t e r a t e o v e r t h e t i m e s t e p s . A t e a c h t i m e s t e p , t h e m o d e l d o e s a [ U N e t 2 D M o d e l . f o r w a r d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / u n e t 2 d # d i f f u s e r s . U N e t 2 D M o d e l . f o r w a r d ) p a s s a n d r e t u r n s t h e n o i s y r e s i d u a l . T h e s c h e d u l e r ' s [ s t e p ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / d d p m # d i f f u s e r s . D D P M S c h e d u l e r . s t e p ) m e t h o d t a k e s t h e n o i s y r e s i d u a l , t i m e s t e p , a n d i n p u t a n d i t p r e d i c t s t h e i m a g e a t t h e p r e v i o u s t i m e s t e p . T h i s o u t p u t b e c o m e s t h e n e x t i n p u t t o t h e m o d e l i n t h e d e n o i s i n g l o o p , a n d i t ' l l r e p e a t u n t i l i t r e a c h e s t h e e n d o f t h e ` t i m e s t e p s ` a r r a y . ` ` ` p y > > > i n p u t = n o i s e > > > f o r t i n s c h e d u l e r . t i m e s t e p s : . . . w i t h t o r c h . n o _ g r a d ( ) : . . . n o i s y _ r e s i d u a l = m o d e l ( i n p u t , t ) . s a m p l e . . . p r e v i o u s _ n o i s y _ s a m p l e = s c h e d u l e r . s t e p ( n o i s y _ r e s i d u a l , t , i n p u t ) . p r e v _ s a m p l e . . . i n p u t = p r e v i o u s _ n o i s y _ s a m p l e ` ` ` T h i s i s t h e e n t i r e d e n o i s i n g p r o c e s s , a n d y o u c a n u s e t h i s s a m e p a t t e r n t o w r i t e a n y d i f f u s i o n s y s t e m . 6 . T h e l a s t s t e p i s t o c o n v e r t t h e d e n o i s e d o u t p u t i n t o a n i m a g e : ` ` ` p y > > > f r o m P I L i m p o r t I m a g e > > > i m p o r t n u m p y a s n p > > > i m a g e = ( i n p u t / 2 + 0 . 5 ) . c l a m p ( 0 , 1 ) . s q u e e z e ( ) > > > i m a g e = ( i m a g e . p e r m u t e ( 1 , 2 , 0 ) * 2 5 5 ) . r o u n d ( ) . t o ( t o r c h . u i n t 8 ) . c p u ( ) . n u m p y ( ) > > > i m a g e = I m a g e . f r o m a r r a y ( i m a g e ) > > > i m a g e ` ` ` I n t h e n e x t s e c t i o n , y o u ' l l p u t y o u r s k i l l s t o t h e t e s t a n d b r e a k d o w n t h e m o r e c o m p l e x S t a b l e D i f f u s i o n p i p e l i n e . T h e s t e p s a r e m o r e o r l e s s t h e s a m e . Y o u ' l l i n i t i a l i z e t h e n e c e s s a r y c o m p o n e n t s , a n d s e t t h e n u m b e r o f t i m e s t e p s t o c r e a t e a ` t i m e s t e p ` a r r a y . T h e ` t i m e s t e p ` a r r a y i s u s e d i n t h e d e n o i s i n g l o o p , a n d f o r e a c h e l e m e n t i n t h i s a r r a y , t h e m o d e l p r e d i c t s a l e s s n o i s y i m a g e . T h e d e n o i s i n g l o o p i t e r a t e s o v e r t h e ` t i m e s t e p ` ' s , a n d a t e a c h t i m e s t e p , i t o u t p u t s a n o i s y r e s i d u a l a n d t h e s c h e d u l e r u s e s i t t o p r e d i c t a l e s s n o i s y i m a g e a t t h e p r e v i o u s t i m e s t e p . T h i s p r o c e s s i s r e p e a t e d u n t i l y o u r e a c h t h e e n d o f t h e ` t i m e s t e p ` a r r a y . L e t ' s t r y i t o u t ! # # D e c o n s t r u c t t h e S t a b l e D i f f u s i o n p i p e l i n e S t a b l e D i f f u s i o n i s a t e x t - t o - i m a g e * l a t e n t d i f f u s i o n * m o d e l . I t i s c a l l e d a l a t e n t d i f f u s i o n m o d e l b e c a u s e i t w o r k s w i t h a l o w e r - d i m e n s i o n a l r e p r e s e n t a t i o n o f t h e i m a g e i n s t e a d o f t h e a c t u a l p i x e l s p a c e , w h i c h m a k e s i t m o r e m e m o r y e f f i c i e n t . T h e e n c o d e r c o m p r e s s e s t h e i m a g e i n t o a s m a l l e r r e p r e s e n t a t i o n , a n d a d e c o d e r t o c o n v e r t t h e c o m p r e s s e d r e p r e s e n t a t i o n b a c k i n t o a n i m a g e . F o r t e x t - t o - i m a g e m o d e l s , y o u ' l l n e e d a t o k e n i z e r a n d a n e n c o d e r t o g e n e r a t e t e x t e m b e d d i n g s . F r o m t h e p r e v i o u s e x a m p l e , y o u a l r e a d y k n o w y o u n e e d a U N e t m o d e l a n d a s c h e d u l e r . A s y o u c a n s e e , t h i s i s a l r e a d y m o r e c o m p l e x t h a n t h e D D P M p i p e l i n e w h i c h o n l y c o n t a i n s a U N e t m o d e l . T h e S t a b l e D i f f u s i o n m o d e l h a s t h r e e s e p a r a t e p r e t r a i n e d m o d e l s . < T i p > ๐Ÿ’ก R e a d t h e [ H o w d o e s S t a b l e D i f f u s i o n w o r k ? ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / s t a b l e _ d i f f u s i o n # h o w - d o e s - s t a b l e - d i f f u s i o n - w o r k ) b l o g f o r m o r e d e t a i l s a b o u t h o w t h e V A E , U N e t , a n d t e x t e n c o d e r m o d e l s w o r k . < / T i p > N o w t h a t y o u k n o w w h a t y o u n e e d f o r t h e S t a b l e D i f f u s i o n p i p e l i n e , l o a d a l l t h e s e c o m p o n e n t s w i t h t h e [ f r o m _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / o v e r v i e w # d i f f u s e r s . M o d e l M i x i n . f r o m _ p r e t r a i n e d ) m e t h o d . Y o u c a n f i n d t h e m i n t h e p r e t r a i n e d [ ` s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ` ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ) c h e c k p o i n t , a n d e a c h c o m p o n e n t i s s t o r e d i n a s e p a r a t e s u b f o l d e r : ` ` ` p y > > > f r o m P I L i m p o r t I m a g e > > > i m p o r t t o r c h > > > f r o m t r a n s f o r m e r s i m p o r t C L I P T e x t M o d e l , C L I P T o k e n i z e r > > > f r o m d i f f u s e r s i m p o r t A u t o e n c o d e r K L , U N e t 2 D C o n d i t i o n M o d e l , P N D M S c h e d u l e r > > > v a e = A u t o e n c o d e r K L . f r o m _ p r e t r a i n e d ( " C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 " , s u b f o l d e r = " v a e " , u s e _ s a f e t e n s o r s = T r u e ) > > > t o k e n i z e r = C L I P T o k e n i z e r . f r o m _ p r e t r a i n e d ( " C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 " , s u b f o l d e r = " t o k e n i z e r " ) > > > t e x t _ e n c o d e r = C L I P T e x t M o d e l . f r o m _ p r e t r a i n e d ( . . . " C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 " , s u b f o l d e r = " t e x t _ e n c o d e r " , u s e _ s a f e t e n s o r s = T r u e . . . ) > > > u n e t = U N e t 2 D C o n d i t i o n M o d e l . f r o m _ p r e t r a i n e d ( . . . " C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 " , s u b f o l d e r = " u n e t " , u s e _ s a f e t e n s o r s = T r u e . . . ) ` ` ` I n s t e a d o f t h e d e f a u l t [ P N D M S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / p n d m # d i f f u s e r s . P N D M S c h e d u l e r ) , e x c h a n g e i t f o r t h e [ U n i P C M u l t i s t e p S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / u n i p c # d i f f u s e r s . U n i P C M u l t i s t e p S c h e d u l e r ) t o s e e h o w e a s y i t i s t o p l u g a d i f f e r e n t s c h e d u l e r i n : ` ` ` p y > > > f r o m d i f f u s e r s i m p o r t U n i P C M u l t i s t e p S c h e d u l e r > > > s c h e d u l e r = U n i P C M u l t i s t e p S c h e d u l e r . f r o m _ p r e t r a i n e d ( " C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 " , s u b f o l d e r = " s c h e d u l e r " ) ` ` ` T o s p e e d u p i n f e r e n c e , m o v e t h e m o d e l s t o a G P U s i n c e , u n l i k e t h e s c h e d u l e r , t h e y h a v e t r a i n a b l e w e i g h t s : ` ` ` p y > > > t o r c h _ d e v i c e = " c u d a " > > > v a e . t o ( t o r c h _ d e v i c e ) > > > t e x t _ e n c o d e r . t o ( t o r c h _ d e v i c e ) > > > u n e t . t o ( t o r c h _ d e v i c e ) ` ` ` # # # C r e a t e t e x t e m b e d d i n g s T h e n e x t s t e p i s t o t o k e n i z e t h e t e x t t o g e n e r a t e e m b e d d i n g s . T h e t e x t i s u s e d t o c o n d i t i o n t h e U N e t m o d e l a n d s t e e r t h e d i f f u s i o n p r o c e s s t o w a r d s s o m e t h i n g t h a t r e s e m b l e s t h e i n p u t p r o m p t . < T i p > ๐Ÿ’ก T h e ` g u i d a n c e _ s c a l e ` p a r a m e t e r d e t e r m i n e s h o w m u c h w e i g h t s h o u l d b e g i v e n t o t h e p r o m p t w h e n g e n e r a t i n g a n i m a g e . < / T i p > F e e l f r e e t o c h o o s e a n y p r o m p t y o u l i k e i f y o u w a n t t o g e n e r a t e s o m e t h i n g e l s e ! ` ` ` p y > > > p r o m p t = [ " a p h o t o g r a p h o f a n a s t r o n a u t r i d i n g a h o r s e " ] > > > h e i g h t = 5 1 2 # d e f a u l t h e i g h t o f S t a b l e D i f f u s i o n > > > w i d t h = 5 1 2 # d e f a u l t w i d t h o f S t a b l e D i f f u s i o n > > > n u m _ i n f e r e n c e _ s t e p s = 2 5 # N u m b e r o f d e n o i s i n g s t e p s > > > g u i d a n c e _ s c a l e = 7 . 5 # S c a l e f o r c l a s s i f i e r - f r e e g u i d a n c e > > > g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( 0 ) # S e e d g e n e r a t o r t o c r e a t e t h e i n i t i a l l a t e n t n o i s e > > > b a t c h _ s i z e = l e n ( p r o m p t ) ` ` ` T o k e n i z e t h e t e x t a n d g e n e r a t e t h e e m b e d d i n g s f r o m t h e p r o m p t : ` ` ` p y > > > t e x t _ i n p u t = t o k e n i z e r ( . . . p r o m p t , p a d d i n g = " m a x _ l e n g t h " , m a x _ l e n g t h = t o k e n i z e r . m o d e l _ m a x _ l e n g t h , t r u n c a t i o n = T r u e , r e t u r n _ t e n s o r s = " p t " . . . ) > > > w i t h t o r c h . n o _ g r a d ( ) : . . . t e x t _ e m b e d d i n g s = t e x t _ e n c o d e r ( t e x t _ i n p u t . i n p u t _ i d s . t o ( t o r c h _ d e v i c e ) ) [ 0 ] ` ` ` Y o u ' l l a l s o n e e d t o g e n e r a t e t h e * u n c o n d i t i o n a l t e x t e m b e d d i n g s * w h i c h a r e t h e e m b e d d i n g s f o r t h e p a d d i n g t o k e n . T h e s e n e e d t o h a v e t h e s a m e s h a p e ( ` b a t c h _ s i z e ` a n d ` s e q _ l e n g t h ` ) a s t h e c o n d i t i o n a l ` t e x t _ e m b e d d i n g s ` : ` ` ` p y > > > m a x _ l e n g t h = t e x t _ i n p u t . i n p u t _ i d s . s h a p e [ - 1 ] > > > u n c o n d _ i n p u t = t o k e n i z e r ( [ " " ] * b a t c h _ s i z e , p a d d i n g = " m a x _ l e n g t h " , m a x _ l e n g t h = m a x _ l e n g t h , r e t u r n _ t e n s o r s = " p t " ) > > > u n c o n d _ e m b e d d i n g s = t e x t _ e n c o d e r ( u n c o n d _ i n p u t . i n p u t _ i d s . t o ( t o r c h _ d e v i c e ) ) [ 0 ] ` ` ` L e t ' s c o n c a t e n a t e t h e c o n d i t i o n a l a n d u n c o n d i t i o n a l e m b e d d i n g s i n t o a b a t c h t o a v o i d d o i n g t w o f o r w a r d p a s s e s : ` ` ` p y > > > t e x t _ e m b e d d i n g s = t o r c h . c a t ( [ u n c o n d _ e m b e d d i n g s , t e x t _ e m b e d d i n g s ] ) ` ` ` # # # C r e a t e r a n d o m n o i s e N e x t , g e n e r a t e s o m e i n i t i a l r a n d o m n o i s e a s a s t a r t i n g p o i n t f o r t h e d i f f u s i o n p r o c e s s . T h i s i s t h e l a t e n t r e p r e s e n t a t i o n o f t h e i m a g e , a n d i t ' l l b e g r a d u a l l y d e n o i s e d . A t t h i s p o i n t , t h e ` l a t e n t ` i m a g e i s s m a l l e r t h a n t h e f i n a l i m a g e s i z e b u t t h a t ' s o k a y t h o u g h b e c a u s e t h e m o d e l w i l l t r a n s f o r m i t i n t o t h e f i n a l 5 1 2 x 5 1 2 i m a g e d i m e n s i o n s l a t e r . < T i p > ๐Ÿ’ก T h e h e i g h t a n d w i d t h a r e d i v i d e d b y 8 b e c a u s e t h e ` v a e ` m o d e l h a s 3 d o w n - s a m p l i n g l a y e r s . Y o u c a n c h e c k b y r u n n i n g t h e f o l l o w i n g : ` ` ` p y 2 * * ( l e n ( v a e . c o n f i g . b l o c k _ o u t _ c h a n n e l s ) - 1 ) = = 8 ` ` ` < / T i p > ` ` ` p y > > > l a t e n t s = t o r c h . r a n d n ( . . . ( b a t c h _ s i z e , u n e t . c o n f i g . i n _ c h a n n e l s , h e i g h t / / 8 , w i d t h / / 8 ) , . . . g e n e r a t o r = g e n e r a t o r , . . . d e v i c e = t o r c h _ d e v i c e , . . . ) ` ` ` # # # D e n o i s e t h e i m a g e S t a r t b y s c a l i n g t h e i n p u t w i t h t h e i n i t i a l n o i s e d i s t r i b u t i o n , * s i g m a * , t h e n o i s e s c a l e v a l u e , w h i c h i s r e q u i r e d f o r i m p r o v e d s c h e d u l e r s l i k e [ U n i P C M u l t i s t e p S c h e d u l e r ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / u n i p c # d i f f u s e r s . U n i P C M u l t i s t e p S c h e d u l e r ) : ` ` ` p y > > > l a t e n t s = l a t e n t s * s c h e d u l e r . i n i t _ n o i s e _ s i g m a ` ` ` T h e l a s t s t e p i s t o c r e a t e t h e d e n o i s i n g l o o p t h a t ' l l p r o g r e s s i v e l y t r a n s f o r m t h e p u r e n o i s e i n ` l a t e n t s ` t o a n i m a g e d e s c r i b e d b y y o u r p r o m p t . R e m e m b e r , t h e d e n o i s i n g l o o p n e e d s t o d o t h r e e t h i n g s : 1 . S e t t h e s c h e d u l e r ' s t i m e s t e p s t o u s e d u r i n g d e n o i s i n g . 2 . I t e r a t e o v e r t h e t i m e s t e p s . 3 . A t e a c h t i m e s t e p , c a l l t h e U N e t m o d e l t o p r e d i c t t h e n o i s e r e s i d u a l a n d p a s s i t t o t h e s c h e d u l e r t o c o m p u t e t h e p r e v i o u s n o i s y s a m p l e . ` ` ` p y > > > f r o m t q d m . a u t o i m p o r t t q d m > > > s c h e d u l e r . s e t _ t i m e s t e p s ( n u m _ i n f e r e n c e _ s t e p s ) > > > f o r t i n t q d m ( s c h e d u l e r . t i m e s t e p s ) : . . . # e x p a n d t h e l a t e n t s i f w e a r e d o i n g c l a s s i f i e r - f r e e g u i d a n c e t o a v o i d d o i n g t w o f o r w a r d p a s s e s . . . . l a t e n t _ m o d e l _ i n p u t = t o r c h . c a t ( [ l a t e n t s ] * 2 ) . . . l a t e n t _ m o d e l _ i n p u t = s c h e d u l e r . s c a l e _ m o d e l _ i n p u t ( l a t e n t _ m o d e l _ i n p u t , t i m e s t e p = t ) . . . # p r e d i c t t h e n o i s e r e s i d u a l . . . w i t h t o r c h . n o _ g r a d ( ) : . . . n o i s e _ p r e d = u n e t ( l a t e n t _ m o d e l _ i n p u t , t , e n c o d e r _ h i d d e n _ s t a t e s = t e x t _ e m b e d d i n g s ) . s a m p l e . . . # p e r f o r m g u i d a n c e . . . n o i s e _ p r e d _ u n c o n d , n o i s e _ p r e d _ t e x t = n o i s e _ p r e d . c h u n k ( 2 ) . . . n o i s e _ p r e d = n o i s e _ p r e d _ u n c o n d + g u i d a n c e _ s c a l e * ( n o i s e _ p r e d _ t e x t - n o i s e _ p r e d _ u n c o n d ) . . . # c o m p u t e t h e p r e v i o u s n o i s y s a m p l e x _ t - > x _ t - 1 . . . l a t e n t s = s c h e d u l e r . s t e p ( n o i s e _ p r e d , t , l a t e n t s ) . p r e v _ s a m p l e ` ` ` # # # D e c o d e t h e i m a g e T h e f i n a l s t e p i s t o u s e t h e ` v a e ` t o d e c o d e t h e l a t e n t r e p r e s e n t a t i o n i n t o a n i m a g e a n d g e t t h e d e c o d e d o u t p u t w i t h ` s a m p l e ` : ` ` ` p y # s c a l e a n d d e c o d e t h e i m a g e l a t e n t s w i t h v a e l a t e n t s = 1 / 0 . 1 8 2 1 5 * l a t e n t s w i t h t o r c h . n o _ g r a d ( ) : i m a g e = v a e . d e c o d e ( l a t e n t s ) . s a m p l e ` ` ` L a s t l y , c o n v e r t t h e i m a g e t o a ` P I L . I m a g e ` t o s e e y o u r g e n e r a t e d i m a g e ! ` ` ` p y > > > i m a g e = ( i m a g e / 2 + 0 . 5 ) . c l a m p ( 0 , 1 ) . s q u e e z e ( ) > > > i m a g e = ( i m a g e . p e r m u t e ( 1 , 2 , 0 ) * 2 5 5 ) . t o ( t o r c h . u i n t 8 ) . c p u ( ) . n u m p y ( ) > > > i m a g e = I m a g e . f r o m a r r a y ( i m a g e ) > > > i m a g e ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / b l o g / a s s e t s / 9 8 _ s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ k _ l m s . p n g " / > < / d i v > # # N e x t s t e p s F r o m b a s i c t o c o m p l e x p i p e l i n e s , y o u ' v e s e e n t h a t a l l y o u r e a l l y n e e d t o w r i t e y o u r o w n d i f f u s i o n s y s t e m i s a d e n o i s i n g l o o p . T h e l o o p s h o u l d s e t t h e s c h e d u l e r ' s t i m e s t e p s , i t e r a t e o v e r t h e m , a n d a l t e r n a t e b e t w e e n c a l l i n g t h e U N e t m o d e l t o p r e d i c t t h e n o i s e r e s i d u a l a n d p a s s i n g i t t o t h e s c h e d u l e r t o c o m p u t e t h e p r e v i o u s n o i s y s a m p l e . T h i s i s r e a l l y w h a t ๐Ÿงจ D i f f u s e r s i s d e s i g n e d f o r : t o m a k e i t i n t u i t i v e a n d e a s y t o w r i t e y o u r o w n d i f f u s i o n s y s t e m u s i n g m o d e l s a n d s c h e d u l e r s . F o r y o u r n e x t s t e p s , f e e l f r e e t o : * L e a r n h o w t o [ b u i l d a n d c o n t r i b u t e a p i p e l i n e ] ( . . / u s i n g - d i f f u s e r s / c o n t r i b u t e _ p i p e l i n e ) t o ๐Ÿงจ D i f f u s e r s . W e c a n ' t w a i t a n d s e e w h a t y o u ' l l c o m e u p w i t h ! * E x p l o r e [ e x i s t i n g p i p e l i n e s ] ( . . / a p i / p i p e l i n e s / o v e r v i e w ) i n t h e l i b r a r y , a n d s e e i f y o u c a n d e c o n s t r u c t a n d b u i l d a p i p e l i n e f r o m s c r a t c h u s i n g t h e m o d e l s a n d s c h e d u l e r s s e p a r a t e l y . # T e x t u a l i n v e r s i o n T h e [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) s u p p o r t s t e x t u a l i n v e r s i o n , a t e c h n i q u e t h a t e n a b l e s a m o d e l l i k e S t a b l e D i f f u s i o n t o l e a r n a n e w c o n c e p t f r o m j u s t a f e w s a m p l e i m a g e s . T h i s g i v e s y o u m o r e c o n t r o l o v e r t h e g e n e r a t e d i m a g e s a n d a l l o w s y o u t o t a i l o r t h e m o d e l t o w a r d s s p e c i f i c c o n c e p t s . Y o u c a n g e t s t a r t e d q u i c k l y w i t h a c o l l e c t i o n o f c o m m u n i t y c r e a t e d c o n c e p t s i n t h e [ S t a b l e D i f f u s i o n C o n c e p t u a l i z e r ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / s d - c o n c e p t s - l i b r a r y / s t a b l e - d i f f u s i o n - c o n c e p t u a l i z e r ) . T h i s g u i d e w i l l s h o w y o u h o w t o r u n i n f e r e n c e w i t h t e x t u a l i n v e r s i o n u s i n g a p r e - l e a r n e d c o n c e p t f r o m t h e S t a b l e D i f f u s i o n C o n c e p t u a l i z e r . I f y o u ' r e i n t e r e s t e d i n t e a c h i n g a m o d e l n e w c o n c e p t s w i t h t e x t u a l i n v e r s i o n , t a k e a l o o k a t t h e [ T e x t u a l I n v e r s i o n ] ( . . / t r a i n i n g / t e x t _ i n v e r s i o n ) t r a i n i n g g u i d e . I m p o r t t h e n e c e s s a r y l i b r a r i e s : ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e f r o m d i f f u s e r s . u t i l s i m p o r t m a k e _ i m a g e _ g r i d ` ` ` # # S t a b l e D i f f u s i o n 1 a n d 2 P i c k a S t a b l e D i f f u s i o n c h e c k p o i n t a n d a p r e - l e a r n e d c o n c e p t f r o m t h e [ S t a b l e D i f f u s i o n C o n c e p t u a l i z e r ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / s d - c o n c e p t s - l i b r a r y / s t a b l e - d i f f u s i o n - c o n c e p t u a l i z e r ) : ` ` ` p y p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " r e p o _ i d _ e m b e d s = " s d - c o n c e p t s - l i b r a r y / c a t - t o y " ` ` ` N o w y o u c a n l o a d a p i p e l i n e , a n d p a s s t h e p r e - l e a r n e d c o n c e p t t o i t : ` ` ` p y p i p e l i n e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( p r e t r a i n e d _ m o d e l _ n a m e _ o r _ p a t h , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) . t o ( " c u d a " ) p i p e l i n e . l o a d _ t e x t u a l _ i n v e r s i o n ( r e p o _ i d _ e m b e d s ) ` ` ` C r e a t e a p r o m p t w i t h t h e p r e - l e a r n e d c o n c e p t b y u s i n g t h e s p e c i a l p l a c e h o l d e r t o k e n ` < c a t - t o y > ` , a n d c h o o s e t h e n u m b e r o f s a m p l e s a n d r o w s o f i m a g e s y o u ' d l i k e t o g e n e r a t e : ` ` ` p y p r o m p t = " a g r a f i t t i i n a f a v e l a w a l l w i t h a < c a t - t o y > o n i t " n u m _ s a m p l e s _ p e r _ r o w = 2 n u m _ r o w s = 2 ` ` ` T h e n r u n t h e p i p e l i n e ( f e e l f r e e t o a d j u s t t h e p a r a m e t e r s l i k e ` n u m _ i n f e r e n c e _ s t e p s ` a n d ` g u i d a n c e _ s c a l e ` t o s e e h o w t h e y a f f e c t i m a g e q u a l i t y ) , s a v e t h e g e n e r a t e d i m a g e s a n d v i s u a l i z e t h e m w i t h t h e h e l p e r f u n c t i o n y o u c r e a t e d a t t h e b e g i n n i n g : ` ` ` p y a l l _ i m a g e s = [ ] f o r _ i n r a n g e ( n u m _ r o w s ) : i m a g e s = p i p e l i n e ( p r o m p t , n u m _ i m a g e s _ p e r _ p r o m p t = n u m _ s a m p l e s _ p e r _ r o w , n u m _ i n f e r e n c e _ s t e p s = 5 0 , g u i d a n c e _ s c a l e = 7 . 5 ) . i m a g e s a l l _ i m a g e s . e x t e n d ( i m a g e s ) g r i d = m a k e _ i m a g e _ g r i d ( a l l _ i m a g e s , n u m _ r o w s , n u m _ s a m p l e s _ p e r _ r o w ) g r i d ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s / r e s o l v e / m a i n / d i f f u s e r s / t e x t u a l _ i n v e r s i o n _ i n f e r e n c e . p n g " > < / d i v > # # S t a b l e D i f f u s i o n X L S t a b l e D i f f u s i o n X L ( S D X L ) c a n a l s o u s e t e x t u a l i n v e r s i o n v e c t o r s f o r i n f e r e n c e . I n c o n t r a s t t o S t a b l e D i f f u s i o n 1 a n d 2 , S D X L h a s t w o t e x t e n c o d e r s s o y o u ' l l n e e d t w o t e x t u a l i n v e r s i o n e m b e d d i n g s - o n e f o r e a c h t e x t e n c o d e r m o d e l . L e t ' s d o w n l o a d t h e S D X L t e x t u a l i n v e r s i o n e m b e d d i n g s a n d h a v e a c l o s e r l o o k a t i t ' s s t r u c t u r e : ` ` ` p y f r o m h u g g i n g f a c e _ h u b i m p o r t h f _ h u b _ d o w n l o a d f r o m s a f e t e n s o r s . t o r c h i m p o r t l o a d _ f i l e f i l e = h f _ h u b _ d o w n l o a d ( " d n 1 1 8 / u n a e s t h e t i c X L " , f i l e n a m e = " u n a e s t h e t i c X L v 3 1 . s a f e t e n s o r s " ) s t a t e _ d i c t = l o a d _ f i l e ( f i l e ) s t a t e _ d i c t ` ` ` ` ` ` { ' c l i p _ g ' : t e n s o r ( [ [ 0 . 0 0 7 7 , - 0 . 0 1 1 2 , 0 . 0 0 6 5 , . . . , 0 . 0 1 9 5 , 0 . 0 1 5 9 , 0 . 0 2 7 5 ] , . . . , [ - 0 . 0 1 7 0 , 0 . 0 2 1 3 , 0 . 0 1 4 3 , . . . , - 0 . 0 3 0 2 , - 0 . 0 2 4 0 , - 0 . 0 3 6 2 ] ] , ' c l i p _ l ' : t e n s o r ( [ [ 0 . 0 0 2 3 , 0 . 0 1 9 2 , 0 . 0 2 1 3 , . . . , - 0 . 0 3 8 5 , 0 . 0 0 4 8 , - 0 . 0 0 1 1 ] , . . . , [ 0 . 0 4 7 5 , - 0 . 0 5 0 8 , - 0 . 0 1 4 5 , . . . , 0 . 0 0 7 0 , - 0 . 0 0 8 9 , - 0 . 0 1 6 3 ] ] , ` ` ` T h e r e a r e t w o t e n s o r s , ` " c l i p _ g " ` a n d ` " c l i p _ l " ` . ` " c l i p _ g " ` c o r r e s p o n d s t o t h e b i g g e r t e x t e n c o d e r i n S D X L a n d r e f e r s t o ` p i p e . t e x t _ e n c o d e r _ 2 ` a n d ` " c l i p _ l " ` r e f e r s t o ` p i p e . t e x t _ e n c o d e r ` . N o w y o u c a n l o a d e a c h t e n s o r s e p a r a t e l y b y p a s s i n g t h e m a l o n g w i t h t h e c o r r e c t t e x t e n c o d e r a n d t o k e n i z e r t o [ l o a d _ t e x t u a l _ i n v e r s i o n ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / l o a d e r s / t e x t u a l _ i n v e r s i o n # d i f f u s e r s . l o a d e r s . T e x t u a l I n v e r s i o n L o a d e r M i x i n . l o a d _ t e x t u a l _ i n v e r s i o n ) : ` ` ` p y f r o m d i f f u s e r s i m p o r t A u t o P i p e l i n e F o r T e x t 2 I m a g e i m p o r t t o r c h p i p e = A u t o P i p e l i n e F o r T e x t 2 I m a g e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - x l - b a s e - 1 . 0 " , v a r i a n t = " f p 1 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) p i p e . t o ( " c u d a " ) p i p e . l o a d _ t e x t u a l _ i n v e r s i o n ( s t a t e _ d i c t [ " c l i p _ g " ] , t o k e n = " u n a e s t h e t i c X L v 3 1 " , t e x t _ e n c o d e r = p i p e . t e x t _ e n c o d e r _ 2 , t o k e n i z e r = p i p e . t o k e n i z e r _ 2 ) p i p e . l o a d _ t e x t u a l _ i n v e r s i o n ( s t a t e _ d i c t [ " c l i p _ l " ] , t o k e n = " u n a e s t h e t i c X L v 3 1 " , t e x t _ e n c o d e r = p i p e . t e x t _ e n c o d e r , t o k e n i z e r = p i p e . t o k e n i z e r ) # t h e e m b e d d i n g s h o u l d b e u s e d a s a n e g a t i v e e m b e d d i n g , s o w e p a s s i t a s a n e g a t i v e p r o m p t g e n e r a t o r = t o r c h . G e n e r a t o r ( ) . m a n u a l _ s e e d ( 3 3 ) i m a g e = p i p e ( " a w o m a n s t a n d i n g i n f r o n t o f a m o u n t a i n " , n e g a t i v e _ p r o m p t = " u n a e s t h e t i c X L v 3 1 " , g e n e r a t o r = g e n e r a t o r ) . i m a g e s [ 0 ] i m a g e ` ` ` # D i f f E d i t I m a g e e d i t i n g t y p i c a l l y r e q u i r e s p r o v i d i n g a m a s k o f t h e a r e a t o b e e d i t e d . D i f f E d i t a u t o m a t i c a l l y g e n e r a t e s t h e m a s k f o r y o u b a s e d o n a t e x t q u e r y , m a k i n g i t e a s i e r o v e r a l l t o c r e a t e a m a s k w i t h o u t i m a g e e d i t i n g s o f t w a r e . T h e D i f f E d i t a l g o r i t h m w o r k s i n t h r e e s t e p s : 1 . t h e d i f f u s i o n m o d e l d e n o i s e s a n i m a g e c o n d i t i o n e d o n s o m e q u e r y t e x t a n d r e f e r e n c e t e x t w h i c h p r o d u c e s d i f f e r e n t n o i s e e s t i m a t e s f o r d i f f e r e n t a r e a s o f t h e i m a g e ; t h e d i f f e r e n c e i s u s e d t o i n f e r a m a s k t o i d e n t i f y w h i c h a r e a o f t h e i m a g e n e e d s t o b e c h a n g e d t o m a t c h t h e q u e r y t e x t 2 . t h e i n p u t i m a g e i s e n c o d e d i n t o l a t e n t s p a c e w i t h D D I M 3 . t h e l a t e n t s a r e d e c o d e d w i t h t h e d i f f u s i o n m o d e l c o n d i t i o n e d o n t h e t e x t q u e r y , u s i n g t h e m a s k a s a g u i d e s u c h t h a t p i x e l s o u t s i d e t h e m a s k r e m a i n t h e s a m e a s i n t h e i n p u t i m a g e T h i s g u i d e w i l l s h o w y o u h o w t o u s e D i f f E d i t t o e d i t i m a g e s w i t h o u t m a n u a l l y c r e a t i n g a m a s k . B e f o r e y o u b e g i n , m a k e s u r e y o u h a v e t h e f o l l o w i n g l i b r a r i e s i n s t a l l e d : ` ` ` p y # u n c o m m e n t t o i n s t a l l t h e n e c e s s a r y l i b r a r i e s i n C o l a b # ! p i p i n s t a l l - q d i f f u s e r s t r a n s f o r m e r s a c c e l e r a t e ` ` ` T h e [ S t a b l e D i f f u s i o n D i f f E d i t P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / d i f f e d i t # d i f f u s e r s . S t a b l e D i f f u s i o n D i f f E d i t P i p e l i n e ) r e q u i r e s a n i m a g e m a s k a n d a s e t o f p a r t i a l l y i n v e r t e d l a t e n t s . T h e i m a g e m a s k i s g e n e r a t e d f r o m t h e [ g e n e r a t e _ m a s k ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / d i f f e d i t # d i f f u s e r s . S t a b l e D i f f u s i o n D i f f E d i t P i p e l i n e . g e n e r a t e _ m a s k ) f u n c t i o n , a n d i n c l u d e s t w o p a r a m e t e r s , ` s o u r c e _ p r o m p t ` a n d ` t a r g e t _ p r o m p t ` . T h e s e p a r a m e t e r s d e t e r m i n e w h a t t o e d i t i n t h e i m a g e . F o r e x a m p l e , i f y o u w a n t t o c h a n g e a b o w l o f * f r u i t s * t o a b o w l o f * p e a r s * , t h e n : ` ` ` p y s o u r c e _ p r o m p t = " a b o w l o f f r u i t s " t a r g e t _ p r o m p t = " a b o w l o f p e a r s " ` ` ` T h e p a r t i a l l y i n v e r t e d l a t e n t s a r e g e n e r a t e d f r o m t h e [ i n v e r t ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / d i f f e d i t # d i f f u s e r s . S t a b l e D i f f u s i o n D i f f E d i t P i p e l i n e . i n v e r t ) f u n c t i o n , a n d i t i s g e n e r a l l y a g o o d i d e a t o i n c l u d e a ` p r o m p t ` o r * c a p t i o n * d e s c r i b i n g t h e i m a g e t o h e l p g u i d e t h e i n v e r s e l a t e n t s a m p l i n g p r o c e s s . T h e c a p t i o n c a n o f t e n b e y o u r ` s o u r c e _ p r o m p t ` , b u t f e e l f r e e t o e x p e r i m e n t w i t h o t h e r t e x t d e s c r i p t i o n s ! L e t ' s l o a d t h e p i p e l i n e , s c h e d u l e r , i n v e r s e s c h e d u l e r , a n d e n a b l e s o m e o p t i m i z a t i o n s t o r e d u c e m e m o r y u s a g e : ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t D D I M S c h e d u l e r , D D I M I n v e r s e S c h e d u l e r , S t a b l e D i f f u s i o n D i f f E d i t P i p e l i n e p i p e l i n e = S t a b l e D i f f u s i o n D i f f E d i t P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - 1 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , s a f e t y _ c h e c k e r = N o n e , u s e _ s a f e t e n s o r s = T r u e , ) p i p e l i n e . s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g ) p i p e l i n e . i n v e r s e _ s c h e d u l e r = D D I M I n v e r s e S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p i p e l i n e . e n a b l e _ v a e _ s l i c i n g ( ) ` ` ` L o a d t h e i m a g e t o e d i t : ` ` ` p y f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d i m g _ u r l = " h t t p s : / / g i t h u b . c o m / X i a n g - c d / D i f f E d i t - s t a b l e - d i f f u s i o n / r a w / m a i n / a s s e t s / o r i g i n . p n g " r a w _ i m a g e = l o a d _ i m a g e ( i m g _ u r l ) . r e s i z e ( ( 7 6 8 , 7 6 8 ) ) r a w _ i m a g e ` ` ` U s e t h e [ g e n e r a t e _ m a s k ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / d i f f e d i t # d i f f u s e r s . S t a b l e D i f f u s i o n D i f f E d i t P i p e l i n e . g e n e r a t e _ m a s k ) f u n c t i o n t o g e n e r a t e t h e i m a g e m a s k . Y o u ' l l n e e d t o p a s s i t t h e ` s o u r c e _ p r o m p t ` a n d ` t a r g e t _ p r o m p t ` t o s p e c i f y w h a t t o e d i t i n t h e i m a g e : ` ` ` p y f r o m P I L i m p o r t I m a g e s o u r c e _ p r o m p t = " a b o w l o f f r u i t s " t a r g e t _ p r o m p t = " a b a s k e t o f p e a r s " m a s k _ i m a g e = p i p e l i n e . g e n e r a t e _ m a s k ( i m a g e = r a w _ i m a g e , s o u r c e _ p r o m p t = s o u r c e _ p r o m p t , t a r g e t _ p r o m p t = t a r g e t _ p r o m p t , ) I m a g e . f r o m a r r a y ( ( m a s k _ i m a g e . s q u e e z e ( ) * 2 5 5 ) . a s t y p e ( " u i n t 8 " ) , " L " ) . r e s i z e ( ( 7 6 8 , 7 6 8 ) ) ` ` ` N e x t , c r e a t e t h e i n v e r t e d l a t e n t s a n d p a s s i t a c a p t i o n d e s c r i b i n g t h e i m a g e : ` ` ` p y i n v _ l a t e n t s = p i p e l i n e . i n v e r t ( p r o m p t = s o u r c e _ p r o m p t , i m a g e = r a w _ i m a g e ) . l a t e n t s ` ` ` F i n a l l y , p a s s t h e i m a g e m a s k a n d i n v e r t e d l a t e n t s t o t h e p i p e l i n e . T h e ` t a r g e t _ p r o m p t ` b e c o m e s t h e ` p r o m p t ` n o w , a n d t h e ` s o u r c e _ p r o m p t ` i s u s e d a s t h e ` n e g a t i v e _ p r o m p t ` : ` ` ` p y o u t p u t _ i m a g e = p i p e l i n e ( p r o m p t = t a r g e t _ p r o m p t , m a s k _ i m a g e = m a s k _ i m a g e , i m a g e _ l a t e n t s = i n v _ l a t e n t s , n e g a t i v e _ p r o m p t = s o u r c e _ p r o m p t , ) . i m a g e s [ 0 ] m a s k _ i m a g e = I m a g e . f r o m a r r a y ( ( m a s k _ i m a g e . s q u e e z e ( ) * 2 5 5 ) . a s t y p e ( " u i n t 8 " ) , " L " ) . r e s i z e ( ( 7 6 8 , 7 6 8 ) ) m a k e _ i m a g e _ g r i d ( [ r a w _ i m a g e , m a s k _ i m a g e , o u t p u t _ i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` < d i v c l a s s = " f l e x g a p - 4 " > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / g i t h u b . c o m / X i a n g - c d / D i f f E d i t - s t a b l e - d i f f u s i o n / r a w / m a i n / a s s e t s / o r i g i n . p n g " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > o r i g i n a l i m a g e < / f i g c a p t i o n > < / d i v > < d i v > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / g i t h u b . c o m / X i a n g - c d / D i f f E d i t - s t a b l e - d i f f u s i o n / b l o b / m a i n / a s s e t s / t a r g e t . p n g ? r a w = t r u e " / > < f i g c a p t i o n c l a s s = " m t - 2 t e x t - c e n t e r t e x t - s m t e x t - g r a y - 5 0 0 " > e d i t e d i m a g e < / f i g c a p t i o n > < / d i v > < / d i v > # # G e n e r a t e s o u r c e a n d t a r g e t e m b e d d i n g s T h e s o u r c e a n d t a r g e t e m b e d d i n g s c a n b e a u t o m a t i c a l l y g e n e r a t e d w i t h t h e [ F l a n - T 5 ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m o d e l _ d o c / f l a n - t 5 ) m o d e l i n s t e a d o f c r e a t i n g t h e m m a n u a l l y . L o a d t h e F l a n - T 5 m o d e l a n d t o k e n i z e r f r o m t h e ๐Ÿค— T r a n s f o r m e r s l i b r a r y : ` ` ` p y i m p o r t t o r c h f r o m t r a n s f o r m e r s i m p o r t A u t o T o k e n i z e r , T 5 F o r C o n d i t i o n a l G e n e r a t i o n t o k e n i z e r = A u t o T o k e n i z e r . f r o m _ p r e t r a i n e d ( " g o o g l e / f l a n - t 5 - l a r g e " ) m o d e l = T 5 F o r C o n d i t i o n a l G e n e r a t i o n . f r o m _ p r e t r a i n e d ( " g o o g l e / f l a n - t 5 - l a r g e " , d e v i c e _ m a p = " a u t o " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) ` ` ` P r o v i d e s o m e i n i t i a l t e x t t o p r o m p t t h e m o d e l t o g e n e r a t e t h e s o u r c e a n d t a r g e t p r o m p t s . ` ` ` p y s o u r c e _ c o n c e p t = " b o w l " t a r g e t _ c o n c e p t = " b a s k e t " s o u r c e _ t e x t = f " P r o v i d e a c a p t i o n f o r i m a g e s c o n t a i n i n g a { s o u r c e _ c o n c e p t } . " " T h e c a p t i o n s s h o u l d b e i n E n g l i s h a n d s h o u l d b e n o l o n g e r t h a n 1 5 0 c h a r a c t e r s . " t a r g e t _ t e x t = f " P r o v i d e a c a p t i o n f o r i m a g e s c o n t a i n i n g a { t a r g e t _ c o n c e p t } . " " T h e c a p t i o n s s h o u l d b e i n E n g l i s h a n d s h o u l d b e n o l o n g e r t h a n 1 5 0 c h a r a c t e r s . " ` ` ` N e x t , c r e a t e a u t i l i t y f u n c t i o n t o g e n e r a t e t h e p r o m p t s : ` ` ` p y @ t o r c h . n o _ g r a d ( ) d e f g e n e r a t e _ p r o m p t s ( i n p u t _ p r o m p t ) : i n p u t _ i d s = t o k e n i z e r ( i n p u t _ p r o m p t , r e t u r n _ t e n s o r s = " p t " ) . i n p u t _ i d s . t o ( " c u d a " ) o u t p u t s = m o d e l . g e n e r a t e ( i n p u t _ i d s , t e m p e r a t u r e = 0 . 8 , n u m _ r e t u r n _ s e q u e n c e s = 1 6 , d o _ s a m p l e = T r u e , m a x _ n e w _ t o k e n s = 1 2 8 , t o p _ k = 1 0 ) r e t u r n t o k e n i z e r . b a t c h _ d e c o d e ( o u t p u t s , s k i p _ s p e c i a l _ t o k e n s = T r u e ) s o u r c e _ p r o m p t s = g e n e r a t e _ p r o m p t s ( s o u r c e _ t e x t ) t a r g e t _ p r o m p t s = g e n e r a t e _ p r o m p t s ( t a r g e t _ t e x t ) p r i n t ( s o u r c e _ p r o m p t s ) p r i n t ( t a r g e t _ p r o m p t s ) ` ` ` < T i p > C h e c k o u t t h e [ g e n e r a t i o n s t r a t e g y ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m a i n / e n / g e n e r a t i o n _ s t r a t e g i e s ) g u i d e i f y o u ' r e i n t e r e s t e d i n l e a r n i n g m o r e a b o u t s t r a t e g i e s f o r g e n e r a t i n g d i f f e r e n t q u a l i t y t e x t . < / T i p > L o a d t h e t e x t e n c o d e r m o d e l u s e d b y t h e [ S t a b l e D i f f u s i o n D i f f E d i t P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / d i f f e d i t # d i f f u s e r s . S t a b l e D i f f u s i o n D i f f E d i t P i p e l i n e ) t o e n c o d e t h e t e x t . Y o u ' l l u s e t h e t e x t e n c o d e r t o c o m p u t e t h e t e x t e m b e d d i n g s : ` ` ` p y i m p o r t t o r c h f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n D i f f E d i t P i p e l i n e p i p e l i n e = S t a b l e D i f f u s i o n D i f f E d i t P i p e l i n e . f r o m _ p r e t r a i n e d ( " s t a b i l i t y a i / s t a b l e - d i f f u s i o n - 2 - 1 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , u s e _ s a f e t e n s o r s = T r u e ) p i p e l i n e . e n a b l e _ m o d e l _ c p u _ o f f l o a d ( ) p i p e l i n e . e n a b l e _ v a e _ s l i c i n g ( ) @ t o r c h . n o _ g r a d ( ) d e f e m b e d _ p r o m p t s ( s e n t e n c e s , t o k e n i z e r , t e x t _ e n c o d e r , d e v i c e = " c u d a " ) : e m b e d d i n g s = [ ] f o r s e n t i n s e n t e n c e s : t e x t _ i n p u t s = t o k e n i z e r ( s e n t , p a d d i n g = " m a x _ l e n g t h " , m a x _ l e n g t h = t o k e n i z e r . m o d e l _ m a x _ l e n g t h , t r u n c a t i o n = T r u e , r e t u r n _ t e n s o r s = " p t " , ) t e x t _ i n p u t _ i d s = t e x t _ i n p u t s . i n p u t _ i d s p r o m p t _ e m b e d s = t e x t _ e n c o d e r ( t e x t _ i n p u t _ i d s . t o ( d e v i c e ) , a t t e n t i o n _ m a s k = N o n e ) [ 0 ] e m b e d d i n g s . a p p e n d ( p r o m p t _ e m b e d s ) r e t u r n t o r c h . c o n c a t e n a t e ( e m b e d d i n g s , d i m = 0 ) . m e a n ( d i m = 0 ) . u n s q u e e z e ( 0 ) s o u r c e _ e m b e d s = e m b e d _ p r o m p t s ( s o u r c e _ p r o m p t s , p i p e l i n e . t o k e n i z e r , p i p e l i n e . t e x t _ e n c o d e r ) t a r g e t _ e m b e d s = e m b e d _ p r o m p t s ( t a r g e t _ p r o m p t s , p i p e l i n e . t o k e n i z e r , p i p e l i n e . t e x t _ e n c o d e r ) ` ` ` F i n a l l y , p a s s t h e e m b e d d i n g s t o t h e [ g e n e r a t e _ m a s k ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / d i f f e d i t # d i f f u s e r s . S t a b l e D i f f u s i o n D i f f E d i t P i p e l i n e . g e n e r a t e _ m a s k ) a n d [ i n v e r t ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / d i f f e d i t # d i f f u s e r s . S t a b l e D i f f u s i o n D i f f E d i t P i p e l i n e . i n v e r t ) f u n c t i o n s , a n d p i p e l i n e t o g e n e r a t e t h e i m a g e : ` ` ` d i f f f r o m d i f f u s e r s i m p o r t D D I M I n v e r s e S c h e d u l e r , D D I M S c h e d u l e r f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e , m a k e _ i m a g e _ g r i d f r o m P I L i m p o r t I m a g e p i p e l i n e . s c h e d u l e r = D D I M S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g ) p i p e l i n e . i n v e r s e _ s c h e d u l e r = D D I M I n v e r s e S c h e d u l e r . f r o m _ c o n f i g ( p i p e l i n e . s c h e d u l e r . c o n f i g ) i m g _ u r l = " h t t p s : / / g i t h u b . c o m / X i a n g - c d / D i f f E d i t - s t a b l e - d i f f u s i o n / r a w / m a i n / a s s e t s / o r i g i n . p n g " r a w _ i m a g e = l o a d _ i m a g e ( i m g _ u r l ) . r e s i z e ( ( 7 6 8 , 7 6 8 ) ) m a s k _ i m a g e = p i p e l i n e . g e n e r a t e _ m a s k ( i m a g e = r a w _ i m a g e , - s o u r c e _ p r o m p t = s o u r c e _ p r o m p t , - t a r g e t _ p r o m p t = t a r g e t _ p r o m p t , + s o u r c e _ p r o m p t _ e m b e d s = s o u r c e _ e m b e d s , + t a r g e t _ p r o m p t _ e m b e d s = t a r g e t _ e m b e d s , ) i n v _ l a t e n t s = p i p e l i n e . i n v e r t ( - p r o m p t = s o u r c e _ p r o m p t , + p r o m p t _ e m b e d s = s o u r c e _ e m b e d s , i m a g e = r a w _ i m a g e , ) . l a t e n t s o u t p u t _ i m a g e = p i p e l i n e ( m a s k _ i m a g e = m a s k _ i m a g e , i m a g e _ l a t e n t s = i n v _ l a t e n t s , - p r o m p t = t a r g e t _ p r o m p t , - n e g a t i v e _ p r o m p t = s o u r c e _ p r o m p t , + p r o m p t _ e m b e d s = t a r g e t _ e m b e d s , + n e g a t i v e _ p r o m p t _ e m b e d s = s o u r c e _ e m b e d s , ) . i m a g e s [ 0 ] m a s k _ i m a g e = I m a g e . f r o m a r r a y ( ( m a s k _ i m a g e . s q u e e z e ( ) * 2 5 5 ) . a s t y p e ( " u i n t 8 " ) , " L " ) m a k e _ i m a g e _ g r i d ( [ r a w _ i m a g e , m a s k _ i m a g e , o u t p u t _ i m a g e ] , r o w s = 1 , c o l s = 3 ) ` ` ` # # G e n e r a t e a c a p t i o n f o r i n v e r s i o n W h i l e y o u c a n u s e t h e ` s o u r c e _ p r o m p t ` a s a c a p t i o n t o h e l p g e n e r a t e t h e p a r t i a l l y i n v e r t e d l a t e n t s , y o u c a n a l s o u s e t h e [ B L I P ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m o d e l _ d o c / b l i p ) m o d e l t o a u t o m a t i c a l l y g e n e r a t e a c a p t i o n . L o a d t h e B L I P m o d e l a n d p r o c e s s o r f r o m t h e ๐Ÿค— T r a n s f o r m e r s l i b r a r y : ` ` ` p y i m p o r t t o r c h f r o m t r a n s f o r m e r s i m p o r t B l i p F o r C o n d i t i o n a l G e n e r a t i o n , B l i p P r o c e s s o r p r o c e s s o r = B l i p P r o c e s s o r . f r o m _ p r e t r a i n e d ( " S a l e s f o r c e / b l i p - i m a g e - c a p t i o n i n g - b a s e " ) m o d e l = B l i p F o r C o n d i t i o n a l G e n e r a t i o n . f r o m _ p r e t r a i n e d ( " S a l e s f o r c e / b l i p - i m a g e - c a p t i o n i n g - b a s e " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 , l o w _ c p u _ m e m _ u s a g e = T r u e ) ` ` ` C r e a t e a u t i l i t y f u n c t i o n t o g e n e r a t e a c a p t i o n f r o m t h e i n p u t i m a g e : ` ` ` p y @ t o r c h . n o _ g r a d ( ) d e f g e n e r a t e _ c a p t i o n ( i m a g e s , c a p t i o n _ g e n e r a t o r , c a p t i o n _ p r o c e s s o r ) : t e x t = " a p h o t o g r a p h o f " i n p u t s = c a p t i o n _ p r o c e s s o r ( i m a g e s , t e x t , r e t u r n _ t e n s o r s = " p t " ) . t o ( d e v i c e = " c u d a " , d t y p e = c a p t i o n _ g e n e r a t o r . d t y p e ) c a p t i o n _ g e n e r a t o r . t o ( " c u d a " ) o u t p u t s = c a p t i o n _ g e n e r a t o r . g e n e r a t e ( * * i n p u t s , m a x _ n e w _ t o k e n s = 1 2 8 ) # o f f l o a d c a p t i o n g e n e r a t o r c a p t i o n _ g e n e r a t o r . t o ( " c p u " ) c a p t i o n = c a p t i o n _ p r o c e s s o r . b a t c h _ d e c o d e ( o u t p u t s , s k i p _ s p e c i a l _ t o k e n s = T r u e ) [ 0 ] r e t u r n c a p t i o n ` ` ` L o a d a n i n p u t i m a g e a n d g e n e r a t e a c a p t i o n f o r i t u s i n g t h e ` g e n e r a t e _ c a p t i o n ` f u n c t i o n : ` ` ` p y f r o m d i f f u s e r s . u t i l s i m p o r t l o a d _ i m a g e i m g _ u r l = " h t t p s : / / g i t h u b . c o m / X i a n g - c d / D i f f E d i t - s t a b l e - d i f f u s i o n / r a w / m a i n / a s s e t s / o r i g i n . p n g " r a w _ i m a g e = l o a d _ i m a g e ( i m g _ u r l ) . r e s i z e ( ( 7 6 8 , 7 6 8 ) ) c a p t i o n = g e n e r a t e _ c a p t i o n ( r a w _ i m a g e , m o d e l , p r o c e s s o r ) ` ` ` < d i v c l a s s = " f l e x j u s t i f y - c e n t e r " > < f i g u r e > < i m g c l a s s = " r o u n d e d - x l " s r c = " h t t p s : / / g i t h u b . c o m / X i a n g - c d / D i f f E d i t - s t a b l e - d i f f u s i o n / r a w / m a i n / a s s e t s / o r i g i n . p n g " / > < f i g c a p t i o n c l a s s = " t e x t - c e n t e r " > g e n e r a t e d c a p t i o n : " a p h o t o g r a p h o f a b o w l o f f r u i t o n a t a b l e " < / f i g c a p t i o n > < / f i g u r e > < / d i v > N o w y o u c a n d r o p t h e c a p t i o n i n t o t h e [ i n v e r t ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / d i f f e d i t # d i f f u s e r s . S t a b l e D i f f u s i o n D i f f E d i t P i p e l i n e . i n v e r t ) f u n c t i o n t o g e n e r a t e t h e p a r t i a l l y i n v e r t e d l a t e n t s ! # U n c o n d i t i o n a l i m a g e g e n e r a t i o n U n c o n d i t i o n a l i m a g e g e n e r a t i o n g e n e r a t e s i m a g e s t h a t l o o k l i k e a r a n d o m s a m p l e f r o m t h e t r a i n i n g d a t a t h e m o d e l w a s t r a i n e d o n b e c a u s e t h e d e n o i s i n g p r o c e s s i s n o t g u i d e d b y a n y a d d i t i o n a l c o n t e x t l i k e t e x t o r i m a g e . T o g e t s t a r t e d , u s e t h e [ D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e ) t o l o a d t h e [ a n t o n - l / d d p m - b u t t e r f l i e s - 1 2 8 ] ( h t t p s : / / h u g g i n g f a c e . c o / a n t o n - l / d d p m - b u t t e r f l i e s - 1 2 8 ) c h e c k p o i n t t o g e n e r a t e i m a g e s o f b u t t e r f l i e s . T h e [ D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e ) d o w n l o a d s a n d c a c h e s a l l t h e m o d e l c o m p o n e n t s r e q u i r e d t o g e n e r a t e a n i m a g e . ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e g e n e r a t o r = D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( " a n t o n - l / d d p m - b u t t e r f l i e s - 1 2 8 " ) . t o ( " c u d a " ) i m a g e = g e n e r a t o r ( ) . i m a g e s [ 0 ] i m a g e ` ` ` < T i p > W a n t t o g e n e r a t e i m a g e s o f s o m e t h i n g e l s e ? T a k e a l o o k a t t h e t r a i n i n g [ g u i d e ] ( . . / t r a i n i n g / u n c o n d i t i o n a l _ t r a i n i n g ) t o l e a r n h o w t o t r a i n a m o d e l t o g e n e r a t e y o u r o w n i m a g e s . < / T i p > T h e o u t p u t i m a g e i s a [ ` P I L . I m a g e ` ] ( h t t p s : / / p i l l o w . r e a d t h e d o c s . i o / e n / s t a b l e / r e f e r e n c e / I m a g e . h t m l ? h i g h l i g h t = i m a g e # t h e - i m a g e - c l a s s ) o b j e c t t h a t c a n b e s a v e d : ` ` ` p y i m a g e . s a v e ( " g e n e r a t e d _ i m a g e . p n g " ) ` ` ` Y o u c a n a l s o t r y e x p e r i m e n t i n g w i t h t h e ` n u m _ i n f e r e n c e _ s t e p s ` p a r a m e t e r , w h i c h c o n t r o l s t h e n u m b e r o f d e n o i s i n g s t e p s . M o r e d e n o i s i n g s t e p s t y p i c a l l y p r o d u c e h i g h e r q u a l i t y i m a g e s , b u t i t ' l l t a k e l o n g e r t o g e n e r a t e . F e e l f r e e t o p l a y a r o u n d w i t h t h i s p a r a m e t e r t o s e e h o w i t a f f e c t s t h e i m a g e q u a l i t y . ` ` ` p y i m a g e = g e n e r a t o r ( n u m _ i n f e r e n c e _ s t e p s = 1 0 0 ) . i m a g e s [ 0 ] i m a g e ` ` ` T r y o u t t h e S p a c e b e l o w t o g e n e r a t e a n i m a g e o f a b u t t e r f l y ! < i f r a m e s r c = " h t t p s : / / s t e v h l i u - u n c o n d i t i o n a l - i m a g e - g e n e r a t i o n . h f . s p a c e " f r a m e b o r d e r = " 0 " w i d t h = " 8 5 0 " h e i g h t = " 5 0 0 " > < / i f r a m e > # E v a l u a t i n g D i f f u s i o n M o d e l s < a t a r g e t = " _ b l a n k " h r e f = " h t t p s : / / c o l a b . r e s e a r c h . g o o g l e . c o m / g i t h u b / h u g g i n g f a c e / n o t e b o o k s / b l o b / m a i n / d i f f u s e r s / e v a l u a t i o n . i p y n b " > < i m g s r c = " h t t p s : / / c o l a b . r e s e a r c h . g o o g l e . c o m / a s s e t s / c o l a b - b a d g e . s v g " a l t = " O p e n I n C o l a b " / > < / a > E v a l u a t i o n o f g e n e r a t i v e m o d e l s l i k e [ S t a b l e D i f f u s i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / s t a b l e _ d i f f u s i o n ) i s s u b j e c t i v e i n n a t u r e . B u t a s p r a c t i t i o n e r s a n d r e s e a r c h e r s , w e o f t e n h a v e t o m a k e c a r e f u l c h o i c e s a m o n g s t m a n y d i f f e r e n t p o s s i b i l i t i e s . S o , w h e n w o r k i n g w i t h d i f f e r e n t g e n e r a t i v e m o d e l s ( l i k e G A N s , D i f f u s i o n , e t c . ) , h o w d o w e c h o o s e o n e o v e r t h e o t h e r ? Q u a l i t a t i v e e v a l u a t i o n o f s u c h m o d e l s c a n b e e r r o r - p r o n e a n d m i g h t i n c o r r e c t l y i n f l u e n c e a d e c i s i o n . H o w e v e r , q u a n t i t a t i v e m e t r i c s d o n ' t n e c e s s a r i l y c o r r e s p o n d t o i m a g e q u a l i t y . S o , u s u a l l y , a c o m b i n a t i o n o f b o t h q u a l i t a t i v e a n d q u a n t i t a t i v e e v a l u a t i o n s p r o v i d e s a s t r o n g e r s i g n a l w h e n c h o o s i n g o n e m o d e l o v e r t h e o t h e r . I n t h i s d o c u m e n t , w e p r o v i d e a n o n - e x h a u s t i v e o v e r v i e w o f q u a l i t a t i v e a n d q u a n t i t a t i v e m e t h o d s t o e v a l u a t e D i f f u s i o n m o d e l s . F o r q u a n t i t a t i v e m e t h o d s , w e s p e c i f i c a l l y f o c u s o n h o w t o i m p l e m e n t t h e m a l o n g s i d e ` d i f f u s e r s ` . T h e m e t h o d s s h o w n i n t h i s d o c u m e n t c a n a l s o b e u s e d t o e v a l u a t e d i f f e r e n t [ n o i s e s c h e d u l e r s ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / a p i / s c h e d u l e r s / o v e r v i e w ) k e e p i n g t h e u n d e r l y i n g g e n e r a t i o n m o d e l f i x e d . # # S c e n a r i o s W e c o v e r D i f f u s i o n m o d e l s w i t h t h e f o l l o w i n g p i p e l i n e s : - T e x t - g u i d e d i m a g e g e n e r a t i o n ( s u c h a s t h e [ ` S t a b l e D i f f u s i o n P i p e l i n e ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g ) ) . - T e x t - g u i d e d i m a g e g e n e r a t i o n , a d d i t i o n a l l y c o n d i t i o n e d o n a n i n p u t i m a g e ( s u c h a s t h e [ ` S t a b l e D i f f u s i o n I m g 2 I m g P i p e l i n e ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / i m g 2 i m g ) a n d [ ` S t a b l e D i f f u s i o n I n s t r u c t P i x 2 P i x P i p e l i n e ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / p i x 2 p i x ) ) . - C l a s s - c o n d i t i o n e d i m a g e g e n e r a t i o n m o d e l s ( s u c h a s t h e [ ` D i T P i p e l i n e ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / d i t ) ) . # # Q u a l i t a t i v e E v a l u a t i o n Q u a l i t a t i v e e v a l u a t i o n t y p i c a l l y i n v o l v e s h u m a n a s s e s s m e n t o f g e n e r a t e d i m a g e s . Q u a l i t y i s m e a s u r e d a c r o s s a s p e c t s s u c h a s c o m p o s i t i o n a l i t y , i m a g e - t e x t a l i g n m e n t , a n d s p a t i a l r e l a t i o n s . C o m m o n p r o m p t s p r o v i d e a d e g r e e o f u n i f o r m i t y f o r s u b j e c t i v e m e t r i c s . D r a w B e n c h a n d P a r t i P r o m p t s a r e p r o m p t d a t a s e t s u s e d f o r q u a l i t a t i v e b e n c h m a r k i n g . D r a w B e n c h a n d P a r t i P r o m p t s w e r e i n t r o d u c e d b y [ I m a g e n ] ( h t t p s : / / i m a g e n . r e s e a r c h . g o o g l e / ) a n d [ P a r t i ] ( h t t p s : / / p a r t i . r e s e a r c h . g o o g l e / ) r e s p e c t i v e l y . F r o m t h e [ o f f i c i a l P a r t i w e b s i t e ] ( h t t p s : / / p a r t i . r e s e a r c h . g o o g l e / ) : > P a r t i P r o m p t s ( P 2 ) i s a r i c h s e t o f o v e r 1 6 0 0 p r o m p t s i n E n g l i s h t h a t w e r e l e a s e a s p a r t o f t h i s w o r k . P 2 c a n b e u s e d t o m e a s u r e m o d e l c a p a b i l i t i e s a c r o s s v a r i o u s c a t e g o r i e s a n d c h a l l e n g e a s p e c t s . ! [ p a r t i - p r o m p t s ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / e v a l u a t i o n _ d i f f u s i o n _ m o d e l s / p a r t i - p r o m p t s . p n g ) P a r t i P r o m p t s h a s t h e f o l l o w i n g c o l u m n s : - P r o m p t - C a t e g o r y o f t h e p r o m p t ( s u c h a s โ€œ A b s t r a c t โ€ , โ€œ W o r l d K n o w l e d g e โ€ , e t c . ) - C h a l l e n g e r e f l e c t i n g t h e d i f f i c u l t y ( s u c h a s โ€œ B a s i c โ€ , โ€œ C o m p l e x โ€ , โ€œ W r i t i n g & S y m b o l s โ€ , e t c . ) T h e s e b e n c h m a r k s a l l o w f o r s i d e - b y - s i d e h u m a n e v a l u a t i o n o f d i f f e r e n t i m a g e g e n e r a t i o n m o d e l s . F o r t h i s , t h e ๐Ÿงจ D i f f u s e r s t e a m h a s b u i l t * * O p e n P a r t i P r o m p t s * * , w h i c h i s a c o m m u n i t y - d r i v e n q u a l i t a t i v e b e n c h m a r k b a s e d o n P a r t i P r o m p t s t o c o m p a r e s t a t e - o f - t h e - a r t o p e n - s o u r c e d i f f u s i o n m o d e l s : - [ O p e n P a r t i P r o m p t s G a m e ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / O p e n G e n A I / o p e n - p a r t i - p r o m p t s ) : F o r 1 0 p a r t i p r o m p t s , 4 g e n e r a t e d i m a g e s a r e s h o w n a n d t h e u s e r s e l e c t s t h e i m a g e t h a t s u i t s t h e p r o m p t b e s t . - [ O p e n P a r t i P r o m p t s L e a d e r b o a r d ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / O p e n G e n A I / p a r t i - p r o m p t s - l e a d e r b o a r d ) : T h e l e a d e r b o a r d c o m p a r i n g t h e c u r r e n t l y b e s t o p e n - s o u r c e d d i f f u s i o n m o d e l s t o e a c h o t h e r . T o m a n u a l l y c o m p a r e i m a g e s , l e t โ€™ s s e e h o w w e c a n u s e ` d i f f u s e r s ` o n a c o u p l e o f P a r t i P r o m p t s . B e l o w w e s h o w s o m e p r o m p t s s a m p l e d a c r o s s d i f f e r e n t c h a l l e n g e s : B a s i c , C o m p l e x , L i n g u i s t i c S t r u c t u r e s , I m a g i n a t i o n , a n d W r i t i n g & S y m b o l s . H e r e w e a r e u s i n g P a r t i P r o m p t s a s a [ d a t a s e t ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / n a t e r a w / p a r t i - p r o m p t s ) . ` ` ` p y t h o n f r o m d a t a s e t s i m p o r t l o a d _ d a t a s e t # p r o m p t s = l o a d _ d a t a s e t ( " n a t e r a w / p a r t i - p r o m p t s " , s p l i t = " t r a i n " ) # p r o m p t s = p r o m p t s . s h u f f l e ( ) # s a m p l e _ p r o m p t s = [ p r o m p t s [ i ] [ " P r o m p t " ] f o r i i n r a n g e ( 5 ) ] # F i x i n g t h e s e s a m p l e p r o m p t s i n t h e i n t e r e s t o f r e p r o d u c i b i l i t y . s a m p l e _ p r o m p t s = [ " a c o r g i " , " a h o t a i r b a l l o o n w i t h a y i n - y a n g s y m b o l , w i t h t h e m o o n v i s i b l e i n t h e d a y t i m e s k y " , " a c a r w i t h n o w i n d o w s " , " a c u b e m a d e o f p o r c u p i n e " , ' T h e s a y i n g " B E E X C E L L E N T T O E A C H O T H E R " w r i t t e n o n a r e d b r i c k w a l l w i t h a g r a f f i t i i m a g e o f a g r e e n a l i e n w e a r i n g a t u x e d o . A y e l l o w f i r e h y d r a n t i s o n a s i d e w a l k i n t h e f o r e g r o u n d . ' , ] ` ` ` N o w w e c a n u s e t h e s e p r o m p t s t o g e n e r a t e s o m e i m a g e s u s i n g S t a b l e D i f f u s i o n ( [ v 1 - 4 c h e c k p o i n t ] ( h t t p s : / / h u g g i n g f a c e . c o / C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 ) ) : ` ` ` p y t h o n i m p o r t t o r c h s e e d = 0 g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( s e e d ) i m a g e s = s d _ p i p e l i n e ( s a m p l e _ p r o m p t s , n u m _ i m a g e s _ p e r _ p r o m p t = 1 , g e n e r a t o r = g e n e r a t o r ) . i m a g e s ` ` ` ! [ p a r t i - p r o m p t s - 1 4 ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / e v a l u a t i o n _ d i f f u s i o n _ m o d e l s / p a r t i - p r o m p t s - 1 4 . p n g ) W e c a n a l s o s e t ` n u m _ i m a g e s _ p e r _ p r o m p t ` a c c o r d i n g l y t o c o m p a r e d i f f e r e n t i m a g e s f o r t h e s a m e p r o m p t . R u n n i n g t h e s a m e p i p e l i n e b u t w i t h a d i f f e r e n t c h e c k p o i n t ( [ v 1 - 5 ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ) ) , y i e l d s : ! [ p a r t i - p r o m p t s - 1 5 ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / e v a l u a t i o n _ d i f f u s i o n _ m o d e l s / p a r t i - p r o m p t s - 1 5 . p n g ) O n c e s e v e r a l i m a g e s a r e g e n e r a t e d f r o m a l l t h e p r o m p t s u s i n g m u l t i p l e m o d e l s ( u n d e r e v a l u a t i o n ) , t h e s e r e s u l t s a r e p r e s e n t e d t o h u m a n e v a l u a t o r s f o r s c o r i n g . F o r m o r e d e t a i l s o n t h e D r a w B e n c h a n d P a r t i P r o m p t s b e n c h m a r k s , r e f e r t o t h e i r r e s p e c t i v e p a p e r s . < T i p > I t i s u s e f u l t o l o o k a t s o m e i n f e r e n c e s a m p l e s w h i l e a m o d e l i s t r a i n i n g t o m e a s u r e t h e t r a i n i n g p r o g r e s s . I n o u r [ t r a i n i n g s c r i p t s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / ) , w e s u p p o r t t h i s u t i l i t y w i t h a d d i t i o n a l s u p p o r t f o r l o g g i n g t o T e n s o r B o a r d a n d W e i g h t s & B i a s e s . < / T i p > # # Q u a n t i t a t i v e E v a l u a t i o n I n t h i s s e c t i o n , w e w i l l w a l k y o u t h r o u g h h o w t o e v a l u a t e t h r e e d i f f e r e n t d i f f u s i o n p i p e l i n e s u s i n g : - C L I P s c o r e - C L I P d i r e c t i o n a l s i m i l a r i t y - F I D # # # T e x t - g u i d e d i m a g e g e n e r a t i o n [ C L I P s c o r e ] ( h t t p s : / / a r x i v . o r g / a b s / 2 1 0 4 . 0 8 7 1 8 ) m e a s u r e s t h e c o m p a t i b i l i t y o f i m a g e - c a p t i o n p a i r s . H i g h e r C L I P s c o r e s i m p l y h i g h e r c o m p a t i b i l i t y ๐Ÿ”ผ . T h e C L I P s c o r e i s a q u a n t i t a t i v e m e a s u r e m e n t o f t h e q u a l i t a t i v e c o n c e p t " c o m p a t i b i l i t y " . I m a g e - c a p t i o n p a i r c o m p a t i b i l i t y c a n a l s o b e t h o u g h t o f a s t h e s e m a n t i c s i m i l a r i t y b e t w e e n t h e i m a g e a n d t h e c a p t i o n . C L I P s c o r e w a s f o u n d t o h a v e h i g h c o r r e l a t i o n w i t h h u m a n j u d g e m e n t . L e t ' s f i r s t l o a d a [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) : ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n P i p e l i n e i m p o r t t o r c h m o d e l _ c k p t = " C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 " s d _ p i p e l i n e = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ c k p t , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( " c u d a " ) ` ` ` G e n e r a t e s o m e i m a g e s w i t h m u l t i p l e p r o m p t s : ` ` ` p y t h o n p r o m p t s = [ " a p h o t o o f a n a s t r o n a u t r i d i n g a h o r s e o n m a r s " , " A h i g h t e c h s o l a r p u n k u t o p i a i n t h e A m a z o n r a i n f o r e s t " , " A p i k a c h u f i n e d i n i n g w i t h a v i e w t o t h e E i f f e l T o w e r " , " A m e c h a r o b o t i n a f a v e l a i n e x p r e s s i o n i s t s t y l e " , " a n i n s e c t r o b o t p r e p a r i n g a d e l i c i o u s m e a l " , " A s m a l l c a b i n o n t o p o f a s n o w y m o u n t a i n i n t h e s t y l e o f D i s n e y , a r t s t a t i o n " , ] i m a g e s = s d _ p i p e l i n e ( p r o m p t s , n u m _ i m a g e s _ p e r _ p r o m p t = 1 , o u t p u t _ t y p e = " n p " ) . i m a g e s p r i n t ( i m a g e s . s h a p e ) # ( 6 , 5 1 2 , 5 1 2 , 3 ) ` ` ` A n d t h e n , w e c a l c u l a t e t h e C L I P s c o r e . ` ` ` p y t h o n f r o m t o r c h m e t r i c s . f u n c t i o n a l . m u l t i m o d a l i m p o r t c l i p _ s c o r e f r o m f u n c t o o l s i m p o r t p a r t i a l c l i p _ s c o r e _ f n = p a r t i a l ( c l i p _ s c o r e , m o d e l _ n a m e _ o r _ p a t h = " o p e n a i / c l i p - v i t - b a s e - p a t c h 1 6 " ) d e f c a l c u l a t e _ c l i p _ s c o r e ( i m a g e s , p r o m p t s ) : i m a g e s _ i n t = ( i m a g e s * 2 5 5 ) . a s t y p e ( " u i n t 8 " ) c l i p _ s c o r e = c l i p _ s c o r e _ f n ( t o r c h . f r o m _ n u m p y ( i m a g e s _ i n t ) . p e r m u t e ( 0 , 3 , 1 , 2 ) , p r o m p t s ) . d e t a c h ( ) r e t u r n r o u n d ( f l o a t ( c l i p _ s c o r e ) , 4 ) s d _ c l i p _ s c o r e = c a l c u l a t e _ c l i p _ s c o r e ( i m a g e s , p r o m p t s ) p r i n t ( f " C L I P s c o r e : { s d _ c l i p _ s c o r e } " ) # C L I P s c o r e : 3 5 . 7 0 3 8 ` ` ` I n t h e a b o v e e x a m p l e , w e g e n e r a t e d o n e i m a g e p e r p r o m p t . I f w e g e n e r a t e d m u l t i p l e i m a g e s p e r p r o m p t , w e w o u l d h a v e t o t a k e t h e a v e r a g e s c o r e f r o m t h e g e n e r a t e d i m a g e s p e r p r o m p t . N o w , i f w e w a n t e d t o c o m p a r e t w o c h e c k p o i n t s c o m p a t i b l e w i t h t h e [ S t a b l e D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / t e x t 2 i m g # d i f f u s e r s . S t a b l e D i f f u s i o n P i p e l i n e ) w e s h o u l d p a s s a g e n e r a t o r w h i l e c a l l i n g t h e p i p e l i n e . F i r s t , w e g e n e r a t e i m a g e s w i t h a f i x e d s e e d w i t h t h e [ v 1 - 4 S t a b l e D i f f u s i o n c h e c k p o i n t ] ( h t t p s : / / h u g g i n g f a c e . c o / C o m p V i s / s t a b l e - d i f f u s i o n - v 1 - 4 ) : ` ` ` p y t h o n s e e d = 0 g e n e r a t o r = t o r c h . m a n u a l _ s e e d ( s e e d ) i m a g e s = s d _ p i p e l i n e ( p r o m p t s , n u m _ i m a g e s _ p e r _ p r o m p t = 1 , g e n e r a t o r = g e n e r a t o r , o u t p u t _ t y p e = " n p " ) . i m a g e s ` ` ` T h e n w e l o a d t h e [ v 1 - 5 c h e c k p o i n t ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ) t o g e n e r a t e i m a g e s : ` ` ` p y t h o n m o d e l _ c k p t _ 1 _ 5 = " s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 " s d _ p i p e l i n e _ 1 _ 5 = S t a b l e D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ( m o d e l _ c k p t _ 1 _ 5 , t o r c h _ d t y p e = w e i g h t _ d t y p e ) . t o ( d e v i c e ) i m a g e s _ 1 _ 5 = s d _ p i p e l i n e _ 1 _ 5 ( p r o m p t s , n u m _ i m a g e s _ p e r _ p r o m p t = 1 , g e n e r a t o r = g e n e r a t o r , o u t p u t _ t y p e = " n p " ) . i m a g e s ` ` ` A n d f i n a l l y , w e c o m p a r e t h e i r C L I P s c o r e s : ` ` ` p y t h o n s d _ c l i p _ s c o r e _ 1 _ 4 = c a l c u l a t e _ c l i p _ s c o r e ( i m a g e s , p r o m p t s ) p r i n t ( f " C L I P S c o r e w i t h v - 1 - 4 : { s d _ c l i p _ s c o r e _ 1 _ 4 } " ) # C L I P S c o r e w i t h v - 1 - 4 : 3 4 . 9 1 0 2 s d _ c l i p _ s c o r e _ 1 _ 5 = c a l c u l a t e _ c l i p _ s c o r e ( i m a g e s _ 1 _ 5 , p r o m p t s ) p r i n t ( f " C L I P S c o r e w i t h v - 1 - 5 : { s d _ c l i p _ s c o r e _ 1 _ 5 } " ) # C L I P S c o r e w i t h v - 1 - 5 : 3 6 . 2 1 3 7 ` ` ` I t s e e m s l i k e t h e [ v 1 - 5 ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 ) c h e c k p o i n t p e r f o r m s b e t t e r t h a n i t s p r e d e c e s s o r . N o t e , h o w e v e r , t h a t t h e n u m b e r o f p r o m p t s w e u s e d t o c o m p u t e t h e C L I P s c o r e s i s q u i t e l o w . F o r a m o r e p r a c t i c a l e v a l u a t i o n , t h i s n u m b e r s h o u l d b e w a y h i g h e r , a n d t h e p r o m p t s s h o u l d b e d i v e r s e . < T i p w a r n i n g = { t r u e } > B y c o n s t r u c t i o n , t h e r e a r e s o m e l i m i t a t i o n s i n t h i s s c o r e . T h e c a p t i o n s i n t h e t r a i n i n g d a t a s e t w e r e c r a w l e d f r o m t h e w e b a n d e x t r a c t e d f r o m ` a l t ` a n d s i m i l a r t a g s a s s o c i a t e d a n i m a g e o n t h e i n t e r n e t . T h e y a r e n o t n e c e s s a r i l y r e p r e s e n t a t i v e o f w h a t a h u m a n b e i n g w o u l d u s e t o d e s c r i b e a n i m a g e . H e n c e w e h a d t o " e n g i n e e r " s o m e p r o m p t s h e r e . < / T i p > # # # I m a g e - c o n d i t i o n e d t e x t - t o - i m a g e g e n e r a t i o n I n t h i s c a s e , w e c o n d i t i o n t h e g e n e r a t i o n p i p e l i n e w i t h a n i n p u t i m a g e a s w e l l a s a t e x t p r o m p t . L e t ' s t a k e t h e [ S t a b l e D i f f u s i o n I n s t r u c t P i x 2 P i x P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / p i x 2 p i x # d i f f u s e r s . S t a b l e D i f f u s i o n I n s t r u c t P i x 2 P i x P i p e l i n e ) , a s a n e x a m p l e . I t t a k e s a n e d i t i n s t r u c t i o n a s a n i n p u t p r o m p t a n d a n i n p u t i m a g e t o b e e d i t e d . H e r e i s o n e e x a m p l e : ! [ e d i t - i n s t r u c t i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / e v a l u a t i o n _ d i f f u s i o n _ m o d e l s / e d i t - i n s t r u c t i o n . p n g ) O n e s t r a t e g y t o e v a l u a t e s u c h a m o d e l i s t o m e a s u r e t h e c o n s i s t e n c y o f t h e c h a n g e b e t w e e n t h e t w o i m a g e s ( i n [ C L I P ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m o d e l _ d o c / c l i p ) s p a c e ) w i t h t h e c h a n g e b e t w e e n t h e t w o i m a g e c a p t i o n s ( a s s h o w n i n [ C L I P - G u i d e d D o m a i n A d a p t a t i o n o f I m a g e G e n e r a t o r s ] ( h t t p s : / / a r x i v . o r g / a b s / 2 1 0 8 . 0 0 9 4 6 ) ) . T h i s i s r e f e r r e d t o a s t h e " * * C L I P d i r e c t i o n a l s i m i l a r i t y * * " . - C a p t i o n 1 c o r r e s p o n d s t o t h e i n p u t i m a g e ( i m a g e 1 ) t h a t i s t o b e e d i t e d . - C a p t i o n 2 c o r r e s p o n d s t o t h e e d i t e d i m a g e ( i m a g e 2 ) . I t s h o u l d r e f l e c t t h e e d i t i n s t r u c t i o n . F o l l o w i n g i s a p i c t o r i a l o v e r v i e w : ! [ e d i t - c o n s i s t e n c y ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / e v a l u a t i o n _ d i f f u s i o n _ m o d e l s / e d i t - c o n s i s t e n c y . p n g ) W e h a v e p r e p a r e d a m i n i d a t a s e t t o i m p l e m e n t t h i s m e t r i c . L e t ' s f i r s t l o a d t h e d a t a s e t . ` ` ` p y t h o n f r o m d a t a s e t s i m p o r t l o a d _ d a t a s e t d a t a s e t = l o a d _ d a t a s e t ( " s a y a k p a u l / i n s t r u c t p i x 2 p i x - d e m o " , s p l i t = " t r a i n " ) d a t a s e t . f e a t u r e s ` ` ` ` ` ` b a s h { ' i n p u t ' : V a l u e ( d t y p e = ' s t r i n g ' , i d = N o n e ) , ' e d i t ' : V a l u e ( d t y p e = ' s t r i n g ' , i d = N o n e ) , ' o u t p u t ' : V a l u e ( d t y p e = ' s t r i n g ' , i d = N o n e ) , ' i m a g e ' : I m a g e ( d e c o d e = T r u e , i d = N o n e ) } ` ` ` H e r e w e h a v e : - ` i n p u t ` i s a c a p t i o n c o r r e s p o n d i n g t o t h e ` i m a g e ` . - ` e d i t ` d e n o t e s t h e e d i t i n s t r u c t i o n . - ` o u t p u t ` d e n o t e s t h e m o d i f i e d c a p t i o n r e f l e c t i n g t h e ` e d i t ` i n s t r u c t i o n . L e t ' s t a k e a l o o k a t a s a m p l e . ` ` ` p y t h o n i d x = 0 p r i n t ( f " O r i g i n a l c a p t i o n : { d a t a s e t [ i d x ] [ ' i n p u t ' ] } " ) p r i n t ( f " E d i t i n s t r u c t i o n : { d a t a s e t [ i d x ] [ ' e d i t ' ] } " ) p r i n t ( f " M o d i f i e d c a p t i o n : { d a t a s e t [ i d x ] [ ' o u t p u t ' ] } " ) ` ` ` ` ` ` b a s h O r i g i n a l c a p t i o n : 2 . F A R O E I S L A N D S : A n a r c h i p e l a g o o f 1 8 m o u n t a i n o u s i s l e s i n t h e N o r t h A t l a n t i c O c e a n b e t w e e n N o r w a y a n d I c e l a n d , t h e F a r o e I s l a n d s h a s ' e v e r y t h i n g y o u c o u l d h o p e f o r ' , a c c o r d i n g t o B i g 7 T r a v e l . I t b o a s t s ' c r y s t a l c l e a r w a t e r f a l l s , r o c k y c l i f f s t h a t s e e m t o j u t o u t o f n o w h e r e a n d v e l v e t y g r e e n h i l l s ' E d i t i n s t r u c t i o n : m a k e t h e i s l e s a l l w h i t e m a r b l e M o d i f i e d c a p t i o n : 2 . W H I T E M A R B L E I S L A N D S : A n a r c h i p e l a g o o f 1 8 m o u n t a i n o u s w h i t e m a r b l e i s l e s i n t h e N o r t h A t l a n t i c O c e a n b e t w e e n N o r w a y a n d I c e l a n d , t h e W h i t e M a r b l e I s l a n d s h a s ' e v e r y t h i n g y o u c o u l d h o p e f o r ' , a c c o r d i n g t o B i g 7 T r a v e l . I t b o a s t s ' c r y s t a l c l e a r w a t e r f a l l s , r o c k y c l i f f s t h a t s e e m t o j u t o u t o f n o w h e r e a n d v e l v e t y g r e e n h i l l s ' ` ` ` A n d h e r e i s t h e i m a g e : ` ` ` p y t h o n d a t a s e t [ i d x ] [ " i m a g e " ] ` ` ` ! [ e d i t - d a t a s e t ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / e v a l u a t i o n _ d i f f u s i o n _ m o d e l s / e d i t - d a t a s e t . p n g ) W e w i l l f i r s t e d i t t h e i m a g e s o f o u r d a t a s e t w i t h t h e e d i t i n s t r u c t i o n a n d c o m p u t e t h e d i r e c t i o n a l s i m i l a r i t y . L e t ' s f i r s t l o a d t h e [ S t a b l e D i f f u s i o n I n s t r u c t P i x 2 P i x P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / p i x 2 p i x # d i f f u s e r s . S t a b l e D i f f u s i o n I n s t r u c t P i x 2 P i x P i p e l i n e ) : ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t S t a b l e D i f f u s i o n I n s t r u c t P i x 2 P i x P i p e l i n e i n s t r u c t _ p i x 2 p i x _ p i p e l i n e = S t a b l e D i f f u s i o n I n s t r u c t P i x 2 P i x P i p e l i n e . f r o m _ p r e t r a i n e d ( " t i m b r o o k s / i n s t r u c t - p i x 2 p i x " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) . t o ( d e v i c e ) ` ` ` N o w , w e p e r f o r m t h e e d i t s : ` ` ` p y t h o n i m p o r t n u m p y a s n p d e f e d i t _ i m a g e ( i n p u t _ i m a g e , i n s t r u c t i o n ) : i m a g e = i n s t r u c t _ p i x 2 p i x _ p i p e l i n e ( i n s t r u c t i o n , i m a g e = i n p u t _ i m a g e , o u t p u t _ t y p e = " n p " , g e n e r a t o r = g e n e r a t o r , ) . i m a g e s [ 0 ] r e t u r n i m a g e i n p u t _ i m a g e s = [ ] o r i g i n a l _ c a p t i o n s = [ ] m o d i f i e d _ c a p t i o n s = [ ] e d i t e d _ i m a g e s = [ ] f o r i d x i n r a n g e ( l e n ( d a t a s e t ) ) : i n p u t _ i m a g e = d a t a s e t [ i d x ] [ " i m a g e " ] e d i t _ i n s t r u c t i o n = d a t a s e t [ i d x ] [ " e d i t " ] e d i t e d _ i m a g e = e d i t _ i m a g e ( i n p u t _ i m a g e , e d i t _ i n s t r u c t i o n ) i n p u t _ i m a g e s . a p p e n d ( n p . a r r a y ( i n p u t _ i m a g e ) ) o r i g i n a l _ c a p t i o n s . a p p e n d ( d a t a s e t [ i d x ] [ " i n p u t " ] ) m o d i f i e d _ c a p t i o n s . a p p e n d ( d a t a s e t [ i d x ] [ " o u t p u t " ] ) e d i t e d _ i m a g e s . a p p e n d ( e d i t e d _ i m a g e ) ` ` ` T o m e a s u r e t h e d i r e c t i o n a l s i m i l a r i t y , w e f i r s t l o a d C L I P ' s i m a g e a n d t e x t e n c o d e r s : ` ` ` p y t h o n f r o m t r a n s f o r m e r s i m p o r t ( C L I P T o k e n i z e r , C L I P T e x t M o d e l W i t h P r o j e c t i o n , C L I P V i s i o n M o d e l W i t h P r o j e c t i o n , C L I P I m a g e P r o c e s s o r , ) c l i p _ i d = " o p e n a i / c l i p - v i t - l a r g e - p a t c h 1 4 " t o k e n i z e r = C L I P T o k e n i z e r . f r o m _ p r e t r a i n e d ( c l i p _ i d ) t e x t _ e n c o d e r = C L I P T e x t M o d e l W i t h P r o j e c t i o n . f r o m _ p r e t r a i n e d ( c l i p _ i d ) . t o ( d e v i c e ) i m a g e _ p r o c e s s o r = C L I P I m a g e P r o c e s s o r . f r o m _ p r e t r a i n e d ( c l i p _ i d ) i m a g e _ e n c o d e r = C L I P V i s i o n M o d e l W i t h P r o j e c t i o n . f r o m _ p r e t r a i n e d ( c l i p _ i d ) . t o ( d e v i c e ) ` ` ` N o t i c e t h a t w e a r e u s i n g a p a r t i c u l a r C L I P c h e c k p o i n t , i . e . , ย  ` o p e n a i / c l i p - v i t - l a r g e - p a t c h 1 4 ` . T h i s i s b e c a u s e t h e S t a b l e D i f f u s i o n p r e - t r a i n i n g w a s p e r f o r m e d w i t h t h i s C L I P v a r i a n t . F o r m o r e d e t a i l s , r e f e r t o t h e ย  [ d o c u m e n t a t i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / t r a n s f o r m e r s / m o d e l _ d o c / c l i p ) . N e x t , w e p r e p a r e a P y T o r c h ย  ` n n . M o d u l e ` ย  t o c o m p u t e d i r e c t i o n a l s i m i l a r i t y : ` ` ` p y t h o n i m p o r t t o r c h . n n a s n n i m p o r t t o r c h . n n . f u n c t i o n a l a s F c l a s s D i r e c t i o n a l S i m i l a r i t y ( n n . M o d u l e ) : d e f _ _ i n i t _ _ ( s e l f , t o k e n i z e r , t e x t _ e n c o d e r , i m a g e _ p r o c e s s o r , i m a g e _ e n c o d e r ) : s u p e r ( ) . _ _ i n i t _ _ ( ) s e l f . t o k e n i z e r = t o k e n i z e r s e l f . t e x t _ e n c o d e r = t e x t _ e n c o d e r s e l f . i m a g e _ p r o c e s s o r = i m a g e _ p r o c e s s o r s e l f . i m a g e _ e n c o d e r = i m a g e _ e n c o d e r d e f p r e p r o c e s s _ i m a g e ( s e l f , i m a g e ) : i m a g e = s e l f . i m a g e _ p r o c e s s o r ( i m a g e , r e t u r n _ t e n s o r s = " p t " ) [ " p i x e l _ v a l u e s " ] r e t u r n { " p i x e l _ v a l u e s " : i m a g e . t o ( d e v i c e ) } d e f t o k e n i z e _ t e x t ( s e l f , t e x t ) : i n p u t s = s e l f . t o k e n i z e r ( t e x t , m a x _ l e n g t h = s e l f . t o k e n i z e r . m o d e l _ m a x _ l e n g t h , p a d d i n g = " m a x _ l e n g t h " , t r u n c a t i o n = T r u e , r e t u r n _ t e n s o r s = " p t " , ) r e t u r n { " i n p u t _ i d s " : i n p u t s . i n p u t _ i d s . t o ( d e v i c e ) } d e f e n c o d e _ i m a g e ( s e l f , i m a g e ) : p r e p r o c e s s e d _ i m a g e = s e l f . p r e p r o c e s s _ i m a g e ( i m a g e ) i m a g e _ f e a t u r e s = s e l f . i m a g e _ e n c o d e r ( * * p r e p r o c e s s e d _ i m a g e ) . i m a g e _ e m b e d s i m a g e _ f e a t u r e s = i m a g e _ f e a t u r e s / i m a g e _ f e a t u r e s . n o r m ( d i m = 1 , k e e p d i m = T r u e ) r e t u r n i m a g e _ f e a t u r e s d e f e n c o d e _ t e x t ( s e l f , t e x t ) : t o k e n i z e d _ t e x t = s e l f . t o k e n i z e _ t e x t ( t e x t ) t e x t _ f e a t u r e s = s e l f . t e x t _ e n c o d e r ( * * t o k e n i z e d _ t e x t ) . t e x t _ e m b e d s t e x t _ f e a t u r e s = t e x t _ f e a t u r e s / t e x t _ f e a t u r e s . n o r m ( d i m = 1 , k e e p d i m = T r u e ) r e t u r n t e x t _ f e a t u r e s d e f c o m p u t e _ d i r e c t i o n a l _ s i m i l a r i t y ( s e l f , i m g _ f e a t _ o n e , i m g _ f e a t _ t w o , t e x t _ f e a t _ o n e , t e x t _ f e a t _ t w o ) : s i m _ d i r e c t i o n = F . c o s i n e _ s i m i l a r i t y ( i m g _ f e a t _ t w o - i m g _ f e a t _ o n e , t e x t _ f e a t _ t w o - t e x t _ f e a t _ o n e ) r e t u r n s i m _ d i r e c t i o n d e f f o r w a r d ( s e l f , i m a g e _ o n e , i m a g e _ t w o , c a p t i o n _ o n e , c a p t i o n _ t w o ) : i m g _ f e a t _ o n e = s e l f . e n c o d e _ i m a g e ( i m a g e _ o n e ) i m g _ f e a t _ t w o = s e l f . e n c o d e _ i m a g e ( i m a g e _ t w o ) t e x t _ f e a t _ o n e = s e l f . e n c o d e _ t e x t ( c a p t i o n _ o n e ) t e x t _ f e a t _ t w o = s e l f . e n c o d e _ t e x t ( c a p t i o n _ t w o ) d i r e c t i o n a l _ s i m i l a r i t y = s e l f . c o m p u t e _ d i r e c t i o n a l _ s i m i l a r i t y ( i m g _ f e a t _ o n e , i m g _ f e a t _ t w o , t e x t _ f e a t _ o n e , t e x t _ f e a t _ t w o ) r e t u r n d i r e c t i o n a l _ s i m i l a r i t y ` ` ` L e t ' s p u t ย  ` D i r e c t i o n a l S i m i l a r i t y ` ย  t o u s e n o w . ` ` ` p y t h o n d i r _ s i m i l a r i t y = D i r e c t i o n a l S i m i l a r i t y ( t o k e n i z e r , t e x t _ e n c o d e r , i m a g e _ p r o c e s s o r , i m a g e _ e n c o d e r ) s c o r e s = [ ] f o r i i n r a n g e ( l e n ( i n p u t _ i m a g e s ) ) : o r i g i n a l _ i m a g e = i n p u t _ i m a g e s [ i ] o r i g i n a l _ c a p t i o n = o r i g i n a l _ c a p t i o n s [ i ] e d i t e d _ i m a g e = e d i t e d _ i m a g e s [ i ] m o d i f i e d _ c a p t i o n = m o d i f i e d _ c a p t i o n s [ i ] s i m i l a r i t y _ s c o r e = d i r _ s i m i l a r i t y ( o r i g i n a l _ i m a g e , e d i t e d _ i m a g e , o r i g i n a l _ c a p t i o n , m o d i f i e d _ c a p t i o n ) s c o r e s . a p p e n d ( f l o a t ( s i m i l a r i t y _ s c o r e . d e t a c h ( ) . c p u ( ) ) ) p r i n t ( f " C L I P d i r e c t i o n a l s i m i l a r i t y : { n p . m e a n ( s c o r e s ) } " ) # C L I P d i r e c t i o n a l s i m i l a r i t y : 0 . 0 7 9 7 9 7 6 5 5 3 4 4 0 0 9 4 ` ` ` L i k e t h e C L I P S c o r e , t h e h i g h e r t h e C L I P d i r e c t i o n a l s i m i l a r i t y , t h e b e t t e r i t i s . I t s h o u l d b e n o t e d t h a t t h e ย  ` S t a b l e D i f f u s i o n I n s t r u c t P i x 2 P i x P i p e l i n e ` ย  e x p o s e s t w o a r g u m e n t s , n a m e l y , ย  ` i m a g e _ g u i d a n c e _ s c a l e ` ย  a n d ย  ` g u i d a n c e _ s c a l e ` ย  t h a t l e t y o u c o n t r o l t h e q u a l i t y o f t h e f i n a l e d i t e d i m a g e . W e e n c o u r a g e y o u t o e x p e r i m e n t w i t h t h e s e t w o a r g u m e n t s a n d s e e t h e i m p a c t o f t h a t o n t h e d i r e c t i o n a l s i m i l a r i t y . W e c a n e x t e n d t h e i d e a o f t h i s m e t r i c t o m e a s u r e h o w s i m i l a r t h e o r i g i n a l i m a g e a n d e d i t e d v e r s i o n a r e . T o d o t h a t , w e c a n j u s t d o ย  ` F . c o s i n e _ s i m i l a r i t y ( i m g _ f e a t _ t w o , i m g _ f e a t _ o n e ) ` . F o r t h e s e k i n d s o f e d i t s , w e w o u l d s t i l l w a n t t h e p r i m a r y s e m a n t i c s o f t h e i m a g e s t o b e p r e s e r v e d a s m u c h a s p o s s i b l e , i . e . , a h i g h s i m i l a r i t y s c o r e . W e c a n u s e t h e s e m e t r i c s f o r s i m i l a r p i p e l i n e s s u c h a s t h e [ ` S t a b l e D i f f u s i o n P i x 2 P i x Z e r o P i p e l i n e ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / p i x 2 p i x _ z e r o # d i f f u s e r s . S t a b l e D i f f u s i o n P i x 2 P i x Z e r o P i p e l i n e ) . < T i p > B o t h C L I P s c o r e a n d C L I P d i r e c t i o n s i m i l a r i t y r e l y o n t h e C L I P m o d e l , w h i c h c a n m a k e t h e e v a l u a t i o n s b i a s e d . < / T i p > * * * E x t e n d i n g m e t r i c s l i k e I S , F I D ( d i s c u s s e d l a t e r ) , o r K I D c a n b e d i f f i c u l t * * * w h e n t h e m o d e l u n d e r e v a l u a t i o n w a s p r e - t r a i n e d o n a l a r g e i m a g e - c a p t i o n i n g d a t a s e t ( s u c h a s t h e [ L A I O N - 5 B d a t a s e t ] ( h t t p s : / / l a i o n . a i / b l o g / l a i o n - 5 b / ) ) . T h i s i s b e c a u s e u n d e r l y i n g t h e s e m e t r i c s i s a n I n c e p t i o n N e t ( p r e - t r a i n e d o n t h e I m a g e N e t - 1 k d a t a s e t ) u s e d f o r e x t r a c t i n g i n t e r m e d i a t e i m a g e f e a t u r e s . T h e p r e - t r a i n i n g d a t a s e t o f S t a b l e D i f f u s i o n m a y h a v e l i m i t e d o v e r l a p w i t h t h e p r e - t r a i n i n g d a t a s e t o f I n c e p t i o n N e t , s o i t i s n o t a g o o d c a n d i d a t e h e r e f o r f e a t u r e e x t r a c t i o n . * * * U s i n g t h e a b o v e m e t r i c s h e l p s e v a l u a t e m o d e l s t h a t a r e c l a s s - c o n d i t i o n e d . F o r e x a m p l e , [ D i T ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / d i t ) . I t w a s p r e - t r a i n e d b e i n g c o n d i t i o n e d o n t h e I m a g e N e t - 1 k c l a s s e s . * * * # # # C l a s s - c o n d i t i o n e d i m a g e g e n e r a t i o n C l a s s - c o n d i t i o n e d g e n e r a t i v e m o d e l s a r e u s u a l l y p r e - t r a i n e d o n a c l a s s - l a b e l e d d a t a s e t s u c h a s [ I m a g e N e t - 1 k ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / i m a g e n e t - 1 k ) . P o p u l a r m e t r i c s f o r e v a l u a t i n g t h e s e m o d e l s i n c l u d e F r รฉ c h e t I n c e p t i o n D i s t a n c e ( F I D ) , K e r n e l I n c e p t i o n D i s t a n c e ( K I D ) , a n d I n c e p t i o n S c o r e ( I S ) . I n t h i s d o c u m e n t , w e f o c u s o n F I D ( [ H e u s e l e t a l . ] ( h t t p s : / / a r x i v . o r g / a b s / 1 7 0 6 . 0 8 5 0 0 ) ) . W e s h o w h o w t o c o m p u t e i t w i t h t h e [ ` D i T P i p e l i n e ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / a p i / p i p e l i n e s / d i t ) , w h i c h u s e s t h e [ D i T m o d e l ] ( h t t p s : / / a r x i v . o r g / a b s / 2 2 1 2 . 0 9 7 4 8 ) u n d e r t h e h o o d . F I D a i m s t o m e a s u r e h o w s i m i l a r a r e t w o d a t a s e t s o f i m a g e s . A s p e r [ t h i s r e s o u r c e ] ( h t t p s : / / m m g e n e r a t i o n . r e a d t h e d o c s . i o / e n / l a t e s t / q u i c k _ r u n . h t m l # f i d ) : > F r รฉ c h e t I n c e p t i o n D i s t a n c e i s a m e a s u r e o f s i m i l a r i t y b e t w e e n t w o d a t a s e t s o f i m a g e s . I t w a s s h o w n t o c o r r e l a t e w e l l w i t h t h e h u m a n j u d g m e n t o f v i s u a l q u a l i t y a n d i s m o s t o f t e n u s e d t o e v a l u a t e t h e q u a l i t y o f s a m p l e s o f G e n e r a t i v e A d v e r s a r i a l N e t w o r k s . F I D i s c a l c u l a t e d b y c o m p u t i n g t h e F r รฉ c h e t d i s t a n c e b e t w e e n t w o G a u s s i a n s f i t t e d t o f e a t u r e r e p r e s e n t a t i o n s o f t h e I n c e p t i o n n e t w o r k . T h e s e t w o d a t a s e t s a r e e s s e n t i a l l y t h e d a t a s e t o f r e a l i m a g e s a n d t h e d a t a s e t o f f a k e i m a g e s ( g e n e r a t e d i m a g e s i n o u r c a s e ) . F I D i s u s u a l l y c a l c u l a t e d w i t h t w o l a r g e d a t a s e t s . H o w e v e r , f o r t h i s d o c u m e n t , w e w i l l w o r k w i t h t w o m i n i d a t a s e t s . L e t ' s f i r s t d o w n l o a d a f e w i m a g e s f r o m t h e I m a g e N e t - 1 k t r a i n i n g s e t : ` ` ` p y t h o n f r o m z i p f i l e i m p o r t Z i p F i l e i m p o r t r e q u e s t s d e f d o w n l o a d ( u r l , l o c a l _ f i l e p a t h ) : r = r e q u e s t s . g e t ( u r l ) w i t h o p e n ( l o c a l _ f i l e p a t h , " w b " ) a s f : f . w r i t e ( r . c o n t e n t ) r e t u r n l o c a l _ f i l e p a t h d u m m y _ d a t a s e t _ u r l = " h t t p s : / / h f . c o / d a t a s e t s / s a y a k p a u l / s a m p l e - d a t a s e t s / r e s o l v e / m a i n / s a m p l e - i m a g e n e t - i m a g e s . z i p " l o c a l _ f i l e p a t h = d o w n l o a d ( d u m m y _ d a t a s e t _ u r l , d u m m y _ d a t a s e t _ u r l . s p l i t ( " / " ) [ - 1 ] ) w i t h Z i p F i l e ( l o c a l _ f i l e p a t h , " r " ) a s z i p p e r : z i p p e r . e x t r a c t a l l ( " . " ) ` ` ` ` ` ` p y t h o n f r o m P I L i m p o r t I m a g e i m p o r t o s d a t a s e t _ p a t h = " s a m p l e - i m a g e n e t - i m a g e s " i m a g e _ p a t h s = s o r t e d ( [ o s . p a t h . j o i n ( d a t a s e t _ p a t h , x ) f o r x i n o s . l i s t d i r ( d a t a s e t _ p a t h ) ] ) r e a l _ i m a g e s = [ n p . a r r a y ( I m a g e . o p e n ( p a t h ) . c o n v e r t ( " R G B " ) ) f o r p a t h i n i m a g e _ p a t h s ] ` ` ` T h e s e a r e 1 0 i m a g e s f r o m t h e f o l l o w i n g I m a g e N e t - 1 k c l a s s e s : " c a s s e t t e _ p l a y e r " , " c h a i n _ s a w " ( x 2 ) , " c h u r c h " , " g a s _ p u m p " ( x 3 ) , " p a r a c h u t e " ( x 2 ) , a n d " t e n c h " . < p a l i g n = " c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / e v a l u a t i o n _ d i f f u s i o n _ m o d e l s / r e a l - i m a g e s . p n g " a l t = " r e a l - i m a g e s " > < b r > < e m > R e a l i m a g e s . < / e m > < / p > N o w t h a t t h e i m a g e s a r e l o a d e d , l e t ' s a p p l y s o m e l i g h t w e i g h t p r e - p r o c e s s i n g o n t h e m t o u s e t h e m f o r F I D c a l c u l a t i o n . ` ` ` p y t h o n f r o m t o r c h v i s i o n . t r a n s f o r m s i m p o r t f u n c t i o n a l a s F d e f p r e p r o c e s s _ i m a g e ( i m a g e ) : i m a g e = t o r c h . t e n s o r ( i m a g e ) . u n s q u e e z e ( 0 ) i m a g e = i m a g e . p e r m u t e ( 0 , 3 , 1 , 2 ) / 2 5 5 . 0 r e t u r n F . c e n t e r _ c r o p ( i m a g e , ( 2 5 6 , 2 5 6 ) ) r e a l _ i m a g e s = t o r c h . c a t ( [ p r e p r o c e s s _ i m a g e ( i m a g e ) f o r i m a g e i n r e a l _ i m a g e s ] ) p r i n t ( r e a l _ i m a g e s . s h a p e ) # t o r c h . S i z e ( [ 1 0 , 3 , 2 5 6 , 2 5 6 ] ) ` ` ` W e n o w l o a d t h e ย  [ ` D i T P i p e l i n e ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / a p i / p i p e l i n e s / d i t ) t o g e n e r a t e i m a g e s c o n d i t i o n e d o n t h e a b o v e - m e n t i o n e d c l a s s e s . ` ` ` p y t h o n f r o m d i f f u s e r s i m p o r t D i T P i p e l i n e , D P M S o l v e r M u l t i s t e p S c h e d u l e r d i t _ p i p e l i n e = D i T P i p e l i n e . f r o m _ p r e t r a i n e d ( " f a c e b o o k / D i T - X L - 2 - 2 5 6 " , t o r c h _ d t y p e = t o r c h . f l o a t 1 6 ) d i t _ p i p e l i n e . s c h e d u l e r = D P M S o l v e r M u l t i s t e p S c h e d u l e r . f r o m _ c o n f i g ( d i t _ p i p e l i n e . s c h e d u l e r . c o n f i g ) d i t _ p i p e l i n e = d i t _ p i p e l i n e . t o ( " c u d a " ) w o r d s = [ " c a s s e t t e p l a y e r " , " c h a i n s a w " , " c h a i n s a w " , " c h u r c h " , " g a s p u m p " , " g a s p u m p " , " g a s p u m p " , " p a r a c h u t e " , " p a r a c h u t e " , " t e n c h " , ] c l a s s _ i d s = d i t _ p i p e l i n e . g e t _ l a b e l _ i d s ( w o r d s ) o u t p u t = d i t _ p i p e l i n e ( c l a s s _ l a b e l s = c l a s s _ i d s , g e n e r a t o r = g e n e r a t o r , o u t p u t _ t y p e = " n p " ) f a k e _ i m a g e s = o u t p u t . i m a g e s f a k e _ i m a g e s = t o r c h . t e n s o r ( f a k e _ i m a g e s ) f a k e _ i m a g e s = f a k e _ i m a g e s . p e r m u t e ( 0 , 3 , 1 , 2 ) p r i n t ( f a k e _ i m a g e s . s h a p e ) # t o r c h . S i z e ( [ 1 0 , 3 , 2 5 6 , 2 5 6 ] ) ` ` ` N o w , w e c a n c o m p u t e t h e F I D u s i n g ย  [ ` t o r c h m e t r i c s ` ] ( h t t p s : / / t o r c h m e t r i c s . r e a d t h e d o c s . i o / ) . ` ` ` p y t h o n f r o m t o r c h m e t r i c s . i m a g e . f i d i m p o r t F r e c h e t I n c e p t i o n D i s t a n c e f i d = F r e c h e t I n c e p t i o n D i s t a n c e ( n o r m a l i z e = T r u e ) f i d . u p d a t e ( r e a l _ i m a g e s , r e a l = T r u e ) f i d . u p d a t e ( f a k e _ i m a g e s , r e a l = F a l s e ) p r i n t ( f " F I D : { f l o a t ( f i d . c o m p u t e ( ) ) } " ) # F I D : 1 7 7 . 7 1 4 7 2 1 6 7 9 6 8 7 5 ` ` ` T h e l o w e r t h e F I D , t h e b e t t e r i t i s . S e v e r a l t h i n g s c a n i n f l u e n c e F I D h e r e : - N u m b e r o f i m a g e s ( b o t h r e a l a n d f a k e ) - R a n d o m n e s s i n d u c e d i n t h e d i f f u s i o n p r o c e s s - N u m b e r o f i n f e r e n c e s t e p s i n t h e d i f f u s i o n p r o c e s s - T h e s c h e d u l e r b e i n g u s e d i n t h e d i f f u s i o n p r o c e s s F o r t h e l a s t t w o p o i n t s , i t i s , t h e r e f o r e , a g o o d p r a c t i c e t o r u n t h e e v a l u a t i o n a c r o s s d i f f e r e n t s e e d s a n d i n f e r e n c e s t e p s , a n d t h e n r e p o r t a n a v e r a g e r e s u l t . < T i p w a r n i n g = { t r u e } > F I D r e s u l t s t e n d t o b e f r a g i l e a s t h e y d e p e n d o n a l o t o f f a c t o r s : * T h e s p e c i f i c I n c e p t i o n m o d e l u s e d d u r i n g c o m p u t a t i o n . * T h e i m p l e m e n t a t i o n a c c u r a c y o f t h e c o m p u t a t i o n . * T h e i m a g e f o r m a t ( n o t t h e s a m e i f w e s t a r t f r o m P N G s v s J P G s ) . K e e p i n g t h a t i n m i n d , F I D i s o f t e n m o s t u s e f u l w h e n c o m p a r i n g s i m i l a r r u n s , b u t i t i s h a r d t o r e p r o d u c e p a p e r r e s u l t s u n l e s s t h e a u t h o r s c a r e f u l l y d i s c l o s e t h e F I D m e a s u r e m e n t c o d e . T h e s e p o i n t s a p p l y t o o t h e r r e l a t e d m e t r i c s t o o , s u c h a s K I D a n d I S . < / T i p > A s a f i n a l s t e p , l e t ' s v i s u a l l y i n s p e c t t h e ย  ` f a k e _ i m a g e s ` . < p a l i g n = " c e n t e r " > < i m g s r c = " h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / d i f f u s e r s / d o c s - i m a g e s / r e s o l v e / m a i n / e v a l u a t i o n _ d i f f u s i o n _ m o d e l s / f a k e - i m a g e s . p n g " a l t = " f a k e - i m a g e s " > < b r > < e m > F a k e i m a g e s . < / e m > < / p > # P h i l o s o p h y ๐Ÿงจ D i f f u s e r s p r o v i d e s * * s t a t e - o f - t h e - a r t * * p r e t r a i n e d d i f f u s i o n m o d e l s a c r o s s m u l t i p l e m o d a l i t i e s . I t s p u r p o s e i s t o s e r v e a s a * * m o d u l a r t o o l b o x * * f o r b o t h i n f e r e n c e a n d t r a i n i n g . W e a i m a t b u i l d i n g a l i b r a r y t h a t s t a n d s t h e t e s t o f t i m e a n d t h e r e f o r e t a k e A P I d e s i g n v e r y s e r i o u s l y . I n a n u t s h e l l , D i f f u s e r s i s b u i l t t o b e a n a t u r a l e x t e n s i o n o f P y T o r c h . T h e r e f o r e , m o s t o f o u r d e s i g n c h o i c e s a r e b a s e d o n [ P y T o r c h ' s D e s i g n P r i n c i p l e s ] ( h t t p s : / / p y t o r c h . o r g / d o c s / s t a b l e / c o m m u n i t y / d e s i g n . h t m l # p y t o r c h - d e s i g n - p h i l o s o p h y ) . L e t ' s g o o v e r t h e m o s t i m p o r t a n t o n e s : # # U s a b i l i t y o v e r P e r f o r m a n c e - W h i l e D i f f u s e r s h a s m a n y b u i l t - i n p e r f o r m a n c e - e n h a n c i n g f e a t u r e s ( s e e [ M e m o r y a n d S p e e d ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / o p t i m i z a t i o n / f p 1 6 ) ) , m o d e l s a r e a l w a y s l o a d e d w i t h t h e h i g h e s t p r e c i s i o n a n d l o w e s t o p t i m i z a t i o n . T h e r e f o r e , b y d e f a u l t d i f f u s i o n p i p e l i n e s a r e a l w a y s i n s t a n t i a t e d o n C P U w i t h f l o a t 3 2 p r e c i s i o n i f n o t o t h e r w i s e d e f i n e d b y t h e u s e r . T h i s e n s u r e s u s a b i l i t y a c r o s s d i f f e r e n t p l a t f o r m s a n d a c c e l e r a t o r s a n d m e a n s t h a t n o c o m p l e x i n s t a l l a t i o n s a r e r e q u i r e d t o r u n t h e l i b r a r y . - D i f f u s e r s a i m s t o b e a * * l i g h t - w e i g h t * * p a c k a g e a n d t h e r e f o r e h a s v e r y f e w r e q u i r e d d e p e n d e n c i e s , b u t m a n y s o f t d e p e n d e n c i e s t h a t c a n i m p r o v e p e r f o r m a n c e ( s u c h a s ` a c c e l e r a t e ` , ` s a f e t e n s o r s ` , ` o n n x ` , e t c . . . ) . W e s t r i v e t o k e e p t h e l i b r a r y a s l i g h t w e i g h t a s p o s s i b l e s o t h a t i t c a n b e a d d e d w i t h o u t m u c h c o n c e r n a s a d e p e n d e n c y o n o t h e r p a c k a g e s . - D i f f u s e r s p r e f e r s s i m p l e , s e l f - e x p l a i n a b l e c o d e o v e r c o n d e n s e d , m a g i c c o d e . T h i s m e a n s t h a t s h o r t - h a n d c o d e s y n t a x e s s u c h a s l a m b d a f u n c t i o n s , a n d a d v a n c e d P y T o r c h o p e r a t o r s a r e o f t e n n o t d e s i r e d . # # S i m p l e o v e r e a s y A s P y T o r c h s t a t e s , * * e x p l i c i t i s b e t t e r t h a n i m p l i c i t * * a n d * * s i m p l e i s b e t t e r t h a n c o m p l e x * * . T h i s d e s i g n p h i l o s o p h y i s r e f l e c t e d i n m u l t i p l e p a r t s o f t h e l i b r a r y : - W e f o l l o w P y T o r c h ' s A P I w i t h m e t h o d s l i k e [ ` D i f f u s i o n P i p e l i n e . t o ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / a p i / d i f f u s i o n _ p i p e l i n e # d i f f u s e r s . D i f f u s i o n P i p e l i n e . t o ) t o l e t t h e u s e r h a n d l e d e v i c e m a n a g e m e n t . - R a i s i n g c o n c i s e e r r o r m e s s a g e s i s p r e f e r r e d t o s i l e n t l y c o r r e c t e r r o n e o u s i n p u t . D i f f u s e r s a i m s a t t e a c h i n g t h e u s e r , r a t h e r t h a n m a k i n g t h e l i b r a r y a s e a s y t o u s e a s p o s s i b l e . - C o m p l e x m o d e l v s . s c h e d u l e r l o g i c i s e x p o s e d i n s t e a d o f m a g i c a l l y h a n d l e d i n s i d e . S c h e d u l e r s / S a m p l e r s a r e s e p a r a t e d f r o m d i f f u s i o n m o d e l s w i t h m i n i m a l d e p e n d e n c i e s o n e a c h o t h e r . T h i s f o r c e s t h e u s e r t o w r i t e t h e u n r o l l e d d e n o i s i n g l o o p . H o w e v e r , t h e s e p a r a t i o n a l l o w s f o r e a s i e r d e b u g g i n g a n d g i v e s t h e u s e r m o r e c o n t r o l o v e r a d a p t i n g t h e d e n o i s i n g p r o c e s s o r s w i t c h i n g o u t d i f f u s i o n m o d e l s o r s c h e d u l e r s . - S e p a r a t e l y t r a i n e d c o m p o n e n t s o f t h e d i f f u s i o n p i p e l i n e , * e . g . * t h e t e x t e n c o d e r , t h e u n e t , a n d t h e v a r i a t i o n a l a u t o e n c o d e r , e a c h h a v e t h e i r o w n m o d e l c l a s s . T h i s f o r c e s t h e u s e r t o h a n d l e t h e i n t e r a c t i o n b e t w e e n t h e d i f f e r e n t m o d e l c o m p o n e n t s , a n d t h e s e r i a l i z a t i o n f o r m a t s e p a r a t e s t h e m o d e l c o m p o n e n t s i n t o d i f f e r e n t f i l e s . H o w e v e r , t h i s a l l o w s f o r e a s i e r d e b u g g i n g a n d c u s t o m i z a t i o n . D r e a m B o o t h o r T e x t u a l I n v e r s i o n t r a i n i n g i s v e r y s i m p l e t h a n k s t o D i f f u s e r s ' a b i l i t y t o s e p a r a t e s i n g l e c o m p o n e n t s o f t h e d i f f u s i o n p i p e l i n e . # # T w e a k a b l e , c o n t r i b u t o r - f r i e n d l y o v e r a b s t r a c t i o n F o r l a r g e p a r t s o f t h e l i b r a r y , D i f f u s e r s a d o p t s a n i m p o r t a n t d e s i g n p r i n c i p l e o f t h e [ T r a n s f o r m e r s l i b r a r y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / t r a n s f o r m e r s ) , w h i c h i s t o p r e f e r c o p y - p a s t e d c o d e o v e r h a s t y a b s t r a c t i o n s . T h i s d e s i g n p r i n c i p l e i s v e r y o p i n i o n a t e d a n d s t a n d s i n s t a r k c o n t r a s t t o p o p u l a r d e s i g n p r i n c i p l e s s u c h a s [ D o n ' t r e p e a t y o u r s e l f ( D R Y ) ] ( h t t p s : / / e n . w i k i p e d i a . o r g / w i k i / D o n % 2 7 t _ r e p e a t _ y o u r s e l f ) . I n s h o r t , j u s t l i k e T r a n s f o r m e r s d o e s f o r m o d e l i n g f i l e s , D i f f u s e r s p r e f e r s t o k e e p a n e x t r e m e l y l o w l e v e l o f a b s t r a c t i o n a n d v e r y s e l f - c o n t a i n e d c o d e f o r p i p e l i n e s a n d s c h e d u l e r s . F u n c t i o n s , l o n g c o d e b l o c k s , a n d e v e n c l a s s e s c a n b e c o p i e d a c r o s s m u l t i p l e f i l e s w h i c h a t f i r s t c a n l o o k l i k e a b a d , s l o p p y d e s i g n c h o i c e t h a t m a k e s t h e l i b r a r y u n m a i n t a i n a b l e . * * H o w e v e r * * , t h i s d e s i g n h a s p r o v e n t o b e e x t r e m e l y s u c c e s s f u l f o r T r a n s f o r m e r s a n d m a k e s a l o t o f s e n s e f o r c o m m u n i t y - d r i v e n , o p e n - s o u r c e m a c h i n e l e a r n i n g l i b r a r i e s b e c a u s e : - M a c h i n e L e a r n i n g i s a n e x t r e m e l y f a s t - m o v i n g f i e l d i n w h i c h p a r a d i g m s , m o d e l a r c h i t e c t u r e s , a n d a l g o r i t h m s a r e c h a n g i n g r a p i d l y , w h i c h t h e r e f o r e m a k e s i t v e r y d i f f i c u l t t o d e f i n e l o n g - l a s t i n g c o d e a b s t r a c t i o n s . - M a c h i n e L e a r n i n g p r a c t i t i o n e r s l i k e t o b e a b l e t o q u i c k l y t w e a k e x i s t i n g c o d e f o r i d e a t i o n a n d r e s e a r c h a n d t h e r e f o r e p r e f e r s e l f - c o n t a i n e d c o d e o v e r o n e t h a t c o n t a i n s m a n y a b s t r a c t i o n s . - O p e n - s o u r c e l i b r a r i e s r e l y o n c o m m u n i t y c o n t r i b u t i o n s a n d t h e r e f o r e m u s t b u i l d a l i b r a r y t h a t i s e a s y t o c o n t r i b u t e t o . T h e m o r e a b s t r a c t t h e c o d e , t h e m o r e d e p e n d e n c i e s , t h e h a r d e r t o r e a d , a n d t h e h a r d e r t o c o n t r i b u t e t o . C o n t r i b u t o r s s i m p l y s t o p c o n t r i b u t i n g t o v e r y a b s t r a c t l i b r a r i e s o u t o f f e a r o f b r e a k i n g v i t a l f u n c t i o n a l i t y . I f c o n t r i b u t i n g t o a l i b r a r y c a n n o t b r e a k o t h e r f u n d a m e n t a l c o d e , n o t o n l y i s i t m o r e i n v i t i n g f o r p o t e n t i a l n e w c o n t r i b u t o r s , b u t i t i s a l s o e a s i e r t o r e v i e w a n d c o n t r i b u t e t o m u l t i p l e p a r t s i n p a r a l l e l . A t H u g g i n g F a c e , w e c a l l t h i s d e s i g n t h e * * s i n g l e - f i l e p o l i c y * * w h i c h m e a n s t h a t a l m o s t a l l o f t h e c o d e o f a c e r t a i n c l a s s s h o u l d b e w r i t t e n i n a s i n g l e , s e l f - c o n t a i n e d f i l e . T o r e a d m o r e a b o u t t h e p h i l o s o p h y , y o u c a n h a v e a l o o k a t [ t h i s b l o g p o s t ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / t r a n s f o r m e r s - d e s i g n - p h i l o s o p h y ) . I n D i f f u s e r s , w e f o l l o w t h i s p h i l o s o p h y f o r b o t h p i p e l i n e s a n d s c h e d u l e r s , b u t o n l y p a r t l y f o r d i f f u s i o n m o d e l s . T h e r e a s o n w e d o n ' t f o l l o w t h i s d e s i g n f u l l y f o r d i f f u s i o n m o d e l s i s b e c a u s e a l m o s t a l l d i f f u s i o n p i p e l i n e s , s u c h a s [ D D P M ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / a p i / p i p e l i n e s / d d p m ) , [ S t a b l e D i f f u s i o n ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / o v e r v i e w # s t a b l e - d i f f u s i o n - p i p e l i n e s ) , [ u n C L I P ( D A L L ยท E 2 ) ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / a p i / p i p e l i n e s / u n c l i p ) a n d [ I m a g e n ] ( h t t p s : / / i m a g e n . r e s e a r c h . g o o g l e / ) a l l r e l y o n t h e s a m e d i f f u s i o n m o d e l , t h e [ U N e t ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / a p i / m o d e l s / u n e t 2 d - c o n d ) . G r e a t , n o w y o u s h o u l d h a v e g e n e r a l l y u n d e r s t o o d w h y ๐Ÿงจ D i f f u s e r s i s d e s i g n e d t h e w a y i t i s ๐Ÿค— . W e t r y t o a p p l y t h e s e d e s i g n p r i n c i p l e s c o n s i s t e n t l y a c r o s s t h e l i b r a r y . N e v e r t h e l e s s , t h e r e a r e s o m e m i n o r e x c e p t i o n s t o t h e p h i l o s o p h y o r s o m e u n l u c k y d e s i g n c h o i c e s . I f y o u h a v e f e e d b a c k r e g a r d i n g t h e d e s i g n , w e w o u l d โค ๏ธ t o h e a r i t [ d i r e c t l y o n G i t H u b ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / n e w ? a s s i g n e e s = & l a b e l s = & t e m p l a t e = f e e d b a c k . m d & t i t l e = ) . # # D e s i g n P h i l o s o p h y i n D e t a i l s N o w , l e t ' s l o o k a b i t i n t o t h e n i t t y - g r i t t y d e t a i l s o f t h e d e s i g n p h i l o s o p h y . D i f f u s e r s e s s e n t i a l l y c o n s i s t s o f t h r e e m a j o r c l a s s e s : [ p i p e l i n e s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / s r c / d i f f u s e r s / p i p e l i n e s ) , [ m o d e l s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / s r c / d i f f u s e r s / m o d e l s ) , a n d [ s c h e d u l e r s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / s r c / d i f f u s e r s / s c h e d u l e r s ) . L e t ' s w a l k t h r o u g h m o r e i n - d e t a i l d e s i g n d e c i s i o n s f o r e a c h c l a s s . # # # P i p e l i n e s P i p e l i n e s a r e d e s i g n e d t o b e e a s y t o u s e ( t h e r e f o r e d o n o t f o l l o w [ * S i m p l e o v e r e a s y * ] ( # s i m p l e - o v e r - e a s y ) 1 0 0 % ) , a r e n o t f e a t u r e c o m p l e t e , a n d s h o u l d l o o s e l y b e s e e n a s e x a m p l e s o f h o w t o u s e [ m o d e l s ] ( # m o d e l s ) a n d [ s c h e d u l e r s ] ( # s c h e d u l e r s ) f o r i n f e r e n c e . T h e f o l l o w i n g d e s i g n p r i n c i p l e s a r e f o l l o w e d : - P i p e l i n e s f o l l o w t h e s i n g l e - f i l e p o l i c y . A l l p i p e l i n e s c a n b e f o u n d i n i n d i v i d u a l d i r e c t o r i e s u n d e r s r c / d i f f u s e r s / p i p e l i n e s . O n e p i p e l i n e f o l d e r c o r r e s p o n d s t o o n e d i f f u s i o n p a p e r / p r o j e c t / r e l e a s e . M u l t i p l e p i p e l i n e f i l e s c a n b e g a t h e r e d i n o n e p i p e l i n e f o l d e r , a s i t โ€™ s d o n e f o r [ ` s r c / d i f f u s e r s / p i p e l i n e s / s t a b l e - d i f f u s i o n ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / s t a b l e _ d i f f u s i o n ) . I f p i p e l i n e s s h a r e s i m i l a r f u n c t i o n a l i t y , o n e c a n m a k e u s e o f t h e [ # C o p i e d f r o m m e c h a n i s m ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 1 2 5 d 7 8 3 0 7 6 e 5 b d 9 7 8 5 b e b 0 5 3 6 7 a 2 d 2 5 6 6 8 4 3 a 2 7 1 / s r c / d i f f u s e r s / p i p e l i n e s / s t a b l e _ d i f f u s i o n / p i p e l i n e _ s t a b l e _ d i f f u s i o n _ i m g 2 i m g . p y # L 2 5 1 ) . - P i p e l i n e s a l l i n h e r i t f r o m [ D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e ) . - E v e r y p i p e l i n e c o n s i s t s o f d i f f e r e n t m o d e l a n d s c h e d u l e r c o m p o n e n t s , t h a t a r e d o c u m e n t e d i n t h e [ ` m o d e l _ i n d e x . j s o n ` f i l e ] ( h t t p s : / / h u g g i n g f a c e . c o / s t a b l e - d i f f u s i o n - v 1 - 5 / s t a b l e - d i f f u s i o n - v 1 - 5 / b l o b / m a i n / m o d e l _ i n d e x . j s o n ) , a r e a c c e s s i b l e u n d e r t h e s a m e n a m e a s a t t r i b u t e s o f t h e p i p e l i n e a n d c a n b e s h a r e d b e t w e e n p i p e l i n e s w i t h [ ` D i f f u s i o n P i p e l i n e . c o m p o n e n t s ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / a p i / d i f f u s i o n _ p i p e l i n e # d i f f u s e r s . D i f f u s i o n P i p e l i n e . c o m p o n e n t s ) f u n c t i o n . - E v e r y p i p e l i n e s h o u l d b e l o a d a b l e v i a t h e [ ` D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / a p i / d i f f u s i o n _ p i p e l i n e # d i f f u s e r s . D i f f u s i o n P i p e l i n e . f r o m _ p r e t r a i n e d ) f u n c t i o n . - P i p e l i n e s s h o u l d b e u s e d * * o n l y * * f o r i n f e r e n c e . - P i p e l i n e s s h o u l d b e v e r y r e a d a b l e , s e l f - e x p l a n a t o r y , a n d e a s y t o t w e a k . - P i p e l i n e s s h o u l d b e d e s i g n e d t o b u i l d o n t o p o f e a c h o t h e r a n d b e e a s y t o i n t e g r a t e i n t o h i g h e r - l e v e l A P I s . - P i p e l i n e s a r e * * n o t * * i n t e n d e d t o b e f e a t u r e - c o m p l e t e u s e r i n t e r f a c e s . F o r f e a t u r e - c o m p l e t e u s e r i n t e r f a c e s o n e s h o u l d r a t h e r h a v e a l o o k a t [ I n v o k e A I ] ( h t t p s : / / g i t h u b . c o m / i n v o k e - a i / I n v o k e A I ) , [ D i f f u z e r s ] ( h t t p s : / / g i t h u b . c o m / a b h i s h e k k r t h a k u r / d i f f u z e r s ) , a n d [ l a m a - c l e a n e r ] ( h t t p s : / / g i t h u b . c o m / S a n s t e r / l a m a - c l e a n e r ) . - E v e r y p i p e l i n e s h o u l d h a v e o n e a n d o n l y o n e w a y t o r u n i t v i a a ` _ _ c a l l _ _ ` m e t h o d . T h e n a m i n g o f t h e ` _ _ c a l l _ _ ` a r g u m e n t s s h o u l d b e s h a r e d a c r o s s a l l p i p e l i n e s . - P i p e l i n e s s h o u l d b e n a m e d a f t e r t h e t a s k t h e y a r e i n t e n d e d t o s o l v e . - I n a l m o s t a l l c a s e s , n o v e l d i f f u s i o n p i p e l i n e s s h a l l b e i m p l e m e n t e d i n a n e w p i p e l i n e f o l d e r / f i l e . # # # M o d e l s M o d e l s a r e d e s i g n e d a s c o n f i g u r a b l e t o o l b o x e s t h a t a r e n a t u r a l e x t e n s i o n s o f [ P y T o r c h ' s M o d u l e c l a s s ] ( h t t p s : / / p y t o r c h . o r g / d o c s / s t a b l e / g e n e r a t e d / t o r c h . n n . M o d u l e . h t m l ) . T h e y o n l y p a r t l y f o l l o w t h e * * s i n g l e - f i l e p o l i c y * * . T h e f o l l o w i n g d e s i g n p r i n c i p l e s a r e f o l l o w e d : - M o d e l s c o r r e s p o n d t o * * a t y p e o f m o d e l a r c h i t e c t u r e * * . * E . g . * t h e [ U N e t 2 D C o n d i t i o n M o d e l ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / m o d e l s / u n e t 2 d - c o n d # d i f f u s e r s . U N e t 2 D C o n d i t i o n M o d e l ) c l a s s i s u s e d f o r a l l U N e t v a r i a t i o n s t h a t e x p e c t 2 D i m a g e i n p u t s a n d a r e c o n d i t i o n e d o n s o m e c o n t e x t . - A l l m o d e l s c a n b e f o u n d i n [ ` s r c / d i f f u s e r s / m o d e l s ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / s r c / d i f f u s e r s / m o d e l s ) a n d e v e r y m o d e l a r c h i t e c t u r e s h a l l b e d e f i n e d i n i t s f i l e , e . g . [ ` u n e t s / u n e t _ 2 d _ c o n d i t i o n . p y ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / m o d e l s / u n e t s / u n e t _ 2 d _ c o n d i t i o n . p y ) , [ ` t r a n s f o r m e r s / t r a n s f o r m e r _ 2 d . p y ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / m o d e l s / t r a n s f o r m e r s / t r a n s f o r m e r _ 2 d . p y ) , e t c . . . - M o d e l s * * d o n o t * * f o l l o w t h e s i n g l e - f i l e p o l i c y a n d s h o u l d m a k e u s e o f s m a l l e r m o d e l b u i l d i n g b l o c k s , s u c h a s [ ` a t t e n t i o n . p y ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / m o d e l s / a t t e n t i o n . p y ) , [ ` r e s n e t . p y ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / m o d e l s / r e s n e t . p y ) , [ ` e m b e d d i n g s . p y ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / m o d e l s / e m b e d d i n g s . p y ) , e t c . . . * * N o t e * * : T h i s i s i n s t a r k c o n t r a s t t o T r a n s f o r m e r s ' m o d e l i n g f i l e s a n d s h o w s t h a t m o d e l s d o n o t r e a l l y f o l l o w t h e s i n g l e - f i l e p o l i c y . - M o d e l s i n t e n d t o e x p o s e c o m p l e x i t y , j u s t l i k e P y T o r c h ' s ` M o d u l e ` c l a s s , a n d g i v e c l e a r e r r o r m e s s a g e s . - M o d e l s a l l i n h e r i t f r o m ` M o d e l M i x i n ` a n d ` C o n f i g M i x i n ` . - M o d e l s c a n b e o p t i m i z e d f o r p e r f o r m a n c e w h e n i t d o e s n โ€™ t d e m a n d m a j o r c o d e c h a n g e s , k e e p s b a c k w a r d c o m p a t i b i l i t y , a n d g i v e s s i g n i f i c a n t m e m o r y o r c o m p u t e g a i n . - M o d e l s s h o u l d b y d e f a u l t h a v e t h e h i g h e s t p r e c i s i o n a n d l o w e s t p e r f o r m a n c e s e t t i n g . - T o i n t e g r a t e n e w m o d e l c h e c k p o i n t s w h o s e g e n e r a l a r c h i t e c t u r e c a n b e c l a s s i f i e d a s a n a r c h i t e c t u r e t h a t a l r e a d y e x i s t s i n D i f f u s e r s , t h e e x i s t i n g m o d e l a r c h i t e c t u r e s h a l l b e a d a p t e d t o m a k e i t w o r k w i t h t h e n e w c h e c k p o i n t . O n e s h o u l d o n l y c r e a t e a n e w f i l e i f t h e m o d e l a r c h i t e c t u r e i s f u n d a m e n t a l l y d i f f e r e n t . - M o d e l s s h o u l d b e d e s i g n e d t o b e e a s i l y e x t e n d a b l e t o f u t u r e c h a n g e s . T h i s c a n b e a c h i e v e d b y l i m i t i n g p u b l i c f u n c t i o n a r g u m e n t s , c o n f i g u r a t i o n a r g u m e n t s , a n d " f o r e s e e i n g " f u t u r e c h a n g e s , * e . g . * i t i s u s u a l l y b e t t e r t o a d d ` s t r i n g ` " . . . t y p e " a r g u m e n t s t h a t c a n e a s i l y b e e x t e n d e d t o n e w f u t u r e t y p e s i n s t e a d o f b o o l e a n ` i s _ . . . _ t y p e ` a r g u m e n t s . O n l y t h e m i n i m u m a m o u n t o f c h a n g e s s h a l l b e m a d e t o e x i s t i n g a r c h i t e c t u r e s t o m a k e a n e w m o d e l c h e c k p o i n t w o r k . - T h e m o d e l d e s i g n i s a d i f f i c u l t t r a d e - o f f b e t w e e n k e e p i n g c o d e r e a d a b l e a n d c o n c i s e a n d s u p p o r t i n g m a n y m o d e l c h e c k p o i n t s . F o r m o s t p a r t s o f t h e m o d e l i n g c o d e , c l a s s e s s h a l l b e a d a p t e d f o r n e w m o d e l c h e c k p o i n t s , w h i l e t h e r e a r e s o m e e x c e p t i o n s w h e r e i t i s p r e f e r r e d t o a d d n e w c l a s s e s t o m a k e s u r e t h e c o d e i s k e p t c o n c i s e a n d r e a d a b l e l o n g - t e r m , s u c h a s [ U N e t b l o c k s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / m o d e l s / u n e t s / u n e t _ 2 d _ b l o c k s . p y ) a n d [ A t t e n t i o n p r o c e s s o r s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / m o d e l s / a t t e n t i o n _ p r o c e s s o r . p y ) . # # # S c h e d u l e r s S c h e d u l e r s a r e r e s p o n s i b l e t o g u i d e t h e d e n o i s i n g p r o c e s s f o r i n f e r e n c e a s w e l l a s t o d e f i n e a n o i s e s c h e d u l e f o r t r a i n i n g . T h e y a r e d e s i g n e d a s i n d i v i d u a l c l a s s e s w i t h l o a d a b l e c o n f i g u r a t i o n f i l e s a n d s t r o n g l y f o l l o w t h e * * s i n g l e - f i l e p o l i c y * * . T h e f o l l o w i n g d e s i g n p r i n c i p l e s a r e f o l l o w e d : - A l l s c h e d u l e r s a r e f o u n d i n [ ` s r c / d i f f u s e r s / s c h e d u l e r s ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / s r c / d i f f u s e r s / s c h e d u l e r s ) . - S c h e d u l e r s a r e * * n o t * * a l l o w e d t o i m p o r t f r o m l a r g e u t i l s f i l e s a n d s h a l l b e k e p t v e r y s e l f - c o n t a i n e d . - O n e s c h e d u l e r P y t h o n f i l e c o r r e s p o n d s t o o n e s c h e d u l e r a l g o r i t h m ( a s m i g h t b e d e f i n e d i n a p a p e r ) . - I f s c h e d u l e r s s h a r e s i m i l a r f u n c t i o n a l i t i e s , w e c a n m a k e u s e o f t h e ` # C o p i e d f r o m ` m e c h a n i s m . - S c h e d u l e r s a l l i n h e r i t f r o m ` S c h e d u l e r M i x i n ` a n d ` C o n f i g M i x i n ` . - S c h e d u l e r s c a n b e e a s i l y s w a p p e d o u t w i t h t h e [ ` C o n f i g M i x i n . f r o m _ c o n f i g ` ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / a p i / c o n f i g u r a t i o n # d i f f u s e r s . C o n f i g M i x i n . f r o m _ c o n f i g ) m e t h o d a s e x p l a i n e d i n d e t a i l [ h e r e ] ( . . / u s i n g - d i f f u s e r s / s c h e d u l e r s ) . - E v e r y s c h e d u l e r h a s t o h a v e a ` s e t _ n u m _ i n f e r e n c e _ s t e p s ` , a n d a ` s t e p ` f u n c t i o n . ` s e t _ n u m _ i n f e r e n c e _ s t e p s ( . . . ) ` h a s t o b e c a l l e d b e f o r e e v e r y d e n o i s i n g p r o c e s s , * i . e . * b e f o r e ` s t e p ( . . . ) ` i s c a l l e d . - E v e r y s c h e d u l e r e x p o s e s t h e t i m e s t e p s t o b e " l o o p e d o v e r " v i a a ` t i m e s t e p s ` a t t r i b u t e , w h i c h i s a n a r r a y o f t i m e s t e p s t h e m o d e l w i l l b e c a l l e d u p o n . - T h e ` s t e p ( . . . ) ` f u n c t i o n t a k e s a p r e d i c t e d m o d e l o u t p u t a n d t h e " c u r r e n t " s a m p l e ( x _ t ) a n d r e t u r n s t h e " p r e v i o u s " , s l i g h t l y m o r e d e n o i s e d s a m p l e ( x _ t - 1 ) . - G i v e n t h e c o m p l e x i t y o f d i f f u s i o n s c h e d u l e r s , t h e ` s t e p ` f u n c t i o n d o e s n o t e x p o s e a l l t h e c o m p l e x i t y a n d c a n b e a b i t o f a " b l a c k b o x " . - I n a l m o s t a l l c a s e s , n o v e l s c h e d u l e r s s h a l l b e i m p l e m e n t e d i n a n e w s c h e d u l i n g f i l e . # ๐Ÿงจ D i f f u s e r s โ€™ E t h i c a l G u i d e l i n e s # # P r e a m b l e [ D i f f u s e r s ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / i n d e x ) p r o v i d e s p r e - t r a i n e d d i f f u s i o n m o d e l s a n d s e r v e s a s a m o d u l a r t o o l b o x f o r i n f e r e n c e a n d t r a i n i n g . G i v e n i t s r e a l c a s e a p p l i c a t i o n s i n t h e w o r l d a n d p o t e n t i a l n e g a t i v e i m p a c t s o n s o c i e t y , w e t h i n k i t i s i m p o r t a n t t o p r o v i d e t h e p r o j e c t w i t h e t h i c a l g u i d e l i n e s t o g u i d e t h e d e v e l o p m e n t , u s e r s โ€™ c o n t r i b u t i o n s , a n d u s a g e o f t h e D i f f u s e r s l i b r a r y . T h e r i s k s a s s o c i a t e d w i t h u s i n g t h i s t e c h n o l o g y a r e s t i l l b e i n g e x a m i n e d , b u t t o n a m e a f e w : c o p y r i g h t s i s s u e s f o r a r t i s t s ; d e e p - f a k e e x p l o i t a t i o n ; s e x u a l c o n t e n t g e n e r a t i o n i n i n a p p r o p r i a t e c o n t e x t s ; n o n - c o n s e n s u a l i m p e r s o n a t i o n ; h a r m f u l s o c i a l b i a s e s p e r p e t u a t i n g t h e o p p r e s s i o n o f m a r g i n a l i z e d g r o u p s . W e w i l l k e e p t r a c k i n g r i s k s a n d a d a p t t h e f o l l o w i n g g u i d e l i n e s b a s e d o n t h e c o m m u n i t y ' s r e s p o n s i v e n e s s a n d v a l u a b l e f e e d b a c k . # # S c o p e T h e D i f f u s e r s c o m m u n i t y w i l l a p p l y t h e f o l l o w i n g e t h i c a l g u i d e l i n e s t o t h e p r o j e c t โ€™ s d e v e l o p m e n t a n d h e l p c o o r d i n a t e h o w t h e c o m m u n i t y w i l l i n t e g r a t e t h e c o n t r i b u t i o n s , e s p e c i a l l y c o n c e r n i n g s e n s i t i v e t o p i c s r e l a t e d t o e t h i c a l c o n c e r n s . # # E t h i c a l g u i d e l i n e s T h e f o l l o w i n g e t h i c a l g u i d e l i n e s a p p l y g e n e r a l l y , b u t w e w i l l p r i m a r i l y i m p l e m e n t t h e m w h e n d e a l i n g w i t h e t h i c a l l y s e n s i t i v e i s s u e s w h i l e m a k i n g a t e c h n i c a l c h o i c e . F u r t h e r m o r e , w e c o m m i t t o a d a p t i n g t h o s e e t h i c a l p r i n c i p l e s o v e r t i m e f o l l o w i n g e m e r g i n g h a r m s r e l a t e d t o t h e s t a t e o f t h e a r t o f t h e t e c h n o l o g y i n q u e s t i o n . - * * T r a n s p a r e n c y * * : w e a r e c o m m i t t e d t o b e i n g t r a n s p a r e n t i n m a n a g i n g P R s , e x p l a i n i n g o u r c h o i c e s t o u s e r s , a n d m a k i n g t e c h n i c a l d e c i s i o n s . - * * C o n s i s t e n c y * * : w e a r e c o m m i t t e d t o g u a r a n t e e i n g o u r u s e r s t h e s a m e l e v e l o f a t t e n t i o n i n p r o j e c t m a n a g e m e n t , k e e p i n g i t t e c h n i c a l l y s t a b l e a n d c o n s i s t e n t . - * * S i m p l i c i t y * * : w i t h a d e s i r e t o m a k e i t e a s y t o u s e a n d e x p l o i t t h e D i f f u s e r s l i b r a r y , w e a r e c o m m i t t e d t o k e e p i n g t h e p r o j e c t โ€™ s g o a l s l e a n a n d c o h e r e n t . - * * A c c e s s i b i l i t y * * : t h e D i f f u s e r s p r o j e c t h e l p s l o w e r t h e e n t r y b a r f o r c o n t r i b u t o r s w h o c a n h e l p r u n i t e v e n w i t h o u t t e c h n i c a l e x p e r t i s e . D o i n g s o m a k e s r e s e a r c h a r t i f a c t s m o r e a c c e s s i b l e t o t h e c o m m u n i t y . - * * R e p r o d u c i b i l i t y * * : w e a i m t o b e t r a n s p a r e n t a b o u t t h e r e p r o d u c i b i l i t y o f u p s t r e a m c o d e , m o d e l s , a n d d a t a s e t s w h e n m a d e a v a i l a b l e t h r o u g h t h e D i f f u s e r s l i b r a r y . - * * R e s p o n s i b i l i t y * * : a s a c o m m u n i t y a n d t h r o u g h t e a m w o r k , w e h o l d a c o l l e c t i v e r e s p o n s i b i l i t y t o o u r u s e r s b y a n t i c i p a t i n g a n d m i t i g a t i n g t h i s t e c h n o l o g y ' s p o t e n t i a l r i s k s a n d d a n g e r s . # # E x a m p l e s o f i m p l e m e n t a t i o n s : S a f e t y f e a t u r e s a n d M e c h a n i s m s T h e t e a m w o r k s d a i l y t o m a k e t h e t e c h n i c a l a n d n o n - t e c h n i c a l t o o l s a v a i l a b l e t o d e a l w i t h t h e p o t e n t i a l e t h i c a l a n d s o c i a l r i s k s a s s o c i a t e d w i t h d i f f u s i o n t e c h n o l o g y . M o r e o v e r , t h e c o m m u n i t y ' s i n p u t i s i n v a l u a b l e i n e n s u r i n g t h e s e f e a t u r e s ' i m p l e m e n t a t i o n a n d r a i s i n g a w a r e n e s s w i t h u s . - [ * * C o m m u n i t y t a b * * ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / h u b / r e p o s i t o r i e s - p u l l - r e q u e s t s - d i s c u s s i o n s ) : i t e n a b l e s t h e c o m m u n i t y t o d i s c u s s a n d b e t t e r c o l l a b o r a t e o n a p r o j e c t . - * * B i a s e x p l o r a t i o n a n d e v a l u a t i o n * * : t h e H u g g i n g F a c e t e a m p r o v i d e s a [ s p a c e ] ( h t t p s : / / h u g g i n g f a c e . c o / s p a c e s / s o c i e t y - e t h i c s / D i f f u s i o n B i a s E x p l o r e r ) t o d e m o n s t r a t e t h e b i a s e s i n S t a b l e D i f f u s i o n i n t e r a c t i v e l y . I n t h i s s e n s e , w e s u p p o r t a n d e n c o u r a g e b i a s e x p l o r e r s a n d e v a l u a t i o n s . - * * E n c o u r a g i n g s a f e t y i n d e p l o y m e n t * * - [ * * S a f e S t a b l e D i f f u s i o n * * ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s t a b l e _ d i f f u s i o n _ s a f e ) : I t m i t i g a t e s t h e w e l l - k n o w n i s s u e t h a t m o d e l s , l i k e S t a b l e D i f f u s i o n , t h a t a r e t r a i n e d o n u n f i l t e r e d , w e b - c r a w l e d d a t a s e t s t e n d t o s u f f e r f r o m i n a p p r o p r i a t e d e g e n e r a t i o n . R e l a t e d p a p e r : [ S a f e L a t e n t D i f f u s i o n : M i t i g a t i n g I n a p p r o p r i a t e D e g e n e r a t i o n i n D i f f u s i o n M o d e l s ] ( h t t p s : / / a r x i v . o r g / a b s / 2 2 1 1 . 0 5 1 0 5 ) . - [ * * S a f e t y C h e c k e r * * ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / s t a b l e _ d i f f u s i o n / s a f e t y _ c h e c k e r . p y ) : I t c h e c k s a n d c o m p a r e s t h e c l a s s p r o b a b i l i t y o f a s e t o f h a r d - c o d e d h a r m f u l c o n c e p t s i n t h e e m b e d d i n g s p a c e a g a i n s t a n i m a g e a f t e r i t h a s b e e n g e n e r a t e d . T h e h a r m f u l c o n c e p t s a r e i n t e n t i o n a l l y h i d d e n t o p r e v e n t r e v e r s e e n g i n e e r i n g o f t h e c h e c k e r . - * * S t a g e d r e l e a s e d o n t h e H u b * * : i n p a r t i c u l a r l y s e n s i t i v e s i t u a t i o n s , a c c e s s t o s o m e r e p o s i t o r i e s s h o u l d b e r e s t r i c t e d . T h i s s t a g e d r e l e a s e i s a n i n t e r m e d i a r y s t e p t h a t a l l o w s t h e r e p o s i t o r y โ€™ s a u t h o r s t o h a v e m o r e c o n t r o l o v e r i t s u s e . - * * L i c e n s i n g * * : [ O p e n R A I L s ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / o p e n _ r a i l ) , a n e w t y p e o f l i c e n s i n g , a l l o w u s t o e n s u r e f r e e a c c e s s w h i l e h a v i n g a s e t o f r e s t r i c t i o n s t h a t e n s u r e m o r e r e s p o n s i b l e u s e . # H o w t o c o n t r i b u t e t o D i f f u s e r s ๐Ÿงจ W e โค ๏ธ c o n t r i b u t i o n s f r o m t h e o p e n - s o u r c e c o m m u n i t y ! E v e r y o n e i s w e l c o m e , a n d a l l t y p e s o f p a r t i c i p a t i o n โ€“ n o t j u s t c o d e โ€“ a r e v a l u e d a n d a p p r e c i a t e d . A n s w e r i n g q u e s t i o n s , h e l p i n g o t h e r s , r e a c h i n g o u t , a n d i m p r o v i n g t h e d o c u m e n t a t i o n a r e a l l i m m e n s e l y v a l u a b l e t o t h e c o m m u n i t y , s o d o n ' t b e a f r a i d a n d g e t i n v o l v e d i f y o u ' r e u p f o r i t ! E v e r y o n e i s e n c o u r a g e d t o s t a r t b y s a y i n g ๐Ÿ‘‹ i n o u r p u b l i c D i s c o r d c h a n n e l . W e d i s c u s s t h e l a t e s t t r e n d s i n d i f f u s i o n m o d e l s , a s k q u e s t i o n s , s h o w o f f p e r s o n a l p r o j e c t s , h e l p e a c h o t h e r w i t h c o n t r i b u t i o n s , o r j u s t h a n g o u t โ˜• . < a h r e f = " h t t p s : / / D i s c o r d . g g / G 7 t W n z 9 8 X R " > < i m g a l t = " J o i n u s o n D i s c o r d " s r c = " h t t p s : / / i m g . s h i e l d s . i o / d i s c o r d / 8 2 3 8 1 3 1 5 9 5 9 2 0 0 1 5 3 7 ? c o l o r = 5 8 6 5 F 2 & l o g o = d i s c o r d & l o g o C o l o r = w h i t e " > < / a > W h i c h e v e r w a y y o u c h o o s e t o c o n t r i b u t e , w e s t r i v e t o b e p a r t o f a n o p e n , w e l c o m i n g , a n d k i n d c o m m u n i t y . P l e a s e , r e a d o u r [ c o d e o f c o n d u c t ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / C O D E _ O F _ C O N D U C T . m d ) a n d b e m i n d f u l t o r e s p e c t i t d u r i n g y o u r i n t e r a c t i o n s . W e a l s o r e c o m m e n d y o u b e c o m e f a m i l i a r w i t h t h e [ e t h i c a l g u i d e l i n e s ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / c o n c e p t u a l / e t h i c a l _ g u i d e l i n e s ) t h a t g u i d e o u r p r o j e c t a n d a s k y o u t o a d h e r e t o t h e s a m e p r i n c i p l e s o f t r a n s p a r e n c y a n d r e s p o n s i b i l i t y . W e e n o r m o u s l y v a l u e f e e d b a c k f r o m t h e c o m m u n i t y , s o p l e a s e d o n o t b e a f r a i d t o s p e a k u p i f y o u b e l i e v e y o u h a v e v a l u a b l e f e e d b a c k t h a t c a n h e l p i m p r o v e t h e l i b r a r y - e v e r y m e s s a g e , c o m m e n t , i s s u e , a n d p u l l r e q u e s t ( P R ) i s r e a d a n d c o n s i d e r e d . # # O v e r v i e w Y o u c a n c o n t r i b u t e i n m a n y w a y s r a n g i n g f r o m a n s w e r i n g q u e s t i o n s o n i s s u e s a n d d i s c u s s i o n s t o a d d i n g n e w d i f f u s i o n m o d e l s t o t h e c o r e l i b r a r y . I n t h e f o l l o w i n g , w e g i v e a n o v e r v i e w o f d i f f e r e n t w a y s t o c o n t r i b u t e , r a n k e d b y d i f f i c u l t y i n a s c e n d i n g o r d e r . A l l o f t h e m a r e v a l u a b l e t o t h e c o m m u n i t y . * 1 . A s k i n g a n d a n s w e r i n g q u e s t i o n s o n [ t h e D i f f u s e r s d i s c u s s i o n f o r u m ] ( h t t p s : / / d i s c u s s . h u g g i n g f a c e . c o / c / d i s c u s s i o n - r e l a t e d - t o - h t t p s g i t h u b c o m h u g g i n g f a c e d i f f u s e r s ) o r o n [ D i s c o r d ] ( h t t p s : / / d i s c o r d . g g / G 7 t W n z 9 8 X R ) . * 2 . O p e n i n g n e w i s s u e s o n [ t h e G i t H u b I s s u e s t a b ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / n e w / c h o o s e ) o r n e w d i s c u s s i o n s o n [ t h e G i t H u b D i s c u s s i o n s t a b ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / d i s c u s s i o n s / n e w / c h o o s e ) . * 3 . A n s w e r i n g i s s u e s o n [ t h e G i t H u b I s s u e s t a b ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s ) o r d i s c u s s i o n s o n [ t h e G i t H u b D i s c u s s i o n s t a b ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / d i s c u s s i o n s ) . * 4 . F i x a s i m p l e i s s u e , m a r k e d b y t h e " G o o d f i r s t i s s u e " l a b e l , s e e [ h e r e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s ? q = i s % 3 A o p e n + i s % 3 A i s s u e + l a b e l % 3 A % 2 2 g o o d + f i r s t + i s s u e % 2 2 ) . * 5 . C o n t r i b u t e t o t h e [ d o c u m e n t a t i o n ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / d o c s / s o u r c e ) . * 6 . C o n t r i b u t e a [ C o m m u n i t y P i p e l i n e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s ? q = i s % 3 A o p e n + i s % 3 A i s s u e + l a b e l % 3 A c o m m u n i t y - e x a m p l e s ) . * 7 . C o n t r i b u t e t o t h e [ e x a m p l e s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s ) . * 8 . F i x a m o r e d i f f i c u l t i s s u e , m a r k e d b y t h e " G o o d s e c o n d i s s u e " l a b e l , s e e [ h e r e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s ? q = i s % 3 A o p e n + i s % 3 A i s s u e + l a b e l % 3 A % 2 2 G o o d + s e c o n d + i s s u e % 2 2 ) . * 9 . A d d a n e w p i p e l i n e , m o d e l , o r s c h e d u l e r , s e e [ " N e w P i p e l i n e / M o d e l " ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s ? q = i s % 3 A o p e n + i s % 3 A i s s u e + l a b e l % 3 A % 2 2 N e w + p i p e l i n e % 2 F m o d e l % 2 2 ) a n d [ " N e w s c h e d u l e r " ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s ? q = i s % 3 A o p e n + i s % 3 A i s s u e + l a b e l % 3 A % 2 2 N e w + s c h e d u l e r % 2 2 ) i s s u e s . F o r t h i s c o n t r i b u t i o n , p l e a s e h a v e a l o o k a t [ D e s i g n P h i l o s o p h y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / P H I L O S O P H Y . m d ) . A s s a i d b e f o r e , * * a l l c o n t r i b u t i o n s a r e v a l u a b l e t o t h e c o m m u n i t y * * . I n t h e f o l l o w i n g , w e w i l l e x p l a i n e a c h c o n t r i b u t i o n a b i t m o r e i n d e t a i l . F o r a l l c o n t r i b u t i o n s 4 - 9 , y o u w i l l n e e d t o o p e n a P R . I t i s e x p l a i n e d i n d e t a i l h o w t o d o s o i n [ O p e n i n g a p u l l r e q u e s t ] ( # h o w - t o - o p e n - a - p r ) . # # # 1 . A s k i n g a n d a n s w e r i n g q u e s t i o n s o n t h e D i f f u s e r s d i s c u s s i o n f o r u m o r o n t h e D i f f u s e r s D i s c o r d A n y q u e s t i o n o r c o m m e n t r e l a t e d t o t h e D i f f u s e r s l i b r a r y c a n b e a s k e d o n t h e [ d i s c u s s i o n f o r u m ] ( h t t p s : / / d i s c u s s . h u g g i n g f a c e . c o / c / d i s c u s s i o n - r e l a t e d - t o - h t t p s g i t h u b c o m h u g g i n g f a c e d i f f u s e r s / ) o r o n [ D i s c o r d ] ( h t t p s : / / d i s c o r d . g g / G 7 t W n z 9 8 X R ) . S u c h q u e s t i o n s a n d c o m m e n t s i n c l u d e ( b u t a r e n o t l i m i t e d t o ) : - R e p o r t s o f t r a i n i n g o r i n f e r e n c e e x p e r i m e n t s i n a n a t t e m p t t o s h a r e k n o w l e d g e - P r e s e n t a t i o n o f p e r s o n a l p r o j e c t s - Q u e s t i o n s t o n o n - o f f i c i a l t r a i n i n g e x a m p l e s - P r o j e c t p r o p o s a l s - G e n e r a l f e e d b a c k - P a p e r s u m m a r i e s - A s k i n g f o r h e l p o n p e r s o n a l p r o j e c t s t h a t b u i l d o n t o p o f t h e D i f f u s e r s l i b r a r y - G e n e r a l q u e s t i o n s - E t h i c a l q u e s t i o n s r e g a r d i n g d i f f u s i o n m o d e l s - . . . E v e r y q u e s t i o n t h a t i s a s k e d o n t h e f o r u m o r o n D i s c o r d a c t i v e l y e n c o u r a g e s t h e c o m m u n i t y t o p u b l i c l y s h a r e k n o w l e d g e a n d m i g h t v e r y w e l l h e l p a b e g i n n e r i n t h e f u t u r e w h o h a s t h e s a m e q u e s t i o n y o u ' r e h a v i n g . P l e a s e d o p o s e a n y q u e s t i o n s y o u m i g h t h a v e . I n t h e s a m e s p i r i t , y o u a r e o f i m m e n s e h e l p t o t h e c o m m u n i t y b y a n s w e r i n g s u c h q u e s t i o n s b e c a u s e t h i s w a y y o u a r e p u b l i c l y d o c u m e n t i n g k n o w l e d g e f o r e v e r y b o d y t o l e a r n f r o m . * * P l e a s e * * k e e p i n m i n d t h a t t h e m o r e e f f o r t y o u p u t i n t o a s k i n g o r a n s w e r i n g a q u e s t i o n , t h e h i g h e r t h e q u a l i t y o f t h e p u b l i c l y d o c u m e n t e d k n o w l e d g e . I n t h e s a m e w a y , w e l l - p o s e d a n d w e l l - a n s w e r e d q u e s t i o n s c r e a t e a h i g h - q u a l i t y k n o w l e d g e d a t a b a s e a c c e s s i b l e t o e v e r y b o d y , w h i l e b a d l y p o s e d q u e s t i o n s o r a n s w e r s r e d u c e t h e o v e r a l l q u a l i t y o f t h e p u b l i c k n o w l e d g e d a t a b a s e . I n s h o r t , a h i g h q u a l i t y q u e s t i o n o r a n s w e r i s * p r e c i s e * , * c o n c i s e * , * r e l e v a n t * , * e a s y - t o - u n d e r s t a n d * , * a c c e s s i b l e * , a n d * w e l l - f o r m a t t e d / w e l l - p o s e d * . F o r m o r e i n f o r m a t i o n , p l e a s e h a v e a l o o k t h r o u g h t h e [ H o w t o w r i t e a g o o d i s s u e ] ( # h o w - t o - w r i t e - a - g o o d - i s s u e ) s e c t i o n . * * N O T E a b o u t c h a n n e l s * * : [ * T h e f o r u m * ] ( h t t p s : / / d i s c u s s . h u g g i n g f a c e . c o / c / d i s c u s s i o n - r e l a t e d - t o - h t t p s g i t h u b c o m h u g g i n g f a c e d i f f u s e r s / 6 3 ) i s m u c h b e t t e r i n d e x e d b y s e a r c h e n g i n e s , s u c h a s G o o g l e . P o s t s a r e r a n k e d b y p o p u l a r i t y r a t h e r t h a n c h r o n o l o g i c a l l y . H e n c e , i t ' s e a s i e r t o l o o k u p q u e s t i o n s a n d a n s w e r s t h a t w e p o s t e d s o m e t i m e a g o . I n a d d i t i o n , q u e s t i o n s a n d a n s w e r s p o s t e d i n t h e f o r u m c a n e a s i l y b e l i n k e d t o . I n c o n t r a s t , * D i s c o r d * h a s a c h a t - l i k e f o r m a t t h a t i n v i t e s f a s t b a c k - a n d - f o r t h c o m m u n i c a t i o n . W h i l e i t w i l l m o s t l i k e l y t a k e l e s s t i m e f o r y o u t o g e t a n a n s w e r t o y o u r q u e s t i o n o n D i s c o r d , y o u r q u e s t i o n w o n ' t b e v i s i b l e a n y m o r e o v e r t i m e . A l s o , i t ' s m u c h h a r d e r t o f i n d i n f o r m a t i o n t h a t w a s p o s t e d a w h i l e b a c k o n D i s c o r d . W e t h e r e f o r e s t r o n g l y r e c o m m e n d u s i n g t h e f o r u m f o r h i g h - q u a l i t y q u e s t i o n s a n d a n s w e r s i n a n a t t e m p t t o c r e a t e l o n g - l a s t i n g k n o w l e d g e f o r t h e c o m m u n i t y . I f d i s c u s s i o n s o n D i s c o r d l e a d t o v e r y i n t e r e s t i n g a n s w e r s a n d c o n c l u s i o n s , w e r e c o m m e n d p o s t i n g t h e r e s u l t s o n t h e f o r u m t o m a k e t h e i n f o r m a t i o n m o r e a v a i l a b l e f o r f u t u r e r e a d e r s . # # # 2 . O p e n i n g n e w i s s u e s o n t h e G i t H u b i s s u e s t a b T h e ๐Ÿงจ D i f f u s e r s l i b r a r y i s r o b u s t a n d r e l i a b l e t h a n k s t o t h e u s e r s w h o n o t i f y u s o f t h e p r o b l e m s t h e y e n c o u n t e r . S o t h a n k y o u f o r r e p o r t i n g a n i s s u e . R e m e m b e r , G i t H u b i s s u e s a r e r e s e r v e d f o r t e c h n i c a l q u e s t i o n s d i r e c t l y r e l a t e d t o t h e D i f f u s e r s l i b r a r y , b u g r e p o r t s , f e a t u r e r e q u e s t s , o r f e e d b a c k o n t h e l i b r a r y d e s i g n . I n a n u t s h e l l , t h i s m e a n s t h a t e v e r y t h i n g t h a t i s * * n o t * * r e l a t e d t o t h e * * c o d e o f t h e D i f f u s e r s l i b r a r y * * ( i n c l u d i n g t h e d o c u m e n t a t i o n ) s h o u l d * * n o t * * b e a s k e d o n G i t H u b , b u t r a t h e r o n e i t h e r t h e [ f o r u m ] ( h t t p s : / / d i s c u s s . h u g g i n g f a c e . c o / c / d i s c u s s i o n - r e l a t e d - t o - h t t p s g i t h u b c o m h u g g i n g f a c e d i f f u s e r s / 6 3 ) o r [ D i s c o r d ] ( h t t p s : / / d i s c o r d . g g / G 7 t W n z 9 8 X R ) . * * P l e a s e c o n s i d e r t h e f o l l o w i n g g u i d e l i n e s w h e n o p e n i n g a n e w i s s u e * * : - M a k e s u r e y o u h a v e s e a r c h e d w h e t h e r y o u r i s s u e h a s a l r e a d y b e e n a s k e d b e f o r e ( u s e t h e s e a r c h b a r o n G i t H u b u n d e r I s s u e s ) . - P l e a s e n e v e r r e p o r t a n e w i s s u e o n a n o t h e r ( r e l a t e d ) i s s u e . I f a n o t h e r i s s u e i s h i g h l y r e l a t e d , p l e a s e o p e n a n e w i s s u e n e v e r t h e l e s s a n d l i n k t o t h e r e l a t e d i s s u e . - M a k e s u r e y o u r i s s u e i s w r i t t e n i n E n g l i s h . P l e a s e u s e o n e o f t h e g r e a t , f r e e o n l i n e t r a n s l a t i o n s e r v i c e s , s u c h a s [ D e e p L ] ( h t t p s : / / w w w . d e e p l . c o m / t r a n s l a t o r ) t o t r a n s l a t e f r o m y o u r n a t i v e l a n g u a g e t o E n g l i s h i f y o u a r e n o t c o m f o r t a b l e i n E n g l i s h . - C h e c k w h e t h e r y o u r i s s u e m i g h t b e s o l v e d b y u p d a t i n g t o t h e n e w e s t D i f f u s e r s v e r s i o n . B e f o r e p o s t i n g y o u r i s s u e , p l e a s e m a k e s u r e t h a t ` p y t h o n - c " i m p o r t d i f f u s e r s ; p r i n t ( d i f f u s e r s . _ _ v e r s i o n _ _ ) " ` i s h i g h e r o r m a t c h e s t h e l a t e s t D i f f u s e r s v e r s i o n . - R e m e m b e r t h a t t h e m o r e e f f o r t y o u p u t i n t o o p e n i n g a n e w i s s u e , t h e h i g h e r t h e q u a l i t y o f y o u r a n s w e r w i l l b e a n d t h e b e t t e r t h e o v e r a l l q u a l i t y o f t h e D i f f u s e r s i s s u e s . N e w i s s u e s u s u a l l y i n c l u d e t h e f o l l o w i n g . # # # # 2 . 1 . R e p r o d u c i b l e , m i n i m a l b u g r e p o r t s A b u g r e p o r t s h o u l d a l w a y s h a v e a r e p r o d u c i b l e c o d e s n i p p e t a n d b e a s m i n i m a l a n d c o n c i s e a s p o s s i b l e . T h i s m e a n s i n m o r e d e t a i l : - N a r r o w t h e b u g d o w n a s m u c h a s y o u c a n , * * d o n o t j u s t d u m p y o u r w h o l e c o d e f i l e * * . - F o r m a t y o u r c o d e . - D o n o t i n c l u d e a n y e x t e r n a l l i b r a r i e s e x c e p t f o r D i f f u s e r s d e p e n d i n g o n t h e m . - * * A l w a y s * * p r o v i d e a l l n e c e s s a r y i n f o r m a t i o n a b o u t y o u r e n v i r o n m e n t ; f o r t h i s , y o u c a n r u n : ` d i f f u s e r s - c l i e n v ` i n y o u r s h e l l a n d c o p y - p a s t e t h e d i s p l a y e d i n f o r m a t i o n t o t h e i s s u e . - E x p l a i n t h e i s s u e . I f t h e r e a d e r d o e s n ' t k n o w w h a t t h e i s s u e i s a n d w h y i t i s a n i s s u e , ( s ) h e c a n n o t s o l v e i t . - * * A l w a y s * * m a k e s u r e t h e r e a d e r c a n r e p r o d u c e y o u r i s s u e w i t h a s l i t t l e e f f o r t a s p o s s i b l e . I f y o u r c o d e s n i p p e t c a n n o t b e r u n b e c a u s e o f m i s s i n g l i b r a r i e s o r u n d e f i n e d v a r i a b l e s , t h e r e a d e r c a n n o t h e l p y o u . M a k e s u r e y o u r r e p r o d u c i b l e c o d e s n i p p e t i s a s m i n i m a l a s p o s s i b l e a n d c a n b e c o p y - p a s t e d i n t o a s i m p l e P y t h o n s h e l l . - I f i n o r d e r t o r e p r o d u c e y o u r i s s u e a m o d e l a n d / o r d a t a s e t i s r e q u i r e d , m a k e s u r e t h e r e a d e r h a s a c c e s s t o t h a t m o d e l o r d a t a s e t . Y o u c a n a l w a y s u p l o a d y o u r m o d e l o r d a t a s e t t o t h e [ H u b ] ( h t t p s : / / h u g g i n g f a c e . c o ) t o m a k e i t e a s i l y d o w n l o a d a b l e . T r y t o k e e p y o u r m o d e l a n d d a t a s e t a s s m a l l a s p o s s i b l e , t o m a k e t h e r e p r o d u c t i o n o f y o u r i s s u e a s e f f o r t l e s s a s p o s s i b l e . F o r m o r e i n f o r m a t i o n , p l e a s e h a v e a l o o k t h r o u g h t h e [ H o w t o w r i t e a g o o d i s s u e ] ( # h o w - t o - w r i t e - a - g o o d - i s s u e ) s e c t i o n . Y o u c a n o p e n a b u g r e p o r t [ h e r e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / n e w ? a s s i g n e e s = & l a b e l s = b u g & p r o j e c t s = & t e m p l a t e = b u g - r e p o r t . y m l ) . # # # # 2 . 2 . F e a t u r e r e q u e s t s A w o r l d - c l a s s f e a t u r e r e q u e s t a d d r e s s e s t h e f o l l o w i n g p o i n t s : 1 . M o t i v a t i o n f i r s t : * I s i t r e l a t e d t o a p r o b l e m / f r u s t r a t i o n w i t h t h e l i b r a r y ? I f s o , p l e a s e e x p l a i n w h y . P r o v i d i n g a c o d e s n i p p e t t h a t d e m o n s t r a t e s t h e p r o b l e m i s b e s t . * I s i t r e l a t e d t o s o m e t h i n g y o u w o u l d n e e d f o r a p r o j e c t ? W e ' d l o v e t o h e a r a b o u t i t ! * I s i t s o m e t h i n g y o u w o r k e d o n a n d t h i n k c o u l d b e n e f i t t h e c o m m u n i t y ? A w e s o m e ! T e l l u s w h a t p r o b l e m i t s o l v e d f o r y o u . 2 . W r i t e a * f u l l p a r a g r a p h * d e s c r i b i n g t h e f e a t u r e ; 3 . P r o v i d e a * * c o d e s n i p p e t * * t h a t d e m o n s t r a t e s i t s f u t u r e u s e ; 4 . I n c a s e t h i s i s r e l a t e d t o a p a p e r , p l e a s e a t t a c h a l i n k ; 5 . A t t a c h a n y a d d i t i o n a l i n f o r m a t i o n ( d r a w i n g s , s c r e e n s h o t s , e t c . ) y o u t h i n k m a y h e l p . Y o u c a n o p e n a f e a t u r e r e q u e s t [ h e r e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / n e w ? a s s i g n e e s = & l a b e l s = & t e m p l a t e = f e a t u r e _ r e q u e s t . m d & t i t l e = ) . # # # # 2 . 3 F e e d b a c k F e e d b a c k a b o u t t h e l i b r a r y d e s i g n a n d w h y i t i s g o o d o r n o t g o o d h e l p s t h e c o r e m a i n t a i n e r s i m m e n s e l y t o b u i l d a u s e r - f r i e n d l y l i b r a r y . T o u n d e r s t a n d t h e p h i l o s o p h y b e h i n d t h e c u r r e n t d e s i g n p h i l o s o p h y , p l e a s e h a v e a l o o k [ h e r e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / c o n c e p t u a l / p h i l o s o p h y ) . I f y o u f e e l l i k e a c e r t a i n d e s i g n c h o i c e d o e s n o t f i t w i t h t h e c u r r e n t d e s i g n p h i l o s o p h y , p l e a s e e x p l a i n w h y a n d h o w i t s h o u l d b e c h a n g e d . I f a c e r t a i n d e s i g n c h o i c e f o l l o w s t h e d e s i g n p h i l o s o p h y t o o m u c h , h e n c e r e s t r i c t i n g u s e c a s e s , e x p l a i n w h y a n d h o w i t s h o u l d b e c h a n g e d . I f a c e r t a i n d e s i g n c h o i c e i s v e r y u s e f u l f o r y o u , p l e a s e a l s o l e a v e a n o t e a s t h i s i s g r e a t f e e d b a c k f o r f u t u r e d e s i g n d e c i s i o n s . Y o u c a n o p e n a n i s s u e a b o u t f e e d b a c k [ h e r e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / n e w ? a s s i g n e e s = & l a b e l s = & t e m p l a t e = f e e d b a c k . m d & t i t l e = ) . # # # # 2 . 4 T e c h n i c a l q u e s t i o n s T e c h n i c a l q u e s t i o n s a r e m a i n l y a b o u t w h y c e r t a i n c o d e o f t h e l i b r a r y w a s w r i t t e n i n a c e r t a i n w a y , o r w h a t a c e r t a i n p a r t o f t h e c o d e d o e s . P l e a s e m a k e s u r e t o l i n k t o t h e c o d e i n q u e s t i o n a n d p l e a s e p r o v i d e d e t a i l s o n w h y t h i s p a r t o f t h e c o d e i s d i f f i c u l t t o u n d e r s t a n d . Y o u c a n o p e n a n i s s u e a b o u t a t e c h n i c a l q u e s t i o n [ h e r e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / n e w ? a s s i g n e e s = & l a b e l s = b u g & t e m p l a t e = b u g - r e p o r t . y m l ) . # # # # 2 . 5 P r o p o s a l t o a d d a n e w m o d e l , s c h e d u l e r , o r p i p e l i n e I f t h e d i f f u s i o n m o d e l c o m m u n i t y r e l e a s e d a n e w m o d e l , p i p e l i n e , o r s c h e d u l e r t h a t y o u w o u l d l i k e t o s e e i n t h e D i f f u s e r s l i b r a r y , p l e a s e p r o v i d e t h e f o l l o w i n g i n f o r m a t i o n : * S h o r t d e s c r i p t i o n o f t h e d i f f u s i o n p i p e l i n e , m o d e l , o r s c h e d u l e r a n d l i n k t o t h e p a p e r o r p u b l i c r e l e a s e . * L i n k t o a n y o f i t s o p e n - s o u r c e i m p l e m e n t a t i o n ( s ) . * L i n k t o t h e m o d e l w e i g h t s i f t h e y a r e a v a i l a b l e . I f y o u a r e w i l l i n g t o c o n t r i b u t e t o t h e m o d e l y o u r s e l f , l e t u s k n o w s o w e c a n b e s t g u i d e y o u . A l s o , d o n ' t f o r g e t t o t a g t h e o r i g i n a l a u t h o r o f t h e c o m p o n e n t ( m o d e l , s c h e d u l e r , p i p e l i n e , e t c . ) b y G i t H u b h a n d l e i f y o u c a n f i n d i t . Y o u c a n o p e n a r e q u e s t f o r a m o d e l / p i p e l i n e / s c h e d u l e r [ h e r e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / n e w ? a s s i g n e e s = & l a b e l s = N e w + m o d e l % 2 F p i p e l i n e % 2 F s c h e d u l e r & t e m p l a t e = n e w - m o d e l - a d d i t i o n . y m l ) . # # # 3 . A n s w e r i n g i s s u e s o n t h e G i t H u b i s s u e s t a b A n s w e r i n g i s s u e s o n G i t H u b m i g h t r e q u i r e s o m e t e c h n i c a l k n o w l e d g e o f D i f f u s e r s , b u t w e e n c o u r a g e e v e r y b o d y t o g i v e i t a t r y e v e n i f y o u a r e n o t 1 0 0 % c e r t a i n t h a t y o u r a n s w e r i s c o r r e c t . S o m e t i p s t o g i v e a h i g h - q u a l i t y a n s w e r t o a n i s s u e : - B e a s c o n c i s e a n d m i n i m a l a s p o s s i b l e . - S t a y o n t o p i c . A n a n s w e r t o t h e i s s u e s h o u l d c o n c e r n t h e i s s u e a n d o n l y t h e i s s u e . - P r o v i d e l i n k s t o c o d e , p a p e r s , o r o t h e r s o u r c e s t h a t p r o v e o r e n c o u r a g e y o u r p o i n t . - A n s w e r i n c o d e . I f a s i m p l e c o d e s n i p p e t i s t h e a n s w e r t o t h e i s s u e o r s h o w s h o w t h e i s s u e c a n b e s o l v e d , p l e a s e p r o v i d e a f u l l y r e p r o d u c i b l e c o d e s n i p p e t . A l s o , m a n y i s s u e s t e n d t o b e s i m p l y o f f - t o p i c , d u p l i c a t e s o f o t h e r i s s u e s , o r i r r e l e v a n t . I t i s o f g r e a t h e l p t o t h e m a i n t a i n e r s i f y o u c a n a n s w e r s u c h i s s u e s , e n c o u r a g i n g t h e a u t h o r o f t h e i s s u e t o b e m o r e p r e c i s e , p r o v i d e t h e l i n k t o a d u p l i c a t e d i s s u e o r r e d i r e c t t h e m t o [ t h e f o r u m ] ( h t t p s : / / d i s c u s s . h u g g i n g f a c e . c o / c / d i s c u s s i o n - r e l a t e d - t o - h t t p s g i t h u b c o m h u g g i n g f a c e d i f f u s e r s / 6 3 ) o r [ D i s c o r d ] ( h t t p s : / / d i s c o r d . g g / G 7 t W n z 9 8 X R ) . I f y o u h a v e v e r i f i e d t h a t t h e i s s u e d b u g r e p o r t i s c o r r e c t a n d r e q u i r e s a c o r r e c t i o n i n t h e s o u r c e c o d e , p l e a s e h a v e a l o o k a t t h e n e x t s e c t i o n s . F o r a l l o f t h e f o l l o w i n g c o n t r i b u t i o n s , y o u w i l l n e e d t o o p e n a P R . I t i s e x p l a i n e d i n d e t a i l h o w t o d o s o i n t h e [ O p e n i n g a p u l l r e q u e s t ] ( # h o w - t o - o p e n - a - p r ) s e c t i o n . # # # 4 . F i x i n g a " G o o d f i r s t i s s u e " * G o o d f i r s t i s s u e s * a r e m a r k e d b y t h e [ G o o d f i r s t i s s u e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s ? q = i s % 3 A o p e n + i s % 3 A i s s u e + l a b e l % 3 A % 2 2 g o o d + f i r s t + i s s u e % 2 2 ) l a b e l . U s u a l l y , t h e i s s u e a l r e a d y e x p l a i n s h o w a p o t e n t i a l s o l u t i o n s h o u l d l o o k s o t h a t i t i s e a s i e r t o f i x . I f t h e i s s u e h a s n ' t b e e n c l o s e d a n d y o u w o u l d l i k e t o t r y t o f i x t h i s i s s u e , y o u c a n j u s t l e a v e a m e s s a g e " I w o u l d l i k e t o t r y t h i s i s s u e . " . T h e r e a r e u s u a l l y t h r e e s c e n a r i o s : - a . ) T h e i s s u e d e s c r i p t i o n a l r e a d y p r o p o s e s a f i x . I n t h i s c a s e a n d i f t h e s o l u t i o n m a k e s s e n s e t o y o u , y o u c a n o p e n a P R o r d r a f t P R t o f i x i t . - b . ) T h e i s s u e d e s c r i p t i o n d o e s n o t p r o p o s e a f i x . I n t h i s c a s e , y o u c a n a s k w h a t a p r o p o s e d f i x c o u l d l o o k l i k e a n d s o m e o n e f r o m t h e D i f f u s e r s t e a m s h o u l d a n s w e r s h o r t l y . I f y o u h a v e a g o o d i d e a o f h o w t o f i x i t , f e e l f r e e t o d i r e c t l y o p e n a P R . - c . ) T h e r e i s a l r e a d y a n o p e n P R t o f i x t h e i s s u e , b u t t h e i s s u e h a s n ' t b e e n c l o s e d y e t . I f t h e P R h a s g o n e s t a l e , y o u c a n s i m p l y o p e n a n e w P R a n d l i n k t o t h e s t a l e P R . P R s o f t e n g o s t a l e i f t h e o r i g i n a l c o n t r i b u t o r w h o w a n t e d t o f i x t h e i s s u e s u d d e n l y c a n n o t f i n d t h e t i m e a n y m o r e t o p r o c e e d . T h i s o f t e n h a p p e n s i n o p e n - s o u r c e a n d i s v e r y n o r m a l . I n t h i s c a s e , t h e c o m m u n i t y w i l l b e v e r y h a p p y i f y o u g i v e i t a n e w t r y a n d l e v e r a g e t h e k n o w l e d g e o f t h e e x i s t i n g P R . I f t h e r e i s a l r e a d y a P R a n d i t i s a c t i v e , y o u c a n h e l p t h e a u t h o r b y g i v i n g s u g g e s t i o n s , r e v i e w i n g t h e P R o r e v e n a s k i n g w h e t h e r y o u c a n c o n t r i b u t e t o t h e P R . # # # 5 . C o n t r i b u t e t o t h e d o c u m e n t a t i o n A g o o d l i b r a r y * * a l w a y s * * h a s g o o d d o c u m e n t a t i o n ! T h e o f f i c i a l d o c u m e n t a t i o n i s o f t e n o n e o f t h e f i r s t p o i n t s o f c o n t a c t f o r n e w u s e r s o f t h e l i b r a r y , a n d t h e r e f o r e c o n t r i b u t i n g t o t h e d o c u m e n t a t i o n i s a * * h i g h l y v a l u a b l e c o n t r i b u t i o n * * . C o n t r i b u t i n g t o t h e l i b r a r y c a n h a v e m a n y f o r m s : - C o r r e c t i n g s p e l l i n g o r g r a m m a t i c a l e r r o r s . - C o r r e c t i n c o r r e c t f o r m a t t i n g o f t h e d o c s t r i n g . I f y o u s e e t h a t t h e o f f i c i a l d o c u m e n t a t i o n i s w e i r d l y d i s p l a y e d o r a l i n k i s b r o k e n , w e w o u l d b e v e r y h a p p y i f y o u t a k e s o m e t i m e t o c o r r e c t i t . - C o r r e c t t h e s h a p e o r d i m e n s i o n s o f a d o c s t r i n g i n p u t o r o u t p u t t e n s o r . - C l a r i f y d o c u m e n t a t i o n t h a t i s h a r d t o u n d e r s t a n d o r i n c o r r e c t . - U p d a t e o u t d a t e d c o d e e x a m p l e s . - T r a n s l a t i n g t h e d o c u m e n t a t i o n t o a n o t h e r l a n g u a g e . A n y t h i n g d i s p l a y e d o n [ t h e o f f i c i a l D i f f u s e r s d o c p a g e ] ( h t t p s : / / h u g g i n g f a c e . c o / d o c s / d i f f u s e r s / i n d e x ) i s p a r t o f t h e o f f i c i a l d o c u m e n t a t i o n a n d c a n b e c o r r e c t e d , a d j u s t e d i n t h e r e s p e c t i v e [ d o c u m e n t a t i o n s o u r c e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / d o c s / s o u r c e ) . P l e a s e h a v e a l o o k a t [ t h i s p a g e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / d o c s ) o n h o w t o v e r i f y c h a n g e s m a d e t o t h e d o c u m e n t a t i o n l o c a l l y . # # # 6 . C o n t r i b u t e a c o m m u n i t y p i p e l i n e > [ ! T I P ] > R e a d t h e [ C o m m u n i t y p i p e l i n e s ] ( . . / u s i n g - d i f f u s e r s / c u s t o m _ p i p e l i n e _ o v e r v i e w # c o m m u n i t y - p i p e l i n e s ) g u i d e t o l e a r n m o r e a b o u t t h e d i f f e r e n c e b e t w e e n a G i t H u b a n d H u g g i n g F a c e H u b c o m m u n i t y p i p e l i n e . I f y o u ' r e i n t e r e s t e d i n w h y w e h a v e c o m m u n i t y p i p e l i n e s , t a k e a l o o k a t G i t H u b I s s u e [ # 8 4 1 ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / 8 4 1 ) ( b a s i c a l l y , w e c a n ' t m a i n t a i n a l l t h e p o s s i b l e w a y s d i f f u s i o n m o d e l s c a n b e u s e d f o r i n f e r e n c e b u t w e a l s o d o n ' t w a n t t o p r e v e n t t h e c o m m u n i t y f r o m b u i l d i n g t h e m ) . C o n t r i b u t i n g a c o m m u n i t y p i p e l i n e i s a g r e a t w a y t o s h a r e y o u r c r e a t i v i t y a n d w o r k w i t h t h e c o m m u n i t y . I t l e t s y o u b u i l d o n t o p o f t h e [ D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e ) s o t h a t a n y o n e c a n l o a d a n d u s e i t b y s e t t i n g t h e ` c u s t o m _ p i p e l i n e ` p a r a m e t e r . T h i s s e c t i o n w i l l w a l k y o u t h r o u g h h o w t o c r e a t e a s i m p l e p i p e l i n e w h e r e t h e U N e t o n l y d o e s a s i n g l e f o r w a r d p a s s a n d c a l l s t h e s c h e d u l e r o n c e ( a " o n e - s t e p " p i p e l i n e ) . 1 . C r e a t e a o n e _ s t e p _ u n e t . p y f i l e f o r y o u r c o m m u n i t y p i p e l i n e . T h i s f i l e c a n c o n t a i n w h a t e v e r p a c k a g e y o u w a n t t o u s e a s l o n g a s i t ' s i n s t a l l e d b y t h e u s e r . M a k e s u r e y o u o n l y h a v e o n e p i p e l i n e c l a s s t h a t i n h e r i t s f r o m [ D i f f u s i o n P i p e l i n e ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e ) t o l o a d m o d e l w e i g h t s a n d t h e s c h e d u l e r c o n f i g u r a t i o n f r o m t h e H u b . A d d a U N e t a n d s c h e d u l e r t o t h e ` _ _ i n i t _ _ ` f u n c t i o n . Y o u s h o u l d a l s o a d d t h e ` r e g i s t e r _ m o d u l e s ` f u n c t i o n t o e n s u r e y o u r p i p e l i n e a n d i t s c o m p o n e n t s c a n b e s a v e d w i t h [ s a v e _ p r e t r a i n e d ( ) ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / o v e r v i e w # d i f f u s e r s . D i f f u s i o n P i p e l i n e . s a v e _ p r e t r a i n e d ) . ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h c l a s s U n e t S c h e d u l e r O n e F o r w a r d P i p e l i n e ( D i f f u s i o n P i p e l i n e ) : d e f _ _ i n i t _ _ ( s e l f , u n e t , s c h e d u l e r ) : s u p e r ( ) . _ _ i n i t _ _ ( ) s e l f . r e g i s t e r _ m o d u l e s ( u n e t = u n e t , s c h e d u l e r = s c h e d u l e r ) ` ` ` 1 . I n t h e f o r w a r d p a s s ( w h i c h w e r e c o m m e n d d e f i n i n g a s ` _ _ c a l l _ _ ` ) , y o u c a n a d d a n y f e a t u r e y o u ' d l i k e . F o r t h e " o n e - s t e p " p i p e l i n e , c r e a t e a r a n d o m i m a g e a n d c a l l t h e U N e t a n d s c h e d u l e r o n c e b y s e t t i n g ` t i m e s t e p = 1 ` . ` ` ` p y f r o m d i f f u s e r s i m p o r t D i f f u s i o n P i p e l i n e i m p o r t t o r c h c l a s s U n e t S c h e d u l e r O n e F o r w a r d P i p e l i n e ( D i f f u s i o n P i p e l i n e ) : d e f _ _ i n i t _ _ ( s e l f , u n e t , s c h e d u l e r ) : s u p e r ( ) . _ _ i n i t _ _ ( ) s e l f . r e g i s t e r _ m o d u l e s ( u n e t = u n e t , s c h e d u l e r = s c h e d u l e r ) d e f _ _ c a l l _ _ ( s e l f ) : i m a g e = t o r c h . r a n d n ( ( 1 , s e l f . u n e t . c o n f i g . i n _ c h a n n e l s , s e l f . u n e t . c o n f i g . s a m p l e _ s i z e , s e l f . u n e t . c o n f i g . s a m p l e _ s i z e ) , ) t i m e s t e p = 1 m o d e l _ o u t p u t = s e l f . u n e t ( i m a g e , t i m e s t e p ) . s a m p l e s c h e d u l e r _ o u t p u t = s e l f . s c h e d u l e r . s t e p ( m o d e l _ o u t p u t , t i m e s t e p , i m a g e ) . p r e v _ s a m p l e r e t u r n s c h e d u l e r _ o u t p u t ` ` ` N o w y o u c a n r u n t h e p i p e l i n e b y p a s s i n g a U N e t a n d s c h e d u l e r t o i t o r l o a d p r e t r a i n e d w e i g h t s i f t h e p i p e l i n e s t r u c t u r e i s i d e n t i c a l . ` ` ` p y f r o m d i f f u s e r s i m p o r t D D P M S c h e d u l e r , U N e t 2 D M o d e l s c h e d u l e r = D D P M S c h e d u l e r ( ) u n e t = U N e t 2 D M o d e l ( ) p i p e l i n e = U n e t S c h e d u l e r O n e F o r w a r d P i p e l i n e ( u n e t = u n e t , s c h e d u l e r = s c h e d u l e r ) o u t p u t = p i p e l i n e ( ) # l o a d p r e t r a i n e d w e i g h t s p i p e l i n e = U n e t S c h e d u l e r O n e F o r w a r d P i p e l i n e . f r o m _ p r e t r a i n e d ( " g o o g l e / d d p m - c i f a r 1 0 - 3 2 " , u s e _ s a f e t e n s o r s = T r u e ) o u t p u t = p i p e l i n e ( ) ` ` ` Y o u c a n e i t h e r s h a r e y o u r p i p e l i n e a s a G i t H u b c o m m u n i t y p i p e l i n e o r H u b c o m m u n i t y p i p e l i n e . < h f o p t i o n s i d = " p i p e l i n e t y p e " > < h f o p t i o n i d = " G i t H u b p i p e l i n e " > S h a r e y o u r G i t H u b p i p e l i n e b y o p e n i n g a p u l l r e q u e s t o n t h e D i f f u s e r s [ r e p o s i t o r y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s ) a n d a d d t h e o n e _ s t e p _ u n e t . p y f i l e t o t h e [ e x a m p l e s / c o m m u n i t y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / c o m m u n i t y ) s u b f o l d e r . < / h f o p t i o n > < h f o p t i o n i d = " H u b p i p e l i n e " > S h a r e y o u r H u b p i p e l i n e b y c r e a t i n g a m o d e l r e p o s i t o r y o n t h e H u b a n d u p l o a d i n g t h e o n e _ s t e p _ u n e t . p y f i l e t o i t . < / h f o p t i o n > < / h f o p t i o n s > # # # 7 . C o n t r i b u t e t o t r a i n i n g e x a m p l e s D i f f u s e r s e x a m p l e s a r e a c o l l e c t i o n o f t r a i n i n g s c r i p t s t h a t r e s i d e i n [ e x a m p l e s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s ) . W e s u p p o r t t w o t y p e s o f t r a i n i n g e x a m p l e s : - O f f i c i a l t r a i n i n g e x a m p l e s - R e s e a r c h t r a i n i n g e x a m p l e s R e s e a r c h t r a i n i n g e x a m p l e s a r e l o c a t e d i n [ e x a m p l e s / r e s e a r c h _ p r o j e c t s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / r e s e a r c h _ p r o j e c t s ) w h e r e a s o f f i c i a l t r a i n i n g e x a m p l e s i n c l u d e a l l f o l d e r s u n d e r [ e x a m p l e s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s ) e x c e p t t h e ` r e s e a r c h _ p r o j e c t s ` a n d ` c o m m u n i t y ` f o l d e r s . T h e o f f i c i a l t r a i n i n g e x a m p l e s a r e m a i n t a i n e d b y t h e D i f f u s e r s ' c o r e m a i n t a i n e r s w h e r e a s t h e r e s e a r c h t r a i n i n g e x a m p l e s a r e m a i n t a i n e d b y t h e c o m m u n i t y . T h i s i s b e c a u s e o f t h e s a m e r e a s o n s p u t f o r w a r d i n [ 6 . C o n t r i b u t e a c o m m u n i t y p i p e l i n e ] ( # 6 - c o n t r i b u t e - a - c o m m u n i t y - p i p e l i n e ) f o r o f f i c i a l p i p e l i n e s v s . c o m m u n i t y p i p e l i n e s : I t i s n o t f e a s i b l e f o r t h e c o r e m a i n t a i n e r s t o m a i n t a i n a l l p o s s i b l e t r a i n i n g m e t h o d s f o r d i f f u s i o n m o d e l s . I f t h e D i f f u s e r s c o r e m a i n t a i n e r s a n d t h e c o m m u n i t y c o n s i d e r a c e r t a i n t r a i n i n g p a r a d i g m t o b e t o o e x p e r i m e n t a l o r n o t p o p u l a r e n o u g h , t h e c o r r e s p o n d i n g t r a i n i n g c o d e s h o u l d b e p u t i n t h e ` r e s e a r c h _ p r o j e c t s ` f o l d e r a n d m a i n t a i n e d b y t h e a u t h o r . B o t h o f f i c i a l t r a i n i n g a n d r e s e a r c h e x a m p l e s c o n s i s t o f a d i r e c t o r y t h a t c o n t a i n s o n e o r m o r e t r a i n i n g s c r i p t s , a ` r e q u i r e m e n t s . t x t ` f i l e , a n d a ` R E A D M E . m d ` f i l e . I n o r d e r f o r t h e u s e r t o m a k e u s e o f t h e t r a i n i n g e x a m p l e s , i t i s r e q u i r e d t o c l o n e t h e r e p o s i t o r y : ` ` ` b a s h g i t c l o n e h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s ` ` ` a s w e l l a s t o i n s t a l l a l l a d d i t i o n a l d e p e n d e n c i e s r e q u i r e d f o r t r a i n i n g : ` ` ` b a s h c d d i f f u s e r s p i p i n s t a l l - r e x a m p l e s / < y o u r - e x a m p l e - f o l d e r > / r e q u i r e m e n t s . t x t ` ` ` T h e r e f o r e w h e n a d d i n g a n e x a m p l e , t h e ` r e q u i r e m e n t s . t x t ` f i l e s h a l l d e f i n e a l l p i p d e p e n d e n c i e s r e q u i r e d f o r y o u r t r a i n i n g e x a m p l e s o t h a t o n c e a l l t h o s e a r e i n s t a l l e d , t h e u s e r c a n r u n t h e e x a m p l e ' s t r a i n i n g s c r i p t . S e e , f o r e x a m p l e , t h e [ D r e a m B o o t h ` r e q u i r e m e n t s . t x t ` f i l e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / d r e a m b o o t h / r e q u i r e m e n t s . t x t ) . T r a i n i n g e x a m p l e s o f t h e D i f f u s e r s l i b r a r y s h o u l d a d h e r e t o t h e f o l l o w i n g p h i l o s o p h y : - A l l t h e c o d e n e c e s s a r y t o r u n t h e e x a m p l e s s h o u l d b e f o u n d i n a s i n g l e P y t h o n f i l e . - O n e s h o u l d b e a b l e t o r u n t h e e x a m p l e f r o m t h e c o m m a n d l i n e w i t h ` p y t h o n < y o u r - e x a m p l e > . p y - - a r g s ` . - E x a m p l e s s h o u l d b e k e p t s i m p l e a n d s e r v e a s * * a n e x a m p l e * * o n h o w t o u s e D i f f u s e r s f o r t r a i n i n g . T h e p u r p o s e o f e x a m p l e s c r i p t s i s * * n o t * * t o c r e a t e s t a t e - o f - t h e - a r t d i f f u s i o n m o d e l s , b u t r a t h e r t o r e p r o d u c e k n o w n t r a i n i n g s c h e m e s w i t h o u t a d d i n g t o o m u c h c u s t o m l o g i c . A s a b y p r o d u c t o f t h i s p o i n t , o u r e x a m p l e s a l s o s t r i v e t o s e r v e a s g o o d e d u c a t i o n a l m a t e r i a l s . T o c o n t r i b u t e a n e x a m p l e , i t i s h i g h l y r e c o m m e n d e d t o l o o k a t a l r e a d y e x i s t i n g e x a m p l e s s u c h a s [ d r e a m b o o t h ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / d r e a m b o o t h / t r a i n _ d r e a m b o o t h . p y ) t o g e t a n i d e a o f h o w t h e y s h o u l d l o o k l i k e . W e s t r o n g l y a d v i s e c o n t r i b u t o r s t o m a k e u s e o f t h e [ A c c e l e r a t e l i b r a r y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / a c c e l e r a t e ) a s i t ' s t i g h t l y i n t e g r a t e d w i t h D i f f u s e r s . O n c e a n e x a m p l e s c r i p t w o r k s , p l e a s e m a k e s u r e t o a d d a c o m p r e h e n s i v e ` R E A D M E . m d ` t h a t s t a t e s h o w t o u s e t h e e x a m p l e e x a c t l y . T h i s R E A D M E s h o u l d i n c l u d e : - A n e x a m p l e c o m m a n d o n h o w t o r u n t h e e x a m p l e s c r i p t a s s h o w n [ h e r e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / d r e a m b o o t h # r u n n i n g - l o c a l l y - w i t h - p y t o r c h ) . - A l i n k t o s o m e t r a i n i n g r e s u l t s ( l o g s , m o d e l s , e t c . ) t h a t s h o w w h a t t h e u s e r c a n e x p e c t a s s h o w n [ h e r e ] ( h t t p s : / / a p i . w a n d b . a i / r e p o r t / p a t r i c k v o n p l a t e n / x m 6 c d 5 q 5 ) . - I f y o u a r e a d d i n g a n o n - o f f i c i a l / r e s e a r c h t r a i n i n g e x a m p l e , * * p l e a s e d o n ' t f o r g e t * * t o a d d a s e n t e n c e t h a t y o u a r e m a i n t a i n i n g t h i s t r a i n i n g e x a m p l e w h i c h i n c l u d e s y o u r g i t h a n d l e a s s h o w n [ h e r e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / e x a m p l e s / r e s e a r c h _ p r o j e c t s / i n t e l _ o p t s # d i f f u s e r s - e x a m p l e s - w i t h - i n t e l - o p t i m i z a t i o n s ) . I f y o u a r e c o n t r i b u t i n g t o t h e o f f i c i a l t r a i n i n g e x a m p l e s , p l e a s e a l s o m a k e s u r e t o a d d a t e s t t o i t s f o l d e r s u c h a s [ e x a m p l e s / d r e a m b o o t h / t e s t _ d r e a m b o o t h . p y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / e x a m p l e s / d r e a m b o o t h / t e s t _ d r e a m b o o t h . p y ) . T h i s i s n o t n e c e s s a r y f o r n o n - o f f i c i a l t r a i n i n g e x a m p l e s . # # # 8 . F i x i n g a " G o o d s e c o n d i s s u e " * G o o d s e c o n d i s s u e s * a r e m a r k e d b y t h e [ G o o d s e c o n d i s s u e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s ? q = i s % 3 A o p e n + i s % 3 A i s s u e + l a b e l % 3 A % 2 2 G o o d + s e c o n d + i s s u e % 2 2 ) l a b e l . G o o d s e c o n d i s s u e s a r e u s u a l l y m o r e c o m p l i c a t e d t o s o l v e t h a n [ G o o d f i r s t i s s u e s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s ? q = i s % 3 A o p e n + i s % 3 A i s s u e + l a b e l % 3 A % 2 2 g o o d + f i r s t + i s s u e % 2 2 ) . T h e i s s u e d e s c r i p t i o n u s u a l l y g i v e s l e s s g u i d a n c e o n h o w t o f i x t h e i s s u e a n d r e q u i r e s a d e c e n t u n d e r s t a n d i n g o f t h e l i b r a r y b y t h e i n t e r e s t e d c o n t r i b u t o r . I f y o u a r e i n t e r e s t e d i n t a c k l i n g a g o o d s e c o n d i s s u e , f e e l f r e e t o o p e n a P R t o f i x i t a n d l i n k t h e P R t o t h e i s s u e . I f y o u s e e t h a t a P R h a s a l r e a d y b e e n o p e n e d f o r t h i s i s s u e b u t d i d n o t g e t m e r g e d , h a v e a l o o k t o u n d e r s t a n d w h y i t w a s n ' t m e r g e d a n d t r y t o o p e n a n i m p r o v e d P R . G o o d s e c o n d i s s u e s a r e u s u a l l y m o r e d i f f i c u l t t o g e t m e r g e d c o m p a r e d t o g o o d f i r s t i s s u e s , s o d o n ' t h e s i t a t e t o a s k f o r h e l p f r o m t h e c o r e m a i n t a i n e r s . I f y o u r P R i s a l m o s t f i n i s h e d t h e c o r e m a i n t a i n e r s c a n a l s o j u m p i n t o y o u r P R a n d c o m m i t t o i t i n o r d e r t o g e t i t m e r g e d . # # # 9 . A d d i n g p i p e l i n e s , m o d e l s , s c h e d u l e r s P i p e l i n e s , m o d e l s , a n d s c h e d u l e r s a r e t h e m o s t i m p o r t a n t p i e c e s o f t h e D i f f u s e r s l i b r a r y . T h e y p r o v i d e e a s y a c c e s s t o s t a t e - o f - t h e - a r t d i f f u s i o n t e c h n o l o g i e s a n d t h u s a l l o w t h e c o m m u n i t y t o b u i l d p o w e r f u l g e n e r a t i v e A I a p p l i c a t i o n s . B y a d d i n g a n e w m o d e l , p i p e l i n e , o r s c h e d u l e r y o u m i g h t e n a b l e a n e w p o w e r f u l u s e c a s e f o r a n y o f t h e u s e r i n t e r f a c e s r e l y i n g o n D i f f u s e r s w h i c h c a n b e o f i m m e n s e v a l u e f o r t h e w h o l e g e n e r a t i v e A I e c o s y s t e m . D i f f u s e r s h a s a c o u p l e o f o p e n f e a t u r e r e q u e s t s f o r a l l t h r e e c o m p o n e n t s - f e e l f r e e t o g l o s s o v e r t h e m i f y o u d o n ' t k n o w y e t w h a t s p e c i f i c c o m p o n e n t y o u w o u l d l i k e t o a d d : - [ M o d e l o r p i p e l i n e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s ? q = i s % 3 A o p e n + i s % 3 A i s s u e + l a b e l % 3 A % 2 2 N e w + p i p e l i n e % 2 F m o d e l % 2 2 ) - [ S c h e d u l e r ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s ? q = i s % 3 A o p e n + i s % 3 A i s s u e + l a b e l % 3 A % 2 2 N e w + s c h e d u l e r % 2 2 ) B e f o r e a d d i n g a n y o f t h e t h r e e c o m p o n e n t s , i t i s s t r o n g l y r e c o m m e n d e d t h a t y o u g i v e t h e [ P h i l o s o p h y g u i d e ] ( p h i l o s o p h y ) a r e a d t o b e t t e r u n d e r s t a n d t h e d e s i g n o f a n y o f t h e t h r e e c o m p o n e n t s . P l e a s e b e a w a r e t h a t w e c a n n o t m e r g e m o d e l , s c h e d u l e r , o r p i p e l i n e a d d i t i o n s t h a t s t r o n g l y d i v e r g e f r o m o u r d e s i g n p h i l o s o p h y a s i t w i l l l e a d t o A P I i n c o n s i s t e n c i e s . I f y o u f u n d a m e n t a l l y d i s a g r e e w i t h a d e s i g n c h o i c e , p l e a s e o p e n a [ F e e d b a c k i s s u e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / n e w ? a s s i g n e e s = & l a b e l s = & t e m p l a t e = f e e d b a c k . m d & t i t l e = ) i n s t e a d s o t h a t i t c a n b e d i s c u s s e d w h e t h e r a c e r t a i n d e s i g n p a t t e r n / d e s i g n c h o i c e s h a l l b e c h a n g e d e v e r y w h e r e i n t h e l i b r a r y a n d w h e t h e r w e s h a l l u p d a t e o u r d e s i g n p h i l o s o p h y . C o n s i s t e n c y a c r o s s t h e l i b r a r y i s v e r y i m p o r t a n t f o r u s . P l e a s e m a k e s u r e t o a d d l i n k s t o t h e o r i g i n a l c o d e b a s e / p a p e r t o t h e P R a n d i d e a l l y a l s o p i n g t h e o r i g i n a l a u t h o r d i r e c t l y o n t h e P R s o t h a t t h e y c a n f o l l o w t h e p r o g r e s s a n d p o t e n t i a l l y h e l p w i t h q u e s t i o n s . I f y o u a r e u n s u r e o r s t u c k i n t h e P R , d o n ' t h e s i t a t e t o l e a v e a m e s s a g e t o a s k f o r a f i r s t r e v i e w o r h e l p . # # # # C o p i e d f r o m m e c h a n i s m A u n i q u e a n d i m p o r t a n t f e a t u r e t o u n d e r s t a n d w h e n a d d i n g a n y p i p e l i n e , m o d e l o r s c h e d u l e r c o d e i s t h e ` # C o p i e d f r o m ` m e c h a n i s m . Y o u ' l l s e e t h i s a l l o v e r t h e D i f f u s e r s c o d e b a s e , a n d t h e r e a s o n w e u s e i t i s t o k e e p t h e c o d e b a s e e a s y t o u n d e r s t a n d a n d m a i n t a i n . M a r k i n g c o d e w i t h t h e ` # C o p i e d f r o m ` m e c h a n i s m f o r c e s t h e m a r k e d c o d e t o b e i d e n t i c a l t o t h e c o d e i t w a s c o p i e d f r o m . T h i s m a k e s i t e a s y t o u p d a t e a n d p r o p a g a t e c h a n g e s a c r o s s m a n y f i l e s w h e n e v e r y o u r u n ` m a k e f i x - c o p i e s ` . F o r e x a m p l e , i n t h e c o d e e x a m p l e b e l o w , [ S t a b l e D i f f u s i o n P i p e l i n e O u t p u t ] ( / d o c s / d i f f u s e r s / m a i n / e n / a p i / p i p e l i n e s / s t a b l e _ d i f f u s i o n / i n p a i n t # d i f f u s e r s . p i p e l i n e s . s t a b l e _ d i f f u s i o n . S t a b l e D i f f u s i o n P i p e l i n e O u t p u t ) i s t h e o r i g i n a l c o d e a n d ` A l t D i f f u s i o n P i p e l i n e O u t p u t ` u s e s t h e ` # C o p i e d f r o m ` m e c h a n i s m t o c o p y i t . T h e o n l y d i f f e r e n c e i s c h a n g i n g t h e c l a s s p r e f i x f r o m ` S t a b l e ` t o ` A l t ` . ` ` ` p y # C o p i e d f r o m d i f f u s e r s . p i p e l i n e s . s t a b l e _ d i f f u s i o n . p i p e l i n e _ o u t p u t . S t a b l e D i f f u s i o n P i p e l i n e O u t p u t w i t h S t a b l e - > A l t c l a s s A l t D i f f u s i o n P i p e l i n e O u t p u t ( B a s e O u t p u t ) : " " " O u t p u t c l a s s f o r A l t D i f f u s i o n p i p e l i n e s . A r g s : i m a g e s ( ` L i s t [ P I L . I m a g e . I m a g e ] ` o r ` n p . n d a r r a y ` ) L i s t o f d e n o i s e d P I L i m a g e s o f l e n g t h ` b a t c h _ s i z e ` o r N u m P y a r r a y o f s h a p e ` ( b a t c h _ s i z e , h e i g h t , w i d t h , n u m _ c h a n n e l s ) ` . n s f w _ c o n t e n t _ d e t e c t e d ( ` L i s t [ b o o l ] ` ) L i s t i n d i c a t i n g w h e t h e r t h e c o r r e s p o n d i n g g e n e r a t e d i m a g e c o n t a i n s " n o t - s a f e - f o r - w o r k " ( n s f w ) c o n t e n t o r ` N o n e ` i f s a f e t y c h e c k i n g c o u l d n o t b e p e r f o r m e d . " " " ` ` ` T o l e a r n m o r e , r e a d t h i s s e c t i o n o f t h e [ ~ D o n ' t ~ R e p e a t Y o u r s e l f * ] ( h t t p s : / / h u g g i n g f a c e . c o / b l o g / t r a n s f o r m e r s - d e s i g n - p h i l o s o p h y # 4 - m a c h i n e - l e a r n i n g - m o d e l s - a r e - s t a t i c ) b l o g p o s t . # # H o w t o w r i t e a g o o d i s s u e * * T h e b e t t e r y o u r i s s u e i s w r i t t e n , t h e h i g h e r t h e c h a n c e s t h a t i t w i l l b e q u i c k l y r e s o l v e d . * * 1 . M a k e s u r e t h a t y o u ' v e u s e d t h e c o r r e c t t e m p l a t e f o r y o u r i s s u e . Y o u c a n p i c k b e t w e e n * B u g R e p o r t * , * F e a t u r e R e q u e s t * , * F e e d b a c k a b o u t A P I D e s i g n * , * N e w m o d e l / p i p e l i n e / s c h e d u l e r a d d i t i o n * , * F o r u m * , o r a b l a n k i s s u e . M a k e s u r e t o p i c k t h e c o r r e c t o n e w h e n o p e n i n g [ a n e w i s s u e ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / i s s u e s / n e w / c h o o s e ) . 2 . * * B e p r e c i s e * * : G i v e y o u r i s s u e a f i t t i n g t i t l e . T r y t o f o r m u l a t e y o u r i s s u e d e s c r i p t i o n a s s i m p l e a s p o s s i b l e . T h e m o r e p r e c i s e y o u a r e w h e n s u b m i t t i n g a n i s s u e , t h e l e s s t i m e i t t a k e s t o u n d e r s t a n d t h e i s s u e a n d p o t e n t i a l l y s o l v e i t . M a k e s u r e t o o p e n a n i s s u e f o r o n e i s s u e o n l y a n d n o t f o r m u l t i p l e i s s u e s . I f y o u f o u n d m u l t i p l e i s s u e s , s i m p l y o p e n m u l t i p l e i s s u e s . I f y o u r i s s u e i s a b u g , t r y t o b e a s p r e c i s e a s p o s s i b l e a b o u t w h a t b u g i t i s - y o u s h o u l d n o t j u s t w r i t e " E r r o r i n d i f f u s e r s " . 3 . * * R e p r o d u c i b i l i t y * * : N o r e p r o d u c i b l e c o d e s n i p p e t = = n o s o l u t i o n . I f y o u e n c o u n t e r a b u g , m a i n t a i n e r s * * h a v e t o b e a b l e t o r e p r o d u c e * * i t . M a k e s u r e t h a t y o u i n c l u d e a c o d e s n i p p e t t h a t c a n b e c o p y - p a s t e d i n t o a P y t h o n i n t e r p r e t e r t o r e p r o d u c e t h e i s s u e . M a k e s u r e t h a t y o u r c o d e s n i p p e t w o r k s , * i . e . * t h a t t h e r e a r e n o m i s s i n g i m p o r t s o r m i s s i n g l i n k s t o i m a g e s , . . . Y o u r i s s u e s h o u l d c o n t a i n a n e r r o r m e s s a g e * * a n d * * a c o d e s n i p p e t t h a t c a n b e c o p y - p a s t e d w i t h o u t a n y c h a n g e s t o r e p r o d u c e t h e e x a c t s a m e e r r o r m e s s a g e . I f y o u r i s s u e i s u s i n g l o c a l m o d e l w e i g h t s o r l o c a l d a t a t h a t c a n n o t b e a c c e s s e d b y t h e r e a d e r , t h e i s s u e c a n n o t b e s o l v e d . I f y o u c a n n o t s h a r e y o u r d a t a o r m o d e l , t r y t o m a k e a d u m m y m o d e l o r d u m m y d a t a . 4 . * * M i n i m a l i s t i c * * : T r y t o h e l p t h e r e a d e r a s m u c h a s y o u c a n t o u n d e r s t a n d t h e i s s u e a s q u i c k l y a s p o s s i b l e b y s t a y i n g a s c o n c i s e a s p o s s i b l e . R e m o v e a l l c o d e / a l l i n f o r m a t i o n t h a t i s i r r e l e v a n t t o t h e i s s u e . I f y o u h a v e f o u n d a b u g , t r y t o c r e a t e t h e e a s i e s t c o d e e x a m p l e y o u c a n t o d e m o n s t r a t e y o u r i s s u e , d o n o t j u s t d u m p y o u r w h o l e w o r k f l o w i n t o t h e i s s u e a s s o o n a s y o u h a v e f o u n d a b u g . E . g . , i f y o u t r a i n a m o d e l a n d g e t a n e r r o r a t s o m e p o i n t d u r i n g t h e t r a i n i n g , y o u s h o u l d f i r s t t r y t o u n d e r s t a n d w h a t p a r t o f t h e t r a i n i n g c o d e i s r e s p o n s i b l e f o r t h e e r r o r a n d t r y t o r e p r o d u c e i t w i t h a c o u p l e o f l i n e s . T r y t o u s e d u m m y d a t a i n s t e a d o f f u l l d a t a s e t s . 5 . A d d l i n k s . I f y o u a r e r e f e r r i n g t o a c e r t a i n n a m i n g , m e t h o d , o r m o d e l m a k e s u r e t o p r o v i d e a l i n k s o t h a t t h e r e a d e r c a n b e t t e r u n d e r s t a n d w h a t y o u m e a n . I f y o u a r e r e f e r r i n g t o a s p e c i f i c P R o r i s s u e , m a k e s u r e t o l i n k i t t o y o u r i s s u e . D o n o t a s s u m e t h a t t h e r e a d e r k n o w s w h a t y o u a r e t a l k i n g a b o u t . T h e m o r e l i n k s y o u a d d t o y o u r i s s u e t h e b e t t e r . 6 . F o r m a t t i n g . M a k e s u r e t o n i c e l y f o r m a t y o u r i s s u e b y f o r m a t t i n g c o d e i n t o P y t h o n c o d e s y n t a x , a n d e r r o r m e s s a g e s i n t o n o r m a l c o d e s y n t a x . S e e t h e [ o f f i c i a l G i t H u b f o r m a t t i n g d o c s ] ( h t t p s : / / d o c s . g i t h u b . c o m / e n / g e t - s t a r t e d / w r i t i n g - o n - g i t h u b / g e t t i n g - s t a r t e d - w i t h - w r i t i n g - a n d - f o r m a t t i n g - o n - g i t h u b / b a s i c - w r i t i n g - a n d - f o r m a t t i n g - s y n t a x ) f o r m o r e i n f o r m a t i o n . 7 . T h i n k o f y o u r i s s u e n o t a s a t i c k e t t o b e s o l v e d , b u t r a t h e r a s a b e a u t i f u l e n t r y t o a w e l l - w r i t t e n e n c y c l o p e d i a . E v e r y a d d e d i s s u e i s a c o n t r i b u t i o n t o p u b l i c l y a v a i l a b l e k n o w l e d g e . B y a d d i n g a n i c e l y w r i t t e n i s s u e y o u n o t o n l y m a k e i t e a s i e r f o r m a i n t a i n e r s t o s o l v e y o u r i s s u e , b u t y o u a r e h e l p i n g t h e w h o l e c o m m u n i t y t o b e t t e r u n d e r s t a n d a c e r t a i n a s p e c t o f t h e l i b r a r y . # # H o w t o w r i t e a g o o d P R 1 . B e a c h a m e l e o n . U n d e r s t a n d e x i s t i n g d e s i g n p a t t e r n s a n d s y n t a x a n d m a k e s u r e y o u r c o d e a d d i t i o n s f l o w s e a m l e s s l y i n t o t h e e x i s t i n g c o d e b a s e . P u l l r e q u e s t s t h a t s i g n i f i c a n t l y d i v e r g e f r o m e x i s t i n g d e s i g n p a t t e r n s o r u s e r i n t e r f a c e s w i l l n o t b e m e r g e d . 2 . B e l a s e r f o c u s e d . A p u l l r e q u e s t s h o u l d s o l v e o n e p r o b l e m a n d o n e p r o b l e m o n l y . M a k e s u r e t o n o t f a l l i n t o t h e t r a p o f " a l s o f i x i n g a n o t h e r p r o b l e m w h i l e w e ' r e a d d i n g i t " . I t i s m u c h m o r e d i f f i c u l t t o r e v i e w p u l l r e q u e s t s t h a t s o l v e m u l t i p l e , u n r e l a t e d p r o b l e m s a t o n c e . 3 . I f h e l p f u l , t r y t o a d d a c o d e s n i p p e t t h a t d i s p l a y s a n e x a m p l e o f h o w y o u r a d d i t i o n c a n b e u s e d . 4 . T h e t i t l e o f y o u r p u l l r e q u e s t s h o u l d b e a s u m m a r y o f i t s c o n t r i b u t i o n . 5 . I f y o u r p u l l r e q u e s t a d d r e s s e s a n i s s u e , p l e a s e m e n t i o n t h e i s s u e n u m b e r i n t h e p u l l r e q u e s t d e s c r i p t i o n t o m a k e s u r e t h e y a r e l i n k e d ( a n d p e o p l e c o n s u l t i n g t h e i s s u e k n o w y o u a r e w o r k i n g o n i t ) ; 6 . T o i n d i c a t e a w o r k i n p r o g r e s s p l e a s e p r e f i x t h e t i t l e w i t h ` [ W I P ] ` . T h e s e a r e u s e f u l t o a v o i d d u p l i c a t e d w o r k , a n d t o d i f f e r e n t i a t e i t f r o m P R s r e a d y t o b e m e r g e d ; 7 . T r y t o f o r m u l a t e a n d f o r m a t y o u r t e x t a s e x p l a i n e d i n [ H o w t o w r i t e a g o o d i s s u e ] ( # h o w - t o - w r i t e - a - g o o d - i s s u e ) . 8 . M a k e s u r e e x i s t i n g t e s t s p a s s ; 9 . A d d h i g h - c o v e r a g e t e s t s . N o q u a l i t y t e s t i n g = n o m e r g e . - I f y o u a r e a d d i n g n e w ` @ s l o w ` t e s t s , m a k e s u r e t h e y p a s s u s i n g ` R U N _ S L O W = 1 p y t h o n - m p y t e s t t e s t s / t e s t _ m y _ n e w _ m o d e l . p y ` . C i r c l e C I d o e s n o t r u n t h e s l o w t e s t s , b u t G i t H u b A c t i o n s d o e s e v e r y n i g h t ! 1 0 . A l l p u b l i c m e t h o d s m u s t h a v e i n f o r m a t i v e d o c s t r i n g s t h a t w o r k n i c e l y w i t h m a r k d o w n . S e e [ ` p i p e l i n e _ l a t e n t _ d i f f u s i o n . p y ` ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / m a i n / s r c / d i f f u s e r s / p i p e l i n e s / l a t e n t _ d i f f u s i o n / p i p e l i n e _ l a t e n t _ d i f f u s i o n . p y ) f o r a n e x a m p l e . 1 1 . D u e t o t h e r a p i d l y g r o w i n g r e p o s i t o r y , i t i s i m p o r t a n t t o m a k e s u r e t h a t n o f i l e s t h a t w o u l d s i g n i f i c a n t l y w e i g h d o w n t h e r e p o s i t o r y a r e a d d e d . T h i s i n c l u d e s i m a g e s , v i d e o s , a n d o t h e r n o n - t e x t f i l e s . W e p r e f e r t o l e v e r a g e a h f . c o h o s t e d ` d a t a s e t ` l i k e [ ` h f - i n t e r n a l - t e s t i n g ` ] ( h t t p s : / / h u g g i n g f a c e . c o / h f - i n t e r n a l - t e s t i n g ) o r [ h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s ] ( h t t p s : / / h u g g i n g f a c e . c o / d a t a s e t s / h u g g i n g f a c e / d o c u m e n t a t i o n - i m a g e s ) t o p l a c e t h e s e f i l e s . I f a n e x t e r n a l c o n t r i b u t i o n , f e e l f r e e t o a d d t h e i m a g e s t o y o u r P R a n d a s k a H u g g i n g F a c e m e m b e r t o m i g r a t e y o u r i m a g e s t o t h i s d a t a s e t . # # H o w t o o p e n a P R B e f o r e w r i t i n g c o d e , w e s t r o n g l y a d v i s e y o u t o s e a r c h t h r o u g h t h e e x i s t i n g P R s o r i s s u e s t o m a k e s u r e t h a t n o b o d y i s a l r e a d y w o r k i n g o n t h e s a m e t h i n g . I f y o u a r e u n s u r e , i t i s a l w a y s a g o o d i d e a t o o p e n a n i s s u e t o g e t s o m e f e e d b a c k . Y o u w i l l n e e d b a s i c ` g i t ` p r o f i c i e n c y t o b e a b l e t o c o n t r i b u t e t o ๐Ÿงจ D i f f u s e r s . ` g i t ` i s n o t t h e e a s i e s t t o o l t o u s e b u t i t h a s t h e g r e a t e s t m a n u a l . T y p e ` g i t - - h e l p ` i n a s h e l l a n d e n j o y . I f y o u p r e f e r b o o k s , [ P r o G i t ] ( h t t p s : / / g i t - s c m . c o m / b o o k / e n / v 2 ) i s a v e r y g o o d r e f e r e n c e . F o l l o w t h e s e s t e p s t o s t a r t c o n t r i b u t i n g ( [ s u p p o r t e d P y t h o n v e r s i o n s ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / b l o b / 8 3 b c 6 c 9 4 e a e b 6 f 7 7 0 4 a 2 a 4 2 8 9 3 1 c f 2 d 9 a d 9 7 3 a e 9 / s e t u p . p y # L 2 7 0 ) ) : 1 . F o r k t h e [ r e p o s i t o r y ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s ) b y c l i c k i n g o n t h e ' F o r k ' b u t t o n o n t h e r e p o s i t o r y ' s p a g e . T h i s c r e a t e s a c o p y o f t h e c o d e u n d e r y o u r G i t H u b u s e r a c c o u n t . 2 . C l o n e y o u r f o r k t o y o u r l o c a l d i s k , a n d a d d t h e b a s e r e p o s i t o r y a s a r e m o t e : ` ` ` b a s h $ g i t c l o n e g i t @ g i t h u b . c o m : < y o u r G i t H u b h a n d l e > / d i f f u s e r s . g i t $ c d d i f f u s e r s $ g i t r e m o t e a d d u p s t r e a m h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s . g i t ` ` ` 3 . C r e a t e a n e w b r a n c h t o h o l d y o u r d e v e l o p m e n t c h a n g e s : ` ` ` b a s h $ g i t c h e c k o u t - b a - d e s c r i p t i v e - n a m e - f o r - m y - c h a n g e s ` ` ` * * D o n o t * * w o r k o n t h e ` m a i n ` b r a n c h . 4 . S e t u p a d e v e l o p m e n t e n v i r o n m e n t b y r u n n i n g t h e f o l l o w i n g c o m m a n d i n a v i r t u a l e n v i r o n m e n t : ` ` ` b a s h $ p i p i n s t a l l - e " . [ d e v ] " ` ` ` I f y o u h a v e a l r e a d y c l o n e d t h e r e p o , y o u m i g h t n e e d t o ` g i t p u l l ` t o g e t t h e m o s t r e c e n t c h a n g e s i n t h e l i b r a r y . 5 . D e v e l o p t h e f e a t u r e s o n y o u r b r a n c h . A s y o u w o r k o n t h e f e a t u r e s , y o u s h o u l d m a k e s u r e t h a t t h e t e s t s u i t e p a s s e s . Y o u s h o u l d r u n t h e t e s t s i m p a c t e d b y y o u r c h a n g e s l i k e t h i s : ` ` ` b a s h $ p y t e s t t e s t s / < T E S T _ T O _ R U N > . p y ` ` ` B e f o r e y o u r u n t h e t e s t s , p l e a s e m a k e s u r e y o u i n s t a l l t h e d e p e n d e n c i e s r e q u i r e d f o r t e s t i n g . Y o u c a n d o s o w i t h t h i s c o m m a n d : ` ` ` b a s h $ p i p i n s t a l l - e " . [ t e s t ] " ` ` ` Y o u c a n a l s o r u n t h e f u l l t e s t s u i t e w i t h t h e f o l l o w i n g c o m m a n d , b u t i t t a k e s a b e e f y m a c h i n e t o p r o d u c e a r e s u l t i n a d e c e n t a m o u n t o f t i m e n o w t h a t D i f f u s e r s h a s g r o w n a l o t . H e r e i s t h e c o m m a n d f o r i t : ` ` ` b a s h $ m a k e t e s t ` ` ` ๐Ÿงจ D i f f u s e r s r e l i e s o n ` b l a c k ` a n d ` i s o r t ` t o f o r m a t i t s s o u r c e c o d e c o n s i s t e n t l y . A f t e r y o u m a k e c h a n g e s , a p p l y a u t o m a t i c s t y l e c o r r e c t i o n s a n d c o d e v e r i f i c a t i o n s t h a t c a n ' t b e a u t o m a t e d i n o n e g o w i t h : ` ` ` b a s h $ m a k e s t y l e ` ` ` ๐Ÿงจ D i f f u s e r s a l s o u s e s ` r u f f ` a n d a f e w c u s t o m s c r i p t s t o c h e c k f o r c o d i n g m i s t a k e s . Q u a l i t y c o n t r o l r u n s i n C I , h o w e v e r , y o u c a n a l s o r u n t h e s a m e c h e c k s w i t h : ` ` ` b a s h $ m a k e q u a l i t y ` ` ` O n c e y o u ' r e h a p p y w i t h y o u r c h a n g e s , a d d c h a n g e d f i l e s u s i n g ` g i t a d d ` a n d m a k e a c o m m i t w i t h ` g i t c o m m i t ` t o r e c o r d y o u r c h a n g e s l o c a l l y : ` ` ` b a s h $ g i t a d d m o d i f i e d _ f i l e . p y $ g i t c o m m i t - m " A d e s c r i p t i v e m e s s a g e a b o u t y o u r c h a n g e s . " ` ` ` I t i s a g o o d i d e a t o s y n c y o u r c o p y o f t h e c o d e w i t h t h e o r i g i n a l r e p o s i t o r y r e g u l a r l y . T h i s w a y y o u c a n q u i c k l y a c c o u n t f o r c h a n g e s : ` ` ` b a s h $ g i t p u l l u p s t r e a m m a i n ` ` ` P u s h t h e c h a n g e s t o y o u r a c c o u n t u s i n g : ` ` ` b a s h $ g i t p u s h - u o r i g i n a - d e s c r i p t i v e - n a m e - f o r - m y - c h a n g e s ` ` ` 6 . O n c e y o u a r e s a t i s f i e d , g o t o t h e w e b p a g e o f y o u r f o r k o n G i t H u b . C l i c k o n ' P u l l r e q u e s t ' t o s e n d y o u r c h a n g e s t o t h e p r o j e c t m a i n t a i n e r s f o r r e v i e w . 7 . I t ' s O K i f m a i n t a i n e r s a s k y o u f o r c h a n g e s . I t h a p p e n s t o c o r e c o n t r i b u t o r s t o o ! S o e v e r y o n e c a n s e e t h e c h a n g e s i n t h e P u l l r e q u e s t , w o r k i n y o u r l o c a l b r a n c h a n d p u s h t h e c h a n g e s t o y o u r f o r k . T h e y w i l l a u t o m a t i c a l l y a p p e a r i n t h e p u l l r e q u e s t . # # # T e s t s A n e x t e n s i v e t e s t s u i t e i s i n c l u d e d t o t e s t t h e l i b r a r y b e h a v i o r a n d s e v e r a l e x a m p l e s . L i b r a r y t e s t s c a n b e f o u n d i n t h e [ t e s t s f o l d e r ] ( h t t p s : / / g i t h u b . c o m / h u g g i n g f a c e / d i f f u s e r s / t r e e / m a i n / t e s t s ) . W e l i k e ` p y t e s t ` a n d ` p y t e s t - x d i s t ` b e c a u s e i t ' s f a s t e r . F r o m t h e r o o t o f t h e r e p o s i t o r y , h e r e ' s h o w t o r u n t e s t s w i t h ` p y t e s t ` f o r t h e l i b r a r y : ` ` ` b a s h $ p y t h o n - m p y t e s t - n a u t o - - d i s t = l o a d f i l e - s - v . / t e s t s / ` ` ` I n f a c t , t h a t ' s h o w ` m a k e t e s t ` i s i m p l e m e n t e d ! Y o u c a n s p e c i f y a s m a l l e r s e t o f t e s t s i n o r d e r t o t e s t o n l y t h e f e a t u r e y o u ' r e w o r k i n g o n . B y d e f a u l t , s l o w t e s t s a r e s k i p p e d . S e t t h e ` R U N _ S L O W ` e n v i r o n m e n t v a r i a b l e t o ` y e s ` t o r u n t h e m . T h i s w i l l d o w n l o a d m a n y g i g a b y t e s o f m o d e l s โ€” m a k e s u r e y o u h a v e e n o u g h d i s k s p a c e a n d a g o o d I n t e r n e t c o n n e c t i o n , o r a l o t o f p a t i e n c e ! ` ` ` b a s h $ R U N _ S L O W = y e s p y t h o n - m p y t e s t - n a u t o - - d i s t = l o a d f i l e - s - v . / t e s t s / ` ` ` ` u n i t t e s t ` i s f u l l y s u p p o r t e d , h e r e ' s h o w t o r u n t e s t s w i t h i t : ` ` ` b a s h $ p y t h o n - m u n i t t e s t d i s c o v e r - s t e s t s - t . - v $ p y t h o n - m u n i t t e s t d i s c o v e r - s e x a m p l e s - t e x a m p l e s - v ` ` ` # # # S y n c i n g f o r k e d m a i n w i t h u p s t r e a m ( H u g g i n g F a c e ) m a i n T o a v o i d p i n g i n g t h e u p s t r e a m r e p o s i t o r y w h i c h a d d s r e f e r e n c e n o t e s t o e a c h u p s t r e a m P R a n d s e n d s u n n e c e s s a r y n o t i f i c a t i o n s t o t h e d e v e l o p e r s i n v o l v e d i n t h e s e P R s , w h e n s y n c i n g t h e m a i n b r a n c h o f a f o r k e d r e p o s i t o r y , p l e a s e , f o l l o w t h e s e s t e p s : 1 . W h e n p o s s i b l e , a v o i d s y n c i n g w i t h t h e u p s t r e a m u s i n g a b r a n c h a n d P R o n t h e f o r k e d r e p o s i t o r y . I n s t e a d , m e r g e d i r e c t l y i n t o t h e f o r k e d m a i n . 2 . I f a P R i s a b s o l u t e l y n e c e s s a r y , u s e t h e f o l l o w i n g s t e p s a f t e r c h e c k i n g o u t y o u r b r a n c h : ` ` ` b a s h $ g i t c h e c k o u t - b y o u r - b r a n c h - f o r - s y n c i n g $ g i t p u l l - - s q u a s h - - n o - c o m m i t u p s t r e a m m a i n $ g i t c o m m i t - m ' < y o u r m e s s a g e w i t h o u t G i t H u b r e f e r e n c e s > ' $ g i t p u s h - - s e t - u p s t r e a m o r i g i n y o u r - b r a n c h - f o r - s y n c i n g ` ` ` # # # S t y l e g u i d e F o r d o c u m e n t a t i o n s t r i n g s , ๐Ÿงจ D i f f u s e r s f o l l o w s t h e [ G o o g l e s t y l e ] ( h t t p s : / / g o o g l e . g i t h u b . i o / s t y l e g u i d e / p y g u i d e . h t m l ) .