このプロジェクトについて

microgradは、最小限のスカラー値autogradエンジンと、その上に構築された軽量ニューラルネットワークライブラリを提供します。中核となる`Value`抽象化は、動的に構築される有向非巡回グラフに演算を記録し、加算、乗算、累乗、除算、減算、ReLUなどのサポートされる算術演算および活性化演算を通じたバックプロパゲーションをサポートします。READMEでは、エンジンとニューラルネットワークコンポーネントがそれぞれ約100行と50行であると説明されており、本番規模のテンソル性能よりも明瞭さと教育用途を重視しています。 パッケージは`pip install micrograd`でインストールできます。例では、`Value`オブジェクトから式を構築し、`.data`から順伝播の結果を読み取り、`backward()`を呼び出し、`.grad`を通じて入力勾配を確認する方法を示しています。 同梱の`micrograd.nn`モジュールは、PyTorch風のインターフェースを持つニューロン、レイヤー、MLPスタイルのビルディングブロックを提供します。`demo.ipynb`では、max-margin損失とSGDを使用して、月データセット上の二値分類器として2層多層パーセプトロンを訓練する方法を示しています。別のノートブック`trace_graph.ipynb`では、Graphvizを使用して計算ノードを値と勾配の両方とともに可視化します。 テストスイートは、計算された勾配を検証するための参照実装としてPyTorchを使用し、pytestで実行されます。READMEはまた、関連するautogradアプローチを使用してGPT-2風のトランスフォーマーを訓練およびサンプリングする方法を示す外部のmicrogpt例にもリンクしています。このプロジェクトはMITライセンスの下で公開されています。