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()函数讲解的主要内容,如果未能解决你的问题,请参考以下文章

torch.nn.Linear() 理解

torch.nn.Linear() 理解

torch.nn.Linear() 理解

pytorch中的神经网络子模块(线性模块)——torch.nn.Linear

PyTorch学习4《PyTorch深度学习实践》——线性回归(Linear Regression)

神经网络学习--PyTorch学习03 搭建模型