本站提供最佳胖鸟影视源码服务,欢迎转载和分享。

【八哥支付源码】【手机版源码编辑】【跳转新网站源码】pytorch loss源码

2024-11-30 02:51:33 来源:终端取证工具源码 分类:百科

1.PyTorch 源码分析(一):torch.nn.Module

pytorch loss源码

PyTorch 源码分析(一):torch.nn.Module

       nn.Module是PyTorch中最核心和基础的结构,它是操作符/损失函数的基类,同时也是组成各种网络结构的基类(实际上是由多个module组合而成的一个module)。

       在Python侧,八哥支付源码2.1回调函数注册,2.2 module类定义中,有以下几个重点函数:

       重点函数一:将模型的参数移动到CUDA上,内部会遍历其子module。

       重点函数二:将模型的参数移动到CPU上,内部会遍历其子module。

       重点函数三:将模型的手机版源码编辑参数转化为fp或者fp等,内部会遍历其子module。

       重点函数四:forward函数调用。

       重点函数五:返回该net的所有layer。

       在类图中,PyTorch的跳转新网站源码算子都是module的子类,包括自定义算子和整网定义。

       在C++侧,3.1 module.to("cuda")详细分析中,本质是将module的parameter&buffer等tensor移动到CUDA上,最终调用的直客免费源码是tensor.to(cuda)。

       3.2 module.load/save逻辑中,PyTorch模型保存分为两种,一种是纯参数,一种是带模型结构(PyTorch中的模型结构,本质上是asp源码蓝白色由module、sub-module构造的一个计算图)。

       parameter、buffer是通过key-value的形式来存储和检索的,key为module的.name,value为存储具体数据的tensor。

       InputArchive/OutputArchive的write和read逻辑。

       通过Module,PyTorch将op/loss/opt等串联起来,类似于一个计算图。基于PyTorch构建的ResNet等模型,是逐个算子进行计算的,tensor在CPU和GPU之间来回流动,而不是整个计算都在GPU上完成(即中间计算结果不出GPU)。实际上,在进行推理时,可以构建一个计算图,让整个计算图的计算都在GPU上完成,不知道是否可行(如果GPU上有一个CPU就可以完成这个操作,不知道tensorrt是否是这样的操作)。

【本文网址:http://0553.net.cn/html/05a625893736.html 欢迎转载】

copyright © 2016 powered by 皮皮网   sitemap