Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
セッション切れに苦しまない DockerとJupyter Notebookの活用法
Search
Shota Arima
July 26, 2024
1
200
セッション切れに苦しまない DockerとJupyter Notebookの活用法
TechRamen2024で登壇しました
https://techramenconf.net/
Shota Arima
July 26, 2024
Tweet
Share
More Decks by Shota Arima
See All by Shota Arima
DBSCANの事例紹介
shotaarima
0
6
自己紹介スライド 2025/5/26
shotaarima
0
14
卒業研究発表会_入力データの構造を考慮したLowProFoolアルゴリズムによる敵対的サンプルの生成に関する研究
shotaarima
0
24
勾配法・ニュートン法
shotaarima
0
29
何にも知らないけど とりあえず参加した テックカンファレンスというやつ
shotaarima
1
120
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
BBQ
matthewcrist
89
9.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Code Review Best Practice
trishagee
69
19k
Into the Great Unknown - MozCon
thekraken
40
1.9k
Statistics for Hackers
jakevdp
799
220k
We Have a Design System, Now What?
morganepeng
53
7.7k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Transcript
セッション切れに苦しまない DockerとJupyter Notebookの活用法 @live_in_2107(学生室の住人) Tech Ramen 2024 #techramen24conf
ֶੜࣨͷॅਓ ຊ໊༗അଠ § 本業 : 学生(東京都市大学 メディア情報学部 4年) § 研究分野
: 機械学習、データ解析、最適化手法 § 進路 : 内部進学で大学院へ § 趣味 : サッカー観戦、旅行、担当教授のXを眺める § 初旭川! 21年ぶり北海道! X(旧Twitter) Qiita
͖ͳϥʔϝϯ § 魂心屋(あざみ野店) § ラーメン(塩味) § 麺柔らかめ、ほうれん草マシ § ご飯はお供 §
現在まくり券が現在15枚 § 22枚で器がもらえる
ࠓճऔΓ্͛Δࣄ § Google Colabratory(以下Colab)のセッションが切れてしまう問題
(PPHMF$PMBCͱ § Google社が提供するクラウド実行型のJupyter環境 § 機能 § 環境構築が不要 § GPUに料金なしでアクセス §
簡単に共有 § Google Drive上で簡単にファイルを作成でき、実行することができる § 充実したライブラリなどが事前に収録されている § 個人の端末のスペックに依存しない
(PPHMF$PMBCͱ <Jupyter環境> § Jupyter Notebookが前身 § プログラムと実行結果、Markdown形式のドキュメント、LaTeX形式の数式、図 表をまとめて記述・格納できるWebアプリケーション <歴史> §
PythonのインタラクティブなシェルであるIPythonのプロジェクトとして開発が 進められた § カーネルを分離し、Python以外の言語のサポートも進み、IPython NotebookはJupyterプロジェクトにスピンオフされた
(PPHMF$PMBCͱ Google Colab Google drive GPUの搭載 Jupyterの環境 ライブラリ
§ セッション切れはどのようにして発生するのか (PPHMF$PMBCͱ
ηογϣϯΕʹ͍ͭͯ § クラウド上での実行となるため、ランタイム接続時間が設定されている § 90分 : 非アクティブ状態が続くと切れてしまう § 12時間 :
最大接続時間(公式に記載) § 24時間 : pro版への課金(月額1,179円)で可能 § ※バックグラウンド実行 : pro+への課金(月額5,767円)で実行可能 § この制約の中で試行錯誤している記事を見かけました。
ηογϣϯΕʹ͍ͭͯ § この制約の中で試行錯誤している記事を見かけました。 § Google Colaboratoryの90分セッション切れ対策【自動接続】 from Qiita § 90分での接続解除を防ぐために90分おきにスクロールするコードを実装
§ ブラウザのアドオンを利用して定期的にリロードする § 12時間経過した場合、結局切れてしまう…
ηογϣϯΕʹ͍ͭͯ § 根本的な原因は、クラウドへの接続 § ローカルで動かせば解決するのでは
ϩʔΧϧͰಈ͔͢ํ๏ 1. 自分でライブラリを設定する方法 2. 公式が出しているColabイメージの方法
ϩʔΧϧͰಈ͔͢ํ๏ 1. 自分でライブラリを設定する方法 § ColabのベースであるJupyterのイメージをDockerで作成 § 自分好みにライブラリのバージョンなどを設定にする § Dockerでローカルに分析環境を整える方法 from
Qiita § Enviornment.ymlにライブラリのバージョンを指定してイメージを作成 ※ここらへんの話は昨日の@ftnextさんの「one obvious wayを志向するPythonに依存ライブ ラリ管理ツールがたっくさんある話 〜Rust製ツールが高速を謳う」を聞いてください
ϩʔΧϧͰಈ͔͢ํ๏ 2.公式が出しているColabイメージの方法 § Colab の Docker ランタイム イメージ § Jupyter
ランタイムイメージ のどちらかでイメージを作成する →これによりGoogle のホスト型ランタイム環境にあるパッケージを使用可能 ※ローカルのパッケージは使用できない
ϩʔΧϧͰಈ͔͢ํ๏ 2.公式が出しているColabイメージの方法 ローカルリソースを使用することによる危険性が指摘されていました。 § マシンのローカルリソースを使用するため以下のことに注意が必要です。 § 任意のコマンドの呼び出し(例:ホストをマウントしている際の「rm -rf /」) §
ローカル ファイル システムへのアクセス § ローカルマシンでの悪意のあるコンテンツの実行
·ͱΊ § Colabは簡単に使え、環境構築不要な点では素晴らしいシステム § ローカルで実装する方がセッション切れが発生しない § Dockerでローカルの仮想環境を作る § ライブラリを指定するならJupyterのイメージ §
Colab環境のままならColabのイメージ
参考文献 § “Jupyter.ipynb”,https://colab.research.google.com/github/chokkan/pyth on/blob/main/jupyter.ipynb#scrollTo=1h_ICQjmFXHW,(閲覧日2024-7- 25) § “Colaboratoryへようこそ”, https://colab.research.google.com/, (2024-7- 25)
§ “Google Colaboratoryの90分セッション切れ対策【自動接続】”, https://qiita.com/enmaru/items/2770df602dd7778d4ce6 , 2020-01- 11,(2024-7-25) § ”Google Colab”, https://research.google.com/colaboratory/local- runtimes.html?hl=ja (2024-7-25)