Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

MxNet_gluon中文教程 PDF 下载


分享到:
时间:2022-01-06 10:21来源:http://www.java1234.com 作者:转载  侵权举报
MxNet_gluon中文教程 PDF 下载
失效链接处理
MxNet_gluon中文教程 PDF 下载


本站整理下载:
提取码:b0sw 
 
 
相关截图:
 
主要内容:

2.2 数据操作
在深度学习中,我们通常会频繁地对数据进⾏操作。作为动⼿学深度学习的基础,本节将介绍如
何对内存中的数据进⾏操作。
在MXNet中,NDArray是存储和变换数据的主要⼯具。如果你之前⽤过NumPy,你会发现NDAr-
ray 和 NumPy 的多维数组⾮常类似。然而,NDArray 提供诸如 GPU 计算和⾃动求导在内的更多
功能。这些都使得 NDArray 更加适合深度学习。
2.2.1 创建NDArray
我们先介绍 NDArray 的最基本功能。如果你对我们⽤到的数学操作不是很熟悉,可以参阅“数学
基础”⼀节。
⾸先从 MXNet 导⼊ NDArray。
In [1]: from mxnet import nd
然后我们⽤ NDArray 创建⼀个⾏向量。
In [2]: x = nd.arange(12)
x
Out[2]:
[ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.]
<NDArray 12 @cpu(0)>
以上创建的 NDArray ⼀共包含 12 个元素(element),分别为 arange(12) 所指定的从 0 开始
的 12 个连续整数。可以看到,打印的 x 中还标注了属性 <NDArray 12 @cpu(0)>。其中,12
指的是 NDArray 的形状,即向量的⻓度;而 @cpu(0) 说明默认情况下 NDArray 被创建在 CPU 上。
18 2. 预备知识
下⾯使⽤ reshape 函数把向量 x 的形状改为 (3, 4),也就是⼀个 3 ⾏ 4 列的矩阵。除了形状改
变之外,x 中的元素保持不变。
In [3]: x = x.reshape((3, 4))
x
Out[3]:
[[ 0. 1. 2. 3.]
[ 4. 5. 6. 7.]
[ 8. 9. 10. 11.]]
<NDArray 3x4 @cpu(0)>
上⾯ x.reshape((3, 4)) 也可写成 x.reshape((-1, 4)) 或 x.reshape((3, -1))。
由于 x 的元素个数是已知的,这⾥的-1 是能够通过元素个数和其他维的⼤小推断出来的。
接下来,我们创建⼀个各元素为 0,形状为 (2, 3, 4) 的张量。实际上,之前创建的向量和矩阵都是
特殊的张量。
In [4]: nd.zeros((2, 3, 4))
Out[4]:
[[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]
[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]]
<NDArray 2x3x4 @cpu(0)>
类似地,我们可以创建各元素为 1 的张量。
In [5]: nd.ones((3, 4))
Out[5]:
[[ 1. 1. 1. 1.]
[ 1. 1. 1. 1.]
[ 1. 1. 1. 1.]]
<NDArray 3x4 @cpu(0)>
我们也可以通过 Python 的列表(list)指定需要创建的 NDArray 中每个元素的值。
In [6]: y = nd.array([[2, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]])
y
Out[6]:
[[ 2. 1. 4. 3.]
[ 1. 2. 3. 4.]
2.2. 数据操作 19
[ 4. 3. 2. 1.]]
<NDArray 3x4 @cpu(0)>
有些情况下,我们需要随机⽣成 NDArray 中每个元素的值。下⾯我们创建⼀个形状为 (3, 4) 的
NDArray。它的每个元素都随机采样于均值为 0 标准差为 1 的正态分布。
In [7]: nd.random.normal(0, 1, shape=(3, 4))
Out[7]:
[[ 2.21220636 0.7740038 1.04344046 1.18392551]
[ 1.89171135 -1.23474145 -1.771029 -0.45138445]
[ 0.57938355 -1.85608196 -1.9768796 -0.20801921]]
<NDArray 3x4 @cpu(0)>
每个 NDArray 的形状可以通过 shape 属性来获取。
In [8]: y.shape
Out[8]: (3, 4)
⼀个 NDArray 的⼤小(size)即其元素的总数。
In [9]: y.size
Out[9]: 12
 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