Python 3.x mxnet导入nd或np以使用数组
我开始研究mxnet和gluon,但我对np/nd阵列的使用感到有些困惑Python 3.x mxnet导入nd或np以使用数组,python-3.x,numpy-ndarray,mxnet,Python 3.x,Numpy Ndarray,Mxnet,我开始研究mxnet和gluon,但我对np/nd阵列的使用感到有些困惑 根据gluon网站上的建议,我通过运行以下程序安装了mxnet和gluon: pip install --upgrade mxnet gluoncv 安装mxnet版本1.5.1.post0的。在这种情况下,要使用阵列,我需要: from mxnet import ndarray as nd 另一方面,我发现了一本基于mxnet的深度学习书籍,他们让您通过以下方式安装了更高版本的mxnet: pip install
- 根据gluon网站上的建议,我通过运行以下程序安装了mxnet和gluon:
安装mxnet版本1.5.1.post0的。在这种情况下,要使用阵列,我需要:pip install --upgrade mxnet gluoncv
from mxnet import ndarray as nd
- 另一方面,我发现了一本基于mxnet的深度学习书籍,他们让您通过以下方式安装了更高版本的mxnet:
在这种情况下,您可以导入ndarray或直接导入np,因此:pip install mxnet==1.6.0b20190915
from mxnet import ndarray as nd from mxnet import np
在这两种情况下,我似乎都可以使用mxnet功能(如attach_grad())。例如,以下功能可以正常工作:
from mxnet import np
array = np.array([1,2,3)
array.attach_grad()
谢谢 这里解释了引入mx.np
模块的动机。要给出mx.np
和mx.nd
模块之间的几个突出区别:
mx.np
模块采用了官方的NumPy operator API,该API已经发展了近二十年,为来自NumPy世界的用户提供了一种轻松过渡到深度学习的体验,而mx.nd
模块的开发没有遵循完善的规范来定义操作员签名,有时会造成混淆,例如,dim
vsaxis
mx.np
中注册的运营商与官方NumPy运营商有着高度兼容的行为,而mx.nd
运营商则不具备这些方面。例如,在mx.np
中支持零维/标量、零大小、布尔张量和布尔索引,但在mx.nd
中不支持可以考虑<代码> MX.NP<代码>作为增强版的代码> MX.ND/COD>在可用性、功能和性能方面。code>mx.nd将在未来的版本中逐渐被弃用。
那么:从mxnet导入numpy
有效吗?是的,有效。而且,正如我所说,以这种方式创建的阵列似乎可以使用mxnet的附加功能,而这些功能通常不适用于numpy阵列。numpy阵列和nd阵列之间的一个重大区别是,nd阵列可以通过传递上下文(例如,nd.array([1,2],ctx=mx.gpu(0))在gpu内存中分配您好,既然mxnet.glion.dataset似乎是ndarray格式的,那么建议如何将其转换为mx.np格式?