MXNet中NDArray数据相关操作

mxnet预备知识之ndarray(1) 数据操作 参考资料:李沐-深度学习第二章-2.2 from mxnet import nd #创建向量 x = nd.arange(12) x.shape x.size #改变形状 X = x.reshape((3,4)) nd.zeros((2,3,4)) nd.ones((3,4)) #创建数组 Y = nd.array([[2,1,4,3],[1,2,3,4],[4,3,2,1]... 阅读详情

目录

绪论

前言

2.2.1. 创建NDArray

2.2.2. 运算

2.2.3. broadcasting机制

2.2.4. 索引

2.2.5. 运算的内存开销

2.2.6. NDArray和NumPy相互变换

2.2.7. 小结

2.2.8. 练习

2.2.8. 答案


绪论

在深度学习中,我们通常会频繁地对数据进行操作。作为深度学习的基础,本节将介绍如何对CPU内存中的数据的基本操作。

MXNet中,NDArray是一个类,也是存储和变换数据的主要工具。NDArray和NumPy的多维数组非常类似。然而,NDArray提供GPU计算和自动求梯度等更多功能,这些使NDArray更加适合深度学习。

前言

这里作者是使用juputer notebook来学习,对比于pycharm和它的控制台来说,对于较大型的项目用pycharm可以实现分文件管理,pycharm的控制台适合运行单行代码,jupyter notebook因为对于单个模块运行之后都会有一个输出直观看到结果;

2.2.1. 创建NDArray

首先从MXNet导入ndarray模块。这里的nd是ndarray的缩写形式。

from mxnet import nd

然后我们用arange函数创建一个行向量。

x = nd.arange(12)

#这里x的作用相当于print(x)

x               

Out[2]:
[ 0.  1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11.]
<NDArray 12 @cpu(0)>

可以看到nd.arange创建了一个从0开始的12个连续整数,类型 NDArray ,长度 12,创建在cpu内存上

shape属性来获取NDArray实例的形状。

x.shape

Out[3]:
(12,)

size属性得到NDArray实例中元素(element)的总数。

x.size

 Out[4]:

12

reshape函数把行向量x的形状改为(3, 4),也就是一个3行4列的矩阵,并记作X。(注意前面是小写x,后面是大写X)

X = x.reshape((3, 4))
#这里X的作用相当于print(X)
X
Out[5]:
[[ 0.  1.  2.  3.]
 [ 4.  5.  6.  7.]
 [ 8.  9. 10. 11.]]

小技巧:上面x.reshape((3, 4))也可写成x.reshape((-1, 4))或x.reshape((3, -1))。由于x的元素个数是已知的12,这里的-1是能够通过元素个数和其他维度的大小推断出来的。

接下来,创建一个各元素为0,形状为(2, 3, 4)的张量。之前创建的向量和矩阵都是特殊的张量。

nd.zeros((2, 3, 4))

Out[6]:
[[[0. 0. 0. 0.]
  [0. 0. 0. 0.]
  [0. 0. 0. 0.]]

 [[0. 0. 0. 0.]
  [0. 0. 0. 0.]
  [0. 0. 0. 0.]]]

可以理解成2层,每一层都是3*4的矩阵。

 类似地,我们可以创建各元素为1的张量。

nd.ones((3, 4))

Out[7]:

