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

中小企业网站建设多少钱百度seo搜索引擎优化培训

中小企业网站建设多少钱,百度seo搜索引擎优化培训,网站优化建设苏州,男女做羞羞事试看网站这个系列笔记用来记录学习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/170429.html

相关文章:

  • 做一个小程序seo营销的概念
  • 自助建设手机网站网络营销乐云seo
  • 郴州网站建设设计制作营销推广方案案例
  • 汇川区住房和城乡建设厅网站网络营销的真实案例分析
  • 设计师网站behanceseo培训学校
  • 网站建设可用性的五个方面西安搜建站科技网站
  • 天圆地方建筑网站引擎优化seo
  • 如何设计一个网页并举例说明郑州seo公司哪家好
  • 沃通 wordpressseo每天一贴博客
  • 网站在线报名怎么做外贸推广平台有哪几个
  • 南京的电商网站设计网页设计培训
  • 成都响应式网站建设网络推广人员
  • 聊城房地产网站建设如何打百度人工电话
  • wordpress可以管理现有网啊上海网络优化服务
  • 网站建设技术人员招聘广州网络营销公司
  • 无锡谁做网站好全国疫情最新消息今天实时
  • 网站建设案例怎么样守游网络推广平台
  • 购物软件app排行榜前十名临沂seo公司
  • 西安seo网站关键词优化通过qq群可以进行友情链接交换
  • 东莞网站建设公司电话seo公司外包
  • 网站开发 例子可以直接进入的舆情网站
  • 新疆分享是官方网站吗?百度指数数据分析平台官网
  • 桂林网站建设官网wordpress建站公司
  • 创建网站的视频站长之家排行榜
  • 企业网站优化怎么提高关键词排名长春seo外包
  • 如何用个人电脑做网站独立站建站平台
  • 学校二级网站建设自查情况百度云群组
  • 有做二手厨房设备的网站吗西地那非片能延时多久每次吃多少
  • 中国十大公司兰州网络优化seo
  • 北京手机网站开发如何制作付费视频网站