np.eye()函数

python中np.eye()函数的使用 numpy.eye(N,M=None, k=0, dtype=<type ‘float’>) 关注第一个第三个参数就行了 第一个参数:输出方阵(行数=列数)的规模,即行数或列数 第三个参数:默认情况下输出的是对角线全“1”,其余全“0”的方阵,如果k为正整数,则在右上方第k条对角线全“1”其余全“0”,k为负整数则在左下方第k条对角线全“1”其余全“0”。 原文链接:https://blog.csdn.net/chixujohnny/article/details/51011931 >&g 阅读详情

np.eye()的函数,除了生成对角阵外,还可以将一个label数组,大小为(1,m)或者(m,1)的数组,转化成one-hot数组。

例如它可以将类别总数为6的labels=[1,2,3,0,1,1]的数组转化成数组[[0,1,0,0,0,0],[0,0,1,0,0,0],[0,0,0,1,0,0],[0,0,0,0,0,0],[0,1,0,0,0,0],[0,1,0,0,0,0]]这就是所谓的one-hot的形式。

一、np.eye()
函数的原型:numpy.eye(N,M=None,k=0,dtype=<class 'float'>,order='C)

返回的是一个二维2的数组(N,M),对角线的地方为1,其余的地方为0.

参数介绍:

(1)N:int型,表示的是输出的行数

(2)M:int型,可选项,输出的列数,如果没有就默认为N

(3)k:int型,可选项,对角线的下标,默认为0表示的是主对角线,负数表示的是低对角,正数表示的是高对角。

(4)dtype:数据的类型,可选项,返回的数据的数据类型

(5)order:{‘C’,‘F'},可选项,也就是输出的数组的形式是按照C语言的行优先’C',还是按照Fortran形式的列优先‘F'存储在内存中

案例:(普通的用法)

import numpy as np
 
a=np.eye(3)
print(a)
 
a=np.eye(4,k=1)
print(a)
 
[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]
[[0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]
 [0. 0. 0. 0.]]
案例:(深度学习中的高级用法,将数组转成one-hot形式)

import numpy as np
 
labels=np.array([[1],[2],[0],[1]])
print("labels的大小:",labels.shape,"\n")
 
#因为我们的类别是从0-2,所以这里是3个类
a=np.eye(3)[1]
print("如果对应的类别号是1,那么转成one-hot的形式",a,"\n")
 
a=np.eye(3)[2]
print("如果对应的类别号是2,那么转成one-hot的形式",a,"\n")
 
a=np.eye(3)[1,0]
print("1转成one-hot的数组的第一个数字是:",a,"\n")
 
#这里和上面的结果的区别,注意!!!
a=np.eye(3)[[1,2,0,1]]
print("如果对应的类别号是1,2,0,1,那么转成one-hot的形式\n",a)
 
res=np.eye(3)[labels.reshape(-1)]
print("labels转成one-hot形式的结果:\n",res,"\n")
print("labels转化成one-hot后的大小:",res.shape)
结果:

labels的大小: (4, 1) 
 
如果对应的类别号是1,那么转成one-hot的形式 [0. 1. 0.] 
 
如果对应的类别号是2,那么转成one-hot的形式 [0. 0. 1.] 
 
1转成one-hot的数组的第一个数字是: 0.0 
 
如果对应的类别号是1,2,0,1,那么转成one-hot的形式
 [[0. 1. 0.]
 [0. 0. 1.]
 [1. 0. 0.]
 [0. 1. 0.]]
labels转成one-hot形式的结果:
 [[0. 1. 0.]
 [0. 0. 1.]
 [1. 0. 0.]
 [0. 1. 0.]] 
 
labels转化成one-hot后的大小: (4, 3)
          
二、np.identity()
这个函数和之前的区别在于,这个只能创建方阵,也就是N=M

函数的原型:np.identity(n,dtype=None)

参数:n,int型表示的是输出的矩阵的行数和列数都是n

dtype:表示的是输出的类型,默认是float

返回的是nxn的主对角线为1,其余地方为0的数组

Numpy 单位矩阵创建 eye()函数详解 numpy 单位矩阵创建 eye()函数详解 阅读详情

相关推荐

np.eye()与np.identity()详解[项目代码]

本文详细介绍了NumPy库中的np.eye()和np.identity()函数的用法及其在深度学习中的应用。np.eye()函数用于生成对角矩阵,可通过参数调整对角线位置、数据类型等,并展示了其在将标签数组转换为one-hot编码的高级用法。np.identity()则专门用于生成单位矩阵,即主对角线为1的方阵。文章通过多个代码示例,对比了两者的区别,并重点演示了np.eye()在深度学习中的实际应用场景,如将类别标签转换为one-hot形式,为读者提供了实用的编程参考。

np.eye()和np.identity()

今天在完成深度学习的相关编程作业的时候,发现代码中出现了一个关于np.eye()的函数,这个函数的用法非常的简单,但是在预制的代码中,这个函数的用法并非单单制造一个对角矩阵,而是通过其来将一个label数组,大小为(1,m)或者(m,1)的数组,转化成one-hot数组。例如他可以将类别总数为6的labels=[1,2,3,0,1,1]的数组转化成数组[[0,1,0,0,0,0],[0,0,1,0...

coder 7万+

Qoder CN 完全指南:阿里云AI智能体的全景拆解

阿里云旗下AI编程助手"通义灵码"于2026年5月20日升级为QoderCN,转型为覆盖软件开发与办公场景的AI智能体产品矩阵。该平台具备四大核心能力:代码补全、智能问答、文件编辑和智能体模式,支持GLM、DeepSeek等多模型切换。特色功能包括Quest2.0任务委派、专家团协作和记忆感知,满足金融、政务等行业的合规需求。产品形态涵盖IDE插件、CLI工具、办公助手和数字员工,形成"全家桶"式解决方案。相比Cursor等海外产品,QoderCN更注重全链路覆盖,个

几十年资深高级架构师,技术专家的技术笔记。专注C、Java、Python、微服务、云原生、AI工程化及高并发系统分布式架构实战,分享源码剖析、性能调优与架构治理经验。 933

python | np.eye()函数

作用1:生成对角阵,主对角线上元素为1,其余位置均为0 import numpy as np a = np.eye(3) print(a) 结果: 如果要读取第二行,则写作:np.eye(3)[1] ,结果为:[0,1,0] 作用2:形成one-hot编码 import numpy as np x = np.array([1,2,0,1,2]) a = np.eye(3)[x] print(a) 结果: 【后记】:python一行代码可以做很多事,没有经过系统学习,遇到很多问题,.

以秘 1万+

《计算机网络》课程大作业- 《小区局域网的设计和规划》

8.1首先,在满足用户需求方面,通过详细的需求分析,充分考虑了居民和物业管理的不同业务需求。对于居民,无论是日常的高清视频播放、在线游戏、远程办公还是智能家居设备的连接,网络都能提供稳定的高速带宽支持。从有线网络的千兆以太网技术保障稳定的有线连接,到无线网络采用 Wi - Fi 6 技术确保无线覆盖区域的高速和低延迟,满足了居民多样化的娱乐和生活需求。对于物业管理,安防监控系统的实时数据传输、物业办公自动化系统的流畅运行以及社区信息的及时发布等业务,都有针对性的网络设计。

lisangsimida的博客 2598

VLA模型(具身智能入门十)

Vision Language Action(VLA)模型VLA模型是机器人领域的“感知-理解-执行”一体化框架,通过Transformer架构融合视觉、语言、动作模态,核心目标是让机器人在自然语言驱动下,自主完成复杂操控任务。其定义的核心在于“跨模态统一”与“具象化行动”——不仅能“看懂”“听懂”,更能“做出正确的动作”,是实现通用机器人智能的关键方向。提供通用序列建模骨架,让视觉、语言、动作能以“序列”形式统一处理;ViT将视觉输入转换为序列特征,提供“看”的能力;LLMs。

weixin_39699362的博客 9926

np.eye()函数,np.expand_dims()函数,np.clip()函数, np.random.choice()函数

np.eye()的函数,除了生成对角阵外,还可以将一个label数组,大小为(1,m)或者(m,1)的数组,转化成one-hot数组。 例如它可以将类别总数为6的labels=[1,2,3,0,1,1]的数组转化成数组[[0,1,0,0,0,0],[0,0,1,0,0,0],[0,0,0,1,0,0],[0,0,0,0,0,0],[0,1,0,0,0,0],[0,1,0,0,0,0]]这就是所谓的one-hot的形式。 一、np.eye() 函数的原型:numpy.eye(N,M=None,k=0,dtyp

baicaiBC3的博客 2957

Qt (高仿Visio)流程图组件开发(一) 效果展示及基本开发框架构思

最近因为工作原因需要使用Qt开发一个类似于Visio的流程图组件,需满足基本的流程图功能,图元类型可自定义扩展,不同图元存有各类自定义数据,可以保存为xml文件,可以读取xml文件生成流程图等等。

qq_43793182的博客 1万+

np.eye()函数的使用

今天在复现一篇3D图像分割论文的时候,思考了一个问题,我们的数据集一般由原始数据和对应的Ground Truth组成,一般的3D数据都是(Height,Width,Depth)的形状,而对应的Ground Truth也是(Height,Width,Depth)的形状。这个时候就会产生一个疑问,比如我们的分割类别加上背景总共有4类,这个时候(Height,Width,Depth)形状的Ground Truth里面的每一个元素的是都是0、1、2、3其中的一个,分别代表着背景、类别1、类别2、类别3。

qq_58011370的博客 973

ardupilot开发 --- MavLink 篇

ardupilot开发 --- MavLink 篇

记录老板的每次pua,分享领导每天的毒鸡汤... 4251

Android TV 遥控器全链路按键适配指南:从物理按键到应用响应

本文深入探讨了Android TV遥控器按键适配方案,涵盖红外和蓝牙遥控器的工作原理及完整适配流程。红外遥控部分详细介绍了从硬件调试、驱动适配到键值映射配置的方法,并提供了实用的调试命令。蓝牙遥控器部分解析了HID协议和报告描述符,给出内核层与Android层的适配代码示例。文章还介绍了游戏手柄、语音遥控器等特殊外设的适配技巧,并提供了系统级调试工具和内核级调试方法,为开发者提供了一套完整的Android TV输入设备适配解决方案。

学无止境 1266

python创建对角阵的np.eye()函数

最近博主在研究kalman滤波,里面初始矩阵定义需要对角阵,于是查了一些资料,发现numpy中有一个eye函数可以达到这样的目的 np.eye(N,M=None,k=0,dtype=<class 'float'>,order='C) N表示输出的行数;M表示输出的列数,不给默认等于N;K默认等于0,表示主对角线,负数代表低对角,正数代表高对角;dtype表示输出数据的类型;order表示输出的数组的形式是按照C语言的行优先’C’,还是按照Fortran形式的列优先‘F’存储在内存中。 看下.

十八与她的博客 2713

26届数字IC秋招笔试面试全攻略 - CPU基础架构-数字IC设计专家

本文介绍了CPU基础架构的三大关键技术:流水线、冒险处理和指令集设计。首先解析了经典五级流水线结构(取指、译码、执行、访存、写回)及其性能指标。其次详细阐述了三种流水线冒险(数据、控制、结构)及解决方案,如数据前递、分支预测等。最后对比了RISC与CISC指令集特点,并以RISC-V为例说明指令格式设计原则。全文系统梳理了CPU核心架构知识,为数字IC设计提供重要参考。

2301_79143213的博客 931

np.eye()函数详细用法(生成数组以及将数组转成one-hot形式)

np.eye() 函数的原型:numpy.eye(N,M=None,k=0,dtype=<class ‘float’>,order=‘C) 返回的是一个二维2的数组(N,M),对角线的地方为1,其余的地方为0. 参数介绍: (1)N:int型,表示的是输出的行数 (2)M:int型,可选项,输出的列数,如果没有就默认为N (3)k:int型,可选项,对角线的下标,默认为0表示的是主对角线,负数表示的是低对角,正数表示的是高对角。 (4)dtype:数据的类型,可选项,返回的数据的数据类型 (5.

leilei7407的博客 1万+

Android影像系统架构专家面试指南

传音控股招聘影像系统架构专家,要求8年以上开发经验,5年架构设计经验,精通Android Camera开发及性能优化。该职位需负责手机影像软件架构设计、技术选型及跨平台适配,重点解决"快稳省"体验优化。面试评估聚焦三大维度:技术方面考察HAL层架构设计、多帧合成优化等能力;系统开发关注低光降噪等场景的算力平衡;团队管理侧重跨部门协作与项目交付。候选人需展现对CamX-CHI等架构的深入理解,具备量化分析性能指标的能力,并能主导旗舰机影像项目全周期落地。

郑伟强dev的专栏 943

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

np.eye()的函数能将一个label数组,大小为(1,m)或者(m,1)的数组,转化成one-hot数组

https://blog.csdn.net/m0_37393514/article/details/81455915

studyvcmfc的专栏 242

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【Numpy学习】np.eye()和np.identity()

[1]np.eye()和np.identity()

sxl的博客 512

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

快速找出Numpy中元素不为零的下标函数:np.nonzero() 快速建立主对角线Numpy数组函数:np.eye()

快速找出Numpy中元素不为零的下标函数:np.nonzero()

m0_56316007的博客 763

np.eye()

np.eye() np.eye()的函数,除了生成对角阵外,还可以将一个label数组,大小为(1,m)或者(m,1)的数组,转化成one-hot数组。 例如它可以将类别总数为6的labels=[1,2,3,0,1,1]的数组转化成数组 [[0,1,0,0,0,0], [0,0,1,0,0,0], [0,0,0,1,0,0], [0,0,0,0,0,0], [0,1,0,0,0,0]...

sky的博客 1231

np.eye()以及np.identity()

np.eye()的函数,除了生成对角阵外,还可以将一个label数组,大小为(1,m)或者(m,1)的数组,转化成one-hot数组。 例如它可以将类别总数为6的labels=[1,2,3,0,1,1]的数组转化成数组[[0,1,0,0,0,0],[0,0,1,0,0,0],[0,0,0,1,0,0],[0,0,0,0,0,0],[0,1,0,0,0,0],[0,1,0,0,0,0]]这就是所谓的one-hot的形式。 一、np.eye() 1. 函数的原型:numpy.eye(N,M=None,k=0

sui6662008的博客 564

np.zeros() np.ones() np.eye()用法

np.zeros() np.zeros()构造全为0的矩阵 import numpy as np np.zeros((3)) array([0., 0., 0.]) np.zeros((3,4)) array([[0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.]]) np.ones() np.ones()构造全为1...

weixin_43272100的博客 2709

机器学习相关函数(一)——基础函数

1、np.eye() 参考网址:https://docs.scipy.org/doc/numpy/reference/generated/numpy.eye.html#numpy.eye 简介 返回一个主对角线为一,其余为零的矩阵。 基本形式 numpy.eye(N,M=None,k=0,dtype=<class 'float'>,order='C') 参数 参数...

A_waken的博客 870

numpy库在矩阵中的应用:empty( )zeros( )eye( )vstack() hstack()shape( )mean( )

矩阵中会使用到的函数 np.vstack()和np.hstack()函数 import numpy as np a=np.array([[ 8., 8.],[ 0., 0.]]) b=np.array([[ 1., 3.], [ 6., 4.]]) print np.vstack((a,b)) #将两个数组按行放到一起 [[8. 8.] [0. 0.] [1. 3.] [6. 4.]] ...

升级打怪之路 429
上一篇: 机器学习教程
下一篇: 分词技术
hellocsz
博客等级 码龄9年 608粉丝 12原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值