前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >『开发技术』MXNet中np.array与ndarray相互转换

『开发技术』MXNet中np.array与ndarray相互转换

作者头像
小宋是呢
发布2019-08-15 19:08:35
2.1K0
发布2019-08-15 19:08:35
举报
文章被收录于专栏:深度应用深度应用

0.背景介绍

在MXNet中,NDArray是一个类,也是存储和变换数据的主要工具。如果你之前用过NumPy,你会发现NDArray和NumPy的多维数组非常类似。然而,NDArray提供GPU计算和自动求梯度等更多功能,这些使NDArray更加适合深度学习。类似于TensorFlow的tensor与pytorch中的variable,学习NumPy操作方式,实现GPU计算,由于NumPy不支持GPU。

1.问题描述

有时候我们需要将NDArray和NumPy的多维数组相互转换来实现目标功能。在MXNet中可以通过array函数和asnumpy函数令数据在NDArray和NumPy格式之间相互变换。下面将NDArray实例变换成NumPy实例。

In [1]:

代码语言:javascript
复制
import mxnet as mx

In [2]:

代码语言:javascript
复制
x_nd = mx.nd.arange(12).reshape([-1,3])
x_nd

Out[2]:

代码语言:javascript
复制
[[ 0.  1.  2.]
 [ 3.  4.  5.]
 [ 6.  7.  8.]
 [ 9. 10. 11.]]
<NDArray 4x3 @cpu(0)>

In [3]:

代码语言:javascript
复制
x_np = x_nd.asnumpy()
x_np

Out[3]:

代码语言:javascript
复制
array([[ 0.,  1.,  2.],
       [ 3.,  4.,  5.],
       [ 6.,  7.,  8.],
       [ 9., 10., 11.]], dtype=float32)

再将NumPy实例变换成NDArray实例。

In [4]:

代码语言:javascript
复制
x_nd1 = mx.nd.array(x_np)
x_nd1

Out[4]:

代码语言:javascript
复制
[[ 0.  1.  2.]
 [ 3.  4.  5.]
 [ 6.  7.  8.]
 [ 9. 10. 11.]]
<NDArray 4x3 @cpu(0)>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年08月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0.背景介绍
  • 1.问题描述
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档