update
This commit is contained in:
parent
5e3e22e25d
commit
19974d761a
@ -0,0 +1,77 @@
|
|||||||
|
"""
|
||||||
|
This code is supported by the website: https://www.guanjihuan.com
|
||||||
|
The newest version of this code is on the web page: https://www.guanjihuan.com/archives/39320
|
||||||
|
"""
|
||||||
|
|
||||||
|
import torch
|
||||||
|
input_data = torch.randn(1, 1, 28, 28)
|
||||||
|
|
||||||
|
print('【有填充的情况,不同卷积核大小对输出数据的维度的影响】')
|
||||||
|
conv_layer = torch.nn.Conv2d(in_channels=1, out_channels=1, kernel_size=1, stride=1, padding=1, dilation=1)
|
||||||
|
output_data = conv_layer(input_data)
|
||||||
|
print("维度(卷积核大小为1):", output_data.shape)
|
||||||
|
conv_layer = torch.nn.Conv2d(in_channels=1, out_channels=1, kernel_size=2, stride=1, padding=1, dilation=1)
|
||||||
|
output_data = conv_layer(input_data)
|
||||||
|
print("维度(卷积核大小为2):", output_data.shape)
|
||||||
|
conv_layer = torch.nn.Conv2d(in_channels=1, out_channels=1, kernel_size=3, stride=1, padding=1, dilation=1)
|
||||||
|
output_data = conv_layer(input_data)
|
||||||
|
print("维度(卷积核大小为3):", output_data.shape)
|
||||||
|
conv_layer = torch.nn.Conv2d(in_channels=1, out_channels=1, kernel_size=4, stride=1, padding=1, dilation=1)
|
||||||
|
output_data = conv_layer(input_data)
|
||||||
|
print("维度(卷积核大小为4):", output_data.shape)
|
||||||
|
conv_layer = torch.nn.Conv2d(in_channels=1, out_channels=1, kernel_size=5, stride=1, padding=1, dilation=1)
|
||||||
|
output_data = conv_layer(input_data)
|
||||||
|
print("维度(卷积核大小为5):", output_data.shape)
|
||||||
|
|
||||||
|
print()
|
||||||
|
print('【无填充的情况,不同卷积核大小对输出数据的维度的影响】')
|
||||||
|
conv_layer = torch.nn.Conv2d(in_channels=1, out_channels=1, kernel_size=1, stride=1, padding=0, dilation=1)
|
||||||
|
output_data = conv_layer(input_data)
|
||||||
|
print("维度(卷积核大小为1):", output_data.shape)
|
||||||
|
conv_layer = torch.nn.Conv2d(in_channels=1, out_channels=1, kernel_size=2, stride=1, padding=0, dilation=1)
|
||||||
|
output_data = conv_layer(input_data)
|
||||||
|
print("维度(卷积核大小为2):", output_data.shape)
|
||||||
|
conv_layer = torch.nn.Conv2d(in_channels=1, out_channels=1, kernel_size=3, stride=1, padding=0, dilation=1)
|
||||||
|
output_data = conv_layer(input_data)
|
||||||
|
print("维度(卷积核大小为3):", output_data.shape)
|
||||||
|
conv_layer = torch.nn.Conv2d(in_channels=1, out_channels=1, kernel_size=4, stride=1, padding=0, dilation=1)
|
||||||
|
output_data = conv_layer(input_data)
|
||||||
|
print("维度(卷积核大小为4):", output_data.shape)
|
||||||
|
conv_layer = torch.nn.Conv2d(in_channels=1, out_channels=1, kernel_size=5, stride=1, padding=0, dilation=1)
|
||||||
|
output_data = conv_layer(input_data)
|
||||||
|
print("维度(卷积核大小为5):", output_data.shape)
|
||||||
|
|
||||||
|
print()
|
||||||
|
print('【不同步幅对输出数据的维度的影响(以卷积核大小为3,有填充的情况为例)】')
|
||||||
|
conv_layer = torch.nn.Conv2d(in_channels=1, out_channels=1, kernel_size=3, stride=1, padding=1, dilation=1)
|
||||||
|
output_data = conv_layer(input_data)
|
||||||
|
print("维度(步幅为1):", output_data.shape)
|
||||||
|
conv_layer = torch.nn.Conv2d(in_channels=1, out_channels=1, kernel_size=3, stride=2, padding=1, dilation=1)
|
||||||
|
output_data = conv_layer(input_data)
|
||||||
|
print("维度(步幅为2):", output_data.shape)
|
||||||
|
conv_layer = torch.nn.Conv2d(in_channels=1, out_channels=1, kernel_size=3, stride=3, padding=1, dilation=1)
|
||||||
|
output_data = conv_layer(input_data)
|
||||||
|
print("维度(步幅为3):", output_data.shape)
|
||||||
|
|
||||||
|
print()
|
||||||
|
print('【不同扩张率对输出数据的维度的影响(以步幅为1,有填充的情况为例)】')
|
||||||
|
conv_layer = torch.nn.Conv2d(in_channels=1, out_channels=1, kernel_size=3, stride=1, padding=1, dilation=1)
|
||||||
|
output_data = conv_layer(input_data)
|
||||||
|
print("维度(卷积核大小为3,扩张率为1):", output_data.shape)
|
||||||
|
conv_layer = torch.nn.Conv2d(in_channels=1, out_channels=1, kernel_size=3, stride=1, padding=1, dilation=2)
|
||||||
|
output_data = conv_layer(input_data)
|
||||||
|
print("维度(卷积核大小为3,扩张率为2):", output_data.shape)
|
||||||
|
conv_layer = torch.nn.Conv2d(in_channels=1, out_channels=1, kernel_size=3, stride=1, padding=1, dilation=3)
|
||||||
|
output_data = conv_layer(input_data)
|
||||||
|
print("维度(卷积核大小为3,扩张率为3):", output_data.shape)
|
||||||
|
|
||||||
|
print()
|
||||||
|
conv_layer = torch.nn.Conv2d(in_channels=1, out_channels=1, kernel_size=4, stride=1, padding=1, dilation=1)
|
||||||
|
output_data = conv_layer(input_data)
|
||||||
|
print("维度(卷积核大小为4,扩张率为1):", output_data.shape)
|
||||||
|
conv_layer = torch.nn.Conv2d(in_channels=1, out_channels=1, kernel_size=4, stride=1, padding=1, dilation=2)
|
||||||
|
output_data = conv_layer(input_data)
|
||||||
|
print("维度(卷积核大小为4,扩张率为2):", output_data.shape)
|
||||||
|
conv_layer = torch.nn.Conv2d(in_channels=1, out_channels=1, kernel_size=4, stride=1, padding=1, dilation=3)
|
||||||
|
output_data = conv_layer(input_data)
|
||||||
|
print("维度(卷积核大小为4,扩张率为3):", output_data.shape)
|
@ -0,0 +1,30 @@
|
|||||||
|
"""
|
||||||
|
This code is supported by the website: https://www.guanjihuan.com
|
||||||
|
The newest version of this code is on the web page: https://www.guanjihuan.com/archives/39320
|
||||||
|
"""
|
||||||
|
|
||||||
|
import torch
|
||||||
|
input_data = torch.randn(1, 1, 28, 28)
|
||||||
|
|
||||||
|
print('【不同卷积核大小对输出数据的维度的影响】')
|
||||||
|
max_pool = torch.nn.MaxPool2d(kernel_size=1, stride=1)
|
||||||
|
output_data = max_pool(input_data)
|
||||||
|
print("维度(卷积核大小为1):", output_data.shape)
|
||||||
|
max_pool = torch.nn.MaxPool2d(kernel_size=2, stride=1)
|
||||||
|
output_data = max_pool(input_data)
|
||||||
|
print("维度(卷积核大小为2):", output_data.shape)
|
||||||
|
max_pool = torch.nn.MaxPool2d(kernel_size=3, stride=1)
|
||||||
|
output_data = max_pool(input_data)
|
||||||
|
print("维度(卷积核大小为3):", output_data.shape)
|
||||||
|
|
||||||
|
print()
|
||||||
|
print('【不同步幅对输出数据的维度的影响(以卷积核大小为2为例)】')
|
||||||
|
max_pool = torch.nn.MaxPool2d(kernel_size=2, stride=1)
|
||||||
|
output_data = max_pool(input_data)
|
||||||
|
print("维度(步幅为1):", output_data.shape)
|
||||||
|
max_pool = torch.nn.MaxPool2d(kernel_size=2, stride=2)
|
||||||
|
output_data = max_pool(input_data)
|
||||||
|
print("维度(步幅为2):", output_data.shape)
|
||||||
|
max_pool = torch.nn.MaxPool2d(kernel_size=2, stride=3)
|
||||||
|
output_data = max_pool(input_data)
|
||||||
|
print("维度(步幅为3):", output_data.shape)
|
Loading…
x
Reference in New Issue
Block a user