数据操作 讨论区


#42
from mxnet import ndarray as nd
import numpy as np
a = np.ones((2,3))
b = nd.array(a)  # numpy -> mxnet
c = b.asnumpy()  # mxnet -> numpy
d = nd.array(a, dtype="float64")  # numpy -> mxnet
e = d.asnumpy()
print("a.dtype =", a.dtype)
print("b.dtype =", b.dtype)
print("c.dtype =", c.dtype)
print("d.dtype =", d.dtype)
print("e.dtype =", e.dtype)

打印结果为:
a.dtype = float64
b.dtype = <class ‘numpy.float32’>
c.dtype = float32
d.dtype = <class ‘numpy.float64’>
e.dtype = float64

从打印来看,在numpy转为mxnet.nd的时候,即b = nd.array(a)时,会把float64自动转为float32

在源码中可以证实,在文件~/miniconda3/lib/python3.7/site-packages/mxnet/ndarray/ndarray.py中,

def array(source_array, ctx=None, dtype=None):

函数下

dtype = mx_real_t if dtype is None else dtype

这里 mx_real_t = np.float32,
所以,所有的numpy格式转为mxnet.nd.array时,默认都会自动转为float32格式


#43

这里是PDSH中关于numpy广播的介绍。MXNET应该也是一样的。

  • Rule 1: If the two arrays differ in their number of dimensions, the shape of the one with fewer dimensions is padded with ones on its leading (left) side.
  • Rule 2: If the shape of the two arrays does not match in any dimension, the array with shape equal to 1 in that dimension is stretched to match the other shape.
  • Rule 3: If in any dimension the sizes disagree and neither is equal to 1, an error is raised.

#44

原谅我的无知,我已经安装成功,但这第一句:from mxnet import nd
是在哪里运行?先启动python?
如果是不是,我输入后,显示:
from: can’t read var/mail/mxnet

mxnet没安装?


#45

image
我也是这样,用这个就可以了,要再安一次
pip install --pre mxnet-cu75 # CUDA 7.5
pip install --pre mxnet-cu80 # CUDA 8.0


#46

你要是确实是按照流程走的话,先激活环境,然后再打开jupyter,那么就是在当前虚拟环境中的的juputer记事本中运行的,也就是用的Python呐,建议你去查查看虚拟环境的含义,方便你搞懂这个系统是怎么运作的


#47

我想问一下,是不是可以随意安装哪个版本,cu80 cu75都可以?我现在可以正常运行cpu版本的mxnet,但是按照教程安装gpu的总是无法成功,也搞不懂cuda到底是什么,所以很惆怅GPU版本的咋办(>﹏<)


#48

你可以去百度搜一下啊,我的理解它就是个软件,和qq啥的差不多,你直接百度cuda官网,去里面下载就好了,但是好像这个不支持10.1版本,你要去官网里面找10.0的,好像官网里面已经找不到8.0,7.5的了,要不就是我没找到,要想下载之前版本网上也有好多安装包


#49

而且cuda好像只支持n卡,a卡不支持


#50

嗯嗯嗯好的,谢谢啦,我这就去找找看


#51


nnumpy 转nd 值发生了变化 请问有人遇见这样的情况嘛


#52

请问您解决这个问题了吗?怎么解决呢


#53

shape可以出正常结果,reshape报错怎么办?


#54

您好,问题解决了吗?我也遇到了相同问题,求指教,谢谢


#55

想问下 nd.random.normal 和 nd.normal 这两个函数是什么关系。
我在 nd.normal 函数的帮助文档看到 The existing alias normal is deprecated. 这样一句话,请问是什么意思。


#56

为什么单位阵的生成如nd.eye(3,3)中只要一个括号,而全1矩阵的生成如nd.ones((3, 4))中要两个括号