深度学习(十一)——神经网络:线形层及其他层介绍

一、正则化层中nn.BatchNorm2d简介

主要作用:对输入函数采用正则化。正则化的主要作用是加快神经网络的训练速度。

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)

该函数用得不多

二、其他层简介

1. Recurrent Layers(Recurrent层)

内含RNN、LSTM等函数,主要在nlp领域用的比较多

官方文档: Recurrent Layers

2. Transformer Layers

3. Linear Layers(线性层)

nn.Linear

class torch.nn.Linear(in_features, out_features, bias=True, device=None, dtype=None
(1)参数介绍及计算方法

参数介绍:

  • in_features

  • out_features

  • bias(bool)

线性层具体参数解释如下图:

  • \(in\_features=d\),即指的是in_features的个数

  • \(out\_features=L\),即指的是out_features的个数

计算\(g\)的方法(以上图\(g_1\)为例):

  • \(x_1,\dots,x_i,\dots,x_d\)每个指向\(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} \]

(2)代码示例

以典型的_VGG16 Model_网络结构为例:

因此,设置_in_features=4096; out_feature=1000_

  • 下面代码以一个尺寸为_n×n_的图像为例,先将图像展开成一行,即_1×_\(n2\)的尺寸。最后将_1×_\(n2\)尺寸的图像通过线性层,转化为_1×10_尺寸的图像。
import torch
import torchvision
from torch.utils.data import DataLoader
from torch import nn
from torch.nn import Lineardataset=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=dataoutput=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_尺寸的图像

注意:

  • 可以用torch.flatten() 函数将图像展开成一行,即替换第33行的代码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功能更强大,可任意指定图像尺寸

4. Dropout Layers

主要作用:在训练的过程中随机把一些input(输入的tensor数据类型)变成0。变成0的概率由\(p\)决定

class torch.nn.Dropout(p=0.5, inplace=False)
  • 变成0的主要原因是防止过拟合

5. Sparse Layers

nn.Embedding

主要用于自然语言处理中

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)

6.Distance Functions

主要作用:计算两个值之间的误差,并指定误差的衡量标准

7. Loss Function

主要作用:计算Loss的误差大小

三、调用pytorch中的网络模型

现在我们已经学会如何自己搭建神经网络模型了,下面介绍pytorch中神经网络模型的调用方法。根据官方文档,我们可以调用自己需要的网络结构,而不需要自己写代码

1.图像方面的网络结构

官网文档:Models and pre-trained weights — Torchvision 0.15 documentation

2.语音方面的网络结构

官方文档:torchaudio.models — Torchaudio 2.0.1 documentation

最后的最后

感谢你们的阅读和喜欢,我收藏了很多技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你。

因为这个行业不同于其他行业,知识体系实在是过于庞大,知识更新也非常快。作为一个普通人,无法全部学完,所以我们在提升技术的时候,首先需要明确一个目标,然后制定好完整的计划,同时找到好的学习方法,这样才能更快的提升自己。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

五、面试资料

我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下。
在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/855675.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型学习路线,存下吧很难找全的

随着人工智能技术的飞速发展,大模型在自然语言处理、计算机视觉、推荐系统等领域取得了显著成果。越来越多的学者和开发者开始关注并投身于大模型的研究与应用。本文将以大模型学习路线为核心,为您介绍从入门到精通所需掌握的知识和技能。 一、入门篇 …

Springboot整合Zookeeper分布式组件实例

一、Zookeeper概述 1.1 Zookeeper的定义 Zookeeper是一个开源的分布式协调服务,主要用于分布式应用程序中的协调管理。它由Apache软件基金会维护,是Hadoop生态系统中的重要成员。Zookeeper提供了一个高效且可靠的分布式锁服务,以及群集管理…

基于Vue3.0 Node.js 的 大文件切片上传、秒传、断点续传实现方案梳理

✨💻 在处理大文件上传时,切片上传是提高效率与用户体验的关键技术之一。下面将详细介绍如何在前端利用Vue框架与Node.js后端配合,实现这一功能。 👆🏻大体流程 👆🏻一、文件切片上传 通过文件…

力扣每日一题 6/11 暴力搜索

博客主页:誓则盟约系列专栏:IT竞赛 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 419.甲板上的战舰[中等] 题目: 给你一个大小为 m x n 的矩阵 b…

OAK-D-Long-Range: 让你的机器人拥有鹰一样的视觉!3D视觉精度与点云方案!

OAK-D LONG RANGE – 精度与点云 有没有想过让你的机器人有鹰的视力?来看看我们OAK-D-Long Range相机吧!这是一款3DAI相机,为全球项目带来了超强的视觉效果!让我们深入了解它是如何通过15cm的基线做到这一点的! 15CM…

Boosting Weakly-Supervised Temporal Action Localization with Text Information

