squeeze pytorch,squeezenet pytorch

  squeeze pytorch,squeezenet pytorch

  本文主要介绍PyTorch中squeeze()和Unseeze()的分析和应用案例。文章内容介绍的比较详细,有需要的朋友可以参考一下。希望对你有帮助。

  00-1010 1.火炬。挤压2。火炬。挤压3。附上官网地址:的例子

  https://pytorch.org/docs/stable/index.html

  

目录

  Squeeze主要用于压缩或解压缩数据的维度。

  先看torch.squeeze()。这个函数主要是压缩数据的维度,去掉维度为1的维度,比如一行或者一列。在删除维度为1的第一个维度后,一行中有三列(1,3)的数字变为(3)行。挤压(a)是删除a中1的所有维度,不是1的维度没有影响。A.squeeze(N)是去掉a中指定的一维的维,还有一种形式,就是在b=torch.squeeze(a,N) a中,去掉指定的一维的维。

  换言之:

  如果arg维度的维度值为1,则该维度将被删除;否则,张量将保持不变。(也就是说,如果tensor.shape()[arg]==1,维度将被删除)

  例如:

  一个维数为2x1x2x1x2的张量,不要去想它是什么样子的。挤压(0)不变,挤压(1)变成2x2x1。(0从最左边的维度开始计数)

  x=torch.zeros(2,1,2,1,2)

  x.size()

  火炬。大小([2,1,2,1,2])

  y=火炬挤压(x)

  y.size()

  火炬。大小([2,2,2])

  y=torch.squeeze(x,0)

  y.size()

  火炬。大小([2,1,2,1,2])

  y=torch.squeeze(x,1)

  y.size()

  火炬。大小([2,2,1,2])

  

1.torch.squeeze

  torch.unsqueeze()函数主要用于扩展数据维度。在指定位置增加一个维度的维度,比如原来有一个三行数据(3),在0的位置增加一个维度,就变成了一行三列(1,3)。A.squeeze(N)是指定A中的位置N加上一个维数为1的维数。另一种形式是b=torch.squeeze(a,n)。A是指定A中的位置n加上一个维度为1的维度。

  x=torch .张量([1,2,3,4])

  torch . unsqueze(x,0)

  张量([[ 1,2,3,4]])

  torch . unsqueze(x,1)

  张量([[ 1],

  [ 2],

  [ 3],

  [ 4]])

  

2.torch.unsqueeze

  给一个使用上述两个函数,并进行一次卷积的例子:

  从火炬视觉。将导入转换为传感器

  将火炬作为t导入

  从火炬进口nnimport cv2

  将numpy作为np导入

  导入cv2

  to_tensor=ToTensor()

  #加载图像

  lena=cv2.imread(lena.jpg ,cv2。IMREAD _灰度)

  cv2.imshow(lena ,lena)

  # input=to_tensor(lena)将ndarray转换为张量,并自动将[0,255]归一化为[0,1]。

  输入=to_tensor(lena)。取消排队(0)

  #初始化卷积参数

  kernel=t.ones(1,1,3,3)/-9

  内核[:1,1]=1

  conv=nn。Conv2d(1,1,3,1,padding=1,bias=False)

  conv.weight.data=kernel.view(1,1,3,3)

  #输出

  输出=conv(输入)

  out=out.squeeze(0)

  打印(输出.形状)

  out=out.unsqueeze(3)

  打印(输出.形状)

  out=out.squeeze(0)

  打印(输出.形状)

  Out=out.detach()。numpy()#缩放到0~最大值

  cv2.normalize(out,out,1.0,0,cv2。NORM_INF)

  cv2.imshow(lena-result ,out)

  cv2.waitKey()

  结果图如下:

  关于PyTorch中的squeeze()和Unseeze()分析及应用案例的这篇文章到此为止。有关squeeze()和Unseeze()分析的更多信息,请搜索热门IT软件开发工作室之前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

  references:

  [1]陈云。PyTorch在深度学习框架中的介绍与实践。北京:电子工业出版社,2018。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: