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

y _hat[ [ 0, 1], y ]语法——pytorch张量花式索引

目录

1. y _hat[ [ 0, 1]例子

2.pytorch花式索引

(1)简单行、列索引

(2)列表索引

(3)范围索引 

 (4)布尔索引

(5)多维索引 

3.张量拼接 

(1)torch.cat 函数的使用

 (2)torch.stack 函数的使用


1. y _hat[ [ 0, 1]例子

import torch
y = torch.tensor([0, 2])
y_hat = torch.tensor([[0.1, 0.3, 0.6], [0.3, 0.2, 0.5]])
y_hat[[0, 1], y]

简单阐述我对第四行代码的理解

y_hat是一个2*3的数组
y_hat[[0,1],y]中的[0,1]指的是第一行和第二行的索引,后面的y等价于[0,2]。那么可以这么理解y_hat[0,0]和y_hat[1,2]。最后的结果也证明了我的理解。

2.pytorch花式索引

(1)简单行、列索引
import torchdata = torch.randint(0, 10, [4, 5])  # 四行五列的二维张量
print(data)
print(data[2])     # 获取第三行数据,返回一维张量
print(data[:, 1])  # 获取第二列数据,返回一维张量
print(data[1, 2])  # 获取第二行的第三列数据,返回零维张量
print(data[1][2])  # 同上
(2)列表索引
import torchdata = torch.randint(0, 10, [4, 5])  # 四行五列的二维张量
print(data)
print(data[[1,0,2])                # 返回下标为1行、0行、2行共三行数据组成的3行5列的二维张量
print(data[[0,1,3], [3,2,4]])      # 返回下标为0行3列、1行2列、3行4列三个数据组成的一维张量
print(data[[[0],[1]], [[3],[4]]])  # 返回下标为0行3列、1行4列两个数据组成的2行1列的二维张量
print(data[[0,1], [[3],[4]]])      # 返回下标为0行3列、1行3列、0行4列、1行4列四个数据组成的2行2列的二维张量
print(data[[0,1], [[1,2],[0,4]]])  # 返回下标为0行1列、1行2列、0行0列、1行4列四个数据组成的2行2列的二维张量
print(data[[[1],[0]], [3,4]])      # 返回下标为1行3列、1行4列、0行3列、0行4列四个数据组成的2行2列的二维张量
print(data[[[1,3],[0,2]], [3,4]])  # 返回下标为1行3列、3行4列、0行3列、2行4列四个数据组成的2行2列的二维张量
(3)范围索引 
import torchdata = torch.randint(0, 10, [4, 5])  # 四行五列的二维张量
print(data)
print(data[:3, 4])   # 返回前三行的第五列数据组成的一维张量
print(data[:3, [0,2,4]])  # 返回前三行的第一三五列数据组成的二维张量
print(data[:3, :4])  # 返回前三行的前四列数据组成的二维张量
print(data[2:, :4])  # 返回第三行到末行的前四列数据组成的二维张量
 (4)布尔索引
import torchdata = torch.randint(0, 10, [4, 5])  # 四行五列的二维张量
print(data)
print(data[data > 5])  # 返回所有大于5的元素组成的一维张量
print(data[[True,False,True,False]])  # 返回第一行与第三行数据组成的二维张量
print(data[1:, [True,False,True,False,True]])  # 返回第二行到末行的第一三五列数据组成的二维张量
print(data[data[:, 2] > 5])  # 返回第三列大于5的行数据组成的二维张量
print(data[:, data[1] > 5])  # 返回第二行大于5的列数据组成的二维张量
(5)多维索引 
data = torch.randint(0, 10, [3, 4, 5])  # 三片四行五列的三维张量
print(data)
print(data[0, :, :])  # 返回第一片所有数据,四行五列的二维张量
print(data[:, 0, :])  # 返回所有片的第一行数据,三行五列的二维张量
print(data[:, :, 0])  # 返回所有片的第一列数据,三行四列的二维张量

3.张量拼接 

(1)torch.cat 函数的使用
import torchdata1 = torch.randint(0, 10, [3, 5, 4])
data2 = torch.randint(0, 10, [3, 5, 4])
print(data1)
print(data2)new_data = torch.cat([data1, data2], dim=0)  # 1. 按0维度拼接
print(new_data)  # shape:torch.Size([6, 5, 4])new_data = torch.cat([data1, data2], dim=1)  # 2. 按1维度拼接
print(new_data)  # shape:torch.Size([3, 10, 4])new_data = torch.cat([data1, data2], dim=2)  # 3. 按2维度拼接
print(new_data)  # shape:torch.Size([3, 5, 8])
 (2)torch.stack 函数的使用
import torchdata1= torch.randint(0, 10, [4, 5])
data2= torch.randint(0, 10, [4, 5])
print(data1)
print(data2)new_data = torch.stack([data1, data2], dim=0)  # 在0维度叠加,升维!
print(new_data)  # shape:torch.Size([2, 4, 5])new_data = torch.stack([data1, data2], dim=1)  # 在1维度叠加,升维!
print(new_data)  # shape:torch.Size([4, 2, 5])new_data = torch.stack([data1, data2], dim=2)  # 在2维度叠加,升维!
print(new_data)  # shape:torch.Size([4, 5, 2])

相关文章:

y _hat[ [ 0, 1], y ]语法——pytorch张量花式索引

目录 1. y _hat[ [ 0, 1]例子 2.pytorch花式索引 (1)简单行、列索引 (2)列表索引 (3)范围索引 (4)布尔索引 (5)多维索引 3.张量拼接 (1…...

高级岗位面试问题

自我介绍 【我是谁】 、【我做过什么】、【我会什么】 面试官您好,我叫xxx,来自江西。20XX年毕业于XXXXX大学,已有X年软件测试工作经验,之前在XX家公司担任测试工程师 最近一家公司我主要负责了两个项目的测试,分别为XXXXX的编写,测试用例的设计,测试环境的搭建以及测…...

区块链游戏的开发框架

链游(Blockchain Games)是基于区块链技术构建的游戏。它们与传统游戏有一些显著不同之处,因此需要特定的开发框架和工具。以下是一些用于链游开发的开发框架及其特点,希望对大家有所帮助。北京木奇移动技术有限公司,专…...

Windows Nginx 服务器部署(保姆级)

大家好 我是寸铁 不知道怎么部署Windows Nginx 服务器看过来 手把手带你部署服务器 将你的本地网页部署到服务器上 话不多说,直接上操作!!! Windows Nginx服务器部署 进入下载地址: http://nginx.org/en/download.h…...

常用的Linux命令及其用法

常用的Linux命令及其用法 1. ls:列出文件和目录 ls命令用于列出当前目录中的文件和子目录。通过不同的选项,可以显示详细信息、隐藏文件等。 示例: ls -l ls -a2. cd:切换工作目录 cd命令用于切换当前工作目录。通过指定目标…...

linux总结

cat -n filename 查看文件,-n用来给每一行标行号,可以省略 cat /var/log/mysqld.log | grep password 我们可以通过上述指令,查询日志文件内容中包含password的行信息。 more 作用: 以分页的形式显示文件内容 语法: more fileName 操作说明: 回车键 …...

java - 设计模式 - 状态模式

文章目录 前言java - 设计模式 - 状态模式1. 概述2. 作用3. 示例 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差,实在白嫖的话&#xf…...

c/c++--编译指令(预处理之后) #pragma

1. #pragma 作用 #pragma 用于指示编译器完成一些特定的动作#pragma 的功能或作用 随编译器不同而变化。 即 不同的编译器可能以不同的方式解释同一条 #pragma 指令 2. 用法 常见用法示例 2.1 #pragma message 参考链接 自定义编译信息输出到终端(一般和#if配合使用&#…...

黑马JVM总结(三十二)

(1)类加载器-线程上下文1 使用的应用程序类加载器来完成类的加载,不是用的启动类加载器,jdk在某些情况下要打破,双亲委派的模式,有时候需要调用应用程序类加载器来完成类的加载,否则有些类它是找…...

接口自动化测试框架【reudom】

reudom Automated testing framework based on requests and unittest interface. 基于 Unittest 和 Requests 的 接口自动化测试框架 介绍 基于Unittest/Requests的接口自动化测试库 提供脚手架,快速生成接口自动化测试项目。 自动生成HTML测试报告。 支持用例参…...

【数据库问题】删除数据库失败,提示:there is 1 other session using the database

删除数据库失败&#xff0c;提示&#xff1a;there is 1 other session using the database 解决办法&#xff1a; SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE datnametest_database AND pid<>pg_backend_pid(); 使用上述命令先关…...

【技术干货】如何快速创建商用照明 OEM APP?

本文介绍了如何在涂鸦 IoT 平台的 App 工作台上创建一款体验版商照 App、正式版 OEM App、上架 App、以及完成通用配置。 OEM App 开发 创建 App 登录 涂鸦 IoT 平台的 App 页面。 单击 创建APP&#xff0c;选择 商照 APP 进行创建。 在提示框里&#xff0c;完善 App 信息…...

阿里云ModelScope 是一个“模型即服务”(MaaS)平台

简介 项目地址&#xff1a;https://github.com/modelscope/modelscope/tree/master ModelScope 是一个“模型即服务”(MaaS)平台&#xff0c;旨在汇集来自AI社区的最先进的机器学习模型&#xff0c;并简化在实际应用中使用AI模型的流程。ModelScope库使开发人员能够通过丰富的…...

Nodejs内置模块process

文章目录 内置模块process写在前面1. arch()2. cwd()3. argv4. memoryUsage()5. exit()6. kill()7. env【最常用】 内置模块process 写在前面 process是Nodejs操作当前进程和控制当前进程的API&#xff0c;并且是挂载到globalThis下面的全局API。 下面是process的一些常用AP…...

Vue2 修改了数组哪些方法,为什么

1、Vue2 修改了以下数组方法 push()、pop()、shift()、unshift()、splice()、sort()、reverse() 这些方法都是可以改变原数组的。 为了实现数据响应式更新&#xff0c;Vue2 在这些方法中添加了特定的代码&#xff0c;以便通知 Vue 视图更新数据 举个例子&#xff0c;当我们…...

均值滤波算法及例程

均值滤波算法是一种简单的图像滤波方法&#xff0c;它使用一个固定大小的滤波器来平滑图像。该滤波器由一个矩形的窗口组成&#xff0c;窗口中的像素值取平均值作为中心像素的新值。以下是均值滤波算法的步骤&#xff1a; 定义滤波器的大小&#xff08;窗口大小&#xff09;&a…...

拥抱产业发展机遇 兑现5G商业价值

[阿联酋&#xff0c;迪拜&#xff0c;2023年10月10日] 今天&#xff0c;以“将5G-A带入现实”为主题的2023全球移动宽带论坛在迪拜举行。本次大会上&#xff0c;华为轮值董事长胡厚崑与GSMA总干事Mats Granryd围绕“5G产业进程与发展”连线对话。胡厚崑指出&#xff0c;“技术发…...

Layui合计自定义列

需求&#xff1a;第四列通过计算&#xff1a;27除以220 正常的汇总&#xff0c;增加这个属性就行 特殊的列&#xff0c;需要特殊处理 获取合计行&#xff1a;$(".layui-table-total div.layui-table-cell"); 获取某列的值&#xff1a;$($(".layui-table-total …...

Tomcat自启动另一种方法

Tomcat自启动另一种方法 问题&#xff1a; 不知道怎么回事&#xff0c;好几台电脑都可以开机自启动tomcat&#xff0c;正常运行项目。一样的配置一样的操作流程&#xff0c;偏偏要运行的机器开机自启动后&#xff0c;项目不能运行&#xff0c;手动重启tomcat又可以用了。网上…...

C语言,标志法

标志法通常用来检查或者进行过程中一些状态变化。 有一些是为了观察变化&#xff0c;举出一些以往代码的例子&#xff1a; 1.找出一串数字中没有重复出现过的数字 #include <stdio.h> int main() {int arr[1000] { 0 };int n 0;scanf("%d", &n);int i…...

别再只认识空气开关了!从家用配电箱到工厂配电柜,一文搞懂断路器的选型与接线(附实物图)

从家庭配电到工业电力&#xff1a;断路器的实战选型与安全接线指南 推开配电箱的门板&#xff0c;那些排列整齐的断路器不仅仅是电路的通断开关&#xff0c;更是守护用电安全的第一道防线。无论是家庭装修中的线路规划&#xff0c;还是工厂车间的电力分配&#xff0c;选择合适的…...

出门在外也能用!OpenAI 将 Codex 接入 ChatGPT 移动端

曾经在企业办公室工作过的人&#xff0c;可能都见过这样的场景&#xff1a;同事们把笔记本电脑托在手臂上&#xff0c;从一个会议室走到另一个会议室。倒也不是非要在走廊、电梯或楼道里处理邮件&#xff0c;只是不想合上盖子然后再等电脑重启。看似有些滑稽&#xff0c;但又不…...

从零到一:在MissionPlanner中配置与可视化RC接收器RSSI

1. 什么是RSSI&#xff1f;为什么需要监控它&#xff1f; 如果你玩过无人机或者遥控模型&#xff0c;肯定遇到过信号突然中断的情况。那种眼睁睁看着爱机失控坠落的无力感&#xff0c;我深有体会。RSSI&#xff08;Received Signal Strength Indicator&#xff09;就是帮助我们…...

别再死记公式了!用Python的NumPy库5分钟搞定极坐标与笛卡尔坐标转换(附象限处理代码)

极坐标与笛卡尔坐标转换&#xff1a;用NumPy实现高效科学计算 在数据分析和科学计算领域&#xff0c;坐标转换是一项基础但至关重要的操作。无论是处理雷达扫描数据、生成复杂数学图形&#xff0c;还是进行计算机视觉中的图像变换&#xff0c;开发者经常需要在极坐标和笛卡尔坐…...

Word分栏排版进阶:如何实现左右栏独立编辑与中英文对照排版(解决内容错乱问题)

Word分栏排版进阶&#xff1a;左右栏独立编辑与中英文对照排版实战指南 在专业文档制作中&#xff0c;双语对照排版是教师、翻译人员和外语学习者经常遇到的挑战。传统分栏功能虽然简单易用&#xff0c;但当我们需要左边显示英文原文、右边显示对应中文翻译时&#xff0c;直接分…...

告别SD卡!用Ubuntu主机给Jetson Orin Nano刷机,保姆级避坑指南(SDK Manager篇)

告别SD卡&#xff01;用Ubuntu主机给Jetson Orin Nano刷机&#xff0c;保姆级避坑指南&#xff08;SDK Manager篇&#xff09; 当第一次拿到Jetson Orin Nano Developer Kit时&#xff0c;很多开发者会本能地选择SD卡刷机方案——毕竟这是最"傻瓜式"的操作。但经历过…...

避坑指南:ENVI5.6在Win10/Win11系统下的常见安装失败问题与解决

ENVI5.6安装避坑实战&#xff1a;从报错排查到系统级调优 当你在Windows 10/11系统上双击ENVI5.6安装程序时&#xff0c;可能没想到这个看似标准的安装过程会变成一场技术冒险。不同于常规教程只展示理想路径&#xff0c;我们将直面那些让科研工作者抓狂的"安装已终止&quo…...

MongoDB 4.4+ 版本后,手把手教你搞定mongodump独立安装与配置(附环境变量设置)

MongoDB 4.4独立工具链部署指南&#xff1a;从零构建mongodump备份环境 当你在全新的Linux服务器上部署了MongoDB 4.4或更新版本&#xff0c;准备执行例行数据库备份时&#xff0c;在终端输入熟悉的mongodump命令却只得到command not found的响应——这不是你的操作失误&#…...

3mux常见问题解决:10个用户最常遇到的错误及其修复方法

3mux常见问题解决&#xff1a;10个用户最常遇到的错误及其修复方法 【免费下载链接】3mux Terminal multiplexer inspired by i3 项目地址: https://gitcode.com/gh_mirrors/3m/3mux 3mux是一款受i3启发的终端复用器&#xff0c;为用户提供高效的终端窗口管理体验。然而…...

嵌入式TFT屏幕LVGL驱动适配:从硬件抽象到性能优化的全流程实践

1. 项目概述与核心价值最近在几个嵌入式显示项目里&#xff0c;我深度折腾了TFT屏幕与LVGL的适配工作。这活儿听起来像是把两个现成的轮子装到一起&#xff0c;但真上手了才发现&#xff0c;从点亮屏幕到丝滑流畅的UI交互&#xff0c;中间隔着不少“坑”。如果你也在为STM32、E…...