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

网站的标题标签一般是写在如何网站做镜像

网站的标题标签一般是写在,如何网站做镜像,网站栏目怎么做,百度地图实时街景怎么移动文章目录 神经网络1.继承Module构建神经网络2.结构化构建神经网络3.函数式操作附#xff1a;系列文章 神经网络 构建神经网络的一般步骤如下#xff1a; 确定网络的结构#xff1a;这包括输入层、输出层和隐藏层的数量以及每层中的节点数等。 收集和准备数据#xff1a;这… 文章目录 神经网络1.继承Module构建神经网络2.结构化构建神经网络3.函数式操作附系列文章 神经网络 构建神经网络的一般步骤如下 确定网络的结构这包括输入层、输出层和隐藏层的数量以及每层中的节点数等。 收集和准备数据这包括收集训练数据、清洗数据、转换数据格式等。 初始化权重权重是神经元之间的连接强度需要在训练前随机初始化。 前向传播计算根据输入数据和权重计算输出结果。 计算损失函数损失函数衡量预测输出和真实输出之间的误差。 反向传播计算反向传播是一种优化算法用于调整权重以最小化损失函数。 更新权重根据反向传播算法计算出的梯度更新权重以优化模型。 重复以上步骤反复执行前向传播和反向传播调整权重直到损失函数收敛。 测试和评估模型使用测试数据集对模型进行评估和测试。 使用模型进行预测使用已训练的模型对新数据进行预测。 1.继承Module构建神经网络 构建神经网络 import torch import torch.nn as nn from torch import optim from torchvision import datasets, transforms from torch.nn.functional import conv2d, cross_entropy class SimpleCNN(nn.Module):def __init__(self, in_channel1):super(SimpleCNN, self).__init__()self.conv1 nn.Conv2d(in_channel, 4, 5, 2, 0)self.relu1 nn.ReLU()self.conv2 nn.Conv2d(4, 8, 3, 2, 0)self.relu2 nn.ReLU()self.linear nn.Linear(200, 10)def forward(self, x):x self.conv1(x)x self.relu1(x)x self.conv2(x)x self.relu2(x)x x.view(-1, 200)x self.linear(x)return x这个程序定义了一个简单的CNN模型 SimpleCNN用于进行图像分类任务。它包含以下几个部分 导入所需的 PyTorch 模块。这些模块是 torch、nn、optim、datasets、transforms 和 nn.functional。定义了一个名为 SimpleCNN 的类继承了 nn.Module。在 __init__ 函数中定义模型的结构。这个模型包含两层卷积层和一个全连接层 第1层卷积层输入通道数为 in_channel输出通道数为 4卷积核大小为 5x5步长为 2填充为 0。第1个ReLU激活函数将卷积层的输出进行非线性变换。第2层卷积层输入通道数为 4输出通道数为 8卷积核大小为 3x3步长为 2填充为 0。第2个ReLU激活函数再次对卷积层的输出进行非线性变换。平铺层将卷积层的输出展成一维向量。全连接层输入大小为 200输出大小为 10用于输出分类结果。 在 forward 函数中实现模型的前向传播过程。将输入 x 依次经过卷积层、ReLU激活函数、卷积层、ReLU激活函数和全连接层处理最终输出分类结果。 #测试 model SimpleCNN() data torch.randn(3, 1, 28, 28) output model(data) output.shapetorch.Size([3, 10])卷积层计算 (28-5)/2112 (12-3)/215 3×1×28×28 3×4×12×12 3×8×5×5 3×200 3×10 神经网络模型 modelSimpleCNN((conv1): Conv2d(1, 4, kernel_size(5, 5), stride(2, 2))(relu1): ReLU()(conv2): Conv2d(4, 8, kernel_size(3, 3), stride(2, 2))(relu2): ReLU()(linear): Linear(in_features200, out_features10, biasTrue) )for key, value in model._modules.items():print(key, value)conv1 Conv2d(1, 4, kernel_size(5, 5), stride(2, 2)) relu1 ReLU() conv2 Conv2d(4, 8, kernel_size(3, 3), stride(2, 2)) relu2 ReLU() linear Linear(in_features200, out_features10, biasTrue)model SimpleCNN() model.parameters()for p in model.parameters():print(p.shape)torch.Size([4, 1, 5, 5]) torch.Size([4]) torch.Size([8, 4, 3, 3]) torch.Size([8]) torch.Size([10, 200]) torch.Size([10])导入数据集 train_batch_size 100 #一共60000个数据,100个数据一组,一共600组(N100) test_batch_size 100 #一共10000个数据,100个数据一组,一共100组(N100) # 训练集 train_loader torch.utils.data.DataLoader(datasets.MNIST(./data,trainTrue,downloadTrue, transformtransforms.Compose([transforms.ToTensor(), #转为tensortransforms.Normalize((0.5),(0.5)) #正则化])),batch_size train_batch_size, shuffleTrue #打乱位置 ) # 测试集 test_loader torch.utils.data.DataLoader(datasets.MNIST(./data,trainFalse,downloadTrue,transformtransforms.Compose([transforms.ToTensor(),transforms.Normalize((0.5),(0.5))])),batch_size test_batch_size, shuffleFalse )这段代码主要用于加载 MNIST 数据集并生成对应的数据加载器 train_loader 和 test_loader。具体包含以下几个步骤 定义训练集的批次大小 train_batch_size设为 100。定义测试集的批次大小 test_batch_size也设为 100。调用 torch.utils.data.DataLoader 函数生成训练集加载器 train_loader加载器将使用 datasets.MNIST 函数加载 MNIST 数据集并进行以下操作 设置 MNIST 数据集的路径为 ./data。将数据集设置为训练集下载数据集。对数据进行 transforms.Compose 序列变换操作包括 transforms.ToTensor()将数据转为 Tensor 类型。transforms.Normalize((0.5),(0.5))将数据进行正则化。 将训练集数据划分为大小为 train_batch_size 的批次进行随机打乱。 调用 torch.utils.data.DataLoader 函数生成测试集加载器 test_loader加载器将使用 datasets.MNIST 函数加载 MNIST 数据集并进行相同的处理流程但测试集不需要随机打乱。 这样生成的 train_loader 和 test_loader 可以用于对数据进行批量加载方便后续的模型训练和评估。 训练测试 alpha 0.1 #学习率 epochs 100 #训练次数 interval 100 #打印间隔 for epoch in range(epochs):optimizer optim.SGD(model.parameters(), lr0.1)for i, (data, label) in enumerate(train_loader):output model(data)optimizer.zero_grad() #梯度归零loss cross_entropy(output, label) #交叉熵函数loss.backward() #反向求导optimizer.step() #更新参数if i % interval 0:print(Epoch %03d [%03d/%03d]\tLoss:%.4f%(epoch, i, len(train_loader), loss.item()))correct_num 0total_num 0with torch.no_grad():for data, label in test_loader:output model(data)pred output.max(1)[1]correct_num (pred label).sum().item()total_num len(data)acc correct_num / total_numprint(...Testing Epoch %03d\tAcc:%.4f%(epoch, acc))Epoch 000 [000/600] Loss:2.2848 Epoch 000 [100/600] Loss:0.4144 Epoch 000 [200/600] Loss:0.2014 Epoch 000 [300/600] Loss:0.2790 Epoch 000 [400/600] Loss:0.1858 Epoch 000 [500/600] Loss:0.1649 ...Testing Epoch 000 Acc:0.9538 Epoch 001 [000/600] Loss:0.1593 Epoch 001 [100/600] Loss:0.2436 Epoch 001 [200/600] Loss:0.0649 Epoch 001 [300/600] Loss:0.2830 Epoch 001 [400/600] Loss:0.1208 Epoch 001 [500/600] Loss:0.0937 ...Testing Epoch 001 Acc:0.9678 Epoch 002 [000/600] Loss:0.1210 Epoch 002 [100/600] Loss:0.0737 Epoch 002 [200/600] Loss:0.0857 Epoch 002 [300/600] Loss:0.0712 Epoch 002 [400/600] Loss:0.2700 Epoch 002 [500/600] Loss:0.0849 ...Testing Epoch 002 Acc:0.9708 Epoch 003 [000/600] Loss:0.1094 Epoch 003 [100/600] Loss:0.0727 Epoch 003 [200/600] Loss:0.1756 Epoch 003 [300/600] Loss:0.1473 Epoch 003 [400/600] Loss:0.1013 Epoch 003 [500/600] Loss:0.0879 ...Testing Epoch 003 Acc:0.9741 Epoch 004 [000/600] Loss:0.1503 Epoch 004 [100/600] Loss:0.0832 Epoch 004 [200/600] Loss:0.0731 Epoch 004 [300/600] Loss:0.1040 Epoch 004 [400/600] Loss:0.0720 Epoch 004 [500/600] Loss:0.0490 ...Testing Epoch 004 Acc:0.9745 Epoch 005 [000/600] Loss:0.0720 Epoch 005 [100/600] Loss:0.1124 Epoch 005 [200/600] Loss:0.0674 Epoch 005 [300/600] Loss:0.0477 Epoch 005 [400/600] Loss:0.1164 Epoch 005 [500/600] Loss:0.0662 ...Testing Epoch 005 Acc:0.9758 Epoch 006 [000/600] Loss:0.0445 Epoch 006 [100/600] Loss:0.0500 Epoch 006 [200/600] Loss:0.0236 Epoch 006 [300/600] Loss:0.1068 Epoch 006 [400/600] Loss:0.0767 Epoch 006 [500/600] Loss:0.0549 ...Testing Epoch 006 Acc:0.9800 Epoch 007 [000/600] Loss:0.0539 Epoch 007 [100/600] Loss:0.0319 Epoch 007 [200/600] Loss:0.1369 Epoch 007 [300/600] Loss:0.0301 Epoch 007 [400/600] Loss:0.0881 Epoch 007 [500/600] Loss:0.0642 ...Testing Epoch 007 Acc:0.9792 Epoch 008 [000/600] Loss:0.0564 Epoch 008 [100/600] Loss:0.0845 Epoch 008 [200/600] Loss:0.1877 Epoch 008 [300/600] Loss:0.0963 Epoch 008 [400/600] Loss:0.0671 Epoch 008 [500/600] Loss:0.1053 ...Testing Epoch 008 Acc:0.9757 Epoch 009 [000/600] Loss:0.0117 Epoch 009 [100/600] Loss:0.0201 Epoch 009 [200/600] Loss:0.1933 Epoch 009 [300/600] Loss:0.0726 Epoch 009 [400/600] Loss:0.0449 Epoch 009 [500/600] Loss:0.1415 ...Testing Epoch 009 Acc:0.9807 Epoch 010 [000/600] Loss:0.0505 Epoch 010 [100/600] Loss:0.0410 Epoch 010 [200/600] Loss:0.0325 Epoch 010 [300/600] Loss:0.0403 Epoch 010 [400/600] Loss:0.0249 Epoch 010 [500/600] Loss:0.0682 ...Testing Epoch 010 Acc:0.9805 Epoch 011 [000/600] Loss:0.0816 Epoch 011 [100/600] Loss:0.1179 Epoch 011 [200/600] Loss:0.1244 Epoch 011 [300/600] Loss:0.0465 Epoch 011 [400/600] Loss:0.1324 Epoch 011 [500/600] Loss:0.0763 ...Testing Epoch 011 Acc:0.9799 ……这段代码实现了简单 CNN 模型的训练和测试具体实现步骤如下 定义学习率 alpha设为 0.1。定义训练次数 epochs设为 100。定义打印间隔 interval设为 100。使用 range 函数循环 epochs 次进行模型训练和测试。在每个 epoch 循环中定义优化器 optimizer使用随机梯度下降法SGD优化器对模型参数进行更新。循环训练数据加载器 train_loader 中的数据对数据进行前向传播计算损失函数交叉熵函数通过反向传播求解梯度并通过优化器对模型参数进行更新。在每个间隔 interval 打印一次训练进度输出当前训练的 epoch、批次、总批次数和当前损失函数值以及测试集的准确率。在每个 epoch 循环的末尾使用 torch.no_grad() 防止梯度更新在测试集加载器 test_loader 中进行数据的前向传播计算模型的预测值和真实值计算模型的准确率并输出。 这样就完成了模型的训练和测试通过输出可以了解模型的训练进度和测试效果。 2.结构化构建神经网络 构建神经网络 Model nn.Sequential(nn.Conv2d(1, 4, 5, 2, 0),nn.ReLU(),nn.Conv2d(4, 8, 3, 2, 0),nn.ReLU(),nn.Flatten(),nn.Linear(200, 10) )神经网络模型 ModelSequential((0): Conv2d(1, 4, kernel_size(5, 5), stride(2, 2))(1): ReLU()(2): Conv2d(4, 8, kernel_size(3, 3), stride(2, 2))(3): ReLU()(4): Flatten(start_dim1, end_dim-1)(5): Linear(in_features200, out_features10, biasTrue) )#测试 data torch.randn(3, 1, 28, 28) output Model(data) output.shapetorch.Size([3, 10])for p in Model.parameters():print(p.shape)torch.Size([4, 1, 5, 5]) torch.Size([4]) torch.Size([8, 4, 3, 3]) torch.Size([8]) torch.Size([10, 200]) torch.Size([10])训练测试 alpha 0.1 #学习率 epochs 100 #训练次数 interval 100 #打印间隔 for epoch in range(epochs):optimizer optim.SGD(Model.parameters(), lr0.1)for i, (data, label) in enumerate(train_loader):output Model(data)optimizer.zero_grad() #梯度归零loss cross_entropy(output, label) #交叉熵函数loss.backward() #反向求导optimizer.step() #更新参数if i % interval 0:print(Epoch %03d [%03d/%03d]\tLoss:%.4f%(epoch, i, len(train_loader), loss.item()))correct_num 0total_num 0with torch.no_grad():for data, label in test_loader:output Model(data)pred output.max(1)[1]correct_num (pred label).sum().item()total_num len(data)acc correct_num / total_numprint(...Testing Epoch %03d\tAcc:%.4f%(epoch, acc))Epoch 000 [000/600] Loss:2.3005 Epoch 000 [100/600] Loss:0.3855 Epoch 000 [200/600] Loss:0.2832 Epoch 000 [300/600] Loss:0.3216 Epoch 000 [400/600] Loss:0.2495 Epoch 000 [500/600] Loss:0.0687 ...Testing Epoch 000 Acc:0.9554 Epoch 001 [000/600] Loss:0.1364 Epoch 001 [100/600] Loss:0.2104 Epoch 001 [200/600] Loss:0.1206 Epoch 001 [300/600] Loss:0.0859 Epoch 001 [400/600] Loss:0.1187 Epoch 001 [500/600] Loss:0.1903 ...Testing Epoch 001 Acc:0.9668 Epoch 002 [000/600] Loss:0.1893 Epoch 002 [100/600] Loss:0.1033 Epoch 002 [200/600] Loss:0.1633 Epoch 002 [300/600] Loss:0.1038 Epoch 002 [400/600] Loss:0.1250 Epoch 002 [500/600] Loss:0.2345 ...Testing Epoch 002 Acc:0.9725 Epoch 003 [000/600] Loss:0.0566 Epoch 003 [100/600] Loss:0.1781 Epoch 003 [200/600] Loss:0.0779 Epoch 003 [300/600] Loss:0.2852 Epoch 003 [400/600] Loss:0.0428 Epoch 003 [500/600] Loss:0.1369 ...Testing Epoch 003 Acc:0.9714 Epoch 004 [000/600] Loss:0.1098 Epoch 004 [100/600] Loss:0.1288 Epoch 004 [200/600] Loss:0.1078 Epoch 004 [300/600] Loss:0.1325 Epoch 004 [400/600] Loss:0.0649 Epoch 004 [500/600] Loss:0.0683 ...Testing Epoch 004 Acc:0.9739 Epoch 005 [000/600] Loss:0.0984 Epoch 005 [100/600] Loss:0.1322 Epoch 005 [200/600] Loss:0.0641 Epoch 005 [300/600] Loss:0.0769 Epoch 005 [400/600] Loss:0.1507 Epoch 005 [500/600] Loss:0.0377 ...Testing Epoch 005 Acc:0.9742 Epoch 006 [000/600] Loss:0.0954 Epoch 006 [100/600] Loss:0.0889 Epoch 006 [200/600] Loss:0.0666 Epoch 006 [300/600] Loss:0.0448 Epoch 006 [400/600] Loss:0.0285 Epoch 006 [500/600] Loss:0.0581 ...Testing Epoch 006 Acc:0.9773 Epoch 007 [000/600] Loss:0.0305 Epoch 007 [100/600] Loss:0.0651 Epoch 007 [200/600] Loss:0.1007 Epoch 007 [300/600] Loss:0.1537 Epoch 007 [400/600] Loss:0.0233 Epoch 007 [500/600] Loss:0.0925 ...Testing Epoch 007 Acc:0.9750 Epoch 008 [000/600] Loss:0.1807 Epoch 008 [100/600] Loss:0.0373 Epoch 008 [200/600] Loss:0.0600 Epoch 008 [300/600] Loss:0.2233 Epoch 008 [400/600] Loss:0.0469 Epoch 008 [500/600] Loss:0.0817 ...Testing Epoch 008 Acc:0.9795 Epoch 009 [000/600] Loss:0.1331 Epoch 009 [100/600] Loss:0.1417 Epoch 009 [200/600] Loss:0.0429 Epoch 009 [300/600] Loss:0.0552 Epoch 009 [400/600] Loss:0.0117 Epoch 009 [500/600] Loss:0.0611 ...Testing Epoch 009 Acc:0.9780 Epoch 010 [000/600] Loss:0.0386 Epoch 010 [100/600] Loss:0.2372 Epoch 010 [200/600] Loss:0.0092 Epoch 010 [300/600] Loss:0.0623 Epoch 010 [400/600] Loss:0.0530 Epoch 010 [500/600] Loss:0.0345 ...Testing Epoch 010 Acc:0.9797 Epoch 011 [000/600] Loss:0.1051 Epoch 011 [100/600] Loss:0.0507 Epoch 011 [200/600] Loss:0.1075 Epoch 011 [300/600] Loss:0.0414 Epoch 011 [400/600] Loss:0.0256 Epoch 011 [500/600] Loss:0.0631 ...Testing Epoch 011 Acc:0.9778 Epoch 012 [000/600] Loss:0.0873 Epoch 012 [100/600] Loss:0.0693 Epoch 012 [200/600] Loss:0.0779 Epoch 012 [300/600] Loss:0.2842 Epoch 012 [400/600] Loss:0.0314 Epoch 012 [500/600] Loss:0.0197 ...Testing Epoch 012 Acc:0.9778 ……3.函数式操作 见《PyTorch应用实战二:实现卷积神经网络进行图像分类》 附系列文章 序号文章目录直达链接1PyTorch应用实战一实现卷积操作https://want595.blog.csdn.net/article/details/1325755302PyTorch应用实战二实现卷积神经网络进行图像分类https://want595.blog.csdn.net/article/details/1325757023PyTorch应用实战三构建神经网络https://want595.blog.csdn.net/article/details/1325757584PyTorch应用实战四基于PyTorch构建复杂应用https://want595.blog.csdn.net/article/details/1326252705PyTorch应用实战五实现二值化神经网络https://want595.blog.csdn.net/article/details/1326253486PyTorch应用实战六利用LSTM实现文本情感分类https://want595.blog.csdn.net/article/details/132625382
http://www.huolong8.cn/news/129624/

