当前位置: 首页 > news >正文

小白的进阶之路系列之十一----人工智能从初步到精通pytorch综合运用的讲解第四部分

本文将介绍如何用PyTorch构建模型

torch.nn.Module和torch.nn.Parameter

除了Parameter之外,本视频中讨论的所有类都是torch.nn.Module的子类。这是PyTorch基类,用于封装PyTorch模型及其组件的特定行为。

torch.nn.Module的一个重要行为是注册参数。如果特定的Module子类具有学习权值,则这些权值表示为torch.nn.Parameter的实例。Parameter类是torch的子类。张量,具有特殊的行为,当它们被分配为模块的属性时,它们被添加到该模块的参数列表中。这些参数可以通过Module类的parameters()方法访问。

作为一个简单的例子,这里有一个非常简单的模型,有两个线性层和一个激活函数。我们将创建它的一个实例,并要求它报告其参数:

import torchclass TinyModel(torch.nn.Module):def __init__(self):super(TinyModel, self).__init__()self.linear1 = torch.nn.Linear(100, 200)self.activation = torch.nn.ReLU()self.linear2 = torch.nn.Linear(200, 10)self.softmax = torch.nn.Softmax()def forward(self, x):x = self.linear1(x)x = self.activation(x)x = self.linear2(x)x = self.softmax(x)return xtinymodel = TinyModel()print('The model:')
print(tinymodel)print('\n\nJust one layer:')
print(tinymodel.linear2)print('\n\nModel params:')
for param in tinymodel.parameters():print(param)print('\n\nLayer params:')
for param in tinymodel.linear2.parameters():print(param)

输出为:

The model:
TinyModel((linear1): Linear(in_features=100, out_features=200, bias=True)(activation): ReLU()(linear2): Linear(in_features=200, out_features=10, bias=True)(softmax): Softmax(dim=None)
)Just one layer:
Linear(in_features=200, out_features=10, bias=True)Model params:
Parameter containing:
tensor([[-0.0451,  0.0361,  0.0902,  ..., -0.0564, -0.0323,  0.0335],[ 0.0668,  0.0843,  0.0506,  ...,  0.0162,  0.0668, -0.0089],[-0.0505, -0.0148,  0.0485,  ...,  0.0714, -0.0399,  0.0798],...,[-0.0639,  0.0345, -0.0766,  ...,  0.0711, -0.0354, -0.0719],[ 0.0827, -0.0614,  0.0078,  ...,  0.0531, -0.0672,  0.0158],[-0.0577, -0.0733, -0.0662,  ..., -0.0263, -0.0143, -0.0904]],requires_grad=True)
Parameter containing:
tensor([-1.8241e-02, -8.1554e-02,  3.1390e-02, -9.7299e-02, -3.9416e-02,-3.4526e-02,  6.9457e-02,  9.3126e-02,  8.3945e-02,  2.5128e-02,-1.9594e-02,  1.4253e-02,  7.5062e-02, -2.5254e-02,  2.5275e-02,3.6509e-02, -5.4355e-02,  5.2070e-02, -1.1055e-02,  6.3872e-02,-4.2867e-02, -6.9062e-02, -9.6398e-02,  6.0366e-02,  8.6856e-02,-4.3543e-02,  7.1326e-02,  3.6623e-03,  5.4014e-02, -1.3758e-02,4.6091e-02,  4.6796e-03, -2.9959e-02, -5.0925e-02,  1.9598e-02,5.6875e-03, -2.5505e-02,  9.8728e-02,  4.3602e-02,  3

相关文章:

  • JS对数据类型的检测
  • 前端开发处理‘流式数据’与‘非流式数据’,在接收完整与非完整性数据时应该如何渲染和使用
  • 从零开始构建文本统计模型:字符级与多字符片段频率分析实践
  • java30
  • HCIP(BGP综合实验)
  • linux批量创建文件
  • RHEL7安装教程
  • 【QT】自定义QWidget标题栏,可拖拽(拖拽时窗体变为normal大小),可最小/大化、关闭(图文详情)
  • Spring AI之RAG入门
  • SpringBoot3.2新特性:JdbcClient
  • 模块化交互数字人系统:OpenAvatarChat,单台PC即可运行完整功能
  • 【Redis】大key对持久化的影响
  • 定时器时钟来源可以从输入捕获引脚输入
  • Unity ARPG战斗系统 _ RootMotion相关知识点
  • GPTBots在AI大语言模型应用中敏感数据匿名化探索和实践
  • 基于InternLM的情感调节大师FunGPT
  • agent mode 代理模式,整体要求,系统要求, 系统指令
  • 2025年微信小程序开发:AR/VR与电商的最新案例
  • [Python] struct.unpack() 用法详解
  • 深入理解前端DOM:现代Web开发的基石
  • 门户类网站的主页设计/外贸网站如何推广优化
  • 公司让我做网站/长沙市网站制作
  • 网站开发的英文/全网营销渠道
  • dw做网站视频教程/各行业关键词
  • 视频拍摄剪辑培训/关键词优化哪家好
  • 贵州凤冈新闻今天/seo网站推广的主要目的是什么