25 mars 2020

JUPYTER

 Un petit article assez court sur un outil que je trouve très sympa pour développer en PYTHON.

 

Signification

Jupyter est une concaténation de "julia" + "python" + "R" qui sont 3 langages de programmation.

 

Concept

Lorsque vous développez un logiciel, outil, algorithme dans un langage de programmation interprété comme ceux listés ci-dessus, vous avez entre autres les alternatives suivantes :
  • Taper le code dans un éditeur de texte (notepad ++, sublime text .....) puis exécuter le fichier ainsi créé avec l'interpréteur adéquat.
  • Coder directement dans une console de commande, donc il faut dans ce cas programmer ligne par ligne.
  • Utiliser un environnement de développement (SPYDER, R-STUDIO, ...)
 Ces méthodes ont leurs avantages et leurs inconvénients. Parmi les inconvénients il y a :
  • Le code, les commentaires et les résultats sont séparés en terme de présentation
  • Les résultats des calculs (graphiques, résultats numéraires ...) ne sont pas conservés
Par exemple, si vous avez pour objectif de rédiger un article technique, scientifique, en data science ou autre, il serait intéressant de pouvoir mixer le code, du texte (bien présenté, avec des titres, sous-titres ..), du code, des graphiques, comme ici https://anaconda.org/jbednar/nyc_taxi/notebook ... sympa non ?

Le principe de JUPYTER est donc justement de pouvoir coder dans une interface WEB directement (donc en utilisant votre navigateur), et de mixer les commentaires, code, résultats ou graphiques.


Cas d'emploi

JUPYTER est par exemple l'outil de base utilisé sur Kaggle. J'y reviendrais surement, Kaggle est un site de challenges pour data-scientists. 
JUPYTER est souvent utilisé aussi pour rédiger des articles scientifiques.


Installation

Vous pouvez utiliser JUPYTER de deux manières : 
     

Outils en ligne

Pour aller un peu plus loin, de nombreux éditeurs proposent leur version en ligne de notebooks basés sur JUPYTER, la plupart du temps ces outils ont une version gratuite (en limitant les ressources disponibles ou le nombre de notebooks qu'on peut enregistrer. Parmi les plus populaires
L'avantage de ces environnements "éditeurs" est que vous y trouverez de nombreux exemples et ressources.
Autre gros avantage par rapport à une utilisation "locale", chez google vous pouvez exécuter vos notebooks sur des processeurs dédiés au machine learning et plus spécifiquement aux réseaux de neurones : les TPU (tensor processing units).

Aucun commentaire :

Enregistrer un commentaire