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

河北平台网站建设微盟集团

河北平台网站建设,微盟集团,黄骅港引航站,建设零食网站的可行性文章目录 什么是LeNet代码实现网络架构 什么是LeNet LeNet是一种经典的卷积神经网络#xff0c;由Yann LeCun等人在1998年提出。它是深度学习中第一个成功应用于手写数字识别的卷积神经网络#xff0c;并且被认为是现代卷积神经网络的基础。 LeNet模型包含了多个卷积层和池… 文章目录 什么是LeNet代码实现网络架构 什么是LeNet LeNet是一种经典的卷积神经网络由Yann LeCun等人在1998年提出。它是深度学习中第一个成功应用于手写数字识别的卷积神经网络并且被认为是现代卷积神经网络的基础。 LeNet模型包含了多个卷积层和池化层以及最后的全连接层用于分类。其中每个卷积层都包含了一个卷积操作和一个非线性激活函数用于提取输入图像的特征。池化层则用于缩小特征图的尺寸减少模型参数和计算量。全连接层则将特征向量映射到类别概率上。 代码实现网络架构 如何搭建网络模型参考博客Pytorch学习笔记模型训练 我们采用CIFAR-10数据集进行训练测试上面网络模型是1个channel的32x32而我们的数据集是3个channel的32x32模型结构不变改变一下输入输出大小。 model.py: import torch from torch import nn# 搭建网络模型 class LeNet(nn.Module):def __init__(self):super(LeNet, self).__init__()self.model nn.Sequential(nn.Conv2d(3, 16, kernel_size5, stride1, padding0),nn.ReLU(),nn.MaxPool2d(kernel_size2),nn.Conv2d(16, 32, kernel_size5, stride1, padding0),nn.ReLU(),nn.MaxPool2d(kernel_size2),nn.Flatten(),nn.Linear(32 * 5 * 5, 120),nn.ReLU(),nn.Linear(120, 84),nn.ReLU(),nn.Linear(84, 10),)def forward(self, x):x self.model(x)return x# 测试 if __name__ __main__:leNet LeNet()input torch.ones((64, 3, 32, 32))output leNet(input)print(output.shape) train.py import torch.optim import torchvision.datasets from torch import nn from torch.utils.data import DataLoader from torch.utils.tensorboard import SummaryWriterfrom learning.lenet.model import LeNet# 1. 数据集 dataset_train torchvision.datasets.CIFAR10(./data, trainTrue, transformtorchvision.transforms.ToTensor(),downloadTrue) dataset_test torchvision.datasets.CIFAR10(./data, trainTrue, transformtorchvision.transforms.ToTensor(),downloadTrue) train_data_size len(dataset_train) test_data_size len(dataset_test) # 2. 加载数据集 dataloader_train DataLoader(dataset_train, batch_size64) dataloader_test DataLoader(dataset_test, batch_size64)# 3. 搭建model leNet LeNet() if torch.cuda.is_available():leNet leNet.cuda()# 4. 创建损失函数 loss_fn nn.CrossEntropyLoss() if torch.cuda.is_available():loss_fn loss_fn.cuda()# 5. 优化器 learning_rate 0.1 optimizer torch.optim.SGD(leNet.parameters(), lrlearning_rate) # 随机梯度下降# 6. 设置训练网络的一些参数 total_train_step 0 # 记录训练次数 total_test_step 0 # 训练测试次数 epoch 5 # 训练轮数# 补充tensorboard writer SummaryWriter(../../logs)# 开始训练 for i in range(epoch):print(f--------第{i1}轮训练开始--------)# 训练leNet.train()for data in dataloader_train:imgs, targets dataif torch.cuda.is_available():imgs imgs.cuda()targets targets.cuda()outputs leNet(imgs)loss loss_fn(outputs, targets)optimizer.zero_grad()loss.backward()optimizer.step()total_train_step 1if total_train_step % 100 0:print(f训练次数{total_train_step}---loss{loss.item()})writer.add_scalar(train_loss, loss.item(), total_train_step)# 测试leNet.eval()total_test_loss 0 # 总体的误差total_accuracy 0 # 总体的正确率with torch.no_grad():for data in dataloader_test:imgs, targets dataif torch.cuda.is_available():imgs imgs.cuda()targets targets.cuda()outputs leNet(imgs)loss loss_fn(outputs, targets)total_test_loss loss.item()accuracy (outputs.argmax(1) targets).sum()total_accuracy accuracyprint(f整体测试集上的loss{total_test_loss})print(f整体测试集上的准确率{total_accuracy/test_data_size})writer.add_scalar(test_loss, total_test_loss, total_test_step)writer.add_scalar(total_accuracy, total_accuracy/test_data_size, total_test_step)total_test_step 1# 保存每一轮训练的模型torch.save(leNet, fleNet_{i1}.pth)print(模式已保存)writer.close() 5轮训练中第5轮的准确率是最高的采用第5轮的模型进行测试 test.py import torch import torchvision.transforms from PIL import Imagefrom learning.lenet.model import LeNet# 需要测试的图片 image_path ../../imgs/airplane.png image Image.open(image_path) image image.convert(RGB) # png图片多了一个透明度通道修改成rgb三个通道 transform torchvision.transforms.Compose([torchvision.transforms.Resize((32, 32)),torchvision.transforms.ToTensor()]) image transform(image) print(image.shape)# 引入网络架构# 读取网络模型 如果保存的模型是通过gpu训练出来的需要添加 map_locationtorch.device(cpu) model_load torch.load(leNet_5.pth, map_locationtorch.device(cpu)) # 原有的图片是没有bitch-size的而我们的输入是需要的 image torch.reshape(image, (1, 3, 32, 32)) model_load.eval() with torch.no_grad():outputs model_load(image) print(outputs)classes (plane, car, bird, cat,deer, dog, frog, horse, ship, truck)print(classes[outputs.argmax(1)])
http://www.yutouwan.com/news/312944/

