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
120
セッション切れに苦しまない DockerとJupyter Notebookの活用法
TechRamen2024で登壇しました
https://techramenconf.net/
Shota Arima
July 26, 2024
Tweet
Share
More Decks by Shota Arima
See All by Shota Arima
勾配法・ニュートン法
shotaarima
0
17
卒業研究進捗報告
shotaarima
0
7
何にも知らないけど とりあえず参加した テックカンファレンスというやつ
shotaarima
1
110
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
427
64k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
A designer walks into a library…
pauljervisheath
203
24k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Faster Mobile Websites
deanohume
305
30k
Docker and Python
trallard
40
3.1k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Building Adaptive Systems
keathley
38
2.3k
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)