Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Jupyter Notebookを納品した話

Jupyter Notebookを納品した話

tereka114

March 16, 2022
Tweet

More Decks by tereka114

Other Decks in Programming

Transcript

  1. 自己紹介 1. 名前:山本 大輝(やまもと ひろき) 2. Twitter:@tereka114 3. Blog:のんびりしているエンジニアの日記 

    http://nonbiri-tereka.hatenablog.com/ 4. 専門:画像処理、異常検知 5. 普段はCV勉強会やPyData等で 活動しています。 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 2
  2. 目次 1. はじめに 2. Jupyter Notebookとは 3. Jupyter Notebookを選んだ理由 4.

    Jupyter NotebookのPlugin 5. Jupyter Notebookの罠 6. まとめ 3
  3. 何ができるの? 1. コードを実行できる。基本はPythonですが、カーネルを追加 すれば他の言語も実行可能。 2. 当然、出力結果を可視化できる。  %matplotlib inlineを記述すれば、Matplotlib(グラフ)も出力可能 3.

    Markdownで文章を記述できる。コードをドキュメントに組み 込める。 4. 様々なPluginを利用できる。 5. Githubが.ipynb(Jupyter Notebookの拡張子)に対応して いる。 8
  4. なぜ、Jupyter Notebook? 1. Jupyter Notebookは分析の過程を残せる。  なぜ、そのコードを書いたのか、途中経過を残すことができる。 2. Jupyter Notebookは環境を整えれば再現が可能

    ① 環境を整えれば、同じ状況を再現をすることが可能できる。 ② 手順を追実験できる。(手順書としても使える!) 3. Jupyter Notebookは結果をエビデンスとして残せる。  これを納品しよう! 11
  5. Jupyter Notebookの活用例 1. 分析レポートとして使う。  今回の利用用途、過程とコードが一緒でわかりやすい。 2. アルゴリズムの過程を残す。  画像処理のコードで処理後の結果を残す。

    3. 手順書  基本的にはその通りやれば動くので手順書として実行コマン ド、結果、説明を同居させて残せる!  例えば、Hadoopの構築手順書 https://github.com/NII-cloud-operation/Literate-computing- Basics 13
  6. Plugin導入の方法 1. nbextensionsを使うと、よく使うPluginは入ります。 2. インストール方法 ① git clone https://github.com/ipython-contrib/IPython- notebook-extensions

    ② cd IPython-notebook-extensions ③ python setup.py install ④ sudo jupyter contrib nbextension install --user 今の日本語ページだと あまりこの情報がない 16
  7. おすすめのPlugin 1. Table of Contents (2)  見出しから目次を作成して表示する。 2. Python

    Markdown  MarkdownにPythonの変数等を埋め込める。 3. Hide input  入力したセルを隠せる。 19
  8. ファイルの分割ができない 1. ファイルの分割が難しい要因は次の2つ ① ファイルの結合をサポートしていない。 Issueはありました。 https://github.com/jupyter/nbconvert/issues/253 ② ソースコードが必要である。 2.

    複数人開発の構成管理が難しい。  複数人で開発すると必ずconflictが起こる状況へ・・ 3. ファイル構成の設計が必要である。 ① Notebook自体を分割した状況を作る。 ② 結合するスクリプトを書く(できるかわからない。) 30