首页 > 其他分享 >【动手学深度学习_李沐】笔记:(四)深度学习计算

【动手学深度学习_李沐】笔记:(四)深度学习计算

时间:2024-01-14 19:34:12浏览次数:30  
标签:初始化 框架 Python 延后 学习 深度 李沐

【四、深度学习计算】笔记

1. 层和块

  • 速度极快的 GPU 可能要等到 CPU 运⾏ Python 代码后才能运⾏另⼀个作业,提⾼ Python 速度的最好⽅法是完全避免使⽤ Python。Gluon 允许混合式编程(hybridization),Python 解释器在第⼀次调⽤块时执⾏它,Gluon 运⾏时记录正在发⽣的事情,以及下⼀次它将对 Python 调⽤加速,从而加快速度,但需要注意控制流在不同的⽹络通路上引导不同分⽀的情况
  • 层也是块,⼀个块可由多层或多块组成。块可以包含代码,负责⼤量内部处理,包括参数初始化和反向传播。层和块的顺序连接由** Sequential 块**处理

2. 延后初始化

  • 延后初始化(defers initialization):深度学习框架⽆法判断⽹络的输⼊维度大小,第⼀次将数据通过模型传递时,才会动态地推断出每个层的大小
  • 延后初始化可以很⽅便地通过框架⾃动推断参数形状。识别出第⼀层的形状后,框架处理第⼆层,依此类推,直到所有形状都已知为⽌,此时只有第⼀层需要延迟初始化,但是框架仍是按顺序初始化的,一旦知道所有的参数形状,框架就可以初始化参数

标签:初始化,框架,Python,延后,学习,深度,李沐
From: https://www.cnblogs.com/haifengyuhui/p/17964056

相关文章

  • 【动手学深度学习_李沐】笔记:(三)多层感知机
    【三、多层感知机】笔记1.多层感知机:合并隐藏层:通过合并⼀个或多个隐藏层来克服线性模型的限制多层感知机(multilayerperceptron):MLP,在输出层和输⼊层之间增加⼀个或多个全连接的隐藏层,并通过激活函数转换隐藏层的输出。最简单是将许多全连接层堆叠,每⼀层都输出到上⾯的层,......
  • C#/.NET学习值得推荐的在线论坛和技术社区
    前言本文来源于知乎的一个提问,C#/.NET程序员学习有哪些值得推荐的在线论坛和技术社区?其实很早之前DotNetGuide就已经新增了C#/.NET/.NETCore充电站栏目,当然大家有更好的.NET相关学习站点和资源欢迎PR投稿......
  • 学习进度笔记
    在本次安卓开发中,我已经完成了以下任务:创建项目:我使用AndroidStudio创建了一个新的安卓项目,并选择了最新的API级别。设计用户界面:我使用XML文件定义了应用程序的用户界面。我添加了几个布局和视图组件,如TextView、Button和ImageView,并使用约束布局对它们进行了适当的排列。......
  • 1/14 学习进度笔记
    PythonOnSpark的执行流程分布式代码执行的重要特征?代码在集群上运行,是被分布式运行的。在Spark中,非任务处理部分由Driver执行(非RDD代码)任务处理部分是由Executor执行(RDD代码)Executor的数量可以很多,所以任务的计算是分布式在运行的。Pyspark的架构体系?PythonOnSpark......
  • Blazor学习之旅:文章目录索引
    1Blazor学习路径微软学习社区(MicrosoftLearn)早在两三年前就推出了一门学习路径《使用Blazor构建Web应用程序》,我们可以学到如何通过BlazorWeb应用框架构建我们的第一个Web应用程序。我也是从2023年开始系统学习这个学习路径并形成了一个14篇推文组成的小系列文章。下面,我将......
  • PyTorch项目源码学习(3)——Module类初步学习
    torch.nn.ModuleModule类是用户使用torch来自定义网络模型的基础,Module的设计要求包括低耦合性,高模块化等等。一般来说,计算图上所有的子图都可以是Module的子类,包括卷积,激活函数,损失函数节点以及相邻节点组成的集合等等,注意这里的关键词是“节点”,Module族类在计算图中主要起到搭......
  • Blazor学习之旅:文章目录索引
    1Blazor学习路径微软学习社区(MicrosoftLearn)早在两三年前就推出了一门学习路径《使用Blazor构建Web应用程序》,我们可以学到如何通过BlazorWeb应用框架构建我们的第一个Web应用程序。我也是从2023年开始系统学习这个学习路径并形成了一个14篇推文组成的小系列文章。下面,我将......
  • Markdown学习
    Markdown学习标题三级标题四级标题字体Hello,World!引用选择狂神说java,走向人生巅峰分割线图片超链接[点击跳转](博客后台-博客园(cnblogs.com))列表ABCABC表格名字性别生日张三男1997.1.1代码public......
  • C++中for_each用法学习
    转自:chatgpt1.介绍std::for_each是C++标准库中的一个算法,用于对指定范围内的元素执行指定的操作。它的一般形式如下:template<classInputIt,classUnaryFunction>UnaryFunctionfor_each(InputItfirst,InputItlast,UnaryFunctionf);first和last是表示范围的......
  • 【软件开发学习笔记】Git版本控制
    【软件开发学习笔记】Git版本控制Git概念存储方式Git是分布式存储,每一个clone下来的仓库都可以看成独立的个体,只是Git有提供同步功能,因此Git支持离线使用,因为本质上本地和云端是两个仓库。仓库构成提交(commit)提交是存储文件的最基本元素,记录了每次对文件的修改信息,同时也是......