| .. Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| |
| mxnet.ndarray |
| ============= |
| |
| The NDArray library in Apache MXNet defines the core data structure for all mathematical computations. NDArray supports fast execution on a wide range of hardware configurations and automatically parallelizes multiple operations across the available hardware. |
| |
| Example |
| ------- |
| |
| The following example shows how you can create an NDArray from a regular Python list using the 'array' function. |
| |
| .. code-block:: python |
| |
| import mxnet as mx |
| # create a 1-dimensional array with a python list |
| a = mx.nd.array([1,2,3]) |
| # create a 2-dimensional array with a nested python list |
| b = mx.nd.array([[1,2,3], [2,3,4]]) |
| {'a.shape':a.shape, 'b.shape':b.shape} |
| |
| |
| .. note:: ``mxnet.ndarray`` is similar to ``numpy.ndarray`` in some aspects. But the differences are not negligible. For instance: |
| |
| - ``mxnet.ndarray.NDArray.T`` does real data transpose to return new a copied |
| array, instead of returning a view of the input array. |
| - ``mxnet.ndarray.dot`` performs dot product between the last axis of the |
| first input array and the first axis of the second input, while `numpy.dot` |
| uses the second last axis of the input array. |
| |
| In addition, ``mxnet.ndarray.NDArray`` supports GPU computation and various neural |
| network layers. |
| |
| .. note:: ``ndarray`` provides almost the same routines as ``symbol``. Most |
| routines between these two packages share the source code. But ``ndarray`` |
| differs from ``symbol`` in few aspects: |
| |
| - ``ndarray`` adopts imperative programming, namely sentences are executed |
| step-by-step so that the results can be obtained immediately whereas |
| ``symbol`` adopts declarative programming. |
| |
| - Most binary operators in ``ndarray`` such as ``+`` and ``>`` have |
| broadcasting enabled by default. |
| |
| Tutorials |
| --------- |
| |
| .. container:: cards |
| |
| |
| .. card:: |
| :title: NDArray Guide |
| :link: ../../tutorials/packages/ndarray/ |
| |
| The NDArray guide. Start here! |
| |
| |
| |
| NDArray API of MXNet |
| -------------------- |
| |
| .. container:: cards |
| |
| .. card:: |
| :title: NDArray |
| :link: ndarray.html |
| |
| Imperative tensor operations using the NDArray API. |
| |
| |
| Sparse NDArray API of MXNet |
| --------------------------- |
| |
| .. container:: cards |
| |
| .. card:: |
| :title: Sparse routines |
| :link: sparse/index.html |
| |
| Representing and manipulating sparse arrays. |
| |
| |
| |
| .. toctree:: |
| :hidden: |
| :maxdepth: 2 |
| :glob: |
| |
| ndarray |
| */index |