pytorch与torch,pytorch调用tensorflow
本文主要介绍Pytorch中关于torch.flatten()和torch.nn.Flatten()的相关资料。文中介绍了详细的实例,对大家的学习或工作有一定的参考价值。有需要的朋友可以参考一下。
Torch.flatten(x)等于torch.flatten(x,0)。默认情况下,张量被拉成一维向量,即从第一维开始展平,torch.flatten(x,1)表示从第二维开始展平。
进口火炬
x=torch.randn(2,4,2)
打印(x)
z=火炬.展平(x)
打印(z)
w=torch.flatten(x,1)
打印(w)
输出是:
张量([[[-0.9814,0.8251),
[ 0.8197, -1.0426],
[-0.8185, -1.3367],
[-0.6293, 0.6714]],
[[-0.5973, -0.0944],
[ 0.3720, 0.0672],
[ 0.2681, 1.8025],
[-0.0606, 0.4855]]])
张量([-0.9814,0.8251,0.8197,-1.0426,-0.8185,-1.3367,-0.6293,0.6714,
-0.5973, -0.0944, 0.3720, 0.0672, 0.2681, 1.8025, -0.0606, 0.4855])
张量([[-0.9814,0.8251,0.8197,-1.0426,-0.8185,-1.3367,-0.6293,0.6714]
,
[-0.5973, -0.0944, 0.3720, 0.0672, 0.2681, 1.8025, -0.0606, 0.4855]
])
Torch.flatten(x,0,1)表示第一维度和第二维度之间的展平。
进口火炬
x=torch.randn(2,4,2)
打印(x)
W=torch.flatten(x,0,1) #第一维的长度为2,第二维的长度为4,展平后的长度为2*4。
打印(w.shape)
打印(w)
输出是:
张量([[[-0.5523,-0.1132),
[-2.2659, -0.0316],
[ 0.1372, -0.8486],
[-0.3593, -0.2622]],
[[-0.9130, 1.0038],
[-0.3996, 0.4934],
[ 1.7269, 0.8215],
[ 0.1207, -0.9590]]])
火炬。大小([8,2])
张量([[-0.5523,-0.1132),
[-2.2659, -0.0316],
[ 0.1372, -0.8486],
[-0.3593, -0.2622],
[-0.9130, 1.0038],
[-0.3996, 0.4934],
[ 1.7269, 0.8215],
[ 0.1207, -0.9590]])
对于torch.nn.Flatten(),因为用在神经网络中,输入是一批数据,第一维度是batch。通常,一个数据被拉入一个维度,而不是一批数据。所以torch.nn.flat()默认从二次元展开。
进口火炬
# 32个随机5*5图形,带1个通道
x=torch.randn(32,1,5,5)
model=torch.nn.Sequential(
#具有1个输入通道和6,3 * 3个输出通道的卷积内核,步长为1,填充=1
torch.nn.Conv2d(1,6,3,1,1),
torch.nn.Flatten()
)
输出=模型(x)
print(output . shape)# 6 *(7-3 1)*(7-3 1)
输出是:
火炬。尺寸([32,150])
总结
关于Pytorch中torch.flatten()和torch.nn.Flatten()的这篇文章到此为止。有关Pytorch.flatten()和torch.nn.Flatten()的更多信息,请搜索热门IT软件开发工作室之前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。