函数讲解
- in_features指的是输入的二维张量的大小,即输入的[batch_size, size]中的size。
- out_features指的是输出的二维张量的大小,即输出的二维张量的形状为**[batch_size,output_size]**,当然,它也代表了该全连接层的神经元个数。从输入输出的张量的shape角度来理解,相当于一个输入为[batch_size, in_features]的张量变换成了[batch_size, out_features]的输出张量。
- bias标示偏置,相当于y=ax+b中的b
代码示例
import torch
import torch.nn as nn
import torch.nn.functional as F
# 假设输入 3 张 3通道 6 x 6大小的图片
x = torch.randn(3,3,6,6) # 四个参数分别对应 basic_size in_channels w h
print(x.shape) # 3,3,6,6
# 进行卷积计算
x = nn.Conv2d(3,10,3,1,0)(x) # 四个参数分别对应 in_channels out_channels kernel_size stride padding
print(x.shape) # 3,10,4,4
# 创建全连接层
connect_layer = nn.Linear(4,10)
x = connect_layer(x)
print(x.shape) # 3,10,4,10 网上大部分讲的是要把 x 转换成二维张量在进行计算,其实不然
运行结果