La vie de recherche et développement avec le notebook iPython

Ceci est un mémo pour travailler tout en restant à la maison ou Starbucks en utilisant le notebook iPython, qui est une interface Web de Python. Je le mettrai à jour quand j'en aurai envie.

Autoriser l'accès aux notebooks sur des serveurs distants

Vous pouvez à tout moment démarrer la recherche et le développement avec Starbucks en lançant notebook sur votre poste de travail. Veuillez consulter ici pour l'introduction. c.IPKernelApp.pylab = 'inline'` `` est particulièrement important, afin que ce que vous dessinez avec matplotlib puisse être affiché sur votre notebook.

Exécutez le programme

Créez un nouveau cahier pour chaque test afin de ne pas être confus. La magie de cellule suivante est utile pour le débogage.

`% time `Mesurer le temps

kobito.1408941894.251522.png

Profilage ``% prun```

kobito.1408941924.757006.png

`% debug `` Démarrer le débogueur

Une fois que le programme s'arrête avec une erreur, exécutez ``% debug '' sur la cellule appropriée pour démarrer ipdb

Calculer en parallèle

Il existe plusieurs méthodes. Cette zone est également utile Je vais.

1 multiprocessing.Pool Reportez-vous à cette zone

from multiprocessing import Pool

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

Vous pouvez calculer en parallèle comme ceci. Il convient de noter que pendant que le calcul parallèle est en cours d'exécution![Kobito.1408940334.347506.png](https://qiita-image-store.s3.amazonaws.com/0/69/1461469f-0ba1-0986- 0431-7a8f0e745f23.png "kobito.1408940334.347506.png ") Si vous appuyez sur le bouton de suspension ou de redémarrage ici, le travailleur deviendra généralement un zombie. Dans ce cas, j'essaye de tout tuer avec `` pkill Python '', etc., puis je redémarre le notebook.

2 IPython.parallel

Étant donné qu'iPython lui-même dispose d'un cadre pour le calcul parallèle, c'est une façon de l'utiliser. Tout d'abord, lancez le notebook iPython, sélectionnez l'onglet Clusters dans le premier tableau de bord qui apparaît, puis kobito.1408941346.713972.png Entrez ici le nombre de travailleurs souhaité dans # de moteurs et démarrez. Dans le programme, écrivez comme suit.

from IPython.parallel import Client

def test(x):
	u'''
Fonctions calculées en parallèle
	'''
    return x **2

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

3 Exécutez le programme lui-même en parallèle

Si vous souhaitez exécuter la même fonction plusieurs fois en parallèle tout en modifiant les arguments, les méthodes 1 et 2 sont efficaces, mais si vous souhaitez exécuter un grand programme en parallèle, il est plus facile de paralléliser par un traitement en arrière-plan avec un script shell. En d'autres termes, exécutons un script shell qui écrit plusieurs python program.py arg1 arg2 ... & ''. Vous pouvez également exécuter un script bash sur une cellule de notebook en utilisant la commande `%% bash `` `, vous avez dit:" Je parlais de notebook iPython jusqu'à présent, mais c'est un shell après tout! " Je vais. Par exemple kobito.1408943333.067115.png

Si vous changez un peu cela, kobito.1408943371.767258.png

Vous pouvez facilement (?) Paralléliser comme ça. Si vous souhaitez utiliser des arguments de ligne de commande en Python, créez un bloc if (__ name__ == '__ main__'): `` `et lisez-le depuis`` sys.argv.

Vous permet de frapper SSH depuis Chrome

Si vous avez un petit programme, vous pouvez l'écrire sur un ordinateur portable iPython, mais lorsque le programme devient compliqué, il est préférable d'en faire un fichier .py, vous devrez donc inévitablement plonger dans le poste de travail avec SSH. .. J'utilise Secure Shell ( lien ) ..

Gérer les packages python

J'utilise Canopy . OpenCV est également pratique car il peut être inséré en un seul clic. Vous pouvez utiliser la commande enpkg pour gérer les paquets depuis le terminal (<a href = "https://support.enthought.com/entries/22415022-Using-enpkg-to-update-Canopy-EPD" -packages "target =" _ blank "> lien ). Les utilisateurs de Mac peuvent être accros aux problèmes de trousseau, alors <a href = "http://stackoverflow.com/questions/14719731/keychain-issue-when-trying-to-set-up-enthought-enpkg-on -mac-os-x "target =" _ blank "> Vérifiez ici .

Recommended Posts

La vie de recherche et développement avec le notebook iPython
Calcul parallèle avec le notebook iPython
Jouer avec Jupyter Notebook (IPython Notebook)
Exécutez Apache-Spark sur le notebook IPython
Dessin graphique avec IPython Notebook
Utilisation de Bokeh avec IPython Notebook
Créer un environnement de notebook IPython avec boot2docker
Utilisation d'Apache Spark avec le notebook Jupyter (notebook IPython)
Présentation HTML "EN DIRECT" avec IPython 3.0.0-dev, IPython Notebook
Sortie de cellule riche avec Jupyter Notebook (IPython)
installation du notebook ipython
Recommandations du notebook IPython
Comment déboguer avec Jupyter ou iPython Notebook
Dessin graphique avec jupyter (notebook ipython) + matplotlib + vagrant
Créer une table avec le notebook IPython
Création d'un environnement R avec Jupyter (anciennement notebook IPython) (sous OS X El Capitan 10.11.3)
Construction d'un environnement d'analyse de données avec Python (notebook IPython + Pandas)
Approvisionnement EC2 avec Vagrant + Jupyter (IPython Notebook) sur Docker
Construction de l'environnement de contrôle à distance Pepper-kun avec Docker + IPython Notebook
Démarrez IPython avec virtualenv
Graphique 3D avec matplotlib
3D ou D avec Py
Créer des diapositives avec iPython
Connecter à distance un notebook IPython
Jupyter arrive avec une grande dynamique, alors soyez prêt pour vous (IPython Notebook + R)
[Apprentissage automatique] Démarrez Spark avec iPython Notebook et essayez MLlib
[IPython] Comment partager un bloc-notes IPython
Lors de l'utilisation d'optparse avec iPython
Utilisation de Graphviz avec Jupyter Notebook
Utiliser pip avec Jupyter Notebook
Créer un gif 3D avec python3
Affichage des chaînes sur le notebook IPython
Comment utiliser IPython Notebook
La vie PySpark à partir de Docker
Utiliser Cython avec Jupyter Notebook
Nuage de points 3D avec PyQtGraph
Lancez le serveur de notebook IPython
Exécutez IPython Notebook sur Docker
Fonctionne avec Python et R