Pytorch笔记1

建议点赞收藏关注!持续更新至pytorch大部分内容更完。

整体框架如下

目录

  • gpu加速
  • 数据
    • 数据结构
      • 张量Tensor
      • Variable
    • 预处理
      • 数据增强
  • 模型
    • 构建模块
    • 组织复杂网络
    • 初始化网络参数
    • 定义网络层
  • 损失函数
    • 创建损失函数
    • 设置损失函数超参数
    • 选择损失函数
  • 优化器
    • 管理模型参数
    • 管理多个参数组实现不同学习率
    • 调整学习率
  • 迭代训练
    • 观察训练效果
    • 绘制loss/accuracy曲线
    • 用TensorBoard分析
  • 模型应用
    • 图像分类
    • 图像分割
    • 目标检测
    • 对抗生成
    • 循环网络

gpu加速

打开jupyter lab,打开一个file,右上角选择kernel为torchgpuprivate
要在 Mac M1的GPU 上运行 PyTorch 代码,使用命令 torch.device(“mps”)来指定。
在这里插入图片描述
在这里插入图片描述
之后就只需要引用gpu_a,gpu_b,其他与cpu_a…的操作没有区别。

数据

数据结构

张量Tensor

  1. ==数组概念,1…n维
  2. 有8个属性
    data
    dtype:有很多数据类型
    shape : 如 (6,6,6,6)
    device:所在设备cpu/gpu
    grad:data的梯度
    grad_fn:创建tensor 的function,是自动求导的关键,加法还是乘法
    requires_grad:指示是否需要梯度,不一定所有的张量都需要设置梯度
    is_leaf:指示是否是叶子节点(张量),计算图中再介绍。
  3. api
