PyTorch の動作確認をしてみた(23)

1. 環境は、Window 10 Home (64bit) 上で行った。

2. Anaconda3 (64bit) – Spyder上で、動作確認を行った。

3. python の バージョンは、python 3.7.0 である。

4. pytorch の バージョンは、pytorch 0.4.1 である。

5. GPU は, NVIDIA社 の GeForce GTX 1050 である。

6. CPU は, Intel社 の Core(TM) i7-7700HQ である。

今回確認した内容は、現場で使える! PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY) の 6.2 ニューラル行列因子分解 (P.160 – P.169) である。

※プログラムの詳細は, 書籍を参考(P.160 – P.169)にして下さい.

■ニューラル行列因子分解の訓練に関する動作確認(書籍から一部抜粋・追記).

■実行結果(epoch 5).

■指定ユーザの映画評価に関する予測についての動作確認(書籍から一部抜粋・追記).

■実行結果.

■以上の実行結果から, 以下のことが分かった.


■参照サイト
【参照URL①】MovieLens
【参照URL②】SAVING AND LOADING MODELS

■参考書籍
現場で使える! PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY)

PyTorch の動作確認をしてみた(22)

1. 環境は、Window 10 Home (64bit) 上で行った。

2. Anaconda3 (64bit) – Spyder上で、動作確認を行った。

3. python の バージョンは、python 3.7.0 である。

4. pytorch の バージョンは、pytorch 0.4.1 である。

5. GPU は, NVIDIA社 の GeForce GTX 1050 である。

6. CPU は, Intel社 の Core(TM) i7-7700HQ である。

今回確認した内容は、現場で使える! PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY) の 6.1 行列因子分解 (P.152 – P.159) である。

※1. プログラムの詳細は, 書籍を参考(P.152 – P.159)にして下さい.
※2. 書籍上は, 本章に関し, 特に, 訓練したモデルの保存については, 書かれてなかったが, epoch 5 でも, 約1974秒かかったので, 訓練したモデルの保存は, 個人的には, 推奨したい.

■行列因子分解の訓練に関する動作確認.

■実行結果(epoch 5).

■指定ユーザの映画評価に関する予測についての動作確認.

■実行結果.

■以上の実行結果から, 以下のことが分かった.


■参照サイト
【参照URL①】MovieLens
【参照URL②】SAVING AND LOADING MODELS
【参照URL③】torch.topk

■参考書籍
現場で使える! PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY)

PyTorch の動作確認をしてみた(21)

1. 環境は、Window 10 Home (64bit) 上で行った。

2. Anaconda3 (64bit) – Spyder上で、動作確認を行った。

3. python の バージョンは、python 3.7.0 である。

4. pytorch の バージョンは、pytorch 0.4.1 である。

5. GPU は, NVIDIA社 の GeForce GTX 1050 である。

6. CPU は, Intel社 の Core(TM) i7-7700HQ である。

今回確認した内容は、現場で使える! PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY) の 6.1 行列因子分解 (P.152 – P.156) である。

※1. プログラムの詳細は, 書籍を参考(P.152 – P.156)にして下さい.
※2. どちらかというと, torch.sum() の 使い方を確認した内容となっている.

■torch.sum()の動作確認.

■実行結果.


■参照サイト
【参照URL①】torch.sum()

■参考書籍
現場で使える! PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY)

PyTorch の動作確認をしてみた(20)

1. 環境は、Window 10 Home (64bit) 上で行った。

2. Anaconda3 (64bit) – Spyder上で、動作確認を行った。

3. python の バージョンは、python 3.7.0 である。

4. pytorch の バージョンは、pytorch 0.4.1 である。

5. GPU は, NVIDIA社 の GeForce GTX 1050 である。

6. CPU は, Intel社 の Core(TM) i7-7700HQ である。

