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

Jupyter Notebookを納品した話

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

Jupyter Notebookを納品した話

Avatar for tereka114

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