Skip to content

Instantly share code, notes, and snippets.

@nimatt
Last active November 11, 2017 10:55
Show Gist options
  • Save nimatt/016b01c64ee5303ee4c82a109dca8b26 to your computer and use it in GitHub Desktop.
Save nimatt/016b01c64ee5303ee4c82a109dca8b26 to your computer and use it in GitHub Desktop.
Kaggle miljö info

Miljö för Kaggle-aktivitet

Det finns en uppsjö av verktyg, språk och bibliotek som kan användas för olika typer av ML. För att vi ska få en gemensam bas så kommer vi att de första två dagarna att utgå ifrån några av de vanligaste, Python och Tensorflow.

Runtime

Nedan kommer två olika sätt att sätta upp detta på din dator, Docker och Anaconda. Docker är det som kommer att ha minst inverkan på din dator (särkilt om du redan har Docker installerat) medan Anaconda ger en mer integrerad upplevelse. En nackdel med att använda sig av Docker är att det inte kommer att finnas någon möjlighet att plotta data.

Docker

Docker finns för Windows, Mac och Linux och kan hämtas här. Docker for Windows kräver Hyper-V vilket medför att virtualisering måste vara påslaget i BIOS samt att det krävs Windows 10 Pro eller Enterprise.

Instruktionerna här är för Windows men bör vara liknande på Mac/Linux.

  1. Installera Docker Community Edition
  2. Skapa en arbetsmapp (t.ex. C:\dev\kaggle)
  3. Konfigurera fildelning
    1. Öppna inställningar
    2. Välj "Shared Drives"
    3. Kryssa i disken där arbetsmappen ligger
    4. Klicka apply

Du är nu redo att göra ett enkelt test för att se så allting fungerar. Börja med att spara kodsnutten nedan i en fil som heter test.py inuti din arbetsmapp.

import tensorflow as tf

with tf.Session():
    x = tf.constant([1.0])
    y = tf.constant([2.0])
    output = tf.add(x, y)
    result = output.eval()
    print("result: ", result)

Starta en container med python och tensorflow genom att exekvera kommandot

docker run -it --rm -v <sökväg till arbetsmapp>:/work nimatt/acorn-kaggle

där <sökäg till arbetsmapp> är ersatt med en fullständig sökväg till den mapp du skapat (t.ex. C:\dev\kaggle).

Beskrivning av kommando

Flagga Beskrivning
-i Håller STDIN öppen
-t Allokerar en pseudo-TTY
--rm Tar bort containern när den stoppats
-v <sökväg>:/work Gör mappen tillgänglig i /work inne i containern

Du bör nu se något i stil med

root@516f4c4898c5:/work#

Listar du mappens innehåll (ls) så bör du se filen test.py du tidigare sparat. För att ytterliggare säkerställa att allt fungerar som det ska kan du köra

python test.py

vilket bör ge dig

result:  [ 3.]

Anaconda

Anaconda är en plattform för att arbeta med python inom data science. Man kan där skapa miljöer som är isolerade från varandra, vilket exempelvis förenklar hanterandet av beroende till samma paket med olika version.

  1. Installera Anaconda, där det är rekomenderat att välja Python 3.x.

  2. Öppna Anaconda Prompt

  3. Skapa en miljö

    conda create --name acorn-kaggle python

  4. Aktivera miljön

    activate acorn-kaggle

  5. Installera Tensorflow

    pip install --ignore-installed --upgrade tensorflow

  6. Instrallera övriga moduler

    conda install pandas
    conda install matplotlib
    conda install seaborn
    

Vi är nu redo att testköra detta. Börja med att skapa en fil med namn test.py innehållandes

import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'

import tensorflow as tf
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

with tf.Session():
    x = tf.constant([1.0])
    y = tf.constant([2.0])
    output = tf.add(x, y)
    result = output.eval()
    print("result: ", result)

f, axis = plt.subplots(2)
line = pd.read_csv('data.csv')
line.plot.scatter(x='x', y='y', ax=axis[0])

x = np.random.normal(size=500)
sns.distplot(x, ax=axis[1])
plt.show()

och spara denna i en arbetsmapp (t.ex. C:\dev\kaggle). Spara sedan data.csv i samma mapp. Gå till denna mapp i Anaconda Promt och exekvera

python test.py

vilket bör ge dig

result:  [ 3.]

Samt en figur med en scatter plot och ett histogram.

Editor

Valet av editor kommer inte att vara speciellt viktigt då det finns många som fungarar väl med python. Editorn som kommer att användas vid genomgångar kommer att vara Visual Studio Code, vilken också är gratis.

x y
0.0 -0.18132774763683107
0.3 -0.2049874566122795
0.6 -0.2435015355816128
0.8999999999999999 1.2150622911613702
1.2 1.9590965606957862
1.5 2.324136952402891
1.7999999999999998 3.183101784609795
2.1 5.1037377313456656
2.4 5.10383987620509
2.6999999999999997 7.459586790671547
3.0 11.403513585240729
3.3 11.646493157420593
3.5999999999999996 12.639032214828589
3.9 14.895336626605546
4.2 17.311316147027988
4.5 17.993786398146867
4.8 24.514654440061786
@jesperalmstrom
Copy link

Bra och tydlig instruktion.
Skulle vilja lägga till lite MacOs grejor jag hittade.
Med Homebrew:
Installera Docker
brew cask install docker
User katalog med alla underkataloger är delad File Sharing så om man har sin kaggle katalog där så är man klar.
Installera Anaconda
brew cask install anaconda
Följ sedan instruktionerna som brew spottar ur sig
Aktivera miljön
source activate acorn-kaggle

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment