1行定義
Jupyter Notebookとは、ブラウザ上でコードを少しずつ実行し、その結果やグラフ、説明の文章を1つの文書にまとめて残せる対話型の開発環境のことです。
くわしく
Jupyter Notebook(ジュピター・ノートブック)は、ブラウザ上で動く対話型の開発環境です。「ノートブック」と呼ぶ1つの文書の中に、コードを書く欄(セル)と文章を書く欄を並べて使います。セルを1つずつ実行すると、計算の結果や表、グラフがそのすぐ下に表示されます。
AI開発で使われる理由
データ分析やモデル開発では、データを読み込み、中身を眺め、加工し、学習させて結果を確かめる、という試行錯誤を何度も繰り返します。ノートブックなら、手順を小さく区切って実行し、その場で結果を見ながら次の手を考えられます。コードと結果、考えたことを1つの文書に残せるので、分析の過程をチームで共有したり、報告に使ったりするのにも便利です。データサイエンティストが、CRISP-DMでいうデータの理解やモデリングの段階でよく使う道具です。
しくみ
ノートブックのファイルは拡張子が.ipynbで、中身はJSON形式のテキストです。コードを実際に実行するのは「カーネル」と呼ばれるプログラムで、言語ごとに用意されています。代表的なのはPythonです。Jupyter Notebookは、もとはPythonの対話環境IPythonの一部で、2015年に独立したオープンソースのソフトウェアです。現在のNotebook 7は、JupyterLabの部品をもとに作られています。クラウド上でノートブックを使えるGoogle Colaboratoryも、Jupyterをもとにしたサービスです。
注意点
ノートブックは試作に向く一方で、そのまま本番のシステムとして動かすのには向きません。セルを実行した順番によって結果が変わることがあり、ほかの人が同じ結果を再現できないおそれがあります。共有の前には、上から通して実行し直して確かめます。本番で動かす処理はスクリプトに整理し、Dockerなどで実行環境をそろえます。
G検定での出題
出題のされ方
データの探索やモデルの試作に向く理由(コード・実行結果・説明を1つの文書にまとめられる)や、Python、Dockerなどほかの開発環境の用語との役割の違いが問われます。
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
Google Colaboratoryは、Jupyter Notebookをもとにしたクラウド上のサービスで、手元に環境を構築しなくてもブラウザからノートブックを使える。
答えを見る
答え ◯ 正しい
Colabは、オープンソースのJupyterをもとにしたホスト型のノートブックのサービスです。GPUなどの計算資源も使えます。
-
Jupyter Notebookは、有料のライセンスを購入しなければ使えない商用ソフトウェアである。
答えを見る
答え × 誤り
Jupyter Notebookは、修正BSDライセンスで公開されているオープンソースのソフトウェアです。無料で使え、ライセンスの条件の範囲で改変や再配布もできます。
-
Jupyter Notebookのファイル(拡張子.ipynb)には、コードだけでなく、セルを実行して得られた出力も保存できる。
答えを見る
答え ◯ 正しい
ファイルの中身はJSON形式のテキストで、コードのセルごとに、そのコードと実行結果の出力が記録されます。出力も含むため、バージョン管理では変更の差分を確かめにくい面があります。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目35 AIプロジェクトの進め方)
- Project Jupyter, jupyter/notebook(GitHubリポジトリ) (README(Notebook v7、The Big Split)、LICENSE(BSD-3-Clause))
- nbformat documentation(Jupyter notebook files are simple JSON documents)
- nbformat documentation, The Notebook file format (Code cells(outputs))
- Google Research, Colaboratory: Frequently Asked Questions