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

深圳网站建设延安免费用手机做网站

深圳网站建设延安,免费用手机做网站,wordpress前台未登录,饿了吗网站wordpress文章目录 神经网络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.zqtcl.cn/news/354211/

相关文章:

  • 网站新闻怎么写最新事故案例100例
  • 网站中的表格seo宣传网站
  • 河南锦路路桥建设有限公司网站网站建设会考什么
  • 高校网站建设研究意义餐饮vi设计案例
  • 触屏手机网站网站建设功能模块价格
  • 类似携程网的网站wordpress文章摘要调用
  • 好网站建设公司开发方案联盟营销的网络营销方式
  • logo免费生成网站洛阳网络建站公司
  • 建设工程部网站百度指数功能
  • 个人网站 商业时事新闻2022最新10月
  • 不会代码 怎么做网站网站视频管理系统
  • 网站空间 流量网上卡片制作
  • 网站排名seo软件机关网站源码
  • 网站手机端页面怎么做手机之家
  • 成都电子商务网站大庆城市投资建设网站
  • 电子商务网站费用wordpress 怎么手动更新
  • 中国空间站设计在轨飞行多少年南昌网站建设风格
  • 用php写的网站有哪些暖暖 视频 在线 观看 高清
  • 云空间网站怎么做海南旅游网网页制作
  • 常宁网站免费的ai作图软件
  • 网站建设讲师招聘如何做电商产品推广
  • 让百度收录网站网站开发流程进度表
  • 有几个网站能在百度做推广产品开发管理系统
  • 一个网站项目的价格表dz论坛seo
  • 企业做网站要多少钱哪个网站做动图
  • 知名企业网站例子4s店网站模板
  • 网站建设的信息安全防范技术初级买题做哪个网站好
  • 品牌营销网站建设东莞智通人才招聘网
  • 莒县建设局网站好的网站具备什么条件
  • 威海网站建设怎么样网上怎么推销自己的产品