当前位置: 首页 > 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/270734/

相关文章:

  • 兰州网站建设运营方案91永久海外地域网名
  • 建设网站需要哪些资质wordpress付费阅读chajian
  • 炫酷做网站背景图商务网站构建方法
  • 常州网站外包签合网站是哪个好
  • 网站联盟是什么意思外贸行业网站建设公司
  • 张掖市建设局网站百度关键词搜索排名代发
  • 响应式网站建设代理oa系统有哪些功能
  • 怎么做好网站开发_设计网站开发安全机制
  • 网页设计师中级证书有用吗站长工具之家seo查询
  • 瀑布流的网站h5制作官网登录
  • 事业单位考试网站专做蔬菜水果的网站
  • 五屏网站建设成都seo培训
  • 个人网站能做什么ios+wordpress
  • 做项目管理的网站兼职做美工摄影去哪个网站
  • ppt做视频的模板下载网站企业官网网站模板下载
  • 丰台网站建设报价做网站要学什么知识
  • 无极网站建设定制建设网站详细流程
  • 济南公司做网站网站建设与实践心得体会
  • 网站怎么做才有效果推动高质量发展为主题
  • 比58同城做的好的网站少儿编程加盟哪个品牌好
  • 福田的网站建设公司旅游订票网站开发
  • 网上做家教兼职哪个网站珠海学网站开发
  • 域名解析后网站打不开泉州网站开发
  • 成都科技网站建设哪里有域名除了做网站还能做什么
  • 360免费建站怎么做网站建设补充范本
  • 广东住房和城乡建设部网站合肥网站到首页排名
  • 网页游戏网站排名投放广告的网站
  • 网站总体建设方面的优势与不足免费推广手段
  • 朝阳网站建设多少钱做网站刷流量挣钱吗
  • .电子商务网站的开发原则包括上海工作