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的博客 3931

【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

深信服PT1-AF实验考试

深信服PT1-AF实验考试实验练习可以去深信服的在线实验平台(链接如下):深信服在线实验平台 (sangfor.com.cn)实验考试其实就是把所有的每一部分实验综合了起来以下内容仅做参考,不确保一样。

m0_72019240的博客 7119

研究生课程笔记:软件包在流行病学中的应用(三)——STATA软件

关键词:STATA软件基本操作、STATA对于流行病学研究的实现、STATA对复杂抽样设计样本量计算的实现 一、STATA软件基本操作 这部分网上教程有很多,也可以直接根据stata自带的help功能进行自学,在此只记录课程中提及的功能项。 1. 变量编辑 1.1 赋值:label type(按精度区分) 1) 整型:int(32), short(16), long(32) 2) 实型:flo...

weixin_45463530的博客 2432

手把手教你用Gazebo插件实现阿克曼底盘仿真(附Navigation2适配指南)

本文提供了一份完整的ROS2 Navigation2与Gazebo阿克曼底盘仿真全栈指南。从阿克曼运动学原理出发,详细讲解了如何构建URDF/SDF模型、集成gazebo_ros_ackermann_drive插件并进行PID调优,并重点阐述了如何深度适配Navigation2,包括配置Ackermann运动模型、调整规划器与恢复行为,最终实现从建图到自主导航的全流程仿真。

weixin_29310631的博客 398

小米手机Magisk解锁与Root完整指南:从Bootloader到模块管理

Android系统Root权限获取是设备深度定制的核心技术之一,其核心原理在于通过修改系统启动流程获取超级用户权限。Systemless Root技术通过动态挂载修改,在不触碰系统分区的前提下实现功能注入,既保证了系统完整性,又能绕过完整性检测。这一技术为设备带来了极高的可定制性,用户可以通过模块化方式增强系统功能、修改UI界面或启用隐藏特性。在小米手机生态中,由于官方提供了完整的Bootloader解锁通道,结合Magisk的无系统修改Root方案,使得安全可控的深度定制成为可能。本文聚焦于Bootloa

weixin_29164185的博客 334

从零构建虚幻引擎体积云:参数调优与性能平衡的艺术

本文深入探讨了在虚幻引擎中构建逼真体积云系统的关键技术,包括Sky Atmosphere、Volumetric Cloud和Exponential Height Fog三大核心组件的协同工作。重点解析了体积云材质的高级控制、光照阴影的物理模拟以及性能优化策略,帮助开发者在视觉效果与性能之间找到最佳平衡点。

weixin_29012677的博客 938

VFIO框架源码分析(一)- 从初始化到设备访问

本文深入剖析了Linux内核中的VFIO(Virtual Function I/O)框架,详细解读了其从初始化到设备访问的全过程。VFIO通过Container->Group->Device的层次化设计,利用IOMMU提供安全隔离,允许用户空间直接访问物理设备。文章基于Linux v5.15版本,重点分析了vfio_init模块入口、Container创建与配置、Group关联以及最终设备访问等关键环节,揭示了VFIO如何通过逐层授权机制构建安全可靠的设备直通模型,为虚拟化技术提供核心支持。

qq_36071928的博客 380

【OpenCV】图像的像素直方图 图像特征点 cv::FAST cv::ORB ORB_SLAM2::ORB

文章目录图像直方图代码实现cv::FAST和cv::ORB 检测图像特征点cv::FAST和cv::ORB 检测图像特征点代码实现ORB_SLAM2::ORB和自己实现ORB图像特征点检测效果对比ORB_SLAM2::ORB和自己实现ORB图像特征点检测效果对比代码实现 图像直方图代码实现 图像是由不同数值(颜色)的像素构成的,像素值在图像中的分布情况是图像的重要属性,可以用直方图修改图像的外观,标识图像的内容,检测图像中特定的物体或纹理。 单通道灰度图像中每个像素都有一个 0(黑色)-255(白色)的整

小秋 AI SLAM 入门实战教程 2510

2026年大数据开发工程师常见面试选择题

大数据面试高频考点解析 摘要:本文汇总了30道大数据开发面试高频题目,涵盖Hadoop生态、Spark、Flink、Kafka等核心组件。重点包括:1)HDFS架构与特性(5V特征、副本机制);2)MapReduce/Spark原理(Shuffle过程、RDD抽象);3)实时计算(Kafka消费组、Flink Watermark);4)数据仓库设计(分层模型、性能优化)。特别强调数据倾斜、小文件问题等实战场景的解决方案,以及从日志、资源等多维度排查任务异常的方法。掌握这些基础原理和典型问题应对策略,是应对大

不务正业的猿 450

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值