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

上海网站建设制作做网站好的

上海网站建设制作,做网站好的,网页主要由三部分组成,网站建设背景 前景分析学习自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.yayakq.cn/news/73335/

相关文章:

  • 网站软件设计微信怎么链接wordpress
  • 域名证书查询网站大流量网站建设
  • 做英语翻译兼职的网站中国机械加工网怎么样
  • 中山做百度网站的公司吗东莞seo建站公司
  • 百度上做网站推广网站建设服务亮点
  • 网站开发 方案网站建设朋友圈
  • 注册网站流程及费用杂志 wordpress主题
  • 郑州营销网站托管公司北京企业
  • 深圳建设工程招投标网站软件商城下载
  • 校园网站建设工作计划网站好的案例
  • 网站建设人才招聘网站建设和维护费用
  • 网站制作怎么报价单关于网站建设的申请书
  • 修改网站图片网站空间购买北京
  • 百度网站关键词和网址个人网站备案通过做淘客
  • 做号网站吗建设网站技术公司简介
  • 四川seo整站优化费用哈尔滨市工程招标网
  • 河南省网站制作公司网站备案拍照
  • 网页界面设计中表单的组成部分有哪四方面台州网站优化方案
  • 杨浦网站建设哪家好适应 分辨率 网站
  • 如何把地图放到网站上网站 301
  • 网站建设的栏目策划wordpress链接版权
  • 有域名在本机上做网站网站建设主流开发语言
  • 做门窗接活的网站网站中文域名
  • 整站网站优化推荐设计工作室图片 实拍
  • 网站设计 深圳wordpress开通支付宝微信
  • 网站投票制作宁波pc营销型网站制作
  • 重庆模板网站建设费用app下载量推广
  • 可以做软件的网站有哪些功能吗建设电子商务平台网站
  • 怎样制作做实景的网站网络营销推广的总结
  • 网站设计标注图怎么做济南的互联网公司