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

中小企业网站建设多少钱网络营销外包推广定制公司

中小企业网站建设多少钱,网络营销外包推广定制公司,如何建设网站哪个济南兴田德润简介,网站制作费用多少这个系列笔记用来记录学习pytorch的完整过程,我第一次接触pytorch已经是2018年,当时还是0.X的版本,在使用过一段时间后就完全没有再用,现在pytorch已经迭代到2.X,所以我认为有必要从头开始完整地学习一遍。与其他学习系…

这个系列笔记用来记录学习pytorch的完整过程,我第一次接触pytorch已经是2018年,当时还是0.X的版本,在使用过一段时间后就完全没有再用,现在pytorch已经迭代到2.X,所以我认为有必要从头开始完整地学习一遍。与其他学习系列笔记一样,这个笔记也是紧跟官网教程。

【注意】:

  1. 这个系列笔记我会以jupyter notebook为主,因为可以更方便的看到可视化结果。但在使用jupyter的时候也要注意定shutdown kernel,否则有可能会一直占用着显存导致后面的代码无法运行的情况。
  2. 我的演示环境是 torch==2.6.0torchvision==0.17.0torchaudio==2.6.0
  3. 这个系列笔记需要你对python有一定的使用基础,并且对神经网络有一定的的了解;

以下是这篇文章涉及到资源连接:

  • 官方链接:https://pytorch.org/tutorials/beginner/basics/quickstart_tutorial.html;
完整网盘链接: https://pan.baidu.com/s/1L9PVZ-KRDGVER-AJnXOvlQ?pwd=aa2m 提取码: aa2m 

Quickstart

在完成官网安装之后 Learn the Basics 的第一篇文章就是这个笔记,也是使用pytorch的第一步。


Working with data

pytorch用 torch.utils.data.DataLoadertorch.utils.data.Dataset. Dataset 作为数据处理的基本工具,其中 Dataset 实现了存储data与label的标签,DataLoader 用来将数据打包成迭代器以供 训练推理

pytorch还提供了一些特定领域的工具如 TorchTextTorchVisionTorchAudio 以提供更方便的数据加载与处理。这里以 TorchVision 为例。

Step1. 导入必要的包

import torch
from torch import nn
from torch.utils.data import DataLoader
from torchvision import datasets
from torchvision.transforms import ToTensor

Step2. 拉取数据集

training_data = datasets.FashionMNIST(root="data",train=True,download=True,transform=ToTensor()
)test_data = datasets.FashionMNIST(root="data",train=False,download=True,transform=ToTensor()
)

Step3. 初始化DataLoader

batch_size=64train_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.type}")break

Step4. 构造模型

【注意】:如果你使用的 torch 版本不是 2.6.0 那么官网这部分的代码是不可用的,我常用的版本是 2.6.02.2.0 但是不确定在这两个版本之间的能否使用,建议手动尝试然后根据报错信息设置device:

if "2.6.0" in torch.__version__:device = torch.accelerator.current_accelerator().type if torch.accelerator.is_available() else "cpu"print(f"Using {device} device")
else:if torch.cuda.is_available():print("CUDA is available. Using GPU.")device = torch.device("cuda")else:print("CUDA is not available. Using CPU.")device = torch.device("cpu")

这里构造一个经典的全连接+Relu的多层感知机:

class NerualNetwork(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 logits

实例化模型并将其转移到device上

model = NerualNetwork().to(device)
print(model)

Step5. 定义损失函数、优化器、训练与测试函数

定义损失函数和优化器:

loss_fn = nn.CrossEntropyLoss()
optimizer = torch.optim.SGD(model.parameters(), lr=1e-3)

定义训练模型的函数:

def train(dataloader, model, loss_fn, optimizer):size = len(dataloader.dataset)for batch, (X,y) in enumerate(dataloader):X, y = X.to(device), y.to(device)# 计算losspred = model(X)loss = loss_fn(pred, y)# 反向传播给优化器loss.backward()optimizer.step()optimizer.zero_grad()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")

Step6. 启动训练与测试

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")

Step7. 保存模型参数到本地

torch.save(model.state_dict(), "model.pth")
print("Saved PyTorch Model state to model.pth")

Step8. 从本地加载模型参数

model = NeuralNetwork().to(device)
model.load_state_dict(torch.load("model.pth", weights_only=True))
print(model)

Step9. 用加载进来的参数推理

将离散数字映射为文字的列表:

classes = ["T-shirt/top","Trouser","Pullover","Dress","Coat","Sandal","Shirt","Sneaker","Bag","Ankle boot",
]

执行推理:

model.eval()
x,y = test_data[0][0], test_data[0][1]
with torch.no_grad():x = x.to(device)pred = model(x)predicted, actual = classes[pred[0].argmax(0)], classes[y]print(f"Predicted: {predicted}, Actual: {actual}")

在这里插入图片描述

http://www.dtcms.com/wzjs/385818.html

相关文章:

  • 公司做直销网站东莞最新消息 今天
  • 用户体验设计书籍宁波网站优化公司推荐
  • 网站定制那个好长沙官网seo技术厂家
  • 诸城公司做网站关键词搜索推广排行榜
  • 怎么做搜索功能网站如何做seo优化
  • 我是怎么做网站架构的seo软件推荐
  • logofree制作网站百度教育网站
  • 做赌博网站庄家西安百度网站快速排名
  • 做网站什么硬盘好全网推广怎么做
  • b2c电商是什么意思福州百度网站排名优化
  • 图文设计用什么软件排名优化seo公司
  • xp做网站公关公司一般收费标准
  • 数据查询网站模板seo技术培训沈阳
  • wordpress哪里查看id相关搜索优化软件
  • 湖南长大建设集团股份有限公司网站策划公司一般怎么收费
  • 公司网站二维码怎么做的广东短视频seo搜索哪家好
  • 动态网站开发的技术seo原创工具
  • 小程序代理是真的免费seo网站诊断
  • 电子商务网站建设定位设想营销课程培训都有哪些
  • 东营做网站网址提交
  • 贵阳做网站哪家公司好百度app下载安装
  • 苏州seo外包网络公司优化关键词
  • 揭阳市榕城区建设局网站苏州seo优化
  • 网站清除黑链广告咨询
  • 国家高新技术企业专利要求站内seo和站外seo区别
  • wordpress自动刷新2次seo教程论坛
  • aspnet网站开发 视频在运营中seo是什么意思
  • 包头 网站制作免费推广软件工具
  • 幼儿园主题网络图设计思路怎么写长沙seo网络优化
  • 最新冠状新型病毒最新消息网络优化主要做什么