Skapa dina egna artificiella feberdrömer med Googles DeepDream

Skapa dina egna artificiella feberdrömer med Googles DeepDream / Framtida Tech

Om du har varit på de geekiga delarna av Internet på senare tid har du kanske märkt några väldigt konstiga bilder som dyker upp, kopplade på något sätt till Google.

De ser lite ut som om någon tog en tändare på filmens lager av tid och rum. Eller gillar att spela “Var är Waldo” på syra. Eller kanske som att någon blev John Carpenter's The Thing Get Smart: Titta på de bästa futuristiska handlingsfilmen Bli smart: Se de bästa futuristiska handlingsfilmerna Det finns ett antal filmer som kombinerar hårt slagande handlingar med djupa begrepp. Det här är smarta, tankeväckande filmer som erbjuder en välkommen form av intelligent underhållning. Läs mer lös i en djuraffär.

Oavsett, de är ganska trippy.

Dessa bilder är utgången från Googles DeepDream neuralt nätverk. Nätverket, som ursprungligen användes för att klassificera bilder, har nu blivit ompositionerat för att skapa dem. Nätverket identifierar funktioner i bilder - kanske ser det som ett öga, eller den silhouetten ser ut som en fågel. Det betonar sedan de element som den känner igen, om och om igen, sakta omvandlar den resulterande bilden till ett levande och surrealistiskt drömlandskap.

Nätverket, på grund av sina träningsdata, har en fixering med hundar, ögon och tendrils, vilket leder till en unik visuell stil som nästan ser ut som konst.

Nyligen släppte Google DeepDream till allmänheten. Det är ett forskningsverktyg, så installationen är lite komplicerad, men det är perfekt genomförbart för alla - även om du inte har någon programmeringskunskap.

Idag ska jag prata igenom hur du installerar den och använder den för att skapa galna bilder på egen hand. Låt oss börja.

Verktygen du behöver

Först och främst är denna handledning endast för Windows. Linux-användare utan åtkomst till en Windows-maskin är välkomna att prova den här handledningen, vilka människor tycks vilja, men jag har inte personligen försökt.

För att komma igång måste du hämta och installera följande verktyg innan du gör något annat. Resten av handledningen fungerar inte utan att dessa komponenter installerats.

  1. Vagrant [Ej längre tillgänglig] - Vagrant är ett verktyg för att skapa standardiserade utvecklingsmiljöer. Det kommer att förenkla installationen mycket.
  2. Virtualbox - Virtualbox låter dig köra andra operativsystem från Windows. Så här använder du VirtualBox: Användarhandbok Så här använder du VirtualBox: Användarhandbok Med VirtualBox kan du enkelt installera och testa flera operativsystem. Vi visar hur du konfigurerar Windows 10 och Ubuntu Linux som en virtuell maskin. Läs mer . I det här fallet simulerar vi en Linux-maskin.
  3. OpenSSH - OpenSSH är ett verktyg för att ansluta via kommandoraden till specifika Linux-maskiner 4 Enkla sätt att använda SSH i Windows 4 Enkla sätt att använda SSH I Windows SSH är de facto-lösningen för säker åtkomst av fjärrterminaler på Linux och andra UNIX-liknande system . Om du har en fjärrstyrd SSH-server som du vill komma åt måste du ladda ner en SSH-klient ... Läs mer. I det här fallet använder vi det för att prata med vår virtuella Linux-maskin.

Observera att OpenSSH kommer att kasta en stor, skrämmande varning under installationen som du måste ställa in passwd-filen eller annars kommer helvete och svavel att regna ner omkring öronen.

Ignorera detta. Vagrant tar hand om det för dig.

Installera Dreamer

Nu när vi har inställningen ur vägen, låt oss gå ner till mässingspaket. Ladda ner bilddromarmodulen från GitHub som en zip-fil och extrahera den i din Vagrant-inställning på “C: \ HashiCorp \ Vagrant \ bin \“.

Det är ganska mycket när det gäller installationen. Nu måste vi bara sätta på saken.

Öppna Windows PowerShell (du kan hitta den genom att skriva “powershell” till startmenyn). Det är en mycket nödvändig ersättning för den gamla Windows-kommandotolken 6 Basic PowerShell-kommandon för att få mer ut av Windows 6 Grundläggande PowerShell-kommandon för att få mer ut av Windows PowerShell är vad du får när du ger steroider till Windows Command Prompt. Det ger dig kontroll över nästan alla aspekter av Windows-systemet. Vi hjälper dig att hoppa upp sin inlärningskurva. Läs mer, och det kommer att tjäna oss bra här.

När PowerShell öppnas skriver du in “cd C: \ HashiCorp \ Vagrant \ bin \ image-dreamer“. Det sätter dig i samma katalog, du släppte bara in modulen. Nu är det dags att aktivera vår Vagrant-installation. Typ “vagrant upp” och tryck på Enter.

Vid detta tillfälle börjar systemet göra en massa första gångsinstallation. Vid det här tillfället kanske du vill flipa över till Netflix för lite, eftersom det här steget kan ta över en timme, beroende på maskinens hastighet.

Om du får ett fel som säger att den virtuella maskinen misslyckades med att starta, kan du ha samma problem som jag ursprungligen hade, vilket är att virtuella maskiner är avaktiverade som standard i din BIOS. Du måste starta om datorn, gå in i BIOS-inställningen och se om du kan hitta ett alternativ till “Inaktivera virtualisering“. Kontrollera under säkerhetsinställningarna. Om du hittar den, stäng av den och prova powerhell igen.

När installationen är klar skriver du in vagrant ssh till kommandoraden. Det kommer att be dig om ett lösenordsfras. Tryck Enter utan att skriva något. Det kommer då att fråga dig om lösenordet. Typ “luffare” och tryck på Enter. Vid denna tidpunkt kommer det att ge dig en terminal till den virtuella Linux-maskinen, och vi är redo att använda DeepDream.

Typ “CD /luffare“, sedan “ls” (Linux-kommandot för att lista innehållet i katalogen). Du borde se filerna i bilddromarkatalogen. Du kan nu interagera med dessa filer som om du använde en Linux-maskin.

Vid denna tidpunkt måste du ta alla bilder du vill konvertera, se till att de är i .jpg-format och dumpa dem i “C: / HashiCorp / Vagrant / bin / bild-drömmare /“. Om du skriver “ls” igen, du borde se dem.

Använda DeepDream

Den mest grundläggande användningen av DeepDream är att tillämpa standardanalysen genom att skriva

python dreamify.py yourfilename.jpg dream_yourfilename.jpg

Självklart måste du ersätta namnet på din fil för “yourfilename”. Detta kommer att gälla standardanalysalternativet ('start_4c / output') till vilket utmatningsnamn du anger. Så här genereras de flesta bilder. Den här funktionen gör i grunden detta:

In i detta:

Var tålamod medan den körs! Stora bilder kan ta mycket lång tid, även på relativt snabb hårdvara. Minska dina bilder när det är möjligt. Om du får en krasch eftersom du är ute av minnet, redigerar du “vagrantfile” fil genom kommandoraden powershell linux och öka v.memory till någonting rimligt som 10000. Om du får en effekt som är mindre dramatisk än du hoppades, försök att köra programmet igen på utdatabilden. Detta borde leda till en starkare snedvridning.

Detta är redan väldigt coolt. Men det går bara att använda programvaran på vissa extremt snygga kommandoradsalternativ som kan ändra programvarans beteende. Om du till exempel bara använder funktionsdetektorn för rader behöver du bara skriva:

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

Detta ger produktionen som ser ut så här:

För att använda funktionsdetektorn för ögon skriver du bara:

python dreamify.py yourfilename.jpg dream_yourfilename.jpg “inception_4a / utgång”

Det finns en massa av dessa kommandoradsalternativ du kan spela med - alldeles för många för mig att gå in här. Du kan hitta en mer omfattande rundown här och här.

Det finns många alternativ här. Du kan också få övertygande resultat genom att stapla dessa alternativ. Till exempel, här är några bilder jag genererade genom att köra standardfiltret följt av radfiltret.

Det här är coolt, höger?

När du har installerat DeepDream, ta en stund och spela med den. Det finns redan ett blomstrande Reddit-samhälle som bildar sig kring att skapa dessa bilder. Se vad du kan skapa! Skicka dina mest intressanta resultat i kommentarerna.

Bildkrediter: Van Gogh Porträtt, Van Gogh Landskap, Dali - Persistens av minne, Biter, Kameleon, Fractal Broccoli,

Utforska mer om: Konstgjord intelligens, digital konst.