《动手学深度学习》2.2数据操作练习代码

最近在阅读动手学深度学习一书,记录一些跟着书写的实例代码 供大家参考

from mxnet import nd

x = nd.arange(12)
print(x)
print(x.shape) #shape获得数组的形状
print(x.size) #size获得数组元素个数
y=x.reshape(3,4) #reshape可以改变数组形状
print(y)
print(y.shape)

z = nd.zeros((2, 3, 4)) #生成零矩阵 注意括号 维度要包含在括号中 (2,3,4)
print(z)

n=nd.ones((2,3,4))  #生成1矩阵 注意括号 维度要包含在括号中 (2,3,4)
print(n)

Y = nd.array([[2, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]])
print(Y)

q=nd.random.normal(0, 1, shape=(3, 4)) #随机生成 随机采样于均值为 0 标准差为 1 的正态分布
print(q)

print(Y+y)

print(Y*y)

print(y/Y)

print(Y.exp())  # 按元素做指数运算 求e的x次方


print(Y.T) # .T转置矩阵

print(nd.dot(y , Y.T))  #dot()计算两个矩阵乘积
print(nd.concat(y,Y,dim=0)) #concat()连接两个矩阵 dim=0 代表 竖着连接 0行数增加
print(nd.concat(y,Y,dim=1)) #                     dim=1 代表 横着连接 1列数增加

print(y==Y) # ==判断两个矩阵在各对应位置是否相同 相同为1 不同为0

print(y.sum()) #求和

print(y.norm())
print(y.norm().asscalar()) #将向量X转换成标量,且向量X只能为一维含单个元素的向量

以下为程序运行结果

D:\miniconda3\envs\gluon\python.exe D:/DongShouDeep/Gluon/first.py

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

[[ 0.  1.  2.  3.]
 [ 4.  5.  6.  7.]
 [ 8.  9. 10. 11.]]
<NDArray 3x4 @cpu(0)>
(3, 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. 1. 1. 1.]
  [1. 1. 1. 1.]
  [1. 1. 1. 1.]]

 [[1. 1. 1. 1.]
  [1. 1. 1. 1.]
  [1. 1. 1. 1.]]]
<NDArray 2x3x4 @cpu(0)>

[[2. 1. 4. 3.]
 [1. 2. 3. 4.]
 [4. 3. 2. 1.]]
<NDArray 3x4 @cpu(0)>

[[ 1.1630785   0.4838046   0.29956347  0.15302546]
 [-1.1688148   1.558071   -0.5459446  -2.3556297 ]
 [ 0.54144025  2.6785064   1.2546344  -0.54877406]]
<NDArray 3x4 @cpu(0)>

[[ 2.  2.  6.  6.]
 [ 5.  7.  9. 11.]
 [12. 12. 12. 12.]]
<NDArray 3x4 @cpu(0)>

[[ 0.  1.  8.  9.]
 [ 4. 10. 18. 28.]
 [32. 27. 20. 11.]]
<NDArray 3x4 @cpu(0)>

[[ 0.    1.    0.5   1.  ]
 [ 4.    2.5   2.    1.75]
 [ 2.    3.    5.   11.  ]]
<NDArray 3x4 @cpu(0)>

[[ 7.389056   2.7182817 54.59815   20.085537 ]
 [ 2.7182817  7.389056  20.085537  54.59815  ]
 [54.59815   20.085537   7.389056   2.7182817]]
<NDArray 3x4 @cpu(0)>

[[2. 1. 4.]
 [1. 2. 3.]
 [4. 3. 2.]
 [3. 4. 1.]]
<NDArray 4x3 @cpu(0)>

[[ 18.  20.  10.]
 [ 58.  60.  50.]
 [ 98. 100.  90.]]
<NDArray 3x3 @cpu(0)>

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

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

[[0. 1. 0. 1.]
 [0. 0. 0. 0.]
 [0. 0. 0. 0.]]
<NDArray 3x4 @cpu(0)>

[66.]
<NDArray 1 @cpu(0)>

[22.494442]
<NDArray 1 @cpu(0)>
22.494442

Process finished with exit code 0

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

几度热忱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值