今回確認した内容は、現場で使える! PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY) の 5.5 Encoder-Decoderモデルによる機械翻訳 (P.135 – P.148) である。
※1. プログラムの詳細は, 書籍を参考(P.135 – P.148)にして下さい.
※2. 前回の続きで, 翻訳させる部分を確認した.
※3. ハマった箇所として, Decoderクラスで,
ValueError: First argument of _symbolic_pack_padded_sequence is expected to be a tensor, but got an object of type
といった error が出力されたが,
pad_packed_sequence と 書くべきところを, pack_padded_sequence とタイプミスしたことが原因と分かった.
※4. 以下のように, 実行完了までに, 22050秒程度かかったので, 実行される場合は, 就寝直前などが良いと思われる.

■機械翻訳の動作確認(書籍から一部抜粋・加筆).

■実行結果(一部抜粋).

■実行結果(epoch 30).


■参考書籍
現場で使える! PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY)

PyTorch の動作確認をしてみた(19)

1. 環境は、Window 10 Home (64bit) 上で行った。

2. Anaconda3 (64bit) – Spyder上で、動作確認を行った。

3. python の バージョンは、python 3.7.0 である。

4. pytorch の バージョンは、pytorch 0.4.1 である。

5. GPU は, NVIDIA社 の GeForce GTX 1050 である。

6. CPU は, Intel社 の Core(TM) i7-7700HQ である。

今回確認した内容は、現場で使える! PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY) の 5.5 Encoder-Decoderモデルによる機械翻訳 (P.135 – P.145) である。
※1. プログラムの詳細は, 書籍を参考(P.135 – P.145)にして下さい.
※2. 書籍上で紹介されていたスペイン語のパターン以外の言語も, とりあえず動かしてみた.

スペイン語: spa.txt
スウェーデン語: swe.txt
ドイツ語: deu.txt
フランス語: fra.txt
ロシア語: rus.txt

■Encoder-Decoderモデルの動作確認(書籍から一部抜粋・加筆).

■実行結果.
書籍上で指摘されているが, とりあえず, よく分からない文章が生成された.


■参照サイト
【参照URL①】Tab-delimited Bilingual Sentence Pairs

■参考書籍
現場で使える! PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY)

PyTorch の動作確認をしてみた(18)

1. 環境は、Window 10 Home (64bit) 上で行った。

2. Anaconda3 (64bit) – Spyder上で、動作確認を行った。

3. python の バージョンは、python 3.7.0 である。

4. pytorch の バージョンは、pytorch 0.4.1 である。

5. GPU は, NVIDIA社 の GeForce GTX 1050 である。

6. CPU は, Intel社 の Core(TM) i7-7700HQ である。

今回確認した内容は、現場で使える! PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY) の 5.5 Encoder-Decoderモデルによる機械翻訳 (P.135 – P.139) である。

※1. プログラムの詳細は, 書籍を参考(P.135 – P.139)にして下さい.
※2. 書籍上で定義されている関数について, 挙動が見えなかったので, 実際に出力させてみた.


■関数(normalize, parse_line, build_vocab, words2tensor)の動作確認(書籍から一部抜粋・加筆).

■実行結果.


■参考書籍
現場で使える! PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY)

PyTorch の動作確認をしてみた(17)

1. 環境は、Window 10 Home (64bit) 上で行った。

2. Anaconda3 (64bit) – Spyder上で、動作確認を行った。

3. python の バージョンは、python 3.7.0 である。

4. pytorch の バージョンは、pytorch 0.4.1 である。

5. GPU は, NVIDIA社 の GeForce GTX 1050 である。

6. CPU は, Intel社 の Core(TM) i7-7700HQ である。

今回確認した内容は、現場で使える! PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY) の 5.4 RNNによる文章生成 (P.126 – P.134) である。

※1. プログラムの詳細は, 書籍を参考(P.126 – P.134)にして下さい.
※2. 動作確認時に躓いた箇所も, コメントした.


■関数(str2ints, ints2str)の動作確認(書籍から一部抜粋・加筆).

■実行結果.


■RNNによる文章生成(書籍から一部抜粋・加筆).

■実行結果(epoch = 50).
文章と言われてみれば, 見えなくも無さそうだが, 精度は, まだまだ低そうに見える.

■ハマった現象 & 解決策.


■参照サイト
【参照URL①】karpathy/char-rnn
【参照URL②】tinyshakespeare.txt の 内容

