第3章. 効果的な依存マネジメント原則とツール
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
この章と次の章では、MLの実践者なら間違いなくキャリアの多くの点で遭遇する課題、依存性地獄に取り組む。依存性地獄は、悪名高い"works on my machine "問題の一般的な原因の一つである。依存性地獄にしばしば直面するMLの実務家として、あなたはしばしば次のような質問に対する答えを望むかもしれない:
-
ローカルマシン、クラウド上のノートブック、分散クラスターなど、必要なときに必要な場所に、トラブルシューティングを最小限に抑えながら、依存関係を簡単かつ再現性よくインストールするにはどうすればいいのだろう?
-
プロジェクトの依存関係がますます大きくなるにつれ、依存関係をインストールしてもインターネットをダウンロードするのを待つような気分にならないように、依存関係を最適化するにはどうすればいいのだろうか?
-
依存関係や依存関係の依存関係にあるセキュリティの脆弱性によって、プロジェクトが危険にさらされないようにするには、どうすればよいのだろうか?
第3章と第4章が終わる頃には、これらの疑問に対する答えが得られるだろう。あなたは、学びながら、効果的な依存関係管理のプラクティスを自分のプロジェクトに適用できるようになるだろう:
-
不完全な依存関係管理アプローチを見分ける方法
-
MLプロジェクトにおける依存関係を効果的に管理するための原則とツール
-
いつ、なぜ、どのようにコンテナを使うのか?
-
コマンドラインツールbatectでDockerの利用を簡素化する方法
この2つの章は、PythonベースのMLプロジェクトで初めて依存性管理を行う初心者や、依存性管理の高度な原則、ベストプラクティスを求める中級ユーザに適している。初心者は、MLプロジェクトの文脈におけるPython依存性マネージャ、コンテナ、そして依存性管理スタックの指針となる原則、実用的な構成要素について、初心者にやさしい入門書を楽しむことができる。中級者は、依存性管理の簡素化に役立つ高度な使用パターンとツールを学ぶことができる。どちらの読者にとっても、付属のコードリポジトリは、自分のMLプロジェクトをBootstrapしたり更新したりするときに使えるものである。
実習では単純な教師あり学習の例を選んだが、本章のアプローチは、深層学習、強化学習、演算子、さらにはWebアプリケーション、可視化ダッシュボードなど、Pythonでの非MLアプリケーションなど、他の多くのMLやデータサイエンスのパラダイムに一般化可能である。この章では、コード・サンプルを参照することもあるが、それは概念の読み取りと説明のためのものである。次の章では、実際に手を動かしてコードを書いてみよう。
最後に、これは「こうしなければならない」という処方箋ではない。そうではなく、MLとPythonのエコシステムで依存関係を管理する際のよくある落とし穴を避けるために、私たちを助けてきた、そしてMLの実践者なら誰でも助けることができるテクニックとツールのモジュールセットである。この章で説明された罠に直面したとき、これらの原則、プラクティスがどのように役立つかを考えてみてほしい。
それでは最初のセクション、効果的な依存関係管理の原則、プラクティスに入ろう。
もし我々のコードがいつでもどこでも機能するとしたらどうだろう?
経験がある人は手を挙げて: ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access