1. 常用库

常用库

Pytorch & Tensor

矩阵操作

函数 含义 常见用法示例
torch.nn.Linear(in_features, out_features, bias=True, device=None, dtype=None) 线性变换 m = nn.Linear(20, 30) output = m(input)
torch.nn.Conv2d 卷积 torch.nn.Conv2d(in_channels=3, out_channels=8, kernel_size=3, stride=1, padding=1)
torch.nn.AdaptiveAvgPool2d(output_size) 全局池化 m = nn.AdaptiveAvgPool2d(1)
torch.nn.PixelShuffle(upsale_factor = ...) 将输入的低分辨率图像块进行像素重排,生成更大尺寸的高分辨率图像块 pixel_shuffle = nn.PixelShuffle(3) output = pixel_shuffle(input)
torch.cat 拼接变量,拼接纬度 input = torch.cat([output_deconv, y], 1) # Bsx9x64x64, 1表示从第二个纬度(此处为C)开始拼接
torch.matmul(input, other, *, out=None) 张量乘法 torch.matmul(tensor1, tensor2)

Activation Functions

函数 含义
torch.nn.ReLU(inplace=False) $ReLU(x) = x, x >0$
torch.nn.Sigmoid(*args, **kwargs) $Sigmoid(x) = \dfrac{ 1 }{ 1 + e^{-x} }$
torch.nn.LeakyReLU(negative_slope=0.01, inplace=False) $f(x) = \begin{cases} x & x > 0 \\ -NS \cdot x & x < 0 \end{cases}$
torch.nn.SiLU(inplace=False) $SiLu = x \cdot Sigmoid(x)$
def forward(self, x): s = torch.relu(x**2) return s $y = x^2,x > 0$

其他

函数 含义 常见用法示例
torch.randn 随机生成Tensor torch.randn(1, 3, 256, 256) # NxCxHxW
torch.nn.Sequential 创建按顺序执行的神经网络 self.backbone = nn.Sequential(self.res1,self.res2,self.res3,self.res4)
torchsummary.summary 输出神经网络的摘要信息 summary(model, input_size=[(8, 16, 16), (1, 64, 64)], batch_size=1)
SummaryWriter 将数据写入TensorBoard日志文件 writer = SummaryWriter('./train_logs/50')
torch.utils.data.DataLoader 数据加载, num_workers表示线程数,为0表示在主线程中加载, drop_last(bool) 设为True会丢弃最后一个batch的剩余样本,确保每个batch都有batch_size个样本。 training_data_loader = DataLoader(dataset=train_set, num_workers=0, batch_size=batch_size, shuffle=True, pin_memory=True, drop_last=True)
torch.tensor.repeat 在各个维度上对x进行复制 pan = y.repeat(1, 8, 1, 1) # Bsx8x64x64
torch.tensor.detach() 将张量从计算图中剥离,不对原有的计梯度等数据进行任何影响
torch.nn.BatchNorm2d(num_features, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, device=None, dtype=None) 批量归一化

Numpy

函数 含义 示例
numpy.argmax(a, axis=None, out=None, *, keepdims=<no value>) 返回axis上的最大值

CV2 & h5py

CV2 函数

函数 含义 常见用法
cv2.boxFilter 方框滤波 cv2.boxFilter(data[i, :, :], -1, (5, 5))

h5py

HDF5 是一种数据存储格式和库,用于有效地组织、存储和管理大量的科学数据。HDF5 文件可以包含多个数据集(dataset)和组(group),以层次结构的方式组织数据。每个数据集可以存储多维数组、表格数据、图像、文本等各种类型的数据。

经验 & 技巧总结

Category Concept
torch.nn.ConvTranspose2d 逆卷积, $Output = \Big[ \dfrac{ H + 2P - K }{ S } + 1 \Big] \times \Big[ \dfrac{ W + 2P - K }{ S } + 1\Big]$
$P$ $K$ $S$ OutPut
2 8 4 $\dfrac{ H }{4 } \times \dfrac{ W }{ 4 }$
1 5 3 $\dfrac{ H }{3 } \times \dfrac{ W }{ 3 }$
0 2 2 $\dfrac{ H }{2 } \times \dfrac{ W }{ 2 }$
Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy