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

浏阳网站建设wordpress能做成app吗

浏阳网站建设,wordpress能做成app吗,读书网站建设策划书摘要,如何在国税网站做票种核定LeNet-5#xff08;论文复现#xff09; 本文所涉及所有资源均在传知代码平台可获取 文章目录 LeNet-5#xff08;论文复现#xff09;概述LeNet-5网络架构介绍训练过程测试过程使用方式说明 概述 LeNet是最早的卷积神经网络之一。1998年#xff0c;Yann LeCun第一次将LeN…LeNet-5论文复现 本文所涉及所有资源均在传知代码平台可获取 文章目录 LeNet-5论文复现概述LeNet-5网络架构介绍训练过程测试过程使用方式说明 概述 LeNet是最早的卷积神经网络之一。1998年Yann LeCun第一次将LeNet卷积神经网络应用到图像分类上在手写数字识别任务中取得了巨大成功。LeNet通过连续使用卷积和池化层的组合提取图像特征。 出自论文《Gradient-Based Learning Applied to Document Recognition》 LeNet-5网络架构介绍 输入层 输入32×32通道数为1的图片 C1层卷积层 使用6个5×5大小的卷积核padding0stride1得到6个28×28大小的特征图 激活函数 ReLU **可训练参数**6×(5×51)1566×(5×51)156 S2层池化层 最大池化池化窗大小2×2stride2 **可训练参数**6×(11)126×(11)12其中第一个 1 为池化对应的 2*2 感受野中最大的那个数的权重 w第二个 1 为偏置 b。 C3层卷积层 使用16个5×5大小的卷积核padding0stride1得到16个10×10大小的特征图 激活函数 ReLu **可训练参数**6×(5×5×31)6×(5×5×41)3×(5×5×41)1×(5×5×61)15166×(5×5×31)6×(5×5×41)3×(5×5×41)1×(5×5×61)1516 16 个卷积核并不是都与 S2 的 6 个通道层进行卷积操作如下图所示C3 的前六个特征图0,1,2,3,4,5由 S2 的相邻三个特征图作为输入对应的卷积核尺寸为5x5x3接下来的 6 个特征图6,7,8,9,10,11由 S2 的相邻四个特征图作为输入对应的卷积核尺寸为5x5x4接下来的 3 个特征图12,13,14号特征图由 S2 间断的四个特征图作为输入对应的卷积核尺寸为5x5x4最后的 15 号特征图由 S2 全部(6 个)特征图作为输入对应的卷积核尺寸为5x5x6。 S4层池化层 最大池化池化窗大小2×2stride2 **可训练参数**16×(11)3216×(11)32 C5层卷积层/全连接层 由于该层卷积核的大小与输入图像相同故也可认为是全连接层。 C5 层是卷积层使用 120 个 5×5x16 大小的卷积核padding0stride1进行卷积得到 120 个 1×1 大小的特征图5-511。即相当于 120 个神经元的全连接层。 值得注意的是与C3层不同这里120个卷积核都与S4的16个通道层进行卷积操作。 激活函数 ReLU **可训练参数**120×(5×5×161)48120120×(5×5×161)48120 F6层全连接层 F6 是全连接层共有 84 个神经元与 C5 层进行全连接即每个神经元都与 C5 层的 120 个特征图相连。计算输入向量和权重向量之间的点积再加上一个偏置结果通过 sigmoid 函数输出。 **可训练参数**84×(1201)84×(1201) OUTPUT层全连接层 最后的 Output 层也是全连接层是 Gaussian Connections采用了 RBF 函数即径向欧式距离函数计算输入向量和参数向量之间的欧式距离目前已经被Softmax 取代。 **可训练参数**84×1084×10 使用 LeNet-5 网络结构创建 MNIST 手写数字识别分类器 MNIST是一个非常有名的手写体数字识别数据集训练样本共60000个其中55000个用于训练另外5000个用于验证测试样本共10000个。MNIST数据集每张图片是单通道的大小为28x28 下载并加载数据并对数据进行预处理 # 下载MNIST数据集train_set datasets.MNIST(root ./data, train True, download True, transform pipline_train)test_set datasets.MNIST(root ./data, train False, download True, transform pipline_test)# 加载数据集train_data torch.utils.data.DataLoader(train_set, batch_size opt.batch_size, shuffle True)test_data torch.utils.data.DataLoader(test_set, batch_size opt.batch_size, shuffle False)train_data_size len(train_data)test_data_size len(test_data)print(训练数据集长度:{}\n测试数据集长度:{}.format(train_data_size, test_data_size))若本地无MNIST数据集会在当前目录下新建一个data文件夹存放数据 MNIST数据集中的图片数据以ubyte格式存储ubyte是一种无符号字节类型取值范围在0~255之间。MNIST数据集的图像数据文件为train-images-idx3-ubyte.gz和t10k-images-idx3-ubyte.gz其中前者存储了训练数据后者存储了测试数据。 由于 MNIST 数据集图片尺寸是 28x28 单通道的而 LeNet-5 网络输入 Input 图片尺寸是 32x32使用 transforms.Resize 将输入图片尺寸调整为 32x32 pipline_train transforms.Compose([# 随机旋转图片transforms.RandomHorizontalFlip(),# 将图片尺寸resize到32x32transforms.Resize((32, 32)),# 将图片转化为Tensor格式transforms.ToTensor(),# 正则化(当模型出现过拟合的情况时用来降低模型的复杂度)transforms.Normalize((0.1307,), (0.3081,)) ]) pipline_test transforms.Compose([# 将图片尺寸resize到32x32transforms.Resize((32, 32)),transforms.ToTensor(),transforms.Normalize((0.1307,), (0.3081,)) ])搭建 LeNet-5 神经网络结构并定义前向传播的过程 # 搭建 LeNet-5 神经网络结构并定义前向传播的过程 class LeNet(nn.Module):def __init__(self):super(LeNet, self).__init__()self.conv1 nn.Conv2d(1, 6, 5) # 输入通道的数量;输出通道的数量(也就是卷积核的数量);卷积核的大小self.relu nn.ReLU()self.maxpool1 nn.MaxPool2d(2, 2)self.conv2 nn.Conv2d(6, 16, 5)self.maxpool2 nn.MaxPool2d(2, 2)self.fc1 nn.Linear(16 * 5 * 5, 120)self.fc2 nn.Linear(120, 84)self.fc3 nn.Linear(84, 10)def forward(self, x):x self.conv1(x)x self.relu(x)x self.maxpool1(x)x self.conv2(x)x self.relu(x)x self.maxpool2(x)x x.view(-1, 16 * 5 * 5)x F.relu(self.fc1(x))x F.relu(self.fc2(x))x self.fc3(x)output F.log_softmax(x, dim 1)return output训练过程 def train_runner(model, device, trainloader, optimizer):# 训练模型, 启用 BatchNormalization 和 Dropout, 将BatchNormalization和Dropout置为Truemodel.train()total 0correct 0.0# enumerate迭代已加载的数据集,同时获取数据和数据下标for i, data in enumerate(trainloader, 0):inputs, labels data# 把模型部署到device上inputs, labels inputs.to(device), labels.to(device)# 保存训练结果outputs model(inputs)# 计算损失和# 多分类情况通常使用cross_entropy(交叉熵损失函数), 而对于二分类问题, 通常使用sigmodloss F.cross_entropy(outputs, labels)# 初始化梯度optimizer.zero_grad()# 反向传播loss.backward()# 更新参数optimizer.step()# 获取最大概率的预测结果# dim1表示返回每一行的最大值对应的列下标predict outputs.argmax(dim 1)total labels.size(0)correct (predict labels).sum().item()if i % 1000 0:# loss.item()表示当前loss的数值print(Train Loss: {:.4f}, Accuracy: {:.2f}%.format(loss.item(), 100 * (correct / total)))return loss.item(), 100 * (correct / total) 测试过程 def val_runner(model, device, testloader):# 模型验证, 必须要写, 否则只要有输入数据, 即使不训练, 它也会改变权值# 因为调用eval()将不启用 BatchNormalization 和 Dropout, BatchNormalization和Dropout置为Falsemodel.eval()# 统计模型正确率, 设置初始值correct 0.0test_loss 0.0total 0best_acc 0.0# torch.no_grad将不会计算梯度, 也不会进行反向传播with torch.no_grad():for data, label in testloader:data, label data.to(device), label.to(device)output model(data)test_loss F.cross_entropy(output, label).item()predict output.argmax(dim 1)# 计算正确数量total label.size(0)correct (predict label).sum().item()# 计算损失值val_acc correct / totalprint(Test loss: {:.4f}, Accuracy: {:.2f}%.format(test_loss / total, 100 * val_acc))# 保存最佳模型if val_acc best_acc:best_acc val_acctorch.save(model, ./model-mnist_best.pth) # 保存模型return test_loss / total, 100 * val_acc使用方式 可直接在IDLE中运行代码其中train.py文件用于训练网络model.py文件用于定义网络test.py文件用来对训练完的模型做一个测试推理。 也可直接调用命令行实现如 python train.py --epochs 100 --lr 0.001 --batch_size 64若不指定相关参数train.py默认为训练10轮学习率0.001batch_size为64 说明 本项目的文件夹架构如下 代码中还使用了tensorboard可视化工具以下是tensorboard可视化结果 最终在测试样本上average_loss降到了 0.00129accuracy 达到了 97.28%。可以说 LeNet-5 的效果非常好 使用test.py进行测试推理时由于MNIST数据集中的图片数据以ubyte格式存储需要转成图片的格式具体转换脚本参照mnist2jpg.py # 获取图像数据和标签img, label mnist_train[i]# 转换图像数据为numpy数组img_np np.squeeze(img.numpy())# 展示图像plt.imshow(img_np, cmap gray)plt.axis(off) # 关闭坐标轴显示plt.savefig({}/mnist_image_{}.jpg.format(save_dir, label), bbox_inches tight, pad_inches 0)plt.close()测试图片 文章代码资源点击附件获取
http://www.dnsts.com.cn/news/275067.html

相关文章:

  • 网站建设定制单广告网页制作模板
  • 网站正在建设中 html 模板网站数据分析案例
  • 网站指向错误铜川公司做网站
  • 网站备案怎么转入企业为什么做企业网站和推广
  • 婚纱摄影网站开发的目的wordpress 首页插件
  • 怎么优化网站内容昆明市网站制作公司
  • 网站正在建设中末班网络公司网站开发
  • 做网站公司-深圳信科常德做网站报价
  • 济南产品网站建设公司网站开发原型模板
  • 汕尾北京网站建设西安网站建站优化
  • 全球最好的黄页网站北京百姓网
  • 网站建设 如何友情链接个人养老金帐户开户
  • wordpress的商城网站制作公司昆山广告公司
  • 上海工商网站查询企业信息企业为什么要上市
  • 安徽省城乡建设厅网站淘宝搜索排名
  • 涟水建设银行网站网站备案拍照 广州
  • 深圳建设网站公司排名网页qq登录入口首页
  • 在哪个网站上面可以接项目做wordpress缩略图延时加载
  • 综合性电子商务网站有哪些枣庄网站设计
  • 建设部网站进不去天河手机建网站
  • 网站建设的工作在哪里找客户资源产品宣传片
  • 做外贸兼职的网站如何选择手机网站建设
  • 安徽义信建设网站驻马店市住房和城乡建设局网站首页
  • 网站如何制作的wordpress 轮播图插件下载
  • 合肥网站建设外包网页设计总结2000字
  • 莱芜企业建站公司服务平台是什么意思
  • 网站建设加工游戏代理怎么赚钱的
  • 中国建设银行的网站用户名是什么意思网站建设一般需要多少钱
  • 心馨人生珠海网站建设电影网站建设哪家便宜
  • 海淘手表网站前端开发面试题及答案