Pytorch中nn.Linear的理解

nn.Linear中:nn.Linear源码中用到了F.linear()函数

torch.nn.Linear(in_features, out_features, bias=True, device=None, dtype=None)

参数依次是 每个输入样本的大小   每个输出样本的大小  偏差   

分配到的设备的对象, gpu、cpu这方面的后续探究    描述数据的类型。

全连接层也叫线性层

F.linear的F是 from torch.nn import functional as F

线性层,简单理解:就是小学学的y=wx+b, 这里的x就是样本,w是权重,b是偏置。

也可以用来减少连接层神经元个数,达到简单的降维的目的。

线性层对于比较需要较复杂的网络模型不友好,也就是线性层的特征表达能力是有限的,

所以用激活函数可以提高非线性表示。

import torch
from torch import nn
from torch.nn import functional as F
#下面代码空格地方可以输出结果方便查看
T= torch.rand(3,8) #样本T

net1=nn.Linear(8,1)
w=net1.weight #获得上面初始化的线性层net1的权值w
# print(w)
print(net1(T))

torch.matmul(T,w.T)

F.linear(T,w)

net1(T)-F.linear(T,w)

net1.bias

weight

 

以上拙作是个人理解,也是我第一篇文章,如有错误请指正。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值