TL;DR
En procédant à l'analyse avec Jupyter Notebook, je voulais gérer la version et la gérer avec Git, mais quand je procédais normalement, la différence était très difficile à voir en raison des métadonnées de Notebook, donc JupyterLab's jupyterlab-git
et J'ai utilisé l'extension nbdime
pour voir plus facilement les différences.
Dans cet article, nous utiliserons l'environnement suivant.
--Utilisez docker-compose
Les extensions JupyterLab requises pour le contrôle de version du notebook Jupyter sont les suivantes.
Créez les 2 fichiers suivants.
Dockerfile
FROM gcr.io/kaggle-images/python:v74
RUN apt-get update && \
apt-get install -y git \
curl
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - &&\
apt-get install -y nodejs
RUN pip install -U pip \
jupyterlab && \
pip install jupyterlab-git
RUN jupyter lab build
docker-compose.yml
version: "3"
services:
jupyter:
build: .
volumes:
- $PWD:/tmp/work
working_dir: /tmp/work
ports:
- 8888:8888
command: jupyter lab --ip=0.0.0.0 --allow-root --no-browser
Après avoir créé les deux fichiers ci-dessus, créez dans le même répertoire.
$ docker-compose build
Démarrez le conteneur après la construction.
$ docker-compose up
Après le démarrage, vous pouvez accéder à http: // localhost: 8888 / et entrer le jeton pour accéder à JupyterLab.
Le jeton est émis après le démarrage, par exemple: http: // acb729d0c5ce: 8888 /? Token = 45d10c660d2e85f0c8d59995a04667c154542ae79f27f65d
, qui est` 45d10c660d2e85f0c8d59995a04667fc154542ae.
Après le démarrage, activez Exxtension Manager.
Deux extensions sont installées.
Clonez le référentiel requis. Si vous avez déjà un Notebook etc., faites git init etc.
Entrez l'URL du référentiel
Créez un notebook (test.ipynb
) et effectuez le premier commit.
$ git config --global user.email "[email protected]"
$ git config --global user.name "Your Name"
$ git add test.ipynb
$ git commit -m "first commit"
Supposons que vous poursuivez l'analyse dans Notebook après le premier commit. Par exemple, supposons que vous ajoutiez le code df.head ().
Tout d'abord, si vous vérifiez avec la commande git diff
, les différences telles que les métadonnées Notebook seront affichées comme indiqué ci-dessous, ce qui est très difficile à comprendre.
# git diff
diff --git a/test.ipynb b/test.ipynb
index f6c1f17..5af6074 100644
--- a/test.ipynb
+++ b/test.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
@@ -21,7 +21,7 @@
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
@@ -30,12 +30,164 @@
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"df = pd.read_csv(data_dir + \"train.csv\")"
]
+ },
+ {
+ "cell_type": "code",
:
Si vous vérifiez le diff en utilisant nbdime sur JupyterLab, ce sera comme suit. Le côté gauche du rose est avant le changement, et le côté droit du vert est après le changement.
Je pense que la différence s'affiche très facilement.
Recommended Posts