第18课:项目实战——利用 PyTorch 构建 RNN 模型
上一篇,我們主要介紹了基本的 RNN 模型和 LSTM。本文將通過一個(gè)實(shí)戰(zhàn)項(xiàng)目帶大家使用 PyTorch 搭建 RNN 模型。
本項(xiàng)目將構(gòu)建一個(gè) RNN 模型,來對 MNIST 手寫數(shù)據(jù)集進(jìn)行分類。可能有的讀者會疑問,MNIST 數(shù)據(jù)集不是圖片嗎,而 RNN 是處理序列信號的。為什么圖片識別也能使用 RNN 模型呢?其實(shí),這里我們可以把圖片看成是序列信號,例如下面是 MNIST 數(shù)據(jù)集的一張圖片:
MNIST 數(shù)據(jù)集中所有的圖片都是 28x28 的。按行來看,圖片的每一行都包含 28 個(gè)像素點(diǎn),一共有 28 行。因此,我們可以把每一行的 28 個(gè)像素點(diǎn)當(dāng)成 RNN 的一個(gè)輸入 $x^{<t>}$。總共有 28 行,則 $T_x=28$。圖片的分割方式如下圖所示:
輸入已經(jīng)確定了,對于輸出,因?yàn)槭欠诸悊栴},識別 0~9 數(shù)字,因此,RNN 模型應(yīng)該有 10 個(gè)輸出,即 $T_y=10$。此例中,$T_x\neq T_y$。
確定了基本結(jié)構(gòu)和輸入輸出之后,我們開始使用 PyTorch 構(gòu)建 RNN 。首先,還是導(dǎo)入 MNIST 數(shù)據(jù)集。
導(dǎo)入數(shù)據(jù)集
下面代碼實(shí)現(xiàn)了 MNIST 數(shù)據(jù)集的導(dǎo)入。
import torch i總結(jié)
以上是生活随笔為你收集整理的第18课:项目实战——利用 PyTorch 构建 RNN 模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员编程能力和年龄的关系
- 下一篇: 第17课:循环神经网络(RNN)