Pytorch框架学习笔记

官网- PyTorch

Tensor

构造随机初始化矩阵

x=torch.rand(5,3)

构造全0矩阵,数据类型为long

x=torch.zeros(5,3,dtype=torch.long)

获取维度信息

x.size()

tensor加法

torch.add(x,y)== x+y ==y.add_(x)

改变tensor的大小和形状

获取value

x.item(

自动微分

  1. tensor的属性.requires_grad设置为true的话,则会跟踪所有的操作,计算完成后可以调用.backward自动计算所有的梯度;
  2. grad_fn 是 PyTorch 中的一个属性,用于跟踪张量的计算历史,特别是在反向传播(backpropagation)过程中。每个张量都可以有一个 grad_fn 属性,指示了创建该张量的操作,以及如何计算该张量的梯度。

神经网络

  1. 可以通过torch.nn进行创建;
  2. 一个nn.module包括了层和一个forward(input)方法,同时会返回一个output输出;
  3. 一个典型的神经网络训练包含

1:定义一个包含可训练参数的神经网络;

2:迭代整个输入;

3:通过网络对输入数据进行处理

4:计算与真实结果的损失;

5:反向传播梯度到神经网络的参数;

6:更新网络的参数,常用的::weight = weight - learning_rate *gradient

  1. 池化操作通常在模型的前向传播(forward pass)中执行,而不是在模型的初始化(__init__)方法中执行的主要原因是,池化操作是一种对输入数据的特定处理,它需要输入数据的具体值来进行操作。池化操作是基于输入数据的内容来执行的,而不是基于模型参数的初始化;

损失函数

1)损失函数需要两个参数:模型输出目标,通过计算损失函数的值来评估输出距离目标有多远;

2)grad变量会累积梯度;

3)每次反向传播更新梯度我们都需要把原来的梯度清空;

4)SGD

5)criterion用于定义损失函数

图像分类器

1)optimizer.step()用于更新神经网络的模型参数,通常在模型的反向传播后被调用,用于执行参数的梯度下降步骤;

2)查看gpu个数torch.cuda.device_count()

3)数据并行自动拆分了你的数据并且将任务单发送到多个 GPU 上。当每一个模型都完成自己的任务

之后,DataParallel 收集并且合并这些结果,然后再返回给你

数据加载与处理

  1. torchvision.transforms.Compose可以组合一些处理操作;
  2. torch.utils.data.DataLoader是一个很好的迭代器;
  3. torchcision提供了大部分图像集和图像变换

4)如果这个 tensor x requires_grad=True ,那么反向传播之后 x.grad 将会是另一个张量,其为x关于某个标量值的梯

度。

迁移学习

  1. 越是底层的网络层他学习到的东西就越细节,越是细节,他的通用度就越高,因此我们可以重用这些细节的部分,进而产生了迁移学习,将底层学习到的参数固定住,只需要改变上几层的参数即可,因为上层的参数较为具体是不可能适配所有的任务的

2)要冻结除最后一层之外的所有网络。通过设置 requires_grad == Falsebackward() 来冻结参数,这样在反向传播backward()的时候他们的梯度就不会被计算

3)计算转发:在神经网络中向前传递输入数据以获得模型输出的过程;

seq2seq

保存和加载模型

1)torch.save :将序列化对象保存到磁盘。此函数使用Python的 pickle 模块进行序列化。使

用此函数可以保存如模型、tensor、字典等各种对象。

2)torch.load :使用pickle的 unpickling 功能将pickle对象文件反序列化到内存。此功能还可

以有助于设备加载数据

3)torch.nn.Module.load_state_dict :使用反序列化函数 state_dict 来加载模型的参数字典。

4)state_dict将每一层映射到其参数张量,只有可以学习参数的层(例如卷积,线性层)才有stste_dict这一项;

5)打印模型的额状态字典

# 打印模型的状态字典

print("Model's state_dict:")

for param_tensor in model.state_dict():

print(param_tensor, "\t", model.state_dict()[param_tensor].size())

导出为onnx模型

1)在 PyTorch 中通过跟踪工作导出模型。要导出模型,请调用 torch.onnx._export() 函数。这将执

行模型,记录运算符用于计算输出的轨迹。 因为 _export 运行模型,我们需要提供输入张量 x

这个张量的值并不重要; 它可以是图像或随机张量,只要它大小是正确的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/303545.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux常见操作,and一些练习题加线上练习网站,无须配置linux.持续更新中。。。。

文章目录 cd命令相对路径特殊的路径表达符和cd一起使用pwdmore 查看文件内容支持翻页小技巧clear用户,用户权限 and 用户的切换如何创建用户 ls和通配符的使用利用通配符 *grep 过滤管道符 |如何学习Linux在线练习网站 https://www.lanqiao.cn/courses/1 cd命令 cd…

【QML COOK】- 004-添加动画

