[pytorch、学习] - 3.9 多重感知机的从零开始实现
生活随笔
收集整理的這篇文章主要介紹了
[pytorch、学习] - 3.9 多重感知机的从零开始实现
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
參考
3.9 多重感知機(jī)的從零開(kāi)始實(shí)現(xiàn)
import torch import numpy as np import sys sys.path.append("..") import d2lzh_pytorch as d2l3.9.1. 獲取和讀取數(shù)據(jù)
batch_size = 256 train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size)3.9.2. 定義模型參數(shù)
num_inputs, num_outputs, num_hiddens = 784, 10, 256W1 = torch.tensor(np.random.normal(0, 0.01, (num_inputs, num_hiddens)), dtype=torch.float) b1 = torch.zeros(num_hiddens, dtype=torch.float) W2 = torch.tensor(np.random.normal(0, 0.01, (num_hiddens, num_outputs)), dtype=torch.float) b2 = torch.zeros(num_outputs, dtype=torch.float)params = [W1, b1, W2, b2] for param in params:param.requires_grad_(requires_grad=True)3.9.3. 定義激活函數(shù)
def relu(X):return torch.max(input=X, other=torch.tensor(0.0))3.9.4. 定義模型
def net(X):X = X.view((-1, num_inputs))H = relu(torch.matmul(X, W1) + b1)return torch.matmul(H, W2) + b23.9.5. 定義損失函數(shù)
loss = torch.nn.CrossEntropyLoss()3.9.6. 訓(xùn)練模型
num_epochs, lr = 5, 100.0 d2l.train_ch3(net, train_iter, test_iter, loss, num_epochs, batch_size, params, lr)3.9.7. 預(yù)測(cè)
X, y = iter(test_iter).next()true_labels = d2l.get_fashion_mnist_labels(y.numpy()) pred_labels = d2l.get_fashion_mnist_labels(net(X).argmax(dim=1).numpy()) titles = [true + '\n' + pred for true, pred in zip(true_labels, pred_labels)]d2l.show_fashion_mnist(X[0:9], titles[0:9])總結(jié)
以上是生活随笔為你收集整理的[pytorch、学习] - 3.9 多重感知机的从零开始实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c51单片机跑马灯汇编语言,单片机的跑马
- 下一篇: 数据库无限层级分类设计