この授業で学ぶこと
第1回 導入
導入部
インタラクティブ(対話)モード
変数宣言が不要
電卓として利用
演算子、型毎に提供された演算、同じ演算子でも異なる結果
データ型(クラス型と同義)あとで解説
リスト、タプル、辞書
変数名を入力すると値が表示される
スクリプトモード
エディタについて、
インデント
コメント
Pythonはオブジェクト指向言語
全ての変数は参照型変数、オブジェクトのアドレスが格納されている
クラスとインスタンスを簡単に説明、メソッド、インスタンス変数まで解説する
インスタンスが作られるタイミング
制御構造
分岐処理
if文
反復処理
while文
for文
イテレータ、1つの場合、複数の場合
関数
関数定義
引数と戻り値
動的型付け
複数の戻り値とアンパック
Pythonは参照渡し?
名前付き引数、デフォルト引数
第2回:モジュール
導入
import文 、asによる読み込み、fromによる読み込み
ライブラリとモジュールの概念
Math
NumPy
配列、NumPyが提供する関数とメソッド
数値計算の方法、ブロードキャスト、ユニバーサル関数、添字、スライス
ブールインデックス
グラフ作成
plot関数とshow関数
グラフの装飾、複数ラインの描画、2次元配列からの抽出と描画
第3回 クラス設計
クラスとインスタンス
ユーザ定義クラス、インスタンス、メソッド、コンストラクタ
インスタンス変数とクラス変数、特殊メソッド
デコレータ、クラスメソッド、スタティックメソッド
継承、オーバーライド、抽象クラス
第4回 NNプログラミング
機械学習ライブラリ
Scikit-LearnとPyTorch
プログラムの提示と解説
インポートするモジュールの解説
オブジェクト指向的なデータの扱い方(重要)
クラスメソッド:torch.tensor()、train_test_split()、one_hot()
インスタンスメソッド:.float()
インスタンス変数やクラス変数にアクセスするパターン
import文を工夫させることで、より短く記述させる
イタレータによるバッチの準備
学習
学習に利用するインスタンスを丁寧に解説:model, optimizer, loss_func, LOSS
print関数の使い方、
format
制御構造:for文、if文
特にイテレータとfor文の関係、アンパックしながらループする様子
学習中の各オブジェクトのふるまいをしっかり解説する
item:0次元のテンソルからintやfloatなどの組込み型として値を取り出す
tensorは値そのものに加えて勾配情報など様々な属性を有するので
pyplotによるグラフの作成
リスト、ndarray, tensor
テンソル同士の比較、ndarrayでも同様、
lenは組み込み関数、item, sumはメソッド
多次元配列、テンソルの次元の考え方
第5回 まとめ
前半:テスト(筆記試験)
後半:解説