相关文章:

  • 珠海网站建设哪个好薇陕西省建设监理协会查询官方网站
  • 炫酷的网站设计申请个人网站
  • 网站建设付款方式wordpress 微软雅黑字体
  • 长沙做公司网站网页制作实训总结800字
  • 摄影师做展示的网站哪个网站是用php写的
  • 网站建设的功能定位帝国网站如何做中英文切换
  • 创业做网站邯郸互联网公司
  • 连江网站建设做一个公司网站流程 由ui设计
  • 做网站su产品展示网站模板php
  • 如何做局域网网站门户网站开发维护合同范本
  • 北京市建设教育协会网站直播做网站
  • 免费咨询皮肤科专家网站改版与优化协议书
  • 建设网站注意实现北京网站建设公司排行
  • 北京海淀网站制作安阳网站建设开发
  • 域名查询注册官网seo搜索引擎优化费用
  • 电子商务网站设计案例现在c 做网站用什么
  • 建设网站的实验目的网络服务运营商
  • 郑州微网站企业型网站建设
  • 云南网站制作案例长沙网站设计制作
  • 网站建设的背景有哪些我想开科技怎么开
  • 网站排名的优化全球工业设计公司排名
  • 微科技h5制作网站模板全国电商排名前20名
  • 爱站网长尾词挖掘四川建设网工作时间
  • 烟台网站推广哪家好某集团网站建设规划书
  • 建设商城购物网站网站正在建设中中文
  • 快递网站模版页面设计的软件
  • 试用型网站怎么做网站建设 连云港
  • 毕业设计(论文)-基于cms的校园网站建设石家庄网站编辑
  • 网站截图可以做证据吗东莞网页制作设计培训
  • 提示该域名为lp网站主题资源网站建设步骤