■参考書籍
現場で使える! PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY)

PyTorch の動作確認をしてみた(16)

1. 環境は、Window 10 Home (64bit) 上で行った。

2. Anaconda3 (64bit) – Spyder上で、動作確認を行った。

3. python の バージョンは、python 3.7.0 である。

4. pytorch の バージョンは、pytorch 0.4.1 である。

5. GPU は, NVIDIA社 の GeForce GTX 1050 である。

6. CPU は, Intel社 の Core(TM) i7-7700HQ である。

今回確認した内容は、現場で使える! PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY) の 5.3 RNNと文章のクラス分類 (P.113 – P.121) である。

※1. プログラムの詳細は, 書籍を参考(P.113 – P.121)にして下さい.
※2. RNN の挙動について, 前回の課題として残していたものがあったので, 再度, 復習した.
※3. 参照URL① を 元に, positive, negative に関する予測, 正解に関する情報を出力させるなどの, 動作確認を行った.
-> DataLoaderの使い方で, 落とし穴があったので, 実行結果でも, コメントした.


■RNNと文章のクラス分類に関する動作確認(書籍から一部抜粋・加筆).

■実行結果.
1. [aclImdb_small]フォルダで確認(※データ数を少なくして検証)した場合(epoch = 5).
※以下のファイルで構成されているものとする.
imdb.vocab
aclImdb_small\train\neg\1_1.txt
aclImdb_small\train\neg\0_3.txt
aclImdb_small\train\pos\0_9.txt
aclImdb_small\train\pos\1_7.txt
aclImdb_small\train\unsup\0_0.txt
aclImdb_small\train\unsup\1_0.txt
aclImdb_small\test\neg\1_3.txt
aclImdb_small\test\neg\0_2.txt
aclImdb_small\test\pos\1_10.txt
aclImdb_small\test\pos\0_10.txt

2. [aclImdb]フォルダで確認した場合(epoch = 5).
※[aclImdb/test/neg]フォルダ, [aclImdb/test/pos]フォルダ に, それぞれ, 12500枚ずつ の テキストファイルが保管されている.

■実行結果.


■参照サイト
【参照URL①】DataLoader Filenames in each Batch
【参照URL②】zip-like function that pads to longest length?

■参考書籍
現場で使える! PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY)

PyTorch の動作確認をしてみた(15)

1. 環境は、Window 10 Home (64bit) 上で行った。

2. Anaconda3 (64bit) – Spyder上で、動作確認を行った。

3. python の バージョンは、python 3.7.0 である。

4. pytorch の バージョンは、pytorch 0.4.1 である。

5. GPU は, NVIDIA社 の GeForce GTX 1050 である。

6. CPU は, Intel社 の Core(TM) i7-7700HQ である。

今回確認した内容は、現場で使える! PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY) の 5.3 RNNと文章のクラス分類 (P.113 – P.121) である。

※1. プログラムの詳細は, 書籍を参考(P.113 – P.121)にして下さい.
※2. とりあえず出力されるところまで, 動作確認を行った.


■RNNと文章のクラス分類に関する動作確認(書籍から一部抜粋・加筆).

■実行結果.


■参照サイト
【参照URL①】WindowsでCP932(Shift-JIS)エンコード以外のファイルを開くのに苦労した話
【参照URL②】BrokenPipeError: [Errno 32] Broken pipe #4418

■参考書籍
現場で使える! PyTorch開発入門 深層学習モデルの作成とアプリケーションへの実装 (AI & TECHNOLOGY)

C++ の動作確認をしてみた(32)

C++の練習を兼ねて, AtCoder Beginner Contest 053 の 問題C(X: Yet Another Die Game), 問題D(Card Eater) を解いてみた.

■感想.
1. とりあえず, 解説見ずに解けたので良かったと思う.
※解説みたら, 同じ方針だったので, 着眼点については, 及第点に到達できたと思う.


本家のサイトABC053 /ARC068 解説をご覧下さい.


■C++版プログラム(問題C/AC版).

■C++版プログラム(問題D/AC版).

■参照サイト
AtCoder Beginner Contest 053