Marraskuussa 2022 me ilmoitti jolla AWS-asiakkaat voivat luoda kuvia tekstistä Vakaa diffuusio käyttäviä malleja Amazon SageMaker JumpStart. Tänään olemme innoissamme voidessamme esitellä uuden ominaisuuden, jonka avulla käyttäjät voivat maalata kuvia Stable Diffusion -malleilla. Maalauksella tarkoitetaan prosessia, jossa osa kuvasta korvataan toisella kuvalla tekstikehotteen perusteella. Antamalla alkuperäisen kuvan, maskikuvan, joka hahmottelee korvattavan osan, ja tekstikehotteen, Stable Diffusion -malli voi tuottaa uuden kuvan, joka korvaa peitetyn alueen tekstikehotteessa kuvatulla objektilla, aiheella tai ympäristöllä.
Voit käyttää maalausta palauttaaksesi huonontuneet kuvat tai luodaksesi uusia kuvia, joissa on uusia aiheita tai tyylejä tietyissä osissa. Arkkitehtisuunnittelun alueella Stable Diffusion -maalausta voidaan soveltaa rakennuspiirustusten epätäydellisten tai vaurioituneiden alueiden korjaamiseen, mikä tarjoaa tarkat tiedot rakennusmiehistöille. Kliinisen MRI-kuvauksen yhteydessä potilaan pää on pidätettävä, mikä voi johtaa huonompiin tuloksiin, koska rajausartefakti aiheuttaa tietojen menetyksen tai heikentää diagnostista tarkkuutta. Kuvamaalaus voi tehokkaasti lieventää näitä epäoptimaalisia tuloksia.
Tässä viestissä esittelemme kattavan oppaan päättelyn käyttöönotosta ja suorittamisesta Stable Diffusion -maalausmallilla kahdella tavalla: JumpStartin käyttöliittymän (UI) kautta Amazon SageMaker Studio, ja ohjelmallisesti läpi JumpStart API:t saatavana SageMaker Python SDK.
Ratkaisun yleiskatsaus
Seuraavat kuvat ovat esimerkkejä maalauksesta. Alkuperäiset kuvat ovat vasemmalla, maskikuva keskellä ja mallin luoma maalattu kuva oikealla. Ensimmäisessä esimerkissä mallille annettiin alkuperäinen kuva, naamiokuva ja tekstikehote "valkoinen kissa, siniset silmät, villapaita pukeutunut, makaa puistossa" sekä negatiivinen kehote "huonosti piirretyt jalat. ” Toisessa esimerkissä tekstikehote oli "Naismalli esittelee kauniisti rennon pitkän mekon, jossa on sekoitus vaaleanpunaisia ja sinisiä sävyjä."
Suurten mallien, kuten Stable Diffusion, käyttäminen vaatii mukautettuja päättelykomentosarjoja. Sinun on suoritettava päästä päähän -testejä varmistaaksesi, että komentosarja, malli ja haluttu ilmentymä toimivat yhdessä tehokkaasti. JumpStart yksinkertaistaa tätä prosessia tarjoamalla käyttövalmiita komentosarjoja, jotka on testattu vankasti. Voit käyttää näitä komentosarjoja yhdellä napsautuksella Studion käyttöliittymän kautta tai vain harvoilla koodiriveillä JumpStart API:t.
Seuraavat osiot opastavat sinua mallin käyttöönotossa ja päättelyn suorittamisessa joko Studio-käyttöliittymän tai JumpStart-sovellusliittymien avulla.
Huomaa, että käyttämällä tätä mallia hyväksyt CreativeML Open RAIL++-M -lisenssi.
Käytä JumpStartia Studion käyttöliittymän kautta
Tässä osiossa kuvaamme JumpStart-mallien käyttöönottoa Studion käyttöliittymässä. Oheinen video osoittaa esikoulutetun Stable Diffusion -maalausmallin paikallistamisen JumpStartissa ja sen käyttöönoton. Mallisivulla on olennaisia tietoja mallista ja sen käytöstä. Päätelmien suorittamiseen käytämme ml.p3.2xlarge-instanssityyppiä, joka tarjoaa tarvittavan GPU-kiihdytyksen alhaisen latenssin päättelyyn edulliseen hintaan. Kun SageMaker-isännöintiesiintymä on määritetty, valitse Sijoittaa. Päätepiste on toimintakuntoinen ja valmis käsittelemään johtopäätöspyyntöjä noin 10 minuutissa.
JumpStart tarjoaa mallimuistikirjan, joka voi auttaa nopeuttamaan vastikään luodun päätepisteen päättelyn suorittamiseen kuluvaa aikaa. Voit käyttää muistikirjaa Studiossa valitsemalla Avaa Muistikirja vuonna Käytä Endpointia Studiosta mallin päätepistesivun osio.
Käytä JumpStartia ohjelmallisesti SageMaker SDK:n kanssa
JumpStart-käyttöliittymän avulla voit ottaa esikoulutetun mallin käyttöön interaktiivisesti vain muutamalla napsautuksella. Vaihtoehtoisesti voit käyttää JumpStart-malleja ohjelmallisesti käyttämällä SageMaker Python SDK:han integroituja sovellusliittymiä.
Tässä osiossa valitsemme JumpStartissa sopivan esikoulutetun mallin, otamme tämän mallin käyttöön SageMaker-päätepisteeseen ja teemme päätelmiä käyttöönotetusta päätepisteestä käyttäen SageMaker Python SDK:ta. Seuraavat esimerkit sisältävät koodinpätkät. Saat täydellisen koodin ja kaikki tämän esittelyn vaiheet käsiksi kohdasta Johdatus JumpStart-kuvankäsittelyyn – Stable Diffusion Inpainting muistikirja esimerkkinä.
Ota esikoulutettu malli käyttöön
SageMaker käyttää Docker-säiliöitä erilaisiin rakennus- ja ajonaikaisiin tehtäviin. JumpStart käyttää SageMaker Deep Learning -säiliöt (DLC:t), jotka ovat kehyskohtaisia. Haemme ensin mahdolliset lisäpaketit sekä komentosarjat valitun tehtävän koulutusta ja päätelmiä varten. Sitten esiopetetut malliesineet haetaan erikseen model_uris
, joka tarjoaa alustalle joustavuutta. Tämä mahdollistaa useiden esikoulutettujen mallien käytön yhdellä päättelykomentosarjalla. Seuraava koodi havainnollistaa tätä prosessia:
Seuraavaksi tarjoamme nämä resurssit a SageMaker malli esiintyy ja ota käyttöön päätepiste:
Kun malli on otettu käyttöön, voimme saada siitä reaaliaikaisia ennusteita!
panos
Syöte on peruskuva, maskikuva ja kehote, joka kuvaa objektin, objektin tai ympäristön, joka korvataan peitetyssä osassa. Täydellisen maskikuvan luominen maalaustehosteille sisältää useita parhaita käytäntöjä. Aloita tietystä kehotuksesta ja älä epäröi kokeilla erilaisia Stable Diffusion -asetuksia saavuttaaksesi halutut tulokset. Käytä maskikuvaa, joka muistuttaa läheisesti kuvaa, jonka haluat maalata. Tämä lähestymistapa auttaa maalausalgoritmia täydentämään kuvan puuttuvat osat, mikä johtaa luonnollisempaan ulkonäköön. Korkealaatuiset kuvat tuottavat yleensä parempia tuloksia, joten varmista, että perus- ja maskikuvasi ovat hyvälaatuisia ja muistuttavat toisiaan. Valitse lisäksi suuri ja sileä maskikuva yksityiskohtien säilyttämiseksi ja esineiden minimoimiseksi.
Päätepiste hyväksyy peruskuvan ja maskin raaka-RGB-arvoina tai base64-koodatuksi kuvaksi. Päätelmien käsittelijä purkaa kuvan sen perusteella content_type
:
- varten
content_type = “application/json”
, syöttöhyötykuorman on oltava JSON-sanakirja, jossa on raaka RGB-arvot, tekstikehote ja muut valinnaiset parametrit - varten
content_type = “application/json;jpeg”
, syöttöhyötykuorman on oltava JSON-sanakirja, jossa on base64-koodattu kuva, tekstikehote ja muut valinnaiset parametrit
ulostulo
Päätepiste voi luoda kahden tyyppisiä tulosteita: Base64-koodatun RGB-kuvan tai JSON-sanakirjan luoduista kuvista. Voit määrittää haluamasi tulostusmuodon asettamalla accept
otsikko kohteeseen "application/json"
or "application/json;jpeg"
JPEG-kuvalle tai base64:lle.
- varten
accept = “application/json”
, päätepiste palauttaa JSON-sanakirjan kuvan RGB-arvoineen - varten
accept = “application/json;jpeg”
, päätepiste palauttaa JSON-sanakirjan, jossa on JPEG-kuva tavuina base64.b64-koodauksella
Huomaa, että hyötykuorman lähettäminen tai vastaanottaminen raaka-RGB-arvoilla voi saavuttaa syötteen hyötykuorman ja vastauskoon oletusrajat. Siksi suosittelemme käyttämään base64-koodattua kuvaa asettamalla content_type = “application/json;jpeg”
ja hyväksy = "sovellus/json;jpeg".
Seuraava koodi on esimerkki johtopäätöspyynnöstä:
Tuetut parametrit
Vakaa diffuusiomaalausmallit tukevat monia parametreja kuvan luomiseen:
- kuva – Alkuperäinen kuva.
- naamio – Kuva, jossa pimennetty osa pysyy muuttumattomana kuvan luomisen aikana ja valkoinen osa korvataan.
- nopea – Keho, joka ohjaa kuvan luomista. Se voi olla merkkijono tai merkkijonoluettelo.
- num_inference_steps (valinnainen) – Kohinanpoistovaiheiden määrä kuvan luomisen aikana. Useammat vaiheet johtavat laadukkaampaan kuvaan. Jos määritetään, sen on oltava positiivinen kokonaisluku. Huomaa, että useampi päättelyvaihe johtaa pidempään vasteaikaan.
- guidance_scale (valinnainen) – Korkeampi ohjausasteikko johtaa siihen, että kuva liittyy lähemmin kehotteeseen kuvanlaadun kustannuksella. Jos määritetään, sen on oltava kelluva.
guidance_scale<=1
ohitetaan. - negatiivinen_kehote (valinnainen) – Tämä ohjaa kuvan luomista tätä kehotetta vastaan. Jos se on määritetty, sen on oltava merkkijono tai merkkijonoluettelo ja sitä on käytettävä
guidance_scale
. Josguidance_scale
on poistettu käytöstä, myös tämä on poistettu käytöstä. Lisäksi, jos kehote on merkkijonoluettelo, niinnegative_prompt
on myös oltava merkkijonoluettelo. - siemenet (valinnainen) – Tämä korjaa satunnaistetun tilan toistettavuutta varten. Jos määritetään, sen on oltava kokonaisluku. Aina kun käytät samaa kehotetta samalla siemenellä, tuloksena oleva kuva on aina sama.
- eräkoko (valinnainen) – Yhdellä eteenpäinsiirrolla luotavien kuvien määrä. Jos käytät pienempää esiintymää tai luot useita kuvia, pienennä
batch_size
olla pieni määrä (1-2). Kuvien määrä = kehotteiden määrä*num_images_per_prompt
.
Rajoitukset ja ennakkoluulot
Vaikka Stable Diffusionilla on vaikuttava suorituskyky maalauksessa, se kärsii useista rajoituksista ja harhoista. Näitä ovat muun muassa:
- Malli ei välttämättä luo tarkkoja kasvoja tai raajoja, koska harjoitustiedot eivät sisällä riittävästi kuvia näillä ominaisuuksilla.
- Malli on koulutettu LAION-5B tietojoukko, joka sisältää vain aikuisille suunnattua sisältöä ja joka ei välttämättä sovellu tuotteen käyttöön ilman lisähuomiota.
- Malli ei välttämättä toimi hyvin muiden kuin englannin kielten kanssa, koska malli on koulutettu englanninkielisellä tekstillä.
- Malli ei voi luoda hyvää tekstiä kuviin.
- Vakaa diffuusiomaalaus toimii tyypillisesti parhaiten kuvissa, joiden resoluutio on pienempi, kuten 256 × 256 tai 512 × 512 pikseliä. Kun työskennellään korkearesoluutioisilla kuvilla (768 × 768 tai suurempi), menetelmällä saattaa olla vaikeuksia säilyttää haluttu laatu ja yksityiskohdat.
- Vaikka siemenen käyttö voi auttaa kontrolloimaan toistettavuutta, Stable Diffusion -maalaus voi silti tuottaa vaihtelevia tuloksia pienillä muutoksilla syötteeseen tai parametreihin. Tämä voi olla haastavaa hienosäätää lähdön tiettyjä vaatimuksia varten.
- Menetelmällä voi olla vaikeuksia luoda monimutkaisia tekstuureja ja kuvioita, varsinkin kun ne kattavat suuria alueita kuvan sisällä tai ovat välttämättömiä maalatun alueen yleisen koherenssin ja laadun säilyttämiseksi.
Lisätietoja rajoituksista ja harhoista on kohdassa Stable Diffusion Inpainting -mallikortti.
Maalausratkaisu maskilla, joka on luotu kehotteen kautta
CLIPSeq on edistynyt syväoppimistekniikka, joka hyödyntää valmiiksi koulutettuja CLIP-malleja (Contrastive Language-Image Pretraining) maskien luomiseen syöttökuvista. Tämä lähestymistapa tarjoaa tehokkaan tavan luoda maskeja sellaisille tehtäville kuin kuvien segmentointi, maalaus ja manipulointi. CLIPSeq käyttää CLIP:iä luomaan tekstikuvauksen syöttökuvasta. Tekstikuvausta käytetään sitten luomaan maski, joka tunnistaa kuvan pikselit, jotka liittyvät tekstin kuvaukseen. Maskia voidaan sitten käyttää kuvan asiaankuuluvien osien eristämiseen jatkokäsittelyä varten.
CLIPSeqillä on useita etuja muihin menetelmiin verrattuna maskien luomiseen syötekuvista. Ensinnäkin se on tehokkaampi menetelmä, koska se ei vaadi kuvan käsittelyä erillisellä kuvan segmentointialgoritmilla. Toiseksi se on tarkempi, koska se voi luoda maskeja, jotka ovat paremmin linjassa kuvan tekstikuvauksen kanssa. Kolmanneksi se on monipuolisempi, koska voit käyttää sitä luomaan maskeja monista erilaisista kuvista.
CLIPSeqillä on kuitenkin myös joitain haittoja. Ensinnäkin tekniikalla voi olla aihekohtaisia rajoituksia, koska se perustuu valmiiksi koulutettuihin CLIP-malleihin, jotka eivät välttämättä kata tiettyjä alueita tai osaamisalueita. Toiseksi se voi olla herkkä menetelmä, koska se on altis virheille kuvan tekstikuvauksessa.
Lisätietoja on Virtuaalinen muotityyli generatiivisella tekoälyllä Amazon SageMakerin avulla.
Puhdistaa
Kun olet lopettanut muistikirjan käyttämisen, muista poistaa kaikki prosessin aikana luodut resurssit varmistaaksesi, että laskutus pysäytetään. Koodi päätepisteen puhdistamiseksi on saatavilla liitetyssä osiossa muistikirja.
Yhteenveto
Tässä viestissä osoitimme, kuinka esikoulutettu Stable Diffusion -maalausmalli otetaan käyttöön JumpStartin avulla. Tässä viestissä näytimme koodinpätkät – koko koodi ja kaikki tämän esittelyn vaiheet ovat saatavilla osoitteessa Johdatus JumpStartiin – Paranna kuvanlaatua kehotteen ohjaamana esimerkkimuistikirja. Kokeile ratkaisua itse ja lähetä meille kommenttisi.
Saat lisätietoja mallista ja sen toiminnasta seuraavissa resursseissa:
Saat lisätietoja JumpStartista tutustumalla seuraaviin viesteihin:
Tietoja Tekijät
Tohtori Vivek Madan on soveltuva tutkija Amazon SageMaker JumpStart -tiimin kanssa. Hän sai tohtorin tutkinnon Illinoisin yliopistosta Urbana-Champaignissa ja oli tutkijatohtorina Georgia Techissä. Hän on aktiivinen koneoppimisen ja algoritmisuunnittelun tutkija ja julkaissut julkaisuja EMNLP-, ICLR-, COLT-, FOCS- ja SODA-konferensseissa.
Alfred Shen on AWS:n vanhempi AI/ML-asiantuntija. Hän on työskennellyt Piilaaksossa teknisissä ja johtotehtävissä eri aloilla, mukaan lukien terveydenhuolto, rahoitus ja huipputeknologia. Hän on omistautunut soveltava AI/ML-tutkija, joka keskittyy CV:hen, NLP:hen ja multimodaalisuuteen. Hänen työtään on esitelty julkaisuissa, kuten EMNLP, ICLR ja Public Health.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- Platoblockchain. Web3 Metaverse Intelligence. Tietoa laajennettu. Pääsy tästä.
- Lähde: https://aws.amazon.com/blogs/machine-learning/inpaint-images-with-stable-diffusion-using-amazon-sagemaker-jumpstart/
- :On
- $ YLÖS
- 10
- 100
- 2022
- 7
- a
- Meistä
- kiihdyttää
- Hyväksyä
- hyväksyy
- pääsy
- tarkkuus
- tarkka
- Saavuttaa
- aktiivinen
- lisä-
- Lisäksi
- Aikuinen
- kehittynyt
- etuja
- edullinen
- Jälkeen
- vastaan
- AI
- AI / ML
- aids
- algoritmi
- linjassa
- Kaikki
- mahdollistaa
- aina
- Amazon
- Amazon Sage Maker
- Amazon SageMaker JumpStart
- ja
- Toinen
- api
- API
- sovellettu
- lähestymistapa
- sopiva
- suunnilleen
- arkkitehtuurin
- OVAT
- ALUE
- alueet
- AS
- At
- automaattisesti
- saatavissa
- AWS
- pohja
- perustua
- BE
- koska
- PARAS
- parhaat käytännöt
- Paremmin
- puolueellisuus
- laskutus
- Sekoitus
- sininen
- rakentaa
- Rakentaminen
- by
- CAN
- tapaus
- rento
- KISSA
- aiheuttaen
- keskus
- tietty
- haastava
- tarkastaa
- Valita
- luokka
- napsauttaa
- Kliininen
- tarkasti
- koodi
- kommentit
- täydellinen
- Suoritettuaan
- kattava
- konferenssit
- näkökohdat
- rakentaminen
- sisältää
- Kontti
- Kontit
- pitoisuus
- ohjaus
- luoda
- luotu
- Luominen
- asiakassuhde
- Asiakkaat
- tiedot
- tietojen menetys
- omistautunut
- syvä
- syvä oppiminen
- oletusarvo
- Antaa
- osoittaa
- sijoittaa
- käyttöön
- levityspinnalta
- käyttöönotto
- on kuvattu
- kuvaus
- Malli
- haluttu
- yksityiskohta
- yksityiskohdat
- Diffuusio
- vammaiset
- useat
- Satamatyöläinen
- ei
- verkkotunnuksia
- Dont
- aikana
- kukin
- tehokkaasti
- vaikutukset
- tehokas
- tehokkaasti
- myöskään
- mahdollistaa
- päittäin
- päätepiste
- Englanti
- varmistaa
- merkintä
- ympäristö
- virheet
- erityisesti
- olennainen
- esimerkki
- Esimerkit
- innoissaan
- kokeilu
- asiantuntemus
- katse
- kasvot
- Muoti
- Ominaisuus
- Ominaisuudet
- Featuring
- jalat
- naaras-
- Haettu
- harvat
- filee
- rahoittaa
- Etunimi
- sovittaa
- Joustavuus
- kellua
- jälkeen
- varten
- muoto
- Eteenpäin
- alkaen
- koko
- edelleen
- yleensä
- tuottaa
- syntyy
- tuottaa
- sukupolvi
- generatiivinen
- Generatiivinen AI
- Georgia
- hyvä
- GPU
- ohjaus
- ohjaavat
- Oppaat
- kahva
- Olla
- pää
- terveys
- terveydenhuollon
- auttaa
- korkealaatuisia
- korkea resoluutio
- korkeampi
- Osuma
- pito
- hotellit
- Miten
- Miten
- HTML
- HTTPS
- tunnistaa
- Illinois
- kuva
- kuvien
- Imaging
- vaikuttava
- in
- sisältää
- mukana
- Mukaan lukien
- tiedot
- panos
- esimerkki
- integroitu
- liitäntä
- esitellä
- IT
- SEN
- jpg
- json
- Kieli
- kielet
- suuri
- johtaa
- OPPIA
- oppiminen
- Taso
- pitää
- rajoitukset
- rajallinen
- rajat
- linjat
- Lista
- Pitkät
- kauemmin
- pois
- kone
- koneoppiminen
- ylläpitää
- ylläpitäminen
- tehdä
- johto-
- Manipulointi
- monet
- naamio
- Maskit
- asia
- Saattaa..
- menetelmä
- menetelmät
- ehkä
- minuuttia
- puuttuva
- lieventää
- ML
- malli
- mallit
- lisää
- tehokkaampi
- Lisäksi
- MK
- moninkertainen
- Luonnollinen
- Tarve
- negatiivinen
- Uusi
- NLP
- muistikirja
- romaani
- marraskuu
- numero
- objekti
- saada
- of
- Tarjoukset
- on
- ONE
- avata
- toiminta-
- tilata
- alkuperäinen
- Muut
- ääriviivat
- ulostulo
- yleinen
- oma
- paketit
- sivulla
- paperit
- parametrit
- Puisto
- osat
- kulkea
- kuviot
- täydellinen
- Suorittaa
- suorituskyky
- foorumi
- Platon
- Platonin tietotieto
- PlatonData
- Kohta
- kantoja
- positiivinen
- Kirje
- Viestejä
- teho
- käytännöt
- tarkka
- Ennusteet
- Predictor
- valmis
- esittää
- hinta
- prosessi
- Käsitelty
- käsittely
- tuottaa
- Tuotteet
- toimittaa
- mikäli
- tarjoaa
- tarjoamalla
- julkinen
- kansanterveyden
- julkaisut
- julkaistu
- Python
- laatu
- satunnaistettu
- raaka
- reaaliaikainen
- valtakunta
- vastaanottava
- suositella
- vähentää
- Vähentynyt
- viittaa
- alue
- liittyvä
- merkityksellinen
- jäännökset
- korjaus
- korvataan
- pyyntö
- pyynnöt
- edellyttää
- tarvitaan
- vaatimukset
- Vaatii
- tutkija
- Muistuttaa
- Esittelymateriaalit
- vastaus
- palauttaminen
- Saatu ja
- tulokset
- palata
- Tuotto
- RGB
- ajaa
- juoksu
- sagemaker
- sama
- Asteikko
- Tiedemies
- skriptejä
- sdk
- Toinen
- Osa
- osiot
- sektorit
- siemenet
- jakautuminen
- valittu
- lähettäminen
- vanhempi
- sensible
- erillinen
- asetus
- settings
- useat
- Pii
- Silicon Valley
- single
- Koko
- pieni
- pienempiä
- So
- ratkaisu
- jonkin verran
- jänneväli
- asiantuntija
- erityinen
- määritelty
- vakaa
- Alkaa
- Osavaltio
- Askeleet
- Yhä
- pysähtynyt
- jono
- taistelu
- studio
- aihe
- niin
- kärsii
- riittävä
- tuki
- herkkä
- vie
- Tehtävä
- tehtävät
- joukkue-
- teknologia
- Tekninen
- ehdot
- testit
- että
- -
- siksi
- Nämä
- kolmas
- Kautta
- aika
- että
- tänään
- yhdessä
- koulutettu
- koulutus
- tyypit
- tyypillisesti
- ui
- yliopisto
- us
- Käyttö
- käyttää
- käyttäjä
- Käyttöliittymä
- Käyttäjät
- käyttää
- hyödyntää
- Laakso
- arvot
- lajike
- eri
- monipuolinen
- kautta
- Video
- Tapa..
- HYVIN
- joka
- valkoinen
- leveä
- tulee
- with
- sisällä
- ilman
- Referenssit
- työskennellä yhdessä
- työskentely
- toimii
- tuotto
- Voit
- Sinun
- zephyrnet