Novembris 2022, meie teatas millega AWS-i kliendid saavad tekstist pilte luua Stabiilne difusioon kasutavad mudelid Amazon SageMaker JumpStart. Täna tutvustame rõõmuga uut funktsiooni, mis võimaldab kasutajatel Stable Diffusion mudelitega pilte maalida. Maalimine viitab protsessile, mille käigus asendatakse kujutise osa tekstilise viipa alusel teise kujutisega. Esitades algse kujutise, maski kujutise, mis kirjeldab asendatavat osa, ja tekstiviipa, saab stabiilse hajutuse mudel luua uue kujutise, mis asendab maskeeritud ala tekstiviips kirjeldatud objekti, subjekti või keskkonnaga.
Maalimist saate kasutada halvenenud piltide taastamiseks või uute piltide loomiseks teatud jaotistes uudsete teemade või stiilidega. Arhitektuurse projekteerimise valdkonnas saab Stabiilse difusiooni värvimist kasutada hooneplaanide mittetäielike või kahjustatud piirkondade parandamiseks, pakkudes ehitusmeeskondadele täpset teavet. Kliinilise MRI pildistamise korral tuleb patsiendi pea kinni hoida, mis võib anda kehvemaid tulemusi, kuna kärpimisartefakt põhjustab andmete kadu või vähendab diagnostilist täpsust. Kujutise maalimine võib neid ebaoptimaalseid tulemusi tõhusalt leevendada.
Selles postituses tutvustame põhjalikku juhendit järelduste juurutamise ja käitamise kohta, kasutades Stable Diffusion inpainting mudelit kahel viisil: JumpStarti kasutajaliidese (UI) kaudu Amazon SageMaker Studio, ja programmiliselt läbi KiirStardi API-d saadaval SageMaker Python SDK.
Lahenduse ülevaade
Järgmised pildid on maalimise näited. Originaalkujutised on vasakul, maski kujutis on keskel ja mudeli genereeritud maalitud pilt on paremal. Esimese näite puhul esitati modellile originaalkujutis, maski kujutis ja tekstiviipa „valge kass, sinised silmad, kampsun seljas, lamab pargis“ ning negatiivne viipa „halvasti joonistatud jalad. ” Teise näite puhul oli tekstiviip: "Naismodell esitleb graatsiliselt vaba vabaaja pikka kleiti, milles on segu roosadest ja sinistest toonidest."
Suurte mudelite (nt Stable Diffusion) käitamiseks on vaja kohandatud järeldusskripte. Skripti, mudeli ja soovitud eksemplari tõhusa koostöö tagamiseks peate läbima täielikud testid. JumpStart lihtsustab seda protsessi, pakkudes kasutusvalmis skripte, mida on tugevalt testitud. Nendele skriptidele pääsete juurde ühe klõpsuga Studio kasutajaliidese kaudu või väga väheste koodiridade abil KiirStardi API-d.
Järgmised jaotised juhendavad teid mudeli juurutamisel ja järelduste tegemisel Studio kasutajaliidese või JumpStart API-de abil.
Pange tähele, et seda mudelit kasutades nõustute CreativeML Open RAIL++-M litsents.
JumpStartile pääsete juurde Studio kasutajaliidese kaudu
Selles jaotises illustreerime JumpStart mudelite juurutamist Studio kasutajaliidese abil. Kaasasolev video demonstreerib eelkoolitatud Stable Diffusion värvimismudeli leidmist JumpStartis ja selle kasutuselevõttu. Mudeli leht pakub olulist teavet mudeli ja selle kasutamise kohta. Järelduste tegemiseks kasutame ml.p3.2xlarge eksemplari tüüpi, mis tagab madala latentsusajaga järelduste tegemiseks vajaliku GPU kiirenduse taskukohase hinnaga. Kui SageMakeri hostieksemplar on konfigureeritud, valige juurutada. Lõpp-punkt on töökorras ja valmis käsitlema järeldustaotlusi ligikaudu 10 minuti jooksul.
JumpStart pakub näidismärkmikku, mis võib aidata kiirendada aega, mis kulub vastloodud lõpp-punkti kohta järelduste tegemiseks. Märkmikule Studios juurdepääsuks valige Avage märkmik aasta Kasutage Studio Endpointi mudeli lõpp-punkti lehe jaotist.
Kasutage KiirStarti programmiliselt koos SageMaker SDK-ga
JumpStart kasutajaliidese kasutamine võimaldab teil eelkoolitatud mudelit interaktiivselt juurutada vaid mõne klõpsuga. Teise võimalusena saate kasutada JumpStarti mudeleid programmiliselt, kasutades SageMaker Python SDK-sse integreeritud API-sid.
Selles jaotises valime JumpStartis sobiva eelkoolitatud mudeli, juurutame selle mudeli SageMakeri lõpp-punkti ja teeme juurutatud lõpp-punkti kohta järeldused, kasutades selleks SageMaker Python SDK-d. Järgmised näited sisaldavad koodilõike. Täieliku koodi juurde pääsemiseks koos kõigi selles esitluses sisalduvate sammudega vaadake jaotist Sissejuhatus KiirStardi pilditöötlusse – stabiilne hajutusega värvimine näidismärkmik.
Rakendage eelkoolitatud mudel
SageMaker kasutab Dockeri konteinereid erinevate ehitus- ja käitusülesannete jaoks. KiirStart kasutab SageMakeri süvaõppekonteinerid (DLC-d), mis on raamistikuspetsiifilised. Esmalt hangime kõik lisapaketid, samuti skriptid, et käsitleda valitud ülesande koolitust ja järeldusi. Seejärel tuuakse eelnevalt väljaõppinud mudeliartefaktid eraldi model_uris
, mis pakub platvormile paindlikkust. See võimaldab ühe järeldusskriptiga kasutada mitut eelkoolitatud mudelit. Järgmine kood illustreerib seda protsessi:
Järgmisena pakume need ressursid a SageMakeri mudel eksemplar ja juurutage lõpp-punkt:
Pärast mudeli kasutuselevõttu saame sellest saada reaalajas prognoose!
Sisend
Sisend on põhikujutis, maski kujutis ja viip, mis kirjeldab maskeeritud osas asendatavat objekti, objekti või keskkonda. Täiusliku maskipildi loomine maalisiseste efektide jaoks hõlmab mitmeid parimaid tavasid. Alustage konkreetse viipaga ja ärge kartke katsetada soovitud tulemuste saavutamiseks erinevaid stabiilse difusiooni seadistusi. Kasutage maskipilti, mis sarnaneb väga pildile, mida soovite maalida. See lähenemine aitab maalimisalgoritmil täita pildi puuduvad osad, mille tulemuseks on loomulikum välimus. Kvaliteetsed pildid annavad üldiselt paremaid tulemusi, seega veenduge, et teie põhi- ja maskipildid oleksid hea kvaliteediga ja üksteisega sarnased. Lisaks valige detailide säilitamiseks ja artefaktide minimeerimiseks suur ja sujuv mask.
Lõpp-punkt aktsepteerib põhikujutist ja maski töötlemata RGB väärtustena või base64 kodeeritud kujutisena. Järelduskäsitleja dekodeerib pildi selle põhjal content_type
:
- eest
content_type = “application/json”
, peab sisendkoormus olema JSON-sõnastik RGB töötlemata väärtuste, tekstiviipa ja muude valikuliste parameetritega - eest
content_type = “application/json;jpeg”
, peab sisendkoormus olema JSON-sõnastik base64 kodeeritud pildi, tekstiviipa ja muude valikuliste parameetritega
Väljund
Lõpp-punkt võib genereerida kahte tüüpi väljundit: Base64-kodeeritud RGB-kujutise või loodud piltide JSON-sõnastiku. Saate määrata, millist väljundvormingut soovite, määrates accept
päis "application/json"
or "application/json;jpeg"
vastavalt JPEG-pildi või base64 jaoks.
- eest
accept = “application/json”
, tagastab lõpp-punkt pildi RGB-väärtustega JSON-sõnastiku - eest
accept = “application/json;jpeg”
, tagastab lõpp-punkt JSON-sõnastiku, mille JPEG-kujutis on base64.b64-kodeeringuga kodeeritud baitidena
Pange tähele, et RGB töötlemata väärtustega kasuliku koormuse saatmine või vastuvõtmine võib jõuda sisendkoormuse ja vastuse suuruse vaikepiiranguteni. Seetõttu soovitame seadistustega kasutada base64 kodeeritud pilti content_type = “application/json;jpeg”
ja aktsepteeri = "rakendus/json;jpeg".
Järgmine kood on järeldustaotluse näide:
Toetatud parameetrid
Stabiilse difusiooniga värvimismudelid toetavad kujutiste genereerimiseks paljusid parameetreid:
- pilt – Algne pilt.
- mask – Pilt, kus pimendatud osa jääb kujutise genereerimise ajal muutumatuks ja valge osa asendatakse.
- kiire – Viip pildi loomise juhendamiseks. See võib olla string või stringide loend.
- num_inference_steps (valikuline) – müra vähendamise sammude arv kujutise genereerimisel. Rohkem samme viib kvaliteetsema pildini. Kui see on määratud, peab see olema positiivne täisarv. Pange tähele, et rohkem järeldusetappe viib pikema reageerimisajani.
- guidance_scale (valikuline) – Kõrgema juhtimisskaala tulemuseks on kujutise, mis on viipaga tihedamalt seotud, pildikvaliteedi arvelt. Kui see on määratud, peab see olema ujuk.
guidance_scale<=1
ignoreeritakse. - negatiivne_prompt (valikuline) – See juhib kujutise genereerimist selle viipa vastu. Kui see on määratud, peab see olema string või stringide loend ja seda tuleb kasutada koos
guidance_scale
. Kuiguidance_scale
on keelatud, on ka see keelatud. Veelgi enam, kui viip on stringide loend, siisnegative_prompt
peab olema ka stringide loend. - seeme (valikuline) – See fikseerib reprodutseeritavuse jaoks randomiseeritud oleku. Kui see on määratud, peab see olema täisarv. Kui kasutate sama viipa sama seemnega, on tulemuseks olev pilt alati sama.
- partii_suurus (valikuline) – ühe edasikäiguga genereeritavate piltide arv. Kui kasutate väiksemat eksemplari või loote palju pilte, vähendage
batch_size
olema väike arv (1–2). Piltide arv = viipade arv*num_images_per_prompt
.
Piirangud ja eelarvamused
Kuigi Stable Diffusionil on maalimisel muljetavaldav jõudlus, on sellel mitmeid piiranguid ja eelarvamusi. Nende hulka kuuluvad, kuid mitte ainult:
- Mudel ei pruugi luua täpseid nägusid või jäsemeid, kuna treeninguandmed ei sisalda nende funktsioonidega piisavalt pilte.
- Modell on koolitatud LAION-5B andmestik, millel on täiskasvanutele mõeldud sisu ja mis ei pruugi ilma täiendavate kaalutlusteta sobida toote kasutamiseks.
- Mudel ei pruugi hästi töötada muude kui inglise keeltega, kuna mudelit õpetati ingliskeelse tekstiga.
- Mudel ei saa luua piltide sees head teksti.
- Stabiilne difusioonvärvimine töötab tavaliselt kõige paremini madalama eraldusvõimega piltidega, näiteks 256 × 256 või 512 × 512 pikslit. Kõrge eraldusvõimega piltidega (768 × 768 või rohkem) töötades võib meetodil olla raskusi soovitud kvaliteedi ja detailide säilitamisega.
- Kuigi seemne kasutamine võib aidata kontrollida reprodutseeritavust, võib stabiilne difusioonvärvimine anda siiski erinevaid tulemusi sisendi või parameetrite kergete muudatustega. See võib muuta väljundi täpseks häälestamise konkreetsete nõuete jaoks keeruliseks.
- Meetod võib olla raskustes keerukate tekstuuride ja mustrite loomisega, eriti kui need hõlmavad suuri alasid pildis või on olulised maalitud piirkonna üldise sidususe ja kvaliteedi säilitamiseks.
Lisateavet piirangute ja eelarvamuste kohta leiate jaotisest Stable Diffusion Inpainting mudelikaart.
Viipa kaudu genereeritud maskiga värvimislahendus
CLIPSeq on täiustatud süvaõppetehnika, mis kasutab sisendpiltidest maskide genereerimiseks eelkoolitatud CLIP-mudelite võimsust. See lähenemine pakub tõhusat viisi maskide loomiseks selliste ülesannete jaoks nagu pildi segmenteerimine, maalimine ja manipuleerimine. CLIPSeq kasutab CLIP-i sisendpildi tekstikirjelduse genereerimiseks. Seejärel kasutatakse tekstikirjeldust maski genereerimiseks, mis tuvastab pildi pikslid, mis on tekstikirjelduse jaoks asjakohased. Seejärel saab maski kasutada pildi vastavate osade eraldamiseks edasiseks töötlemiseks.
CLIPSeqil on sisendpiltidest maskide genereerimiseks teiste meetodite ees mitmeid eeliseid. Esiteks on see tõhusam meetod, kuna see ei nõua kujutise töötlemist eraldi pildi segmenteerimisalgoritmiga. Teiseks on see täpsem, kuna see võib luua maske, mis on pildi tekstikirjeldusega paremini kooskõlas. Kolmandaks on see mitmekülgsem, kuna saate selle abil luua maske mitmesugustest piltidest.
CLIPSeqil on aga ka mõningaid puudusi. Esiteks võib tehnikal olla teema osas piiranguid, kuna see tugineb eelkoolitatud CLIP-mudelitele, mis ei pruugi hõlmata konkreetseid valdkondi või eriteadmiste valdkondi. Teiseks võib see olla tundlik meetod, kuna see võib pildi tekstikirjelduses esineda vigu.
Lisateavet leiate aadressilt Virtuaalne moekujundus koos generatiivse tehisintellektiga Amazon SageMakeri abil.
Koristage
Kui olete märkmiku käitamise lõpetanud, kustutage kindlasti kõik protsessi käigus loodud ressursid, et tagada arveldamise peatamine. Lõpp-punkti puhastamise kood on saadaval seotud jaotises märkmik.
Järeldus
Selles postituses näitasime, kuidas JumpStarti abil juurutada eelkoolitatud stabiilse difusiooni värvimismudelit. Näitasime selles postituses koodilõike – täielik kood koos kõigi selle demo sammudega on saadaval aadressil JumpStarti sissejuhatus – parandage pildikvaliteeti juhiste järgi näidismärkmik. Proovige lahendust ise ja saatke meile oma kommentaarid.
Mudeli ja selle toimimise kohta lisateabe saamiseks vaadake järgmisi ressursse.
JumpStarti kohta lisateabe saamiseks vaadake järgmisi postitusi:
Autoritest
Dr Vivek Madan on Amazon SageMaker JumpStart meeskonna rakendusteadlane. Ta sai doktorikraadi Illinoisi ülikoolist Urbana-Champaignis ja oli Georgia Techi järeldoktor. Ta on aktiivne masinõppe ja algoritmide kujundamise uurija ning avaldanud ettekandeid EMNLP, ICLR, COLT, FOCS ja SODA konverentsidel.
Alfred Shen on AWSi AI/ML vanemspetsialist. Ta on töötanud Silicon Valleys, olles tehnilistel ja juhtivatel kohtadel erinevates sektorites, sealhulgas tervishoid, rahandus ja kõrgtehnoloogia. Ta on pühendunud rakendusliku AI/ML-uurija, kes keskendub CV-le, NLP-le ja multimodaalsusele. Tema tööd on tutvustatud sellistes väljaannetes nagu EMNLP, ICLR ja Public Health.
- SEO-põhise sisu ja PR-levi. Võimenduge juba täna.
- Platoblockchain. Web3 metaversiooni intelligentsus. Täiustatud teadmised. Juurdepääs siia.
- Allikas: https://aws.amazon.com/blogs/machine-learning/inpaint-images-with-stable-diffusion-using-amazon-sagemaker-jumpstart/
- :on
- $ UP
- 10
- 100
- 2022
- 7
- a
- MEIST
- kiirendama
- aktsepteerima
- Nõustub
- juurdepääs
- täpsus
- täpne
- Saavutada
- aktiivne
- Täiendavad lisad
- Lisaks
- Täiskasvanud
- edasijõudnud
- eelised
- taskukohane
- pärast
- vastu
- AI
- AI / ML
- abivahendid
- algoritm
- joondatud
- Materjal: BPA ja flataatide vaba plastik
- võimaldab
- alati
- Amazon
- Amazon SageMaker
- Amazon SageMaker JumpStart
- ja
- Teine
- API
- API-liidesed
- rakendatud
- lähenemine
- asjakohane
- umbes
- arhitektuuri-
- OLEME
- PIIRKOND
- valdkondades
- AS
- At
- automaatselt
- saadaval
- AWS
- baas
- põhineb
- BE
- sest
- BEST
- parimaid tavasid
- Parem
- erapoolikus
- arvete
- Segu
- sinine
- ehitama
- Ehitus
- by
- CAN
- juhul
- juhuslik
- CAT
- põhjustades
- keskus
- kindel
- raske
- kontrollima
- Vali
- klass
- klõps
- kliiniline
- lähedalt
- kood
- kommentaarid
- täitma
- lõpetamist
- terviklik
- konverentsid
- kaalutlused
- ehitus
- sisaldama
- Konteiner
- Konteinerid
- sisu
- kontrollida
- looma
- loodud
- loomine
- tava
- Kliendid
- andmed
- andmete kadu
- pühendunud
- sügav
- sügav õpe
- vaikimisi
- annab
- näitab
- juurutada
- lähetatud
- juurutamine
- kasutuselevõtu
- kirjeldatud
- kirjeldus
- Disain
- soovitud
- detail
- detailid
- Diffusion
- blokeeritud
- mitu
- laevalaadija
- Ei tee
- Domeenid
- Ära
- ajal
- iga
- tõhusalt
- mõju
- tõhus
- tõhusalt
- kumbki
- võimaldab
- Lõpuks-lõpuni
- Lõpp-punkt
- Inglise
- tagama
- kanne
- keskkond
- vead
- eriti
- oluline
- näide
- näited
- erutatud
- eksperiment
- teadmised
- silmad
- nägu
- mood
- tunnusjoon
- FUNKTSIOONID
- Lisaks
- jalad
- naine
- Tõmmatud
- vähe
- fail
- rahastama
- esimene
- sobima
- Paindlikkus
- Float
- Järel
- eest
- formaat
- edasi
- Alates
- täis
- edasi
- üldiselt
- tekitama
- loodud
- teeniva
- põlvkond
- generatiivne
- Generatiivne AI
- Georgia
- hea
- GPU
- juhised
- suunata
- juhendid
- käepide
- Olema
- juhataja
- Tervis
- tervishoid
- aitama
- kvaliteetne
- kõrgresolutsiooniga
- rohkem
- Tulemus
- omamine
- Hosting
- Kuidas
- Kuidas
- HTML
- HTTPS
- identifitseerib
- Illinois
- pilt
- pildid
- Imaging
- muljetavaldav
- in
- sisaldama
- lisatud
- Kaasa arvatud
- info
- sisend
- Näiteks
- integreeritud
- Interface
- kehtestama
- IT
- ITS
- jpg
- Json
- keel
- Keeled
- suur
- viima
- Õppida
- õppimine
- Tase
- nagu
- piirangud
- piiratud
- piirid
- liinid
- nimekiri
- Pikk
- enam
- kaotus
- masin
- masinõpe
- säilitada
- säilitamine
- tegema
- juhtimisega
- Manipuleerimine
- palju
- mask
- Maskid
- küsimus
- mai..
- meetod
- meetodid
- võib
- protokoll
- puuduvad
- Leevendada
- ML
- mudel
- mudelid
- rohkem
- tõhusam
- Pealegi
- MRI
- mitmekordne
- Natural
- Vajadus
- negatiivne
- Uus
- nlp
- märkmik
- romaan
- November
- number
- objekt
- saama
- of
- Pakkumised
- on
- ONE
- avatud
- töökorras
- et
- originaal
- Muu
- piirjooned
- väljund
- üldine
- enda
- pakette
- lehekülg
- dokumendid
- parameetrid
- park
- osad
- sooritama
- mustrid
- täiuslik
- täitma
- jõudlus
- inimesele
- Platon
- Platoni andmete intelligentsus
- PlatoData
- Punkt
- positsioone
- positiivne
- post
- Postitusi
- võim
- tavad
- vajadus
- Ennustused
- Predictor
- valmis
- esitada
- hind
- protsess
- Töödeldud
- töötlemine
- tootma
- Toode
- anda
- tingimusel
- annab
- pakkudes
- avalik
- rahvatervise
- väljaanded
- avaldatud
- Python
- kvaliteet
- Juhuslikult valitud
- Töötlemata
- reaalajas
- realm
- vastuvõtmine
- soovitama
- vähendama
- Lühendatud
- viitab
- piirkond
- seotud
- asjakohane
- jäänused
- remont
- asendatakse
- taotleda
- Taotlusi
- nõudma
- nõutav
- Nõuded
- Vajab
- uurija
- meenutab
- Vahendid
- vastus
- taastamine
- tulemuseks
- Tulemused
- tagasipöördumine
- Tulu
- RGB
- jooks
- jooksmine
- salveitegija
- sama
- Skaala
- teadlane
- skripte
- SDK
- Teine
- Osa
- lõigud
- Sektorid
- seeme
- segmentatsioon
- väljavalitud
- saatmine
- vanem
- tundlik
- eri
- kehtestamine
- seaded
- mitu
- Räni
- Silicon Valley
- ühekordne
- SUURUS
- väike
- väiksem
- So
- lahendus
- mõned
- sille
- spetsialist
- konkreetse
- määratletud
- stabiilne
- algus
- riik
- Sammud
- Veel
- peatatud
- nöör
- võitlus
- stuudio
- teema
- selline
- Kannatab
- piisav
- toetama
- vastuvõtlik
- võtab
- Ülesanne
- ülesanded
- meeskond
- tech
- Tehniline
- tingimused
- testid
- et
- .
- seetõttu
- Need
- Kolmas
- Läbi
- aeg
- et
- täna
- kokku
- koolitatud
- koolitus
- liigid
- tüüpiliselt
- ui
- Ülikool
- us
- Kasutus
- kasutama
- Kasutaja
- Kasutajaliides
- Kasutajad
- ära kasutama
- kasutab ära
- org
- Väärtused
- sort
- eri
- mitmekülgne
- kaudu
- Video
- Tee..
- Hästi
- mis
- valge
- lai
- will
- koos
- jooksul
- ilma
- Töö
- koos töötama
- töö
- töötab
- saak
- sa
- Sinu
- sephyrnet