相关文章:

  • 做博客网站需要工具吗公司管理信息系统
  • 连云港百度推广网站建设营销点子
  • 网站建站步骤企业seo网站推广公司
  • 开发者门户网站是什么意思设计手机网站页面尺寸大小
  • 大学生网站开发比赛桂林市自来水公司网站
  • 专业做网站官网今天重庆新闻头条
  • 荥阳网站建设公司建网页的软件
  • 网站规划设计的一般流程官网站站
  • 开封市住房和城乡建设网站wordpress ftp服务器
  • 北京建设网站哪里好建设部网站监理工程师查询
  • asp sqlite网站空间网站建设需要什么技能
  • 重庆市住房和城乡建设厅网站首页wordpress插件找回
  • 适合做公司网站的cms做网站用什么牌子电脑
  • 中国建设银行登录入口绍兴网站推广优化
  • 专门做封面的网站青岛网站建设eoe
  • 网站能不能自己做如何建立自己的云服务器
  • 怎么做类似淘宝一样的网站吗福建百度开户
  • 广州哪里有做网站的怎么看网站是否织梦
  • 浙江电商网站建设销售大数据网络营销
  • 江苏高校品牌专业建设工程网站网站正在建设中的素材动图
  • 网站建设备案需要材料优质做网站哪家好
  • 西安 网站 公司在线编辑软件
  • 厦门市建设局网站 限价房360建筑网怎么注册
  • 做门户网站需要准备什么西安刚刚宣布
  • 网站做gzip压缩优秀营销软文100篇
  • 12306的网站多少钱做的深圳网络营销模式
  • 中国航天建设集团有限公司网站合肥比较好的设计公司
  • 江苏集团网站建设自助建站之星
  • 地方网站怎么做的做租凭网站是经营性吗
  • 网站模块怎么恢复巴中城乡建设官方网站