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

小白的进阶之路系列之十一----人工智能从初步到精通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
http://www.lryc.cn/news/2398832.html

相关文章:

  • OpenCV CUDA模块霍夫变换------在 GPU 上执行概率霍夫变换检测图像中的线段端点类cv::cuda::HoughSegmentDetector
  • 详解一下RabbitMQ中的channel.Publish
  • 硬件学习笔记--62 MCU的ECC功能简介
  • Uiverse.io:免费UI组件库
  • 普中STM32F103ZET6开发攻略(四)
  • ck-editor5的研究 (5):优化-页面离开时提醒保存,顺便了解一下 Editor的生命周期 和 6大编辑器类型
  • [3D GISMesh]三角网格模型中的孔洞修补算法
  • 11.2 java语言执行浅析3美团面试追魂七连问
  • MySQL 全量、增量备份与恢复
  • 【25.06】FISCOBCOS使用caliper自定义测试 通过webase 单机四节点 helloworld等进行测试
  • MonoPCC:用于内窥镜图像单目深度估计的光度不变循环约束|文献速递-深度学习医疗AI最新文献
  • 如何计算H5页面加载时的白屏时间
  • SpringAI系列 - MCP篇(三) - MCP Client Boot Starter
  • 【深度学习新浪潮】以Dify为例的大模型平台的对比分析
  • Asp.net core 使用EntityFrame Work
  • isp中的 ISO代表什么意思
  • AI Coding 资讯 2025-06-03
  • 2024年12月 C/C++(三级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • 3d GIS数据来源与编辑工具
  • NeRF PyTorch 源码解读 - 体渲染
  • SpringBoot 数据库批量导入导出 Xlsx文件的导入与导出 全量导出 数据库导出表格 数据处理 外部数据
  • 解决:install via Git URL失败的问题
  • OpenCV CUDA模块特征检测------创建Harris角点检测器的GPU实现接口cv::cuda::createHarrisCorner
  • 【氮化镓】钝化层对p-GaN HEMT阈值电压的影响
  • C++:优先级队列
  • 睡眠分期 html
  • Java求职者面试:Spring、Spring Boot、Spring MVC与MyBatis技术深度解析
  • Github 2025-05-29 Go开源项目日报Top9
  • 前端项目种对某个文件夹进行大小写更改,git识别不到差异导致无变化
  • AWS VPC 网络详解:理解云上专属内网的关键要素