函数讲解
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210629073452269.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoZW5nNTA1NTI1MQ==,size_16,color_FFFFFF,t_70)
- 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 转换成二维张量在进行计算,其实不然
运行结果
![](https://img-blog.csdnimg.cn/2021100222252270.png)