hirohirohirohirosのブログ

地方国立大学に通う情報系学部4年

深層学習

PyTorch実戦入門 第3章 演習問題 解答まとめ

1 a b 2 a b 1 import torch a = torch.tensor(list(range(9))) print(a.size()) print(a.storage_offset()) print(a.stride()) >>torch.Size([9]) >>0 >>(1,) a .view()を使うと, b = a.view(3, 3) print(b) >>tensor([[0, 1, 2], [3, 4, 5], [6, 7, 8]]) …

PyTorch実戦入門 第2章 演習問題 解答まとめ

1 a b 2 a b 1 a 必要な前処理は,第2章で行ったことと同じで,256×256にリサイズする事と,テンソルに変換する事です. preprocess = transforms.Compose([transforms.Resize(256), transforms.ToTensor()]) img = Image.open("golden.png") img_t = prepro…

PyTorch実戦入門 第1章 演習問題 解答まとめ

1 a b c 2 1 a pythonのバージョンを確認するにはpython --versionと打ち込みます. >>python --version python 3.8.8 b torchのバージョンを確認するには,pythonと打ち込んでpythonを起動し,torchをインポートした後,torch.__version__で確認できます. …

ゼロから作るDeep Learning 3 まとめ

ゼロから作るDeep Learning ❸ ―フレームワーク編作者:斎藤 康毅オライリー・ジャパンAmazon まとめ 各ステップまとめ 第1ステージ ステップ1~ステップ4 ステップ5~ステップ10 第2ステージ ステップ11~ステップ16 ステップ17~ステップ20 ステップ21~ステップ2…

ゼロから作るDeep Learning 3 ステップ59~ステップ60 まとめ dezeroでRNN,LSTMを実装する

hirohirohirohiros.hatenablog.com 前回のVGGに引き続き,dezeroでRNNとLSTMを実装します! ステップ55, 56 RNN Truncated BPTT サイン波の予測 Truncated BPTTの効果検証 ステップ60 LSTM ステップ55, 56 RNN RNNは時系列データに対して効果を発揮するモデ…

ゼロから作るDeep Learning 3 ステップ55~ステップ58 まとめ dezeroでVGG16を実装する

hirohirohirohiros.hatenablog.com dezeroで遂に画像認識に長けたモデルであるCNNとその代表VGG16を実装します! ステップ55, 56 CNNの復習 畳み込み演算 パディング 出力サイズの計算式 プーリング層 ステップ58 VGG16 ステップ55, 56 CNNの復習 CNNは画像…

ゼロから作るDeep Learning 3 ステップ52~ステップ54 まとめ

hirohirohirohiros.hatenablog.com ステップ53 モデルの保存 ndarrayの保存と読み込み ステップ54 Dropout Direct DropoutとInverted Dropout ステップ53 モデルの保存 機械学習の学習には数時間以上かかる事がザラにあります.そのようなモデルを利用するた…

ゼロから作るDeep Learning 3 ステップ47~ステップ51 まとめ

hirohirohirohiros.hatenablog.com ステップ49 Datasetクラス ステップ50 DataLoader ステップ49 Datasetクラス 大規模なデータからなるデータセットを使って学習しようとしたとき,その大規模データを一つのインスタンスにして扱おうとすると,メモリが足り…

ゼロから作るDeep Learning 3 ステップ45~ステップ46 まとめ

hirohirohirohiros.hatenablog.com ステップ45 レイヤを纏めるレイヤ ステップ46 SGD,Momentum以外のOptimizer ステップ45 レイヤを纏めるレイヤ ステップ44ではパラメータを纏めるレイヤを作成し,パラメータの管理を一つのクラスで行えるようにしました.…

ゼロから作るDeep Learning 3 ステップ41~ステップ44 まとめ

hirohirohirohiros.hatenablog.com ステップ42 トイデータセット 線形回帰 ステップ43 functionクラスを継承したlinear関数 ステップ42 トイデータセット トイデータセットとは,実験用の小さなデータセットの事を言います.本書では線形回帰の実験をするた…

ゼロから作るDeep Learning 3 ステップ37~ステップ40 まとめ

hirohirohirohiros.hatenablog.com ステップ38 実際のtranpose関数 ステップ38 実際のtranpose関数 本書で実装したtranspose関数は2次元テンソルの転置のみを行うように実装されていましたが,numpyのtransopose関数はより汎用性が高いです. n次元テンソル…

ゼロから作るDeep Learning 3 ステップ33~ステップ36 まとめ

hirohirohirohiros.hatenablog.com ステップ35 高階微分の計算グラフ ニュートン法の問題点 ステップ35 高階微分の計算グラフ tanh関数を作成し,微分を何回も行うことで複雑な計算グラフを作る事が出来ます.本書でも,8階微分の計算グラフを掲載し,ひとき…

ゼロから作るDeep Learning 3 ステップ25~ステップ32 まとめ

hirohirohirohiros.hatenablog.com ステップ25, 26 計算グラフの可視化 ステップ27 テイラー展開の微分 ステップ32 高階微分の実装 ステップ25, 26 計算グラフの可視化 計算グラフを可視化するにはgraphvizというツールを使います.本書ではwindows版でのイ…

ゼロから作るDeep Learning 3 ステップ21~ステップ24 まとめ

hirohirohirohiros.hatenablog.com ステップ21 演算子の優先度 ステップ23 モジュール,パッケージ,ライブラリ ステップ24 複雑な関数の微分 Define-and-RunとDefine-by-Run ステップ21 演算子の優先度 左項がndarrayインスタンスで右項が自作インスタンス…

ゼロから作るDeep Learning 3 ステップ17~ステップ20 まとめ

hirohirohirohiros.hatenablog.com ステップ18 推論モードの切り替え ステップ19 @property ステップ20 演算子のオーバーロード ステップ18 推論モードの切り替え 今まで学習モード(逆伝播をする必要がある)と推論モード(逆伝播をする必要が無くメモリ使用量…

ゼロから作るDeep Learning 3 ステップ11~ステップ16 まとめ

hirohirohirohiros.hatenablog.com ステップ14 累積代入文の仕様 ステップ16 Variableクラスのbackwardをheapqで実装する ステップ14 累積代入文の仕様 a = a+bとa += bは全く同じ意味だと思っていましたが,厳密には違うようです. x = np.array(1) print(i…

ゼロから作るDeep Learning 3 ステップ5~ステップ10 まとめ

hirohirohirohiros.hatenablog.com ステップ7 assert ステップ9 0次元のndarrayの挙動 np.isscalar ステップ10 np.allclose テスト ステップ7 assert assert文は,条件を書いて条件がFalseの時例外を出します.プログラムの条件をテストする目的で使われます…

ゼロから作るDeep Learning 3 ステップ1~ステップ4 まとめ

DLに関する話だけで無く,Pythonやソフトウェア開発に関する事についても学ぶ事が多い本だと感じたのでまとめます. hirohirohirohiros.hatenablog.com 前書き インクリメンタル ステップ2 __call__メゾット raise NotImplementedError ステップ4 微分の近似…