0. Введение
В MXNet,NDArray
Является классом и основным инструментом для хранения и преобразования данных. Если вы использовали NumPy раньше, вы найдетеNDArray
Очень похоже на многомерные массивы NumPy. Тем не мение,NDArray
Предоставляет дополнительные функции, такие как вычисления на графическом процессоре и автоматический расчет градиента, которые позволяютNDArray
Больше подходит для глубокого обучения. Подобно тензору и переменным TensorFlow в pytorch, изучите метод работы NumPy и внедрите вычисления на GPU, поскольку NumPy не поддерживает GPU.
1. Описание проблемы
Иногда нам нужноNDArray
Преобразование в многомерные массивы NumPy и из них для достижения целевой функции. В MXNet можно пройтиarray
функция иasnumpy
функция делает данные вNDArray
Преобразование в формат NumPy и из него. Следующее будетNDArray
Экземпляр преобразуется в экземпляр NumPy.
In [1]:
import mxnet as mx
In [2]:
x_nd = mx.nd.arange(12).reshape([-1,3])
x_nd
Out[2]:
[[ 0. 1. 2.]
[ 3. 4. 5.]
[ 6. 7. 8.]
[ 9. 10. 11.]]
<NDArray 4x3 @cpu(0)>
In [3]:
x_np = x_nd.asnumpy()
x_np
Out[3]:
array([[ 0., 1., 2.],
[ 3., 4., 5.],
[ 6., 7., 8.],
[ 9., 10., 11.]], dtype=float32)
Затем преобразуйте экземпляр NumPy вNDArray
пример.
In [4]:
x_nd1 = mx.nd.array(x_np)
x_nd1
Out[4]:
[[ 0. 1. 2.]
[ 3. 4. 5.]
[ 6. 7. 8.]
[ 9. 10. 11.]]
<NDArray 4x3 @cpu(0)>