36人参与 • 2024-08-01 • 机器学习
主要作用:对输入函数采用正则化。正则化的主要作用是加快神经网络的训练速度。
class torch.nn.batchnorm2d(num_features, eps=1e-05, momentum=0.1, affine=true, track_running_stats=true, device=none, dtype=none)
输入参数:
num_features: 形状为\((n, c, h, w)\)
其他参数默认即可
举例:
# with learnable parameters
m = nn.batchnorm2d(100)
# without learnable parameters
m = nn.batchnorm2d(100, affine=false)
input = torch.randn(20, 100, 35, 45)
output = m(input)
该函数用得不多
内含rnn、lstm等函数,主要在nlp领域用的比较多
class torch.nn.linear(in_features, out_features, bias=true, device=none, dtype=none
参数介绍:
in_features
out_features
bias(bool)
线性层具体参数解释如下图:
\(in\_features=d\),即指的是in_features的个数
\(out\_features=l\),即指的是out_features的个数
计算\(g\)的方法(以上图\(g_1\)为例):
\[k_i*x_i+b_i \]
其中,\(b_i\)代表偏置,参数\(bias=true\),则加上\(b\);\(bias=false\),则不加\(b\)
在每次训练神经网络的过程中,均会调整\(k_i\)、\(b_i\)的值,直到它变成一个合适的数值
由此可得:
\[g_1=\sum^{d}_{i=1}{k_ix_i+b_i} \]
以典型的_vgg16 model_网络结构为例:
因此,设置_in_features=4096; out_feature=1000_
import torch
import torchvision
from torch.utils.data import dataloader
from torch import nn
from torch.nn import linear
dataset=torchvision.datasets.cifar10("./dataset",train=false,download=true,transform=torchvision.transforms.totensor())
dataloder=dataloader(dataset,batch_size=64)
# for data in dataloder:
# imgs,targets = data
# #print(imgs.shape) #[run] torch.size([64, 3, 32, 32])
#
# #我们的目标是把图像尺寸变成1×1×1×根据前面计算得出的数,下面进行转换
# output=torch.reshape(imgs,(1,1,1,-1))
# #print(output.shape) #[run] torch.size([1, 1, 1, 196608])
#根据上面output得出的196608尺寸数据,构造神经网络结构
class demo(nn.module):
def __init__(self):
super(demo,self).__init__()
self.linear1=linear(in_features=196608,out_features=10)
def forward(self,input):
output=self.linear1(input)
return output
#调用神经网络
demo=demo()
for data in dataloder:
imgs,targets=data
output=torch.reshape(imgs,(1,1,1,-1))
output=demo.forward(output)
print(output.shape) #[run] torch.size([1, 1, 1, 10])
由此,成功将_1×1×1×196608_尺寸的图像转化为_1×1×1×10_尺寸的图像
注意:
output=torch.reshape(imgs,(1,1,1,-1))
,为:output=torch.flatten(imgs)
# print(output.shape) #[run] torch.size([196608])
torch.flatten() 和torch.reshape() 的区别:
torch.flatten更方便,可以直接把图像变成一行
torch.reshape功能更强大,可任意指定图像尺寸
主要作用:在训练的过程中随机把一些input(输入的tensor数据类型)变成0。变成0的概率由\(p\)决定
class torch.nn.dropout(p=0.5, inplace=false)
主要用于自然语言处理中
class torch.nn.embedding(num_embeddings, embedding_dim, padding_idx=none,
max_norm=none, norm_type=2.0, scale_grad_by_freq=false, sparse=false,
_weight=none, _freeze=false, device=none, dtype=none)
主要作用:计算两个值之间的误差,并指定误差的衡量标准
主要作用:计算loss的误差大小
现在我们已经学会如何自己搭建神经网络模型了,下面介绍pytorch中神经网络模型的调用方法。根据官方文档,我们可以调用自己需要的网络结构,而不需要自己写代码
1.图像方面的网络结构
2.语音方面的网络结构
感谢你们的阅读和喜欢,我收藏了很多技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你。
因为这个行业不同于其他行业,知识体系实在是过于庞大,知识更新也非常快。作为一个普通人,无法全部学完,所以我们在提升技术的时候,首先需要明确一个目标,然后制定好完整的计划,同时找到好的学习方法,这样才能更快的提升自己。
这份完整版的大模型 ai 学习资料已经上传csdn,朋友们如果需要可以微信扫描下方csdn官方认证二维码免费领取【保证100%免费
】
ai大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
这套包含640份报告的合集,涵盖了ai大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对ai大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
随着人工智能技术的飞速发展,ai大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如gpt-3、bert、xlnet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些pdf籍就是非常不错的学习资源。
我们学习ai大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下。
这份完整版的大模型 ai 学习资料已经上传csdn,朋友们如果需要可以微信扫描下方csdn官方认证二维码免费领取【保证100%免费
】
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论