向量矩阵范数pytorch

向量矩阵范数pytorch

    • 矩阵按照某个维度求和(dim就是shape数组的下标)
    • 1. torch
      • 1.1 Tensors一些常用函数
    • 一些安装问题
    • cd进不去不去目录
    • PyTorch里面_表示重写内容
  • 在默认情况下,PyTorch会累积梯度,我们需要清除之前的值

范数是向量或矩阵的长度
矩阵的长度 模
二范数是什么
二范数(L2 norm)是一种常见的数学概念,它表示一个向量的模长。在数学中,一个向量的二范数定义为其元素平方和的平方根,即:

矩阵按照某个维度求和(dim就是shape数组的下标)

求和不降维,就keepdims=True
降维求和
axis的值对应着shape的下标
在这里插入图片描述

1. torch

1.1 Tensors一些常用函数

1.1.2 Indexing, Slicing, Joining, Mutating Ops

  1. concat():和cat()功能相同
  2. cat(tensors, dim=0, *, out=None)串接tensors(一串Tensor,非空Tensor在非dim维度必须形状相同),返回结果
  3. reshape(input, shape)
  4. squeeze(input, dim=None, *, out=None)
    去掉input(Tensor)中长度为1的维度,返回这个Tensor。如果有dim就只对指定维度进行squeeze操作。
    返回值与input共享储存空间。

squeeze()函数的功能是维度压缩。返回一个tensor(张量),其中 input 中大小为1的所有维都已删除。

举个例子:如果 input 的形状为 (A×1×B×C×1×D),那么返回的tensor的形状则为 (A×B×C×D)

当给定 dim 时,那么只在给定的维度(dimension)上进行压缩操作。
举个例子:如果 input 的形状为 (A×1×B),squeeze(input, 0)后,返回的tensor不变;squeeze(input, 1)后,返回的tensor将被压缩为 (A×B)

原文链接:https://blog.csdn.net/qq_40305043/article/details/107767652

import torchx = torch.zeros(2, 1, 2, 1, 2)
print(x.size()) #torch.Size([2, 1, 2, 1, 2])
y = torch.squeeze(x)
print(y.size())  # torch.Size([2, 2, 2])
y = torch.squeeze(x, 0)
print(y.size())# torch.Size([2, 1, 2, 1, 2])
y = torch.squeeze(x, 1)  # torch.Size([2, 2, 1, 2])
print(y.size())
y = torch.squeeze(x, 3)  # torch.Size([2, 1, 2, 2])
print(y.size())
y = torch.squeeze(x, [1, 3])  # torch.Size([2, 2, 2])
print(y.size())
  1. unsqueeze(input, dim)
    在input指定维度插入一个长度为1的维度,返回Tensor
import torchx = torch.tensor([1, 2, 3, 4])  #
y = torch.unsqueeze(x, 0)  # 在第0维扩展,第0维为1
z = torch.unsqueeze(x, 1)  # 在第1维扩展,第1维为1
print(x, x.shape)
print(y, y.shape)
print(z, z.shape)
tensor([1, 2, 3, 4]) torch.Size([4])
tensor([[1, 2, 3, 4]]) torch.Size([1, 4])
tensor([[1],[2],[3],[4]]) torch.Size([4, 1])
  1. t(input)
    零维和一维input不变,二维input转置(等如transpose(input, 0, 1)),返回结果
    在这里插入图片描述
  2. transpose(input, dim0, dim1)
    返回input转置的Tensor,dim0和dim1交换。
    返回值与input共享储存空间。
>>> x = torch.randn(2, 3)
>>> x
tensor([[ 1.0028, -0.9893,  0.5809],[-0.1669,  0.7299,  0.4942]])
>>> torch.transpose(x, 0, 1)
tensor([[ 1.0028, -0.1669],[-0.9893,  0.7299],[ 0.5809,  0.4942]])

一些安装问题

pip install d2l==0.17.5
安装不了

cd进不去不去目录

安装d2l的时候,先下载cd到下载到的目录进行安装,发现经不去目录
cd /d 命令与普通的 cd 命令不同,它允许你不仅改变目录,还可以改变驱动器

cd /d D:\python\Anacond_Folder\envs\d2l
pip install d2l-0.15.1-py3-none-any.whl

%matplotlib inline 是 Jupyter Notebook 或 JupyterLab 中的一个魔术命令,用于在 Notebook 中显示 matplotlib 图形的输出。

import random 导入了 Python 的 random 模块,用于生成随机数。

import torch 导入了 PyTorch 库,用于深度学习任务。

from d2l import torch as d2l 导入了 d2l 模块,并将其重命名为 d2l。d2l 是 Dive into Deep Learning (D2L) 图书的一个开源教学库,用于深度学习的代码实现和示例

PyTorch里面_表示重写内容

在默认情况下,PyTorch会累积梯度,我们需要清除之前的值

x.grad.zero_()
y = x.sum()
y.backward()
x.grad

很少对向量函数求导,求导结果理论上来说是一个矩阵

实现某些网络,把参数固定住的时候比较有用

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

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

相关文章

如何在群晖虚拟机快速部署线上web网站并实现公网访问

文章目录 前言1. 安装网页运行环境1.1 安装php1.2 安装webstation 2. 下载网页源码文件2.1 访问网站地址并下载压缩包2.2 解压并上传至群辉NAS 3. 配置webstation3.1 配置网页服务3.2 配置网络门户 4. 局域网访问静态网页配置成功5. 使用cpolar发布静态网页,实现公网…

RXMVB2 2RK251 206AN大容量双位置继电器 JOSEF约瑟 DC110V

系列型号: RXMVB2 RK 251 204大容量双位置继电器; RXMVB2 RK 251 205大容量双位置继电器; RXMVB2 RK 251 206大容量双位置继电器; DCS-11大容量双位置继电器; DCS-12大容量双位置继电器; DCS-13大容量双位置继电器; 一、用途 RXMVB2(DCS-10)系列大容量双位置继电器…

数据结构第三课 -----线性表之双向链表

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…

VS Code画流程图:draw.io插件

文章目录 简介快捷键 简介 Draw.io是著名的流程图绘制软件,开源免费,对标Visio,用过的都说好。而且除了提供常规的桌面软件之外,直接访问draw.io就可以在线使用,堪称百分之百跨平台,便捷性直接拉满。 那么…

Looking for downloadable pre-built shared indexes关闭

这个功能很烦,把他关闭就行了 PyCharm的“Looking for downloadable pre-built shared indexes”是指PyCharm IDE中的一个功能,用于搜索和下载可共享的预构建索引。 这个功能的主要用途是帮助开发人员在开发过程中快速地获取和使用预构建的索引,以提高…

Supervisor管理器

如果宝塔版本是低于 7.9 可以选用supervisor 管理器,宝塔7.9及以上版本此工具可能出BUG,请选择 堡塔应用管理器跳过本页,看堡塔应用管理器 Supervisor 管理器 和 堡塔应用管理器 二选一使用 步骤总结: 一、切换PHP命令行版本和站…

一文解码语言模型:语言模型的原理、实战与评估

在本文中,我们深入探讨了语言模型的内部工作机制,从基础模型到大规模的变种,并分析了各种评价指标的优缺点。文章通过代码示例、算法细节和最新研究,提供了一份全面而深入的视角,旨在帮助读者更准确地理解和评估语言模…

创建具有负载平衡和集群的可扩展 Node.js 应用程序

创建具有负载平衡和集群的可扩展 Node.js 应用程序 负载平衡是提高应用程序性能、可扩展性和可用性的一项重要技术。当客户端向负载均衡器发出请求时,负载均衡器根据预定义的规则将请求分发到不同的实例。 可以使用cluster集群模块或 PM2 等工具根据负载均衡器的流…

使用vue2实现todolist待办事项

个人名片: 😊作者简介:一名大二在校生 🤡 个人主页:坠入暮云间x 🐼座右铭:懒惰受到的惩罚不仅仅是自己的失败,还有别人的成功。 🎅**学习目标: 坚持每一次的学习打卡 文章…

Java版B/S架构云his医院信息管理系统源码(springboot框架)

一、技术框架 ♦ 前端:AngularNginx ♦ 后台:JavaSpring,SpringBoot,SpringMVC,SpringSecurity,MyBatisPlus,等 ♦ 数据库:MySQL MyCat ♦ 缓存:RedisJ2Cache ♦ 消息队…

Android设计模式--工厂模式

一,定义 工厂模式与Android 设计模式--单例模式-CSDN博客,Android设计模式--Builder建造者模式-CSDN博客,Android设计模式--原型模式-CSDN博客 一样,都是创建型设计模式。 工厂模式就是定义一个用于创建对象的接口,让…

pycharm pro v2023.2.4(Python编辑开发)

PyCharm2023是一款集成开发环境(IDE),专门为Python编程语言设计。以下是PyCharm2023的一些主要功能和特点: 代码编辑器:PyCharm2023提供了一个功能强大的代码编辑器,支持语法高亮、自动补全、代码调试、版…