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

网站建设工程师网站建设国培心得体会

网站建设工程师,网站建设国培心得体会,免费公司起名网大全,wordpress 自带播放器19/76 卷积层总结 1、卷积层将输入矩阵和核矩阵进行交叉相关#xff0c;加上偏移所得到输出。 2、核矩阵和偏移是可学习的参数。 3、核矩阵的大小是超参数。 import torch from torch import nndef corr2d(X, K): # 本函数已保存在d2lzh_pytorch包中方便以后使用,x是输入加上偏移所得到输出。 2、核矩阵和偏移是可学习的参数。 3、核矩阵的大小是超参数。 import torch from torch import nndef corr2d(X, K): # 本函数已保存在d2lzh_pytorch包中方便以后使用,x是输入k是核矩阵h, w K.shapeY torch.zeros((X.shape[0] - h 1, X.shape[1] - w 1))for i in range(Y.shape[0]):for j in range(Y.shape[1]):Y[i, j] (X[i: i h, j: j w] * K).sum()return Y X torch.tensor([[0, 1, 2], [3, 4, 5], [6, 7, 8]]) K torch.tensor([[0, 1], [2, 3]]) print(corr2d(X, K)) #二维卷积层 class Conv2D(nn.Module):def __init__(self, kernel_size):super(Conv2D, self).__init__()self.weight nn.Parameter(torch.randn(kernel_size))self.bias nn.Parameter(torch.randn(1))def forward(self, x):return corr2d(x, self.weight) self.bias#物体边缘检测-1代表黑到白色的转变X1 torch.ones(6, 8) X1[:, 2:6] 0 K1 torch.tensor([[1, -1]]) Y1 corr2d(X1, K1) print(Y1) #Y corr2d(X.t(), K)检测不出来x转置之后#不知道k从x到y中学习 # 4. 学习卷积核 # 当有了更复杂数值的卷积核或者连续的卷积层时我们不可能手动设计滤波器。那么我们是否可以学习由X生成Y的卷积核 # 构造一个二维卷积层它具有1个输出通道和形状为12的卷积核 conv2d nn.Conv2d(1,1, kernel_size(1, 2), biasFalse)# 这个二维卷积层使用四维输入和输出格式批量大小、通道、高度、宽度 # 其中批量大小和通道数都为1 X X1.reshape((1, 1, 6, 8)) Y Y1.reshape((1, 1, 6, 7)) lr 3e-2 # 学习率for i in range(30):Y_hat conv2d(X)l (Y_hat - Y) ** 2conv2d.zero_grad()l.sum().backward()# 迭代卷积核conv2d.weight.data[:] - lr * conv2d.weight.gradif (i 1) % 2 0:print(fepoch {i1}, loss {l.sum():.3f})# 我们所学的卷积核的权重张量 print(conv2d.weight.data.reshape((1, 2)))填充在输入周围添加额外的行或列 一圈0. 通常填充的是核的长-1 填充和步幅都是卷积层的超参数。 填充在输入周围添加额外的行或列来控制输出形状的减少量。 步幅是每次滑动核窗口时的行或列成倍减少形状。 import osimport torch from torch import nn os.environ[KMP_DUPLICATE_LIB_OK] TRUE# 为了方便起见我们定义了一个计算卷积层的函数。 # 此函数初始化卷积层权重并对输入和输出提高和缩减相应的维数 def comp_conv2d(conv2d, X):# 这里的11表示批量大小和通道数都是1X X.reshape((1, 1) X.shape)Y conv2d(X)# 省略前两个维度批量大小和通道return Y.reshape(Y.shape[2:])# 请注意这里每边都填充了1行或1列因此总共添加了2行或2列 conv2d nn.Conv2d(1, 1, kernel_size3, padding1) X torch.rand(size(8, 8)) print(comp_conv2d(conv2d, X).shape)# 如下示例中我们使用高度为5宽度为3的卷积核高度和宽度两边的填充分别为2和1 conv2d nn.Conv2d(1, 1, kernel_size(5, 3), padding(2, 1)) print(comp_conv2d(conv2d, X).shape)# 我们将高度和宽度的步幅设置为2从而将输入的高度和宽度减半 # 在输入图像的边界填充元素称为填充padding 每次滑动元素的数量称为步幅stride conv2d nn.Conv2d(1, 1, kernel_size3, padding1, stride2) print(comp_conv2d(conv2d, X).shape)conv2d nn.Conv2d(1, 1, kernel_size(3, 5), padding(0, 1), stride(3, 4)) print(comp_conv2d(conv2d, X).shape)# 在实践中我们很少使用不一致的步幅或填充多通道输入输出 输出通道是卷积层的超参数。 每个输入通道有独立的二维卷积核所有通道结果相加得到一个输出通道结果。 每个输出通道有独立的三维卷积核。 import osimport torch from torch import nn from d2l import torch as d2l os.environ[KMP_DUPLICATE_LIB_OK] TRUE# 1. 多输入通道(互相关) def corr2d_multi_in(X, K):# 先遍历“X”和“K”的第0个维度通道维度再把它们加在一起return sum(d2l.corr2d(x, k) for x, k in zip(X, K))X torch.tensor([[[0.0, 1.0, 2.0], [3.0, 4.0, 5.0], [6.0, 7.0, 8.0]],[[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]]]) K torch.tensor([[[0.0, 1.0], [2.0, 3.0]], [[1.0, 2.0], [3.0, 4.0]]]) print(corr2d_multi_in(X, K)) #56,72,104 120 # 2. 多输出通道 def corr2d_multi_in_out(X, K):# 迭代“K”的第0个维度每次都对输入“X”执行互相关运算。# 最后将所有结果都叠加在一起#print(torch.stack([corr2d_multi_in(X, k) for k in K], 0))return torch.stack([corr2d_multi_in(X, k) for k in K], 0) K torch.stack((K, K 1, K 2), 0)#核多了k1和k2 print(K) print(K.shape) print(corr2d_multi_in_out(X, K))# 3. 1X1卷积层 等价于一个全连接 def corr2d_multi_in_out_1x1(X, K):c_i, h, w X.shapeprint(c_i: , c_i) # 输入的通道数print(h: , h) # 输入的高print(w: , w) # 输入的宽c_o K.shape[0] # 卷积核的通道数X X.view(c_i, h * w) # 3 * 9K K.view(c_o, c_i) # 2 * 3Y torch.mm(K, X) # 全连接层的矩阵乘法return Y.view(c_o, h, w)X torch.normal(0, 1, (3, 3, 3)) K torch.normal(0, 1, (2, 3, 1, 1))Y1 corr2d_multi_in_out_1x1(X, K) Y2 corr2d_multi_in_out(X, K) assert float(torch.abs(Y1 - Y2).sum()) 1e-6#print(float(torch.abs(Y1 - Y2).sum()))# (Y1 - Y2).norm().item() 1e-6 为真不会报错
http://www.pierceye.com/news/695893/

相关文章:

  • 网站用什么系统好用免费网站建设找哪家
  • 网站到期续费吗网站开发是培训
  • 别人帮做的网站怎么修改怎么做产品推广和宣传
  • 国内返利网站怎么做php建设网站工具
  • 网站设计教程文档创业商机网农村
  • 宁夏交通建设质监局官方网站免费注册二级域名的网站
  • 网站门户设计网站建设有没有做的必要
  • 建模师的就业前景整站优化工具
  • 微信公众号怎么做链接网站网站404 原因
  • 安卓手机做服务器网站网站设计时多页面切换时什么控件
  • 长沙正规网站建设价格网站推广怎么发外链
  • 专业版装修用什么网站做导航条深圳网站制作易捷网络
  • 哪个公司建设网站好手机网站维护费
  • 中山高端网站建设wordpress调用分类文章列表
  • 营销网站的专业性诊断评价和优化做视频网站需要什么资质
  • 河南广告制作公司网站西班牙语网站设计公司哪家好
  • 做业务一般要注册哪些网站wordpress prepare
  • wordpress 鼠标经过seo网站内容优化有哪些
  • 单页网站制作视频教程深圳有哪些软件外包公司
  • 嘉兴电子商务网站建设wordpress如何添加页面子目录
  • 教育在线网站怎样做直播seo网站推广怎样
  • 响应式的网站建设一个多少钱百度域名解析
  • 东莞做网站卓诚网络免费大数据分析网站
  • 网站用什么图片格式好seo学徒招聘
  • 地区网站建设网站用户反馈
  • 网站备案背景幕布下载成都最好的seo外包
  • 荆州 商务 网站建设郑州网站建设灵秀
  • 重庆市建筑工程信息官方网站注册号域名后如何建设公司网站
  • 江门网站建设junke100深圳小企业网站建设设计制作
  • 个人域名能做网站吗江苏外贸型网站制作