标题:利用文本信息增强弱监督时间动作定位 源文链接:https://openaccess.thecvf.com/content/CVPR2023/papers/Li_Boosting_Weakly-Supervised_Temporal_Action_Localization_With_Text_Information_CVPR_2023_paper.pdfhttps://openaccess.thecvf.com/…

Python3 Matplotlib展示数据

matplotlib 是一个 Python 库,用于创建各种类型的图表和可视化。它提供了一个类似于 MATLAB 的绘图界面,使用户能够轻松地绘制线图、散点图、直方图、饼图等各种图表类型。matplotlib 可以在 Python 脚本、IPython shell、Jupyter Notebook 等环境中使用…

科技赋能冷链园区:可视化带来全新体验

应用图扑可视化技术,冷链园区能够更加直观地监控和管理资源,优化运作流程,提高运营效率与服务质量。

贪心算法学习四

例题一 解法(暴⼒解法 -> 贪⼼): 暴⼒解法: a. 依次枚举所有的起点; b. 从起点开始,模拟⼀遍加油的流程 贪⼼优化: 我们发现,当从 i 位置出发,⾛了 step 步…

怎么把webp文件转换为jpg?快来试试这四种转换方法!

怎么把webp文件转换为jpg?Webp是一种不常见的图片格式,这种格式在使用过程中有很多缺点,首先它的浏览器兼容性不是很强,这就代表大家无法随意进行网络传输,可能需要准备特定的操作才能进行,然后编辑webp的工…

查看服务器端口,如何查看服务器端口是多少并修改

查看服务器端口并修改内容是一个涉及网络管理和系统配置的专业任务。以下是一个详细的步骤说明,用于查看和修改服务器端口。 一、查看服务器端口 1. 使用命令行工具: - 对于Linux或Unix系统,可以使用netstat、lsof或ss等命令来查看端口状…

机器学习常见的sampling策略 附PyTorch实现

初始工作 定义一个模拟的长尾数据集 import torch import numpy as np import random from torch.utils.data import Dataset, DataLoadernp.random.seed(0) random.seed(0) torch.manual_seed(0) class LongTailDataset(Dataset):def __init__(self, num_classes25, max_sam…

数据结构---二叉树的性质总结

第i层上的节点数 证明: 二叉树的最大节点数 证明: 第一层对应2^0个节点, 累加得到 这是一个等比数列 求和公式: 那么这里的n指的是一共有多少个相加 根据从b到a一共有b-a1个可推出 有(k-1)-01个相加 那么结果为: 叶节点与度为2的节点关系 证明: 假设二叉树的总节点数为 NNN…

SolidWorks科研版更快地开发产品创意

在当今竞争激烈的市场环境中,产品创新的速度和质量直接决定了企业的生死存亡。对于科研人员和设计师来说,如何能够快速、准确地实现产品创意的转化,是摆在面前的一大挑战。SolidWorks科研版作为一款功能强大的三维设计软件,为科研…

正则表达式之三剑客grep

正则表达式匹配的是文本内容,linux的文本三剑客 都是针对文本内容 grep 过滤文本内容 sed 针对文本内容进行增删改查 awk 按行取列 文本三剑客都是按行进行匹配。 grep grep 的作用就是使用正则表达式来匹配文本内容 选项: -m …

Ubuntu-基础工具配置

基础工具配置 点击左下角 在弹出界面中点击 以下命令都是在上面这个界面执行(请大家注意空格) 命令输入完后,回车键就是执行,系统会提示输入密码(就是你登录的密码) 1.安装net工具 :(ifconfi…

无需安装就能一键部署Stable Diffusion 3?

一键部署使用SD3?让你的创作更加便捷! 前言 厚德云上架SD3! 距离Stable Diffusion 3的上线已经有一阵时间了。从上线至今SD3也是一直好评不断,各项性能的提升也让它荣获“最强开源新模型”的称号。成为了AI绘画设计师们新的香馍馍。 可对于SD…

Mac用虚拟机玩游戏很卡 Mac电脑玩游戏怎么流畅运行 苹果电脑怎么畅玩Windows游戏

对于许多Mac电脑用户而言,他们经常面临一个令人头疼的问题:在虚拟机中玩游戏时卡顿严重,影响了游戏体验。下面我们将介绍Mac用虚拟机玩游戏很卡,Mac电脑玩游戏怎么流畅运行的相关内容。 一、Mac用虚拟机玩游戏很卡 下面我们来看…

删除重复文件如何操作?电脑重复文件删除教程分享:详细!高效!

在数字化时代,我们的电脑中往往存储着大量的文件,这些文件随着时间的推移可能会产生许多重复项。重复文件不仅占用了宝贵的硬盘空间,还可能导致文件管理的混乱。因此,定期删除重复文件是维护电脑健康和提高工作效率的重要步骤。本…

请问为什么下面的HTML代码没有显示内容?

请问下面的HTML程序为什么没有显示内容&#xff1f; <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>HTML教程()</title> <script>function getTime() {var date new Date();var time date.toLocalString…