device=torch.device("mps")
torch.tensor(data, #list or numpydtype=None, # 默认==data的类型device=None,requires_grad=False,pin_memory=False # 是否存于锁页内存 一般默认)#创建
arr=np.ones((3,3))
t=torch.tensor(arr,device=device) 
# t.dtype == arr.dtype==float64torch.from_numpy(ndarray) #从numpy创建tensor
#从torch.from_numpy创建的tensor与原来的ndarray共享内存,一改跟着改torch.zeros(*size,#形状 如(3,3)out=None,#输出的张量 相当于赋值dtype=None,#内存中的布局形式layout=torch.strided,#通常默认,除非稀疏矩阵 用sparse_coodevice=None,requires_grad=False)
torch.zeros_like(input,#根据Input的形状创建dtype=None,layout=None,device=None,requires_grad=False)zeros 换成 onestorch.full(size,#(3,3)fill_value,#张量的值 如10out=None,dtype=None,layout=torch.strided,device=None,requires_grad=False)torch.arange(start=0, #创建等差1维张量end, #左闭右开step=1,#公差 默认1out=None,dtype=None,layout=torch.strided,device=None,requires_grad=False)torch.linspace(start=0, #创建均分1维张量end, #左闭右闭steps=1,#数列长度#步长=(end-start)/step -1out=None,dtype=None,layout=torch.strided,device=None,requires_grad=False)torch.logspace(base=...底默认10,...) #对数均分torch.eye(n,#行数  #默认方阵m,#列数...) #创建单位对角矩阵,2维张量,torch.normal(mean,std,out=None)
#正态分布,mean均值,std方差
#mean std都可以分别是标量 or张量#都是张量的情况的normal如何计算?
mean=[1,2,3,4]
std=[1,2,3,4]
t_normal=torch.normal(mean,std) #得到[1.66,2.53,3.18,6.48]
#1.66是通过mean=1,std=1的正态分布采样得到torch.randn(*size, #标准正态分布  out=None,dtype=None,layout=torch.strided,device=None,requires_grad=False)
torch.randn_like()torch.randint(low=0, #均匀分布 前闭后开high,size, out=None,dtype=None,layout=torch.strided,device=None,requires_grad=False) torch.randint_like()torch.randperm(n,#张量长度out=None,dtype=None,layout=torch.strided,device=None,requires_grad=False) 
#生成0-n-1随机排列torch.bernoulli(input,*,generator=None,out=None)#以input为概率,生成伯努利分布,即0-1分布,两点分布

Variable

已经合并到tensor 但是对于理解张量有帮助。variable是torch.autograd中的数据类型,用于封装tensor进行自动求导,有五个属性
data:被包装的tensor
grad:data的梯度
grad_fn:创建tensor 的function,是自动求导的关键,加法还是乘法
requires_grad:指示是否需要梯度,不一定所有的张量都需要设置梯度
is_leaf:指示是否是叶子节点(张量),计算图中再介绍。

预处理

数据增强

模型

构建模块

组织复杂网络

初始化网络参数

定义网络层

损失函数

创建损失函数

设置损失函数超参数

选择损失函数

优化器

管理模型参数

管理多个参数组实现不同学习率

调整学习率

迭代训练

观察训练效果

绘制loss/accuracy曲线

用TensorBoard分析

模型应用

图像分类

图像分割

目标检测

对抗生成

循环网络

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Golang | Leetcode Golang题解之第273题整数转换英文表示

题目: 题解: var (singles []string{"", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"}teens []string{&…

Github 2024-07-26 Java开源项目日报 Top10

根据Github Trendings的统计,今日(2024-07-26统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Java项目9HTML项目1TypeScript项目1非开发语言项目1JavaGuide - Java 程序员学习和面试指南 创建周期:2118 天开发语言:Java协议类型:Apache…

反序列化-极客大挑战2019php【I have a cat!】

知道这个题考的是反序列化,那么我们第一反应该拿到他的源码。 根据这句话判断【因为每次猫猫都在我键盘上乱跳,所以我有一个良好的备份网站的习惯 不愧是我!!! 】说明有目录 我们直接使用dir开扫,发现有压…

【HTML — 构建网络】HTML 入门

在本文中,我们将介绍 HTML 的绝对基础知识。为了帮助您入门,本文定义了元素、属性以及您可能听说过的所有其他重要术语。它还解释了这些在 HTML 中的位置。您将学习 HTML 元素的结构、典型的 HTML 页面的结构以及其他重要的基本语言功能。在此过程中,也将有机会玩转 HTML! …

反射型与dom型的xss的区别【源码分析】

反射型 XSS 和 DOM 型 XSS 都属于跨站脚本攻击 (XSS) 的类型,它们的共同点是均能通过注入恶意脚本在用户浏览器中执行,不同点是dom型xss不经过服务器,而反射型是经过服务器的。但是,它们在攻击方式、执行过程和防御措施上有所不同…

【人工智能】AI绘画:科技与艺术交汇的新时代

文章目录 🍊AI绘画:开启艺术创作新纪元AI绘画技术发展:算法与艺术的完美交融AI绘画的工作原理与创意生成AI绘画的应用 AI绘画工具介绍 🍊AI绘画:开启艺术创作新纪元 人工智能正以前所未有的力量重塑我们的世界,而AI绘画作为这股科…

论文总结:A Survey on Evaluation of Large Language Models-鲁棒性相关内容

A Survey on Evaluation of Large Language Models 只取了鲁棒性相关的内容 LLMs:《A Survey on Evaluation of Large Language Models大型语言模型评估综述》理解智能本质(具备推理能力)、AI评估的重要性(识别当前算法的局限性设 3.2.1 Robustness鲁棒性&#xf…

Flink 技术与应用(一)

Flink技术与应用(初级篇) 起源 Apache Flink 是一个开源的大数据处理框架,其起源可以追溯到一个名为 Stratosphere 的研究项目,旨在建立下一代大数据分析引擎,2010 年,从 Stratosphere 项目中分化出了 Fl…

【OpenCV C++20 学习笔记】图片处理基础

OpenCV C20 图片处理基础 VS 2022 C20 标准库导入的问题头文件包含以及命名空间声明main函数读取图片读取检查显式图片写入图片 完整代码bug VS 2022 C20 标准库导入的问题 VS还没有完全兼容C20。C20的import语句不一定能正确导入标准库,所以必须要新建一个头文件专…

WebGIS的地图渲染|SVG|Canvas|Canvas

说到地图,平时我们使用过百度地图、高德地图、腾讯地图等,如果涉及地图开发需求,也有很多选择,如前面提到的几个地图都会提供一套JS API,此外也有一些开源地图框架可以使用,如OpenLayers、Leaflet、Mapbox、…

Vue3 study

Vue3 工程 创建 还是能像 vue2 一样通过 vue-cli 创建,即 vue create projectName 但是官方更推荐 vite 创建,即 npm create vuelatest,然后从项目名开始配置 总结:入口在 index.html,它会引入 main.ts,…

开源XDR-SIEM一体化平台 Wazuh (1)基础架构

简介 Wazuh平台提供了XDR和SIEM功能,保护云、容器和服务器工作负载。这些功能包括日志数据分析、入侵和恶意软件检测、文件完整性监控、配置评估、漏洞检测以及对法规遵从性的支持。详细信息可以参考Wazuh - Open Source XDR. Open Source SIEM.官方网站 Wazuh解决…

基于x86+FPGA+AI无风扇准系统,AFC自动售检票系统控制器

冰翅无风扇准系统,AFC自动售检票系统建设的理想选择 在交通强国、智慧交通建设的大背景下,人工智能、大数据、计算机及网络技术等正加快融合应用到交通领域,助力提升出行服务的智能化、自动化水平。(AFC)自动售检票系…

基于 HTML+ECharts 实现的大数据可视化平台模板(含源码)

构建大数据可视化平台模板:基于 HTML 和 ECharts 的实现 大数据的可视化对于企业决策、市场分析和业务洞察至关重要。通过直观的数据展示,团队可以快速理解复杂的数据模式,发现潜在的业务机会。本文将详细介绍如何利用 HTML 和 ECharts 实现一…

qt--做一个拷贝文件器

一、项目要求 使用线程完善文件拷贝器的操作 主窗口不能假死主窗口进度条必须能动改写文件大小的单位(自适应) 1TB1024GB 1GB1024MB 1MB1024KB 1KB1024字节 二、所需技术 1.QFileDialog 文件对话框 QFileDialog也继承了QDialog类,直接使用静态…

UE4如何直接调试Game

某些功能在编辑器里不好调试,例如Pak,就需要直接调试 Game,做法是选择 Game,不要选择Client,加断点,然后点击 Debug 就好了。 断点调试成功: 同时看到界面:

【无人机】低空经济中5G RedCap芯片的技术分析报告

1. 引言 图一. 新基建:低空经济 低空经济作为一种新兴的经济形态,涵盖了无人机、电动垂直起降飞行器(eVTOL)、低空物流、空中交通管理等多个领域。随着5G网络的普及和演进,5G RedCap(Reduced Capability&a…

pip install albumentations安装下载超级细水管

albumentations 是一个用于图像增强的 Python 库,它提供了丰富的图像变换功能,可以用于数据增强,从而提高深度学习模型的泛化能力。 直接安装命令: pip install albumentations但是如果半夜遇到这种19kB/s的下载速度 为头发着想&…

LeetCode24 两两交换链表中的节点

前言 题目: 24. 两两交换链表中的节点 文档: 代码随想录——两两交换链表中的节点 编程语言: C 解题状态: 没画图,被绕进去了… 思路 思路还是挺清晰的,就是简单的模拟,但是一定要搞清楚交换的…

STM32的外部中断详解

一、什么是中断? 想象一下你正在家里做饭,突然门铃响了,你听到门铃声后,会暂时放下手中的事情(比如炒菜),去开门看看是谁。在这个例子中,门铃声就是一个“中断”,它打断…