-
pytorch搭建Lenet网络模型(以CIFAR10为例)
2020-05-15 09:23:20本文介绍利用Pytorch搭建Lenet模型,以cifar10为例,具体流程见博客 https://blog.csdn.net/qq_43542339/article/details/106058752 Lenet 代码 由于cifar10为三通道图像,故self.conv1中in_channels参数为3 ...前言
本文介绍利用Pytorch搭建Lenet模型,以cifar10为例,具体流程见博客
https://blog.csdn.net/qq_43542339/article/details/106058752
Lenet
- 代码
由于cifar10
为三通道图像,故self.conv1
中in_channels
参数为3
class Lenet_torch(nn.Module): def __init__(self): super(Lenet_torch,self).__init__() self.conv1 = nn.Conv2d(in_channels=3,out_channels=6,kernel_size=5,stride=1) #output:28*28*6 self.maxpool1 = nn.MaxPool2d(2) #output:14*14*6 self.conv2 = nn.Conv2d(in_channels=6,out_channels=16,kernel_size=5,stride=1) #output:10*10*16 self.maxpool2 = nn.MaxPool2d(2) #output:5*5*16 self.fc1 = nn.Linear(in_features=16*5*5,out_features=120) self.fc2 = nn.Linear(in_features=120,out_features=84) self.fc3 = nn.Linear(in_features=84,out_features=10) #out_features为类别数 def forward(self,x): x = self.conv1(x) x = F.relu(x) x = self.maxpool1(x) x = self.conv2(x) x = F.relu(x) x = self.maxpool1(x) x = x.view(x.size(0),-1) x = self.fc1(x) x = F.relu(x) x = self.fc2(x) x = F.relu(x) x = self.fc3(x) return x
print(net)
查看模型
- 运行成功,说明网络模型搭建成功
小结
- Lenet网络较为简单,搭建起来很容易,注意一下这里不同于VGG,没有利用padding进行填充(当然自己使用的时候完全可以更改)
- 如有不足还请多多指教
- 代码
-
pytorch搭建VGG16网络模型(以CIFAR10为例)
2020-05-11 17:53:50最近在学习pytorch框架,跟着敲总觉得少了点什么,就搭建一个网络模型试试,选择VGG16模型,数据集为cifar10(仅用来测试网络能运行) 加载数据 此处加载数据方式与官方教程一致,可忽略。 transform = transforms....前言
最近在学习pytorch框架,跟着敲总觉得少了点什么,就搭建一个网络模型试试,选择VGG16模型,数据集为cifar10(仅用来测试网络能运行)
加载数据
此处加载数据方式与官方教程一致,可忽略。
transform = transforms.Compose( [transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))]) trainset = torchvision.datasets.CIFAR10(root='./data', train=True, download=True, transform=transform) trainloader = torch.utils.data.DataLoader(trainset, batch_size=4, shuffle=True) testset = torchvision.datasets.CIFAR10(root='./data', train=False, download=True, transform=transform) testloader = torch.utils.data.DataLoader(testset, batch_size=4, shuffle=False) classes = ('plane', 'car', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck')
VGG16
- 模型:博客有介绍:
https://blog.csdn.net/qq_43542339/article/details/104486300
- 代码:
class VGG16_torch(nn.Module): def __init__(self): super(VGG16_torch,self).__init__() # GROUP 1 self.conv1_1 = nn.Conv2d(in_channels=3,out_channels=64,kernel_size=3,stride=1,padding=(1,1)) #output:32*32*64 self.conv1_2 = nn.Conv2d(in_channels=64,out_channels=64 ,kernel_size=3,stride=1,padding=(1,1))#output:32*32*64 self.maxpool1 = nn.MaxPool2d(2)#池化后长宽减半 output:16*16*64 # GROUP 2 self.conv2_1 = nn.Conv2d(in_channels=64,out_channels=128,kernel_size=3,stride=1,padding=(1,1))#output:16*16*128 self.conv2_2 = nn.Conv2d(in_channels=128,out_channels=128,kernel_size=3,stride=1,padding=(1,1))#output:16*16*128 self.maxpool2 = nn.MaxPool2d(2)#池化后长宽减半 output:8*8*128 # GROUP 3 self.conv3_1 = nn.Conv2d(in_channels=128,out_channels=256,kernel_size=3,stride=1,padding=(1,1))#output:8*8*256 self.conv3_2 = nn.Conv2d(in_channels=256,out_channels=256,kernel_size=3,stride=1,padding=(1,1))#output:8*8*256 self.conv3_3 = nn.Conv2d(in_channels=256,out_channels=256,kernel_size=1,stride=1)#output:8*8*256 self.maxpool3 = nn.MaxPool2d(2) # 池化后长宽减半 output:4*4*256 # GROUP 4 self.conv4_1 = nn.Conv2d(in_channels=256,out_channels=512,kernel_size=3,stride=1,padding=1)#output:4*4*512 self.conv4_2 = nn.Conv2d(in_channels=512,out_channels=512,kernel_size=3,stride=1,padding=1)#output:4*4*512 self.conv4_3 = nn.Conv2d(in_channels=512,out_channels=512,kernel_size=1,stride=1)#output:4*4*512 self.maxpool4 = nn.MaxPool2d(2) # 池化后长宽减半 output:2*2*512 # GROUP 5 self.conv5_1 = nn.Conv2d(in_channels=512, out_channels=512, kernel_size=3, stride=1, padding=1) # output:14*14*512 self.conv5_2 = nn.Conv2d(in_channels=512, out_channels=512, kernel_size=3, stride=1, padding=1) # output:14*14*512 self.conv5_3 = nn.Conv2d(in_channels=512, out_channels=512, kernel_size=1, stride=1) # output:14*14*512 self.maxpool5 = nn.MaxPool2d(2) # 池化后长宽减半 output:1*1*512 self.fc1 = nn.Linear(in_features=512*1*1,out_features=256) self.fc2 = nn.Linear(in_features=256,out_features=256) self.fc3 = nn.Linear(in_features=256,out_features=10) #定义前向传播 def forward(self,x): input_dimen = x.size(0) #GROUP 1 output = self.conv1_1(x) output = F.relu(output) output = self.conv1_2(output) output = F.relu(output) output = self.maxpool1(output) #GROUP 2 output = self.conv2_1(output) output = F.relu(output) output = self.conv2_2(output) output = F.relu(output) output = self.maxpool2(output) #GROUP 3 output = self.conv3_1(output) output = F.relu(output) output = self.conv3_2(output) output = F.relu(output) output = self.conv3_3(output) output = F.relu(output) output = self.maxpool3(output) #GROUP 4 output = self.conv4_1(output) output = F.relu(output) output = self.conv4_2(output) output = F.relu(output) output = self.conv4_3(output) output = F.relu(output) output = self.maxpool4(output) #GROUP 5 output = self.conv5_1(output) output = F.relu(output) output = self.conv5_2(output) output = F.relu(output) output = self.conv5_3(output) output = F.relu(output) output = self.maxpool5(output) output = output.view(x.size(0),-1) output = self.fc1(output) output = self.fc2(output) output = self.fc3(output) #返回输出 return output
训练
训练过程与官方教程相同,可忽略
epoch = 10 #训练次数 learning_rate = 1e-4 #学习率 net = VGG16_torch() criterion = nn.CrossEntropyLoss() optimizer = optim.Adam(net.parameters(), lr=learning_rate) for epoch in range(epoch): #迭代 running_loss = 0.0 for i, data in enumerate(trainloader, 0): inputs, labels = data #初始化梯度 optimizer.zero_grad() outputs = net(inputs) loss = criterion(outputs, labels) loss.backward() optimizer.step() # 打印loss running_loss += loss.item() if i % 20 == 19: # print every 2000 mini-batches print('[%d, %5d] loss: %.5f' % (epoch + 1, i + 1, running_loss / 2000)) running_loss = 0.0 print('Finished Training')
运行结果
能跑说明模型没问题
小结
- VGG网络模型搭建时注意1*1卷积核可以不需要加padding(复制粘贴注意一下)
- 网络模型参数根据输入图像进行调整,当特征图尺寸很小时便可停止卷积,展平后接FC层输出。
- 模型:博客有介绍:
-
【Word】Word更改默认模板样式——使用自定义模板【以Windows10+Word2019为例】
2020-07-16 09:56:31即可看到下图名称为Normal.dotm的Word模板。 右击该模板文件>>选择【打开】,即可打开Word默认模板;【P.S.双击是新建Word文档】 在里面直接可以【按自己的需求】修改Word【默认应用样式、页面布局设置(页...Word更改默认模板+自定义适用于自己风格的模板
- Office默认模板位置:
%AppData%\Microsoft\Templates
复制以上内容到【文件资源管理器】地址栏>>回车。即可看到下图名称为Normal.dotm
的Word模板。
- 右击该模板文件>>选择【打开】,即可打开Word默认模板;【P.S.双击是新建Word文档】
- 在里面直接可以【按自己的需求】修改Word【默认应用样式、页面布局设置(页边距、页面大小)、默认表格属性等等……】。
- Office默认模板位置:
-
以挖矿为模型的0-1背包问题(递归版本)
2018-11-17 02:09:06以挖矿为模型的0-1背包问题(非递归) 上次写了以挖矿为模型的0-1背包问题,这次为递归版本,可以正确输出结果,但是需要建立中间数组存储递归过程中产生的结果,否则程序超时。 #include<stdio.h&...以挖矿为模型的0-1背包问题(非递归)
上次写了以挖矿为模型的0-1背包问题,这次为递归版本,可以正确输出结果,但是需要建立中间数组存储递归过程中产生的结果,否则程序超时。#include<stdio.h> #define N 5 #define M 10 int max(int a, int b) { if (a > b) return a; else return b; } int peopleneeded[N + 1] = {0, 2, 3, 1, 4, 2};//if we want to dig No. i gold mine, the people we have to use. int goldprice[N + 1] = {0, 5, 4, 3, 7, 6};//if we dig No. i gold mine, the value we can gain.
int TV (int i, int j) { if (j == 0) return 0; if (i == 1 && j >= peopleneeded[1]) return goldprice[1];//"the number of workers is 0" and "the number of gold mine is 1" are boundary conditions. if (j < peopleneeded[i]) return TV(i - 1, j); else return max(TV(i - 1, j), TV(i - 1, j - peopleneeded[i]) + goldprice[i]); }
int main() { printf("%d", TV(N, M)); return 0; }
-
SuperMap加载三维模型数据(osgb格式)——以SuperMap iDesktopX 10i为例
2020-09-20 12:26:31①源数据为data文件; ②路径(生成.scp配置文件的位置)、文件名自行设置; ③模型坐标中心(根据模型坐标添加,不添加默认在大西洋); ④、⑤根据需要填写; 1.3设置完成,确认即可生成.scp配置文件。 二... -
基于C2CCRM模型以淘宝为例.ppt
2020-09-16 04:29:37基于C2C的CRM模型 以淘宝为例 小组成员:杨敏 谢斌 王文婷 闫婧红 潘礼杰 旬宝网 企业简介 淘宝网成立于2003年5月10日,由阿里巴巴集团投资创办 淘宝网是亚洲第一大网络零售商圈 截至2006年底,淘宝网会员超3000万人,... -
c++opencv调用tensorflow模型(以mnist为例)
2019-07-01 23:41:03c++opencv调用tensorflow模型(以mnist为例) 0. 环境 win10 + vs2019 + opencv(OpenCV_VERSION 3.4.6) + keras(tensorflow后端) 1. 准备数据 从http://yann.lecun.com/exdb/mnist/下载 “data/t10k-labels-idx1-ubyte... -
以SDS-PVP项链状软团簇为模板合成Cu2O中空亚微球
2020-02-24 21:40:32以SDS-PVP项链状软团簇为模板合成Cu2O中空亚微球,胡瑾,陈方博,在SDS-PVP水溶液中采用N2H4•H2O还原CuSO4,在pH 10±0.5、(40±1.0) oC条件下反应55 min得到橙色Cu2O溶胶,离心分离产物经XRD鉴定为Cu2O立方晶系� -
不以英语为中心,百种语言互译,FB开源首个单一多语言MT模型
2020-10-22 12:24:02Facebook AI 近日开源了多语言机器翻译模型 M2M-100,该模型不依赖以英语为中心的数据,可以实现 100 种语言之间的相互翻译。 机器翻译(MT)打破了人类之间的语言障碍。如今,平均每天需要在 Facebook 新闻... -
C++ 第10章 模板
2018-04-08 19:04:56模板把函数或类要处理的数据类型参数化,表现为参数的多态性。在面向对象技术中,这种机制称为类属。 模板用于表达逻辑结构相同但具体数据元素类型不同的数据对象的通用行为。模板是开发大型软件,建立通用函数库和... -
RMQ模板(以poj 3264为例)
2018-10-18 12:18:19题目:点击打开链接 题意:N头牛,标号1—N,每头牛一个高度,求Q次查询l,r标号内的最高与最低之差。 分析:RMQ模板题。RMQ入门参考... 代码: #pragma comment(linker, "/STACK:102400000,10... -
制备流程图_利用以三聚氰胺为模板的结晶态氯化铜制备非均相类芬顿催化剂
2020-12-26 18:53:03论文DOI:10.1016/j.apcatb.2019.117830全文速览本文利用以三聚氰胺为模板的结晶氯化铜 [H2Mela]2[CuCl5]Cl 为前驱体,通过一步热解制备得到高 Cu 掺杂量(25.9 wt%)的 g-C3N4 复合材料。使用这种前驱体制备的 Cu-g-... -
以74160为核心部件构成简易电子时钟模型
2019-11-26 08:37:45之前已用74160为核心部件设计过①60进制加法计数电路②24进制加法计数电路, 且使用的方法为ENT引脚设计法+同步置数法. 这里很有必要再次提及上述两种方法组合使用的优点: ①使用ENT引脚设计法级联两片74160, 可使... -
DNN在线解码(以aishell的chain模型为例)中的步骤
2019-07-04 20:18:01可以参考《DNN在线解码(以aishell的chain模型为例)》 https://blog.csdn.net/it_king1/article/details/80109398 第一步生成配置文件是仿照s5/local/nnet3/run_tdnn.sh中的下列代码 if [ $stage -le 10 ]; ... -
信用评级模型实例分析(以消费金融为例)-中
2016-11-11 02:16:00信用评级模型实例分析(以消费金融为例)-中 原创 2016-10-13 单良 亚联大数据 点击“亚联大数据”可关注我们! 第五章 自变量的初步分析与处理 模型变量有两种类型,分别是连续型变量 。连续型变数系... -
以挖矿为模型的简单0-1背包代码(附超详细注释)
2018-11-15 15:14:47My first 0-1 bag: #include&amp;amp;amp;amp;...#define M 10 int max(int a, int b) { if (a &amp;amp;amp;amp;amp;amp;amp;gt; b) return a; else return b; } int main() { int -
苹果cms v10 气色中文二开模板 v1.0
2020-11-04 03:04:56为您提供苹果cms v10 气色中文二开模板下载,苹果cmsv10气色中文二开模板是一个以苹果cms为核心进行开发的php视频网站源码。简介:1、继承默认模板的rss全部模板如:baidu.xml 、google.xml。2、继承默认会员中心... -
Day10弹性盒子模型
2019-05-11 16:30:04box-sizing 属性允许您以特定的方式定义匹配某个区域的特定元素。 content-box 这是由 CSS2.1 规定的宽度高度行为。宽度和高度分别应用到元素的内容框。在宽度和高度之外绘制元素的内边距和边框。 border-box 为... -
苹果CMSV10好看的模板灰黑色爱看影院自适应炫酷黑模板
2020-07-10 18:32:48一款酷黑苹果CMSV10好看的模板 整个布局以黑色为主 用户在下滑或是上调页面时具有颜色由深变浅或浅变深的颜色渐变功能!完美自适应所有市面上的电子视频设备。还有触动封面直接播放视频内容的独特设计 为你的广告... -
论文研究 - 使用数字高程模型生成水库深度图-以伊拉克北部摩苏尔·达姆湖为例
2020-06-02 17:57:44在发展中国家,许多湖泊和水库的测深图并不多... 这两个阶段在321 m水位时的蓄水量差异约为0.81×109 m3,其中湖泊损失了约10%的蓄水量。 深度湖模型的结果还表明,2011年3月至7月之间的储水量变化约为3.08×109 m3。 -
论文研究-住房市场泡沫识别的超指数膨胀模型——以京沪各区县房价为例.pdf
2019-09-20 20:56:26论文研究-住房市场泡沫识别的超指数膨胀模型——以京沪各区县房价为例.pdf, 近年来我国房价不断攀升,京沪房屋平均销售价格始终位居全国前两位,目前京沪房价仍处于上升... -
建立具有D4对称性的SO 10模型
2020-04-03 09:35:47我们发现,根据S4-三胞胎以不可约D4-表示形式分解的方式,存在三种SO10×D4模型:(α)为1 +,−⊕1+,−⊕1−,+; 或(β)1 +,+⊕1+,−⊕1−,-; 或者(γ)1 +,−⊕20,0。 还给出了超电势和其他特征。 -
Mogrt小图标模板 10个3d立体运动比赛动态图标PR模板
2021-02-24 14:18:26这是一个新的运动图形模板包,以运动或其他娱乐活动为主题的3d挤压和动画图形为特色。在这个包中,10个图标通过循环运动完美地动画。它们很容易使用 — 只需拖放,你就可以控制位置、大小和颜色。图标有4k分辨率。 ... -
万兆单模模块_万兆(10G SFP+)单模光模块的介绍及应用
2021-02-05 02:47:20万兆单模光模块双纤波长为1310nm、1550nm,单纤波长主要以1270nm、1330nm为主,一般传输距离在10KM以上,主要应用于数据中心网络。接下来易天光通信(ETU-LINK)就给大家介绍下10G SFP+单模光模块的类型以及应... -
[模板]矩阵快速幂(以hdu1757为例
2016-10-13 20:46:58hdu1757 A Simple Math Problem 题意: ...If x >= 10 f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + …… + a9 * f(x-10); And ai(0 输入k(k 思路: 很明显的矩阵乘法 a0 a1 a -
Revit二次开发实现BIM盈利(以橄榄山快模为例讲解) 视频讲座下载
2014-10-12 22:31:44应笔墨闲谈群的邀请, 在10月11号晚8:30分在其群做了一次关于BIM二次开发的讲座.由于参与者基本上都是从设计院和施工单位来的,所以对Revit二次开发做了纵览性的讲解, 以非程序员能听懂的方式讲解Revit二次开发.使这些...
收藏数
3,953
精华内容
1,581
-
华为1+X——网络系统建设与运维(中级)
-
智能停车场云平台(附vue+SpringBoot前后端项目源码)
-
execjs._exceptions.ProgramError: TypeError: ‘JSON‘ 未定义
-
【Python-随到随学】FLask第二周
-
自动化数据分析框架比较—EDA Is All You Need
-
精通编译Makefile,Nina, 从底层uboot到Android
-
Redis学习小记1 - Redis基础及整合
-
安装MySQL无法下一步问题解决了!
-
Docker从入门到精通
-
mysql系列:innodb日志管理,带你高效快速理解
-
全面解析!如何在Java中使用正则表达式匹配${key}
-
POJ 3157 Java vs C++(字符串)
-
js函数明明已经定义,却显示xxx()is not defined的解决办法
-
08.易课寄在线购课系统部署-CentOS6环境安装Tomcat
-
Tribological-behaviour-and-wear-mechanism-of-MoS2-Cr-coat_2003_Tribology-Int.pdf
-
VScode开发工具技巧-001
-
MySQL 性能优化(思路拓展及实操)
-
cmake 练习demo1
-
Mysql数据库面试直通车
-
C++代码规范和Doxygen根据注释自动生成手册