torch.nn.Linear()函数讲解
Posted 我想月薪过万
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了torch.nn.Linear()函数讲解相关的知识,希望对你有一定的参考价值。
函数讲解
- 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 转换成二维张量在进行计算,其实不然
运行结果
以上是关于torch.nn.Linear()函数讲解的主要内容,如果未能解决你的问题,请参考以下文章
pytorch中的神经网络子模块(线性模块)——torch.nn.Linear