Forschungs- und Entwicklungsleben mit iPython Notebook

Dies ist ein Memo für die Arbeit zu Hause oder bei Starbucks mit iPython Notebook, einer Weboberfläche von Python. Ich werde es aktualisieren, wenn ich Lust dazu habe.

Ermöglichen Sie den Zugriff auf Notebooks auf Remote-Servern

Sie können jederzeit mit Starbucks mit Forschung und Entwicklung beginnen, indem Sie das Notebook auf Ihrer Workstation starten. Die Einführung finden Sie unter hier . `c.IPKernelApp.pylab = 'inline' `ist besonders wichtig, damit das, was Sie mit matplotlib zeichnen, auf Ihrem Notizbuch angezeigt werden kann.

Führen Sie das Programm aus

Erstellen Sie für jeden Test ein neues Notizbuch, damit Sie nicht verwirrt werden. Die folgende Zellmagie ist nützlich zum Debuggen.

`% time `Zeit messen

kobito.1408941894.251522.png

`` `% prun``` Profiling

kobito.1408941924.757006.png

`% debug `Starten Sie den Debugger

Nachdem das Programm mit einem Fehler gestoppt wurde, führen Sie "% debug" in der entsprechenden Zelle aus, um ipdb zu starten

Parallel berechnen

Es gibt verschiedene Methoden. Dieser Bereich ist ebenfalls hilfreich Ich werde.

1 multiprocessing.Pool Weitere Informationen finden Sie in diesem Bereich unter

from multiprocessing import Pool

p = Pool(n_cores)
p.map(func, [arg list])
p.close()

Sie können so parallel rechnen. Es ist zu beachten, dass während der parallelen Berechnung![Kobito.1408940334.347506.png](https://qiita-image-store.s3.amazonaws.com/0/69/1461469f-0ba1-0986- 0431-7a8f0e745f23.png "kobito.1408940334.347506.png ") Wenn Sie hier die Suspend-Taste oder die Neustart-Taste drücken, wird der Arbeiter normalerweise zu einem Zombie. In diesem Fall versuche ich, alles mit `` `pkill Python``` usw. zu töten und starte dann das Notebook erneut.

2 IPython.parallel

Da iPython selbst über ein Framework für die parallele Berechnung verfügt, ist dies eine Möglichkeit, es zu verwenden. Starten Sie zuerst das iPython-Notizbuch, wählen Sie im ersten angezeigten Dashboard die Registerkarte Cluster aus und dann kobito.1408941346.713972.png Geben Sie hier die gewünschte Anzahl von Arbeitern in Anzahl der Motoren ein und starten Sie. Schreiben Sie im Programm wie folgt.

from IPython.parallel import Client

def test(x):
	u'''
Parallel berechnete Funktionen
	'''
    return x **2

cli = Client()
dv = cli[:]
x = dv.map(test, range(100))
result = x.get()

3 Führen Sie das Programm selbst parallel aus

Wenn Sie dieselbe Funktion mehrmals parallel ausführen möchten, während Sie die Argumente ändern, sind die Methoden 1 und 2 wirksam. Wenn Sie jedoch ein großes Programm parallel ausführen möchten, ist die Parallelisierung durch Hintergrundverarbeitung mit einem Shell-Skript einfacher. Mit anderen Worten, lassen Sie uns ein Shell-Skript ausführen, das mehrere Python-Programme schreibt. Py arg1 arg2 ... & `. Sie können das Bash-Skript in der Zelle des Notizbuchs ausführen, indem Sie den Befehl %% bash` `` verwenden. Sie sagten: "Ich habe bisher über iPython-Notizbuch gesprochen, aber es ist doch eine Shell!" Ich werde. Zum Beispiel kobito.1408943333.067115.png

Wenn Sie dies ein wenig ändern, kobito.1408943371.767258.png

Sie können einfach (?) So parallelisieren. Wenn Sie Befehlszeilenargumente in Python verwenden möchten, erstellen Sie einen `if (__ name__ == '__ main __'):` Block und lesen Sie ihn aus `` `sys.argv```.

Ermöglicht das Aufrufen von SSH über Chrome

Wenn es sich um ein kleines Programm handelt, können Sie es auf ein iPython-Notebook schreiben. Wenn das Programm jedoch unübersichtlich wird, ist es besser, es als .py-Datei zu erstellen, sodass Sie zwangsläufig mit SSH in die Workstation eintauchen müssen. .. Ich verwende Secure Shell ( Link ) ..

Python-Pakete verwalten

Ich verwende Canopy . OpenCV ist auch praktisch, da es mit einem Klick eingefügt werden kann. Sie können Pakete vom Terminal aus mit dem Befehl `` `enpkg``` verwalten (<a href = "https://support.enthought.com/entries/22415022-Using-enpkg-to-update-Canopy-EPD") -packages "target =" _ blank "> link ). Mac-Benutzer sind möglicherweise süchtig nach Schlüsselbundproblemen, also <a href = "http://stackoverflow.com/questions/14719731/keychain-issue-when-trying-to-set-up-enthought-enpkg-on -mac-os-x "target =" _ blank "> Hier prüfen .

Recommended Posts

Forschungs- und Entwicklungsleben mit iPython Notebook
Parallele Berechnung mit iPython Notebook
Spielen Sie mit Jupyter Notebook (IPython Notebook)
Führen Sie Apache-Spark auf IPython Notebook aus
Diagrammzeichnung mit IPython Notebook
Verwenden von Bokeh mit IPython Notebook
Erstellen Sie eine IPython Notebook-Umgebung mit boot2docker
Verwenden von Apache Spark mit Jupyter Notebook (IPython Notebook)
HTML-Präsentation "LIVE" mit IPython 3.0.0-dev, IPython Notebook
Reichhaltige Zellenausgabe mit Jupyter Notebook (IPython)
ipython notebook Installation
IPython Notebook-Empfehlungen
So debuggen Sie mit Jupyter oder iPython Notebook
Grafikzeichnung mit Jupyter (Ipython-Notizbuch) + Matplotlib + Vagabund
Erstellen Sie eine Tabelle mit IPython Notebook
Erstellen einer R-Umgebung mit Jupyter (ehemals IPython-Notebook) (unter OS X El Capitan 10.11.3)
Aufbau einer Datenanalyseumgebung mit Python (IPython Notebook + Pandas)
EC2-Bereitstellung mit Vagrant + Jupyter (IPython Notebook) auf Docker
Aufbau einer Pepper-Kun-Fernbedienungsumgebung mit Docker + IPython Notebook
Starten Sie IPython mit virtualenv
3D-Plot mit Matplotlib
3D oder D mit Py
Erstellen Sie Folien mit iPython
Verbinden Sie das IPython-Notebook aus der Ferne
Jupyter kommt mit großer Dynamik, seien Sie also auf Sie vorbereitet (IPython Notebook + R)
[Maschinelles Lernen] Starten Sie Spark mit iPython Notebook und probieren Sie MLlib aus
[IPython] Freigeben eines IPython-Notizbuchs
Bei Verwendung von optparse mit iPython
Verwenden von Graphviz mit Jupyter Notebook
Verwenden Sie pip mit Jupyter Notebook
Erstellen Sie ein 3D-GIF mit Python3
Anzeigen von Zeichenfolgen in IPython Notebook
Verwendung von IPython Notebook
PySpark Leben beginnt mit Docker
Verwenden Sie Cython mit Jupyter Notebook
3D-Streudiagramm mit PyQtGraph
Starten Sie den IPython-Notebook-Server
Führen Sie IPython Notebook auf Docker aus
Funktioniert mit Python und R.