Lag dine egne kunstige feberdrømmer med Googles DeepDream

Lag dine egne kunstige feberdrømmer med Googles DeepDream / Fremtidig Tech

Hvis du har vært på de geeky delene av Internett i det siste, har du kanskje lagt merke til noen veldig rare bilder som dukker opp, koblet på en eller annen måte til Google.

De ser litt ut som noen tok en lettere til filmens lager av tid og rom. Eller liker å spille “Hvor er Waldo” på syre. Eller kanskje som om noen snudde John Carpenter's Thing Get Smart: Se de beste futuristiske handlingsfilmene Få smart: Se de beste futuristiske handlingsfilmene Det finnes en rekke filmer som kombinerer hardhitting action med dype konsepter. Dette er smarte, tankevekkende filmer som gir en mest velkommen form for intelligent underholdning. Les mer løs i en dyrebutikk.

Uansett, de er ganske trippy.

Disse bildene er utgangene til Googles DeepDream nevrale nettverket. Nettverket, som tidligere ble brukt til å klassifisere bilder, har nå blitt gjenopprettet for å opprette dem. Nettverket identifiserer funksjoner i bilder - kanskje som krøll ser litt ut som et øye, eller at silhouetten ser ut som en fugl. Den legger vekt på elementene den gjenkjenner, om og om igjen, langsomt forvandler det resulterende bildet til et levende og surrealistisk drømskap.

Nettverket, på grunn av sine treningsdata, har en fiksering med hunder, øyne og tendrils, noe som fører til en unik visuell stil som nesten ser ut som kunst.

Nylig ga Google ut DeepDream til offentligheten. Det er et forskningsverktøy, så oppsettet er litt komplisert, men det er perfekt gjennomførbart for alle - selv om du ikke har noen programmeringskunnskap.

I dag skal jeg snakke deg gjennom hvordan du installerer den og bruker den til å generere galte bilder av deg selv. La oss komme i gang.

Verktøyene du trenger

Først av er denne veiledningen kun for Windows. Linux-brukere uten tilgang til en Windows-maskin er velkomne til å prøve denne opplæringen, hvilke folk synes å være like, men jeg har ikke personlig prøvd.

For å komme i gang må du laste ned og installere følgende verktøy før du gjør noe annet. Resten av opplæringen vil ikke fungere uten at disse komponentene er installert.

  1. Vagrant [Ikke lenger tilgjengelig] - Vagrant er et verktøy for å sette opp standardiserte utviklingsmiljøer. Det vil i stor grad forenkle oppsettet.
  2. Virtualbox - Virtualbox lar deg kjøre andre operativsystemer fra Windows Slik bruker du VirtualBox: Brukerhåndbok Slik bruker du VirtualBox: Brukerhåndbok Med VirtualBox kan du enkelt installere og teste flere operativsystemer. Vi viser deg hvordan du konfigurerer Windows 10 og Ubuntu Linux som en virtuell maskin. Les mer . I dette tilfellet simulerer vi en Linux-maskin.
  3. OpenSSH - OpenSSH er et verktøy for tilkobling via kommandolinje til bestemte Linux-maskiner 4 Enkle måter å bruke SSH på i Windows 4 Enkle måter å bruke SSH på i Windows SSH er de facto-løsningen for sikker tilgang til eksterne terminaler på Linux og andre UNIX-lignende systemer . Hvis du har en ekstern SSH-server du vil ha tilgang til, må du laste ned en SSH-klient ... Les mer. I dette tilfellet bruker vi den til å snakke med vår virtuelle Linux-maskin.

Vær oppmerksom på at OpenSSH vil kaste en stor, skummel advarsel under installasjonen at du må sette opp passwd-filen, ellers vil helvete og svovel regne ned rundt ørene dine.

Ignorer dette. Vagrant vil ta vare på det for deg.

Installere Dreamer

Nå som vi har oppsettet ute av veien, la oss komme seg til messingstenger. Last ned bildedromermodulen fra GitHub som en zip-fil, og hent den ut i ditt Vagrant-oppsett på “C: \ HashiCorp \ Vagrant \ bin \“.

Det er ganske mye det med hensyn til oppsett. Nå må vi bare skru på saken.

Åpne Windows PowerShell (du kan finne den ved å skrive “kraftskall” inn i startmenyen). Det er et behov for mye erstatning for den gamle Windows-kommandoprompten. 6 Grunnleggende PowerShell-kommandoer for å få mer ut av Windows 6. Basic PowerShell-kommandoer for å få mer ut av Windows. PowerShell er det du får når du gir steroider til Windows Command Prompt. Det gir deg kontroll over nesten alle aspekter av Windows-systemet. Vi hjelper deg med å hoppe opp sin læringskurve. Les mer, og det vil tjene oss godt her.

Når PowerShell åpnes, skriv inn “cd C: \ HashiCorp \ Vagrant \ bin \ image-dreamer“. Det setter deg inn i samme katalog, du bare pakket inn modulen. Nå er det på tide å aktivere vår Vagrant-installasjon. Type “vagrant opp” og trykk enter.

På dette tidspunktet begynner systemet å gjøre en haug med førstegangsoppsett. På dette tidspunktet vil du kanskje overføre til Netflix for litt, fordi dette trinnet kan ta over en time, avhengig av maskinens hastighet.

Hvis du får en feil som sier at den virtuelle maskinen mislyktes, kan du ha det samme problemet jeg opprinnelig hadde, som er at virtuelle maskiner er deaktivert som standard i BIOS. Du må starte datamaskinen på nytt, gå inn i BIOS-oppsettet, og se om du kan finne et alternativ til “Deaktiver virtualisering“. Sjekk under sikkerhetsinnstillingene. Hvis du finner den, slå den av og prøv powerhell igjen.

Når installasjonen er ferdig, skriv inn vagrant ssh inn i kommandolinjen. Det vil be deg om en passordfrase. Trykk Enter uten å skrive noe. Det vil da be deg om passordet. Type “vagrant” og trykk Enter. På dette tidspunktet vil det gi deg en terminal til den virtuelle Linux-maskinen, og vi er klar til å bruke DeepDream.

Type “cd / vagrant“, deretter “ls” (Linux-kommandoen for å liste innholdet i katalogen). Du bør se filene i bilde-drømmer-katalogen. Du kan nå samhandle med disse filene som om du brukte en Linux-maskin.

På dette tidspunktet må du ta alle bildene du vil konvertere, sørg for at de er i .jpg-format, og dump dem inn i “C: / HashiCorp / Vagrant / bin / bilde-dreamer /“. Hvis du skriver inn “ls” igjen, bør du se dem.

Bruke DeepDream

Den mest grunnleggende bruk av DeepDream er å bruke standardanalysen ved å skrive

python dreamify.py yourfilename.jpg dream_yourfilename.jpg

Tydeligvis må du erstatte navnet på filen din for “yourfilename”. Dette vil gjelde standardanalysealternativet ('start_4c / utgang') til hvilket utdatanavn du angir. Slik genereres de fleste bildene. Denne funksjonen gjør i utgangspunktet dette:

Inn i dette

Vær tålmodig mens den kjører! Store bilder kan ta svært lang tid, selv på relativt rask maskinvare. Nedskalere bildene dine når det er mulig. Hvis du får et krasj fordi du er ute av minne, rediger du “vagrantfile” fil gjennom kommandolinjen powershell linux, og øk v.memory til noe rimelig som 10000. Hvis du får en effekt som er mindre dramatisk enn du håpet, kan du prøve å kjøre programmet igjen på utdatabildet. Dette bør føre til sterkere forvrengning.

Dette er allerede veldig kul. Men bare ved å bruke programvaren på denne måten, går det glipp av noen ekstremt kule kommandolinjealternativer som kan endre oppførselen til programvaren. For eksempel, for å bare bruke funksjonsdetektoren for linjer, trenger du bare å skrive:

python dreamify.py yourfilename.jpg dream_yourfilename.jpg “conv2 / 3 x 3”

Dette gir produksjon som ser slik ut:

For å bruke funksjonsdetektoren for øyne, skriver du bare:

python dreamify.py yourfilename.jpg dream_yourfilename.jpg “inception_4a / utdata”

Det er en rekke av disse kommandolinjevalgene du kan spille med - altfor mange for meg å gå inn her. Du finner en mer omfattende rundown her og her.

Det er mange alternativer her. Du kan også få overbevisende resultater ved å stable disse alternativene. For eksempel, her er noen bilder jeg genererte ved å kjøre standardfilteret, etterfulgt av linjeprøven.

Dette er kult, rett?

Når du installerer DeepDream, ta litt tid og spill med den. Det er allerede et blomstrende Reddit-fellesskap som dannes rundt å skape disse bildene. Se hva du kan opprette! Legg inn dine mest interessante resultater i kommentarene.

Billedkreditter: Van Gogh Portrett, Van Gogh Landskap, Dali - Persistens av minne, Bjelke, Kameleon, Fractal Brokkoli,

Utforsk mer om: Kunstig intelligens, digital kunst.