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

pytorch的优化

在pytorch中,tensor是基于numpy与array的。内存共享。

在pythorch中,自定义层是继承nn.Module。将层与模型看成是模块,层与模型堪称模块,两者之间没有明确界限,定义方式与定义模型一样_init_与forward。

1、先定义全连接层,训练参数的定义是nn.Parameter,直接使用torch。tensor无法在#5中遍历到;

2、输入计算loss,反向传播计算参数梯度;

3、输出完成反向传播后层参数梯度。

# 导入pytorch库
import torch
# 从torch库中导入nn模块,是PyTorch中用于构建神经网络的模块,它包含了一系列用于构建神经网络层的类和函数。
from torch import nnclass CLD(nn.Module): # 定义了CLD的类,继承nn.Module.。CLD类代表简单的自定义层,实现全连接层。def __init__(self,in_n,out_n):super().__init__() # 初始化权重参数self.w = nn.Parameter(torch.normal(0, 0.01, size=[in_n, out_n]), requires_grad=True)# 权重参数w是一个[in_n, out_n]的二维张量,是一个付出(0,0.01的正太分布)self.b = nn.Parameter(torch.normal(0, 0.01, size=[out_n]), requires_grad=True)def forward(self, in_n, out_n):super().__init__()x = torch.matual(inputs, self.w)x= x + breturn xlayer = CLD(2, 3)y = layer(torch.ones(100, 2))loss = torch.sum(y)loss.backward()for i in layer.parameters():print(i.grad)


http://www.mrgr.cn/news/8487.html

相关文章:

  • 网络udp及ipc内存共享
  • 移远5G平台交叉编译C++、OpenSSL
  • 【一起学Rust | 框架篇 | Tauri2.0框架】tauri中rust和前端的相互调用(rust调用前端)
  • 分页查询面试记录和面试详情
  • CRYPTO 2020
  • 【Hot100】LeetCode—108. 将有序数组转换为二叉搜索树
  • 命令模式基础教程:如何将请求封装成对象
  • Spring Boot(快速上手)
  • uniapp 向左滑动进入下一题,向右滑动进入上一题功能实现
  • Python实现分水岭图像分割算法
  • DHCP DNS 欺骗武器化——实用指南
  • Oracle(84)什么是SQL调优顾问(SQL Tuning Advisor)?
  • 自学网络安全的三个必经阶段(含路线图)
  • 使用PhaGCN2/vConTACT2进行病毒分类注释
  • 关于Linux中引用auto_gptq提示“CUDA extension not installed”
  • golang基本数据类型
  • 独角数卡,打开商品列表出现Undefined variable form的解决办法
  • FastAPI+Vue3零基础开发ERP系统项目实战课 20240824上课笔记 循环和函数以及大量的练习
  • python实用教程(二):安装配置Pycharm及使用(Win10)
  • Jmeter性能关注指标详解