网站视频插件怎么做,设计网站大全网,少儿编程加盟店倒闭,如何 做网站这个函数和我们之前提到的【Pytorch】6.torch.nn.functional.conv2d的使用的作用相似#xff0c;都是完成CV领域的卷积操作#xff0c;这里就不在过多赘述 torch.nn.conv2d的使用 打开pytorch的官方文档#xff0c;我们可以看到 torch.nn.conv2d包含了若干参数
in_channe…这个函数和我们之前提到的【Pytorch】6.torch.nn.functional.conv2d的使用的作用相似都是完成CV领域的卷积操作这里就不在过多赘述 torch.nn.conv2d的使用 打开pytorch的官方文档我们可以看到 torch.nn.conv2d包含了若干参数
in_channels代表输入的通道数out_channels代表输出的通道数kernel_size代表卷积核的大小既可以是int类型也可以是tuple元组类型比如(2,5)代表卷积核大小为两行五列stride代表卷积每次的步长padding代表输入层的边缘填充padding_mode代表边缘填充的规则默认为用0填充dilation代表膨胀默认为1 我们也可以通过官方的这个链接link来对每个参数进行了解
具体的使用方法为
# With square kernels and equal stride
m nn.Conv2d(16, 33, 3, stride2)
# non-square kernels and unequal stride and with padding
m nn.Conv2d(16, 33, (3, 5), stride(2, 1), padding(4, 2))
# non-square kernels and unequal stride and with padding and dilation
m nn.Conv2d(16, 33, (3, 5), stride(2, 1), padding(4, 2), dilation(3, 1))
input torch.randn(20, 16, 50, 100)
output m(input)具体用例 import torch
import torchvision
from torch import nn
from torch.nn import Conv2d
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriterdataset torchvision.datasets.CIFAR10(root./dataset, transformtorchvision.transforms.ToTensor(), trainFalse,downloadFalse)dataLoader DataLoader(dataset, batch_size64, shuffleTrue)class Net(nn.Module):def __init__(self):super(Net, self).__init__()self.conv1 Conv2d(in_channels3, out_channels6, kernel_size3, stride1, padding0)def forward(self, x):x self.conv1(x)return xnet Net()writer SummaryWriter(log_dir./logs)i 0
for data in dataLoader:img, target dataoutput net.forward(img)# print(output.shape)writer.add_images(input, img, i)# -1是一个占位符让Pytorch自动计算维度大小output torch.reshape(output,(-1, 3, 30, 30))# 无法直接传入6通道只能3通道writer.add_images(output, output, i)i i 1writer.close()需要注意一下几点
再使用TensorBoard进行可视化时需要使用writer.add_images而不是writer.add_image要加s再使用writer进行可视化时tensor格式只支持3通道如果是其他通道数需要使用torch.reshape来进行通道数转换 因为output上是64个图片为一组通道数为6所以转化为通道数为3的话有64*2的图片
下面附上输入输出通道数与像素数的计算方法