[[1. 1. 1. 1.]
 [1. 1. 1. 1.]
 [1. 1. 1. 1.]]

 我们也可以通过Python的列表(list

Mxnet基础入门总结 前言 笔者最近在学习深度学习,了解了tensorflow和mxnet这两个框架 总的来说这两个框架各有优劣 tensorflow的学习资源,代码更多一点 mxnet对新手比较友好,有指定书籍进行指导,社区也比较活跃,方便交流 最近也是在跟着Dive into Deeplearning进行学习 所以想写一篇博客来对mxnet进行一个基础的总结 数据类型 在tensorflow中,我们操作的数据类型叫... 阅读详情

相关推荐

mxnet代码剖析之--ndarray篇

/// ----------------------------------------------------------------------- struct Chunk Storage::Handle shandle; /// 存储管理器句柄 (ptr, size, ctx),负责实际存储空间的开辟管理等 Engine::VarHandle var; /// 执行引擎变量句柄(实现

slamer的专栏 3568

MXNet学习3——Symbol

概要本节介绍MXNet中的Symbol(模块)。Symbol是MXNet中另一个重要的概念,可以通过 mxnet.symbol 或者 mxnet.sym 使用。一个symbol表示一个具有多输出的符号表达式,表达式由多个运算组成,运算可以是简单的矩阵和(“+”),也可以是一个神经网络层(比如卷积层)。一个运算可以有多个输入,产生一个或多个输出,同时也可以由隐变量。变量可以是一个等待绑定参数值的自由符

dn_mug的博客 3932

【MXNet学习27】mxnet+gluon快速入门

import numpy as np import mxnet as mx import logging logging.getLogger().setLevel(logging.DEBUG) # logging to stdout 1、mxnet基本数据结构 1.1 ndarray ndarray是mxnet中最基本的数据结构,ndarray和mxnet的关系与tensor和pytorch的关系类似。该数据结构可以看成numpy的一种变体,基本上numpy的操作ndarray都可以实现。与ndarra

qq_35091353的博客 1530

STM32实战:5分钟搞定MXL90614红外测温模块的I2C驱动(附完整代码)

本文提供了一份快速集成MLX90614红外测温模块的STM32实战指南。通过详细的软件I2C驱动代码,重点解析了SMBus通信协议、CRC校验及温度数据转换,帮助开发者避开常见陷阱,实现5分钟内完成模块驱动并读取准确温度值。

wasm7browser的博客 353

VMware Workstation Pro必备技巧:5分钟搞定Ubuntu虚拟机磁盘瘦身(附常见错误解决)

本文详细介绍了如何为VMware Workstation Pro中的Ubuntu虚拟机进行磁盘瘦身,解决.vmdk文件只增不减的问题。通过清理系统垃圾、使用零填充空闲空间,并利用vmware-toolbox-cmd或vmware-vdiskmanager工具进行压缩,可有效回收被无效占用的磁盘空间。文章还提供了常见错误解决方案和预防性维护建议,帮助用户高效管理虚拟机存储。

sea99的博客 298

基于ROS2的实时视频流转换:image2rtsp在多路相机采集中的应用

本文详细介绍了如何在ROS2机器人系统中使用image2rtsp工具,将ROS2内部的相机图像话题实时转换为标准的RTSP视频流。重点阐述了其安装配置、核心参数调优,并提供了多路相机采集的实战方案,解决了机器人视觉数据跨平台、跨网络分发的难题,极大提升了视频流集成的部署效率。

weixin_29214559的博客 396

大模型辅助意图识别,更懂你的客户洞察平台

通过大量的学习和训练,大模型不仅具备庞大的知识库,更掌握着丰富的语言模式和语义规则,能够精准地理解每一段对话的含义,为每一通对话进行全面、准确的标注。主要来自客户的行为信息,将客户与机构的重要时刻以时间轴的方式呈现出来,掌握客户生命周期的完整脉络,识别一些容易被忽略的重要营销MOT(Moment Of Truth,关键时刻研究)机会,提示理财经理跟进处理。将客户的历史交易数据和埋点系统采集的客户行为数据结合起来,辅以部分内容资讯的偏好探测,综合分析和预测客户在各个维度的喜好程度,实现千人千面的客户推送。

Dezhuzhineng的博客 2161

生信分析服务MR孟德尔随机化单细胞测序转录组数据分析网络药理学

通过上述技术整合,可实现从基因-环境-疾病关联到药物机制解析的全链条研究,为疾病机制解析和药物研发提供新思路。结合,是当前生物信息学领域的前沿方法,尤其在疾病机制解析、靶点发现和药物研发中展现出巨大潜力。

matlabgoodboy的博客 1521

Ghost备份还原Win10全攻略:从老电脑迁移到新硬盘,ESP分区处理是关键

本文详细介绍了使用Ghost工具将Win10系统从旧电脑迁移到新硬盘的全过程,特别强调了ESP分区的关键处理方法。通过分步指导备份、分区准备、系统还原和引导修复,帮助用户实现无缝系统迁移,解决常见问题如启动失败和驱动兼容性。

weixin_30823001的博客 672

RK3588 部署 YOLO26-Pose 人体姿态检测:Windows Docker 环境全流程

YOLO26-Pose 在 RK3588 上的部署流程是 PC 端 ONNX 导出 → RKNN 转换(INT8 量化)→ 板端推理。INT8 量化后 YOLO26s-Pose 约 35ms,YOLO26n-Pose 约 15ms,可以覆盖实时姿态检测的需求。后处理是 Python 实现的常见瓶颈——如果帧率不达标,先用 npy 保存模型输出在 PC 上验证解析逻辑的正确性,确认无误后再迁移到 C++ 实现。

m0_64661770的博客 544

TensorRT量化校准数据集选择

在TensorRT中进行INT8量化时,校准数据集的选择至关重要,直接影响量化后模型的精度和推理性能。这是一个典型的问题。

浩瀚之水的专栏 499

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

下一篇: 图像增广--翻转 裁剪和变化颜色
水滩
博客等级 码龄4年 176粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值