当前位置: 首页 > news >正文

政务公开 网站建设滞后wap网站html5

政务公开 网站建设滞后,wap网站html5,手机图文制作软件,一个只做专卖的网站学习自https://pytorch.org/tutorials/beginner/basics/quickstart_tutorial.html 导入并预处理数据集 pytorch中数据导入和预处理主要用torch.utils.data.DataLoader 和 torch.utils.data.Dataset Dataset 存储样本及其相应的标签,DataLoader在数据上生成一个可迭…

学习自https://pytorch.org/tutorials/beginner/basics/quickstart_tutorial.html

导入并预处理数据集

pytorch中数据导入和预处理主要用torch.utils.data.DataLoader 和 torch.utils.data.Dataset
Dataset 存储样本及其相应的标签,DataLoader在数据上生成一个可迭代对象(Dataset stores the samples and their corresponding labels, and DataLoader wraps an iterable around the Dataset.)

import torch
from torch import nn
from torch.utils.data import DataLoader
from torchvision import datasets
from torchvision.transforms import ToTensor# Download training data from open datasets.
training_data = datasets.FashionMNIST(root="data",train=True,download=True,transform=ToTensor(),
)# Download test data from open datasets.
test_data = datasets.FashionMNIST(root="data",train=False,download=True,transform=ToTensor(),
)

将数据集作为参数传递给 DataLoader。 这在我们的数据集上包装了一个可迭代对象,并支持自动批处理、采样、混洗和多进程数据加载。并且每一个batch大小为64。

batch_size = 64# Create data loaders.
train_dataloader = DataLoader(training_data, batch_size=batch_size)
test_dataloader = DataLoader(test_data, batch_size=batch_size)for X, y in test_dataloader:print(f"Shape of X [N, C, H, W]: {X.shape}")print(f"Shape of y: {y.shape} {y.dtype}")break

搭建神经网络

MNIST手写数字数据集的图片是2828的,所以第一层的输入为2828。
因为识别结果是0~9这10种,所以最后一层的输出就是10个。

我们需要定义神经网络结构,这部分在__init__(self)部分实现。
且我们需要forward部分定义网络正向传播的方法。

class NeuralNetwork(nn.Module):def __init__(self):super().__init__()self.flatten = nn.Flatten()self.linear_relu_stack = nn.Sequential(nn.Linear(28 * 28, 512),nn.ReLU(),nn.Linear(512, 512),nn.ReLU(),nn.Linear(512, 10))def forward(self, x):x = self.flatten(x)logits = self.linear_relu_stack(x)return logitsmodel = NeuralNetwork().to(device)
print(model)

训练模型

首先,我们需要先定义损失函数和优化器(优化梯度下降算法)

loss_fn = nn.CrossEntropyLoss()
optimizer = torch.optim.SGD(model.parameters(), lr=1e-3) # lr为学习率

在一次循环中,神经网络通过forward进行预测(我们写的forward函数),然后再利用预测误差。通过反向传播来进行梯度下降(pytorch帮我们实现)。

def train(dataloader, model, loss_fn, optimizer):size = len(dataloader.dataset)model.train()for batch, (X, y) in enumerate(dataloader):X, y = X.to(device), y.to(device)# Compute prediction errorpred = model(X)loss = loss_fn(pred, y)# Backpropagationoptimizer.zero_grad()loss.backward()optimizer.step()if batch % 100 == 0:loss, current = loss.item(), (batch + 1) * len(X)print(f"loss: {loss:>7f}  [{current:>5d}/{size:>5d}]")
def test(dataloader, model, loss_fn):size = len(dataloader.dataset)num_batches = len(dataloader)model.eval()test_loss, correct = 0, 0with torch.no_grad():for X, y in dataloader:X, y = X.to(device), y.to(device)pred = model(X)test_loss += loss_fn(pred, y).item()correct += (pred.argmax(1) == y).type(torch.float).sum().item()test_loss /= num_batchescorrect /= sizeprint(f"Test Error: \n Accuracy: {(100*correct):>0.1f}%, Avg loss: {test_loss:>8f} \n")

开始训练!

epochs = 5
for t in range(epochs):print(f"Epoch {t+1}\n-------------------------------")train(train_dataloader, model, loss_fn, optimizer)test(test_dataloader, model, loss_fn)
print("Done!")

在这里插入图片描述

http://www.tj-hxxt.cn/news/71178.html

相关文章:

  • 现在最火的发帖平台seo蜘蛛池
  • 广西建设工程质检安全网站贷款客户大数据精准获客
  • 网站视频主持人怎么做成都网站制作维护
  • 昆明住房和城乡建设局网站北京网络营销咨询公司
  • 360做网站和推广怎么样今天最新军事新闻视频
  • 《网页设计与网站建设》大作业要求烟台seo网络推广
  • 手机网页禁止访问解除郑州seo方案
  • 新手做网站用什么软件南宁企业官网seo
  • 宣传商务型的网站seo公司是什么意思
  • 承德信息网络有限公司南宁优化网站网络服务
  • 网上图书商城网站设计北京搜索优化排名公司
  • 网站安全狗服务名软件开发公司有哪些
  • 南海网站建设报价百度后台登录
  • 做网站需要学jsp网站建设有哪些公司
  • 经典企业网站欣赏系统优化方法
  • 莱芜网站优化团队写软文的app
  • 网站备案 公司注销吗seo网站推广是什么
  • 保定专业做网站你对网络营销的理解
  • 做网站常用工具三十个知识点带你学党章
  • 建网站的步骤及方法域名注册要多少钱
  • 网站开发安全小贴士福州seo排名优化公司
  • 百度网站验证怎么做seo软文是什么意思
  • 洛阳网站建设培训百度官方平台
  • 端午节网站制作杭州余杭区抖音seo质量高
  • 网站开发需要哪些人员如何联系百度平台客服
  • 东平县建设局信息网站长尾关键词挖掘网站
  • weirdcore制作网站楚雄百度推广电话
  • 大连网站制作怎么做优化设计四年级上册语文答案
  • 重庆做网站好的公司网络销售推广公司
  • 高校网站建设方案广告推送平台