1. 编辑main.qml import QtQuickWindow {width: 800height: 800visible: truetitle: qsTr("Hello World")Image {id: backgroudanchors.fill: parentsource: "qrc:/Resources/Images/arrow.png"Behavior on rotation {NumberAnimation {duration: 1000}}}…

IntelliJ IDEA远程查看修改Ubuntu上AOSP源码

IntelliJ IDEA远程查看修改Ubuntu上的源码 本人操作环境windows10,软件版本IntelliJ IDEA 2023.2.3,虚拟机Ubuntu 22.04.3 LTS 1、Ubuntu系统安装openssh 查看是否安装: ssh -V 如果未安装: sudo apt install openssh-server # 开机自启…

建模软件Rhinoceros mac介绍说明

Rhinoceros mac是一款3D设计软件“犀牛”,在当今众多三维建模软件中,Rhinoceros 版因为其体积小、功能强大、对硬件要求低而广受欢迎,对于专业的3D设计人员来说它是一款不错的3D建模软件,Rhinoceros Mac中文版能轻易整合3DS MAX与…

环信IM Demo登录方式如何修改为自己项目的?

在环信即时通讯云IM 官网下载Demo,本地运行只有手机验证码的方式登录?怎么更改为自己项目的Appkey和用户去进行登录呢? 👇👇👇本文以Web端为例,教大家如何更改代码来实现 1、 VUE2 Demo vue2…

【小白专用】C#关于角色权限系统

(C#)用户、角色、权限 https://www.cnblogs.com/huangwen/articles/638050.html 权限管理系统——数据库的设计(一) https://www.cnblogs.com/cmsdn/p/3371576.html 权限管理系统——菜单模块的实现(二) …

Flutter 监听前台和后台切换的状态

一 前后台的切换状态监听 混入 WidgetsBindingObserver 这个类,这里提供提供了程序状态的一些监听 二 添加监听和销毁监听 overridevoid initState() {super.initState();//2.页面初始化的时候,添加一个状态的监听者WidgetsBinding.instance.addObserver…

Selenium 学习(0.17)——软件测试之流程图绘制方法

病假5天,出去野20天,成功错过了慕课网上的期末考试。 害,都怪玩乐太开心了…… 反正咱又不指着全靠这个行当来吃饭,错过也就错过了,立的Flag能抢救一下还是要抢救一下吧。【这个其实早都会画了,而且基本也正…

Python实现PowerPoint(PPT/PPTX)到PDF的批量转换

演示文稿是一种常见传达信息、展示观点和分享内容的形式,特别是PowerPoint演示文稿,广泛应用于各行各业,几乎是演讲等场合的必备工具。然而,演示文稿也有其限制,对设备的要求较高,且使用不同的软件或设备演…

分布式之任务调度Elastic-Job学习二

4 Spring 集成与分片详解 ejob-springboot 工程 4.1 pom 依赖 <properties><elastic-job.version>2.1.5</elastic-job.version> </properties> <dependency><groupId>com.dangdang</groupId><artifactId>elastic-job-lite-…

每日一练:LeeCode-101. 对称二叉树【二叉树】

本文是力扣LeeCode-101. 对称二叉树 学习与理解过程&#xff0c;本文仅做学习之用&#xff0c;对本题感兴趣的小伙伴可以出门左拐LeeCode。 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 提示&#xff1a; 树中节点数目在范围 [1, 1000] 内 -100 < Node.v…

通过盲对抗性扰动实时击败基于DNN的流量分析系统

文章信息 论文题目&#xff1a;Defeating DNN-Based Traffic Analysis Systems in Real-Time With Blind Adversarial Perturbations 期刊&#xff08;会议&#xff09;&#xff1a;30th USENIX Security Symposium 时间&#xff1a;2021 级别&#xff1a;CCF A 文章链接&…

理论U3 决策树

文章目录 一、决策树算法1、基本思想2、构成1&#xff09;节点3&#xff09;有向边/分支 3、分类步骤1&#xff09;第1步-决策树生成/学习、训练2&#xff09;第2步-分类/测试 4、算法关键 二、信息论基础1、概念2、信息量3、信息熵&#xff1a; 二、ID3 (Iterative Dichotomis…

Python+requests搭建接口自动化测试框架

一、接口自动化的意义&#xff08;为什么做这个框架&#xff09; 新版本上线时之前版本的功能需要进行回归测试&#xff0c;导致大量的重复性手工测试。引入自动化测试可以使用自动化技术代替部分手工的回归性测试&#xff0c;解放更多人力做其它更有必要的事情。但目前项目UI变…

抖去推账号矩阵+无人直播+文案引流系统开发搭建--开源

核心技术 1. AI自动直播&#xff1a; 智能系统通过丰富可定制的文案库&#xff0c; 拥有有料有趣的灵魂。不仅能自动语音讲解内容&#xff0c;还可以在直播中和用户灵活互动。直播中可将团购商品同话术自动上下架。 2. AI剪辑 可一键智能批量成片&#xff0c;也可跟着模板剪…

书生·浦语大模型全链路开源体系 学习笔记 第二课

基础作业&#xff1a; 使用 InternLM-Chat-7B 模型生成 300 字的小故事&#xff08;需截图&#xff09;。熟悉 hugging face 下载功能&#xff0c;使用 huggingface_hub python 包&#xff0c;下载 InternLM-20B 的 config.json 文件到本地&#xff08;需截图下载过程&#xf…

基于STM32和MPU6050的自平衡小车设计与实现

基于STM32和MPU6050的自平衡小车设计和实现是一个有趣而具有挑战性的项目。在本文中&#xff0c;我们将介绍如何利用STM32微控制器和MPU6050传感器实现自平衡小车&#xff0c;并提供相应的代码示例。 1. 硬件设计 自平衡小车的核心硬件包括STM32微控制器、MPU6050传感器以及电…

基于springboot+html的汽车销售管理系统设计与实现

基于springboothtml的汽车销售管理系统 &#x1f345; 作者主页 央顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; 前言 随着汽车市场的快速发展&#xff0c;汽车销售企业面临着越来越大的管理…

计算机基础面试题 |18.精选计算机基础面试题

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

【代码复现系列】paper:CycleGAN and pix2pix in PyTorch

或许有冗余步骤、之后再优化。 1.桌面右键-git bash-输入命令如下【git clone https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix】 2.打开anaconda的prompt&#xff0c;cd到pytorch-CycleGAN-and-pix2pix路径 3.在prompt里输入【conda env create -f environment.y…