趣味のPython・深層学習

中級者のための実装集

2023-12-01から1ヶ月間の記事一覧

Pythonディスクリプタの基本: カスタム属性の作成と活用

はじめに Pythonにおいて、ディスクリプタは強力なオブジェクトの属性を制御するための仕組みです。この記事では、ディスクリプタの基本的な概念と、実際の利用例について詳しく解説します。サンプルコードを交えながら、どのようにディスクリプタを定義し、…

深層学習内部の行列の内積を行うクラス(Matmul)の実装

はじめに 行列の乗算(Matrix Multiplication)は、深層学習などで頻繁に利用される基本的な演算です。その中でも、逆伝播(Backpropagation)における勾配計算の一環として行われることがあります。この記事では、NumPyを用いて行列の乗算を行うMatMulクラ…

__iter__, __next__によるイテレータの実装

1. iter メソッドの役割 iter メソッドはクラスがイテレータとして振る舞うための特殊メソッドです。このメソッドを実装することで、クラスのオブジェクトを iter() 関数で呼び出せるようになります。 class MyIterator: def __iter__(self): return self it…

ジェネレータ関連(yield, __init__, __next__)の初心者向け解説

ジェネレータの定義 ジェネレータはイテレータを作成するための特別な関数です。(ジェネレータによって作成されたイテレータをジェネレータイテレータとも呼びます。) yieldによるジェネレータ実装 from typing import Generator def simple_generator() -…

nn.Sequentialの挙動を実装して理解する。

この記事では、nn.Sequentialの基本的な概念から始め、自作のCustomSequentialクラスを通してその挙動を解説します。 1. nn.Sequentialとは? nn.Sequentialは、PyTorchでネットワークを構築するためのシンプルで便利なツールです。これは順番にモジュールを…

デコレータ@contextmanagerを3stepで理解する。

ステップ1: try-finally を使用する例 まず、ファイルを開いて処理を行う際に、try-finally ブロックを使用する例を見てみましょう。これにより、ファイルが正しくクローズされることが保証されます。 Copy code file_path: str = "example.txt" try: file: …