このリポジトリは『ゼロから作るDeep Learning ❸』のサンプルコードに、各ステップを学習・実行できる Jupyter Notebook を追加したものです。
本書では「DeZero」というディープラーニングのフレームワークを作ります。DeZeroは本書オリジナルのフレームワークです。最小限のコードで、フレームワークのモダンな機能を実現します。本書では、この小さな——それでいて十分にパワフルな——フレームワークを、全部で60のステップで完成させます。それによって、PyTorch、TensorFlow、Chainerなどの現代のフレームワークに通じる深い知識を養います。
【試し読み】本書の一部をオンラインで公開しています。 https://koki0702.github.io/dezero-book/
| フォルダ名 | 説明 |
|---|---|
| dezero | DeZeroのソースコード |
| examples | DeZeroを使った実装例 |
| steps | 各stepファイル(step01.py ~ step60.py) |
| notebooks | 各ステップを学習・実行するJupyter Notebook |
| tests | DeZeroのユニットテスト |
本書で使用するPytnonのバージョンと外部ライブラリは下記の通りです。
またオプションとして、NVIDIAのGPUで実行できる機能も提供します。その場合は下記のライブラリが必要です。
- CuPy (オプション)
本書で説明するPythonファイルは、主にstepsファルダにあります。 最初にリポジトリのルートで、uv を使って環境を作成します。
uv sync各ファイルは、リポジトリのルートから uv run python3 で実行できます。
uv run python3 steps/step01.py
uv run python3 steps/step02.pyNotebook を利用する場合は、次のコマンドで JupyterLab を起動してください。
uv run jupyter labCuPy 13 系(cupy-cuda12x)と必要な CUDA 12.9 ライブラリも uv sync で
インストールされます。GPU 機能を利用するには、対応する NVIDIA GPU と
ドライバーが必要です。システムへの CUDA Toolkit の別途インストールは不要です。
CuPy は、既存の NumPy 1.26 と互換性のある 13 系に固定しています。
notebooks/stage5_step52-56.ipynb は、GPU の確認セルで uv 環境内の CUDA
共有ライブラリを直接読み込むため、次の検索パス設定なしで実行できます。
libnvrtc.so.12 の読み込みエラーが出た後は、修正済みの Notebook を開き、
カーネルを再起動して上から実行してください。
Linux / WSL でほかの Notebook やスクリプトを実行する場合は、CuPy 13 系が CUDA 共有ライブラリを見つけられるよう、リポジトリ直下で次の設定を行ってから JupyterLab を起動してください。 起動済みの場合は、JupyterLab 自体を終了してこのコマンドで起動し直してください。
CUDA_LIBRARY_PATH="$(uv run python3 -c 'import site; from pathlib import Path; print(":".join(str(p) for base in site.getsitepackages() for p in sorted((Path(base) / "nvidia").glob("*/lib"))))')"
export LD_LIBRARY_PATH="$CUDA_LIBRARY_PATH${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
uv run jupyter lab同じターミナルから uv run python3 steps/step52.py などのスクリプトも実行できます。
DeZeroの他の実装例はexamplesにあります。
本書の正誤情報は、🔎 正誤表ページに掲載しています。
正誤表ページに掲載されていない誤植や間違いなどを見つけた方は、📧 japan@oreilly.co.jpまでお知らせください。










