| <!DOCTYPE html> |
| |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <meta charset="utf-8" /> |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> |
| <meta http-equiv="x-ua-compatible" content="ie=edge"> |
| |
| <title>mxnet.ndarray.ndarray — Apache MXNet documentation</title> |
| |
| <link rel="stylesheet" href="../../../_static/basic.css" type="text/css" /> |
| <link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" /> |
| <link rel="stylesheet" type="text/css" href="../../../_static/mxnet.css" /> |
| <link rel="stylesheet" href="../../../_static/material-design-lite-1.3.0/material.blue-deep_orange.min.css" type="text/css" /> |
| <link rel="stylesheet" href="../../../_static/sphinx_materialdesign_theme.css" type="text/css" /> |
| <link rel="stylesheet" href="../../../_static/fontawesome/all.css" type="text/css" /> |
| <link rel="stylesheet" href="../../../_static/fonts.css" type="text/css" /> |
| <script type="text/javascript" id="documentation_options" data-url_root="../../../" src="../../../_static/documentation_options.js"></script> |
| <script type="text/javascript" src="../../../_static/jquery.js"></script> |
| <script type="text/javascript" src="../../../_static/underscore.js"></script> |
| <script type="text/javascript" src="../../../_static/doctools.js"></script> |
| <script type="text/javascript" src="../../../_static/language_data.js"></script> |
| <script type="text/javascript" src="../../../_static/google_analytics.js"></script> |
| <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script> |
| <script type="text/x-mathjax-config">MathJax.Hub.Config({"tex2jax": {"inlineMath": [["$", "$"], ["\\(", "\\)"]], "processEscapes": true, "ignoreClass": "document", "processClass": "math|output_area"}})</script> |
| <link rel="shortcut icon" href="../../../_static/mxnet-icon.png"/> |
| <link rel="index" title="Index" href="../../../genindex.html" /> |
| <link rel="search" title="Search" href="../../../search.html" /> |
| </head> |
| <body><header class="site-header" role="banner"> |
| <div class="wrapper"> |
| <a class="site-title" rel="author" href="/"><img |
| src="../../../_static/mxnet_logo.png" class="site-header-logo"></a> |
| <nav class="site-nav"> |
| <input type="checkbox" id="nav-trigger" class="nav-trigger"/> |
| <label for="nav-trigger"> |
| <span class="menu-icon"> |
| <svg viewBox="0 0 18 15" width="18px" height="15px"> |
| <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"/> |
| </svg> |
| </span> |
| </label> |
| |
| <div class="trigger"> |
| <a class="page-link" href="/get_started">Get Started</a> |
| <a class="page-link" href="/blog">Blog</a> |
| <a class="page-link" href="/features">Features</a> |
| <a class="page-link" href="/ecosystem">Ecosystem</a> |
| <a class="page-link page-current" href="/api">Docs & Tutorials</a> |
| <a class="page-link" href="https://github.com/apache/incubator-mxnet">GitHub</a> |
| </div> |
| </nav> |
| </div> |
| </header> |
| <div class="mdl-layout mdl-js-layout mdl-layout--fixed-header mdl-layout--fixed-drawer"><header class="mdl-layout__header mdl-layout__header--waterfall "> |
| <div class="mdl-layout__header-row"> |
| |
| <nav class="mdl-navigation breadcrumb"> |
| <a class="mdl-navigation__link" href="../../index.html">Module code</a><i class="material-icons">navigate_next</i> |
| <a class="mdl-navigation__link is-active">mxnet.ndarray.ndarray</a> |
| </nav> |
| <div class="mdl-layout-spacer"></div> |
| <nav class="mdl-navigation"> |
| |
| <form class="form-inline pull-sm-right" action="../../../search.html" method="get"> |
| <div class="mdl-textfield mdl-js-textfield mdl-textfield--expandable mdl-textfield--floating-label mdl-textfield--align-right"> |
| <label id="quick-search-icon" class="mdl-button mdl-js-button mdl-button--icon" for="waterfall-exp"> |
| <i class="material-icons">search</i> |
| </label> |
| <div class="mdl-textfield__expandable-holder"> |
| <input class="mdl-textfield__input" type="text" name="q" id="waterfall-exp" placeholder="Search" /> |
| <input type="hidden" name="check_keywords" value="yes" /> |
| <input type="hidden" name="area" value="default" /> |
| </div> |
| </div> |
| <div class="mdl-tooltip" data-mdl-for="quick-search-icon"> |
| Quick search |
| </div> |
| </form> |
| |
| </nav> |
| </div> |
| <div class="mdl-layout__header-row header-links"> |
| <div class="mdl-layout-spacer"></div> |
| <nav class="mdl-navigation"> |
| </nav> |
| </div> |
| </header><header class="mdl-layout__drawer"> |
| |
| <div class="globaltoc"> |
| <span class="mdl-layout-title toc">Table Of Contents</span> |
| |
| |
| |
| <nav class="mdl-navigation"> |
| <ul> |
| <li class="toctree-l1"><a class="reference internal" href="../../../tutorials/index.html">Python Tutorials</a><ul> |
| <li class="toctree-l2"><a class="reference internal" href="../../../tutorials/getting-started/index.html">Getting Started</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/getting-started/crash-course/index.html">Crash Course</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/getting-started/crash-course/1-ndarray.html">Manipulate data with <code class="docutils literal notranslate"><span class="pre">ndarray</span></code></a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/getting-started/crash-course/2-nn.html">Create a neural network</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/getting-started/crash-course/3-autograd.html">Automatic differentiation with <code class="docutils literal notranslate"><span class="pre">autograd</span></code></a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/getting-started/crash-course/4-train.html">Train the neural network</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/getting-started/crash-course/5-predict.html">Predict with a pre-trained model</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/getting-started/crash-course/6-use_gpus.html">Use GPUs</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/getting-started/to-mxnet/index.html">Moving to MXNet from Other Frameworks</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/getting-started/to-mxnet/pytorch.html">PyTorch vs Apache MXNet</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"><a class="reference internal" href="../../../tutorials/packages/index.html">Packages</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/packages/gluon/index.html">Gluon</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/custom_layer_beginners.html">How to write a custom layer in Apache MxNet Gluon API</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/data.html">Data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/image-augmentation.html">Image Augmentation</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/nn.html">Layers and Blocks</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/normalization/normalization.html">Normalization Blocks</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/activations/activations.html">Activation Blocks</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/custom-loss/custom-loss.html">Custom Loss Blocks</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/init.html">Initialization</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/init.html#Conclusion">Conclusion</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/init.html#Recommended-Next-Steps">Recommended Next Steps</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/parameters.html">Parameter Management</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/trainer.html">Trainer</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/naming.html">Naming of Gluon Parameter and Blocks</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/custom-layer.html">Custom Layers</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/customop.html">Creating custom operators with numpy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/hybridize.html">Hybridize</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/image/index.html">Image Tutorials</a><ul> |
| <li class="toctree-l5"><a class="reference internal" href="../../../tutorials/packages/gluon/image/mnist.html">Handwritten Digit Recognition</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../tutorials/packages/gluon/image/pretrained_models.html">Using pre-trained models in MXNet</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/text/index.html">Text Tutorials</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/text/index.html#language-model">Language Model</a><ul class="simple"> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/packages/ndarray/index.html">NDArray</a><ul class="simple"> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/packages/symbol/index.html">Symbol</a><ul class="simple"> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/packages/autograd/autograd.html">Automatic Differentiation</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/packages/onnx/index.html">ONNX</a><ul class="simple"> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"><a class="reference internal" href="../../../tutorials/performance/index.html">Performance</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/performance/compression/index.html">Compression</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/performance/compression/int8.html">Deploy with int-8</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/performance/backend/index.html">Accelerated Backend Tools</a><ul class="simple"> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"><a class="reference internal" href="../../../tutorials/deploy/index.html">Deployment</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/deploy/export/index.html">Export</a><ul class="simple"> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/deploy/inference/index.html">Inference</a><ul class="simple"> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/deploy/run-on-aws/index.html">Run on AWS</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/deploy/run-on-aws/use_ec2.html">Run on an EC2 Instance</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/deploy/run-on-aws/use_sagemaker.html">Run on Amazon SageMaker</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/deploy/run-on-aws/cloud.html">MXNet on the Cloud</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"><a class="reference internal" href="../../../tutorials/extend/index.html">Customization</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/extend/custom_layer.html">How to write a custom layer in Apache MxNet Gluon API</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/extend/customop.html">Creating custom operators with numpy</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l1"><a class="reference internal" href="../../../api/index.html">Python API</a><ul> |
| <li class="toctree-l2"><a class="reference internal" href="../../../api/ndarray/index.html">mxnet.ndarray</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/ndarray/mxnet.ndarray.NDArray.html">NDArray</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.context.html">mxnet.ndarray.NDArray.context</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.dtype.html">mxnet.ndarray.NDArray.dtype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.grad.html">mxnet.ndarray.NDArray.grad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.handle.html">mxnet.ndarray.NDArray.handle</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.ndim.html">mxnet.ndarray.NDArray.ndim</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.shape.html">mxnet.ndarray.NDArray.shape</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.size.html">mxnet.ndarray.NDArray.size</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.stype.html">mxnet.ndarray.NDArray.stype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.writable.html">mxnet.ndarray.NDArray.writable</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.ones_like.html">mxnet.ndarray.NDArray.ones_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.zeros_like.html">mxnet.ndarray.NDArray.zeros_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.as_in_context.html">mxnet.ndarray.NDArray.as_in_context</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.asnumpy.html">mxnet.ndarray.NDArray.asnumpy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.asscalar.html">mxnet.ndarray.NDArray.asscalar</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.astype.html">mxnet.ndarray.NDArray.astype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.copy.html">mxnet.ndarray.NDArray.copy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.copyto.html">mxnet.ndarray.NDArray.copyto</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.tostype.html">mxnet.ndarray.NDArray.tostype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.diag.html">mxnet.ndarray.NDArray.diag</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.expand_dims.html">mxnet.ndarray.NDArray.expand_dims</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.flatten.html">mxnet.ndarray.NDArray.flatten</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.reshape.html">mxnet.ndarray.NDArray.reshape</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.reshape_like.html">mxnet.ndarray.NDArray.reshape_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.shape_array.html">mxnet.ndarray.NDArray.shape_array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.size_array.html">mxnet.ndarray.NDArray.size_array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.split.html">mxnet.ndarray.NDArray.split</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.broadcast_to.html">mxnet.ndarray.NDArray.broadcast_to</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.broadcast_axes.html">mxnet.ndarray.NDArray.broadcast_axes</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.broadcast_like.html">mxnet.ndarray.NDArray.broadcast_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.pad.html">mxnet.ndarray.NDArray.pad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.repeat.html">mxnet.ndarray.NDArray.repeat</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.tile.html">mxnet.ndarray.NDArray.tile</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.depth_to_space.html">mxnet.ndarray.NDArray.depth_to_space</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.flip.html">mxnet.ndarray.NDArray.flip</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.swapaxes.html">mxnet.ndarray.NDArray.swapaxes</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.space_to_depth.html">mxnet.ndarray.NDArray.space_to_depth</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.T.html">mxnet.ndarray.NDArray.T</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.transpose.html">mxnet.ndarray.NDArray.transpose</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.argmax.html">mxnet.ndarray.NDArray.argmax</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.argmax_channel.html">mxnet.ndarray.NDArray.argmax_channel</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.argmin.html">mxnet.ndarray.NDArray.argmin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.argsort.html">mxnet.ndarray.NDArray.argsort</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.sort.html">mxnet.ndarray.NDArray.sort</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.topk.html">mxnet.ndarray.NDArray.topk</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__getitem__.html">mxnet.ndarray.NDArray.__getitem__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__setitem__.html">mxnet.ndarray.NDArray.__setitem__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.one_hot.html">mxnet.ndarray.NDArray.one_hot</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.pick.html">mxnet.ndarray.NDArray.pick</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.slice.html">mxnet.ndarray.NDArray.slice</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.slice_axis.html">mxnet.ndarray.NDArray.slice_axis</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.slice_like.html">mxnet.ndarray.NDArray.slice_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.take.html">mxnet.ndarray.NDArray.take</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.wait_to_read.html">mxnet.ndarray.NDArray.wait_to_read</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__add__.html">mxnet.ndarray.NDArray.__add__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__div__.html">mxnet.ndarray.NDArray.__div__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__neg__.html">mxnet.ndarray.NDArray.__neg__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__mod__.html">mxnet.ndarray.NDArray.__mod__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__mul__.html">mxnet.ndarray.NDArray.__mul__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__pow__.html">mxnet.ndarray.NDArray.__pow__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__rdiv__.html">mxnet.ndarray.NDArray.__rdiv__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__rmod__.html">mxnet.ndarray.NDArray.__rmod__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__rsub__.html">mxnet.ndarray.NDArray.__rsub__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__sub__.html">mxnet.ndarray.NDArray.__sub__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.ceil.html">mxnet.ndarray.NDArray.ceil</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.fix.html">mxnet.ndarray.NDArray.fix</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.floor.html">mxnet.ndarray.NDArray.floor</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.rint.html">mxnet.ndarray.NDArray.rint</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.round.html">mxnet.ndarray.NDArray.round</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.trunc.html">mxnet.ndarray.NDArray.trunc</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.max.html">mxnet.ndarray.NDArray.max</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.mean.html">mxnet.ndarray.NDArray.mean</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.min.html">mxnet.ndarray.NDArray.min</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.nanprod.html">mxnet.ndarray.NDArray.nanprod</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.nansum.html">mxnet.ndarray.NDArray.nansum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.norm.html">mxnet.ndarray.NDArray.norm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.prod.html">mxnet.ndarray.NDArray.prod</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.sum.html">mxnet.ndarray.NDArray.sum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__iadd__.html">mxnet.ndarray.NDArray.__iadd__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__idiv__.html">mxnet.ndarray.NDArray.__idiv__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__imod__.html">mxnet.ndarray.NDArray.__imod__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__imul__.html">mxnet.ndarray.NDArray.__imul__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__isub__.html">mxnet.ndarray.NDArray.__isub__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__eq__.html">mxnet.ndarray.NDArray.__eq__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__ge__.html">mxnet.ndarray.NDArray.__ge__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__gt__.html">mxnet.ndarray.NDArray.__gt__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__le__.html">mxnet.ndarray.NDArray.__le__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__lt__.html">mxnet.ndarray.NDArray.__lt__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__ne__.html">mxnet.ndarray.NDArray.__ne__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.arccos.html">mxnet.ndarray.NDArray.arccos</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.arcsin.html">mxnet.ndarray.NDArray.arcsin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.arctan.html">mxnet.ndarray.NDArray.arctan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.cos.html">mxnet.ndarray.NDArray.cos</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.degrees.html">mxnet.ndarray.NDArray.degrees</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.radians.html">mxnet.ndarray.NDArray.radians</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.sin.html">mxnet.ndarray.NDArray.sin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.tan.html">mxnet.ndarray.NDArray.tan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.arccosh.html">mxnet.ndarray.NDArray.arccosh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.arcsinh.html">mxnet.ndarray.NDArray.arcsinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.arctanh.html">mxnet.ndarray.NDArray.arctanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.cosh.html">mxnet.ndarray.NDArray.cosh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.sinh.html">mxnet.ndarray.NDArray.sinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.tanh.html">mxnet.ndarray.NDArray.tanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.exp.html">mxnet.ndarray.NDArray.exp</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.expm1.html">mxnet.ndarray.NDArray.expm1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.log.html">mxnet.ndarray.NDArray.log</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.log1p.html">mxnet.ndarray.NDArray.log1p</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.log10.html">mxnet.ndarray.NDArray.log10</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.log2.html">mxnet.ndarray.NDArray.log2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.cbrt.html">mxnet.ndarray.NDArray.cbrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.rcbrt.html">mxnet.ndarray.NDArray.rcbrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.reciprocal.html">mxnet.ndarray.NDArray.reciprocal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.rsqrt.html">mxnet.ndarray.NDArray.rsqrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.square.html">mxnet.ndarray.NDArray.square</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.sqrt.html">mxnet.ndarray.NDArray.sqrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.clip.html">mxnet.ndarray.NDArray.clip</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.sign.html">mxnet.ndarray.NDArray.sign</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.log_softmax.html">mxnet.ndarray.NDArray.log_softmax</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.relu.html">mxnet.ndarray.NDArray.relu</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.sigmoid.html">mxnet.ndarray.NDArray.sigmoid</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.softmax.html">mxnet.ndarray.NDArray.softmax</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/ndarray/routines.html">Routines</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.arange.html">mxnet.ndarray.arange</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.array.html">mxnet.ndarray.array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.diag.html">mxnet.ndarray.diag</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.empty.html">mxnet.ndarray.empty</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.full.html">mxnet.ndarray.full</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.load.html">mxnet.ndarray.load</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.ones.html">mxnet.ndarray.ones</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.ones_like.html">mxnet.ndarray.ones_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.save.html">mxnet.ndarray.save</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.zeros.html">mxnet.ndarray.zeros</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.zeros_like.html">mxnet.ndarray.zeros_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.cast.html">mxnet.ndarray.cast</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.flatten.html">mxnet.ndarray.flatten</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.expand_dims.html">mxnet.ndarray.expand_dims</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.reshape.html">mxnet.ndarray.reshape</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.reshape_like.html">mxnet.ndarray.reshape_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.shape_array.html">mxnet.ndarray.shape_array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.size_array.html">mxnet.ndarray.size_array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.broadcast_axes.html">mxnet.ndarray.broadcast_axes</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.broadcast_like.html">mxnet.ndarray.broadcast_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.broadcast_to.html">mxnet.ndarray.broadcast_to</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.pad.html">mxnet.ndarray.pad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.repeat.html">mxnet.ndarray.repeat</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.tile.html">mxnet.ndarray.tile</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.depth_to_space.html">mxnet.ndarray.depth_to_space</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.flip.html">mxnet.ndarray.flip</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.space_to_depth.html">mxnet.ndarray.space_to_depth</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.swapaxes.html">mxnet.ndarray.swapaxes</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.transpose.html">mxnet.ndarray.transpose</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.concat.html">mxnet.ndarray.concat</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.split.html">mxnet.ndarray.split</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.stack.html">mxnet.ndarray.stack</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.batch_take.html">mxnet.ndarray.batch_take</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.one_hot.html">mxnet.ndarray.one_hot</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.pick.html">mxnet.ndarray.pick</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.ravel_multi_index.html">mxnet.ndarray.ravel_multi_index</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.slice.html">mxnet.ndarray.slice</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.slice_axis.html">mxnet.ndarray.slice_axis</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.slice_like.html">mxnet.ndarray.slice_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.take.html">mxnet.ndarray.take</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.unravel_index.html">mxnet.ndarray.unravel_index</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.where.html">mxnet.ndarray.where</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.SequenceLast.html">mxnet.ndarray.SequenceLast</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.SequenceMask.html">mxnet.ndarray.SequenceMask</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.SequenceReverse.html">mxnet.ndarray.SequenceReverse</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.add.html">mxnet.ndarray.add</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.add_n.html">mxnet.ndarray.add_n</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.batch_dot.html">mxnet.ndarray.batch_dot</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.divide.html">mxnet.ndarray.divide</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.dot.html">mxnet.ndarray.dot</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.modulo.html">mxnet.ndarray.modulo</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.multiply.html">mxnet.ndarray.multiply</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.negative.html">mxnet.ndarray.negative</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.subtract.html">mxnet.ndarray.subtract</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.arccos.html">mxnet.ndarray.arccos</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.arcsin.html">mxnet.ndarray.arcsin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.arctan.html">mxnet.ndarray.arctan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.broadcast_hypot.html">mxnet.ndarray.broadcast_hypot</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.degrees.html">mxnet.ndarray.degrees</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.cos.html">mxnet.ndarray.cos</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.radians.html">mxnet.ndarray.radians</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sin.html">mxnet.ndarray.sin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.tan.html">mxnet.ndarray.tan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.arcsinh.html">mxnet.ndarray.arcsinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.arccosh.html">mxnet.ndarray.arccosh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.arctanh.html">mxnet.ndarray.arctanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.cosh.html">mxnet.ndarray.cosh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sinh.html">mxnet.ndarray.sinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.tanh.html">mxnet.ndarray.tanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.max.html">mxnet.ndarray.max</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.min.html">mxnet.ndarray.min</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.mean.html">mxnet.ndarray.mean</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.nanprod.html">mxnet.ndarray.nanprod</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.nansum.html">mxnet.ndarray.nansum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.norm.html">mxnet.ndarray.norm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.prod.html">mxnet.ndarray.prod</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sum.html">mxnet.ndarray.sum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.ceil.html">mxnet.ndarray.ceil</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.fix.html">mxnet.ndarray.fix</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.floor.html">mxnet.ndarray.floor</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.round.html">mxnet.ndarray.round</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.rint.html">mxnet.ndarray.rint</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.trunc.html">mxnet.ndarray.trunc</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.exp.html">mxnet.ndarray.exp</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.expm1.html">mxnet.ndarray.expm1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.log.html">mxnet.ndarray.log</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.log1p.html">mxnet.ndarray.log1p</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.log10.html">mxnet.ndarray.log10</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.log2.html">mxnet.ndarray.log2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.cbrt.html">mxnet.ndarray.cbrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.power.html">mxnet.ndarray.power</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.rcbrt.html">mxnet.ndarray.rcbrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.reciprocal.html">mxnet.ndarray.reciprocal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.rsqrt.html">mxnet.ndarray.rsqrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.square.html">mxnet.ndarray.square</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sqrt.html">mxnet.ndarray.sqrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.equal.html">mxnet.ndarray.equal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.greater.html">mxnet.ndarray.greater</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.greater_equal.html">mxnet.ndarray.greater_equal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.lesser.html">mxnet.ndarray.lesser</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.lesser_equal.html">mxnet.ndarray.lesser_equal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.not_equal.html">mxnet.ndarray.not_equal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.logical_and.html">mxnet.ndarray.logical_and</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.logical_not.html">mxnet.ndarray.logical_not</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.logical_or.html">mxnet.ndarray.logical_or</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.logical_xor.html">mxnet.ndarray.logical_xor</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.argmax.html">mxnet.ndarray.argmax</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.argmin.html">mxnet.ndarray.argmin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.argsort.html">mxnet.ndarray.argsort</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sort.html">mxnet.ndarray.sort</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.topk.html">mxnet.ndarray.topk</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.exponential.html">mxnet.ndarray.random.exponential</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.gamma.html">mxnet.ndarray.random.gamma</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.generalized_negative_binomial.html">mxnet.ndarray.random.generalized_negative_binomial</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.multinomial.html">mxnet.ndarray.random.multinomial</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.negative_binomial.html">mxnet.ndarray.random.negative_binomial</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.normal.html">mxnet.ndarray.random.normal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.poisson.html">mxnet.ndarray.random.poisson</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.randint.html">mxnet.ndarray.random.randint</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.randn.html">mxnet.ndarray.random.randn</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.shuffle.html">mxnet.ndarray.random.shuffle</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.uniform.html">mxnet.ndarray.random.uniform</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.linalg.gelqf.html">mxnet.ndarray.linalg.gelqf</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.linalg.gemm.html">mxnet.ndarray.linalg.gemm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.linalg.gemm2.html">mxnet.ndarray.linalg.gemm2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.linalg.potrf.html">mxnet.ndarray.linalg.potrf</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.linalg.potri.html">mxnet.ndarray.linalg.potri</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.linalg.sumlogdiag.html">mxnet.ndarray.linalg.sumlogdiag</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.linalg.syevd.html">mxnet.ndarray.linalg.syevd</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.linalg.syrk.html">mxnet.ndarray.linalg.syrk</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.linalg.trmm.html">mxnet.ndarray.linalg.trmm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.linalg.trsm.html">mxnet.ndarray.linalg.trsm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.abs.html">mxnet.ndarray.abs</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.clip.html">mxnet.ndarray.clip</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.gamma.html">mxnet.ndarray.gamma</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.gammaln.html">mxnet.ndarray.gammaln</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.maximum.html">mxnet.ndarray.maximum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.minimum.html">mxnet.ndarray.minimum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sign.html">mxnet.ndarray.sign</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.Activation.html">mxnet.ndarray.Activation</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.BatchNorm.html">mxnet.ndarray.BatchNorm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.BilinearSampler.html">mxnet.ndarray.BilinearSampler</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.BlockGrad.html">mxnet.ndarray.BlockGrad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.Convolution.html">mxnet.ndarray.Convolution</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.Correlation.html">mxnet.ndarray.Correlation</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.Custom.html">mxnet.ndarray.Custom</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.Deconvolution.html">mxnet.ndarray.Deconvolution</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.Dropout.html">mxnet.ndarray.Dropout</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.Embedding.html">mxnet.ndarray.Embedding</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.FullyConnected.html">mxnet.ndarray.FullyConnected</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.GridGenerator.html">mxnet.ndarray.GridGenerator</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.IdentityAttachKLSparseReg.html">mxnet.ndarray.IdentityAttachKLSparseReg</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.InstanceNorm.html">mxnet.ndarray.InstanceNorm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.L2Normalization.html">mxnet.ndarray.L2Normalization</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.LayerNorm.html">mxnet.ndarray.LayerNorm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.LeakyReLU.html">mxnet.ndarray.LeakyReLU</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.LinearRegressionOutput.html">mxnet.ndarray.LinearRegressionOutput</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.log_softmax.html">mxnet.ndarray.log_softmax</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.LogisticRegressionOutput.html">mxnet.ndarray.LogisticRegressionOutput</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.LRN.html">mxnet.ndarray.LRN</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.MAERegressionOutput.html">mxnet.ndarray.MAERegressionOutput</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.MakeLoss.html">mxnet.ndarray.MakeLoss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.Pooling.html">mxnet.ndarray.Pooling</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.relu.html">mxnet.ndarray.relu</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.ROIPooling.html">mxnet.ndarray.ROIPooling</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.RNN.html">mxnet.ndarray.RNN</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sigmoid.html">mxnet.ndarray.sigmoid</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.smooth_l1.html">mxnet.ndarray.smooth_l1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.softmax.html">mxnet.ndarray.softmax</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.softmax_cross_entropy.html">mxnet.ndarray.softmax_cross_entropy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.SoftmaxOutput.html">mxnet.ndarray.SoftmaxOutput</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.SoftmaxActivation.html">mxnet.ndarray.SoftmaxActivation</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.SpatialTransformer.html">mxnet.ndarray.SpatialTransformer</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.SVMOutput.html">mxnet.ndarray.SVMOutput</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.UpSampling.html">mxnet.ndarray.UpSampling</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.count_sketch.html">mxnet.ndarray.contrib.count_sketch</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.getnnz.html">mxnet.ndarray.contrib.getnnz</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.index_copy.html">mxnet.ndarray.contrib.index_copy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.fft.html">mxnet.ndarray.contrib.fft</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.ifft.html">mxnet.ndarray.contrib.ifft</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.dequantize.html">mxnet.ndarray.contrib.dequantize</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.quantize.html">mxnet.ndarray.contrib.quantize</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.AdaptiveAvgPooling2D.html">mxnet.ndarray.contrib.AdaptiveAvgPooling2D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.BilinearResize2D.html">mxnet.ndarray.contrib.BilinearResize2D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.ctc_loss.html">mxnet.ndarray.contrib.ctc_loss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.DeformableConvolution.html">mxnet.ndarray.contrib.DeformableConvolution</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.DeformablePSROIPooling.html">mxnet.ndarray.contrib.DeformablePSROIPooling</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.MultiBoxDetection.html">mxnet.ndarray.contrib.MultiBoxDetection</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.MultiBoxPrior.html">mxnet.ndarray.contrib.MultiBoxPrior</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.MultiBoxTarget.html">mxnet.ndarray.contrib.MultiBoxTarget</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.MultiProposal.html">mxnet.ndarray.contrib.MultiProposal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.Proposal.html">mxnet.ndarray.contrib.Proposal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.PSROIPooling.html">mxnet.ndarray.contrib.PSROIPooling</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.ROIAlign.html">mxnet.ndarray.contrib.ROIAlign</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.cond.html">mxnet.ndarray.contrib.cond</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.foreach.html">mxnet.ndarray.contrib.foreach</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.while_loop.html">mxnet.ndarray.contrib.while_loop</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/ndarray/mxnet.ndarray.sparse.CSRNDArray.html">CSRNDArray</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.context.html">mxnet.ndarray.sparse.CSRNDArray.context</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.data.html">mxnet.ndarray.sparse.CSRNDArray.data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.dtype.html">mxnet.ndarray.sparse.CSRNDArray.dtype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.indices.html">mxnet.ndarray.sparse.CSRNDArray.indices</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.indptr.html">mxnet.ndarray.sparse.CSRNDArray.indptr</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.shape.html">mxnet.ndarray.sparse.CSRNDArray.shape</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.stype.html">mxnet.ndarray.sparse.CSRNDArray.stype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.zeros_like.html">mxnet.ndarray.sparse.CSRNDArray.zeros_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.as_in_context.html">mxnet.ndarray.sparse.CSRNDArray.as_in_context</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.asnumpy.html">mxnet.ndarray.sparse.CSRNDArray.asnumpy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.asscalar.html">mxnet.ndarray.sparse.CSRNDArray.asscalar</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.asscipy.html">mxnet.ndarray.sparse.CSRNDArray.asscipy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.astype.html">mxnet.ndarray.sparse.CSRNDArray.astype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.copy.html">mxnet.ndarray.sparse.CSRNDArray.copy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.copyto.html">mxnet.ndarray.sparse.CSRNDArray.copyto</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.tostype.html">mxnet.ndarray.sparse.CSRNDArray.tostype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.check_format.html">mxnet.ndarray.sparse.CSRNDArray.check_format</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.mean.html">mxnet.ndarray.sparse.CSRNDArray.mean</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.norm.html">mxnet.ndarray.sparse.CSRNDArray.norm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.sum.html">mxnet.ndarray.sparse.CSRNDArray.sum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.__getitem__.html">mxnet.ndarray.sparse.CSRNDArray.__getitem__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.__setitem__.html">mxnet.ndarray.sparse.CSRNDArray.__setitem__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.slice.html">mxnet.ndarray.sparse.CSRNDArray.slice</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.concat.html">mxnet.ndarray.sparse.concat</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.wait_to_read.html">mxnet.ndarray.sparse.CSRNDArray.wait_to_read</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.ceil.html">mxnet.ndarray.sparse.CSRNDArray.ceil</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.fix.html">mxnet.ndarray.sparse.CSRNDArray.fix</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.floor.html">mxnet.ndarray.sparse.CSRNDArray.floor</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.round.html">mxnet.ndarray.sparse.CSRNDArray.round</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.rint.html">mxnet.ndarray.sparse.CSRNDArray.rint</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.trunc.html">mxnet.ndarray.sparse.CSRNDArray.trunc</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.arcsin.html">mxnet.ndarray.sparse.CSRNDArray.arcsin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.arctan.html">mxnet.ndarray.sparse.CSRNDArray.arctan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.degrees.html">mxnet.ndarray.sparse.CSRNDArray.degrees</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.radians.html">mxnet.ndarray.sparse.CSRNDArray.radians</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.sin.html">mxnet.ndarray.sparse.CSRNDArray.sin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.tan.html">mxnet.ndarray.sparse.CSRNDArray.tan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.arcsinh.html">mxnet.ndarray.sparse.CSRNDArray.arcsinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.arctanh.html">mxnet.ndarray.sparse.CSRNDArray.arctanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.sinh.html">mxnet.ndarray.sparse.CSRNDArray.sinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.tanh.html">mxnet.ndarray.sparse.CSRNDArray.tanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.expm1.html">mxnet.ndarray.sparse.CSRNDArray.expm1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.log1p.html">mxnet.ndarray.sparse.CSRNDArray.log1p</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.sqrt.html">mxnet.ndarray.sparse.CSRNDArray.sqrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.square.html">mxnet.ndarray.sparse.CSRNDArray.square</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.abs.html">mxnet.ndarray.sparse.CSRNDArray.abs</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.clip.html">mxnet.ndarray.sparse.CSRNDArray.clip</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.sign.html">mxnet.ndarray.sparse.CSRNDArray.sign</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/ndarray/mxnet.ndarray.sparse.RowSparseNDArray.html">RowSparseNDArray</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.context.html">mxnet.ndarray.sparse.RowSparseNDArray.context</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.data.html">mxnet.ndarray.sparse.RowSparseNDArray.data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.dtype.html">mxnet.ndarray.sparse.RowSparseNDArray.dtype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.indices.html">mxnet.ndarray.sparse.RowSparseNDArray.indices</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.shape.html">mxnet.ndarray.sparse.RowSparseNDArray.shape</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.stype.html">mxnet.ndarray.sparse.RowSparseNDArray.stype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.as_in_context.html">mxnet.ndarray.sparse.RowSparseNDArray.as_in_context</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.asnumpy.html">mxnet.ndarray.sparse.RowSparseNDArray.asnumpy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.asscalar.html">mxnet.ndarray.sparse.RowSparseNDArray.asscalar</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.astype.html">mxnet.ndarray.sparse.RowSparseNDArray.astype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.copy.html">mxnet.ndarray.sparse.RowSparseNDArray.copy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.copyto.html">mxnet.ndarray.sparse.RowSparseNDArray.copyto</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.tostype.html">mxnet.ndarray.sparse.RowSparseNDArray.tostype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.check_format.html">mxnet.ndarray.sparse.RowSparseNDArray.check_format</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.zeros_like.html">mxnet.ndarray.sparse.RowSparseNDArray.zeros_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.norm.html">mxnet.ndarray.sparse.RowSparseNDArray.norm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.ceil.html">mxnet.ndarray.sparse.RowSparseNDArray.ceil</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.fix.html">mxnet.ndarray.sparse.RowSparseNDArray.fix</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.floor.html">mxnet.ndarray.sparse.RowSparseNDArray.floor</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.rint.html">mxnet.ndarray.sparse.RowSparseNDArray.rint</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.round.html">mxnet.ndarray.sparse.RowSparseNDArray.round</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.trunc.html">mxnet.ndarray.sparse.RowSparseNDArray.trunc</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.arcsin.html">mxnet.ndarray.sparse.RowSparseNDArray.arcsin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.arctan.html">mxnet.ndarray.sparse.RowSparseNDArray.arctan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.degrees.html">mxnet.ndarray.sparse.RowSparseNDArray.degrees</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.radians.html">mxnet.ndarray.sparse.RowSparseNDArray.radians</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.sin.html">mxnet.ndarray.sparse.RowSparseNDArray.sin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.tan.html">mxnet.ndarray.sparse.RowSparseNDArray.tan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.arcsinh.html">mxnet.ndarray.sparse.RowSparseNDArray.arcsinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.arctanh.html">mxnet.ndarray.sparse.RowSparseNDArray.arctanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.sinh.html">mxnet.ndarray.sparse.RowSparseNDArray.sinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.tanh.html">mxnet.ndarray.sparse.RowSparseNDArray.tanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.expm1.html">mxnet.ndarray.sparse.RowSparseNDArray.expm1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.log1p.html">mxnet.ndarray.sparse.RowSparseNDArray.log1p</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.sqrt.html">mxnet.ndarray.sparse.RowSparseNDArray.sqrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.square.html">mxnet.ndarray.sparse.RowSparseNDArray.square</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.__getitem__.html">mxnet.ndarray.sparse.RowSparseNDArray.__getitem__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.__setitem__.html">mxnet.ndarray.sparse.RowSparseNDArray.__setitem__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.retain.html">mxnet.ndarray.sparse.RowSparseNDArray.retain</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.wait_to_read.html">mxnet.ndarray.sparse.RowSparseNDArray.wait_to_read</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.abs.html">mxnet.ndarray.sparse.RowSparseNDArray.abs</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.clip.html">mxnet.ndarray.sparse.RowSparseNDArray.clip</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.sign.html">mxnet.ndarray.sparse.RowSparseNDArray.sign</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/ndarray/sparse_routines.html">Sparse routines</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.array.html">mxnet.ndarray.sparse.array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.csr_matrix.html">mxnet.ndarray.sparse.csr_matrix</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.empty.html">mxnet.ndarray.sparse.empty</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.row_sparse_array.html">mxnet.ndarray.sparse.row_sparse_array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.zeros.html">mxnet.ndarray.sparse.zeros</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.zeros_like.html">mxnet.ndarray.sparse.zeros_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.cast_storage.html">mxnet.ndarray.sparse.cast_storage</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.retain.html">mxnet.ndarray.sparse.retain</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.slice.html">mxnet.ndarray.sparse.slice</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.where.html">mxnet.ndarray.sparse.where</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.add_n.html">mxnet.ndarray.sparse.add_n</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.broadcast_add.html">mxnet.ndarray.sparse.broadcast_add</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.broadcast_div.html">mxnet.ndarray.sparse.broadcast_div</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.broadcast_mul.html">mxnet.ndarray.sparse.broadcast_mul</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.broadcast_sub.html">mxnet.ndarray.sparse.broadcast_sub</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.dot.html">mxnet.ndarray.sparse.dot</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.elemwise_add.html">mxnet.ndarray.sparse.elemwise_add</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.elemwise_mul.html">mxnet.ndarray.sparse.elemwise_mul</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.elemwise_sub.html">mxnet.ndarray.sparse.elemwise_sub</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.negative.html">mxnet.ndarray.sparse.negative</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.arcsin.html">mxnet.ndarray.sparse.arcsin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.arctan.html">mxnet.ndarray.sparse.arctan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.degrees.html">mxnet.ndarray.sparse.degrees</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.radians.html">mxnet.ndarray.sparse.radians</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.sin.html">mxnet.ndarray.sparse.sin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.tan.html">mxnet.ndarray.sparse.tan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.arcsinh.html">mxnet.ndarray.sparse.arcsinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.arctanh.html">mxnet.ndarray.sparse.arctanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.sinh.html">mxnet.ndarray.sparse.sinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.tanh.html">mxnet.ndarray.sparse.tanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.mean.html">mxnet.ndarray.sparse.mean</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.norm.html">mxnet.ndarray.sparse.norm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.sum.html">mxnet.ndarray.sparse.sum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.ceil.html">mxnet.ndarray.sparse.ceil</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.fix.html">mxnet.ndarray.sparse.fix</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.floor.html">mxnet.ndarray.sparse.floor</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.rint.html">mxnet.ndarray.sparse.rint</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.round.html">mxnet.ndarray.sparse.round</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.trunc.html">mxnet.ndarray.sparse.trunc</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.expm1.html">mxnet.ndarray.sparse.expm1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.log1p.html">mxnet.ndarray.sparse.log1p</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.sqrt.html">mxnet.ndarray.sparse.sqrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.square.html">mxnet.ndarray.sparse.square</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.abs.html">mxnet.ndarray.sparse.abs</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.sign.html">mxnet.ndarray.sparse.sign</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.adam_update.html">mxnet.ndarray.sparse.adam_update</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.adagrad_update.html">mxnet.ndarray.sparse.adagrad_update</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.sgd_mom_update.html">mxnet.ndarray.sparse.sgd_mom_update</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.sgd_update.html">mxnet.ndarray.sparse.sgd_update</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.Embedding.html">mxnet.ndarray.sparse.Embedding</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.LinearRegressionOutput.html">mxnet.ndarray.sparse.LinearRegressionOutput</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.LogisticRegressionOutput.html">mxnet.ndarray.sparse.LogisticRegressionOutput</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.make_loss.html">mxnet.ndarray.sparse.make_loss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.stop_gradient.html">mxnet.ndarray.sparse.stop_gradient</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"><a class="reference internal" href="../../../api/gluon/index.html">mxnet.gluon</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon/nn.html">nn and contrib.nn</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/mxnet.gluon.nn.Block.html">Block</a><ul> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.initialize.html">mxnet.gluon.nn.Block.initialize</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.save_parameters.html">mxnet.gluon.nn.Block.save_parameters</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.load_parameters.html">mxnet.gluon.nn.Block.load_parameters</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.collect_params.html">mxnet.gluon.nn.Block.collect_params</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.cast.html">mxnet.gluon.nn.Block.cast</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.apply.html">mxnet.gluon.nn.Block.apply</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.forward.html">mxnet.gluon.nn.Block.forward</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.summary.html">mxnet.gluon.nn.Block.summary</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.name_scope.html">mxnet.gluon.nn.Block.name_scope</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.register_child.html">mxnet.gluon.nn.Block.register_child</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.register_forward_hook.html">mxnet.gluon.nn.Block.register_forward_hook</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.register_forward_pre_hook.html">mxnet.gluon.nn.Block.register_forward_pre_hook</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.save_params.html">mxnet.gluon.nn.Block.save_params</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.load_params.html">mxnet.gluon.nn.Block.load_params</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/mxnet.gluon.nn.HybridBlock.html">HybridBlock</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/mxnet.gluon.nn.SymbolBlock.html">SymbolBlock</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Sequential.html">mxnet.gluon.nn.Sequential</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.HybridSequential.html">mxnet.gluon.nn.HybridSequential</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.nn.Concurrent.html">mxnet.gluon.contrib.nn.Concurrent</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.nn.HybridConcurrent.html">mxnet.gluon.contrib.nn.HybridConcurrent</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Dense.html">mxnet.gluon.nn.Dense</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Activation.html">mxnet.gluon.nn.Activation</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Dropout.html">mxnet.gluon.nn.Dropout</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Flatten.html">mxnet.gluon.nn.Flatten</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Lambda.html">mxnet.gluon.nn.Lambda</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.HybridLambda.html">mxnet.gluon.nn.HybridLambda</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Conv1D.html">mxnet.gluon.nn.Conv1D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Conv2D.html">mxnet.gluon.nn.Conv2D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Conv3D.html">mxnet.gluon.nn.Conv3D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Conv1DTranspose.html">mxnet.gluon.nn.Conv1DTranspose</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Conv2DTranspose.html">mxnet.gluon.nn.Conv2DTranspose</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Conv3DTranspose.html">mxnet.gluon.nn.Conv3DTranspose</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.MaxPool1D.html">mxnet.gluon.nn.MaxPool1D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.MaxPool2D.html">mxnet.gluon.nn.MaxPool2D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.MaxPool3D.html">mxnet.gluon.nn.MaxPool3D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.AvgPool1D.html">mxnet.gluon.nn.AvgPool1D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.AvgPool2D.html">mxnet.gluon.nn.AvgPool2D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.AvgPool3D.html">mxnet.gluon.nn.AvgPool3D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.GlobalMaxPool1D.html">mxnet.gluon.nn.GlobalMaxPool1D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.GlobalMaxPool2D.html">mxnet.gluon.nn.GlobalMaxPool2D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.GlobalMaxPool3D.html">mxnet.gluon.nn.GlobalMaxPool3D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.GlobalAvgPool1D.html">mxnet.gluon.nn.GlobalAvgPool1D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.GlobalAvgPool2D.html">mxnet.gluon.nn.GlobalAvgPool2D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.GlobalAvgPool3D.html">mxnet.gluon.nn.GlobalAvgPool3D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.ReflectionPad2D.html">mxnet.gluon.nn.ReflectionPad2D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.BatchNorm.html">mxnet.gluon.nn.BatchNorm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.InstanceNorm.html">mxnet.gluon.nn.InstanceNorm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.LayerNorm.html">mxnet.gluon.nn.LayerNorm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.nn.SyncBatchNorm.html">mxnet.gluon.contrib.nn.SyncBatchNorm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Embedding.html">mxnet.gluon.nn.Embedding</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.nn.SparseEmbedding.html">mxnet.gluon.contrib.nn.SparseEmbedding</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.LeakyReLU.html">mxnet.gluon.nn.LeakyReLU</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.PReLU.html">mxnet.gluon.nn.PReLU</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.ELU.html">mxnet.gluon.nn.ELU</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.SELU.html">mxnet.gluon.nn.SELU</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Swish.html">mxnet.gluon.nn.Swish</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon/rnn.html">rnn and contrib.rnn</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.LSTMCell.html">mxnet.gluon.rnn.LSTMCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.GRUCell.html">mxnet.gluon.rnn.GRUCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.RecurrentCell.html">mxnet.gluon.rnn.RecurrentCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.SequentialRNNCell.html">mxnet.gluon.rnn.SequentialRNNCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.BidirectionalCell.html">mxnet.gluon.rnn.BidirectionalCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.DropoutCell.html">mxnet.gluon.rnn.DropoutCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.ZoneoutCell.html">mxnet.gluon.rnn.ZoneoutCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.ResidualCell.html">mxnet.gluon.rnn.ResidualCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.Conv1DRNNCell.html">mxnet.gluon.contrib.rnn.Conv1DRNNCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.Conv2DRNNCell.html">mxnet.gluon.contrib.rnn.Conv2DRNNCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.Conv3DRNNCell.html">mxnet.gluon.contrib.rnn.Conv3DRNNCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.Conv1DLSTMCell.html">mxnet.gluon.contrib.rnn.Conv1DLSTMCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.Conv2DLSTMCell.html">mxnet.gluon.contrib.rnn.Conv2DLSTMCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.Conv3DLSTMCell.html">mxnet.gluon.contrib.rnn.Conv3DLSTMCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.Conv1DGRUCell.html">mxnet.gluon.contrib.rnn.Conv1DGRUCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.Conv2DGRUCell.html">mxnet.gluon.contrib.rnn.Conv2DGRUCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.Conv3DGRUCell.html">mxnet.gluon.contrib.rnn.Conv3DGRUCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.VariationalDropoutCell.html">mxnet.gluon.contrib.rnn.VariationalDropoutCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.LSTMPCell.html">mxnet.gluon.contrib.rnn.LSTMPCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.RNN.html">mxnet.gluon.rnn.RNN</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.LSTM.html">mxnet.gluon.rnn.LSTM</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.GRU.html">mxnet.gluon.rnn.GRU</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon/mxnet.gluon.loss.html"><code class="docutils literal notranslate"><span class="pre">loss</span></code></a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.Loss.html">mxnet.gluon.loss.Loss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.L2Loss.html">mxnet.gluon.loss.L2Loss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.L1Loss.html">mxnet.gluon.loss.L1Loss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.SigmoidBinaryCrossEntropyLoss.html">mxnet.gluon.loss.SigmoidBinaryCrossEntropyLoss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.SoftmaxCrossEntropyLoss.html">mxnet.gluon.loss.SoftmaxCrossEntropyLoss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.KLDivLoss.html">mxnet.gluon.loss.KLDivLoss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.HuberLoss.html">mxnet.gluon.loss.HuberLoss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.HingeLoss.html">mxnet.gluon.loss.HingeLoss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.SquaredHingeLoss.html">mxnet.gluon.loss.SquaredHingeLoss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.LogisticLoss.html">mxnet.gluon.loss.LogisticLoss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.TripletLoss.html">mxnet.gluon.loss.TripletLoss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.CTCLoss.html">mxnet.gluon.loss.CTCLoss</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon/mxnet.gluon.parameter.html">Parameter</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.initialize.html">mxnet.gluon.Parameter.initialize</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.data.html">mxnet.gluon.Parameter.data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.list_data.html">mxnet.gluon.Parameter.list_data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.list_row_sparse_data.html">mxnet.gluon.Parameter.list_row_sparse_data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.row_sparse_data.html">mxnet.gluon.Parameter.row_sparse_data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.set_data.html">mxnet.gluon.Parameter.set_data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.shape.html">mxnet.gluon.Parameter.shape</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.grad.html">mxnet.gluon.Parameter.grad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.list_grad.html">mxnet.gluon.Parameter.list_grad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.zero_grad.html">mxnet.gluon.Parameter.zero_grad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.grad_req.html">mxnet.gluon.Parameter.grad_req</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.cast.html">mxnet.gluon.Parameter.cast</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.list_ctx.html">mxnet.gluon.Parameter.list_ctx</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.reset_ctx.html">mxnet.gluon.Parameter.reset_ctx</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.var.html">mxnet.gluon.Parameter.var</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon/mxnet.gluon.Trainer.html">Trainer</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Trainer.step.html">mxnet.gluon.Trainer.step</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Trainer.allreduce_grads.html">mxnet.gluon.Trainer.allreduce_grads</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Trainer.update.html">mxnet.gluon.Trainer.update</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Trainer.load_states.html">mxnet.gluon.Trainer.load_states</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Trainer.save_states.html">mxnet.gluon.Trainer.save_states</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Trainer.learning_rate.html">mxnet.gluon.Trainer.learning_rate</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Trainer.set_learning_rate.html">mxnet.gluon.Trainer.set_learning_rate</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon/mxnet.gluon.data.html">data</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.Dataset.html">mxnet.gluon.data.Dataset</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.ArrayDataset.html">mxnet.gluon.data.ArrayDataset</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.RecordFileDataset.html">mxnet.gluon.data.RecordFileDataset</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.Sampler.html">mxnet.gluon.data.Sampler</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.SequentialSampler.html">mxnet.gluon.data.SequentialSampler</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.RandomSampler.html">mxnet.gluon.data.RandomSampler</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.BatchSampler.html">mxnet.gluon.data.BatchSampler</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.DataLoader.html">mxnet.gluon.data.DataLoader</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon/mxnet.gluon.data.vision.html">data.vision</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.datasets.MNIST.html">mxnet.gluon.data.vision.datasets.MNIST</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.datasets.FashionMNIST.html">mxnet.gluon.data.vision.datasets.FashionMNIST</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.datasets.CIFAR10.html">mxnet.gluon.data.vision.datasets.CIFAR10</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.datasets.CIFAR100.html">mxnet.gluon.data.vision.datasets.CIFAR100</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.datasets.ImageRecordDataset.html">mxnet.gluon.data.vision.datasets.ImageRecordDataset</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.datasets.ImageFolderDataset.html">mxnet.gluon.data.vision.datasets.ImageFolderDataset</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.Compose.html">mxnet.gluon.data.vision.transforms.Compose</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.Cast.html">mxnet.gluon.data.vision.transforms.Cast</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.ToTensor.html">mxnet.gluon.data.vision.transforms.ToTensor</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.Normalize.html">mxnet.gluon.data.vision.transforms.Normalize</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.RandomResizedCrop.html">mxnet.gluon.data.vision.transforms.RandomResizedCrop</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.CenterCrop.html">mxnet.gluon.data.vision.transforms.CenterCrop</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.Resize.html">mxnet.gluon.data.vision.transforms.Resize</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.RandomFlipLeftRight.html">mxnet.gluon.data.vision.transforms.RandomFlipLeftRight</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.RandomFlipTopBottom.html">mxnet.gluon.data.vision.transforms.RandomFlipTopBottom</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.RandomBrightness.html">mxnet.gluon.data.vision.transforms.RandomBrightness</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.RandomContrast.html">mxnet.gluon.data.vision.transforms.RandomContrast</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.RandomSaturation.html">mxnet.gluon.data.vision.transforms.RandomSaturation</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.RandomHue.html">mxnet.gluon.data.vision.transforms.RandomHue</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.RandomColorJitter.html">mxnet.gluon.data.vision.transforms.RandomColorJitter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.RandomLighting.html">mxnet.gluon.data.vision.transforms.RandomLighting</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon/mxnet.gluon.model_zoo.html">model_zoo.vision</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.get_model.html">mxnet.gluon.model_zoo.vision.get_model</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.resnet18_v1.html">mxnet.gluon.model_zoo.vision.resnet18_v1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.resnet34_v1.html">mxnet.gluon.model_zoo.vision.resnet34_v1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.resnet50_v1.html">mxnet.gluon.model_zoo.vision.resnet50_v1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.resnet101_v1.html">mxnet.gluon.model_zoo.vision.resnet101_v1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.resnet152_v1.html">mxnet.gluon.model_zoo.vision.resnet152_v1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.resnet18_v2.html">mxnet.gluon.model_zoo.vision.resnet18_v2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.resnet34_v2.html">mxnet.gluon.model_zoo.vision.resnet34_v2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.resnet50_v2.html">mxnet.gluon.model_zoo.vision.resnet50_v2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.resnet101_v2.html">mxnet.gluon.model_zoo.vision.resnet101_v2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.resnet152_v2.html">mxnet.gluon.model_zoo.vision.resnet152_v2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.ResNetV1.html">mxnet.gluon.model_zoo.vision.ResNetV1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.ResNetV2.html">mxnet.gluon.model_zoo.vision.ResNetV2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.BasicBlockV1.html">mxnet.gluon.model_zoo.vision.BasicBlockV1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.BasicBlockV2.html">mxnet.gluon.model_zoo.vision.BasicBlockV2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.BottleneckV1.html">mxnet.gluon.model_zoo.vision.BottleneckV1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.BottleneckV2.html">mxnet.gluon.model_zoo.vision.BottleneckV2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.get_resnet.html">mxnet.gluon.model_zoo.vision.get_resnet</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.vgg11.html">mxnet.gluon.model_zoo.vision.vgg11</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.vgg13.html">mxnet.gluon.model_zoo.vision.vgg13</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.vgg16.html">mxnet.gluon.model_zoo.vision.vgg16</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.vgg19.html">mxnet.gluon.model_zoo.vision.vgg19</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.vgg11_bn.html">mxnet.gluon.model_zoo.vision.vgg11_bn</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.vgg13_bn.html">mxnet.gluon.model_zoo.vision.vgg13_bn</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.vgg16_bn.html">mxnet.gluon.model_zoo.vision.vgg16_bn</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.vgg19_bn.html">mxnet.gluon.model_zoo.vision.vgg19_bn</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.VGG.html">mxnet.gluon.model_zoo.vision.VGG</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.get_vgg.html">mxnet.gluon.model_zoo.vision.get_vgg</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.alexnet.html">mxnet.gluon.model_zoo.vision.alexnet</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.AlexNet.html">mxnet.gluon.model_zoo.vision.AlexNet</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.densenet121.html">mxnet.gluon.model_zoo.vision.densenet121</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.densenet161.html">mxnet.gluon.model_zoo.vision.densenet161</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.densenet169.html">mxnet.gluon.model_zoo.vision.densenet169</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.densenet201.html">mxnet.gluon.model_zoo.vision.densenet201</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.DenseNet.html">mxnet.gluon.model_zoo.vision.DenseNet</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.squeezenet1_0.html">mxnet.gluon.model_zoo.vision.squeezenet1_0</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.squeezenet1_1.html">mxnet.gluon.model_zoo.vision.squeezenet1_1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.SqueezeNet.html">mxnet.gluon.model_zoo.vision.SqueezeNet</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.inception_v3.html">mxnet.gluon.model_zoo.vision.inception_v3</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.Inception3.html">mxnet.gluon.model_zoo.vision.Inception3</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.mobilenet1_0.html">mxnet.gluon.model_zoo.vision.mobilenet1_0</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.mobilenet0_75.html">mxnet.gluon.model_zoo.vision.mobilenet0_75</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.mobilenet0_5.html">mxnet.gluon.model_zoo.vision.mobilenet0_5</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.mobilenet0_25.html">mxnet.gluon.model_zoo.vision.mobilenet0_25</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.mobilenet_v2_1_0.html">mxnet.gluon.model_zoo.vision.mobilenet_v2_1_0</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.mobilenet_v2_0_75.html">mxnet.gluon.model_zoo.vision.mobilenet_v2_0_75</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.mobilenet_v2_0_5.html">mxnet.gluon.model_zoo.vision.mobilenet_v2_0_5</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.mobilenet_v2_0_25.html">mxnet.gluon.model_zoo.vision.mobilenet_v2_0_25</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.MobileNet.html">mxnet.gluon.model_zoo.vision.MobileNet</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.MobileNetV2.html">mxnet.gluon.model_zoo.vision.MobileNetV2</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon/mxnet.gluon.utils.html">utils</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.utils.split_data.html">mxnet.gluon.utils.split_data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.utils.split_and_load.html">mxnet.gluon.utils.split_and_load</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.utils.clip_global_norm.html">mxnet.gluon.utils.clip_global_norm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.utils.download.html">mxnet.gluon.utils.download</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.utils.check_sha1.html">mxnet.gluon.utils.check_sha1</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"><a class="reference internal" href="../../../api/gluon-related/index.html">Gluon related modules</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.autograd.html">mxnet.autograd</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.backward.html">mxnet.autograd.backward</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.get_symbol.html">mxnet.autograd.get_symbol</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.grad.html">mxnet.autograd.grad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.is_recording.html">mxnet.autograd.is_recording</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.is_training.html">mxnet.autograd.is_training</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.mark_variables.html">mxnet.autograd.mark_variables</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.pause.html">mxnet.autograd.pause</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.predict_mode.html">mxnet.autograd.predict_mode</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.record.html">mxnet.autograd.record</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.set_recording.html">mxnet.autograd.set_recording</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.set_training.html">mxnet.autograd.set_training</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.train_mode.html">mxnet.autograd.train_mode</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.Function.html">mxnet.autograd.Function</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.image.html">mxnet.image</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.imdecode.html">mxnet.image.imdecode</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.scale_down.html">mxnet.image.scale_down</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.resize_short.html">mxnet.image.resize_short</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.fixed_crop.html">mxnet.image.fixed_crop</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.random_crop.html">mxnet.image.random_crop</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.center_crop.html">mxnet.image.center_crop</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.color_normalize.html">mxnet.image.color_normalize</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.random_size_crop.html">mxnet.image.random_size_crop</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.ImageIter.html">mxnet.image.ImageIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.CreateAugmenter.html">mxnet.image.CreateAugmenter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.Augmenter.html">mxnet.image.Augmenter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.SequentialAug.html">mxnet.image.SequentialAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.RandomOrderAug.html">mxnet.image.RandomOrderAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.ResizeAug.html">mxnet.image.ResizeAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.ForceResizeAug.html">mxnet.image.ForceResizeAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.RandomCropAug.html">mxnet.image.RandomCropAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.RandomSizedCropAug.html">mxnet.image.RandomSizedCropAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.CenterCropAug.html">mxnet.image.CenterCropAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.BrightnessJitterAug.html">mxnet.image.BrightnessJitterAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.ContrastJitterAug.html">mxnet.image.ContrastJitterAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.SaturationJitterAug.html">mxnet.image.SaturationJitterAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.HueJitterAug.html">mxnet.image.HueJitterAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.ColorJitterAug.html">mxnet.image.ColorJitterAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.LightingAug.html">mxnet.image.LightingAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.ColorNormalizeAug.html">mxnet.image.ColorNormalizeAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.RandomGrayAug.html">mxnet.image.RandomGrayAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.HorizontalFlipAug.html">mxnet.image.HorizontalFlipAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.CastAug.html">mxnet.image.CastAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.ImageDetIter.html">mxnet.image.ImageDetIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.CreateDetAugmenter.html">mxnet.image.CreateDetAugmenter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.DetBorrowAug.html">mxnet.image.DetBorrowAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.DetRandomSelectAug.html">mxnet.image.DetRandomSelectAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.DetHorizontalFlipAug.html">mxnet.image.DetHorizontalFlipAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.DetRandomCropAug.html">mxnet.image.DetRandomCropAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.DetRandomPadAug.html">mxnet.image.DetRandomPadAug</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.io.html">mxnet.io</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.NDArrayIter.html">mxnet.io.NDArrayIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.CSVIter.html">mxnet.io.CSVIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.LibSVMIter.html">mxnet.io.LibSVMIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.MNISTIter.html">mxnet.io.MNISTIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.ImageDetRecordIter.html">mxnet.io.ImageDetRecordIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.ImageRecordIter.html">mxnet.io.ImageRecordIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.ImageRecordIter_v1.html">mxnet.io.ImageRecordIter_v1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.ImageRecordUInt8Iter.html">mxnet.io.ImageRecordUInt8Iter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.ImageRecordUInt8Iter_v1.html">mxnet.io.ImageRecordUInt8Iter_v1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.DataBatch.html">mxnet.io.DataBatch</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.DataDesc.html">mxnet.io.DataDesc</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.DataIter.html">mxnet.io.DataIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.MXDataIter.html">mxnet.io.MXDataIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.PrefetchingIter.html">mxnet.io.PrefetchingIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.ResizeIter.html">mxnet.io.ResizeIter</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.recordio.html">mxnet.recordio</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.recordio.MXIndexedRecordIO.html">mxnet.recordio.MXIndexedRecordIO</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.recordio.MXRecordIO.html">mxnet.recordio.MXRecordIO</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.recordio.IRHeader.html">mxnet.recordio.IRHeader</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.recordio.pack.html">mxnet.recordio.pack</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.recordio.pack_img.html">mxnet.recordio.pack_img</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.recordio.unpack.html">mxnet.recordio.unpack</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.recordio.unpack_img.html">mxnet.recordio.unpack_img</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.kvstore.html">mxnet.kvstore</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/mxnet.kvstore.create.html">create</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/mxnet.kvstore.KVStore.html">KVStore</a><ul> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.init.html">mxnet.kvstore.KVStore.init</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.pull.html">mxnet.kvstore.KVStore.pull</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.push.html">mxnet.kvstore.KVStore.push</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.row_sparse_pull.html">mxnet.kvstore.KVStore.row_sparse_pull</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.load_optimizer_states.html">mxnet.kvstore.KVStore.load_optimizer_states</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.save_optimizer_states.html">mxnet.kvstore.KVStore.save_optimizer_states</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.set_gradient_compression.html">mxnet.kvstore.KVStore.set_gradient_compression</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.set_optimizer.html">mxnet.kvstore.KVStore.set_optimizer</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.num_workers.html">mxnet.kvstore.KVStore.num_workers</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.rank.html">mxnet.kvstore.KVStore.rank</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.type.html">mxnet.kvstore.KVStore.type</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.optimizer.html">mxnet.optimizer</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.AdaDelta.html">mxnet.optimizer.AdaDelta</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.AdaGrad.html">mxnet.optimizer.AdaGrad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.Adam.html">mxnet.optimizer.Adam</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.Adamax.html">mxnet.optimizer.Adamax</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.DCASGD.html">mxnet.optimizer.DCASGD</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.FTML.html">mxnet.optimizer.FTML</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.Ftrl.html">mxnet.optimizer.Ftrl</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.LBSGD.html">mxnet.optimizer.LBSGD</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.NAG.html">mxnet.optimizer.NAG</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.Nadam.html">mxnet.optimizer.Nadam</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.Optimizer.html">mxnet.optimizer.Optimizer</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.RMSProp.html">mxnet.optimizer.RMSProp</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.SGD.html">mxnet.optimizer.SGD</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.SGLD.html">mxnet.optimizer.SGLD</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.Signum.html">mxnet.optimizer.Signum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.Updater.html">mxnet.optimizer.Updater</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.random.html">mxnet.random</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.random.seed.html">mxnet.random.seed</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.profiler.html">mxnet.profiler</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.set_config.html">mxnet.profiler.set_config</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.set_kvstore_handle.html">mxnet.profiler.set_kvstore_handle</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.set_state.html">mxnet.profiler.set_state</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.profiler_set_config.html">mxnet.profiler.profiler_set_config</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.profiler_set_state.html">mxnet.profiler.profiler_set_state</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.pause.html">mxnet.profiler.pause</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.resume.html">mxnet.profiler.resume</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.dump.html">mxnet.profiler.dump</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.dump_profile.html">mxnet.profiler.dump_profile</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.dumps.html">mxnet.profiler.dumps</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.Counter.html">mxnet.profiler.Counter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.Domain.html">mxnet.profiler.Domain</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.Event.html">mxnet.profiler.Event</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.Frame.html">mxnet.profiler.Frame</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.Marker.html">mxnet.profiler.Marker</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.Task.html">mxnet.profiler.Task</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.context.html">mxnet.context</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.context.cpu.html">mxnet.context.cpu</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.context.cpu_pinned.html">mxnet.context.cpu_pinned</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.context.current_context.html">mxnet.context.current_context</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.context.gpu.html">mxnet.context.gpu</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.context.num_gpus.html">mxnet.context.num_gpus</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.context.Context.html">mxnet.context.Context</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.initializer.html">mxnet.initializer</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.Bilinear.html">mxnet.initializer.Bilinear</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.Constant.html">mxnet.initializer.Constant</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.FusedRNN.html">mxnet.initializer.FusedRNN</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.InitDesc.html">mxnet.initializer.InitDesc</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.Initializer.html">mxnet.initializer.Initializer</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.LSTMBias.html">mxnet.initializer.LSTMBias</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.Load.html">mxnet.initializer.Load</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.MSRAPrelu.html">mxnet.initializer.MSRAPrelu</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.Mixed.html">mxnet.initializer.Mixed</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.Normal.html">mxnet.initializer.Normal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.One.html">mxnet.initializer.One</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.Orthogonal.html">mxnet.initializer.Orthogonal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.Uniform.html">mxnet.initializer.Uniform</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.Xavier.html">mxnet.initializer.Xavier</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.Zero.html">mxnet.initializer.Zero</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.register.html">mxnet.initializer.register</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.lr_scheduler.html">mxnet.lr_scheduler</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.lr_scheduler.LRScheduler.html">mxnet.lr_scheduler.LRScheduler</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.lr_scheduler.FactorScheduler.html">mxnet.lr_scheduler.FactorScheduler</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.lr_scheduler.MultiFactorScheduler.html">mxnet.lr_scheduler.MultiFactorScheduler</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.lr_scheduler.PolyScheduler.html">mxnet.lr_scheduler.PolyScheduler</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.lr_scheduler.CosineScheduler.html">mxnet.lr_scheduler.CosineScheduler</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.metric.html">mxnet.metric</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.Accuracy.html">mxnet.metric.Accuracy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.Caffe.html">mxnet.metric.Caffe</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.CompositeEvalMetric.html">mxnet.metric.CompositeEvalMetric</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.CrossEntropy.html">mxnet.metric.CrossEntropy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.CustomMetric.html">mxnet.metric.CustomMetric</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.EvalMetric.html">mxnet.metric.EvalMetric</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.F1.html">mxnet.metric.F1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.Loss.html">mxnet.metric.Loss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.MAE.html">mxnet.metric.MAE</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.MCC.html">mxnet.metric.MCC</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.MSE.html">mxnet.metric.MSE</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.NegativeLogLikelihood.html">mxnet.metric.NegativeLogLikelihood</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.PearsonCorrelation.html">mxnet.metric.PearsonCorrelation</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.Perplexity.html">mxnet.metric.Perplexity</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.RMSE.html">mxnet.metric.RMSE</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.TopKAccuracy.html">mxnet.metric.TopKAccuracy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.Torch.html">mxnet.metric.Torch</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.check_label_shapes.html">mxnet.metric.check_label_shapes</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.create.html">mxnet.metric.create</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.np.html">mxnet.metric.np</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"><a class="reference internal" href="../../../api/symbol/index.html">mxnet.symbol</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/symbol/mxnet.symbol.Symbol.html">Symbol</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__call__.html">mxnet.symbol.Symbol.__call__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__add__.html">mxnet.symbol.Symbol.__add__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__sub__.html">mxnet.symbol.Symbol.__sub__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__rsub__.html">mxnet.symbol.Symbol.__rsub__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__neg__.html">mxnet.symbol.Symbol.__neg__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__mul__.html">mxnet.symbol.Symbol.__mul__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__div__.html">mxnet.symbol.Symbol.__div__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__rdiv__.html">mxnet.symbol.Symbol.__rdiv__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__mod__.html">mxnet.symbol.Symbol.__mod__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__rmod__.html">mxnet.symbol.Symbol.__rmod__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__pow__.html">mxnet.symbol.Symbol.__pow__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.sin.html">mxnet.symbol.Symbol.sin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.cos.html">mxnet.symbol.Symbol.cos</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.tan.html">mxnet.symbol.Symbol.tan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.arcsin.html">mxnet.symbol.Symbol.arcsin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.arccos.html">mxnet.symbol.Symbol.arccos</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.arctan.html">mxnet.symbol.Symbol.arctan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.degrees.html">mxnet.symbol.Symbol.degrees</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.radians.html">mxnet.symbol.Symbol.radians</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.sinh.html">mxnet.symbol.Symbol.sinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.cosh.html">mxnet.symbol.Symbol.cosh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.tanh.html">mxnet.symbol.Symbol.tanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.arcsinh.html">mxnet.symbol.Symbol.arcsinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.arccosh.html">mxnet.symbol.Symbol.arccosh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.arctanh.html">mxnet.symbol.Symbol.arctanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.exp.html">mxnet.symbol.Symbol.exp</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.expm1.html">mxnet.symbol.Symbol.expm1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.log.html">mxnet.symbol.Symbol.log</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.log10.html">mxnet.symbol.Symbol.log10</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.log2.html">mxnet.symbol.Symbol.log2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.log1p.html">mxnet.symbol.Symbol.log1p</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.sqrt.html">mxnet.symbol.Symbol.sqrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.rsqrt.html">mxnet.symbol.Symbol.rsqrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.cbrt.html">mxnet.symbol.Symbol.cbrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.rcbrt.html">mxnet.symbol.Symbol.rcbrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.square.html">mxnet.symbol.Symbol.square</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.relu.html">mxnet.symbol.Symbol.relu</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.sigmoid.html">mxnet.symbol.Symbol.sigmoid</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.softmax.html">mxnet.symbol.Symbol.softmax</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.log_softmax.html">mxnet.symbol.Symbol.log_softmax</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__lt__.html">mxnet.symbol.Symbol.__lt__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__le__.html">mxnet.symbol.Symbol.__le__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__gt__.html">mxnet.symbol.Symbol.__gt__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__ge__.html">mxnet.symbol.Symbol.__ge__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__eq__.html">mxnet.symbol.Symbol.__eq__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__ne__.html">mxnet.symbol.Symbol.__ne__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.zeros_like.html">mxnet.symbol.Symbol.zeros_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.ones_like.html">mxnet.symbol.Symbol.ones_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.diag.html">mxnet.symbol.Symbol.diag</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.astype.html">mxnet.symbol.Symbol.astype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.shape_array.html">mxnet.symbol.Symbol.shape_array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.size_array.html">mxnet.symbol.Symbol.size_array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.reshape.html">mxnet.symbol.Symbol.reshape</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.reshape_like.html">mxnet.symbol.Symbol.reshape_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.flatten.html">mxnet.symbol.Symbol.flatten</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.expand_dims.html">mxnet.symbol.Symbol.expand_dims</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.broadcast_to.html">mxnet.symbol.Symbol.broadcast_to</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.broadcast_axes.html">mxnet.symbol.Symbol.broadcast_axes</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.broadcast_like.html">mxnet.symbol.Symbol.broadcast_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.tile.html">mxnet.symbol.Symbol.tile</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.pad.html">mxnet.symbol.Symbol.pad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.transpose.html">mxnet.symbol.Symbol.transpose</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.swapaxes.html">mxnet.symbol.Symbol.swapaxes</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.flip.html">mxnet.symbol.Symbol.flip</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.depth_to_space.html">mxnet.symbol.Symbol.depth_to_space</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.space_to_depth.html">mxnet.symbol.Symbol.space_to_depth</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.sum.html">mxnet.symbol.Symbol.sum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.nansum.html">mxnet.symbol.Symbol.nansum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.prod.html">mxnet.symbol.Symbol.prod</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.nanprod.html">mxnet.symbol.Symbol.nanprod</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.mean.html">mxnet.symbol.Symbol.mean</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.max.html">mxnet.symbol.Symbol.max</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.min.html">mxnet.symbol.Symbol.min</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.norm.html">mxnet.symbol.Symbol.norm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.round.html">mxnet.symbol.Symbol.round</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.rint.html">mxnet.symbol.Symbol.rint</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.fix.html">mxnet.symbol.Symbol.fix</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.floor.html">mxnet.symbol.Symbol.floor</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.ceil.html">mxnet.symbol.Symbol.ceil</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.trunc.html">mxnet.symbol.Symbol.trunc</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.sort.html">mxnet.symbol.Symbol.sort</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.argsort.html">mxnet.symbol.Symbol.argsort</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.topk.html">mxnet.symbol.Symbol.topk</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.argmax.html">mxnet.symbol.Symbol.argmax</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.argmin.html">mxnet.symbol.Symbol.argmin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.argmax_channel.html">mxnet.symbol.Symbol.argmax_channel</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.name.html">mxnet.symbol.Symbol.name</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.list_arguments.html">mxnet.symbol.Symbol.list_arguments</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.list_outputs.html">mxnet.symbol.Symbol.list_outputs</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.list_auxiliary_states.html">mxnet.symbol.Symbol.list_auxiliary_states</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.list_attr.html">mxnet.symbol.Symbol.list_attr</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.attr.html">mxnet.symbol.Symbol.attr</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.attr_dict.html">mxnet.symbol.Symbol.attr_dict</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.slice.html">mxnet.symbol.Symbol.slice</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.slice_axis.html">mxnet.symbol.Symbol.slice_axis</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.slice_like.html">mxnet.symbol.Symbol.slice_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.take.html">mxnet.symbol.Symbol.take</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.one_hot.html">mxnet.symbol.Symbol.one_hot</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.pick.html">mxnet.symbol.Symbol.pick</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__getitem__.html">mxnet.symbol.Symbol.__getitem__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__iter__.html">mxnet.symbol.Symbol.__iter__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.get_internals.html">mxnet.symbol.Symbol.get_internals</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.get_children.html">mxnet.symbol.Symbol.get_children</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.infer_type.html">mxnet.symbol.Symbol.infer_type</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.infer_shape.html">mxnet.symbol.Symbol.infer_shape</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.infer_shape_partial.html">mxnet.symbol.Symbol.infer_shape_partial</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.bind.html">mxnet.symbol.Symbol.bind</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.simple_bind.html">mxnet.symbol.Symbol.simple_bind</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.save.html">mxnet.symbol.Symbol.save</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.tojson.html">mxnet.symbol.Symbol.tojson</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.debug_str.html">mxnet.symbol.Symbol.debug_str</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.clip.html">mxnet.symbol.Symbol.clip</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.sign.html">mxnet.symbol.Symbol.sign</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/symbol/mxnet.symbol.linalg.html">mxnet.linalg</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.gemm.html">mxnet.symbol.linalg.gemm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.gemm2.html">mxnet.symbol.linalg.gemm2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.potrf.html">mxnet.symbol.linalg.potrf</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.potri.html">mxnet.symbol.linalg.potri</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.trmm.html">mxnet.symbol.linalg.trmm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.trsm.html">mxnet.symbol.linalg.trsm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.syrk.html">mxnet.symbol.linalg.syrk</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.gelqf.html">mxnet.symbol.linalg.gelqf</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.syevd.html">mxnet.symbol.linalg.syevd</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.sumlogdiag.html">mxnet.symbol.linalg.sumlogdiag</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.extractdiag.html">mxnet.symbol.linalg.extractdiag</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.makediag.html">mxnet.symbol.linalg.makediag</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.extracttrian.html">mxnet.symbol.linalg.extracttrian</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.maketrian.html">mxnet.symbol.linalg.maketrian</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.inverse.html">mxnet.symbol.linalg.inverse</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"><a class="reference internal" href="../../../api/symbol-related/index.html">Symbol related modules</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/symbol-related/mxnet.callback.html">mxnet.callback</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.callback.do_checkpoint.html">mxnet.callback.do_checkpoint</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.callback.log_train_metric.html">mxnet.callback.log_train_metric</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.callback.module_checkpoint.html">mxnet.callback.module_checkpoint</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.callback.LogValidationMetricsCallback.html">mxnet.callback.LogValidationMetricsCallback</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.callback.ProgressBar.html">mxnet.callback.ProgressBar</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.callback.Speedometer.html">mxnet.callback.Speedometer</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/symbol-related/mxnet.module.html">mxnet.module</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.module.BaseModule.html">mxnet.module.BaseModule</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.module.BucketingModule.html">mxnet.module.BucketingModule</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.module.Module.html">mxnet.module.Module</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.module.PythonLossModule.html">mxnet.module.PythonLossModule</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.module.PythonModule.html">mxnet.module.PythonModule</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.module.SequentialModule.html">mxnet.module.SequentialModule</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/symbol-related/mxnet.monitor.html">mxnet.monitor</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.monitor.Monitor.html">mxnet.monitor.Monitor</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/symbol-related/mxnet.visualization.html">mxnet.visualization</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.visualization.plot_network.html">mxnet.visualization.plot_network</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.visualization.print_summary.html">mxnet.visualization.print_summary</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"><a class="reference internal" href="../../../api/advanced/index.html">Advanced modules</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/advanced/mxnet.executor.html">mxnet.executor</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.executor.Executor.html">mxnet.executor.Executor</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/advanced/mxnet.kvstore_server.html">mxnet.kvstore_server</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.kvstore_server.KVStoreServer.html">mxnet.kvstore_server.KVStoreServer</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/advanced/mxnet.engine.html">mxnet.engine</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.engine.bulk.html">mxnet.engine.bulk</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.engine.set_bulk_size.html">mxnet.engine.set_bulk_size</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/advanced/mxnet.executor_manager.html">mxnet.executor_manager</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.executor_manager.DataParallelExecutorGroup.html">mxnet.executor_manager.DataParallelExecutorGroup</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.executor_manager.DataParallelExecutorManager.html">mxnet.executor_manager.DataParallelExecutorManager</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/advanced/mxnet.rtc.html">mxnet.rtc</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.rtc.CudaKernel.html">mxnet.rtc.CudaKernel</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.rtc.CudaModule.html">mxnet.rtc.CudaModule</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/advanced/mxnet.test_utils.html">mxnet.test_utils</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.almost_equal.html">mxnet.test_utils.almost_equal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.almost_equal_ignore_nan.html">mxnet.test_utils.almost_equal_ignore_nan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.assert_almost_equal.html">mxnet.test_utils.assert_almost_equal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.assert_almost_equal_ignore_nan.html">mxnet.test_utils.assert_almost_equal_ignore_nan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.assert_exception.html">mxnet.test_utils.assert_exception</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.assign_each.html">mxnet.test_utils.assign_each</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.assign_each2.html">mxnet.test_utils.assign_each2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.check_consistency.html">mxnet.test_utils.check_consistency</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.check_numeric_gradient.html">mxnet.test_utils.check_numeric_gradient</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.check_speed.html">mxnet.test_utils.check_speed</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.check_symbolic_backward.html">mxnet.test_utils.check_symbolic_backward</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.check_symbolic_forward.html">mxnet.test_utils.check_symbolic_forward</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.chi_square_check.html">mxnet.test_utils.chi_square_check</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.create_sparse_array.html">mxnet.test_utils.create_sparse_array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.create_sparse_array_zd.html">mxnet.test_utils.create_sparse_array_zd</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.default_context.html">mxnet.test_utils.default_context</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.default_dtype.html">mxnet.test_utils.default_dtype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.discard_stderr.html">mxnet.test_utils.discard_stderr</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.download.html">mxnet.test_utils.download</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.find_max_violation.html">mxnet.test_utils.find_max_violation</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.gen_buckets_probs_with_ppf.html">mxnet.test_utils.gen_buckets_probs_with_ppf</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.get_atol.html">mxnet.test_utils.get_atol</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.get_bz2_data.html">mxnet.test_utils.get_bz2_data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.get_cifar10.html">mxnet.test_utils.get_cifar10</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.get_im2rec_path.html">mxnet.test_utils.get_im2rec_path</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.get_mnist.html">mxnet.test_utils.get_mnist</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.get_mnist_iterator.html">mxnet.test_utils.get_mnist_iterator</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.get_mnist_pkl.html">mxnet.test_utils.get_mnist_pkl</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.get_mnist_ubyte.html">mxnet.test_utils.get_mnist_ubyte</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.get_rtol.html">mxnet.test_utils.get_rtol</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.get_zip_data.html">mxnet.test_utils.get_zip_data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.list_gpus.html">mxnet.test_utils.list_gpus</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.mean_check.html">mxnet.test_utils.mean_check</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.np_reduce.html">mxnet.test_utils.np_reduce</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.numeric_grad.html">mxnet.test_utils.numeric_grad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.rand_ndarray.html">mxnet.test_utils.rand_ndarray</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.rand_shape_2d.html">mxnet.test_utils.rand_shape_2d</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.rand_shape_3d.html">mxnet.test_utils.rand_shape_3d</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.rand_shape_nd.html">mxnet.test_utils.rand_shape_nd</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.rand_sparse_ndarray.html">mxnet.test_utils.rand_sparse_ndarray</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.random_arrays.html">mxnet.test_utils.random_arrays</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.random_sample.html">mxnet.test_utils.random_sample</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.retry.html">mxnet.test_utils.retry</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.same.html">mxnet.test_utils.same</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.same_array.html">mxnet.test_utils.same_array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.set_default_context.html">mxnet.test_utils.set_default_context</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.set_env_var.html">mxnet.test_utils.set_env_var</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.shuffle_csr_column_indices.html">mxnet.test_utils.shuffle_csr_column_indices</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.simple_forward.html">mxnet.test_utils.simple_forward</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.var_check.html">mxnet.test_utils.var_check</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.verify_generator.html">mxnet.test_utils.verify_generator</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/advanced/mxnet.util.html">mxnet.util</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.util.makedirs.html">mxnet.util.makedirs</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| |
| </nav> |
| |
| </div> |
| |
| </header> |
| <main class="mdl-layout__content" tabIndex="0"> |
| |
| <script type="text/javascript" src="../../../_static/sphinx_materialdesign_theme.js "></script> |
| <header class="mdl-layout__drawer"> |
| |
| <div class="globaltoc"> |
| <span class="mdl-layout-title toc">Table Of Contents</span> |
| |
| |
| |
| <nav class="mdl-navigation"> |
| <ul> |
| <li class="toctree-l1"><a class="reference internal" href="../../../tutorials/index.html">Python Tutorials</a><ul> |
| <li class="toctree-l2"><a class="reference internal" href="../../../tutorials/getting-started/index.html">Getting Started</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/getting-started/crash-course/index.html">Crash Course</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/getting-started/crash-course/1-ndarray.html">Manipulate data with <code class="docutils literal notranslate"><span class="pre">ndarray</span></code></a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/getting-started/crash-course/2-nn.html">Create a neural network</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/getting-started/crash-course/3-autograd.html">Automatic differentiation with <code class="docutils literal notranslate"><span class="pre">autograd</span></code></a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/getting-started/crash-course/4-train.html">Train the neural network</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/getting-started/crash-course/5-predict.html">Predict with a pre-trained model</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/getting-started/crash-course/6-use_gpus.html">Use GPUs</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/getting-started/to-mxnet/index.html">Moving to MXNet from Other Frameworks</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/getting-started/to-mxnet/pytorch.html">PyTorch vs Apache MXNet</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"><a class="reference internal" href="../../../tutorials/packages/index.html">Packages</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/packages/gluon/index.html">Gluon</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/custom_layer_beginners.html">How to write a custom layer in Apache MxNet Gluon API</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/data.html">Data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/image-augmentation.html">Image Augmentation</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/nn.html">Layers and Blocks</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/normalization/normalization.html">Normalization Blocks</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/activations/activations.html">Activation Blocks</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/custom-loss/custom-loss.html">Custom Loss Blocks</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/init.html">Initialization</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/init.html#Conclusion">Conclusion</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/init.html#Recommended-Next-Steps">Recommended Next Steps</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/parameters.html">Parameter Management</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/trainer.html">Trainer</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/naming.html">Naming of Gluon Parameter and Blocks</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/custom-layer.html">Custom Layers</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/customop.html">Creating custom operators with numpy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/hybridize.html">Hybridize</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/image/index.html">Image Tutorials</a><ul> |
| <li class="toctree-l5"><a class="reference internal" href="../../../tutorials/packages/gluon/image/mnist.html">Handwritten Digit Recognition</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../tutorials/packages/gluon/image/pretrained_models.html">Using pre-trained models in MXNet</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/text/index.html">Text Tutorials</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/packages/gluon/text/index.html#language-model">Language Model</a><ul class="simple"> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/packages/ndarray/index.html">NDArray</a><ul class="simple"> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/packages/symbol/index.html">Symbol</a><ul class="simple"> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/packages/autograd/autograd.html">Automatic Differentiation</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/packages/onnx/index.html">ONNX</a><ul class="simple"> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"><a class="reference internal" href="../../../tutorials/performance/index.html">Performance</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/performance/compression/index.html">Compression</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/performance/compression/int8.html">Deploy with int-8</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/performance/backend/index.html">Accelerated Backend Tools</a><ul class="simple"> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"><a class="reference internal" href="../../../tutorials/deploy/index.html">Deployment</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/deploy/export/index.html">Export</a><ul class="simple"> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/deploy/inference/index.html">Inference</a><ul class="simple"> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/deploy/run-on-aws/index.html">Run on AWS</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/deploy/run-on-aws/use_ec2.html">Run on an EC2 Instance</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/deploy/run-on-aws/use_sagemaker.html">Run on Amazon SageMaker</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../tutorials/deploy/run-on-aws/cloud.html">MXNet on the Cloud</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"><a class="reference internal" href="../../../tutorials/extend/index.html">Customization</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/extend/custom_layer.html">How to write a custom layer in Apache MxNet Gluon API</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../tutorials/extend/customop.html">Creating custom operators with numpy</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l1"><a class="reference internal" href="../../../api/index.html">Python API</a><ul> |
| <li class="toctree-l2"><a class="reference internal" href="../../../api/ndarray/index.html">mxnet.ndarray</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/ndarray/mxnet.ndarray.NDArray.html">NDArray</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.context.html">mxnet.ndarray.NDArray.context</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.dtype.html">mxnet.ndarray.NDArray.dtype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.grad.html">mxnet.ndarray.NDArray.grad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.handle.html">mxnet.ndarray.NDArray.handle</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.ndim.html">mxnet.ndarray.NDArray.ndim</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.shape.html">mxnet.ndarray.NDArray.shape</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.size.html">mxnet.ndarray.NDArray.size</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.stype.html">mxnet.ndarray.NDArray.stype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.writable.html">mxnet.ndarray.NDArray.writable</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.ones_like.html">mxnet.ndarray.NDArray.ones_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.zeros_like.html">mxnet.ndarray.NDArray.zeros_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.as_in_context.html">mxnet.ndarray.NDArray.as_in_context</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.asnumpy.html">mxnet.ndarray.NDArray.asnumpy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.asscalar.html">mxnet.ndarray.NDArray.asscalar</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.astype.html">mxnet.ndarray.NDArray.astype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.copy.html">mxnet.ndarray.NDArray.copy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.copyto.html">mxnet.ndarray.NDArray.copyto</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.tostype.html">mxnet.ndarray.NDArray.tostype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.diag.html">mxnet.ndarray.NDArray.diag</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.expand_dims.html">mxnet.ndarray.NDArray.expand_dims</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.flatten.html">mxnet.ndarray.NDArray.flatten</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.reshape.html">mxnet.ndarray.NDArray.reshape</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.reshape_like.html">mxnet.ndarray.NDArray.reshape_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.shape_array.html">mxnet.ndarray.NDArray.shape_array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.size_array.html">mxnet.ndarray.NDArray.size_array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.split.html">mxnet.ndarray.NDArray.split</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.broadcast_to.html">mxnet.ndarray.NDArray.broadcast_to</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.broadcast_axes.html">mxnet.ndarray.NDArray.broadcast_axes</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.broadcast_like.html">mxnet.ndarray.NDArray.broadcast_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.pad.html">mxnet.ndarray.NDArray.pad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.repeat.html">mxnet.ndarray.NDArray.repeat</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.tile.html">mxnet.ndarray.NDArray.tile</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.depth_to_space.html">mxnet.ndarray.NDArray.depth_to_space</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.flip.html">mxnet.ndarray.NDArray.flip</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.swapaxes.html">mxnet.ndarray.NDArray.swapaxes</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.space_to_depth.html">mxnet.ndarray.NDArray.space_to_depth</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.T.html">mxnet.ndarray.NDArray.T</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.transpose.html">mxnet.ndarray.NDArray.transpose</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.argmax.html">mxnet.ndarray.NDArray.argmax</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.argmax_channel.html">mxnet.ndarray.NDArray.argmax_channel</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.argmin.html">mxnet.ndarray.NDArray.argmin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.argsort.html">mxnet.ndarray.NDArray.argsort</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.sort.html">mxnet.ndarray.NDArray.sort</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.topk.html">mxnet.ndarray.NDArray.topk</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__getitem__.html">mxnet.ndarray.NDArray.__getitem__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__setitem__.html">mxnet.ndarray.NDArray.__setitem__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.one_hot.html">mxnet.ndarray.NDArray.one_hot</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.pick.html">mxnet.ndarray.NDArray.pick</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.slice.html">mxnet.ndarray.NDArray.slice</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.slice_axis.html">mxnet.ndarray.NDArray.slice_axis</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.slice_like.html">mxnet.ndarray.NDArray.slice_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.take.html">mxnet.ndarray.NDArray.take</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.wait_to_read.html">mxnet.ndarray.NDArray.wait_to_read</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__add__.html">mxnet.ndarray.NDArray.__add__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__div__.html">mxnet.ndarray.NDArray.__div__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__neg__.html">mxnet.ndarray.NDArray.__neg__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__mod__.html">mxnet.ndarray.NDArray.__mod__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__mul__.html">mxnet.ndarray.NDArray.__mul__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__pow__.html">mxnet.ndarray.NDArray.__pow__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__rdiv__.html">mxnet.ndarray.NDArray.__rdiv__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__rmod__.html">mxnet.ndarray.NDArray.__rmod__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__rsub__.html">mxnet.ndarray.NDArray.__rsub__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__sub__.html">mxnet.ndarray.NDArray.__sub__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.ceil.html">mxnet.ndarray.NDArray.ceil</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.fix.html">mxnet.ndarray.NDArray.fix</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.floor.html">mxnet.ndarray.NDArray.floor</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.rint.html">mxnet.ndarray.NDArray.rint</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.round.html">mxnet.ndarray.NDArray.round</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.trunc.html">mxnet.ndarray.NDArray.trunc</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.max.html">mxnet.ndarray.NDArray.max</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.mean.html">mxnet.ndarray.NDArray.mean</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.min.html">mxnet.ndarray.NDArray.min</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.nanprod.html">mxnet.ndarray.NDArray.nanprod</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.nansum.html">mxnet.ndarray.NDArray.nansum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.norm.html">mxnet.ndarray.NDArray.norm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.prod.html">mxnet.ndarray.NDArray.prod</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.sum.html">mxnet.ndarray.NDArray.sum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__iadd__.html">mxnet.ndarray.NDArray.__iadd__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__idiv__.html">mxnet.ndarray.NDArray.__idiv__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__imod__.html">mxnet.ndarray.NDArray.__imod__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__imul__.html">mxnet.ndarray.NDArray.__imul__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__isub__.html">mxnet.ndarray.NDArray.__isub__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__eq__.html">mxnet.ndarray.NDArray.__eq__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__ge__.html">mxnet.ndarray.NDArray.__ge__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__gt__.html">mxnet.ndarray.NDArray.__gt__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__le__.html">mxnet.ndarray.NDArray.__le__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__lt__.html">mxnet.ndarray.NDArray.__lt__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.__ne__.html">mxnet.ndarray.NDArray.__ne__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.arccos.html">mxnet.ndarray.NDArray.arccos</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.arcsin.html">mxnet.ndarray.NDArray.arcsin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.arctan.html">mxnet.ndarray.NDArray.arctan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.cos.html">mxnet.ndarray.NDArray.cos</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.degrees.html">mxnet.ndarray.NDArray.degrees</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.radians.html">mxnet.ndarray.NDArray.radians</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.sin.html">mxnet.ndarray.NDArray.sin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.tan.html">mxnet.ndarray.NDArray.tan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.arccosh.html">mxnet.ndarray.NDArray.arccosh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.arcsinh.html">mxnet.ndarray.NDArray.arcsinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.arctanh.html">mxnet.ndarray.NDArray.arctanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.cosh.html">mxnet.ndarray.NDArray.cosh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.sinh.html">mxnet.ndarray.NDArray.sinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.tanh.html">mxnet.ndarray.NDArray.tanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.exp.html">mxnet.ndarray.NDArray.exp</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.expm1.html">mxnet.ndarray.NDArray.expm1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.log.html">mxnet.ndarray.NDArray.log</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.log1p.html">mxnet.ndarray.NDArray.log1p</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.log10.html">mxnet.ndarray.NDArray.log10</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.log2.html">mxnet.ndarray.NDArray.log2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.cbrt.html">mxnet.ndarray.NDArray.cbrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.rcbrt.html">mxnet.ndarray.NDArray.rcbrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.reciprocal.html">mxnet.ndarray.NDArray.reciprocal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.rsqrt.html">mxnet.ndarray.NDArray.rsqrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.square.html">mxnet.ndarray.NDArray.square</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.sqrt.html">mxnet.ndarray.NDArray.sqrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.clip.html">mxnet.ndarray.NDArray.clip</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.sign.html">mxnet.ndarray.NDArray.sign</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.log_softmax.html">mxnet.ndarray.NDArray.log_softmax</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.relu.html">mxnet.ndarray.NDArray.relu</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.sigmoid.html">mxnet.ndarray.NDArray.sigmoid</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.softmax.html">mxnet.ndarray.NDArray.softmax</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/ndarray/routines.html">Routines</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.arange.html">mxnet.ndarray.arange</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.array.html">mxnet.ndarray.array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.diag.html">mxnet.ndarray.diag</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.empty.html">mxnet.ndarray.empty</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.full.html">mxnet.ndarray.full</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.load.html">mxnet.ndarray.load</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.ones.html">mxnet.ndarray.ones</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.ones_like.html">mxnet.ndarray.ones_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.save.html">mxnet.ndarray.save</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.zeros.html">mxnet.ndarray.zeros</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.zeros_like.html">mxnet.ndarray.zeros_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.cast.html">mxnet.ndarray.cast</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.flatten.html">mxnet.ndarray.flatten</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.expand_dims.html">mxnet.ndarray.expand_dims</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.reshape.html">mxnet.ndarray.reshape</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.reshape_like.html">mxnet.ndarray.reshape_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.shape_array.html">mxnet.ndarray.shape_array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.size_array.html">mxnet.ndarray.size_array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.broadcast_axes.html">mxnet.ndarray.broadcast_axes</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.broadcast_like.html">mxnet.ndarray.broadcast_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.broadcast_to.html">mxnet.ndarray.broadcast_to</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.pad.html">mxnet.ndarray.pad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.repeat.html">mxnet.ndarray.repeat</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.tile.html">mxnet.ndarray.tile</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.depth_to_space.html">mxnet.ndarray.depth_to_space</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.flip.html">mxnet.ndarray.flip</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.space_to_depth.html">mxnet.ndarray.space_to_depth</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.swapaxes.html">mxnet.ndarray.swapaxes</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.transpose.html">mxnet.ndarray.transpose</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.concat.html">mxnet.ndarray.concat</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.split.html">mxnet.ndarray.split</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.stack.html">mxnet.ndarray.stack</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.batch_take.html">mxnet.ndarray.batch_take</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.one_hot.html">mxnet.ndarray.one_hot</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.pick.html">mxnet.ndarray.pick</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.ravel_multi_index.html">mxnet.ndarray.ravel_multi_index</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.slice.html">mxnet.ndarray.slice</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.slice_axis.html">mxnet.ndarray.slice_axis</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.slice_like.html">mxnet.ndarray.slice_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.take.html">mxnet.ndarray.take</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.unravel_index.html">mxnet.ndarray.unravel_index</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.where.html">mxnet.ndarray.where</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.SequenceLast.html">mxnet.ndarray.SequenceLast</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.SequenceMask.html">mxnet.ndarray.SequenceMask</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.SequenceReverse.html">mxnet.ndarray.SequenceReverse</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.add.html">mxnet.ndarray.add</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.add_n.html">mxnet.ndarray.add_n</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.batch_dot.html">mxnet.ndarray.batch_dot</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.divide.html">mxnet.ndarray.divide</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.dot.html">mxnet.ndarray.dot</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.modulo.html">mxnet.ndarray.modulo</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.multiply.html">mxnet.ndarray.multiply</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.negative.html">mxnet.ndarray.negative</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.subtract.html">mxnet.ndarray.subtract</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.arccos.html">mxnet.ndarray.arccos</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.arcsin.html">mxnet.ndarray.arcsin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.arctan.html">mxnet.ndarray.arctan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.broadcast_hypot.html">mxnet.ndarray.broadcast_hypot</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.degrees.html">mxnet.ndarray.degrees</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.cos.html">mxnet.ndarray.cos</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.radians.html">mxnet.ndarray.radians</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sin.html">mxnet.ndarray.sin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.tan.html">mxnet.ndarray.tan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.arcsinh.html">mxnet.ndarray.arcsinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.arccosh.html">mxnet.ndarray.arccosh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.arctanh.html">mxnet.ndarray.arctanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.cosh.html">mxnet.ndarray.cosh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sinh.html">mxnet.ndarray.sinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.tanh.html">mxnet.ndarray.tanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.max.html">mxnet.ndarray.max</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.min.html">mxnet.ndarray.min</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.mean.html">mxnet.ndarray.mean</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.nanprod.html">mxnet.ndarray.nanprod</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.nansum.html">mxnet.ndarray.nansum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.norm.html">mxnet.ndarray.norm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.prod.html">mxnet.ndarray.prod</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sum.html">mxnet.ndarray.sum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.ceil.html">mxnet.ndarray.ceil</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.fix.html">mxnet.ndarray.fix</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.floor.html">mxnet.ndarray.floor</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.round.html">mxnet.ndarray.round</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.rint.html">mxnet.ndarray.rint</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.trunc.html">mxnet.ndarray.trunc</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.exp.html">mxnet.ndarray.exp</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.expm1.html">mxnet.ndarray.expm1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.log.html">mxnet.ndarray.log</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.log1p.html">mxnet.ndarray.log1p</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.log10.html">mxnet.ndarray.log10</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.log2.html">mxnet.ndarray.log2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.cbrt.html">mxnet.ndarray.cbrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.power.html">mxnet.ndarray.power</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.rcbrt.html">mxnet.ndarray.rcbrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.reciprocal.html">mxnet.ndarray.reciprocal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.rsqrt.html">mxnet.ndarray.rsqrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.square.html">mxnet.ndarray.square</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sqrt.html">mxnet.ndarray.sqrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.equal.html">mxnet.ndarray.equal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.greater.html">mxnet.ndarray.greater</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.greater_equal.html">mxnet.ndarray.greater_equal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.lesser.html">mxnet.ndarray.lesser</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.lesser_equal.html">mxnet.ndarray.lesser_equal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.not_equal.html">mxnet.ndarray.not_equal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.logical_and.html">mxnet.ndarray.logical_and</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.logical_not.html">mxnet.ndarray.logical_not</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.logical_or.html">mxnet.ndarray.logical_or</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.logical_xor.html">mxnet.ndarray.logical_xor</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.argmax.html">mxnet.ndarray.argmax</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.argmin.html">mxnet.ndarray.argmin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.argsort.html">mxnet.ndarray.argsort</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sort.html">mxnet.ndarray.sort</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.topk.html">mxnet.ndarray.topk</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.exponential.html">mxnet.ndarray.random.exponential</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.gamma.html">mxnet.ndarray.random.gamma</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.generalized_negative_binomial.html">mxnet.ndarray.random.generalized_negative_binomial</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.multinomial.html">mxnet.ndarray.random.multinomial</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.negative_binomial.html">mxnet.ndarray.random.negative_binomial</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.normal.html">mxnet.ndarray.random.normal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.poisson.html">mxnet.ndarray.random.poisson</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.randint.html">mxnet.ndarray.random.randint</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.randn.html">mxnet.ndarray.random.randn</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.shuffle.html">mxnet.ndarray.random.shuffle</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.random.uniform.html">mxnet.ndarray.random.uniform</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.linalg.gelqf.html">mxnet.ndarray.linalg.gelqf</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.linalg.gemm.html">mxnet.ndarray.linalg.gemm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.linalg.gemm2.html">mxnet.ndarray.linalg.gemm2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.linalg.potrf.html">mxnet.ndarray.linalg.potrf</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.linalg.potri.html">mxnet.ndarray.linalg.potri</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.linalg.sumlogdiag.html">mxnet.ndarray.linalg.sumlogdiag</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.linalg.syevd.html">mxnet.ndarray.linalg.syevd</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.linalg.syrk.html">mxnet.ndarray.linalg.syrk</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.linalg.trmm.html">mxnet.ndarray.linalg.trmm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.linalg.trsm.html">mxnet.ndarray.linalg.trsm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.abs.html">mxnet.ndarray.abs</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.clip.html">mxnet.ndarray.clip</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.gamma.html">mxnet.ndarray.gamma</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.gammaln.html">mxnet.ndarray.gammaln</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.maximum.html">mxnet.ndarray.maximum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.minimum.html">mxnet.ndarray.minimum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sign.html">mxnet.ndarray.sign</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.Activation.html">mxnet.ndarray.Activation</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.BatchNorm.html">mxnet.ndarray.BatchNorm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.BilinearSampler.html">mxnet.ndarray.BilinearSampler</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.BlockGrad.html">mxnet.ndarray.BlockGrad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.Convolution.html">mxnet.ndarray.Convolution</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.Correlation.html">mxnet.ndarray.Correlation</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.Custom.html">mxnet.ndarray.Custom</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.Deconvolution.html">mxnet.ndarray.Deconvolution</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.Dropout.html">mxnet.ndarray.Dropout</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.Embedding.html">mxnet.ndarray.Embedding</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.FullyConnected.html">mxnet.ndarray.FullyConnected</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.GridGenerator.html">mxnet.ndarray.GridGenerator</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.IdentityAttachKLSparseReg.html">mxnet.ndarray.IdentityAttachKLSparseReg</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.InstanceNorm.html">mxnet.ndarray.InstanceNorm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.L2Normalization.html">mxnet.ndarray.L2Normalization</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.LayerNorm.html">mxnet.ndarray.LayerNorm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.LeakyReLU.html">mxnet.ndarray.LeakyReLU</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.LinearRegressionOutput.html">mxnet.ndarray.LinearRegressionOutput</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.log_softmax.html">mxnet.ndarray.log_softmax</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.LogisticRegressionOutput.html">mxnet.ndarray.LogisticRegressionOutput</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.LRN.html">mxnet.ndarray.LRN</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.MAERegressionOutput.html">mxnet.ndarray.MAERegressionOutput</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.MakeLoss.html">mxnet.ndarray.MakeLoss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.Pooling.html">mxnet.ndarray.Pooling</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.relu.html">mxnet.ndarray.relu</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.ROIPooling.html">mxnet.ndarray.ROIPooling</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.RNN.html">mxnet.ndarray.RNN</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sigmoid.html">mxnet.ndarray.sigmoid</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.smooth_l1.html">mxnet.ndarray.smooth_l1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.softmax.html">mxnet.ndarray.softmax</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.softmax_cross_entropy.html">mxnet.ndarray.softmax_cross_entropy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.SoftmaxOutput.html">mxnet.ndarray.SoftmaxOutput</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.SoftmaxActivation.html">mxnet.ndarray.SoftmaxActivation</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.SpatialTransformer.html">mxnet.ndarray.SpatialTransformer</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.SVMOutput.html">mxnet.ndarray.SVMOutput</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.UpSampling.html">mxnet.ndarray.UpSampling</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.count_sketch.html">mxnet.ndarray.contrib.count_sketch</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.getnnz.html">mxnet.ndarray.contrib.getnnz</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.index_copy.html">mxnet.ndarray.contrib.index_copy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.fft.html">mxnet.ndarray.contrib.fft</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.ifft.html">mxnet.ndarray.contrib.ifft</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.dequantize.html">mxnet.ndarray.contrib.dequantize</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.quantize.html">mxnet.ndarray.contrib.quantize</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.AdaptiveAvgPooling2D.html">mxnet.ndarray.contrib.AdaptiveAvgPooling2D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.BilinearResize2D.html">mxnet.ndarray.contrib.BilinearResize2D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.ctc_loss.html">mxnet.ndarray.contrib.ctc_loss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.DeformableConvolution.html">mxnet.ndarray.contrib.DeformableConvolution</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.DeformablePSROIPooling.html">mxnet.ndarray.contrib.DeformablePSROIPooling</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.MultiBoxDetection.html">mxnet.ndarray.contrib.MultiBoxDetection</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.MultiBoxPrior.html">mxnet.ndarray.contrib.MultiBoxPrior</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.MultiBoxTarget.html">mxnet.ndarray.contrib.MultiBoxTarget</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.MultiProposal.html">mxnet.ndarray.contrib.MultiProposal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.Proposal.html">mxnet.ndarray.contrib.Proposal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.PSROIPooling.html">mxnet.ndarray.contrib.PSROIPooling</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.ROIAlign.html">mxnet.ndarray.contrib.ROIAlign</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.cond.html">mxnet.ndarray.contrib.cond</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.foreach.html">mxnet.ndarray.contrib.foreach</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.contrib.while_loop.html">mxnet.ndarray.contrib.while_loop</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/ndarray/mxnet.ndarray.sparse.CSRNDArray.html">CSRNDArray</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.context.html">mxnet.ndarray.sparse.CSRNDArray.context</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.data.html">mxnet.ndarray.sparse.CSRNDArray.data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.dtype.html">mxnet.ndarray.sparse.CSRNDArray.dtype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.indices.html">mxnet.ndarray.sparse.CSRNDArray.indices</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.indptr.html">mxnet.ndarray.sparse.CSRNDArray.indptr</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.shape.html">mxnet.ndarray.sparse.CSRNDArray.shape</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.stype.html">mxnet.ndarray.sparse.CSRNDArray.stype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.zeros_like.html">mxnet.ndarray.sparse.CSRNDArray.zeros_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.as_in_context.html">mxnet.ndarray.sparse.CSRNDArray.as_in_context</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.asnumpy.html">mxnet.ndarray.sparse.CSRNDArray.asnumpy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.asscalar.html">mxnet.ndarray.sparse.CSRNDArray.asscalar</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.asscipy.html">mxnet.ndarray.sparse.CSRNDArray.asscipy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.astype.html">mxnet.ndarray.sparse.CSRNDArray.astype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.copy.html">mxnet.ndarray.sparse.CSRNDArray.copy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.copyto.html">mxnet.ndarray.sparse.CSRNDArray.copyto</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.tostype.html">mxnet.ndarray.sparse.CSRNDArray.tostype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.check_format.html">mxnet.ndarray.sparse.CSRNDArray.check_format</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.mean.html">mxnet.ndarray.sparse.CSRNDArray.mean</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.norm.html">mxnet.ndarray.sparse.CSRNDArray.norm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.sum.html">mxnet.ndarray.sparse.CSRNDArray.sum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.__getitem__.html">mxnet.ndarray.sparse.CSRNDArray.__getitem__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.__setitem__.html">mxnet.ndarray.sparse.CSRNDArray.__setitem__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.slice.html">mxnet.ndarray.sparse.CSRNDArray.slice</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.concat.html">mxnet.ndarray.sparse.concat</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.wait_to_read.html">mxnet.ndarray.sparse.CSRNDArray.wait_to_read</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.ceil.html">mxnet.ndarray.sparse.CSRNDArray.ceil</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.fix.html">mxnet.ndarray.sparse.CSRNDArray.fix</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.floor.html">mxnet.ndarray.sparse.CSRNDArray.floor</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.round.html">mxnet.ndarray.sparse.CSRNDArray.round</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.rint.html">mxnet.ndarray.sparse.CSRNDArray.rint</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.trunc.html">mxnet.ndarray.sparse.CSRNDArray.trunc</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.arcsin.html">mxnet.ndarray.sparse.CSRNDArray.arcsin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.arctan.html">mxnet.ndarray.sparse.CSRNDArray.arctan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.degrees.html">mxnet.ndarray.sparse.CSRNDArray.degrees</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.radians.html">mxnet.ndarray.sparse.CSRNDArray.radians</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.sin.html">mxnet.ndarray.sparse.CSRNDArray.sin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.tan.html">mxnet.ndarray.sparse.CSRNDArray.tan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.arcsinh.html">mxnet.ndarray.sparse.CSRNDArray.arcsinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.arctanh.html">mxnet.ndarray.sparse.CSRNDArray.arctanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.sinh.html">mxnet.ndarray.sparse.CSRNDArray.sinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.tanh.html">mxnet.ndarray.sparse.CSRNDArray.tanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.expm1.html">mxnet.ndarray.sparse.CSRNDArray.expm1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.log1p.html">mxnet.ndarray.sparse.CSRNDArray.log1p</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.sqrt.html">mxnet.ndarray.sparse.CSRNDArray.sqrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.square.html">mxnet.ndarray.sparse.CSRNDArray.square</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.abs.html">mxnet.ndarray.sparse.CSRNDArray.abs</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.clip.html">mxnet.ndarray.sparse.CSRNDArray.clip</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.CSRNDArray.sign.html">mxnet.ndarray.sparse.CSRNDArray.sign</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/ndarray/mxnet.ndarray.sparse.RowSparseNDArray.html">RowSparseNDArray</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.context.html">mxnet.ndarray.sparse.RowSparseNDArray.context</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.data.html">mxnet.ndarray.sparse.RowSparseNDArray.data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.dtype.html">mxnet.ndarray.sparse.RowSparseNDArray.dtype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.indices.html">mxnet.ndarray.sparse.RowSparseNDArray.indices</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.shape.html">mxnet.ndarray.sparse.RowSparseNDArray.shape</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.stype.html">mxnet.ndarray.sparse.RowSparseNDArray.stype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.as_in_context.html">mxnet.ndarray.sparse.RowSparseNDArray.as_in_context</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.asnumpy.html">mxnet.ndarray.sparse.RowSparseNDArray.asnumpy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.asscalar.html">mxnet.ndarray.sparse.RowSparseNDArray.asscalar</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.astype.html">mxnet.ndarray.sparse.RowSparseNDArray.astype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.copy.html">mxnet.ndarray.sparse.RowSparseNDArray.copy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.copyto.html">mxnet.ndarray.sparse.RowSparseNDArray.copyto</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.tostype.html">mxnet.ndarray.sparse.RowSparseNDArray.tostype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.check_format.html">mxnet.ndarray.sparse.RowSparseNDArray.check_format</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.zeros_like.html">mxnet.ndarray.sparse.RowSparseNDArray.zeros_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.norm.html">mxnet.ndarray.sparse.RowSparseNDArray.norm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.ceil.html">mxnet.ndarray.sparse.RowSparseNDArray.ceil</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.fix.html">mxnet.ndarray.sparse.RowSparseNDArray.fix</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.floor.html">mxnet.ndarray.sparse.RowSparseNDArray.floor</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.rint.html">mxnet.ndarray.sparse.RowSparseNDArray.rint</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.round.html">mxnet.ndarray.sparse.RowSparseNDArray.round</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.trunc.html">mxnet.ndarray.sparse.RowSparseNDArray.trunc</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.arcsin.html">mxnet.ndarray.sparse.RowSparseNDArray.arcsin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.arctan.html">mxnet.ndarray.sparse.RowSparseNDArray.arctan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.degrees.html">mxnet.ndarray.sparse.RowSparseNDArray.degrees</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.radians.html">mxnet.ndarray.sparse.RowSparseNDArray.radians</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.sin.html">mxnet.ndarray.sparse.RowSparseNDArray.sin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.tan.html">mxnet.ndarray.sparse.RowSparseNDArray.tan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.arcsinh.html">mxnet.ndarray.sparse.RowSparseNDArray.arcsinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.arctanh.html">mxnet.ndarray.sparse.RowSparseNDArray.arctanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.sinh.html">mxnet.ndarray.sparse.RowSparseNDArray.sinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.tanh.html">mxnet.ndarray.sparse.RowSparseNDArray.tanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.expm1.html">mxnet.ndarray.sparse.RowSparseNDArray.expm1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.log1p.html">mxnet.ndarray.sparse.RowSparseNDArray.log1p</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.sqrt.html">mxnet.ndarray.sparse.RowSparseNDArray.sqrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.square.html">mxnet.ndarray.sparse.RowSparseNDArray.square</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.__getitem__.html">mxnet.ndarray.sparse.RowSparseNDArray.__getitem__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.__setitem__.html">mxnet.ndarray.sparse.RowSparseNDArray.__setitem__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.retain.html">mxnet.ndarray.sparse.RowSparseNDArray.retain</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.wait_to_read.html">mxnet.ndarray.sparse.RowSparseNDArray.wait_to_read</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.abs.html">mxnet.ndarray.sparse.RowSparseNDArray.abs</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.clip.html">mxnet.ndarray.sparse.RowSparseNDArray.clip</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.RowSparseNDArray.sign.html">mxnet.ndarray.sparse.RowSparseNDArray.sign</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/ndarray/sparse_routines.html">Sparse routines</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.array.html">mxnet.ndarray.sparse.array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.csr_matrix.html">mxnet.ndarray.sparse.csr_matrix</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.empty.html">mxnet.ndarray.sparse.empty</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.row_sparse_array.html">mxnet.ndarray.sparse.row_sparse_array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.zeros.html">mxnet.ndarray.sparse.zeros</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.zeros_like.html">mxnet.ndarray.sparse.zeros_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.cast_storage.html">mxnet.ndarray.sparse.cast_storage</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.retain.html">mxnet.ndarray.sparse.retain</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.slice.html">mxnet.ndarray.sparse.slice</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.where.html">mxnet.ndarray.sparse.where</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.add_n.html">mxnet.ndarray.sparse.add_n</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.broadcast_add.html">mxnet.ndarray.sparse.broadcast_add</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.broadcast_div.html">mxnet.ndarray.sparse.broadcast_div</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.broadcast_mul.html">mxnet.ndarray.sparse.broadcast_mul</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.broadcast_sub.html">mxnet.ndarray.sparse.broadcast_sub</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.dot.html">mxnet.ndarray.sparse.dot</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.elemwise_add.html">mxnet.ndarray.sparse.elemwise_add</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.elemwise_mul.html">mxnet.ndarray.sparse.elemwise_mul</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.elemwise_sub.html">mxnet.ndarray.sparse.elemwise_sub</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.negative.html">mxnet.ndarray.sparse.negative</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.arcsin.html">mxnet.ndarray.sparse.arcsin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.arctan.html">mxnet.ndarray.sparse.arctan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.degrees.html">mxnet.ndarray.sparse.degrees</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.radians.html">mxnet.ndarray.sparse.radians</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.sin.html">mxnet.ndarray.sparse.sin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.tan.html">mxnet.ndarray.sparse.tan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.arcsinh.html">mxnet.ndarray.sparse.arcsinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.arctanh.html">mxnet.ndarray.sparse.arctanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.sinh.html">mxnet.ndarray.sparse.sinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.tanh.html">mxnet.ndarray.sparse.tanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.mean.html">mxnet.ndarray.sparse.mean</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.norm.html">mxnet.ndarray.sparse.norm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.sum.html">mxnet.ndarray.sparse.sum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.ceil.html">mxnet.ndarray.sparse.ceil</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.fix.html">mxnet.ndarray.sparse.fix</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.floor.html">mxnet.ndarray.sparse.floor</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.rint.html">mxnet.ndarray.sparse.rint</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.round.html">mxnet.ndarray.sparse.round</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.trunc.html">mxnet.ndarray.sparse.trunc</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.expm1.html">mxnet.ndarray.sparse.expm1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.log1p.html">mxnet.ndarray.sparse.log1p</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.sqrt.html">mxnet.ndarray.sparse.sqrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.square.html">mxnet.ndarray.sparse.square</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.abs.html">mxnet.ndarray.sparse.abs</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.sign.html">mxnet.ndarray.sparse.sign</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.adam_update.html">mxnet.ndarray.sparse.adam_update</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.adagrad_update.html">mxnet.ndarray.sparse.adagrad_update</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.sgd_mom_update.html">mxnet.ndarray.sparse.sgd_mom_update</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.sgd_update.html">mxnet.ndarray.sparse.sgd_update</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.Embedding.html">mxnet.ndarray.sparse.Embedding</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.LinearRegressionOutput.html">mxnet.ndarray.sparse.LinearRegressionOutput</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.LogisticRegressionOutput.html">mxnet.ndarray.sparse.LogisticRegressionOutput</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.make_loss.html">mxnet.ndarray.sparse.make_loss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/ndarray/_autogen/mxnet.ndarray.sparse.stop_gradient.html">mxnet.ndarray.sparse.stop_gradient</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"><a class="reference internal" href="../../../api/gluon/index.html">mxnet.gluon</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon/nn.html">nn and contrib.nn</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/mxnet.gluon.nn.Block.html">Block</a><ul> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.initialize.html">mxnet.gluon.nn.Block.initialize</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.save_parameters.html">mxnet.gluon.nn.Block.save_parameters</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.load_parameters.html">mxnet.gluon.nn.Block.load_parameters</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.collect_params.html">mxnet.gluon.nn.Block.collect_params</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.cast.html">mxnet.gluon.nn.Block.cast</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.apply.html">mxnet.gluon.nn.Block.apply</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.forward.html">mxnet.gluon.nn.Block.forward</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.summary.html">mxnet.gluon.nn.Block.summary</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.name_scope.html">mxnet.gluon.nn.Block.name_scope</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.register_child.html">mxnet.gluon.nn.Block.register_child</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.register_forward_hook.html">mxnet.gluon.nn.Block.register_forward_hook</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.register_forward_pre_hook.html">mxnet.gluon.nn.Block.register_forward_pre_hook</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.save_params.html">mxnet.gluon.nn.Block.save_params</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Block.load_params.html">mxnet.gluon.nn.Block.load_params</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/mxnet.gluon.nn.HybridBlock.html">HybridBlock</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/mxnet.gluon.nn.SymbolBlock.html">SymbolBlock</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Sequential.html">mxnet.gluon.nn.Sequential</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.HybridSequential.html">mxnet.gluon.nn.HybridSequential</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.nn.Concurrent.html">mxnet.gluon.contrib.nn.Concurrent</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.nn.HybridConcurrent.html">mxnet.gluon.contrib.nn.HybridConcurrent</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Dense.html">mxnet.gluon.nn.Dense</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Activation.html">mxnet.gluon.nn.Activation</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Dropout.html">mxnet.gluon.nn.Dropout</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Flatten.html">mxnet.gluon.nn.Flatten</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Lambda.html">mxnet.gluon.nn.Lambda</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.HybridLambda.html">mxnet.gluon.nn.HybridLambda</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Conv1D.html">mxnet.gluon.nn.Conv1D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Conv2D.html">mxnet.gluon.nn.Conv2D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Conv3D.html">mxnet.gluon.nn.Conv3D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Conv1DTranspose.html">mxnet.gluon.nn.Conv1DTranspose</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Conv2DTranspose.html">mxnet.gluon.nn.Conv2DTranspose</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Conv3DTranspose.html">mxnet.gluon.nn.Conv3DTranspose</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.MaxPool1D.html">mxnet.gluon.nn.MaxPool1D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.MaxPool2D.html">mxnet.gluon.nn.MaxPool2D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.MaxPool3D.html">mxnet.gluon.nn.MaxPool3D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.AvgPool1D.html">mxnet.gluon.nn.AvgPool1D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.AvgPool2D.html">mxnet.gluon.nn.AvgPool2D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.AvgPool3D.html">mxnet.gluon.nn.AvgPool3D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.GlobalMaxPool1D.html">mxnet.gluon.nn.GlobalMaxPool1D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.GlobalMaxPool2D.html">mxnet.gluon.nn.GlobalMaxPool2D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.GlobalMaxPool3D.html">mxnet.gluon.nn.GlobalMaxPool3D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.GlobalAvgPool1D.html">mxnet.gluon.nn.GlobalAvgPool1D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.GlobalAvgPool2D.html">mxnet.gluon.nn.GlobalAvgPool2D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.GlobalAvgPool3D.html">mxnet.gluon.nn.GlobalAvgPool3D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.ReflectionPad2D.html">mxnet.gluon.nn.ReflectionPad2D</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.BatchNorm.html">mxnet.gluon.nn.BatchNorm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.InstanceNorm.html">mxnet.gluon.nn.InstanceNorm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.LayerNorm.html">mxnet.gluon.nn.LayerNorm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.nn.SyncBatchNorm.html">mxnet.gluon.contrib.nn.SyncBatchNorm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Embedding.html">mxnet.gluon.nn.Embedding</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.nn.SparseEmbedding.html">mxnet.gluon.contrib.nn.SparseEmbedding</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.LeakyReLU.html">mxnet.gluon.nn.LeakyReLU</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.PReLU.html">mxnet.gluon.nn.PReLU</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.ELU.html">mxnet.gluon.nn.ELU</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.SELU.html">mxnet.gluon.nn.SELU</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.nn.Swish.html">mxnet.gluon.nn.Swish</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon/rnn.html">rnn and contrib.rnn</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.LSTMCell.html">mxnet.gluon.rnn.LSTMCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.GRUCell.html">mxnet.gluon.rnn.GRUCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.RecurrentCell.html">mxnet.gluon.rnn.RecurrentCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.SequentialRNNCell.html">mxnet.gluon.rnn.SequentialRNNCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.BidirectionalCell.html">mxnet.gluon.rnn.BidirectionalCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.DropoutCell.html">mxnet.gluon.rnn.DropoutCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.ZoneoutCell.html">mxnet.gluon.rnn.ZoneoutCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.ResidualCell.html">mxnet.gluon.rnn.ResidualCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.Conv1DRNNCell.html">mxnet.gluon.contrib.rnn.Conv1DRNNCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.Conv2DRNNCell.html">mxnet.gluon.contrib.rnn.Conv2DRNNCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.Conv3DRNNCell.html">mxnet.gluon.contrib.rnn.Conv3DRNNCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.Conv1DLSTMCell.html">mxnet.gluon.contrib.rnn.Conv1DLSTMCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.Conv2DLSTMCell.html">mxnet.gluon.contrib.rnn.Conv2DLSTMCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.Conv3DLSTMCell.html">mxnet.gluon.contrib.rnn.Conv3DLSTMCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.Conv1DGRUCell.html">mxnet.gluon.contrib.rnn.Conv1DGRUCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.Conv2DGRUCell.html">mxnet.gluon.contrib.rnn.Conv2DGRUCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.Conv3DGRUCell.html">mxnet.gluon.contrib.rnn.Conv3DGRUCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.VariationalDropoutCell.html">mxnet.gluon.contrib.rnn.VariationalDropoutCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.contrib.rnn.LSTMPCell.html">mxnet.gluon.contrib.rnn.LSTMPCell</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.RNN.html">mxnet.gluon.rnn.RNN</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.LSTM.html">mxnet.gluon.rnn.LSTM</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.rnn.GRU.html">mxnet.gluon.rnn.GRU</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon/mxnet.gluon.loss.html"><code class="docutils literal notranslate"><span class="pre">loss</span></code></a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.Loss.html">mxnet.gluon.loss.Loss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.L2Loss.html">mxnet.gluon.loss.L2Loss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.L1Loss.html">mxnet.gluon.loss.L1Loss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.SigmoidBinaryCrossEntropyLoss.html">mxnet.gluon.loss.SigmoidBinaryCrossEntropyLoss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.SoftmaxCrossEntropyLoss.html">mxnet.gluon.loss.SoftmaxCrossEntropyLoss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.KLDivLoss.html">mxnet.gluon.loss.KLDivLoss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.HuberLoss.html">mxnet.gluon.loss.HuberLoss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.HingeLoss.html">mxnet.gluon.loss.HingeLoss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.SquaredHingeLoss.html">mxnet.gluon.loss.SquaredHingeLoss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.LogisticLoss.html">mxnet.gluon.loss.LogisticLoss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.TripletLoss.html">mxnet.gluon.loss.TripletLoss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.loss.CTCLoss.html">mxnet.gluon.loss.CTCLoss</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon/mxnet.gluon.parameter.html">Parameter</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.initialize.html">mxnet.gluon.Parameter.initialize</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.data.html">mxnet.gluon.Parameter.data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.list_data.html">mxnet.gluon.Parameter.list_data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.list_row_sparse_data.html">mxnet.gluon.Parameter.list_row_sparse_data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.row_sparse_data.html">mxnet.gluon.Parameter.row_sparse_data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.set_data.html">mxnet.gluon.Parameter.set_data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.shape.html">mxnet.gluon.Parameter.shape</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.grad.html">mxnet.gluon.Parameter.grad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.list_grad.html">mxnet.gluon.Parameter.list_grad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.zero_grad.html">mxnet.gluon.Parameter.zero_grad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.grad_req.html">mxnet.gluon.Parameter.grad_req</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.cast.html">mxnet.gluon.Parameter.cast</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.list_ctx.html">mxnet.gluon.Parameter.list_ctx</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.reset_ctx.html">mxnet.gluon.Parameter.reset_ctx</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Parameter.var.html">mxnet.gluon.Parameter.var</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon/mxnet.gluon.Trainer.html">Trainer</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Trainer.step.html">mxnet.gluon.Trainer.step</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Trainer.allreduce_grads.html">mxnet.gluon.Trainer.allreduce_grads</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Trainer.update.html">mxnet.gluon.Trainer.update</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Trainer.load_states.html">mxnet.gluon.Trainer.load_states</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Trainer.save_states.html">mxnet.gluon.Trainer.save_states</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Trainer.learning_rate.html">mxnet.gluon.Trainer.learning_rate</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.Trainer.set_learning_rate.html">mxnet.gluon.Trainer.set_learning_rate</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon/mxnet.gluon.data.html">data</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.Dataset.html">mxnet.gluon.data.Dataset</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.ArrayDataset.html">mxnet.gluon.data.ArrayDataset</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.RecordFileDataset.html">mxnet.gluon.data.RecordFileDataset</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.Sampler.html">mxnet.gluon.data.Sampler</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.SequentialSampler.html">mxnet.gluon.data.SequentialSampler</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.RandomSampler.html">mxnet.gluon.data.RandomSampler</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.BatchSampler.html">mxnet.gluon.data.BatchSampler</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.DataLoader.html">mxnet.gluon.data.DataLoader</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon/mxnet.gluon.data.vision.html">data.vision</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.datasets.MNIST.html">mxnet.gluon.data.vision.datasets.MNIST</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.datasets.FashionMNIST.html">mxnet.gluon.data.vision.datasets.FashionMNIST</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.datasets.CIFAR10.html">mxnet.gluon.data.vision.datasets.CIFAR10</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.datasets.CIFAR100.html">mxnet.gluon.data.vision.datasets.CIFAR100</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.datasets.ImageRecordDataset.html">mxnet.gluon.data.vision.datasets.ImageRecordDataset</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.datasets.ImageFolderDataset.html">mxnet.gluon.data.vision.datasets.ImageFolderDataset</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.Compose.html">mxnet.gluon.data.vision.transforms.Compose</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.Cast.html">mxnet.gluon.data.vision.transforms.Cast</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.ToTensor.html">mxnet.gluon.data.vision.transforms.ToTensor</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.Normalize.html">mxnet.gluon.data.vision.transforms.Normalize</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.RandomResizedCrop.html">mxnet.gluon.data.vision.transforms.RandomResizedCrop</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.CenterCrop.html">mxnet.gluon.data.vision.transforms.CenterCrop</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.Resize.html">mxnet.gluon.data.vision.transforms.Resize</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.RandomFlipLeftRight.html">mxnet.gluon.data.vision.transforms.RandomFlipLeftRight</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.RandomFlipTopBottom.html">mxnet.gluon.data.vision.transforms.RandomFlipTopBottom</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.RandomBrightness.html">mxnet.gluon.data.vision.transforms.RandomBrightness</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.RandomContrast.html">mxnet.gluon.data.vision.transforms.RandomContrast</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.RandomSaturation.html">mxnet.gluon.data.vision.transforms.RandomSaturation</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.RandomHue.html">mxnet.gluon.data.vision.transforms.RandomHue</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.RandomColorJitter.html">mxnet.gluon.data.vision.transforms.RandomColorJitter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.data.vision.transforms.RandomLighting.html">mxnet.gluon.data.vision.transforms.RandomLighting</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon/mxnet.gluon.model_zoo.html">model_zoo.vision</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.get_model.html">mxnet.gluon.model_zoo.vision.get_model</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.resnet18_v1.html">mxnet.gluon.model_zoo.vision.resnet18_v1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.resnet34_v1.html">mxnet.gluon.model_zoo.vision.resnet34_v1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.resnet50_v1.html">mxnet.gluon.model_zoo.vision.resnet50_v1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.resnet101_v1.html">mxnet.gluon.model_zoo.vision.resnet101_v1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.resnet152_v1.html">mxnet.gluon.model_zoo.vision.resnet152_v1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.resnet18_v2.html">mxnet.gluon.model_zoo.vision.resnet18_v2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.resnet34_v2.html">mxnet.gluon.model_zoo.vision.resnet34_v2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.resnet50_v2.html">mxnet.gluon.model_zoo.vision.resnet50_v2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.resnet101_v2.html">mxnet.gluon.model_zoo.vision.resnet101_v2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.resnet152_v2.html">mxnet.gluon.model_zoo.vision.resnet152_v2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.ResNetV1.html">mxnet.gluon.model_zoo.vision.ResNetV1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.ResNetV2.html">mxnet.gluon.model_zoo.vision.ResNetV2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.BasicBlockV1.html">mxnet.gluon.model_zoo.vision.BasicBlockV1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.BasicBlockV2.html">mxnet.gluon.model_zoo.vision.BasicBlockV2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.BottleneckV1.html">mxnet.gluon.model_zoo.vision.BottleneckV1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.BottleneckV2.html">mxnet.gluon.model_zoo.vision.BottleneckV2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.get_resnet.html">mxnet.gluon.model_zoo.vision.get_resnet</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.vgg11.html">mxnet.gluon.model_zoo.vision.vgg11</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.vgg13.html">mxnet.gluon.model_zoo.vision.vgg13</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.vgg16.html">mxnet.gluon.model_zoo.vision.vgg16</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.vgg19.html">mxnet.gluon.model_zoo.vision.vgg19</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.vgg11_bn.html">mxnet.gluon.model_zoo.vision.vgg11_bn</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.vgg13_bn.html">mxnet.gluon.model_zoo.vision.vgg13_bn</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.vgg16_bn.html">mxnet.gluon.model_zoo.vision.vgg16_bn</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.vgg19_bn.html">mxnet.gluon.model_zoo.vision.vgg19_bn</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.VGG.html">mxnet.gluon.model_zoo.vision.VGG</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.get_vgg.html">mxnet.gluon.model_zoo.vision.get_vgg</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.alexnet.html">mxnet.gluon.model_zoo.vision.alexnet</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.AlexNet.html">mxnet.gluon.model_zoo.vision.AlexNet</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.densenet121.html">mxnet.gluon.model_zoo.vision.densenet121</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.densenet161.html">mxnet.gluon.model_zoo.vision.densenet161</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.densenet169.html">mxnet.gluon.model_zoo.vision.densenet169</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.densenet201.html">mxnet.gluon.model_zoo.vision.densenet201</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.DenseNet.html">mxnet.gluon.model_zoo.vision.DenseNet</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.squeezenet1_0.html">mxnet.gluon.model_zoo.vision.squeezenet1_0</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.squeezenet1_1.html">mxnet.gluon.model_zoo.vision.squeezenet1_1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.SqueezeNet.html">mxnet.gluon.model_zoo.vision.SqueezeNet</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.inception_v3.html">mxnet.gluon.model_zoo.vision.inception_v3</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.Inception3.html">mxnet.gluon.model_zoo.vision.Inception3</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.mobilenet1_0.html">mxnet.gluon.model_zoo.vision.mobilenet1_0</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.mobilenet0_75.html">mxnet.gluon.model_zoo.vision.mobilenet0_75</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.mobilenet0_5.html">mxnet.gluon.model_zoo.vision.mobilenet0_5</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.mobilenet0_25.html">mxnet.gluon.model_zoo.vision.mobilenet0_25</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.mobilenet_v2_1_0.html">mxnet.gluon.model_zoo.vision.mobilenet_v2_1_0</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.mobilenet_v2_0_75.html">mxnet.gluon.model_zoo.vision.mobilenet_v2_0_75</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.mobilenet_v2_0_5.html">mxnet.gluon.model_zoo.vision.mobilenet_v2_0_5</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.mobilenet_v2_0_25.html">mxnet.gluon.model_zoo.vision.mobilenet_v2_0_25</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.MobileNet.html">mxnet.gluon.model_zoo.vision.MobileNet</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.model_zoo.vision.MobileNetV2.html">mxnet.gluon.model_zoo.vision.MobileNetV2</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon/mxnet.gluon.utils.html">utils</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.utils.split_data.html">mxnet.gluon.utils.split_data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.utils.split_and_load.html">mxnet.gluon.utils.split_and_load</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.utils.clip_global_norm.html">mxnet.gluon.utils.clip_global_norm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.utils.download.html">mxnet.gluon.utils.download</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon/_autogen/mxnet.gluon.utils.check_sha1.html">mxnet.gluon.utils.check_sha1</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"><a class="reference internal" href="../../../api/gluon-related/index.html">Gluon related modules</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.autograd.html">mxnet.autograd</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.backward.html">mxnet.autograd.backward</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.get_symbol.html">mxnet.autograd.get_symbol</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.grad.html">mxnet.autograd.grad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.is_recording.html">mxnet.autograd.is_recording</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.is_training.html">mxnet.autograd.is_training</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.mark_variables.html">mxnet.autograd.mark_variables</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.pause.html">mxnet.autograd.pause</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.predict_mode.html">mxnet.autograd.predict_mode</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.record.html">mxnet.autograd.record</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.set_recording.html">mxnet.autograd.set_recording</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.set_training.html">mxnet.autograd.set_training</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.train_mode.html">mxnet.autograd.train_mode</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.autograd.Function.html">mxnet.autograd.Function</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.image.html">mxnet.image</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.imdecode.html">mxnet.image.imdecode</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.scale_down.html">mxnet.image.scale_down</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.resize_short.html">mxnet.image.resize_short</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.fixed_crop.html">mxnet.image.fixed_crop</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.random_crop.html">mxnet.image.random_crop</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.center_crop.html">mxnet.image.center_crop</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.color_normalize.html">mxnet.image.color_normalize</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.random_size_crop.html">mxnet.image.random_size_crop</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.ImageIter.html">mxnet.image.ImageIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.CreateAugmenter.html">mxnet.image.CreateAugmenter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.Augmenter.html">mxnet.image.Augmenter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.SequentialAug.html">mxnet.image.SequentialAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.RandomOrderAug.html">mxnet.image.RandomOrderAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.ResizeAug.html">mxnet.image.ResizeAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.ForceResizeAug.html">mxnet.image.ForceResizeAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.RandomCropAug.html">mxnet.image.RandomCropAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.RandomSizedCropAug.html">mxnet.image.RandomSizedCropAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.CenterCropAug.html">mxnet.image.CenterCropAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.BrightnessJitterAug.html">mxnet.image.BrightnessJitterAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.ContrastJitterAug.html">mxnet.image.ContrastJitterAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.SaturationJitterAug.html">mxnet.image.SaturationJitterAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.HueJitterAug.html">mxnet.image.HueJitterAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.ColorJitterAug.html">mxnet.image.ColorJitterAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.LightingAug.html">mxnet.image.LightingAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.ColorNormalizeAug.html">mxnet.image.ColorNormalizeAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.RandomGrayAug.html">mxnet.image.RandomGrayAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.HorizontalFlipAug.html">mxnet.image.HorizontalFlipAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.CastAug.html">mxnet.image.CastAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.ImageDetIter.html">mxnet.image.ImageDetIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.CreateDetAugmenter.html">mxnet.image.CreateDetAugmenter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.DetBorrowAug.html">mxnet.image.DetBorrowAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.DetRandomSelectAug.html">mxnet.image.DetRandomSelectAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.DetHorizontalFlipAug.html">mxnet.image.DetHorizontalFlipAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.DetRandomCropAug.html">mxnet.image.DetRandomCropAug</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.image.DetRandomPadAug.html">mxnet.image.DetRandomPadAug</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.io.html">mxnet.io</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.NDArrayIter.html">mxnet.io.NDArrayIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.CSVIter.html">mxnet.io.CSVIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.LibSVMIter.html">mxnet.io.LibSVMIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.MNISTIter.html">mxnet.io.MNISTIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.ImageDetRecordIter.html">mxnet.io.ImageDetRecordIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.ImageRecordIter.html">mxnet.io.ImageRecordIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.ImageRecordIter_v1.html">mxnet.io.ImageRecordIter_v1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.ImageRecordUInt8Iter.html">mxnet.io.ImageRecordUInt8Iter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.ImageRecordUInt8Iter_v1.html">mxnet.io.ImageRecordUInt8Iter_v1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.DataBatch.html">mxnet.io.DataBatch</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.DataDesc.html">mxnet.io.DataDesc</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.DataIter.html">mxnet.io.DataIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.MXDataIter.html">mxnet.io.MXDataIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.PrefetchingIter.html">mxnet.io.PrefetchingIter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.io.ResizeIter.html">mxnet.io.ResizeIter</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.recordio.html">mxnet.recordio</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.recordio.MXIndexedRecordIO.html">mxnet.recordio.MXIndexedRecordIO</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.recordio.MXRecordIO.html">mxnet.recordio.MXRecordIO</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.recordio.IRHeader.html">mxnet.recordio.IRHeader</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.recordio.pack.html">mxnet.recordio.pack</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.recordio.pack_img.html">mxnet.recordio.pack_img</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.recordio.unpack.html">mxnet.recordio.unpack</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.recordio.unpack_img.html">mxnet.recordio.unpack_img</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.kvstore.html">mxnet.kvstore</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/mxnet.kvstore.create.html">create</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/mxnet.kvstore.KVStore.html">KVStore</a><ul> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.init.html">mxnet.kvstore.KVStore.init</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.pull.html">mxnet.kvstore.KVStore.pull</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.push.html">mxnet.kvstore.KVStore.push</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.row_sparse_pull.html">mxnet.kvstore.KVStore.row_sparse_pull</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.load_optimizer_states.html">mxnet.kvstore.KVStore.load_optimizer_states</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.save_optimizer_states.html">mxnet.kvstore.KVStore.save_optimizer_states</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.set_gradient_compression.html">mxnet.kvstore.KVStore.set_gradient_compression</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.set_optimizer.html">mxnet.kvstore.KVStore.set_optimizer</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.num_workers.html">mxnet.kvstore.KVStore.num_workers</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.rank.html">mxnet.kvstore.KVStore.rank</a></li> |
| <li class="toctree-l5"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.kvstore.KVStore.type.html">mxnet.kvstore.KVStore.type</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.optimizer.html">mxnet.optimizer</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.AdaDelta.html">mxnet.optimizer.AdaDelta</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.AdaGrad.html">mxnet.optimizer.AdaGrad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.Adam.html">mxnet.optimizer.Adam</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.Adamax.html">mxnet.optimizer.Adamax</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.DCASGD.html">mxnet.optimizer.DCASGD</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.FTML.html">mxnet.optimizer.FTML</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.Ftrl.html">mxnet.optimizer.Ftrl</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.LBSGD.html">mxnet.optimizer.LBSGD</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.NAG.html">mxnet.optimizer.NAG</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.Nadam.html">mxnet.optimizer.Nadam</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.Optimizer.html">mxnet.optimizer.Optimizer</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.RMSProp.html">mxnet.optimizer.RMSProp</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.SGD.html">mxnet.optimizer.SGD</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.SGLD.html">mxnet.optimizer.SGLD</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.Signum.html">mxnet.optimizer.Signum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.optimizer.Updater.html">mxnet.optimizer.Updater</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.random.html">mxnet.random</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.random.seed.html">mxnet.random.seed</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.profiler.html">mxnet.profiler</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.set_config.html">mxnet.profiler.set_config</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.set_kvstore_handle.html">mxnet.profiler.set_kvstore_handle</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.set_state.html">mxnet.profiler.set_state</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.profiler_set_config.html">mxnet.profiler.profiler_set_config</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.profiler_set_state.html">mxnet.profiler.profiler_set_state</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.pause.html">mxnet.profiler.pause</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.resume.html">mxnet.profiler.resume</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.dump.html">mxnet.profiler.dump</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.dump_profile.html">mxnet.profiler.dump_profile</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.dumps.html">mxnet.profiler.dumps</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.Counter.html">mxnet.profiler.Counter</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.Domain.html">mxnet.profiler.Domain</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.Event.html">mxnet.profiler.Event</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.Frame.html">mxnet.profiler.Frame</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.Marker.html">mxnet.profiler.Marker</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.profiler.Task.html">mxnet.profiler.Task</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.context.html">mxnet.context</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.context.cpu.html">mxnet.context.cpu</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.context.cpu_pinned.html">mxnet.context.cpu_pinned</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.context.current_context.html">mxnet.context.current_context</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.context.gpu.html">mxnet.context.gpu</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.context.num_gpus.html">mxnet.context.num_gpus</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.context.Context.html">mxnet.context.Context</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.initializer.html">mxnet.initializer</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.Bilinear.html">mxnet.initializer.Bilinear</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.Constant.html">mxnet.initializer.Constant</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.FusedRNN.html">mxnet.initializer.FusedRNN</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.InitDesc.html">mxnet.initializer.InitDesc</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.Initializer.html">mxnet.initializer.Initializer</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.LSTMBias.html">mxnet.initializer.LSTMBias</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.Load.html">mxnet.initializer.Load</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.MSRAPrelu.html">mxnet.initializer.MSRAPrelu</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.Mixed.html">mxnet.initializer.Mixed</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.Normal.html">mxnet.initializer.Normal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.One.html">mxnet.initializer.One</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.Orthogonal.html">mxnet.initializer.Orthogonal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.Uniform.html">mxnet.initializer.Uniform</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.Xavier.html">mxnet.initializer.Xavier</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.Zero.html">mxnet.initializer.Zero</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.initializer.register.html">mxnet.initializer.register</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.lr_scheduler.html">mxnet.lr_scheduler</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.lr_scheduler.LRScheduler.html">mxnet.lr_scheduler.LRScheduler</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.lr_scheduler.FactorScheduler.html">mxnet.lr_scheduler.FactorScheduler</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.lr_scheduler.MultiFactorScheduler.html">mxnet.lr_scheduler.MultiFactorScheduler</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.lr_scheduler.PolyScheduler.html">mxnet.lr_scheduler.PolyScheduler</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.lr_scheduler.CosineScheduler.html">mxnet.lr_scheduler.CosineScheduler</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/gluon-related/mxnet.metric.html">mxnet.metric</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.Accuracy.html">mxnet.metric.Accuracy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.Caffe.html">mxnet.metric.Caffe</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.CompositeEvalMetric.html">mxnet.metric.CompositeEvalMetric</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.CrossEntropy.html">mxnet.metric.CrossEntropy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.CustomMetric.html">mxnet.metric.CustomMetric</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.EvalMetric.html">mxnet.metric.EvalMetric</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.F1.html">mxnet.metric.F1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.Loss.html">mxnet.metric.Loss</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.MAE.html">mxnet.metric.MAE</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.MCC.html">mxnet.metric.MCC</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.MSE.html">mxnet.metric.MSE</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.NegativeLogLikelihood.html">mxnet.metric.NegativeLogLikelihood</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.PearsonCorrelation.html">mxnet.metric.PearsonCorrelation</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.Perplexity.html">mxnet.metric.Perplexity</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.RMSE.html">mxnet.metric.RMSE</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.TopKAccuracy.html">mxnet.metric.TopKAccuracy</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.Torch.html">mxnet.metric.Torch</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.check_label_shapes.html">mxnet.metric.check_label_shapes</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.create.html">mxnet.metric.create</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/gluon-related/_autogen/mxnet.metric.np.html">mxnet.metric.np</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"><a class="reference internal" href="../../../api/symbol/index.html">mxnet.symbol</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/symbol/mxnet.symbol.Symbol.html">Symbol</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__call__.html">mxnet.symbol.Symbol.__call__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__add__.html">mxnet.symbol.Symbol.__add__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__sub__.html">mxnet.symbol.Symbol.__sub__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__rsub__.html">mxnet.symbol.Symbol.__rsub__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__neg__.html">mxnet.symbol.Symbol.__neg__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__mul__.html">mxnet.symbol.Symbol.__mul__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__div__.html">mxnet.symbol.Symbol.__div__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__rdiv__.html">mxnet.symbol.Symbol.__rdiv__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__mod__.html">mxnet.symbol.Symbol.__mod__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__rmod__.html">mxnet.symbol.Symbol.__rmod__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__pow__.html">mxnet.symbol.Symbol.__pow__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.sin.html">mxnet.symbol.Symbol.sin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.cos.html">mxnet.symbol.Symbol.cos</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.tan.html">mxnet.symbol.Symbol.tan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.arcsin.html">mxnet.symbol.Symbol.arcsin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.arccos.html">mxnet.symbol.Symbol.arccos</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.arctan.html">mxnet.symbol.Symbol.arctan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.degrees.html">mxnet.symbol.Symbol.degrees</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.radians.html">mxnet.symbol.Symbol.radians</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.sinh.html">mxnet.symbol.Symbol.sinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.cosh.html">mxnet.symbol.Symbol.cosh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.tanh.html">mxnet.symbol.Symbol.tanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.arcsinh.html">mxnet.symbol.Symbol.arcsinh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.arccosh.html">mxnet.symbol.Symbol.arccosh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.arctanh.html">mxnet.symbol.Symbol.arctanh</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.exp.html">mxnet.symbol.Symbol.exp</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.expm1.html">mxnet.symbol.Symbol.expm1</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.log.html">mxnet.symbol.Symbol.log</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.log10.html">mxnet.symbol.Symbol.log10</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.log2.html">mxnet.symbol.Symbol.log2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.log1p.html">mxnet.symbol.Symbol.log1p</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.sqrt.html">mxnet.symbol.Symbol.sqrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.rsqrt.html">mxnet.symbol.Symbol.rsqrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.cbrt.html">mxnet.symbol.Symbol.cbrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.rcbrt.html">mxnet.symbol.Symbol.rcbrt</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.square.html">mxnet.symbol.Symbol.square</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.relu.html">mxnet.symbol.Symbol.relu</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.sigmoid.html">mxnet.symbol.Symbol.sigmoid</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.softmax.html">mxnet.symbol.Symbol.softmax</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.log_softmax.html">mxnet.symbol.Symbol.log_softmax</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__lt__.html">mxnet.symbol.Symbol.__lt__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__le__.html">mxnet.symbol.Symbol.__le__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__gt__.html">mxnet.symbol.Symbol.__gt__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__ge__.html">mxnet.symbol.Symbol.__ge__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__eq__.html">mxnet.symbol.Symbol.__eq__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__ne__.html">mxnet.symbol.Symbol.__ne__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.zeros_like.html">mxnet.symbol.Symbol.zeros_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.ones_like.html">mxnet.symbol.Symbol.ones_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.diag.html">mxnet.symbol.Symbol.diag</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.astype.html">mxnet.symbol.Symbol.astype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.shape_array.html">mxnet.symbol.Symbol.shape_array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.size_array.html">mxnet.symbol.Symbol.size_array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.reshape.html">mxnet.symbol.Symbol.reshape</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.reshape_like.html">mxnet.symbol.Symbol.reshape_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.flatten.html">mxnet.symbol.Symbol.flatten</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.expand_dims.html">mxnet.symbol.Symbol.expand_dims</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.broadcast_to.html">mxnet.symbol.Symbol.broadcast_to</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.broadcast_axes.html">mxnet.symbol.Symbol.broadcast_axes</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.broadcast_like.html">mxnet.symbol.Symbol.broadcast_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.tile.html">mxnet.symbol.Symbol.tile</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.pad.html">mxnet.symbol.Symbol.pad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.transpose.html">mxnet.symbol.Symbol.transpose</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.swapaxes.html">mxnet.symbol.Symbol.swapaxes</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.flip.html">mxnet.symbol.Symbol.flip</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.depth_to_space.html">mxnet.symbol.Symbol.depth_to_space</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.space_to_depth.html">mxnet.symbol.Symbol.space_to_depth</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.sum.html">mxnet.symbol.Symbol.sum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.nansum.html">mxnet.symbol.Symbol.nansum</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.prod.html">mxnet.symbol.Symbol.prod</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.nanprod.html">mxnet.symbol.Symbol.nanprod</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.mean.html">mxnet.symbol.Symbol.mean</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.max.html">mxnet.symbol.Symbol.max</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.min.html">mxnet.symbol.Symbol.min</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.norm.html">mxnet.symbol.Symbol.norm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.round.html">mxnet.symbol.Symbol.round</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.rint.html">mxnet.symbol.Symbol.rint</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.fix.html">mxnet.symbol.Symbol.fix</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.floor.html">mxnet.symbol.Symbol.floor</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.ceil.html">mxnet.symbol.Symbol.ceil</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.trunc.html">mxnet.symbol.Symbol.trunc</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.sort.html">mxnet.symbol.Symbol.sort</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.argsort.html">mxnet.symbol.Symbol.argsort</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.topk.html">mxnet.symbol.Symbol.topk</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.argmax.html">mxnet.symbol.Symbol.argmax</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.argmin.html">mxnet.symbol.Symbol.argmin</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.argmax_channel.html">mxnet.symbol.Symbol.argmax_channel</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.name.html">mxnet.symbol.Symbol.name</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.list_arguments.html">mxnet.symbol.Symbol.list_arguments</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.list_outputs.html">mxnet.symbol.Symbol.list_outputs</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.list_auxiliary_states.html">mxnet.symbol.Symbol.list_auxiliary_states</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.list_attr.html">mxnet.symbol.Symbol.list_attr</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.attr.html">mxnet.symbol.Symbol.attr</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.attr_dict.html">mxnet.symbol.Symbol.attr_dict</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.slice.html">mxnet.symbol.Symbol.slice</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.slice_axis.html">mxnet.symbol.Symbol.slice_axis</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.slice_like.html">mxnet.symbol.Symbol.slice_like</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.take.html">mxnet.symbol.Symbol.take</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.one_hot.html">mxnet.symbol.Symbol.one_hot</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.pick.html">mxnet.symbol.Symbol.pick</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__getitem__.html">mxnet.symbol.Symbol.__getitem__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.__iter__.html">mxnet.symbol.Symbol.__iter__</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.get_internals.html">mxnet.symbol.Symbol.get_internals</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.get_children.html">mxnet.symbol.Symbol.get_children</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.infer_type.html">mxnet.symbol.Symbol.infer_type</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.infer_shape.html">mxnet.symbol.Symbol.infer_shape</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.infer_shape_partial.html">mxnet.symbol.Symbol.infer_shape_partial</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.bind.html">mxnet.symbol.Symbol.bind</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.simple_bind.html">mxnet.symbol.Symbol.simple_bind</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.save.html">mxnet.symbol.Symbol.save</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.tojson.html">mxnet.symbol.Symbol.tojson</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.debug_str.html">mxnet.symbol.Symbol.debug_str</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.clip.html">mxnet.symbol.Symbol.clip</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.Symbol.sign.html">mxnet.symbol.Symbol.sign</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/symbol/mxnet.symbol.linalg.html">mxnet.linalg</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.gemm.html">mxnet.symbol.linalg.gemm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.gemm2.html">mxnet.symbol.linalg.gemm2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.potrf.html">mxnet.symbol.linalg.potrf</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.potri.html">mxnet.symbol.linalg.potri</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.trmm.html">mxnet.symbol.linalg.trmm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.trsm.html">mxnet.symbol.linalg.trsm</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.syrk.html">mxnet.symbol.linalg.syrk</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.gelqf.html">mxnet.symbol.linalg.gelqf</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.syevd.html">mxnet.symbol.linalg.syevd</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.sumlogdiag.html">mxnet.symbol.linalg.sumlogdiag</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.extractdiag.html">mxnet.symbol.linalg.extractdiag</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.makediag.html">mxnet.symbol.linalg.makediag</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.extracttrian.html">mxnet.symbol.linalg.extracttrian</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.maketrian.html">mxnet.symbol.linalg.maketrian</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol/_autogen/mxnet.symbol.linalg.inverse.html">mxnet.symbol.linalg.inverse</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"><a class="reference internal" href="../../../api/symbol-related/index.html">Symbol related modules</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/symbol-related/mxnet.callback.html">mxnet.callback</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.callback.do_checkpoint.html">mxnet.callback.do_checkpoint</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.callback.log_train_metric.html">mxnet.callback.log_train_metric</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.callback.module_checkpoint.html">mxnet.callback.module_checkpoint</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.callback.LogValidationMetricsCallback.html">mxnet.callback.LogValidationMetricsCallback</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.callback.ProgressBar.html">mxnet.callback.ProgressBar</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.callback.Speedometer.html">mxnet.callback.Speedometer</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/symbol-related/mxnet.module.html">mxnet.module</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.module.BaseModule.html">mxnet.module.BaseModule</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.module.BucketingModule.html">mxnet.module.BucketingModule</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.module.Module.html">mxnet.module.Module</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.module.PythonLossModule.html">mxnet.module.PythonLossModule</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.module.PythonModule.html">mxnet.module.PythonModule</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.module.SequentialModule.html">mxnet.module.SequentialModule</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/symbol-related/mxnet.monitor.html">mxnet.monitor</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.monitor.Monitor.html">mxnet.monitor.Monitor</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/symbol-related/mxnet.visualization.html">mxnet.visualization</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.visualization.plot_network.html">mxnet.visualization.plot_network</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/symbol-related/_autogen/mxnet.visualization.print_summary.html">mxnet.visualization.print_summary</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"><a class="reference internal" href="../../../api/advanced/index.html">Advanced modules</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/advanced/mxnet.executor.html">mxnet.executor</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.executor.Executor.html">mxnet.executor.Executor</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/advanced/mxnet.kvstore_server.html">mxnet.kvstore_server</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.kvstore_server.KVStoreServer.html">mxnet.kvstore_server.KVStoreServer</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/advanced/mxnet.engine.html">mxnet.engine</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.engine.bulk.html">mxnet.engine.bulk</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.engine.set_bulk_size.html">mxnet.engine.set_bulk_size</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/advanced/mxnet.executor_manager.html">mxnet.executor_manager</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.executor_manager.DataParallelExecutorGroup.html">mxnet.executor_manager.DataParallelExecutorGroup</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.executor_manager.DataParallelExecutorManager.html">mxnet.executor_manager.DataParallelExecutorManager</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/advanced/mxnet.rtc.html">mxnet.rtc</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.rtc.CudaKernel.html">mxnet.rtc.CudaKernel</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.rtc.CudaModule.html">mxnet.rtc.CudaModule</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/advanced/mxnet.test_utils.html">mxnet.test_utils</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.almost_equal.html">mxnet.test_utils.almost_equal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.almost_equal_ignore_nan.html">mxnet.test_utils.almost_equal_ignore_nan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.assert_almost_equal.html">mxnet.test_utils.assert_almost_equal</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.assert_almost_equal_ignore_nan.html">mxnet.test_utils.assert_almost_equal_ignore_nan</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.assert_exception.html">mxnet.test_utils.assert_exception</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.assign_each.html">mxnet.test_utils.assign_each</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.assign_each2.html">mxnet.test_utils.assign_each2</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.check_consistency.html">mxnet.test_utils.check_consistency</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.check_numeric_gradient.html">mxnet.test_utils.check_numeric_gradient</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.check_speed.html">mxnet.test_utils.check_speed</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.check_symbolic_backward.html">mxnet.test_utils.check_symbolic_backward</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.check_symbolic_forward.html">mxnet.test_utils.check_symbolic_forward</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.chi_square_check.html">mxnet.test_utils.chi_square_check</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.create_sparse_array.html">mxnet.test_utils.create_sparse_array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.create_sparse_array_zd.html">mxnet.test_utils.create_sparse_array_zd</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.default_context.html">mxnet.test_utils.default_context</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.default_dtype.html">mxnet.test_utils.default_dtype</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.discard_stderr.html">mxnet.test_utils.discard_stderr</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.download.html">mxnet.test_utils.download</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.find_max_violation.html">mxnet.test_utils.find_max_violation</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.gen_buckets_probs_with_ppf.html">mxnet.test_utils.gen_buckets_probs_with_ppf</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.get_atol.html">mxnet.test_utils.get_atol</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.get_bz2_data.html">mxnet.test_utils.get_bz2_data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.get_cifar10.html">mxnet.test_utils.get_cifar10</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.get_im2rec_path.html">mxnet.test_utils.get_im2rec_path</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.get_mnist.html">mxnet.test_utils.get_mnist</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.get_mnist_iterator.html">mxnet.test_utils.get_mnist_iterator</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.get_mnist_pkl.html">mxnet.test_utils.get_mnist_pkl</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.get_mnist_ubyte.html">mxnet.test_utils.get_mnist_ubyte</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.get_rtol.html">mxnet.test_utils.get_rtol</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.get_zip_data.html">mxnet.test_utils.get_zip_data</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.list_gpus.html">mxnet.test_utils.list_gpus</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.mean_check.html">mxnet.test_utils.mean_check</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.np_reduce.html">mxnet.test_utils.np_reduce</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.numeric_grad.html">mxnet.test_utils.numeric_grad</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.rand_ndarray.html">mxnet.test_utils.rand_ndarray</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.rand_shape_2d.html">mxnet.test_utils.rand_shape_2d</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.rand_shape_3d.html">mxnet.test_utils.rand_shape_3d</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.rand_shape_nd.html">mxnet.test_utils.rand_shape_nd</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.rand_sparse_ndarray.html">mxnet.test_utils.rand_sparse_ndarray</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.random_arrays.html">mxnet.test_utils.random_arrays</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.random_sample.html">mxnet.test_utils.random_sample</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.retry.html">mxnet.test_utils.retry</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.same.html">mxnet.test_utils.same</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.same_array.html">mxnet.test_utils.same_array</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.set_default_context.html">mxnet.test_utils.set_default_context</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.set_env_var.html">mxnet.test_utils.set_env_var</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.shuffle_csr_column_indices.html">mxnet.test_utils.shuffle_csr_column_indices</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.simple_forward.html">mxnet.test_utils.simple_forward</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.var_check.html">mxnet.test_utils.var_check</a></li> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.test_utils.verify_generator.html">mxnet.test_utils.verify_generator</a></li> |
| </ul> |
| </li> |
| <li class="toctree-l3"><a class="reference internal" href="../../../api/advanced/mxnet.util.html">mxnet.util</a><ul> |
| <li class="toctree-l4"><a class="reference internal" href="../../../api/advanced/_autogen/mxnet.util.makedirs.html">mxnet.util.makedirs</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| |
| </nav> |
| |
| </div> |
| |
| </header> |
| |
| <div class="document"> |
| <div class="page-content"> |
| |
| <h1>Source code for mxnet.ndarray.ndarray</h1><div class="highlight"><pre> |
| <span></span><span class="c1"># Licensed to the Apache Software Foundation (ASF) under one</span> |
| <span class="c1"># or more contributor license agreements. See the NOTICE file</span> |
| <span class="c1"># distributed with this work for additional information</span> |
| <span class="c1"># regarding copyright ownership. The ASF licenses this file</span> |
| <span class="c1"># to you under the Apache License, Version 2.0 (the</span> |
| <span class="c1"># "License"); you may not use this file except in compliance</span> |
| <span class="c1"># with the License. You may obtain a copy of the License at</span> |
| <span class="c1">#</span> |
| <span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span> |
| <span class="c1">#</span> |
| <span class="c1"># Unless required by applicable law or agreed to in writing,</span> |
| <span class="c1"># software distributed under the License is distributed on an</span> |
| <span class="c1"># "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span> |
| <span class="c1"># KIND, either express or implied. See the License for the</span> |
| <span class="c1"># specific language governing permissions and limitations</span> |
| <span class="c1"># under the License.</span> |
| |
| <span class="c1"># coding: utf-8</span> |
| <span class="c1"># pylint: disable=too-many-lines, protected-access</span> |
| <span class="c1"># pylint: disable=import-error, no-name-in-module, undefined-variable</span> |
| |
| <span class="sd">"""NDArray API of MXNet."""</span> |
| |
| <span class="kn">from</span> <span class="nn">__future__</span> <span class="k">import</span> <span class="n">absolute_import</span><span class="p">,</span> <span class="n">division</span> |
| |
| <span class="k">try</span><span class="p">:</span> |
| <span class="kn">from</span> <span class="nn">__builtin__</span> <span class="k">import</span> <span class="nb">slice</span> <span class="k">as</span> <span class="n">py_slice</span> |
| <span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span> |
| <span class="kn">from</span> <span class="nn">builtins</span> <span class="k">import</span> <span class="nb">slice</span> <span class="k">as</span> <span class="n">py_slice</span> |
| |
| <span class="kn">from</span> <span class="nn">array</span> <span class="k">import</span> <span class="n">array</span> <span class="k">as</span> <span class="n">native_array</span> |
| <span class="kn">import</span> <span class="nn">ctypes</span> |
| <span class="kn">import</span> <span class="nn">warnings</span> |
| <span class="kn">import</span> <span class="nn">operator</span> |
| <span class="kn">from</span> <span class="nn">functools</span> <span class="k">import</span> <span class="n">reduce</span> <span class="c1"># pylint: disable=redefined-builtin</span> |
| <span class="kn">import</span> <span class="nn">sys</span> |
| <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span> |
| <span class="kn">from</span> <span class="nn">..base</span> <span class="k">import</span> <span class="n">_LIB</span><span class="p">,</span> <span class="n">numeric_types</span><span class="p">,</span> <span class="n">integer_types</span> |
| <span class="kn">from</span> <span class="nn">..base</span> <span class="k">import</span> <span class="n">c_str</span><span class="p">,</span> <span class="n">c_array</span><span class="p">,</span> <span class="n">c_array_buf</span><span class="p">,</span> <span class="n">c_handle_array</span><span class="p">,</span> <span class="n">mx_real_t</span> |
| <span class="kn">from</span> <span class="nn">..base</span> <span class="k">import</span> <span class="n">mx_uint</span><span class="p">,</span> <span class="n">NDArrayHandle</span><span class="p">,</span> <span class="n">check_call</span><span class="p">,</span> <span class="n">DLPackHandle</span><span class="p">,</span> <span class="n">mx_int</span><span class="p">,</span> <span class="n">mx_int64</span> |
| <span class="kn">from</span> <span class="nn">..base</span> <span class="k">import</span> <span class="n">ctypes2buffer</span> |
| <span class="kn">from</span> <span class="nn">..runtime</span> <span class="k">import</span> <span class="n">Features</span> |
| <span class="kn">from</span> <span class="nn">..context</span> <span class="k">import</span> <span class="n">Context</span><span class="p">,</span> <span class="n">current_context</span> |
| <span class="kn">from</span> <span class="nn">.</span> <span class="k">import</span> <span class="n">_internal</span> |
| <span class="kn">from</span> <span class="nn">.</span> <span class="k">import</span> <span class="n">op</span> |
| <span class="kn">from</span> <span class="nn">._internal</span> <span class="k">import</span> <span class="n">NDArrayBase</span> |
| |
| <span class="n">__all__</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"NDArray"</span><span class="p">,</span> <span class="s2">"concatenate"</span><span class="p">,</span> <span class="s2">"_DTYPE_NP_TO_MX"</span><span class="p">,</span> <span class="s2">"_DTYPE_MX_TO_NP"</span><span class="p">,</span> <span class="s2">"_GRAD_REQ_MAP"</span><span class="p">,</span> |
| <span class="s2">"ones"</span><span class="p">,</span> <span class="s2">"add"</span><span class="p">,</span> <span class="s2">"arange"</span><span class="p">,</span> <span class="s2">"linspace"</span><span class="p">,</span> <span class="s2">"eye"</span><span class="p">,</span> <span class="s2">"divide"</span><span class="p">,</span> <span class="s2">"equal"</span><span class="p">,</span> <span class="s2">"full"</span><span class="p">,</span> <span class="s2">"greater"</span><span class="p">,</span> |
| <span class="s2">"greater_equal"</span><span class="p">,</span> <span class="s2">"imdecode"</span><span class="p">,</span> <span class="s2">"lesser"</span><span class="p">,</span> <span class="s2">"lesser_equal"</span><span class="p">,</span> <span class="s2">"logical_and"</span><span class="p">,</span> <span class="s2">"logical_or"</span><span class="p">,</span> |
| <span class="s2">"logical_xor"</span><span class="p">,</span> <span class="s2">"maximum"</span><span class="p">,</span> <span class="s2">"minimum"</span><span class="p">,</span> <span class="s2">"moveaxis"</span><span class="p">,</span> <span class="s2">"modulo"</span><span class="p">,</span> <span class="s2">"multiply"</span><span class="p">,</span> <span class="s2">"not_equal"</span><span class="p">,</span> |
| <span class="s2">"onehot_encode"</span><span class="p">,</span> <span class="s2">"power"</span><span class="p">,</span> <span class="s2">"subtract"</span><span class="p">,</span> <span class="s2">"true_divide"</span><span class="p">,</span> <span class="s2">"waitall"</span><span class="p">,</span> <span class="s2">"_new_empty_handle"</span><span class="p">,</span> |
| <span class="s2">"histogram"</span><span class="p">,</span> <span class="s2">"split_v2"</span><span class="p">,</span> <span class="s2">"to_dlpack_for_read"</span><span class="p">,</span> <span class="s2">"to_dlpack_for_write"</span><span class="p">,</span> <span class="s2">"from_dlpack"</span><span class="p">,</span> |
| <span class="s2">"from_numpy"</span><span class="p">,</span> <span class="s2">"zeros"</span><span class="p">,</span> <span class="s2">"indexing_key_expand_implicit_axes"</span><span class="p">,</span> <span class="s2">"get_indexing_dispatch_code"</span><span class="p">,</span> |
| <span class="s2">"get_oshape_of_gather_nd_op"</span><span class="p">]</span> |
| |
| <span class="n">_STORAGE_TYPE_UNDEFINED</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span> |
| <span class="n">_STORAGE_TYPE_DEFAULT</span> <span class="o">=</span> <span class="mi">0</span> |
| <span class="n">_STORAGE_TYPE_ROW_SPARSE</span> <span class="o">=</span> <span class="mi">1</span> |
| <span class="n">_STORAGE_TYPE_CSR</span> <span class="o">=</span> <span class="mi">2</span> |
| |
| <span class="c1"># pylint: disable= no-member</span> |
| <span class="n">_DTYPE_NP_TO_MX</span> <span class="o">=</span> <span class="p">{</span> |
| <span class="kc">None</span><span class="p">:</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> |
| <span class="n">np</span><span class="o">.</span><span class="n">float32</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> |
| <span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span> |
| <span class="n">np</span><span class="o">.</span><span class="n">float16</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span> |
| <span class="n">np</span><span class="o">.</span><span class="n">uint8</span><span class="p">:</span> <span class="mi">3</span><span class="p">,</span> |
| <span class="n">np</span><span class="o">.</span><span class="n">int32</span><span class="p">:</span> <span class="mi">4</span><span class="p">,</span> |
| <span class="n">np</span><span class="o">.</span><span class="n">int8</span><span class="p">:</span> <span class="mi">5</span><span class="p">,</span> |
| <span class="n">np</span><span class="o">.</span><span class="n">int64</span><span class="p">:</span> <span class="mi">6</span><span class="p">,</span> |
| <span class="p">}</span> |
| |
| <span class="n">_DTYPE_MX_TO_NP</span> <span class="o">=</span> <span class="p">{</span> |
| <span class="o">-</span><span class="mi">1</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> |
| <span class="mi">0</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">float32</span><span class="p">,</span> |
| <span class="mi">1</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">float64</span><span class="p">,</span> |
| <span class="mi">2</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">float16</span><span class="p">,</span> |
| <span class="mi">3</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">uint8</span><span class="p">,</span> |
| <span class="mi">4</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">int32</span><span class="p">,</span> |
| <span class="mi">5</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">int8</span><span class="p">,</span> |
| <span class="mi">6</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">int64</span><span class="p">,</span> |
| <span class="p">}</span> |
| |
| <span class="n">_STORAGE_TYPE_STR_TO_ID</span> <span class="o">=</span> <span class="p">{</span> |
| <span class="s1">'undefined'</span><span class="p">:</span> <span class="n">_STORAGE_TYPE_UNDEFINED</span><span class="p">,</span> |
| <span class="s1">'default'</span><span class="p">:</span> <span class="n">_STORAGE_TYPE_DEFAULT</span><span class="p">,</span> |
| <span class="s1">'row_sparse'</span><span class="p">:</span> <span class="n">_STORAGE_TYPE_ROW_SPARSE</span><span class="p">,</span> |
| <span class="s1">'csr'</span><span class="p">:</span> <span class="n">_STORAGE_TYPE_CSR</span><span class="p">,</span> |
| <span class="p">}</span> |
| |
| <span class="n">_STORAGE_TYPE_ID_TO_STR</span> <span class="o">=</span> <span class="p">{</span> |
| <span class="n">_STORAGE_TYPE_UNDEFINED</span><span class="p">:</span> <span class="s1">'undefined'</span><span class="p">,</span> |
| <span class="n">_STORAGE_TYPE_DEFAULT</span><span class="p">:</span> <span class="s1">'default'</span><span class="p">,</span> |
| <span class="n">_STORAGE_TYPE_ROW_SPARSE</span><span class="p">:</span> <span class="s1">'row_sparse'</span><span class="p">,</span> |
| <span class="n">_STORAGE_TYPE_CSR</span><span class="p">:</span> <span class="s1">'csr'</span><span class="p">,</span> |
| <span class="p">}</span> |
| |
| <span class="n">_GRAD_REQ_MAP</span> <span class="o">=</span> <span class="p">{</span> |
| <span class="s1">'null'</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> |
| <span class="s1">'write'</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span> |
| <span class="s1">'add'</span><span class="p">:</span> <span class="mi">3</span> |
| <span class="p">}</span> |
| <span class="c1"># pylint: enable= no-member</span> |
| |
| <span class="c1"># Return code for dispatching indexing function call</span> |
| <span class="n">_NDARRAY_UNSUPPORTED_INDEXING</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span> |
| <span class="n">_NDARRAY_BASIC_INDEXING</span> <span class="o">=</span> <span class="mi">0</span> |
| <span class="n">_NDARRAY_ADVANCED_INDEXING</span> <span class="o">=</span> <span class="mi">1</span> |
| |
| <span class="c1"># Caching whether MXNet was built with INT64 support or not</span> |
| <span class="n">_INT64_TENSOR_SIZE_ENABLED</span> <span class="o">=</span> <span class="kc">None</span> |
| |
| <span class="k">def</span> <span class="nf">_int64_enabled</span><span class="p">():</span> |
| <span class="k">global</span> <span class="n">_INT64_TENSOR_SIZE_ENABLED</span> |
| <span class="k">if</span> <span class="n">_INT64_TENSOR_SIZE_ENABLED</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="n">_INT64_TENSOR_SIZE_ENABLED</span> <span class="o">=</span> <span class="n">Features</span><span class="p">()</span><span class="o">.</span><span class="n">is_enabled</span><span class="p">(</span><span class="s1">'INT64_TENSOR_SIZE'</span><span class="p">)</span> |
| <span class="k">return</span> <span class="n">_INT64_TENSOR_SIZE_ENABLED</span> |
| |
| <span class="k">def</span> <span class="nf">_new_empty_handle</span><span class="p">():</span> |
| <span class="sd">"""Returns a new empty handle.</span> |
| |
| <span class="sd"> Empty handle can be used to hold a result.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> handle</span> |
| <span class="sd"> A new empty `NDArray` handle.</span> |
| <span class="sd"> """</span> |
| <span class="n">hdl</span> <span class="o">=</span> <span class="n">NDArrayHandle</span><span class="p">()</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayCreateNone</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">hdl</span><span class="p">)))</span> |
| <span class="k">return</span> <span class="n">hdl</span> |
| |
| |
| <span class="k">def</span> <span class="nf">_new_alloc_handle</span><span class="p">(</span><span class="n">shape</span><span class="p">,</span> <span class="n">ctx</span><span class="p">,</span> <span class="n">delay_alloc</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">mx_real_t</span><span class="p">):</span> |
| <span class="sd">"""Return a new handle with specified shape and context.</span> |
| |
| <span class="sd"> Empty handle is only used to hold results.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> handle</span> |
| <span class="sd"> A new empty `NDArray` handle.</span> |
| <span class="sd"> """</span> |
| <span class="n">hdl</span> <span class="o">=</span> <span class="n">NDArrayHandle</span><span class="p">()</span> |
| <span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">version_info</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">></span> <span class="mi">2</span> <span class="ow">and</span> <span class="n">_int64_enabled</span><span class="p">():</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayCreateEx64</span><span class="p">(</span> |
| <span class="n">c_array_buf</span><span class="p">(</span><span class="n">mx_int64</span><span class="p">,</span> <span class="n">native_array</span><span class="p">(</span><span class="s1">'q'</span><span class="p">,</span> <span class="n">shape</span><span class="p">)),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">shape</span><span class="p">)),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">(</span><span class="n">ctx</span><span class="o">.</span><span class="n">device_typeid</span><span class="p">),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">(</span><span class="n">ctx</span><span class="o">.</span><span class="n">device_id</span><span class="p">),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">delay_alloc</span><span class="p">)),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">_DTYPE_NP_TO_MX</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">dtype</span><span class="p">(</span><span class="n">dtype</span><span class="p">)</span><span class="o">.</span><span class="n">type</span><span class="p">])),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">hdl</span><span class="p">)))</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayCreateEx</span><span class="p">(</span> |
| <span class="n">c_array_buf</span><span class="p">(</span><span class="n">mx_uint</span><span class="p">,</span> <span class="n">native_array</span><span class="p">(</span><span class="s1">'I'</span><span class="p">,</span> <span class="n">shape</span><span class="p">)),</span> |
| <span class="n">mx_uint</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">shape</span><span class="p">)),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">(</span><span class="n">ctx</span><span class="o">.</span><span class="n">device_typeid</span><span class="p">),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">(</span><span class="n">ctx</span><span class="o">.</span><span class="n">device_id</span><span class="p">),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">delay_alloc</span><span class="p">)),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">_DTYPE_NP_TO_MX</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">dtype</span><span class="p">(</span><span class="n">dtype</span><span class="p">)</span><span class="o">.</span><span class="n">type</span><span class="p">])),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">hdl</span><span class="p">)))</span> |
| <span class="k">return</span> <span class="n">hdl</span> |
| |
| |
| <span class="k">def</span> <span class="nf">_new_from_shared_mem</span><span class="p">(</span><span class="n">shared_pid</span><span class="p">,</span> <span class="n">shared_id</span><span class="p">,</span> <span class="n">shape</span><span class="p">,</span> <span class="n">dtype</span><span class="p">):</span> |
| <span class="n">hdl</span> <span class="o">=</span> <span class="n">NDArrayHandle</span><span class="p">()</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayCreateFromSharedMemEx</span><span class="p">(</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">(</span><span class="n">shared_pid</span><span class="p">),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">(</span><span class="n">shared_id</span><span class="p">),</span> |
| <span class="n">c_array</span><span class="p">(</span><span class="n">mx_int</span><span class="p">,</span> <span class="n">shape</span><span class="p">),</span> |
| <span class="n">mx_int</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">shape</span><span class="p">)),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">_DTYPE_NP_TO_MX</span><span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">dtype</span><span class="p">(</span><span class="n">dtype</span><span class="p">)</span><span class="o">.</span><span class="n">type</span><span class="p">])),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">hdl</span><span class="p">)))</span> |
| <span class="k">return</span> <span class="n">hdl</span> |
| |
| |
| <span class="k">def</span> <span class="nf">waitall</span><span class="p">():</span> |
| <span class="sd">"""Wait for all async operations to finish in MXNet.</span> |
| |
| <span class="sd"> This function is used for benchmarking only.</span> |
| |
| <span class="sd"> .. note::</span> |
| |
| <span class="sd"> If your mxnet code throws an exception, then waitall can cause performance impact.</span> |
| <span class="sd"> """</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayWaitAll</span><span class="p">())</span> |
| |
| |
| <span class="k">def</span> <span class="nf">_storage_type</span><span class="p">(</span><span class="n">handle</span><span class="p">):</span> |
| <span class="n">storage_type</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayGetStorageType</span><span class="p">(</span><span class="n">handle</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">storage_type</span><span class="p">)))</span> |
| <span class="k">return</span> <span class="n">storage_type</span><span class="o">.</span><span class="n">value</span> |
| |
| |
| <span class="k">class</span> <span class="nc">NDArray</span><span class="p">(</span><span class="n">NDArrayBase</span><span class="p">):</span> |
| <span class="sd">"""An array object representing a multidimensional, homogeneous array of</span> |
| <span class="sd">fixed-size items.</span> |
| |
| <span class="sd"> """</span> |
| <span class="vm">__slots__</span> <span class="o">=</span> <span class="p">[]</span> |
| <span class="c1"># make numpy functions return NDArray instead of numpy object array</span> |
| <span class="n">__array_priority__</span> <span class="o">=</span> <span class="mf">1000.0</span> |
| <span class="c1"># Extension type code for TVM function.</span> |
| <span class="c1"># See C++ side of definition(kTVMNDArrayTypeCode) at include/mxmet/tensor_blob.h</span> |
| <span class="n">_tvm_tcode</span> <span class="o">=</span> <span class="mi">19</span> |
| <span class="c1"># pylint: disable= no-member, undefined-variable</span> |
| |
| <span class="k">def</span> <span class="nf">as_np_ndarray</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""Convert mxnet.ndarray.NDArray to mxnet.numpy.ndarray."""</span> |
| <span class="n">storage_type</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">stype</span> |
| <span class="k">if</span> <span class="n">storage_type</span> <span class="o">!=</span> <span class="s1">'default'</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'cannot convert ndarray of stype </span><span class="si">{}</span><span class="s1"> to numpy ndarray'</span> |
| <span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">storage_type</span><span class="p">))))</span> |
| <span class="kn">from</span> <span class="nn">..numpy</span> <span class="k">import</span> <span class="n">ndarray</span> |
| <span class="n">hdl</span> <span class="o">=</span> <span class="n">NDArrayHandle</span><span class="p">()</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXShallowCopyNDArray</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">hdl</span><span class="p">)))</span> |
| <span class="k">return</span> <span class="n">ndarray</span><span class="p">(</span><span class="n">handle</span><span class="o">=</span><span class="n">hdl</span><span class="p">,</span> <span class="n">writable</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">writable</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">as_nd_ndarray</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""A convenience function for creating a classic ndarray from the current</span> |
| <span class="sd"> ndarray with zero copy. For this class, it just returns itself since it is</span> |
| <span class="sd"> already a classic ndarray."""</span> |
| <span class="k">return</span> <span class="bp">self</span> |
| |
| <span class="nd">@property</span> |
| <span class="k">def</span> <span class="nf">_tvm_handle</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="o">.</span><span class="n">value</span> |
| |
| <span class="k">def</span> <span class="nf">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""Returns a string representation of the array."""</span> |
| <span class="n">shape_info</span> <span class="o">=</span> <span class="s1">'x'</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="s1">'</span><span class="si">%d</span><span class="s1">'</span> <span class="o">%</span> <span class="n">x</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">])</span> |
| <span class="k">return</span> <span class="s1">'</span><span class="se">\n</span><span class="si">%s</span><span class="se">\n</span><span class="s1"><</span><span class="si">%s</span><span class="s1"> </span><span class="si">%s</span><span class="s1"> @</span><span class="si">%s</span><span class="s1">>'</span> <span class="o">%</span> <span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">asnumpy</span><span class="p">()),</span> |
| <span class="bp">self</span><span class="o">.</span><span class="vm">__class__</span><span class="o">.</span><span class="vm">__name__</span><span class="p">,</span> |
| <span class="n">shape_info</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">context</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__reduce__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="k">return</span> <span class="n">NDArray</span><span class="p">,</span> <span class="p">(</span><span class="kc">None</span><span class="p">,),</span> <span class="bp">self</span><span class="o">.</span><span class="n">__getstate__</span><span class="p">()</span> |
| |
| <span class="k">def</span> <span class="nf">_to_shared_mem</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="n">shared_pid</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">()</span> |
| <span class="n">shared_id</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">()</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayGetSharedMemHandle</span><span class="p">(</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">shared_pid</span><span class="p">),</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">shared_id</span><span class="p">)))</span> |
| <span class="k">return</span> <span class="n">shared_pid</span><span class="o">.</span><span class="n">value</span><span class="p">,</span> <span class="n">shared_id</span><span class="o">.</span><span class="n">value</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">dtype</span> |
| |
| <span class="k">def</span> <span class="nf">__abs__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""x.__abs__() <=> abs(x) <=> x.abs() <=> mx.nd.abs(x, y)"""</span> |
| <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">abs</span><span class="p">()</span> |
| |
| <span class="k">def</span> <span class="nf">__add__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""x.__add__(y) <=> x+y <=> mx.nd.add(x, y) """</span> |
| <span class="k">return</span> <span class="n">add</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__iadd__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""x.__iadd__(y) <=> x+=y """</span> |
| <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">writable</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'trying to add to a readonly NDArray'</span><span class="p">)</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">NDArray</span><span class="p">):</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">broadcast_add</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">,</span> <span class="n">out</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span> |
| <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">numeric_types</span><span class="p">):</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_plus_scalar</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="nb">float</span><span class="p">(</span><span class="n">other</span><span class="p">),</span> <span class="n">out</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">'type </span><span class="si">%s</span><span class="s1"> not supported'</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">other</span><span class="p">)))</span> |
| |
| <span class="k">def</span> <span class="nf">__radd__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="fm">__add__</span><span class="p">(</span><span class="n">other</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__sub__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""x.__sub__(y) <=> x-y <=> mx.nd.subtract(x, y) """</span> |
| <span class="k">return</span> <span class="n">subtract</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__isub__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""x.__isub__(y) <=> x-=y """</span> |
| <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">writable</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'trying to subtract from a readonly NDArray'</span><span class="p">)</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">NDArray</span><span class="p">):</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">broadcast_sub</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">,</span> <span class="n">out</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span> |
| <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">numeric_types</span><span class="p">):</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_minus_scalar</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="nb">float</span><span class="p">(</span><span class="n">other</span><span class="p">),</span> <span class="n">out</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">'type </span><span class="si">%s</span><span class="s1"> not supported'</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">other</span><span class="p">)))</span> |
| |
| <span class="k">def</span> <span class="nf">__rsub__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""x.__rsub__(y) <=> y-x <=> mx.nd.subtract(y, x) """</span> |
| <span class="k">return</span> <span class="n">subtract</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__mul__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""x.__mul__(y) <=> x*y <=> mx.nd.multiply(x, y) """</span> |
| <span class="k">return</span> <span class="n">multiply</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__neg__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""x.__neg__(y) <=> -x """</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_mul_scalar</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">-</span><span class="mf">1.0</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__imul__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""x.__imul__(y) <=> x*=y """</span> |
| <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">writable</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'trying to multiply to a readonly NDArray'</span><span class="p">)</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">NDArray</span><span class="p">):</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">broadcast_mul</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">,</span> <span class="n">out</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span> |
| <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">numeric_types</span><span class="p">):</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_mul_scalar</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="nb">float</span><span class="p">(</span><span class="n">other</span><span class="p">),</span> <span class="n">out</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">'type </span><span class="si">%s</span><span class="s1"> not supported'</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">other</span><span class="p">)))</span> |
| |
| <span class="k">def</span> <span class="nf">__rmul__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="fm">__mul__</span><span class="p">(</span><span class="n">other</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__div__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""x.__div__(y) <=> x/y <=> mx.nd.divide(x, y) """</span> |
| <span class="k">return</span> <span class="n">divide</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__rdiv__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""x.__rdiv__(y) <=> y/x <=> mx.nd.divide(y, x) """</span> |
| <span class="k">return</span> <span class="n">divide</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__idiv__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""x.__rdiv__(y) <=> x/=y """</span> |
| <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">writable</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'trying to divide from a readonly NDArray'</span><span class="p">)</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">NDArray</span><span class="p">):</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">broadcast_div</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">,</span> <span class="n">out</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span> |
| <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">numeric_types</span><span class="p">):</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_div_scalar</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="nb">float</span><span class="p">(</span><span class="n">other</span><span class="p">),</span> <span class="n">out</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">'type </span><span class="si">%s</span><span class="s1"> not supported'</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">other</span><span class="p">)))</span> |
| |
| <span class="k">def</span> <span class="nf">__truediv__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="k">return</span> <span class="n">divide</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__rtruediv__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="k">return</span> <span class="n">divide</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__itruediv__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__idiv__</span><span class="p">(</span><span class="n">other</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__mod__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""x.__mod__(y) <=> x%y <=> mx.nd.modulo(x, y) """</span> |
| <span class="k">return</span> <span class="n">modulo</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__rmod__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""x.__rmod__(y) <=> y%x <=> mx.nd.modulo(y, x) """</span> |
| <span class="k">return</span> <span class="n">modulo</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__imod__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""x.__rmod__(y) <=> x%=y """</span> |
| <span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">writable</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'trying to take modulo from a readonly NDArray'</span><span class="p">)</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">NDArray</span><span class="p">):</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">broadcast_mod</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">,</span> <span class="n">out</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span> |
| <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">numeric_types</span><span class="p">):</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_mod_scalar</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="nb">float</span><span class="p">(</span><span class="n">other</span><span class="p">),</span> <span class="n">out</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">'type </span><span class="si">%s</span><span class="s1"> not supported'</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">other</span><span class="p">)))</span> |
| |
| <span class="k">def</span> <span class="nf">__pow__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""x.__pow__(y) <=> x**y <=> mx.nd.power(x,y) """</span> |
| <span class="k">return</span> <span class="n">power</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__rpow__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""x.__pow__(y) <=> y**x <=> mx.nd.power(y,x) """</span> |
| <span class="k">return</span> <span class="n">power</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__eq__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""x.__eq__(y) <=> x==y <=> mx.nd.equal(x, y) """</span> |
| <span class="k">return</span> <span class="n">equal</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__hash__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""Default hash function."""</span> |
| <span class="k">return</span> <span class="nb">id</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span><span class="o">//</span><span class="mi">16</span> |
| |
| <span class="k">def</span> <span class="nf">__ne__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""x.__ne__(y) <=> x!=y <=> mx.nd.not_equal(x, y) """</span> |
| <span class="k">return</span> <span class="n">not_equal</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__gt__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""x.__gt__(y) <=> x>y <=> mx.nd.greater(x, y) """</span> |
| <span class="k">return</span> <span class="n">greater</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__ge__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""x.__ge__(y) <=> x>=y <=> mx.nd.greater_equal(x, y) """</span> |
| <span class="k">return</span> <span class="n">greater_equal</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__lt__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""x.__lt__(y) <=> x<y <=> mx.nd.lesser(x, y) """</span> |
| <span class="k">return</span> <span class="n">lesser</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__le__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""x.__le__(y) <=> x<=y <=> mx.nd.less_equal(x, y) """</span> |
| <span class="k">return</span> <span class="n">lesser_equal</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__bool__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="n">num_elements</span> <span class="o">=</span> <span class="n">reduce</span><span class="p">(</span><span class="n">operator</span><span class="o">.</span><span class="n">mul</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> |
| <span class="k">if</span> <span class="n">num_elements</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> |
| <span class="k">return</span> <span class="kc">False</span> |
| <span class="k">elif</span> <span class="n">num_elements</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span> |
| <span class="k">return</span> <span class="nb">bool</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">asscalar</span><span class="p">())</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"The truth value of an NDArray with multiple elements "</span> \ |
| <span class="s2">"is ambiguous."</span><span class="p">)</span> |
| |
| <span class="n">__nonzero__</span> <span class="o">=</span> <span class="fm">__bool__</span> |
| |
| <span class="k">def</span> <span class="nf">__len__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""Number of element along the first axis."""</span> |
| <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> |
| |
| <span class="k">def</span> <span class="nf">__getstate__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="n">handle</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">handle</span> |
| <span class="n">this</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'handle'</span> <span class="p">:</span> <span class="kc">None</span><span class="p">}</span> |
| <span class="k">if</span> <span class="n">handle</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="n">length</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_size_t</span><span class="p">()</span> |
| <span class="n">cptr</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">POINTER</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">c_char</span><span class="p">)()</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArraySaveRawBytes</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">length</span><span class="p">),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">cptr</span><span class="p">)))</span> |
| <span class="n">this</span><span class="p">[</span><span class="s1">'handle'</span><span class="p">]</span> <span class="o">=</span> <span class="n">ctypes2buffer</span><span class="p">(</span><span class="n">cptr</span><span class="p">,</span> <span class="n">length</span><span class="o">.</span><span class="n">value</span><span class="p">)</span> |
| <span class="k">return</span> <span class="n">this</span> |
| |
| <span class="k">def</span> <span class="nf">__setstate__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">state</span><span class="p">):</span> |
| <span class="c1"># pylint: disable=assigning-non-slot</span> |
| <span class="n">handle</span> <span class="o">=</span> <span class="n">state</span><span class="p">[</span><span class="s1">'handle'</span><span class="p">]</span> |
| <span class="k">if</span> <span class="n">handle</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="n">buf</span> <span class="o">=</span> <span class="n">handle</span> |
| <span class="n">handle</span> <span class="o">=</span> <span class="n">NDArrayHandle</span><span class="p">()</span> |
| <span class="n">ptr</span> <span class="o">=</span> <span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">c_char</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="n">buf</span><span class="p">))</span><span class="o">.</span><span class="n">from_buffer</span><span class="p">(</span><span class="n">buf</span><span class="p">)</span> |
| <span class="n">length</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_size_t</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">buf</span><span class="p">))</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayLoadFromRawBytes</span><span class="p">(</span><span class="n">ptr</span><span class="p">,</span> <span class="n">length</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">handle</span><span class="p">)))</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">handle</span> <span class="o">=</span> <span class="n">handle</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">handle</span> <span class="o">=</span> <span class="kc">None</span> |
| |
| <span class="k">def</span> <span class="nf">__setitem__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span> |
| <span class="sd">"""x.__setitem__(i, y) <=> x[i]=y</span> |
| |
| <span class="sd"> Sets ``self[key]`` to ``value``.</span> |
| |
| <span class="sd"> This functions supports advanced indexing as defined in `the NumPy</span> |
| <span class="sd"> advanced indexing documentation</span> |
| <span class="sd"> <https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#advanced-indexing>`_,</span> |
| <span class="sd"> with the restriction that boolean array indexing is not supported.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> key : int, mxnet.ndarray.slice, list, np.ndarray, NDArray, or tuple of all previous types</span> |
| <span class="sd"> The indexing key.</span> |
| <span class="sd"> value : scalar or array-like object that can be broadcast to the shape of self[key]</span> |
| <span class="sd"> The value to set.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.zeros((2, 3))</span> |
| <span class="sd"> >>> x[:] = 1</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> x[:, 1:2] = 2</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 1., 2., 1.],</span> |
| <span class="sd"> [ 1., 2., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> x[1:2, 1:] = 3</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 1., 2., 1.],</span> |
| <span class="sd"> [ 1., 3., 3.]], dtype=float32)</span> |
| <span class="sd"> >>> x[1:, 0:2] = mx.nd.zeros((1, 2))</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 1., 2., 1.],</span> |
| <span class="sd"> [ 0., 0., 3.]], dtype=float32)</span> |
| <span class="sd"> >>> x[1, 2] = 4</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 1., 2., 1.],</span> |
| <span class="sd"> [ 0., 0., 4.]], dtype=float32)</span> |
| <span class="sd"> >>> x[[0], [1, 2]] = 5</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 1., 5., 5.],</span> |
| <span class="sd"> [ 0., 0., 4.]], dtype=float32)</span> |
| <span class="sd"> >>> x[::-1, 0:2:2] = [6]</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 6., 5., 5.],</span> |
| <span class="sd"> [ 6., 0., 4.]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">ndim</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> |
| <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="p">(</span><span class="nb">tuple</span><span class="p">,</span> <span class="n">py_slice</span><span class="p">)):</span> |
| <span class="k">raise</span> <span class="ne">IndexError</span><span class="p">(</span><span class="s1">'scalar tensor can only accept `()` and `:` as index'</span><span class="p">)</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">)</span> <span class="ow">and</span> <span class="nb">len</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">IndexError</span><span class="p">(</span><span class="s1">'scalar tensor can only accept `()` and `:` as index'</span><span class="p">)</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">numeric_types</span><span class="p">):</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">_full</span><span class="p">(</span><span class="n">value</span><span class="p">)</span> |
| <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">NDArray</span><span class="p">)</span> <span class="ow">and</span> <span class="n">value</span><span class="o">.</span><span class="n">size</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span> |
| <span class="k">if</span> <span class="n">value</span><span class="o">.</span><span class="n">shape</span> <span class="o">!=</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">:</span> |
| <span class="n">value</span> <span class="o">=</span> <span class="n">value</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span> |
| <span class="n">value</span><span class="o">.</span><span class="n">copyto</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> |
| <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">generic</span><span class="p">))</span> <span class="ow">and</span> <span class="n">value</span><span class="o">.</span><span class="n">size</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">generic</span><span class="p">)</span> <span class="ow">or</span> <span class="n">value</span><span class="o">.</span><span class="n">shape</span> <span class="o">!=</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">:</span> |
| <span class="n">value</span> <span class="o">=</span> <span class="n">value</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">_sync_copyfrom</span><span class="p">(</span><span class="n">value</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'setting an array element with a sequence.'</span><span class="p">)</span> |
| |
| <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">size</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> |
| <span class="k">return</span> |
| |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">key</span> <span class="o">=</span> <span class="n">indexing_key_expand_implicit_axes</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span> |
| <span class="n">slc_key</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">idx</span> <span class="k">for</span> <span class="n">idx</span> <span class="ow">in</span> <span class="n">key</span> <span class="k">if</span> <span class="n">idx</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">)</span> |
| |
| <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">slc_key</span><span class="p">)</span> <span class="o"><</span> <span class="bp">self</span><span class="o">.</span><span class="n">ndim</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span> |
| <span class="s1">'too few indices after normalization: expected `ndim` (</span><span class="si">{}</span><span class="s1">) '</span> |
| <span class="s1">'but got </span><span class="si">{}</span><span class="s1">. This is a bug, please report it!'</span> |
| <span class="s1">''</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ndim</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">slc_key</span><span class="p">))</span> |
| <span class="p">)</span> |
| <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">slc_key</span><span class="p">)</span> <span class="o">></span> <span class="bp">self</span><span class="o">.</span><span class="n">ndim</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">IndexError</span><span class="p">(</span> |
| <span class="s1">'too many indices (</span><span class="si">{}</span><span class="s1">) for array with </span><span class="si">{}</span><span class="s1"> dimensions'</span> |
| <span class="s1">''</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">slc_key</span><span class="p">),</span> <span class="bp">self</span><span class="o">.</span><span class="n">ndim</span><span class="p">)</span> |
| <span class="p">)</span> |
| |
| <span class="n">indexing_dispatch_code</span> <span class="o">=</span> <span class="n">get_indexing_dispatch_code</span><span class="p">(</span><span class="n">slc_key</span><span class="p">)</span> |
| <span class="k">if</span> <span class="n">indexing_dispatch_code</span> <span class="o">==</span> <span class="n">_NDARRAY_BASIC_INDEXING</span><span class="p">:</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">_set_nd_basic_indexing</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span> |
| <span class="k">elif</span> <span class="n">indexing_dispatch_code</span> <span class="o">==</span> <span class="n">_NDARRAY_ADVANCED_INDEXING</span><span class="p">:</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">_set_nd_advanced_indexing</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span> |
| <span class="s1">'Indexing NDArray with index </span><span class="si">{}</span><span class="s1"> of type </span><span class="si">{}</span><span class="s1"> is not supported'</span> |
| <span class="s1">''</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="nb">type</span><span class="p">(</span><span class="n">key</span><span class="p">))</span> |
| <span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">__getitem__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span> <span class="c1"># pylint: disable=too-many-return-statements</span> |
| <span class="sd">"""x.__getitem__(i) <=> x[i]</span> |
| |
| <span class="sd"> Returns a sliced view of this array if the elements fetched are contiguous in memory;</span> |
| <span class="sd"> otherwise, returns a newly created NDArray.</span> |
| <span class="sd"> This functions supports advanced indexing defined in the following reference with</span> |
| <span class="sd"> some restrictions.</span> |
| |
| <span class="sd"> For basic indexing, i.e., if ``key`` consists only of integers,</span> |
| <span class="sd"> ``slice``, ``Ellipsis`` (``...``) and ``None``, a mutable view is</span> |
| <span class="sd"> returned that shares memory with this array if the accessed portion is</span> |
| <span class="sd"> contiguous in memory.</span> |
| <span class="sd"> Otherwise, a newly created ``NDArray`` is returned.</span> |
| |
| <span class="sd"> This functions supports advanced indexing as defined in `the NumPy</span> |
| <span class="sd"> advanced indexing documentation</span> |
| <span class="sd"> <https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#advanced-indexing>`_,</span> |
| <span class="sd"> with the restriction that boolean array indexing is not supported.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> key : int, mxnet.ndarray.slice, list, np.ndarray, NDArray, or tuple of all previous types</span> |
| <span class="sd"> Indexing key.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> The default is to give explicit indices for all axes:</span> |
| |
| <span class="sd"> >>> x = mx.nd.arange(0, 6).reshape((2, 3))</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 0., 1., 2.],</span> |
| <span class="sd"> [ 3., 4., 5.]], dtype=float32)</span> |
| <span class="sd"> >>> x[0, :].asnumpy()</span> |
| <span class="sd"> array([0., 1., 2.], dtype=float32)</span> |
| <span class="sd"> >>> x[0, :2].asnumpy()</span> |
| <span class="sd"> array([0., 1.], dtype=float32)</span> |
| <span class="sd"> >>> x[:, :-1].asnumpy()</span> |
| <span class="sd"> array([[0., 1.],</span> |
| <span class="sd"> [3., 4.]], dtype=float32)</span> |
| |
| <span class="sd"> If fewer indices are given, they are automatically supplemented by an</span> |
| <span class="sd"> appropriate number of ``slice(None)`` ("``:``") to the right. For</span> |
| <span class="sd"> instance, a single integer indexes along the first axis:</span> |
| |
| <span class="sd"> >>> x = mx.nd.arange(0, 6).reshape((2, 3))</span> |
| <span class="sd"> >>> x[0].asnumpy()</span> |
| <span class="sd"> array([0., 1., 2.], dtype=float32)</span> |
| <span class="sd"> >>> x[1:].asnumpy()</span> |
| <span class="sd"> array([[3., 4., 5.]], dtype=float32)</span> |
| |
| <span class="sd"> To omit a range of axes that should be kept as-is, an `Ellipsis`</span> |
| <span class="sd"> ("``...``") can be used:</span> |
| |
| <span class="sd"> >>> x = mx.nd.arange(0, 16).reshape((2, 2, 2, 2))</span> |
| <span class="sd"> >>> x[0, ..., 1].asnumpy()</span> |
| <span class="sd"> array([[1., 3.],</span> |
| <span class="sd"> [5., 7.]], dtype=float32)</span> |
| <span class="sd"> >>> x[0, :, :, 1].asnumpy() # equivalent</span> |
| <span class="sd"> array([[1., 3.],</span> |
| <span class="sd"> [5., 7.]], dtype=float32)</span> |
| |
| <span class="sd"> New axes of length 1 can be created by inserting ``None``</span> |
| <span class="sd"> (`numpy.newaxis`) in the index:</span> |
| |
| <span class="sd"> >>> x = mx.nd.arange(0, 6).reshape((2, 3))</span> |
| <span class="sd"> >>> x[None, :, :].asnumpy()</span> |
| <span class="sd"> array([[[0., 1., 2.],</span> |
| <span class="sd"> [3., 4., 5.]]], dtype=float32)</span> |
| <span class="sd"> >>> x[None, :, :].shape</span> |
| <span class="sd"> (1, 2, 3)</span> |
| |
| <span class="sd"> If the indexed portion of the array is contiguous in memory, no data</span> |
| <span class="sd"> is copied. Instead, a shared-memory view of the original array is</span> |
| <span class="sd"> returned, and changes to that view affect the original array:</span> |
| |
| <span class="sd"> >>> x = mx.nd.arange(0, 8).reshape((2, 2, 2))</span> |
| <span class="sd"> >>> y = x[0] # contiguous</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[0., 1.],</span> |
| <span class="sd"> [2., 3.]], dtype=float32)</span> |
| <span class="sd"> >>> y[:] = -1</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[[-1., -1.],</span> |
| <span class="sd"> [-1., -1.]],</span> |
| <span class="sd"> <BLANKLINE></span> |
| <span class="sd"> [[ 4., 5.],</span> |
| <span class="sd"> [ 6., 7.]]], dtype=float32)</span> |
| <span class="sd"> >>> x = mx.nd.arange(0, 8).reshape((2, 2, 2))</span> |
| <span class="sd"> >>> y = x[1, :1, :] # contiguous</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[4., 5.]], dtype=float32)</span> |
| <span class="sd"> >>> y[:] = -1</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[[ 0., 1.],</span> |
| <span class="sd"> [ 2., 3.]],</span> |
| <span class="sd"> <BLANKLINE></span> |
| <span class="sd"> [[-1., -1.],</span> |
| <span class="sd"> [ 6., 7.]]], dtype=float32)</span> |
| <span class="sd"> >>> x = mx.nd.arange(0, 8).reshape((2, 2, 2))</span> |
| <span class="sd"> >>> y = x[:, :, 1] # not contiguous</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[1., 3.],</span> |
| <span class="sd"> [5., 7.]], dtype=float32)</span> |
| <span class="sd"> >>> y[:] = -1</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[[0., 1.],</span> |
| <span class="sd"> [2., 3.]],</span> |
| <span class="sd"> <BLANKLINE></span> |
| <span class="sd"> [[4., 5.],</span> |
| <span class="sd"> [6., 7.]]], dtype=float32)</span> |
| |
| <span class="sd"> If the indexing key contains `list`, `numpy.ndarray` or `NDArray`</span> |
| <span class="sd"> objects, advanced indexing is triggered, which always returns a</span> |
| <span class="sd"> copy:</span> |
| |
| <span class="sd"> >>> x = mx.nd.arange(0, 8).reshape((2, 2, 2))</span> |
| <span class="sd"> >>> x[[0, 1]].asnumpy()</span> |
| <span class="sd"> array([[[0., 1.],</span> |
| <span class="sd"> [2., 3.]],</span> |
| <span class="sd"> <BLANKLINE></span> |
| <span class="sd"> [[4., 5.],</span> |
| <span class="sd"> [6., 7.]]], dtype=float32)</span> |
| <span class="sd"> >>> x[[0, 1], :].asnumpy() # equivalent</span> |
| <span class="sd"> array([[[0., 1.],</span> |
| <span class="sd"> [2., 3.]],</span> |
| <span class="sd"> <BLANKLINE></span> |
| <span class="sd"> [[4., 5.],</span> |
| <span class="sd"> [6., 7.]]], dtype=float32)</span> |
| <span class="sd"> >>> y = np.array([0, 1], dtype='int32')</span> |
| <span class="sd"> >>> x[1:, y].asnumpy()</span> |
| <span class="sd"> array([[[4., 5.],</span> |
| <span class="sd"> [6., 7.]]], dtype=float32)</span> |
| <span class="sd"> >>> y = mx.nd.array([0, 1], dtype='int32')</span> |
| <span class="sd"> >>> x[1:, y].asnumpy()</span> |
| <span class="sd"> array([[[4., 5.],</span> |
| <span class="sd"> [6., 7.]]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="n">ndim</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">ndim</span> |
| <span class="n">shape</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span> |
| |
| <span class="k">if</span> <span class="n">ndim</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">and</span> <span class="p">(</span><span class="n">key</span> <span class="o">==</span> <span class="p">()</span> <span class="ow">or</span> <span class="n">key</span> <span class="o">==</span> <span class="nb">slice</span><span class="p">(</span><span class="kc">None</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="kc">None</span><span class="p">)):</span> |
| <span class="k">return</span> <span class="bp">self</span> |
| |
| <span class="c1"># Handle simple cases for higher speed</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">)</span> <span class="ow">and</span> <span class="nb">len</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> |
| <span class="k">return</span> <span class="bp">self</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">)</span> <span class="ow">and</span> <span class="nb">len</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> <span class="o">==</span> <span class="n">ndim</span>\ |
| <span class="ow">and</span> <span class="nb">all</span><span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="n">integer_types</span><span class="p">)</span> <span class="k">for</span> <span class="n">idx</span> <span class="ow">in</span> <span class="n">key</span><span class="p">):</span> |
| <span class="n">out</span> <span class="o">=</span> <span class="bp">self</span> |
| <span class="k">for</span> <span class="n">idx</span> <span class="ow">in</span> <span class="n">key</span><span class="p">:</span> |
| <span class="n">out</span> <span class="o">=</span> <span class="n">out</span><span class="p">[</span><span class="n">idx</span><span class="p">]</span> |
| <span class="k">return</span> <span class="n">out</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">integer_types</span><span class="p">):</span> |
| <span class="k">if</span> <span class="n">key</span> <span class="o">></span> <span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-</span> <span class="mi">1</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">IndexError</span><span class="p">(</span> |
| <span class="s1">'index </span><span class="si">{}</span><span class="s1"> is out of bounds for axis 0 with size </span><span class="si">{}</span><span class="s1">'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span> |
| <span class="n">key</span><span class="p">,</span> <span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]))</span> |
| <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_at</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> |
| <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">py_slice</span><span class="p">):</span> |
| <span class="k">if</span> <span class="p">(</span><span class="n">key</span><span class="o">.</span><span class="n">step</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="n">key</span><span class="o">.</span><span class="n">step</span> <span class="o">==</span> <span class="mi">1</span><span class="p">):</span> |
| <span class="k">if</span> <span class="n">key</span><span class="o">.</span><span class="n">start</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">or</span> <span class="n">key</span><span class="o">.</span><span class="n">stop</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_slice</span><span class="p">(</span><span class="n">key</span><span class="o">.</span><span class="n">start</span><span class="p">,</span> <span class="n">key</span><span class="o">.</span><span class="n">stop</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">return</span> <span class="bp">self</span> |
| <span class="k">elif</span> <span class="n">key</span><span class="o">.</span><span class="n">step</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"slice step cannot be zero"</span><span class="p">)</span> |
| |
| <span class="n">key</span> <span class="o">=</span> <span class="n">indexing_key_expand_implicit_axes</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span> |
| <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'indexing key cannot be an empty tuple'</span><span class="p">)</span> |
| |
| <span class="n">indexing_dispatch_code</span> <span class="o">=</span> <span class="n">get_indexing_dispatch_code</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> |
| <span class="k">if</span> <span class="n">indexing_dispatch_code</span> <span class="o">==</span> <span class="n">_NDARRAY_BASIC_INDEXING</span><span class="p">:</span> |
| <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_nd_basic_indexing</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> |
| <span class="k">elif</span> <span class="n">indexing_dispatch_code</span> <span class="o">==</span> <span class="n">_NDARRAY_ADVANCED_INDEXING</span><span class="p">:</span> |
| <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_nd_advanced_indexing</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">RuntimeError</span> |
| |
| <span class="k">def</span> <span class="nf">_prepare_value_nd</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">bcast_shape</span><span class="p">,</span> <span class="n">squeeze_axes</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span> |
| <span class="sd">"""Return a broadcast `NDArray` with same context and dtype as ``self``.</span> |
| <span class="sd"> For setting item, The returned `ndarray` is squeezed according to squeeze_axes since the</span> |
| <span class="sd"> value_nd is assigned to not yet expanded space in original array.</span> |
| <span class="sd"> `value`: numeric types or array like.</span> |
| <span class="sd"> `bcast_shape`: a shape tuple.</span> |
| <span class="sd"> `squeeze_axes`: a sequence of axes to squeeze in the value array.</span> |
| <span class="sd"> """</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">numeric_types</span><span class="p">):</span> |
| <span class="n">value_nd</span> <span class="o">=</span> <span class="n">full</span><span class="p">(</span><span class="n">bcast_shape</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">ctx</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">context</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dtype</span><span class="p">)</span> |
| <span class="k">elif</span> <span class="nb">type</span><span class="p">(</span><span class="n">value</span><span class="p">)</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="vm">__class__</span><span class="p">:</span> <span class="c1"># pylint: disable=unidiomatic-typecheck</span> |
| <span class="n">value_nd</span> <span class="o">=</span> <span class="n">value</span><span class="o">.</span><span class="n">as_in_context</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">context</span><span class="p">)</span> |
| <span class="k">if</span> <span class="n">value_nd</span><span class="o">.</span><span class="n">dtype</span> <span class="o">!=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dtype</span><span class="p">:</span> |
| <span class="n">value_nd</span> <span class="o">=</span> <span class="n">value_nd</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dtype</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">try</span><span class="p">:</span> |
| <span class="n">value_nd</span> <span class="o">=</span> <span class="n">array</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">ctx</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">context</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dtype</span><span class="p">)</span> |
| <span class="k">except</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">'</span><span class="si">{}</span><span class="s1"> does not support assignment with non-array-like '</span> |
| <span class="s1">'object </span><span class="si">{}</span><span class="s1"> of type </span><span class="si">{}</span><span class="s1">'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="vm">__class__</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="nb">type</span><span class="p">(</span><span class="n">value</span><span class="p">)))</span> |
| |
| <span class="c1"># For setitem, if there is None in indices, we need to squeeze the assigned value_nd</span> |
| <span class="c1"># since None is also ignored in slicing the original array.</span> |
| <span class="k">if</span> <span class="n">squeeze_axes</span> <span class="ow">and</span> <span class="n">value_nd</span><span class="o">.</span><span class="n">ndim</span> <span class="o">></span> <span class="nb">len</span><span class="p">(</span><span class="n">bcast_shape</span><span class="p">):</span> |
| <span class="n">squeeze_axes</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">([</span><span class="n">ax</span> <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="n">squeeze_axes</span> <span class="k">if</span> <span class="n">ax</span> <span class="o"><</span> <span class="nb">len</span><span class="p">(</span><span class="n">value_nd</span><span class="o">.</span><span class="n">shape</span><span class="p">)])</span> |
| <span class="n">value_nd</span> <span class="o">=</span> <span class="n">value_nd</span><span class="o">.</span><span class="n">squeeze</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="nb">tuple</span><span class="p">(</span><span class="n">squeeze_axes</span><span class="p">))</span> |
| |
| <span class="k">if</span> <span class="n">value_nd</span><span class="o">.</span><span class="n">shape</span> <span class="o">!=</span> <span class="n">bcast_shape</span><span class="p">:</span> |
| <span class="k">if</span> <span class="n">value_nd</span><span class="o">.</span><span class="n">size</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> |
| <span class="n">value_nd</span> <span class="o">=</span> <span class="n">value_nd</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">bcast_shape</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">value_nd</span> <span class="o">=</span> <span class="n">value_nd</span><span class="o">.</span><span class="n">broadcast_to</span><span class="p">(</span><span class="n">bcast_shape</span><span class="p">)</span> |
| <span class="k">return</span> <span class="n">value_nd</span> |
| |
| <span class="c1"># pylint: disable=invalid-name</span> |
| <span class="nd">@staticmethod</span> |
| <span class="k">def</span> <span class="nf">_basic_indexing_key_to_begin_end_step</span><span class="p">(</span><span class="n">idcs</span><span class="p">,</span> <span class="n">shape</span><span class="p">,</span> <span class="n">keep_none</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span> |
| <span class="sd">"""Map a tuple of ``slice`` and ``None`` (ignored) to begin, end, step tuples."""</span> |
| <span class="n">idcs</span> <span class="o">=</span> <span class="p">[</span><span class="n">idx</span> <span class="k">for</span> <span class="n">idx</span> <span class="ow">in</span> <span class="n">idcs</span> <span class="k">if</span> <span class="n">idx</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">]</span> |
| <span class="n">idcs</span> <span class="o">=</span> <span class="p">[</span><span class="n">idx</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="n">py_slice</span><span class="p">)</span> <span class="k">else</span> <span class="n">_int_to_slice</span><span class="p">(</span><span class="n">idx</span><span class="p">)</span> |
| <span class="k">for</span> <span class="n">idx</span> <span class="ow">in</span> <span class="n">idcs</span><span class="p">]</span> |
| |
| <span class="k">if</span> <span class="n">keep_none</span><span class="p">:</span> |
| <span class="n">sss_list</span> <span class="o">=</span> <span class="p">[(</span><span class="n">slc</span><span class="o">.</span><span class="n">start</span><span class="p">,</span> <span class="n">slc</span><span class="o">.</span><span class="n">stop</span><span class="p">,</span> <span class="n">slc</span><span class="o">.</span><span class="n">step</span><span class="p">)</span> <span class="k">for</span> <span class="n">slc</span><span class="p">,</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">idcs</span><span class="p">,</span> <span class="n">shape</span><span class="p">)]</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">sss_list</span> <span class="o">=</span> <span class="p">[</span><span class="n">slc</span><span class="o">.</span><span class="n">indices</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="k">for</span> <span class="n">slc</span><span class="p">,</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">idcs</span><span class="p">,</span> <span class="n">shape</span><span class="p">)]</span> |
| <span class="k">return</span> <span class="nb">tuple</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="o">*</span><span class="n">sss_list</span><span class="p">))</span> |
| <span class="c1"># pylint: enable=invalid-name</span> |
| |
| <span class="c1"># pylint: disable=invalid-name</span> |
| <span class="nd">@staticmethod</span> |
| <span class="k">def</span> <span class="nf">_basic_indexing_key_int_to_slice</span><span class="p">(</span><span class="n">idcs</span><span class="p">):</span> |
| <span class="sd">"""Return the converted indexing tuple and the integer axes."""</span> |
| <span class="n">int_axes</span> <span class="o">=</span> <span class="p">[]</span> |
| <span class="n">conv_idcs</span> <span class="o">=</span> <span class="p">[]</span> |
| <span class="k">for</span> <span class="n">ax</span><span class="p">,</span> <span class="n">idx</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">idcs</span><span class="p">):</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="n">integer_types</span><span class="p">):</span> |
| <span class="n">conv_idcs</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">_int_to_slice</span><span class="p">(</span><span class="n">idx</span><span class="p">))</span> |
| <span class="n">int_axes</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ax</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">conv_idcs</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">idx</span><span class="p">)</span> |
| |
| <span class="k">return</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">conv_idcs</span><span class="p">),</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">int_axes</span><span class="p">)</span> |
| <span class="c1"># pylint: enable=invalid-name</span> |
| |
| <span class="nd">@staticmethod</span> |
| <span class="k">def</span> <span class="nf">_new_axes_after_basic_indexing</span><span class="p">(</span><span class="n">axes</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span> |
| <span class="sd">"""Return indices of ``axes`` after slicing with ``key``.</span> |
| |
| <span class="sd"> This function is used to calculate the positions where new axes should</span> |
| <span class="sd"> end up after indexing, taking into account the removal of axes by</span> |
| <span class="sd"> integer indexing.</span> |
| |
| <span class="sd"> The ``key`` sequence should be the exapanded key including slices, integer types</span> |
| <span class="sd"> and ``None``.</span> |
| <span class="sd"> """</span> |
| <span class="n">steps</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="p">[</span><span class="mi">0</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="n">integer_types</span><span class="p">)</span> <span class="k">else</span> <span class="mi">1</span> <span class="k">for</span> <span class="n">idx</span> <span class="ow">in</span> <span class="n">key</span><span class="p">]</span> |
| <span class="n">cum_steps</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">cumsum</span><span class="p">(</span><span class="n">steps</span><span class="p">)</span> |
| <span class="n">axes_after</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">cum_steps</span><span class="p">[</span><span class="n">axes</span><span class="p">])</span> |
| <span class="k">return</span> <span class="n">axes_after</span> |
| |
| <span class="nd">@staticmethod</span> |
| <span class="k">def</span> <span class="nf">_new_axes_after_advanced_indexing</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">adv_axs</span><span class="p">,</span> <span class="n">bcast_adv_ndim</span><span class="p">,</span> <span class="n">adv_are_adjacent</span><span class="p">):</span> <span class="c1"># pylint: disable=invalid-name</span> |
| <span class="sd">"""</span> |
| <span class="sd"> Return indices of ``axes`` after slicing with ``key_nd``.</span> |
| |
| <span class="sd"> This function is used to calculate the positions where new axes should</span> |
| <span class="sd"> end up after indexing, taking into account the removal of axes by</span> |
| <span class="sd"> integer indexing.</span> |
| |
| <span class="sd"> The ``key`` sequence should be the exapanded key including slices, array like objects,</span> |
| <span class="sd"> integer types and ``None``.</span> |
| <span class="sd"> ``adv_axes`` is the sequence of indices of advanced axes.</span> |
| <span class="sd"> ``bcast_adv_ndim`` is the number of dimensions of advanced indexing subspace.</span> |
| <span class="sd"> ``adv_are_adjacent`` is a boolean value. Value being True means all advanced indicies are adjacent.</span> |
| |
| <span class="sd"> Note: integer indices are also considered advanced indices here.</span> |
| <span class="sd"> """</span> |
| <span class="n">new_axes</span> <span class="o">=</span> <span class="p">[</span><span class="n">ax</span> <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">key</span><span class="p">))</span> <span class="k">if</span> <span class="n">key</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">]</span> |
| <span class="n">adv_axs_set</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">adv_axs</span><span class="p">)</span> |
| <span class="k">if</span> <span class="ow">not</span> <span class="n">adv_are_adjacent</span><span class="p">:</span> |
| <span class="n">steps</span> <span class="o">=</span> <span class="p">[</span><span class="n">bcast_adv_ndim</span><span class="p">]</span> <span class="o">+</span> <span class="p">[</span><span class="mi">0</span> <span class="k">if</span> <span class="n">ax</span> <span class="ow">in</span> <span class="n">adv_axs_set</span> <span class="k">else</span> <span class="mi">1</span> <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">key</span><span class="p">))]</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">steps</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="p">[</span><span class="mi">0</span> <span class="k">if</span> <span class="n">ax</span> <span class="ow">in</span> <span class="n">adv_axs_set</span> <span class="k">else</span> <span class="mi">1</span> <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">key</span><span class="p">))]</span> |
| <span class="n">cum_steps</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">cumsum</span><span class="p">(</span><span class="n">steps</span><span class="p">)</span> |
| <span class="n">axes_after</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">cum_steps</span><span class="p">[</span><span class="n">new_axes</span><span class="p">])</span> |
| <span class="k">return</span> <span class="n">axes_after</span> |
| |
| <span class="c1"># pylint: disable=invalid-name</span> |
| <span class="nd">@staticmethod</span> |
| <span class="k">def</span> <span class="nf">_basic_indexing_slice_is_contiguous</span><span class="p">(</span><span class="n">slc_key</span><span class="p">,</span> <span class="n">shape</span><span class="p">):</span> |
| <span class="sd">"""Whether indexing with the given key results in a contiguous array.</span> |
| |
| <span class="sd"> The rule is: From right to left, if in an axis, a slice produces a</span> |
| <span class="sd"> proper subset, no later axis can produce a proper subset or use</span> |
| <span class="sd"> a step different from 1.</span> |
| |
| <span class="sd"> The ``slc_key`` sequence must have the same length as ``shape`` and</span> |
| <span class="sd"> only contain `slice` objects.</span> |
| <span class="sd"> """</span> |
| <span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">slc_key</span><span class="p">)</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">shape</span><span class="p">)</span> |
| <span class="n">subset</span> <span class="o">=</span> <span class="kc">False</span> |
| <span class="k">for</span> <span class="n">idx</span><span class="p">,</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="nb">reversed</span><span class="p">(</span><span class="n">slc_key</span><span class="p">),</span> <span class="nb">reversed</span><span class="p">(</span><span class="n">shape</span><span class="p">)):</span> |
| <span class="n">start</span><span class="p">,</span> <span class="n">stop</span><span class="p">,</span> <span class="n">step</span> <span class="o">=</span> <span class="n">idx</span><span class="o">.</span><span class="n">indices</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> |
| <span class="k">if</span> <span class="n">step</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> |
| <span class="n">num</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ceil</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="n">stop</span> <span class="o">-</span> <span class="n">start</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="o">/</span> <span class="n">step</span><span class="p">))</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">num</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ceil</span><span class="p">(</span><span class="nb">min</span><span class="p">(</span><span class="n">stop</span> <span class="o">-</span> <span class="n">start</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="o">/</span> <span class="n">step</span><span class="p">))</span> |
| |
| <span class="k">if</span> <span class="n">num</span> <span class="o">!=</span> <span class="mi">1</span> <span class="ow">and</span> <span class="p">(</span><span class="n">subset</span> <span class="ow">or</span> <span class="n">step</span> <span class="o">!=</span> <span class="mi">1</span><span class="p">):</span> |
| <span class="k">return</span> <span class="kc">False</span> |
| <span class="k">if</span> <span class="n">num</span> <span class="o">!=</span> <span class="n">n</span><span class="p">:</span> |
| <span class="n">subset</span> <span class="o">=</span> <span class="kc">True</span> |
| |
| <span class="k">return</span> <span class="kc">True</span> |
| <span class="c1"># pylint: enable=invalid-name</span> |
| |
| <span class="nd">@staticmethod</span> |
| <span class="k">def</span> <span class="nf">_basic_indexing_sliced_shape</span><span class="p">(</span><span class="n">slc_key</span><span class="p">,</span> <span class="n">shape</span><span class="p">):</span> |
| <span class="sd">"""Return the shape after slicing with the given key."""</span> |
| <span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">slc_key</span><span class="p">)</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">shape</span><span class="p">)</span> |
| <span class="n">sliced_shape</span> <span class="o">=</span> <span class="p">[]</span> |
| <span class="k">for</span> <span class="n">idx</span><span class="p">,</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">slc_key</span><span class="p">,</span> <span class="n">shape</span><span class="p">):</span> |
| <span class="n">start</span><span class="p">,</span> <span class="n">stop</span><span class="p">,</span> <span class="n">step</span> <span class="o">=</span> <span class="n">idx</span><span class="o">.</span><span class="n">indices</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> |
| <span class="k">if</span> <span class="n">step</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> |
| <span class="n">num</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ceil</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="n">stop</span> <span class="o">-</span> <span class="n">start</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="o">/</span> <span class="n">step</span><span class="p">))</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">num</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ceil</span><span class="p">(</span><span class="nb">min</span><span class="p">(</span><span class="n">stop</span> <span class="o">-</span> <span class="n">start</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="o">/</span> <span class="n">step</span><span class="p">))</span> |
| <span class="n">sliced_shape</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">num</span><span class="p">)</span> |
| |
| <span class="k">return</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">sliced_shape</span><span class="p">)</span> |
| |
| <span class="c1"># pylint: disable=invalid-name</span> |
| <span class="nd">@staticmethod</span> |
| <span class="k">def</span> <span class="nf">_basic_indexing_contiguous_flat_begin_end</span><span class="p">(</span><span class="n">slc_key</span><span class="p">,</span> <span class="n">shape</span><span class="p">):</span> |
| <span class="sd">"""Return the flat indices of begin and end for contiguous slicing."""</span> |
| <span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">slc_key</span><span class="p">)</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="n">shape</span><span class="p">)</span> |
| <span class="n">begin</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">slc_key</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">indices</span><span class="p">(</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> |
| <span class="n">flat_begin</span><span class="p">,</span> <span class="n">flat_end</span> <span class="o">=</span> <span class="n">begin</span><span class="p">,</span> <span class="n">end</span> <span class="o">-</span> <span class="mi">1</span> |
| <span class="k">for</span> <span class="n">idx</span><span class="p">,</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">slc_key</span><span class="p">[</span><span class="mi">1</span><span class="p">:],</span> <span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">:]):</span> |
| <span class="n">flat_begin</span> <span class="o">*=</span> <span class="n">n</span> |
| <span class="n">flat_end</span> <span class="o">*=</span> <span class="n">n</span> |
| <span class="n">begin</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">idx</span><span class="o">.</span><span class="n">indices</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> |
| <span class="n">flat_begin</span> <span class="o">+=</span> <span class="n">begin</span> |
| <span class="n">flat_end</span> <span class="o">+=</span> <span class="n">end</span> <span class="o">-</span> <span class="mi">1</span> |
| |
| <span class="k">return</span> <span class="n">flat_begin</span><span class="p">,</span> <span class="n">flat_end</span> <span class="o">+</span> <span class="mi">1</span> |
| <span class="c1"># pylint: enable=invalid-name</span> |
| |
| <span class="k">def</span> <span class="nf">_set_nd_basic_indexing</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span> |
| <span class="sd">"""This function indexes ``self`` with a tuple of ``slice`` objects only."""</span> |
| <span class="k">for</span> <span class="n">idx</span> <span class="ow">in</span> <span class="n">key</span><span class="p">:</span> |
| <span class="k">if</span> <span class="n">idx</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="p">(</span><span class="n">py_slice</span><span class="p">,</span> <span class="n">integer_types</span><span class="p">)):</span> |
| <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span> |
| <span class="s1">'`key` may only contain `slice` or integer objects in the '</span> |
| <span class="s1">'basic implementation, got object of type </span><span class="si">{}</span><span class="s1">. '</span> |
| <span class="s1">'This is a bug, please report it!'</span> |
| <span class="s1">''</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">idx</span><span class="p">)))</span> |
| <span class="n">key_nd</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">idx</span> <span class="k">for</span> <span class="n">idx</span> <span class="ow">in</span> <span class="n">key</span> <span class="k">if</span> <span class="n">idx</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">)</span> |
| <span class="n">int_axes</span> <span class="o">=</span> <span class="p">[</span> |
| <span class="n">ax</span> <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">key_nd</span><span class="p">))</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">key_nd</span><span class="p">[</span><span class="n">ax</span><span class="p">],</span> <span class="n">integer_types</span><span class="p">)</span> |
| <span class="p">]</span> |
| |
| <span class="c1"># Check bounds for integer axes</span> |
| <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="n">int_axes</span><span class="p">:</span> <span class="c1"># pylint: disable=invalid-name</span> |
| <span class="k">if</span> <span class="ow">not</span> <span class="o">-</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span> <span class="o"><=</span> <span class="n">key_nd</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span> <span class="o"><</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="n">ax</span><span class="p">]:</span> |
| <span class="k">raise</span> <span class="ne">IndexError</span><span class="p">(</span> |
| <span class="s1">'index </span><span class="si">{}</span><span class="s1"> is out of bounds for axis </span><span class="si">{}</span><span class="s1"> with size </span><span class="si">{}</span><span class="s1">'</span> |
| <span class="s1">''</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key_nd</span><span class="p">[</span><span class="n">ax</span><span class="p">],</span> <span class="n">ax</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="n">ax</span><span class="p">]))</span> |
| |
| <span class="n">begin</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">step</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_basic_indexing_key_to_begin_end_step</span><span class="p">(</span> |
| <span class="n">key</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">keep_none</span><span class="o">=</span><span class="kc">False</span> |
| <span class="p">)</span> |
| <span class="n">indexed_shape</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span> |
| <span class="n">_get_dim_size</span><span class="p">(</span><span class="n">b</span><span class="p">,</span> <span class="n">e</span><span class="p">,</span> <span class="n">s</span><span class="p">)</span> <span class="k">for</span> <span class="n">b</span><span class="p">,</span> <span class="n">e</span><span class="p">,</span> <span class="n">s</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">begin</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">step</span><span class="p">)</span> |
| <span class="p">)</span> |
| <span class="n">can_assign_directly</span> <span class="o">=</span> <span class="p">(</span> |
| <span class="p">(</span><span class="n">indexed_shape</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span> <span class="ow">and</span> <span class="nb">all</span><span class="p">(</span><span class="n">s</span> <span class="o">></span> <span class="mi">0</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">step</span><span class="p">)</span> |
| <span class="p">)</span> |
| <span class="n">begin</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">step</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_basic_indexing_key_to_begin_end_step</span><span class="p">(</span> |
| <span class="n">key</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">keep_none</span><span class="o">=</span><span class="kc">True</span> |
| <span class="p">)</span> |
| <span class="n">none_axes</span> <span class="o">=</span> <span class="p">[</span><span class="n">ax</span> <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">key</span><span class="p">))</span> <span class="k">if</span> <span class="n">key</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">]</span> |
| <span class="n">new_axes</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_new_axes_after_basic_indexing</span><span class="p">(</span><span class="n">none_axes</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span> |
| |
| <span class="k">if</span> <span class="n">can_assign_directly</span><span class="p">:</span> |
| <span class="c1"># Easy case, overwrite whole array.</span> |
| <span class="k">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">value</span><span class="p">)</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="vm">__class__</span><span class="p">:</span> <span class="c1"># pylint: disable=unidiomatic-typecheck</span> |
| <span class="k">if</span> <span class="n">value</span><span class="o">.</span><span class="n">handle</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">:</span> |
| <span class="c1"># Need to do this before `broadcast_to`.</span> |
| <span class="n">tmp_shape</span> <span class="o">=</span> <span class="n">_shape_for_bcast</span><span class="p">(</span> |
| <span class="n">value</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">target_ndim</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">ndim</span><span class="p">,</span> <span class="n">new_axes</span><span class="o">=</span><span class="n">int_axes</span> |
| <span class="p">)</span> |
| <span class="n">value</span> <span class="o">=</span> <span class="n">value</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">tmp_shape</span><span class="p">)</span> |
| |
| <span class="k">if</span> <span class="n">value</span><span class="o">.</span><span class="n">shape</span> <span class="o">!=</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">:</span> |
| <span class="n">value</span> <span class="o">=</span> <span class="n">value</span><span class="o">.</span><span class="n">broadcast_to</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span> |
| <span class="n">value</span><span class="o">.</span><span class="n">copyto</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> |
| |
| <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">numeric_types</span><span class="p">):</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">_full</span><span class="p">(</span><span class="n">value</span><span class="p">)</span> |
| |
| <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">generic</span><span class="p">)):</span> |
| <span class="n">tmp_shape</span> <span class="o">=</span> <span class="n">_shape_for_bcast</span><span class="p">(</span> |
| <span class="n">value</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">target_ndim</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">ndim</span><span class="p">,</span> <span class="n">new_axes</span><span class="o">=</span><span class="n">int_axes</span> |
| <span class="p">)</span> |
| <span class="n">value</span> <span class="o">=</span> <span class="n">value</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">tmp_shape</span><span class="p">)</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">generic</span><span class="p">)</span> <span class="ow">or</span> <span class="n">value</span><span class="o">.</span><span class="n">shape</span> <span class="o">!=</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">:</span> |
| <span class="n">value</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">broadcast_to</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">_sync_copyfrom</span><span class="p">(</span><span class="n">value</span><span class="p">)</span> |
| |
| <span class="k">else</span><span class="p">:</span> |
| <span class="c1"># Other array-like</span> |
| <span class="n">value_nd</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_prepare_value_nd</span><span class="p">(</span> |
| <span class="n">value</span><span class="p">,</span> <span class="n">bcast_shape</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span> |
| <span class="p">)</span> |
| <span class="n">value_nd</span><span class="o">.</span><span class="n">copyto</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> |
| |
| <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">numeric_types</span><span class="p">):</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">slice_assign_scalar</span><span class="p">(</span><span class="nb">float</span><span class="p">(</span><span class="n">value</span><span class="p">),</span> <span class="n">begin</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">step</span><span class="p">)</span> |
| |
| <span class="k">else</span><span class="p">:</span> |
| <span class="c1"># drop the axis of indexed_shape corresponding to int axes</span> |
| <span class="n">bcast_shape</span> <span class="o">=</span> <span class="p">[]</span> |
| <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">size</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">indexed_shape</span><span class="p">):</span> |
| <span class="k">if</span> <span class="n">i</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">int_axes</span><span class="p">:</span> |
| <span class="n">bcast_shape</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">size</span><span class="p">)</span> |
| <span class="k">if</span> <span class="n">bcast_shape</span> <span class="o">==</span> <span class="p">[]:</span> |
| <span class="n">bcast_shape</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">]</span> |
| <span class="n">bcast_shape</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">bcast_shape</span><span class="p">)</span> |
| <span class="n">value_nd</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_prepare_value_nd</span><span class="p">(</span> |
| <span class="n">value</span><span class="p">,</span> <span class="n">bcast_shape</span><span class="o">=</span><span class="n">bcast_shape</span><span class="p">,</span> <span class="n">squeeze_axes</span><span class="o">=</span><span class="n">new_axes</span> |
| <span class="p">)</span> |
| <span class="n">value_nd</span> <span class="o">=</span> <span class="n">value_nd</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">indexed_shape</span><span class="p">)</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">slice_assign</span><span class="p">(</span><span class="n">value_nd</span><span class="p">,</span> <span class="n">begin</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">step</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">_get_nd_basic_indexing</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span> |
| <span class="sd">"""This function indexes ``self`` with a tuple of `slice` objects only."""</span> |
| <span class="n">key_nd</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">idx</span> <span class="k">for</span> <span class="n">idx</span> <span class="ow">in</span> <span class="n">key</span> <span class="k">if</span> <span class="n">idx</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">)</span> |
| <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">key_nd</span><span class="p">)</span> <span class="o"><</span> <span class="bp">self</span><span class="o">.</span><span class="n">ndim</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span> |
| <span class="s1">'too few indices after normalization: expected `ndim` (</span><span class="si">{}</span><span class="s1">) '</span> |
| <span class="s1">'but got </span><span class="si">{}</span><span class="s1">. This is a bug, please report it!'</span> |
| <span class="s1">''</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ndim</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">key_nd</span><span class="p">))</span> |
| <span class="p">)</span> |
| <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">key_nd</span><span class="p">)</span> <span class="o">></span> <span class="bp">self</span><span class="o">.</span><span class="n">ndim</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">IndexError</span><span class="p">(</span> |
| <span class="s1">'too many indices (</span><span class="si">{}</span><span class="s1">) for array with </span><span class="si">{}</span><span class="s1"> dimensions'</span> |
| <span class="s1">''</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">key_nd</span><span class="p">),</span> <span class="bp">self</span><span class="o">.</span><span class="n">ndim</span><span class="p">)</span> |
| <span class="p">)</span> |
| <span class="n">slc_key</span><span class="p">,</span> <span class="n">int_axes</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_basic_indexing_key_int_to_slice</span><span class="p">(</span><span class="n">key_nd</span><span class="p">)</span> |
| <span class="n">none_axes</span> <span class="o">=</span> <span class="p">[</span><span class="n">ax</span> <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">key</span><span class="p">))</span> <span class="k">if</span> <span class="n">key</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">]</span> |
| <span class="k">if</span> <span class="n">none_axes</span><span class="p">:</span> |
| <span class="n">new_axes</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_new_axes_after_basic_indexing</span><span class="p">(</span><span class="n">none_axes</span><span class="p">,</span> <span class="n">key</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">new_axes</span> <span class="o">=</span> <span class="p">[]</span> |
| |
| <span class="c1"># Check bounds for integer axes</span> |
| <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="n">int_axes</span><span class="p">:</span> <span class="c1"># pylint: disable=invalid-name</span> |
| <span class="k">if</span> <span class="ow">not</span> <span class="o">-</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span> <span class="o"><=</span> <span class="n">key_nd</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span> <span class="o"><</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="n">ax</span><span class="p">]:</span> |
| <span class="k">raise</span> <span class="ne">IndexError</span><span class="p">(</span> |
| <span class="s1">'index </span><span class="si">{}</span><span class="s1"> is out of bounds for axis </span><span class="si">{}</span><span class="s1"> with size </span><span class="si">{}</span><span class="s1">'</span> |
| <span class="s1">''</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">key_nd</span><span class="p">[</span><span class="n">ax</span><span class="p">],</span> <span class="n">ax</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="n">ax</span><span class="p">]))</span> |
| |
| <span class="c1"># Convert to begin, end and step, and return immediately if the slice</span> |
| <span class="c1"># is empty</span> |
| <span class="n">begin</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">step</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_basic_indexing_key_to_begin_end_step</span><span class="p">(</span> |
| <span class="n">slc_key</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">keep_none</span><span class="o">=</span><span class="kc">False</span> |
| <span class="p">)</span> |
| |
| <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_basic_indexing_slice_is_contiguous</span><span class="p">(</span><span class="n">slc_key</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">):</span> |
| <span class="c1"># Create a shared-memory view by using low-level flat slicing</span> |
| <span class="n">flat_begin</span><span class="p">,</span> <span class="n">flat_end</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_basic_indexing_contiguous_flat_begin_end</span><span class="p">(</span> |
| <span class="n">slc_key</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span> |
| <span class="p">)</span> |
| <span class="n">handle</span> <span class="o">=</span> <span class="n">NDArrayHandle</span><span class="p">()</span> |
| <span class="n">flat_self</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span> |
| <span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">version_info</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">></span> <span class="mi">2</span> <span class="ow">and</span> <span class="n">_int64_enabled</span><span class="p">():</span> |
| <span class="n">check_call</span><span class="p">(</span> |
| <span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArraySlice64</span><span class="p">(</span> |
| <span class="n">flat_self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int64</span><span class="p">(</span><span class="n">flat_begin</span><span class="p">),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int64</span><span class="p">(</span><span class="n">flat_end</span><span class="p">),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">handle</span><span class="p">),</span> |
| <span class="p">)</span> |
| <span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">check_call</span><span class="p">(</span> |
| <span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArraySlice</span><span class="p">(</span> |
| <span class="n">flat_self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_uint32</span><span class="p">(</span><span class="n">flat_begin</span><span class="p">),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_uint32</span><span class="p">(</span><span class="n">flat_end</span><span class="p">),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">handle</span><span class="p">),</span> |
| <span class="p">)</span> |
| <span class="p">)</span> |
| <span class="n">sliced_shape</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_basic_indexing_sliced_shape</span><span class="p">(</span><span class="n">slc_key</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span> |
| <span class="n">sliced</span> <span class="o">=</span> <span class="n">NDArray</span><span class="p">(</span><span class="n">handle</span><span class="o">=</span><span class="n">handle</span><span class="p">,</span> <span class="n">writable</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">writable</span><span class="p">)</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">sliced_shape</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">begin</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">step</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_basic_indexing_key_to_begin_end_step</span><span class="p">(</span> |
| <span class="n">slc_key</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">keep_none</span><span class="o">=</span><span class="kc">True</span> |
| <span class="p">)</span> |
| <span class="n">sliced</span> <span class="o">=</span> <span class="n">op</span><span class="o">.</span><span class="n">slice</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">begin</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">step</span><span class="p">)</span> |
| |
| <span class="c1"># Reshape to final shape due to integer and `None` entries in `key`.</span> |
| <span class="n">final_shape</span> <span class="o">=</span> <span class="p">[</span><span class="n">sliced</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">sliced</span><span class="o">.</span><span class="n">ndim</span><span class="p">)</span> |
| <span class="k">if</span> <span class="n">i</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">int_axes</span><span class="p">]</span> |
| <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="n">new_axes</span><span class="p">:</span> <span class="c1"># pylint: disable=invalid-name</span> |
| <span class="n">final_shape</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">ax</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> |
| |
| <span class="k">if</span> <span class="n">final_shape</span> <span class="o">==</span> <span class="p">[]:</span> |
| <span class="c1"># Override for single element indexing</span> |
| <span class="n">final_shape</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">]</span> |
| <span class="k">return</span> <span class="n">sliced</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">final_shape</span><span class="p">)</span> |
| |
| <span class="nd">@staticmethod</span> |
| <span class="k">def</span> <span class="nf">_advanced_index_to_array</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="n">ax_len</span><span class="p">,</span> <span class="n">ctx</span><span class="p">):</span> |
| <span class="sd">"""Convert ``idx`` to `NDArray` for advanced indexing.</span> |
| |
| <span class="sd"> The ``ax_len`` is used to convert `slice` objects to integer arrays.</span> |
| <span class="sd"> """</span> |
| <span class="n">idx_dtype</span> <span class="o">=</span> <span class="s1">'int32'</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="n">NDArray</span><span class="p">):</span> |
| <span class="k">if</span> <span class="n">idx</span><span class="o">.</span><span class="n">dtype</span> <span class="o">!=</span> <span class="n">idx_dtype</span><span class="p">:</span> |
| <span class="n">idx</span> <span class="o">=</span> <span class="n">idx</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="n">idx_dtype</span><span class="p">)</span> |
| <span class="k">return</span> <span class="n">idx</span><span class="o">.</span><span class="n">as_in_context</span><span class="p">(</span><span class="n">ctx</span><span class="p">)</span> |
| <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">,</span> <span class="nb">list</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">)):</span> |
| <span class="k">return</span> <span class="n">array</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="n">ctx</span><span class="p">,</span> <span class="n">idx_dtype</span><span class="p">)</span> |
| <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="n">integer_types</span><span class="p">):</span> |
| <span class="k">return</span> <span class="n">array</span><span class="p">([</span><span class="n">idx</span><span class="p">],</span> <span class="n">ctx</span><span class="p">,</span> <span class="n">idx_dtype</span><span class="p">)</span> |
| <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="n">py_slice</span><span class="p">):</span> |
| <span class="n">start</span><span class="p">,</span> <span class="n">stop</span><span class="p">,</span> <span class="n">step</span> <span class="o">=</span> <span class="n">idx</span><span class="o">.</span><span class="n">indices</span><span class="p">(</span><span class="n">ax_len</span><span class="p">)</span> |
| <span class="k">return</span> <span class="n">arange</span><span class="p">(</span><span class="n">start</span><span class="p">,</span> <span class="n">stop</span><span class="p">,</span> <span class="n">step</span><span class="p">,</span> <span class="n">ctx</span><span class="o">=</span><span class="n">ctx</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">idx_dtype</span><span class="p">)</span> |
| <span class="k">elif</span> <span class="n">sys</span><span class="o">.</span><span class="n">version_info</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">></span> <span class="mi">2</span> <span class="ow">and</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="nb">range</span><span class="p">):</span> |
| <span class="k">return</span> <span class="n">arange</span><span class="p">(</span><span class="n">idx</span><span class="o">.</span><span class="n">start</span><span class="p">,</span> <span class="n">idx</span><span class="o">.</span><span class="n">stop</span><span class="p">,</span> <span class="n">idx</span><span class="o">.</span><span class="n">step</span><span class="p">,</span> <span class="n">ctx</span><span class="o">=</span><span class="n">ctx</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">idx_dtype</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s1">'illegal index type </span><span class="si">{}</span><span class="s1">'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">idx</span><span class="p">)))</span> |
| |
| <span class="c1"># pylint: disable=invalid-name</span> |
| <span class="nd">@staticmethod</span> |
| <span class="k">def</span> <span class="nf">_broadcast_advanced_indices</span><span class="p">(</span><span class="n">arrays</span><span class="p">,</span> <span class="n">block_axes</span><span class="p">):</span> |
| <span class="sd">"""Broadcast arrays according to position in the sequence.</span> |
| |
| <span class="sd"> Here, "according to position" means that an array of dimension 1</span> |
| <span class="sd"> (which is the case for all except ``block_axes``) will have shape</span> |
| <span class="sd"> ``(1, ..., 1, N, 1, ..., 1)``, where ``N`` is the length, and the</span> |
| <span class="sd"> position of ``N`` in the shape is the same as the position of the</span> |
| <span class="sd"> array in the ``arrays`` sequence, plus extra dimensions of the</span> |
| <span class="sd"> advanced block if it is left of the array.</span> |
| |
| <span class="sd"> The arrays at ``block_axes`` are the advanced indices. They are assumed to</span> |
| <span class="sd"> be ready for mutual broadcasting to produce the advanced indexing block.</span> |
| <span class="sd"> It is further assumed that the numbers in ``block_axes`` are consecutive.</span> |
| |
| <span class="sd"> The return value is a tuple containing the arrays with broadcast shapes.</span> |
| <span class="sd"> """</span> |
| <span class="n">block_shape</span> <span class="o">=</span> <span class="n">_broadcast_shapes</span><span class="p">([</span><span class="n">arrays</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span> <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="n">block_axes</span><span class="p">])</span> |
| <span class="n">ndim_blk</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">block_shape</span><span class="p">)</span> |
| <span class="n">ndim_blk_delta</span> <span class="o">=</span> <span class="n">ndim_blk</span> <span class="o">-</span> <span class="nb">len</span><span class="p">(</span><span class="n">block_axes</span><span class="p">)</span> |
| <span class="n">ndim_lead</span> <span class="o">=</span> <span class="n">block_axes</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> |
| <span class="n">ndim_trail</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">arrays</span><span class="p">)</span> <span class="o">-</span> <span class="p">(</span><span class="n">block_axes</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> |
| |
| <span class="n">bcast_shape</span> <span class="o">=</span> <span class="p">(</span> |
| <span class="nb">tuple</span><span class="p">(</span><span class="n">arrays</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">ndim_lead</span><span class="p">))</span> <span class="o">+</span> |
| <span class="n">block_shape</span> <span class="o">+</span> |
| <span class="nb">tuple</span><span class="p">(</span><span class="n">arrays</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">block_axes</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">arrays</span><span class="p">)))</span> |
| <span class="p">)</span> |
| |
| <span class="n">bcast_arrays</span> <span class="o">=</span> <span class="p">[</span><span class="kc">None</span><span class="p">]</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="n">arrays</span><span class="p">)</span> |
| <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="n">block_axes</span><span class="p">:</span> |
| <span class="n">arr</span> <span class="o">=</span> <span class="n">arrays</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span><span class="o">.</span><span class="n">broadcast_to</span><span class="p">(</span><span class="n">block_shape</span><span class="p">)</span> |
| <span class="n">shp</span> <span class="o">=</span> <span class="p">(</span><span class="mi">1</span><span class="p">,)</span> <span class="o">*</span> <span class="n">ndim_lead</span> <span class="o">+</span> <span class="n">block_shape</span> <span class="o">+</span> <span class="p">(</span><span class="mi">1</span><span class="p">,)</span> <span class="o">*</span> <span class="n">ndim_trail</span> |
| <span class="n">bcast_arrays</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span> <span class="o">=</span> <span class="n">arr</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">shp</span><span class="p">)</span><span class="o">.</span><span class="n">broadcast_to</span><span class="p">(</span><span class="n">bcast_shape</span><span class="p">)</span> |
| |
| <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="nb">set</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">arrays</span><span class="p">)))</span> <span class="o">-</span> <span class="nb">set</span><span class="p">(</span><span class="n">block_axes</span><span class="p">):</span> |
| <span class="n">shp</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="n">bcast_shape</span><span class="p">)</span> |
| <span class="k">if</span> <span class="n">ax</span> <span class="o"><</span> <span class="n">ndim_lead</span><span class="p">:</span> |
| <span class="n">shp</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span> <span class="o">=</span> <span class="n">arrays</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">shp</span><span class="p">[</span><span class="n">ax</span> <span class="o">+</span> <span class="n">ndim_blk_delta</span><span class="p">]</span> <span class="o">=</span> <span class="n">arrays</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> |
| <span class="n">bcast_arrays</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span> <span class="o">=</span> <span class="n">arrays</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">shp</span><span class="p">)</span><span class="o">.</span><span class="n">broadcast_to</span><span class="p">(</span><span class="n">bcast_shape</span><span class="p">)</span> |
| |
| <span class="k">return</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">bcast_arrays</span><span class="p">)</span> |
| <span class="c1"># pylint: enable=invalid-name</span> |
| |
| <span class="nd">@staticmethod</span> |
| <span class="k">def</span> <span class="nf">_drop_slice_none_at_end</span><span class="p">(</span><span class="n">key</span><span class="p">):</span> |
| <span class="sd">"""Remove ``slice(None)`` at the end of a key.</span> |
| |
| <span class="sd"> This is used for efficiency in advanced indexing, to avoid generating</span> |
| <span class="sd"> ``arange(n)`` arrays for these axes. The `gather_nd` and `scatter_nd`</span> |
| <span class="sd"> handle implicit full trailing axes automatically.</span> |
| <span class="sd"> """</span> |
| <span class="n">key</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> |
| <span class="k">while</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">key</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="n">py_slice</span><span class="p">)</span> <span class="ow">and</span> <span class="n">key</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span class="nb">slice</span><span class="p">(</span><span class="kc">None</span><span class="p">):</span> |
| <span class="n">key</span><span class="o">.</span><span class="n">pop</span><span class="p">()</span> |
| <span class="k">return</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">_get_index_nd</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span> |
| <span class="sd">"""</span> |
| <span class="sd"> Return an index array for use in `scatter_nd` and `gather_nd`,</span> |
| <span class="sd"> and a list of positions of new_axes in ouptut shape.</span> |
| <span class="sd"> """</span> |
| <span class="n">key_nd</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">idx</span> <span class="k">for</span> <span class="n">idx</span> <span class="ow">in</span> <span class="n">key</span> <span class="k">if</span> <span class="n">idx</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">)</span> |
| <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">key_nd</span><span class="p">)</span> <span class="o"><</span> <span class="bp">self</span><span class="o">.</span><span class="n">ndim</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span> |
| <span class="s1">'too few indices after normalization: expected `ndim` (</span><span class="si">{}</span><span class="s1">) '</span> |
| <span class="s1">'but got </span><span class="si">{}</span><span class="s1">. This is a bug, please report it!'</span> |
| <span class="s1">''</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ndim</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">key_nd</span><span class="p">))</span> |
| <span class="p">)</span> |
| <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">key_nd</span><span class="p">)</span> <span class="o">></span> <span class="bp">self</span><span class="o">.</span><span class="n">ndim</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">IndexError</span><span class="p">(</span> |
| <span class="s1">'too many indices (</span><span class="si">{}</span><span class="s1">) for array with </span><span class="si">{}</span><span class="s1"> dimensions'</span> |
| <span class="s1">''</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">key_nd</span><span class="p">),</span> <span class="bp">self</span><span class="o">.</span><span class="n">ndim</span><span class="p">)</span> |
| <span class="p">)</span> |
| <span class="n">ndim</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">key_nd</span><span class="p">)</span> |
| |
| <span class="c1"># --- Preparation --- #</span> |
| |
| <span class="c1"># - Make lists for bookkeeping of advanced indices & axes</span> |
| <span class="c1"># - Drop trailing `slice(None)` entries in `key` for efficiency</span> |
| <span class="c1"># - Determine whether the advanced indices are adjacent in `key`</span> |
| <span class="c1"># - Depending on that, make index permutations to move around indices</span> |
| |
| <span class="n">adv_axs</span> <span class="o">=</span> <span class="p">[</span><span class="n">ax</span> <span class="k">for</span> <span class="n">ax</span><span class="p">,</span> <span class="n">idx</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> <span class="k">if</span> <span class="n">_is_advanced_index</span><span class="p">(</span><span class="n">idx</span><span class="p">)]</span> |
| <span class="n">adv_axs_nd</span> <span class="o">=</span> <span class="p">[</span><span class="n">ax</span> <span class="k">for</span> <span class="n">ax</span><span class="p">,</span> <span class="n">idx</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">key_nd</span><span class="p">)</span> <span class="k">if</span> <span class="n">_is_advanced_index</span><span class="p">(</span><span class="n">idx</span><span class="p">)]</span> |
| <span class="n">adv_idcs_are_adjacent</span> <span class="o">=</span> <span class="nb">bool</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">all</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">diff</span><span class="p">(</span><span class="n">adv_axs</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">))</span> |
| <span class="n">nonadv_axs_nd</span> <span class="o">=</span> <span class="p">[</span><span class="n">ax</span> <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">ndim</span><span class="p">)</span> <span class="k">if</span> <span class="n">ax</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">adv_axs_nd</span><span class="p">]</span> |
| <span class="n">adv_idcs_nd</span> <span class="o">=</span> <span class="p">[</span><span class="n">key_nd</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span> <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="n">adv_axs_nd</span><span class="p">]</span> |
| <span class="n">idcs_short</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_drop_slice_none_at_end</span><span class="p">(</span><span class="n">key_nd</span><span class="p">)</span> |
| <span class="n">dropped_axs</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">idcs_short</span><span class="p">),</span> <span class="n">ndim</span><span class="p">))</span> |
| |
| <span class="k">if</span> <span class="n">adv_idcs_are_adjacent</span><span class="p">:</span> |
| <span class="c1"># The easy case: the advanced block can stay at its position, and no</span> |
| <span class="c1"># permutation needs to be done (identity permutation)</span> |
| <span class="n">axs_nd_permut</span> <span class="o">=</span> <span class="n">axs_nd_permut_inv</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="n">ndim</span><span class="p">))</span> |
| <span class="n">idcs_permut_short</span> <span class="o">=</span> <span class="n">idcs_short</span> |
| <span class="n">block_axs_nd</span> <span class="o">=</span> <span class="n">adv_axs_nd</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="c1"># The more complicated case: during broadcasting, we need to use the</span> |
| <span class="c1"># indices in the *permuted* order, where the advanced block is</span> |
| <span class="c1"># at the beginning, while the final index for `gather_nd` is stacked</span> |
| <span class="c1"># in the *original* order, so that the association of index with</span> |
| <span class="c1"># array axis remains the same.</span> |
| |
| <span class="c1"># This order is used for broadcasting: advanced block at the beginning</span> |
| <span class="n">idcs_permut_short</span> <span class="o">=</span> <span class="p">(</span> |
| <span class="n">adv_idcs_nd</span> <span class="o">+</span> |
| <span class="p">[</span><span class="n">key_nd</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span> <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">ndim</span><span class="p">)</span> |
| <span class="k">if</span> <span class="n">ax</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">adv_axs_nd</span> <span class="ow">and</span> <span class="n">ax</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">dropped_axs</span><span class="p">]</span> |
| <span class="p">)</span> |
| <span class="n">block_axs_nd</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">adv_axs_nd</span><span class="p">)))</span> |
| <span class="n">axs_nd_permut</span> <span class="o">=</span> <span class="n">adv_axs_nd</span> <span class="o">+</span> <span class="n">nonadv_axs_nd</span> |
| <span class="n">axs_nd_permut_inv</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">argsort</span><span class="p">(</span><span class="n">axs_nd_permut</span><span class="p">))</span> |
| |
| <span class="c1"># --- Conversion, broadcasting and index stacking --- #</span> |
| |
| <span class="c1"># - Convert all indices in `key` to arrays: integers to 1-element arrays,</span> |
| <span class="c1"># `slice` objects to arrays with explicit indices</span> |
| <span class="c1"># - Reshape arrays for broadcasting according to their position in the</span> |
| <span class="c1"># *permuted* key</span> |
| <span class="c1"># - Broadcast and stack the indices in the *original* order</span> |
| |
| <span class="n">shape_nd_permut</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span> <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="n">axs_nd_permut</span><span class="p">)</span> |
| <span class="n">converted_idcs_short</span> <span class="o">=</span> <span class="p">[</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">_advanced_index_to_array</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="n">ax_len</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">context</span><span class="p">)</span> |
| <span class="k">for</span> <span class="n">idx</span><span class="p">,</span> <span class="n">ax_len</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">idcs_permut_short</span><span class="p">,</span> <span class="n">shape_nd_permut</span><span class="p">)</span> |
| <span class="p">]</span> |
| <span class="n">bcast_idcs_permut_short</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_broadcast_advanced_indices</span><span class="p">(</span> |
| <span class="n">converted_idcs_short</span><span class="p">,</span> <span class="n">block_axes</span><span class="o">=</span><span class="n">block_axs_nd</span> |
| <span class="p">)</span> |
| |
| <span class="c1"># Get the ndim of advanced indexing subspace</span> |
| <span class="n">converted_advanced_idcs</span> <span class="o">=</span> <span class="p">[</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">_advanced_index_to_array</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="n">ax_len</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">context</span><span class="p">)</span> |
| <span class="k">for</span> <span class="n">idx</span><span class="p">,</span> <span class="n">ax_len</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">adv_idcs_nd</span><span class="p">,</span> <span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span> <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="n">adv_axs_nd</span><span class="p">])</span> |
| <span class="p">]</span> |
| <span class="n">bcast_advanced_shape</span> <span class="o">=</span> <span class="n">_broadcast_shapes</span><span class="p">(</span><span class="n">converted_advanced_idcs</span><span class="p">)</span> |
| |
| <span class="c1"># Undo the permutation to restore the original order</span> |
| <span class="n">bcast_idcs_short</span> <span class="o">=</span> <span class="p">[</span> |
| <span class="n">bcast_idcs_permut_short</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span> |
| <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="n">axs_nd_permut_inv</span> |
| <span class="k">if</span> <span class="n">axs_nd_permut</span><span class="p">[</span><span class="n">ax</span><span class="p">]</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">dropped_axs</span> |
| <span class="p">]</span> |
| |
| <span class="c1"># Calculate where the newaxes are inserted after advanced indexing</span> |
| <span class="n">new_axes_positions</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_new_axes_after_advanced_indexing</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">adv_axs</span><span class="p">,</span>\ |
| <span class="nb">len</span><span class="p">(</span><span class="n">bcast_advanced_shape</span><span class="p">),</span> <span class="n">adv_idcs_are_adjacent</span><span class="p">)</span> |
| |
| <span class="c1"># if any array is numpy.ndarray, stack in numpy ndarray class.</span> |
| <span class="k">for</span> <span class="n">idcs</span> <span class="ow">in</span> <span class="n">bcast_idcs_short</span><span class="p">:</span> |
| <span class="k">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">idcs</span><span class="p">)</span> <span class="o">!=</span> <span class="n">NDArray</span><span class="p">:</span> <span class="c1"># pylint: disable=unidiomatic-typecheck</span> |
| <span class="k">return</span> <span class="n">bcast_idcs_short</span><span class="p">,</span> <span class="n">new_axes_positions</span> |
| |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">stack</span><span class="p">(</span><span class="o">*</span><span class="n">bcast_idcs_short</span><span class="p">),</span> <span class="n">new_axes_positions</span> |
| |
| <span class="k">def</span> <span class="nf">_set_nd_advanced_indexing</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span> |
| <span class="sd">"""This function is called by __setitem__ when key is an advanced index."""</span> |
| <span class="n">indices</span><span class="p">,</span> <span class="n">new_axes</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_index_nd</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> |
| <span class="n">vshape</span> <span class="o">=</span> <span class="n">get_oshape_of_gather_nd_op</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">indices</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span> |
| <span class="n">value_nd</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_prepare_value_nd</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">bcast_shape</span><span class="o">=</span><span class="n">vshape</span><span class="p">,</span> <span class="n">squeeze_axes</span><span class="o">=</span><span class="n">new_axes</span><span class="p">)</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">_scatter_set_nd</span><span class="p">(</span><span class="n">value_nd</span><span class="p">,</span> <span class="n">indices</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">_get_nd_advanced_indexing</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">key</span><span class="p">):</span> |
| <span class="sd">"""Get item when key is a tuple of any objects of the following types:</span> |
| <span class="sd"> NDArray, np.ndarray, list, tuple, slice, and integer."""</span> |
| <span class="n">slc_key</span><span class="p">,</span> <span class="n">new_axes</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_index_nd</span><span class="p">(</span><span class="n">key</span><span class="p">)</span> |
| <span class="n">sliced</span> <span class="o">=</span> <span class="n">op</span><span class="o">.</span><span class="n">gather_nd</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">slc_key</span><span class="p">)</span> |
| |
| <span class="c1"># Reshape due to `None` entries in `key`.</span> |
| <span class="k">if</span> <span class="n">new_axes</span><span class="p">:</span> |
| <span class="n">final_shape</span> <span class="o">=</span> <span class="p">[</span><span class="n">sliced</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">sliced</span><span class="o">.</span><span class="n">ndim</span><span class="p">)]</span> |
| <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="n">new_axes</span><span class="p">:</span> <span class="c1"># pylint: disable=invalid-name</span> |
| <span class="n">final_shape</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">ax</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> |
| <span class="k">return</span> <span class="n">sliced</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">final_shape</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">return</span> <span class="n">sliced</span> |
| |
| <span class="k">def</span> <span class="nf">_sync_copyfrom</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">source_array</span><span class="p">):</span> |
| <span class="sd">"""Performs a synchronized copy from the `source_array` to the current array.</span> |
| <span class="sd"> This is called through ``x[:] = source_array``, where the `source_array`</span> |
| <span class="sd"> is a `numpy.ndarray` or array-like object.</span> |
| <span class="sd"> This function blocks until all the pending read/write operations with respect</span> |
| <span class="sd"> to the current `NDArray` are finished and carry out the copy operation to the</span> |
| <span class="sd"> current NDArray.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> source_array : array_like</span> |
| <span class="sd"> The data source we would like to copy from.</span> |
| |
| <span class="sd"> Example</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> >>> a = mx.nd.array([1, 2])</span> |
| <span class="sd"> >>> a.asnumpy()</span> |
| <span class="sd"> array([ 1., 2.], dtype=float32)</span> |
| <span class="sd"> >>> a[:] = np.array([3, 4])</span> |
| <span class="sd"> >> a.asnumpy()</span> |
| <span class="sd"> array([ 3., 4.], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">source_array</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">):</span> |
| <span class="k">try</span><span class="p">:</span> |
| <span class="n">source_array</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">source_array</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dtype</span><span class="p">)</span> |
| <span class="k">except</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">'array must consist of array-like data,'</span> <span class="o">+</span> |
| <span class="s1">'type </span><span class="si">%s</span><span class="s1"> is not supported'</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">array</span><span class="p">)))</span> |
| <span class="n">source_array</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">asarray</span><span class="p">(</span><span class="n">source_array</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dtype</span><span class="p">,</span> <span class="n">order</span><span class="o">=</span><span class="s1">'C'</span><span class="p">)</span> |
| <span class="k">if</span> <span class="n">source_array</span><span class="o">.</span><span class="n">shape</span> <span class="o">!=</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'Shape inconsistent: expected </span><span class="si">%s</span><span class="s1"> vs got </span><span class="si">%s</span><span class="s1">'</span><span class="o">%</span><span class="p">(</span> |
| <span class="nb">str</span><span class="p">(</span><span class="n">source_array</span><span class="o">.</span><span class="n">shape</span><span class="p">),</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">)))</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArraySyncCopyFromCPU</span><span class="p">(</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> |
| <span class="n">source_array</span><span class="o">.</span><span class="n">ctypes</span><span class="o">.</span><span class="n">data_as</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_size_t</span><span class="p">(</span><span class="n">source_array</span><span class="o">.</span><span class="n">size</span><span class="p">)))</span> |
| |
| <span class="k">def</span> <span class="nf">_slice</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">start</span><span class="p">,</span> <span class="n">stop</span><span class="p">):</span> |
| <span class="sd">"""Returns a sliced NDArray that shares memory with the current one.</span> |
| <span class="sd"> This is called through ``x[start:stop]``.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> start : int</span> |
| <span class="sd"> Starting inclusive index of slice in the first dim.</span> |
| <span class="sd"> stop : int</span> |
| <span class="sd"> Finishing exclusive index of slice in the first dim.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> `NDArray` sharing the memory with the current one sliced from</span> |
| <span class="sd"> start to stop in the first dim.</span> |
| |
| <span class="sd"> Examples:</span> |
| <span class="sd"> >>> a = mx.nd.array([[1,2], [3, 4], [5, 6], [7, 8]])</span> |
| <span class="sd"> >>> a[1:2].asnumpy()</span> |
| <span class="sd"> array([[ 3., 4.]], dtype=float32)</span> |
| <span class="sd"> >>> a[1:1].asnumpy()</span> |
| <span class="sd"> array([], shape=(0, 2), dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="n">handle</span> <span class="o">=</span> <span class="n">NDArrayHandle</span><span class="p">()</span> |
| <span class="n">start</span><span class="p">,</span> <span class="n">stop</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">_get_index_range</span><span class="p">(</span><span class="n">start</span><span class="p">,</span> <span class="n">stop</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> |
| |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArraySlice</span><span class="p">(</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">mx_uint</span><span class="p">(</span><span class="n">start</span><span class="p">),</span> <span class="n">mx_uint</span><span class="p">(</span><span class="n">stop</span><span class="p">),</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">handle</span><span class="p">)))</span> |
| <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="vm">__class__</span><span class="p">(</span><span class="n">handle</span><span class="o">=</span><span class="n">handle</span><span class="p">,</span> <span class="n">writable</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">writable</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">_at</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">idx</span><span class="p">):</span> |
| <span class="sd">"""Returns a view of the array sliced at `idx` in the first dim.</span> |
| <span class="sd"> This is called through ``x[idx]``.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> idx : int</span> |
| <span class="sd"> index for slicing the `NDArray` in the first dim.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> `NDArray` sharing the memory with the current one sliced at `idx` in the first dim.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> a = mx.nd.array([[1,2], [3, 4]])</span> |
| <span class="sd"> >>> a[1].asnumpy()</span> |
| <span class="sd"> array([ 3., 4.], dtype=float32)</span> |
| <span class="sd"> >>> b = mx.nd.array([1, 2, 3, 4])</span> |
| <span class="sd"> >>> b[0].asnumpy()</span> |
| <span class="sd"> array([ 1.], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="n">handle</span> <span class="o">=</span> <span class="n">NDArrayHandle</span><span class="p">()</span> |
| <span class="k">if</span> <span class="n">idx</span> <span class="o"><</span> <span class="mi">0</span><span class="p">:</span> |
| <span class="n">length</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> |
| <span class="n">idx</span> <span class="o">+=</span> <span class="n">length</span> |
| <span class="k">if</span> <span class="n">idx</span> <span class="o"><</span> <span class="mi">0</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">IndexError</span><span class="p">(</span><span class="s1">'index </span><span class="si">%d</span><span class="s1"> is out of bounds for axis 0 with size </span><span class="si">%d</span><span class="s1">'</span> |
| <span class="o">%</span> <span class="p">(</span><span class="n">idx</span><span class="o">-</span><span class="n">length</span><span class="p">,</span> <span class="n">length</span><span class="p">))</span> |
| <span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">version_info</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">></span> <span class="mi">2</span> <span class="ow">and</span> <span class="n">_int64_enabled</span><span class="p">():</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayAt64</span><span class="p">(</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int64</span><span class="p">(</span><span class="n">idx</span><span class="p">),</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">handle</span><span class="p">)))</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayAt</span><span class="p">(</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_uint32</span><span class="p">(</span><span class="n">idx</span><span class="p">),</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">handle</span><span class="p">)))</span> |
| <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="vm">__class__</span><span class="p">(</span><span class="n">handle</span><span class="o">=</span><span class="n">handle</span><span class="p">,</span> <span class="n">writable</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">writable</span><span class="p">)</span> |
| |
| <div class="viewcode-block" id="NDArray.reshape"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.reshape.html#mxnet.ndarray.NDArray.reshape">[docs]</a> <span class="k">def</span> <span class="nf">reshape</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">shape</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Returns a **view** of this array with a new shape without altering any data.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> shape : tuple of int, or n ints</span> |
| <span class="sd"> The new shape should not change the array size, namely</span> |
| <span class="sd"> ``np.prod(new_shape)`` should be equal to ``np.prod(self.shape)``.</span> |
| <span class="sd"> Some dimensions of the shape can take special values from the set {0, -1, -2, -3, -4}.</span> |
| <span class="sd"> The significance of each is explained below:</span> |
| |
| <span class="sd"> - ``0`` copy this dimension from the input to the output shape.</span> |
| |
| <span class="sd"> Example::</span> |
| |
| <span class="sd"> - input shape = (2,3,4), shape = (4,0,2), output shape = (4,3,2)</span> |
| <span class="sd"> - input shape = (2,3,4), shape = (2,0,0), output shape = (2,3,4)</span> |
| |
| <span class="sd"> - ``-1`` infers the dimension of the output shape by using the remainder of the</span> |
| <span class="sd"> input dimensions keeping the size of the new array same as that of the input array.</span> |
| <span class="sd"> At most one dimension of shape can be -1.</span> |
| |
| <span class="sd"> Example::</span> |
| |
| <span class="sd"> - input shape = (2,3,4), shape = (6,1,-1), output shape = (6,1,4)</span> |
| <span class="sd"> - input shape = (2,3,4), shape = (3,-1,8), output shape = (3,1,8)</span> |
| <span class="sd"> - input shape = (2,3,4), shape=(-1,), output shape = (24,)</span> |
| |
| <span class="sd"> - ``-2`` copy all/remainder of the input dimensions to the output shape.</span> |
| |
| <span class="sd"> Example::</span> |
| |
| <span class="sd"> - input shape = (2,3,4), shape = (-2,), output shape = (2,3,4)</span> |
| <span class="sd"> - input shape = (2,3,4), shape = (2,-2), output shape = (2,3,4)</span> |
| <span class="sd"> - input shape = (2,3,4), shape = (-2,1,1), output shape = (2,3,4,1,1)</span> |
| |
| <span class="sd"> - ``-3`` use the product of two consecutive dimensions of the input shape as the</span> |
| <span class="sd"> output dimension.</span> |
| |
| <span class="sd"> Example::</span> |
| |
| <span class="sd"> - input shape = (2,3,4), shape = (-3,4), output shape = (6,4)</span> |
| <span class="sd"> - input shape = (2,3,4,5), shape = (-3,-3), output shape = (6,20)</span> |
| <span class="sd"> - input shape = (2,3,4), shape = (0,-3), output shape = (2,12)</span> |
| <span class="sd"> - input shape = (2,3,4), shape = (-3,-2), output shape = (6,4)</span> |
| |
| <span class="sd"> - ``-4`` split one dimension of the input into two dimensions passed subsequent to</span> |
| <span class="sd"> -4 in shape (can contain -1).</span> |
| |
| <span class="sd"> Example::</span> |
| |
| <span class="sd"> - input shape = (2,3,4), shape = (-4,1,2,-2), output shape =(1,2,3,4)</span> |
| <span class="sd"> - input shape = (2,3,4), shape = (2,-4,-1,3,-2), output shape = (2,1,3,4)</span> |
| |
| <span class="sd"> - If the argument `reverse` is set to 1, then the special values are inferred from right</span> |
| <span class="sd"> to left.</span> |
| |
| <span class="sd"> Example::</span> |
| |
| <span class="sd"> - without reverse=1, for input shape = (10,5,4), shape = (-1,0), output shape would be \</span> |
| <span class="sd"> (40,5).</span> |
| <span class="sd"> - with reverse=1, output shape will be (50,4).</span> |
| |
| <span class="sd"> reverse : bool, default False</span> |
| <span class="sd"> If true then the special values are inferred from right to left. Only supported as</span> |
| <span class="sd"> keyword argument.</span> |
| |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> An array with desired shape that shares data with this array.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.arange(0,6).reshape(2,3)</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 0., 1., 2.],</span> |
| <span class="sd"> [ 3., 4., 5.]], dtype=float32)</span> |
| <span class="sd"> >>> y = x.reshape(3,2)</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.],</span> |
| <span class="sd"> [ 2., 3.],</span> |
| <span class="sd"> [ 4., 5.]], dtype=float32)</span> |
| <span class="sd"> >>> y = x.reshape(3,-1)</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.],</span> |
| <span class="sd"> [ 2., 3.],</span> |
| <span class="sd"> [ 4., 5.]], dtype=float32)</span> |
| <span class="sd"> >>> y = x.reshape(3,2)</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.],</span> |
| <span class="sd"> [ 2., 3.],</span> |
| <span class="sd"> [ 4., 5.]], dtype=float32)</span> |
| <span class="sd"> >>> y = x.reshape(-3)</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([ 0. 1. 2. 3. 4. 5.], dtype=float32)</span> |
| <span class="sd"> >>> y[:] = -1</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[-1., -1., -1.],</span> |
| <span class="sd"> [-1., -1., -1.]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">shape</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span> <span class="ow">and</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="p">(</span><span class="nb">list</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">)):</span> |
| <span class="n">shape</span> <span class="o">=</span> <span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> |
| <span class="k">elif</span> <span class="ow">not</span> <span class="n">shape</span><span class="p">:</span> |
| <span class="n">shape</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'shape'</span><span class="p">)</span> |
| <span class="k">assert</span> <span class="n">shape</span><span class="p">,</span> <span class="s2">"Shape must be provided."</span> |
| <span class="k">if</span> <span class="ow">not</span> <span class="nb">all</span><span class="p">(</span><span class="n">k</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'shape'</span><span class="p">,</span> <span class="s1">'reverse'</span><span class="p">]</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">kwargs</span><span class="p">):</span> |
| <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span> |
| <span class="s2">"Got unknown keywords in reshape: </span><span class="si">{}</span><span class="s2">. "</span> \ |
| <span class="s2">"Accepted keyword arguments are 'shape' and 'reverse'."</span><span class="o">.</span><span class="n">format</span><span class="p">(</span> |
| <span class="s1">', '</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="n">k</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">kwargs</span> <span class="k">if</span> <span class="n">k</span> <span class="ow">not</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'shape'</span><span class="p">,</span> <span class="s1">'reverse'</span><span class="p">]])))</span> |
| <span class="n">reverse</span> <span class="o">=</span> <span class="n">kwargs</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s1">'reverse'</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span> |
| <span class="n">handle</span> <span class="o">=</span> <span class="n">NDArrayHandle</span><span class="p">()</span> |
| |
| <span class="c1"># Actual reshape</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayReshape64</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> |
| <span class="nb">len</span><span class="p">(</span><span class="n">shape</span><span class="p">),</span> |
| <span class="n">c_array</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">c_int64</span><span class="p">,</span> <span class="n">shape</span><span class="p">),</span> |
| <span class="n">reverse</span><span class="p">,</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">handle</span><span class="p">)))</span> |
| <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="vm">__class__</span><span class="p">(</span><span class="n">handle</span><span class="o">=</span><span class="n">handle</span><span class="p">,</span> <span class="n">writable</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">writable</span><span class="p">)</span></div> |
| |
| <div class="viewcode-block" id="NDArray.reshape_like"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.reshape_like.html#mxnet.ndarray.NDArray.reshape_like">[docs]</a> <span class="k">def</span> <span class="nf">reshape_like</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`reshape_like`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`reshape_like`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">reshape_like</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <div class="viewcode-block" id="NDArray.zeros_like"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.zeros_like.html#mxnet.ndarray.NDArray.zeros_like">[docs]</a> <span class="k">def</span> <span class="nf">zeros_like</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`zeros_like`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`zeros_like`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">zeros_like</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <div class="viewcode-block" id="NDArray.ones_like"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.ones_like.html#mxnet.ndarray.NDArray.ones_like">[docs]</a> <span class="k">def</span> <span class="nf">ones_like</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`ones_like`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`ones_like`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">ones_like</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <span class="k">def</span> <span class="nf">broadcast_axes</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`broadcast_axes`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`broadcast_axes`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">broadcast_axes</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <div class="viewcode-block" id="NDArray.repeat"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.repeat.html#mxnet.ndarray.NDArray.repeat">[docs]</a> <span class="k">def</span> <span class="nf">repeat</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`repeat`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`repeat`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">repeat</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <div class="viewcode-block" id="NDArray.pad"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.pad.html#mxnet.ndarray.NDArray.pad">[docs]</a> <span class="k">def</span> <span class="nf">pad</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`pad`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`pad`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">pad</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <span class="k">def</span> <span class="nf">swapaxes</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`swapaxes`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`swapaxes`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">swapaxes</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">split</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`split`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`split`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">split_v2</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`split_v2`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`split_v2`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">split_v2</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">slice</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`slice`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`slice`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">slice</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">slice_axis</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`slice_axis`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`slice_axis`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">slice_axis</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">slice_like</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`slice_like`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`slice_like`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">slice_like</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">take</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`take`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`take`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">take</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <div class="viewcode-block" id="NDArray.one_hot"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.one_hot.html#mxnet.ndarray.NDArray.one_hot">[docs]</a> <span class="k">def</span> <span class="nf">one_hot</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`one_hot`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`one_hot`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">one_hot</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <div class="viewcode-block" id="NDArray.pick"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.pick.html#mxnet.ndarray.NDArray.pick">[docs]</a> <span class="k">def</span> <span class="nf">pick</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`pick`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`pick`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">pick</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <span class="k">def</span> <span class="nf">sort</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`sort`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`sort`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">sort</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <div class="viewcode-block" id="NDArray.topk"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.topk.html#mxnet.ndarray.NDArray.topk">[docs]</a> <span class="k">def</span> <span class="nf">topk</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`topk`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`topk`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">topk</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <span class="k">def</span> <span class="nf">argsort</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`argsort`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`argsort`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">argsort</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">argmax</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`argmax`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`argmax`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">argmax</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">argmax_channel</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`argmax_channel`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`argmax_channel`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">argmax_channel</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">argmin</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`argmin`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`argmin`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">argmin</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">clip</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`clip`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`clip`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">clip</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">abs</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`abs`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`abs`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">abs</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">sign</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`sign`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`sign`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">sign</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">flatten</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span> |
| <span class="sd">"""Flatten this array without altering any data.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> inplace : bool, default False</span> |
| <span class="sd"> If True, this method returns a **view** of this array</span> |
| <span class="sd"> that shares data with this array. Otherwise, a copy is returned.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> An array with flattened shape `(d1, d2*...*dk)` that shares data with</span> |
| <span class="sd"> this array with shape `(d1, d2, ..., dk)`.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.arange(30).reshape(5,2,3)</span> |
| <span class="sd"> >>> y = x.flatten(inplace=True)</span> |
| <span class="sd"> >>> z = x.flatten()</span> |
| <span class="sd"> >>> y.shape</span> |
| <span class="sd"> (5, 6)</span> |
| <span class="sd"> >>> y[0].asnumpy()</span> |
| <span class="sd"> array([0., 1., 2., 3., 4., 5.], dtype=float32)</span> |
| <span class="sd"> >>> y[:] = -1</span> |
| <span class="sd"> >>> x[0].asnumpy()</span> |
| <span class="sd"> array([[-1., -1., -1.],</span> |
| <span class="sd"> [-1., -1., -1.]], dtype=float32)</span> |
| <span class="sd"> >>> z[0].asnumpy()</span> |
| <span class="sd"> array([0., 1., 2., 3., 4., 5.], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">flatten</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">inplace</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">reshape</span><span class="p">((</span><span class="mi">0</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">))</span> |
| |
| <div class="viewcode-block" id="NDArray.shape_array"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.shape_array.html#mxnet.ndarray.NDArray.shape_array">[docs]</a> <span class="k">def</span> <span class="nf">shape_array</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`shape_array`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`shape_array`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">shape_array</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <span class="k">def</span> <span class="nf">size_array</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`size_array`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`size_array`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">size_array</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">expand_dims</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">axis</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span> |
| <span class="sd">"""Adds an additional dimension to the current array without altering any data.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> axis : int</span> |
| <span class="sd"> Position where new axis is to be inserted.</span> |
| <span class="sd"> Suppose that the input NDArray's dimension is ndim,</span> |
| <span class="sd"> the range of the inserted axis is [-ndim, ndim].</span> |
| <span class="sd"> inplace : bool, default False</span> |
| <span class="sd"> If True, this method returns a **view** of this array</span> |
| <span class="sd"> that shares data with this array. Otherwise, a copy is returned.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> An array with expanded shape `(d1, d2, ..., 1, di, ..., dk)`</span> |
| <span class="sd"> that shares data with this array with shape `(d1, d2, ..., dk)`,</span> |
| <span class="sd"> given input axis `i`.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.arange(6).reshape(2,3)</span> |
| <span class="sd"> >>> y = x.expand_dims(1, inplace=True)</span> |
| <span class="sd"> >>> z = x.expand_dims(1)</span> |
| <span class="sd"> >>> y.shape</span> |
| <span class="sd"> (2, 1, 3)</span> |
| <span class="sd"> >>> y[0].asnumpy()</span> |
| <span class="sd"> array([[0., 1., 2.]], dtype=float32)</span> |
| <span class="sd"> >>> y[:] = -1</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[-1., -1., -1.],</span> |
| <span class="sd"> [-1., -1., -1.]], dtype=float32)</span> |
| <span class="sd"> >>> z[0].asnumpy()</span> |
| <span class="sd"> array([[0., 1., 2.]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="k">if</span> <span class="ow">not</span> <span class="n">inplace</span><span class="p">:</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">expand_dims</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="n">axis</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">new_shape</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span> |
| <span class="k">assert</span> <span class="o">-</span><span class="nb">len</span><span class="p">(</span><span class="n">new_shape</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span> <span class="o"><=</span> <span class="n">axis</span> <span class="o"><=</span> <span class="nb">len</span><span class="p">(</span><span class="n">new_shape</span><span class="p">),</span> \ |
| <span class="s2">"axis </span><span class="si">{}</span><span class="s2"> is out of range for </span><span class="si">{}</span><span class="s2">d array"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">axis</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">new_shape</span><span class="p">))</span> |
| <span class="k">if</span> <span class="n">axis</span> <span class="o"><</span> <span class="mi">0</span><span class="p">:</span> |
| <span class="n">axis</span> <span class="o">+=</span> <span class="nb">len</span><span class="p">(</span><span class="n">new_shape</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span> |
| <span class="n">new_shape</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">axis</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> |
| <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">new_shape</span><span class="p">)</span> |
| |
| <div class="viewcode-block" id="NDArray.tile"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.tile.html#mxnet.ndarray.NDArray.tile">[docs]</a> <span class="k">def</span> <span class="nf">tile</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`tile`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`tile`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">tile</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <div class="viewcode-block" id="NDArray.transpose"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.transpose.html#mxnet.ndarray.NDArray.transpose">[docs]</a> <span class="k">def</span> <span class="nf">transpose</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`transpose`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`transpose`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">transpose</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <span class="k">def</span> <span class="nf">flip</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`flip`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`flip`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">flip</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">depth_to_space</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`depth_to_space`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`depth_to_space`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">depth_to_space</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">space_to_depth</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`space_to_depth`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`space_to_depth`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">space_to_depth</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">diag</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">k</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`diag`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`diag`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">diag</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">sum</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`sum`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`sum`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">nansum</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`nansum`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`nansum`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">nansum</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <div class="viewcode-block" id="NDArray.prod"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.prod.html#mxnet.ndarray.NDArray.prod">[docs]</a> <span class="k">def</span> <span class="nf">prod</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`prod`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`prod`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">prod</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <span class="k">def</span> <span class="nf">nanprod</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`nanprod`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`nanprod`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">nanprod</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">mean</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`mean`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`mean`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">max</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`max`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`max`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">min</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`min`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`min`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <div class="viewcode-block" id="NDArray.norm"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.norm.html#mxnet.ndarray.NDArray.norm">[docs]</a> <span class="k">def</span> <span class="nf">norm</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`norm`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`norm`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">norm</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <div class="viewcode-block" id="NDArray.round"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.round.html#mxnet.ndarray.NDArray.round">[docs]</a> <span class="k">def</span> <span class="nf">round</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`round`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`round`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">round</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <div class="viewcode-block" id="NDArray.rint"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.rint.html#mxnet.ndarray.NDArray.rint">[docs]</a> <span class="k">def</span> <span class="nf">rint</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`rint`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`rint`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">rint</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <span class="k">def</span> <span class="nf">fix</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`fix`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`fix`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">fix</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">floor</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`floor`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`floor`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">floor</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">ceil</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`ceil`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`ceil`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">ceil</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <div class="viewcode-block" id="NDArray.trunc"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.trunc.html#mxnet.ndarray.NDArray.trunc">[docs]</a> <span class="k">def</span> <span class="nf">trunc</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`trunc`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`trunc`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">trunc</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <span class="k">def</span> <span class="nf">sin</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`sin`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`sin`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">cos</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`cos`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`cos`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">tan</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`tan`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`tan`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">tan</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">arcsin</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`arcsin`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`arcsin`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">arcsin</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">arccos</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`arccos`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`arccos`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">arccos</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">arctan</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`arctan`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`arctan`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">arctan</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">degrees</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`degrees`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`degrees`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">degrees</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <div class="viewcode-block" id="NDArray.radians"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.radians.html#mxnet.ndarray.NDArray.radians">[docs]</a> <span class="k">def</span> <span class="nf">radians</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`radians`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`radians`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">radians</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <span class="k">def</span> <span class="nf">sinh</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`sinh`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`sinh`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">sinh</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">cosh</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`cosh`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`cosh`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">cosh</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <div class="viewcode-block" id="NDArray.tanh"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.tanh.html#mxnet.ndarray.NDArray.tanh">[docs]</a> <span class="k">def</span> <span class="nf">tanh</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`tanh`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`tanh`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">tanh</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <span class="k">def</span> <span class="nf">arcsinh</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`arcsinh`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`arcsinh`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">arcsinh</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">arccosh</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`arccosh`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`arccosh`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">arccosh</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">arctanh</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`arctanh`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`arctanh`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">arctanh</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">exp</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`exp`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`exp`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">exp</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">expm1</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`expm1`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`expm1`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">expm1</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">log</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`log`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`log`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">log10</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`log10`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`log10`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">log10</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">log2</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`log2`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`log2`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">log2</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">log1p</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`log1p`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`log1p`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">log1p</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">sqrt</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`sqrt`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`sqrt`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <div class="viewcode-block" id="NDArray.rsqrt"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.rsqrt.html#mxnet.ndarray.NDArray.rsqrt">[docs]</a> <span class="k">def</span> <span class="nf">rsqrt</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`rsqrt`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`rsqrt`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">rsqrt</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <span class="k">def</span> <span class="nf">cbrt</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`cbrt`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`cbrt`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">cbrt</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <div class="viewcode-block" id="NDArray.rcbrt"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.rcbrt.html#mxnet.ndarray.NDArray.rcbrt">[docs]</a> <span class="k">def</span> <span class="nf">rcbrt</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`rcbrt`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`rcbrt`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">rcbrt</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <span class="k">def</span> <span class="nf">square</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`square`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`square`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">square</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <div class="viewcode-block" id="NDArray.reciprocal"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.reciprocal.html#mxnet.ndarray.NDArray.reciprocal">[docs]</a> <span class="k">def</span> <span class="nf">reciprocal</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`reciprocal`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`reciprocal`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">reciprocal</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <div class="viewcode-block" id="NDArray.relu"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.relu.html#mxnet.ndarray.NDArray.relu">[docs]</a> <span class="k">def</span> <span class="nf">relu</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`relu`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`relu`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">relu</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <div class="viewcode-block" id="NDArray.sigmoid"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.sigmoid.html#mxnet.ndarray.NDArray.sigmoid">[docs]</a> <span class="k">def</span> <span class="nf">sigmoid</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`sigmoid`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`sigmoid`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">sigmoid</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></div> |
| |
| <span class="k">def</span> <span class="nf">softmax</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`softmax`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`softmax`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">softmax</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">log_softmax</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`log_softmax`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`log_softmax`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">log_softmax</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">softmin</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Convenience fluent method for :py:func:`softmin`.</span> |
| |
| <span class="sd"> The arguments are the same as for :py:func:`softmin`, with</span> |
| <span class="sd"> this array as data.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">softmin</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">squeeze</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">inplace</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span> |
| <span class="sd">"""Remove dimensions with size 1 from this array without altering any data.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> axis : int, tuple of int, or None</span> |
| <span class="sd"> Selects a subset of the single-dimensional entries in the shape.</span> |
| <span class="sd"> If an axis is selected with shape entry greater than one, an error is raised.</span> |
| <span class="sd"> inplace : bool, default False</span> |
| <span class="sd"> If True, this method returns a **view** of this array</span> |
| <span class="sd"> that shares data with this array. Otherwise, a copy is returned.</span> |
| <span class="sd"> """</span> |
| <span class="k">if</span> <span class="ow">not</span> <span class="n">inplace</span><span class="p">:</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">squeeze</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="n">axis</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">new_shape</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span> |
| <span class="n">axes</span> <span class="o">=</span> <span class="n">axis</span> <span class="c1"># rename variable for readability</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">axes</span><span class="p">,</span> <span class="nb">int</span><span class="p">):</span> |
| <span class="n">axes</span> <span class="o">=</span> <span class="p">[</span><span class="n">axes</span><span class="p">]</span> |
| <span class="k">if</span> <span class="n">axes</span><span class="p">:</span> |
| <span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">axes</span><span class="p">)</span> <span class="o">==</span> <span class="nb">len</span><span class="p">(</span><span class="nb">set</span><span class="p">(</span><span class="n">axes</span><span class="p">)),</span> \ |
| <span class="s2">"axis </span><span class="si">{}</span><span class="s2"> contains duplicate which is not allowed."</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">axes</span><span class="p">)</span> |
| <span class="n">resolved_axes</span> <span class="o">=</span> <span class="p">[</span><span class="n">i</span> <span class="k">if</span> <span class="n">i</span> <span class="o">>=</span> <span class="mi">0</span> <span class="k">else</span> <span class="n">i</span><span class="o">+</span><span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">axes</span><span class="p">]</span> |
| <span class="k">for</span> <span class="n">arg_axis</span><span class="p">,</span> <span class="n">actual_axis</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">axes</span><span class="p">,</span> <span class="n">resolved_axes</span><span class="p">):</span> |
| <span class="k">assert</span> <span class="o">-</span><span class="nb">len</span><span class="p">(</span><span class="n">new_shape</span><span class="p">)</span> <span class="o"><=</span> <span class="n">arg_axis</span> <span class="o"><</span> <span class="nb">len</span><span class="p">(</span><span class="n">new_shape</span><span class="p">),</span> \ |
| <span class="s2">"axis </span><span class="si">{}</span><span class="s2"> is out of range for </span><span class="si">{}</span><span class="s2">d array"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">arg_axis</span><span class="p">,</span> <span class="nb">len</span><span class="p">(</span><span class="n">new_shape</span><span class="p">))</span> |
| <span class="n">axis_size</span> <span class="o">=</span> <span class="n">new_shape</span><span class="p">[</span><span class="n">actual_axis</span><span class="p">]</span> |
| <span class="k">assert</span> <span class="n">axis_size</span> <span class="o">==</span> <span class="mi">1</span><span class="p">,</span> \ |
| <span class="s2">"Squeeze target axis </span><span class="si">{}</span><span class="s2"> must be size 1, got </span><span class="si">{}</span><span class="s2">."</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">arg_axis</span><span class="p">,</span> <span class="n">axis_size</span><span class="p">)</span> |
| <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">resolved_axes</span><span class="p">,</span> <span class="n">reverse</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span> |
| <span class="k">del</span> <span class="n">new_shape</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">reversed</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">new_shape</span><span class="p">))):</span> |
| <span class="k">if</span> <span class="n">new_shape</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span> |
| <span class="k">del</span> <span class="n">new_shape</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> |
| <span class="k">if</span> <span class="ow">not</span> <span class="n">new_shape</span><span class="p">:</span> |
| <span class="n">new_shape</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> |
| |
| <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">new_shape</span><span class="p">)</span> |
| |
| <span class="c1"># pylint: disable= undefined-variable</span> |
| <span class="k">def</span> <span class="nf">broadcast_to</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">shape</span><span class="p">):</span> |
| <span class="sd">"""Broadcasts the input array to a new shape.</span> |
| |
| <span class="sd"> Broadcasting is only allowed on axes with size 1. The new shape cannot change</span> |
| <span class="sd"> the number of dimensions.</span> |
| <span class="sd"> For example, you could broadcast from shape (2, 1) to (2, 3), but not from</span> |
| <span class="sd"> shape (2, 3) to (2, 3, 3).</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> shape : tuple of int</span> |
| <span class="sd"> The shape of the desired array.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> A NDArray with the desired shape that is not sharing data with this</span> |
| <span class="sd"> array, even if the new shape is the same as ``self.shape``.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.arange(0,3).reshape((1,3,1))</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[[ 0.],</span> |
| <span class="sd"> [ 1.],</span> |
| <span class="sd"> [ 2.]]], dtype=float32)</span> |
| <span class="sd"> >>> y = x.broadcast_to((2,3,3))</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[[ 0., 0., 0.],</span> |
| <span class="sd"> [ 1., 1., 1.],</span> |
| <span class="sd"> [ 2., 2., 2.]],</span> |
| <span class="sd"> <BLANKLINE></span> |
| <span class="sd"> [[ 0., 0., 0.],</span> |
| <span class="sd"> [ 1., 1., 1.],</span> |
| <span class="sd"> [ 2., 2., 2.]]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="n">cur_shape</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span> |
| <span class="n">err_str</span> <span class="o">=</span> <span class="s1">'operands could not be broadcast together with remapped shapes'</span> \ |
| <span class="s1">'[original->remapped]: </span><span class="si">{}</span><span class="s1"> and requested shape </span><span class="si">{}</span><span class="s1">'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">cur_shape</span><span class="p">,</span> <span class="n">shape</span><span class="p">)</span> |
| <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">shape</span><span class="p">)</span> <span class="o"><</span> <span class="nb">len</span><span class="p">(</span><span class="n">cur_shape</span><span class="p">):</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="n">err_str</span><span class="p">)</span> |
| <span class="n">cur_shape</span> <span class="o">=</span> <span class="p">(</span><span class="mi">1</span><span class="p">,)</span> <span class="o">*</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">shape</span><span class="p">)</span> <span class="o">-</span> <span class="nb">len</span><span class="p">(</span><span class="n">cur_shape</span><span class="p">))</span> <span class="o">+</span> <span class="n">cur_shape</span> |
| <span class="n">cur_shape_arr</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">cur_shape</span><span class="p">)</span> |
| <span class="n">broadcasting_axes</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">nonzero</span><span class="p">(</span><span class="n">cur_shape_arr</span> <span class="o">!=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">shape</span><span class="p">))</span> |
| <span class="k">if</span> <span class="p">(</span><span class="n">cur_shape_arr</span><span class="p">[</span><span class="n">broadcasting_axes</span><span class="p">]</span> <span class="o">!=</span> <span class="mi">1</span><span class="p">)</span><span class="o">.</span><span class="n">any</span><span class="p">():</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="n">err_str</span><span class="p">)</span> |
| <span class="k">if</span> <span class="n">cur_shape</span> <span class="o">!=</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">:</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">broadcast_to</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">reshape</span><span class="p">(</span><span class="n">cur_shape</span><span class="p">),</span> <span class="n">shape</span><span class="o">=</span><span class="n">shape</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">broadcast_to</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">shape</span><span class="o">=</span><span class="nb">tuple</span><span class="p">(</span><span class="n">shape</span><span class="p">))</span> |
| <span class="c1"># pylint: enable= undefined-variable</span> |
| |
| <span class="k">def</span> <span class="nf">broadcast_like</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""Broadcasts the input array to the shape of other.</span> |
| |
| <span class="sd"> Broadcasting is only allowed on axes with size 1. The new shape cannot change</span> |
| <span class="sd"> the number of dimensions.</span> |
| <span class="sd"> For example, you could broadcast from shape (2, 1) to (2, 3), but not from</span> |
| <span class="sd"> shape (2, 3) to (2, 3, 3).</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> other : NDArray</span> |
| <span class="sd"> Array with shape of the desired array.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> A NDArray with the desired shape that is not sharing data with this</span> |
| <span class="sd"> array, even if the new shape is the same as ``self.shape``.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.arange(0,3).reshape((1,3,1))</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[[ 0.],</span> |
| <span class="sd"> [ 1.],</span> |
| <span class="sd"> [ 2.]]], dtype=float32)</span> |
| <span class="sd"> >>> y = x.broadcast_like(mx.nd.ones((2,3,3)))</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[[ 0., 0., 0.],</span> |
| <span class="sd"> [ 1., 1., 1.],</span> |
| <span class="sd"> [ 2., 2., 2.]],</span> |
| <span class="sd"> <BLANKLINE></span> |
| <span class="sd"> [[ 0., 0., 0.],</span> |
| <span class="sd"> [ 1., 1., 1.],</span> |
| <span class="sd"> [ 2., 2., 2.]]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">broadcast_to</span><span class="p">(</span><span class="n">other</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span> |
| |
| <div class="viewcode-block" id="NDArray.wait_to_read"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.wait_to_read.html#mxnet.ndarray.NDArray.wait_to_read">[docs]</a> <span class="k">def</span> <span class="nf">wait_to_read</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""Waits until all previous write operations on the current array are finished.</span> |
| |
| <span class="sd"> This method guarantees that all previous write operations that pushed</span> |
| <span class="sd"> into the backend engine for execution are actually finished.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> import time</span> |
| <span class="sd"> >>> tic = time.time()</span> |
| <span class="sd"> >>> a = mx.nd.ones((1000,1000))</span> |
| <span class="sd"> >>> b = mx.nd.dot(a, a)</span> |
| <span class="sd"> >>> print(time.time() - tic) # doctest: +SKIP</span> |
| <span class="sd"> 0.003854036331176758</span> |
| <span class="sd"> >>> b.wait_to_read()</span> |
| <span class="sd"> >>> print(time.time() - tic) # doctest: +SKIP</span> |
| <span class="sd"> 0.0893700122833252</span> |
| <span class="sd"> """</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayWaitToRead</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">))</span></div> |
| |
| <span class="nd">@property</span> |
| <span class="k">def</span> <span class="nf">ndim</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""Returns the number of dimensions of this array</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.array([1, 2, 3, 4])</span> |
| <span class="sd"> >>> x.ndim</span> |
| <span class="sd"> 1</span> |
| <span class="sd"> >>> x = mx.nd.array([[1, 2], [3, 4]])</span> |
| <span class="sd"> >>> x.ndim</span> |
| <span class="sd"> 2</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span> |
| |
| <span class="nd">@property</span> |
| <span class="k">def</span> <span class="nf">shape</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""Tuple of array dimensions.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.array([1, 2, 3, 4])</span> |
| <span class="sd"> >>> x.shape</span> |
| <span class="sd"> (4L,)</span> |
| <span class="sd"> >>> y = mx.nd.zeros((2, 3, 4))</span> |
| <span class="sd"> >>> y.shape</span> |
| <span class="sd"> (2L, 3L, 4L)</span> |
| <span class="sd"> """</span> |
| <span class="n">ndim</span> <span class="o">=</span> <span class="n">mx_int</span><span class="p">()</span> |
| <span class="k">if</span> <span class="n">_int64_enabled</span><span class="p">():</span> |
| <span class="n">pdata</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">POINTER</span><span class="p">(</span><span class="n">mx_int64</span><span class="p">)()</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayGetShapeEx64</span><span class="p">(</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">ndim</span><span class="p">),</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">pdata</span><span class="p">)))</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">pdata</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">POINTER</span><span class="p">(</span><span class="n">mx_int</span><span class="p">)()</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayGetShapeEx</span><span class="p">(</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">ndim</span><span class="p">),</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">pdata</span><span class="p">)))</span> |
| <span class="k">if</span> <span class="n">ndim</span><span class="o">.</span><span class="n">value</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">:</span> |
| <span class="k">return</span> <span class="kc">None</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">return</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">pdata</span><span class="p">[:</span><span class="n">ndim</span><span class="o">.</span><span class="n">value</span><span class="p">])</span> <span class="c1"># pylint: disable=invalid-slice-index</span> |
| |
| |
| <span class="nd">@property</span> |
| <span class="k">def</span> <span class="nf">size</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""Number of elements in the array.</span> |
| |
| <span class="sd"> Equivalent to the product of the array's dimensions.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> import numpy as np</span> |
| <span class="sd"> >>> x = mx.nd.zeros((3, 5, 2))</span> |
| <span class="sd"> >>> x.size</span> |
| <span class="sd"> 30</span> |
| <span class="sd"> >>> np.prod(x.shape)</span> |
| <span class="sd"> 30</span> |
| <span class="sd"> """</span> |
| <span class="n">size</span> <span class="o">=</span> <span class="mi">1</span> |
| <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">:</span> |
| <span class="n">size</span> <span class="o">*=</span> <span class="n">i</span> |
| <span class="k">return</span> <span class="n">size</span> |
| |
| <span class="nd">@property</span> |
| <span class="k">def</span> <span class="nf">context</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""Device context of the array.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.array([1, 2, 3, 4])</span> |
| <span class="sd"> >>> x.context</span> |
| <span class="sd"> cpu(0)</span> |
| <span class="sd"> >>> type(x.context)</span> |
| <span class="sd"> <class 'mxnet.context.Context'></span> |
| <span class="sd"> >>> y = mx.nd.zeros((2,3), mx.gpu(0))</span> |
| <span class="sd"> >>> y.context</span> |
| <span class="sd"> gpu(0)</span> |
| <span class="sd"> """</span> |
| <span class="n">dev_typeid</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">()</span> |
| <span class="n">dev_id</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">()</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayGetContext</span><span class="p">(</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">dev_typeid</span><span class="p">),</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">dev_id</span><span class="p">)))</span> |
| <span class="k">return</span> <span class="n">Context</span><span class="p">(</span><span class="n">Context</span><span class="o">.</span><span class="n">devtype2str</span><span class="p">[</span><span class="n">dev_typeid</span><span class="o">.</span><span class="n">value</span><span class="p">],</span> <span class="n">dev_id</span><span class="o">.</span><span class="n">value</span><span class="p">)</span> |
| |
| <span class="nd">@property</span> |
| <span class="k">def</span> <span class="nf">dtype</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""Data-type of the array's elements.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> numpy.dtype</span> |
| <span class="sd"> This NDArray's data type.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.zeros((2,3))</span> |
| <span class="sd"> >>> x.dtype</span> |
| <span class="sd"> <type 'numpy.float32'></span> |
| <span class="sd"> >>> y = mx.nd.zeros((2,3), dtype='int32')</span> |
| <span class="sd"> >>> y.dtype</span> |
| <span class="sd"> <type 'numpy.int32'></span> |
| <span class="sd"> """</span> |
| <span class="n">mx_dtype</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">()</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayGetDType</span><span class="p">(</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">mx_dtype</span><span class="p">)))</span> |
| <span class="k">return</span> <span class="n">_DTYPE_MX_TO_NP</span><span class="p">[</span><span class="n">mx_dtype</span><span class="o">.</span><span class="n">value</span><span class="p">]</span> |
| |
| <span class="nd">@property</span> |
| <span class="k">def</span> <span class="nf">stype</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""Storage-type of the array.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">_STORAGE_TYPE_ID_TO_STR</span><span class="p">[</span><span class="n">_storage_type</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">)]</span> |
| |
| <span class="nd">@property</span> |
| <span class="c1"># pylint: disable= invalid-name, undefined-variable</span> |
| <span class="k">def</span> <span class="nf">T</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""Returns a copy of the array with axes transposed.</span> |
| |
| <span class="sd"> Equivalent to ``mx.nd.transpose(self)`` except that</span> |
| <span class="sd"> self is returned if ``self.ndim < 2``.</span> |
| |
| <span class="sd"> Unlike ``numpy.ndarray.T``, this function returns a copy</span> |
| <span class="sd"> rather than a view of the array unless ``self.ndim < 2``.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.arange(0,6).reshape((2,3))</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 0., 1., 2.],</span> |
| <span class="sd"> [ 3., 4., 5.]], dtype=float32)</span> |
| <span class="sd"> >>> x.T.asnumpy()</span> |
| <span class="sd"> array([[ 0., 3.],</span> |
| <span class="sd"> [ 1., 4.],</span> |
| <span class="sd"> [ 2., 5.]], dtype=float32)</span> |
| |
| <span class="sd"> """</span> |
| <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span> <span class="o"><</span> <span class="mi">2</span><span class="p">:</span> |
| <span class="k">return</span> <span class="bp">self</span> |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">transpose</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= invalid-name, undefined-variable</span> |
| |
| <span class="nd">@property</span> |
| <span class="k">def</span> <span class="nf">_fresh_grad</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""Whether this array's corresponding gradient array</span> |
| <span class="sd"> (registered via `autograd.mark_variables`) has been</span> |
| <span class="sd"> updated by `autograd.backward` since last reset.</span> |
| |
| <span class="sd"> `_fresh_grad` need to be manually set to False</span> |
| <span class="sd"> after consuming gradient (usually after updating this</span> |
| <span class="sd"> array).</span> |
| <span class="sd"> """</span> |
| <span class="n">out</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">()</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayGetGradState</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">out</span><span class="p">)))</span> |
| <span class="k">return</span> <span class="n">out</span><span class="o">.</span><span class="n">value</span> |
| |
| <span class="nd">@_fresh_grad</span><span class="o">.</span><span class="n">setter</span> |
| <span class="k">def</span> <span class="nf">_fresh_grad</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">state</span><span class="p">):</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArraySetGradState</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">(</span><span class="n">state</span><span class="p">)))</span> |
| |
| <span class="k">def</span> <span class="nf">asnumpy</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""Returns a ``numpy.ndarray`` object with value copied from this array.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> y = x.asnumpy()</span> |
| <span class="sd"> >>> type(y)</span> |
| <span class="sd"> <type 'numpy.ndarray'></span> |
| <span class="sd"> >>> y</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> z = mx.nd.ones((2,3), dtype='int32')</span> |
| <span class="sd"> >>> z.asnumpy()</span> |
| <span class="sd"> array([[1, 1, 1],</span> |
| <span class="sd"> [1, 1, 1]], dtype=int32)</span> |
| <span class="sd"> """</span> |
| <span class="n">data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">empty</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dtype</span><span class="p">)</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArraySyncCopyToCPU</span><span class="p">(</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> |
| <span class="n">data</span><span class="o">.</span><span class="n">ctypes</span><span class="o">.</span><span class="n">data_as</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_size_t</span><span class="p">(</span><span class="n">data</span><span class="o">.</span><span class="n">size</span><span class="p">)))</span> |
| <span class="k">return</span> <span class="n">data</span> |
| |
| <span class="k">def</span> <span class="nf">asscalar</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""Returns a scalar whose value is copied from this array.</span> |
| |
| <span class="sd"> This function is equivalent to ``self.asnumpy()[0]``. This NDArray must have shape (1,).</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((1,), dtype='int32')</span> |
| <span class="sd"> >>> x.asscalar()</span> |
| <span class="sd"> 1</span> |
| <span class="sd"> >>> type(x.asscalar())</span> |
| <span class="sd"> <type 'numpy.int32'></span> |
| <span class="sd"> """</span> |
| <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">shape</span> <span class="o">!=</span> <span class="p">(</span><span class="mi">1</span><span class="p">,):</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"The current array is not a scalar"</span><span class="p">)</span> |
| <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">asnumpy</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span> |
| |
| <span class="k">def</span> <span class="nf">astype</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dtype</span><span class="p">,</span> <span class="n">copy</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span> |
| <span class="sd">"""Returns a copy of the array after casting to a specified type.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> dtype : numpy.dtype or str</span> |
| <span class="sd"> The type of the returned array.</span> |
| <span class="sd"> copy : bool</span> |
| <span class="sd"> Default `True`. By default, astype always returns a newly</span> |
| <span class="sd"> allocated ndarray on the same context. If this is set to</span> |
| <span class="sd"> `False`, and the dtype requested is the same as the ndarray's</span> |
| <span class="sd"> dtype, the ndarray is returned instead of a copy.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray, CSRNDArray or RowSparseNDArray</span> |
| <span class="sd"> The copied array after casting to the specified type, or</span> |
| <span class="sd"> the same array if copy=False and dtype is the same as the input</span> |
| <span class="sd"> array.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.zeros((2,3), dtype='float32')</span> |
| <span class="sd"> >>> y = x.astype('int32')</span> |
| <span class="sd"> >>> y.dtype</span> |
| <span class="sd"> <type 'numpy.int32'></span> |
| <span class="sd"> """</span> |
| |
| <span class="k">if</span> <span class="ow">not</span> <span class="n">copy</span> <span class="ow">and</span> <span class="n">np</span><span class="o">.</span><span class="n">dtype</span><span class="p">(</span><span class="n">dtype</span><span class="p">)</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">dtype</span><span class="p">:</span> |
| <span class="k">return</span> <span class="bp">self</span> |
| |
| <span class="n">res</span> <span class="o">=</span> <span class="n">empty</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">ctx</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">context</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">dtype</span><span class="p">)</span> |
| <span class="bp">self</span><span class="o">.</span><span class="n">copyto</span><span class="p">(</span><span class="n">res</span><span class="p">)</span> |
| <span class="k">return</span> <span class="n">res</span> |
| |
| <span class="k">def</span> <span class="nf">copyto</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">):</span> |
| <span class="sd">"""Copies the value of this array to another array.</span> |
| |
| <span class="sd"> If ``other`` is a ``NDArray`` object, then ``other.shape`` and</span> |
| <span class="sd"> ``self.shape`` should be the same. This function copies the value from</span> |
| <span class="sd"> ``self`` to ``other``.</span> |
| |
| <span class="sd"> If ``other`` is a context, a new ``NDArray`` will be first created on</span> |
| <span class="sd"> the target context, and the value of ``self`` is copied.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> other : NDArray or Context</span> |
| <span class="sd"> The destination array or context.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray, CSRNDArray or RowSparseNDArray</span> |
| <span class="sd"> The copied array. If ``other`` is an ``NDArray``, then the return value</span> |
| <span class="sd"> and ``other`` will point to the same ``NDArray``.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> y = mx.nd.zeros((2,3), mx.gpu(0))</span> |
| <span class="sd"> >>> z = x.copyto(y)</span> |
| <span class="sd"> >>> z is y</span> |
| <span class="sd"> True</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> y.copyto(mx.gpu(0))</span> |
| <span class="sd"> <NDArray 2x3 @gpu(0)></span> |
| |
| <span class="sd"> """</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">NDArray</span><span class="p">):</span> |
| <span class="k">if</span> <span class="n">other</span><span class="o">.</span><span class="n">handle</span> <span class="ow">is</span> <span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">:</span> |
| <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s1">'You are attempting to copy an array to itself'</span><span class="p">,</span> <span class="ne">RuntimeWarning</span><span class="p">)</span> |
| <span class="k">return</span> <span class="kc">False</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_copyto</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">out</span><span class="o">=</span><span class="n">other</span><span class="p">)</span> |
| <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">Context</span><span class="p">):</span> |
| <span class="n">hret</span> <span class="o">=</span> <span class="n">NDArray</span><span class="p">(</span><span class="n">_new_alloc_handle</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">other</span><span class="p">,</span> <span class="kc">True</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">dtype</span><span class="p">))</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_copyto</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">out</span><span class="o">=</span><span class="n">hret</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">'copyto does not support type '</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">other</span><span class="p">)))</span> |
| |
| <span class="k">def</span> <span class="nf">copy</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""Makes a copy of this ``NDArray``, keeping the same context.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray, CSRNDArray or RowSparseNDArray</span> |
| <span class="sd"> The copied array</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> y = x.copy()</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">copyto</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">context</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">slice_assign_scalar</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">begin</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">step</span><span class="p">):</span> |
| <span class="sd">"""</span> |
| <span class="sd"> Assign the scalar to a cropped subset of this NDArray. Value will broadcast to the shape of the cropped shape</span> |
| <span class="sd"> and will be cast to the same dtype of the NDArray.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> value: numeric value</span> |
| <span class="sd"> Value and this NDArray should be of the same data type.</span> |
| <span class="sd"> The shape of rhs should be the same as the cropped shape of this NDArray.</span> |
| <span class="sd"> begin: tuple of begin indices</span> |
| <span class="sd"> end: tuple of end indices</span> |
| <span class="sd"> step: tuple of step lenghths</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> This NDArray.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> from mxnet import nd</span> |
| <span class="sd"> >>> x = nd.ones((2, 2, 2))</span> |
| <span class="sd"> >>> y = x.slice_assign_scalar(0, (0, 0, None), (1, 1, None), (None, None, None))</span> |
| <span class="sd"> >>> y</span> |
| <span class="sd"> [[[0. 0.]</span> |
| <span class="sd"> [1. 1.]]</span> |
| |
| <span class="sd"> [[1. 1.]</span> |
| <span class="sd"> [1. 1.]]]</span> |
| <span class="sd"> <NDArray 2x2x2 @cpu(0)></span> |
| <span class="sd"> >>> x</span> |
| <span class="sd"> [[[0. 0.]</span> |
| <span class="sd"> [1. 1.]]</span> |
| |
| <span class="sd"> [[1. 1.]</span> |
| <span class="sd"> [1. 1.]]]</span> |
| <span class="sd"> <NDArray 2x2x2 @cpu(0)></span> |
| |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_slice_assign_scalar</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">begin</span><span class="o">=</span><span class="n">begin</span><span class="p">,</span> <span class="n">end</span><span class="o">=</span><span class="n">end</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="n">step</span><span class="p">,</span> <span class="n">out</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">slice_assign</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">rhs</span><span class="p">,</span> <span class="n">begin</span><span class="p">,</span> <span class="n">end</span><span class="p">,</span> <span class="n">step</span><span class="p">):</span> |
| <span class="sd">"""</span> |
| <span class="sd"> Assign the rhs to a cropped subset of this NDarray in place.</span> |
| <span class="sd"> Returns the view of this NDArray.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> rhs: NDArray.</span> |
| <span class="sd"> rhs and this NDArray should be of the same data type, and on the same device.</span> |
| <span class="sd"> The shape of rhs should be the same as the cropped shape of this NDArray.</span> |
| <span class="sd"> begin: tuple of begin indices</span> |
| <span class="sd"> end: tuple of end indices</span> |
| <span class="sd"> step: tuple of step lenghths</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> This NDArray.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = nd.ones((2, 2, 2))</span> |
| <span class="sd"> >>> assigned = nd.zeros((1, 1, 2))</span> |
| <span class="sd"> >>> y = x.slice_assign(assigned, (0, 0, None), (1, 1, None), (None, None, None))</span> |
| <span class="sd"> >>> y</span> |
| <span class="sd"> [[[0. 0.]</span> |
| <span class="sd"> [1. 1.]]</span> |
| |
| <span class="sd"> [[1. 1.]</span> |
| <span class="sd"> [1. 1.]]]</span> |
| <span class="sd"> <NDArray 2x2x2 @cpu(0)></span> |
| <span class="sd"> >>> x</span> |
| <span class="sd"> [[[0. 0.]</span> |
| <span class="sd"> [1. 1.]]</span> |
| |
| <span class="sd"> [[1. 1.]</span> |
| <span class="sd"> [1. 1.]]]</span> |
| <span class="sd"> <NDArray 2x2x2 @cpu(0)></span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_slice_assign</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">rhs</span><span class="p">,</span> <span class="n">begin</span><span class="o">=</span><span class="n">begin</span><span class="p">,</span> <span class="n">end</span><span class="o">=</span><span class="n">end</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="n">step</span><span class="p">,</span> <span class="n">out</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span> |
| |
| |
| <span class="k">def</span> <span class="nf">as_in_context</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">context</span><span class="p">):</span> |
| <span class="sd">"""Returns an array on the target device with the same value as this array.</span> |
| |
| <span class="sd"> If the target context is the same as ``self.context``, then ``self`` is</span> |
| <span class="sd"> returned. Otherwise, a copy is made.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> context : Context</span> |
| <span class="sd"> The target context.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray, CSRNDArray or RowSparseNDArray</span> |
| <span class="sd"> The target array.</span> |
| |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> y = x.as_in_context(mx.cpu())</span> |
| <span class="sd"> >>> y is x</span> |
| <span class="sd"> True</span> |
| <span class="sd"> >>> z = x.as_in_context(mx.gpu(0))</span> |
| <span class="sd"> >>> z is x</span> |
| <span class="sd"> False</span> |
| <span class="sd"> """</span> |
| <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">context</span> <span class="o">==</span> <span class="n">context</span><span class="p">:</span> |
| <span class="k">return</span> <span class="bp">self</span> |
| <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">copyto</span><span class="p">(</span><span class="n">context</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">attach_grad</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">grad_req</span><span class="o">=</span><span class="s1">'write'</span><span class="p">,</span> <span class="n">stype</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span> |
| <span class="sd">"""Attach a gradient buffer to this NDArray, so that `backward`</span> |
| <span class="sd"> can compute gradient with respect to it.</span> |
| |
| <span class="sd"> The gradient is initialized to zeros.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> grad_req : {'write', 'add', 'null'}</span> |
| <span class="sd"> How gradient will be accumulated.</span> |
| <span class="sd"> - 'write': gradient will be overwritten on every backward.</span> |
| <span class="sd"> - 'add': gradient will be added to existing value on every backward.</span> |
| <span class="sd"> - 'null': do not compute gradient for this NDArray.</span> |
| <span class="sd"> stype : str, optional</span> |
| <span class="sd"> The storage type of the gradient array. Defaults to the same stype of this NDArray.</span> |
| <span class="sd"> """</span> |
| <span class="kn">from</span> <span class="nn">.</span> <span class="k">import</span> <span class="n">zeros</span> <span class="k">as</span> <span class="n">_zeros</span> |
| <span class="k">if</span> <span class="n">stype</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="n">grad</span> <span class="o">=</span> <span class="n">_zeros</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">stype</span><span class="o">=</span><span class="n">stype</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">grad</span> <span class="o">=</span> <span class="n">op</span><span class="o">.</span><span class="n">zeros_like</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="c1"># pylint: disable=undefined-variable</span> |
| <span class="n">grad_req</span> <span class="o">=</span> <span class="n">_GRAD_REQ_MAP</span><span class="p">[</span><span class="n">grad_req</span><span class="p">]</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXAutogradMarkVariables</span><span class="p">(</span> |
| <span class="mi">1</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">pointer</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">pointer</span><span class="p">(</span><span class="n">mx_uint</span><span class="p">(</span><span class="n">grad_req</span><span class="p">)),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">pointer</span><span class="p">(</span><span class="n">grad</span><span class="o">.</span><span class="n">handle</span><span class="p">)))</span> |
| |
| <span class="nd">@property</span> |
| <span class="k">def</span> <span class="nf">grad</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""Returns gradient buffer attached to this NDArray."""</span> |
| <span class="kn">from</span> <span class="nn">.</span> <span class="k">import</span> <span class="n">_ndarray_cls</span> |
| <span class="n">hdl</span> <span class="o">=</span> <span class="n">NDArrayHandle</span><span class="p">()</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayGetGrad</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">hdl</span><span class="p">)))</span> |
| <span class="k">if</span> <span class="n">hdl</span><span class="o">.</span><span class="n">value</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="k">return</span> <span class="kc">None</span> |
| <span class="k">return</span> <span class="n">_ndarray_cls</span><span class="p">(</span><span class="n">hdl</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">detach</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""Returns a new NDArray, detached from the current graph."""</span> |
| <span class="kn">from</span> <span class="nn">.</span> <span class="k">import</span> <span class="n">_ndarray_cls</span> |
| <span class="n">hdl</span> <span class="o">=</span> <span class="n">NDArrayHandle</span><span class="p">()</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayDetach</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">hdl</span><span class="p">)))</span> |
| <span class="k">return</span> <span class="n">_ndarray_cls</span><span class="p">(</span><span class="n">hdl</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">backward</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">out_grad</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">retain_graph</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">train_mode</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span> |
| <span class="sd">"""Compute the gradients of this NDArray w.r.t variables.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> out_grad : NDArray, optional</span> |
| <span class="sd"> Gradient with respect to head.</span> |
| <span class="sd"> retain_graph : bool, optional</span> |
| <span class="sd"> Whether to retain the computaion graph for another backward</span> |
| <span class="sd"> pass on the same graph. By default the computaion history</span> |
| <span class="sd"> is cleared.</span> |
| <span class="sd"> train_mode : bool, optional</span> |
| <span class="sd"> Whether to compute gradient for training or inference.</span> |
| <span class="sd"> """</span> |
| <span class="k">if</span> <span class="n">out_grad</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="n">ograd_handles</span> <span class="o">=</span> <span class="p">[</span><span class="n">NDArrayHandle</span><span class="p">(</span><span class="mi">0</span><span class="p">)]</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">ograd_handles</span> <span class="o">=</span> <span class="p">[</span><span class="n">out_grad</span><span class="o">.</span><span class="n">handle</span><span class="p">]</span> |
| |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXAutogradBackwardEx</span><span class="p">(</span> |
| <span class="mi">1</span><span class="p">,</span> <span class="n">c_handle_array</span><span class="p">([</span><span class="bp">self</span><span class="p">]),</span> |
| <span class="n">c_array</span><span class="p">(</span><span class="n">NDArrayHandle</span><span class="p">,</span> <span class="n">ograd_handles</span><span class="p">),</span> |
| <span class="mi">0</span><span class="p">,</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">(</span><span class="mi">0</span><span class="p">),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">(</span><span class="n">retain_graph</span><span class="p">),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">(</span><span class="mi">0</span><span class="p">),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">(</span><span class="n">train_mode</span><span class="p">),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">(</span><span class="mi">0</span><span class="p">),</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">(</span><span class="mi">0</span><span class="p">)))</span> |
| |
| <div class="viewcode-block" id="NDArray.tostype"><a class="viewcode-back" href="../../../api/ndarray/_autogen/mxnet.ndarray.NDArray.tostype.html#mxnet.ndarray.NDArray.tostype">[docs]</a> <span class="k">def</span> <span class="nf">tostype</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">stype</span><span class="p">):</span> |
| <span class="sd">"""Return a copy of the array with chosen storage type.</span> |
| |
| <span class="sd"> See Also</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> :meth:`mxnet.ndarray.cast_storage`.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray, CSRNDArray or RowSparseNDArray</span> |
| <span class="sd"> A copy of the array with the chosen storage stype</span> |
| <span class="sd"> """</span> |
| <span class="k">if</span> <span class="n">stype</span> <span class="o">==</span> <span class="s1">'csr'</span> <span class="ow">and</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">2</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"To convert to a CSR, the NDArray should be 2 Dimensional. Current "</span> |
| <span class="s2">"shape is </span><span class="si">%s</span><span class="s2">"</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">))</span> |
| |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">cast_storage</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">stype</span><span class="o">=</span><span class="n">stype</span><span class="p">)</span></div> |
| |
| <span class="k">def</span> <span class="nf">to_dlpack_for_read</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""Returns a reference view of NDArray that represents as DLManagedTensor until</span> |
| <span class="sd"> all previous write operations on the current array are finished.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> PyCapsule (the pointer of DLManagedTensor)</span> |
| <span class="sd"> a reference view of NDArray that represents as DLManagedTensor.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> y = mx.nd.to_dlpack_for_read(x)</span> |
| <span class="sd"> >>> type(y)</span> |
| <span class="sd"> <class 'PyCapsule'></span> |
| <span class="sd"> >>> z = mx.nd.from_dlpack(y)</span> |
| <span class="sd"> >>> z</span> |
| <span class="sd"> [[1. 1. 1.]</span> |
| <span class="sd"> [1. 1. 1.]]</span> |
| <span class="sd"> <NDArray 2x3 @cpu(0)></span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">to_dlpack_for_read</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">to_dlpack_for_write</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> |
| <span class="sd">"""Returns a reference view of NDArray that represents as DLManagedTensor until</span> |
| <span class="sd"> all previous read/write operations on the current array are finished.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> PyCapsule (the pointer of DLManagedTensor)</span> |
| <span class="sd"> a reference view of NDArray that represents as DLManagedTensor.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> w = mx.nd.to_dlpack_for_write(x)</span> |
| <span class="sd"> >>> type(w)</span> |
| <span class="sd"> <class 'PyCapsule'></span> |
| <span class="sd"> >>> u = mx.nd.from_dlpack(w)</span> |
| <span class="sd"> >>> u += 1</span> |
| <span class="sd"> >>> x</span> |
| <span class="sd"> [[2. 2. 2.]</span> |
| <span class="sd"> [2. 2. 2.]]</span> |
| <span class="sd"> <NDArray 2x3 @cpu(0)></span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">to_dlpack_for_write</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">_full</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span> |
| <span class="sd">"""</span> |
| <span class="sd"> This is added as an NDArray class method in order to support polymorphism in NDArray and numpy.ndarray indexing</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_full</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="n">value</span><span class="p">,</span> <span class="n">ctx</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">context</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">dtype</span><span class="p">,</span> <span class="n">out</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">_scatter_set_nd</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value_nd</span><span class="p">,</span> <span class="n">indices</span><span class="p">):</span> |
| <span class="sd">"""</span> |
| <span class="sd"> This is added as an NDArray class method in order to support polymorphism in NDArray and numpy.ndarray indexing</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_scatter_set_nd</span><span class="p">(</span> |
| <span class="n">lhs</span><span class="o">=</span><span class="bp">self</span><span class="p">,</span> <span class="n">rhs</span><span class="o">=</span><span class="n">value_nd</span><span class="p">,</span> <span class="n">indices</span><span class="o">=</span><span class="n">indices</span><span class="p">,</span> <span class="n">shape</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">out</span><span class="o">=</span><span class="bp">self</span> |
| <span class="p">)</span> |
| |
| |
| <span class="k">def</span> <span class="nf">indexing_key_expand_implicit_axes</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="n">shape</span><span class="p">):</span> |
| <span class="sd">"""Make implicit axes explicit by adding ``slice(None)``.</span> |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> shape = (3, 4, 5)</span> |
| <span class="sd"> >>> indexing_key_expand_implicit_axes(np.s_[2, 1, 1], shape)</span> |
| <span class="sd"> (2, 1, 1)</span> |
| <span class="sd"> >>> indexing_key_expand_implicit_axes(np.s_[0], shape)</span> |
| <span class="sd"> (0, slice(None, None, None), slice(None, None, None))</span> |
| <span class="sd"> >>> indexing_key_expand_implicit_axes(np.s_[0, ...], shape) # equivalent</span> |
| <span class="sd"> (0, slice(None, None, None), slice(None, None, None))</span> |
| <span class="sd"> >>> indexing_key_expand_implicit_axes(np.s_[:2, None, 0, ...], shape)</span> |
| <span class="sd"> (slice(None, 2, None), None, 0, slice(None, None, None))</span> |
| <span class="sd"> """</span> |
| <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">):</span> |
| <span class="n">key</span> <span class="o">=</span> <span class="p">(</span><span class="n">key</span><span class="p">,)</span> |
| |
| <span class="c1"># We need to loop explicitly since tuple functions like `index()` or</span> |
| <span class="c1"># `count()` use `==` internally, which doesn't play well with fancy</span> |
| <span class="c1"># indexing.</span> |
| <span class="n">ell_idx</span> <span class="o">=</span> <span class="kc">None</span> |
| <span class="n">num_none</span> <span class="o">=</span> <span class="mi">0</span> |
| <span class="n">nonell_key</span> <span class="o">=</span> <span class="p">[]</span> |
| <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">idx</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">key</span><span class="p">):</span> |
| <span class="k">if</span> <span class="n">idx</span> <span class="ow">is</span> <span class="bp">Ellipsis</span><span class="p">:</span> |
| <span class="k">if</span> <span class="n">ell_idx</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">IndexError</span><span class="p">(</span> |
| <span class="s1">'Cannot use more than one ellipsis (`...`) for indexing'</span> |
| <span class="p">)</span> |
| <span class="n">ell_idx</span> <span class="o">=</span> <span class="n">i</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">if</span> <span class="n">idx</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="n">num_none</span> <span class="o">+=</span> <span class="mi">1</span> |
| <span class="n">nonell_key</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">idx</span><span class="p">)</span> |
| |
| <span class="n">nonell_key</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">nonell_key</span><span class="p">)</span> |
| |
| <span class="k">if</span> <span class="n">ell_idx</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="c1"># This handles the case of "too few" indices, e.g., `nd.zeros((2, 3))[0]`,</span> |
| <span class="c1"># where the ellipsis is implicitly after the last entry.</span> |
| <span class="n">ell_idx</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">nonell_key</span><span class="p">)</span> |
| |
| <span class="n">ell_ndim</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">shape</span><span class="p">)</span> <span class="o">+</span> <span class="n">num_none</span> <span class="o">-</span> <span class="nb">len</span><span class="p">(</span><span class="n">nonell_key</span><span class="p">)</span> |
| <span class="n">expanded_key</span> <span class="o">=</span> <span class="p">(</span><span class="n">nonell_key</span><span class="p">[:</span><span class="n">ell_idx</span><span class="p">]</span> <span class="o">+</span> |
| <span class="p">(</span><span class="nb">slice</span><span class="p">(</span><span class="kc">None</span><span class="p">),)</span> <span class="o">*</span> <span class="n">ell_ndim</span> <span class="o">+</span> |
| <span class="n">nonell_key</span><span class="p">[</span><span class="n">ell_idx</span><span class="p">:])</span> |
| |
| <span class="k">return</span> <span class="n">expanded_key</span> |
| |
| |
| <span class="k">def</span> <span class="nf">_int_to_slice</span><span class="p">(</span><span class="n">idx</span><span class="p">):</span> |
| <span class="sd">"""Return a slice that indexes the same entries as a single int."""</span> |
| <span class="k">if</span> <span class="n">idx</span> <span class="o">==</span> <span class="o">-</span><span class="mi">1</span><span class="p">:</span> |
| <span class="c1"># Avoid slice(-1, 0)</span> |
| <span class="k">return</span> <span class="nb">slice</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">return</span> <span class="nb">slice</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="n">idx</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> |
| |
| |
| <span class="k">def</span> <span class="nf">_shape_for_bcast</span><span class="p">(</span><span class="n">shape</span><span class="p">,</span> <span class="n">target_ndim</span><span class="p">,</span> <span class="n">new_axes</span><span class="p">):</span> |
| <span class="sd">"""Return shape with added axes for broadcasting in ``target_ndim`` dimensions.</span> |
| |
| <span class="sd"> If ``shape`` is shorter than ``target_ndim``, fixed ``1`` entries are inserted</span> |
| <span class="sd"> into the returned shape, in locations indexed by ``new_axes``. The rest is</span> |
| <span class="sd"> filled from the back with ``shape`` while possible.</span> |
| <span class="sd"> """</span> |
| <span class="n">new_shape</span> <span class="o">=</span> <span class="p">[</span><span class="kc">None</span><span class="p">]</span> <span class="o">*</span> <span class="n">target_ndim</span> |
| <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">shape</span><span class="p">)</span> <span class="o"><</span> <span class="n">target_ndim</span><span class="p">:</span> |
| <span class="k">for</span> <span class="n">new_ax</span> <span class="ow">in</span> <span class="n">new_axes</span><span class="p">:</span> |
| <span class="n">new_shape</span><span class="p">[</span><span class="n">new_ax</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span> |
| |
| <span class="c1"># Replace `None` from the right with `shape` entries from the right as</span> |
| <span class="c1"># long as possible, thereafter with 1.</span> |
| <span class="n">ax_s</span> <span class="o">=</span> <span class="mi">1</span> |
| <span class="k">for</span> <span class="n">ax</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">target_ndim</span> <span class="o">+</span> <span class="mi">1</span><span class="p">):</span> |
| <span class="k">if</span> <span class="n">new_shape</span><span class="p">[</span><span class="o">-</span><span class="n">ax</span><span class="p">]</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="k">try</span><span class="p">:</span> |
| <span class="n">new_shape</span><span class="p">[</span><span class="o">-</span><span class="n">ax</span><span class="p">]</span> <span class="o">=</span> <span class="n">shape</span><span class="p">[</span><span class="o">-</span><span class="n">ax_s</span><span class="p">]</span> |
| <span class="n">ax_s</span> <span class="o">+=</span> <span class="mi">1</span> |
| <span class="k">except</span> <span class="ne">IndexError</span><span class="p">:</span> |
| <span class="n">new_shape</span><span class="p">[</span><span class="o">-</span><span class="n">ax</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span> |
| |
| <span class="k">return</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">new_shape</span><span class="p">)</span> |
| |
| |
| <span class="k">def</span> <span class="nf">_is_advanced_index</span><span class="p">(</span><span class="n">idx</span><span class="p">):</span> |
| <span class="sd">"""Return whether ``idx`` is an advanced index (array-like or integer).</span> |
| |
| <span class="sd"> Note that in contrast to basic indexing, integers are considered advanced</span> |
| <span class="sd"> indices in the context of advanced indexing as they participate in</span> |
| <span class="sd"> broadcasting.</span> |
| <span class="sd"> """</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="p">(</span><span class="n">NDArray</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">,</span> <span class="n">integer_types</span><span class="p">,</span> <span class="nb">list</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">)):</span> |
| <span class="k">return</span> <span class="kc">True</span> |
| <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="n">py_slice</span><span class="p">)</span> <span class="ow">or</span> <span class="n">idx</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="k">return</span> <span class="kc">False</span> |
| <span class="k">elif</span> <span class="n">sys</span><span class="o">.</span><span class="n">version_info</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">></span> <span class="mi">2</span> <span class="ow">and</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="nb">range</span><span class="p">):</span> |
| <span class="k">return</span> <span class="kc">True</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s1">'illegal index type </span><span class="si">{}</span><span class="s1">'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">idx</span><span class="p">)))</span> |
| |
| |
| <span class="k">def</span> <span class="nf">get_indexing_dispatch_code</span><span class="p">(</span><span class="n">key</span><span class="p">):</span> |
| <span class="sd">"""Returns a dispatch code for calling basic or advanced indexing functions."""</span> |
| <span class="k">assert</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">key</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">)</span> |
| |
| <span class="k">for</span> <span class="n">idx</span> <span class="ow">in</span> <span class="n">key</span><span class="p">:</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="p">(</span><span class="n">NDArray</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">,</span> <span class="nb">list</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">)):</span> |
| <span class="k">return</span> <span class="n">_NDARRAY_ADVANCED_INDEXING</span> |
| <span class="k">elif</span> <span class="n">sys</span><span class="o">.</span><span class="n">version_info</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">></span> <span class="mi">2</span> <span class="ow">and</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="nb">range</span><span class="p">):</span> |
| <span class="k">return</span> <span class="n">_NDARRAY_ADVANCED_INDEXING</span> |
| <span class="k">elif</span> <span class="ow">not</span> <span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="p">(</span><span class="n">py_slice</span><span class="p">,</span> <span class="n">integer_types</span><span class="p">))</span> <span class="ow">or</span> <span class="n">idx</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">):</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span> |
| <span class="s1">'NDArray does not support slicing with key </span><span class="si">{}</span><span class="s1"> of type </span><span class="si">{}</span><span class="s1">.'</span> |
| <span class="s1">''</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">idx</span><span class="p">,</span> <span class="nb">type</span><span class="p">(</span><span class="n">idx</span><span class="p">))</span> |
| <span class="p">)</span> |
| |
| <span class="k">return</span> <span class="n">_NDARRAY_BASIC_INDEXING</span> |
| |
| |
| <span class="k">def</span> <span class="nf">_get_index_range</span><span class="p">(</span><span class="n">start</span><span class="p">,</span> <span class="n">stop</span><span class="p">,</span> <span class="n">length</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mi">1</span><span class="p">):</span> |
| <span class="sd">"""Given start, stop, step and array length, return</span> |
| <span class="sd"> absolute values of start, stop, and step for generating index range.</span> |
| <span class="sd"> The returned values have been compensated by adding length if they</span> |
| <span class="sd"> are less than zero for all the cases but slice(None, None, -1).</span> |
| <span class="sd"> Note that the returned value of stop is not necessarily >= 0, since</span> |
| <span class="sd"> absolute stop is -1 in the case of slice(None, None, -1)."""</span> |
| <span class="k">if</span> <span class="n">step</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'step size cannot be zero'</span><span class="p">)</span> |
| <span class="k">if</span> <span class="n">length</span> <span class="o"><</span> <span class="mi">0</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'array length cannot be less than zero'</span><span class="p">)</span> |
| <span class="k">if</span> <span class="n">step</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="n">step</span> <span class="o">=</span> <span class="mi">1</span> |
| <span class="k">if</span> <span class="n">start</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="k">if</span> <span class="n">step</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> |
| <span class="n">start</span> <span class="o">=</span> <span class="mi">0</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">start</span> <span class="o">=</span> <span class="n">length</span> <span class="o">-</span> <span class="mi">1</span> |
| <span class="k">elif</span> <span class="n">start</span> <span class="o"><</span> <span class="mi">0</span><span class="p">:</span> |
| <span class="n">start</span> <span class="o">+=</span> <span class="n">length</span> |
| <span class="k">if</span> <span class="n">start</span> <span class="o"><</span> <span class="mi">0</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">IndexError</span><span class="p">(</span><span class="s1">'Slicing start </span><span class="si">%d</span><span class="s1"> exceeds limit of </span><span class="si">%d</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">start</span><span class="o">-</span><span class="n">length</span><span class="p">,</span> <span class="n">length</span><span class="p">))</span> |
| <span class="k">elif</span> <span class="n">start</span> <span class="o">>=</span> <span class="n">length</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">IndexError</span><span class="p">(</span><span class="s1">'Slicing start </span><span class="si">%d</span><span class="s1"> exceeds limit of </span><span class="si">%d</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">start</span><span class="p">,</span> <span class="n">length</span><span class="p">))</span> |
| |
| <span class="k">if</span> <span class="n">stop</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="k">if</span> <span class="n">step</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> |
| <span class="n">stop</span> <span class="o">=</span> <span class="n">length</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="c1"># this supports case such as ::-1</span> |
| <span class="c1"># stop = -1 here refers to the element before index 0,</span> |
| <span class="c1"># instead of the last element in the array</span> |
| <span class="n">stop</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span> |
| <span class="k">elif</span> <span class="n">stop</span> <span class="o"><</span> <span class="mi">0</span><span class="p">:</span> |
| <span class="n">stop</span> <span class="o">+=</span> <span class="n">length</span> |
| <span class="k">if</span> <span class="n">stop</span> <span class="o"><</span> <span class="mi">0</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">IndexError</span><span class="p">(</span><span class="s1">'Slicing stop </span><span class="si">%d</span><span class="s1"> exceeds limit of </span><span class="si">%d</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">stop</span><span class="o">-</span><span class="n">length</span><span class="p">,</span> <span class="n">length</span><span class="p">))</span> |
| <span class="k">elif</span> <span class="n">stop</span> <span class="o">></span> <span class="n">length</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">IndexError</span><span class="p">(</span><span class="s1">'Slicing stop </span><span class="si">%d</span><span class="s1"> exceeds limit of </span><span class="si">%d</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">stop</span><span class="p">,</span> <span class="n">length</span><span class="p">))</span> |
| |
| <span class="k">return</span> <span class="n">start</span><span class="p">,</span> <span class="n">stop</span><span class="p">,</span> <span class="n">step</span> |
| |
| |
| <span class="k">def</span> <span class="nf">get_oshape_of_gather_nd_op</span><span class="p">(</span><span class="n">dshape</span><span class="p">,</span> <span class="n">ishape</span><span class="p">):</span> |
| <span class="sd">"""Given data and index shapes, get the output `NDArray` shape.</span> |
| <span class="sd"> This basically implements the infer shape logic of op gather_nd."""</span> |
| <span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">dshape</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span> <span class="ow">and</span> <span class="nb">len</span><span class="p">(</span><span class="n">ishape</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span> |
| <span class="n">oshape</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">ishape</span><span class="p">[</span><span class="mi">1</span><span class="p">:])</span> |
| <span class="k">if</span> <span class="n">ishape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o"><</span> <span class="nb">len</span><span class="p">(</span><span class="n">dshape</span><span class="p">):</span> |
| <span class="n">oshape</span><span class="o">.</span><span class="n">extend</span><span class="p">(</span><span class="n">dshape</span><span class="p">[</span><span class="n">ishape</span><span class="p">[</span><span class="mi">0</span><span class="p">]:])</span> |
| <span class="k">return</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">oshape</span><span class="p">)</span> |
| |
| |
| <span class="k">def</span> <span class="nf">_get_dim_size</span><span class="p">(</span><span class="n">start</span><span class="p">,</span> <span class="n">stop</span><span class="p">,</span> <span class="n">step</span><span class="p">):</span> |
| <span class="sd">"""Given start, stop, and step, calculate the number of elements</span> |
| <span class="sd"> of this slice.</span> |
| <span class="sd"> """</span> |
| <span class="k">assert</span> <span class="n">step</span> <span class="o">!=</span> <span class="mi">0</span> |
| <span class="k">if</span> <span class="n">stop</span> <span class="o">==</span> <span class="n">start</span><span class="p">:</span> |
| <span class="k">return</span> <span class="mi">0</span> |
| <span class="k">if</span> <span class="n">step</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> |
| <span class="k">assert</span> <span class="n">start</span> <span class="o"><</span> <span class="n">stop</span> |
| <span class="n">dim_size</span> <span class="o">=</span> <span class="p">(</span><span class="n">stop</span> <span class="o">-</span> <span class="n">start</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span> <span class="o">//</span> <span class="n">step</span> <span class="o">+</span> <span class="mi">1</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">assert</span> <span class="n">stop</span> <span class="o"><</span> <span class="n">start</span> |
| <span class="n">dim_size</span> <span class="o">=</span> <span class="p">(</span><span class="n">start</span> <span class="o">-</span> <span class="n">stop</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span> <span class="o">//</span> <span class="p">(</span><span class="o">-</span><span class="n">step</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span> |
| <span class="k">return</span> <span class="n">dim_size</span> |
| |
| |
| <span class="k">def</span> <span class="nf">_get_broadcast_shape</span><span class="p">(</span><span class="n">shape1</span><span class="p">,</span> <span class="n">shape2</span><span class="p">):</span> |
| <span class="sd">"""Given two shapes that are not identical, find the shape</span> |
| <span class="sd"> that both input shapes can broadcast to."""</span> |
| <span class="k">if</span> <span class="n">shape1</span> <span class="o">==</span> <span class="n">shape2</span><span class="p">:</span> |
| <span class="k">return</span> <span class="n">shape1</span> |
| |
| <span class="n">length1</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">shape1</span><span class="p">)</span> |
| <span class="n">length2</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">shape2</span><span class="p">)</span> |
| <span class="k">if</span> <span class="n">length1</span> <span class="o">></span> <span class="n">length2</span><span class="p">:</span> |
| <span class="n">shape</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">shape1</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">shape</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">shape2</span><span class="p">)</span> |
| <span class="n">i</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="n">length1</span><span class="p">,</span> <span class="n">length2</span><span class="p">)</span> <span class="o">-</span> <span class="mi">1</span> |
| <span class="k">for</span> <span class="n">a</span><span class="p">,</span> <span class="n">b</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">shape1</span><span class="p">[::</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="n">shape2</span><span class="p">[::</span><span class="o">-</span><span class="mi">1</span><span class="p">]):</span> |
| <span class="k">if</span> <span class="n">a</span> <span class="o">!=</span> <span class="mi">1</span> <span class="ow">and</span> <span class="n">b</span> <span class="o">!=</span> <span class="mi">1</span> <span class="ow">and</span> <span class="n">a</span> <span class="o">!=</span> <span class="n">b</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'shape1=</span><span class="si">%s</span><span class="s1"> is not broadcastable to shape2=</span><span class="si">%s</span><span class="s1">'</span> <span class="o">%</span> <span class="p">(</span><span class="n">shape1</span><span class="p">,</span> <span class="n">shape2</span><span class="p">))</span> |
| <span class="n">shape</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">b</span> <span class="k">if</span> <span class="n">a</span> <span class="o">==</span> <span class="mi">1</span> <span class="k">else</span> <span class="n">a</span> |
| <span class="n">i</span> <span class="o">-=</span> <span class="mi">1</span> |
| <span class="k">return</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">shape</span><span class="p">)</span> |
| |
| |
| <span class="k">def</span> <span class="nf">_broadcast_shapes</span><span class="p">(</span><span class="n">seq</span><span class="p">):</span> |
| <span class="sd">"""Return the broadcast shape of all advanced indices in ``seq``.</span> |
| |
| <span class="sd"> All entries are assumed to have a ``shape`` property.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">reduce</span><span class="p">(</span><span class="n">_get_broadcast_shape</span><span class="p">,</span> <span class="p">[</span><span class="n">x</span><span class="o">.</span><span class="n">shape</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">seq</span><span class="p">],</span> <span class="p">())</span> |
| |
| |
| <span class="k">def</span> <span class="nf">onehot_encode</span><span class="p">(</span><span class="n">indices</span><span class="p">,</span> <span class="n">out</span><span class="p">):</span> |
| <span class="sd">"""One-hot encoding indices into matrix out.</span> |
| |
| <span class="sd"> .. note:: `onehot_encode` is deprecated. Use `one_hot` instead.</span> |
| |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_onehot_encode</span><span class="p">(</span><span class="n">indices</span><span class="p">,</span> <span class="n">out</span><span class="p">,</span> <span class="n">out</span><span class="o">=</span><span class="n">out</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access</span> |
| |
| |
| <span class="k">def</span> <span class="nf">ones</span><span class="p">(</span><span class="n">shape</span><span class="p">,</span> <span class="n">ctx</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Returns a new array filled with all ones, with the given shape and type.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> shape : int or tuple of int or list of int</span> |
| <span class="sd"> The shape of the empty array.</span> |
| <span class="sd"> ctx : Context, optional</span> |
| <span class="sd"> An optional device context.</span> |
| <span class="sd"> Defaults to the current default context (``mxnet.context.current_context()``).</span> |
| <span class="sd"> dtype : str or numpy.dtype, optional</span> |
| <span class="sd"> An optional value type (default is `float32`).</span> |
| <span class="sd"> out : NDArray, optional</span> |
| <span class="sd"> The output NDArray (default is `None`).</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> A new array of the specified shape filled with all ones.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> mx.nd.ones(1).asnumpy()</span> |
| <span class="sd"> array([ 1.], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.ones((1,2), mx.gpu(0))</span> |
| <span class="sd"> <NDArray 1x2 @gpu(0)></span> |
| <span class="sd"> >>> mx.nd.ones((1,2), dtype='float16').asnumpy()</span> |
| <span class="sd"> array([[ 1., 1.]], dtype=float16)</span> |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= unused-argument</span> |
| <span class="k">if</span> <span class="n">ctx</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="n">ctx</span> <span class="o">=</span> <span class="n">current_context</span><span class="p">()</span> |
| <span class="n">dtype</span> <span class="o">=</span> <span class="n">mx_real_t</span> <span class="k">if</span> <span class="n">dtype</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">dtype</span> |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_ones</span><span class="p">(</span><span class="n">shape</span><span class="o">=</span><span class="n">shape</span><span class="p">,</span> <span class="n">ctx</span><span class="o">=</span><span class="n">ctx</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">dtype</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access</span> |
| |
| |
| <span class="k">def</span> <span class="nf">full</span><span class="p">(</span><span class="n">shape</span><span class="p">,</span> <span class="n">val</span><span class="p">,</span> <span class="n">ctx</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">mx_real_t</span><span class="p">,</span> <span class="n">out</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span> |
| <span class="sd">"""Returns a new array of given shape and type, filled with the given value `val`.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> shape : int or tuple of int</span> |
| <span class="sd"> The shape of the new array.</span> |
| <span class="sd"> val : scalar</span> |
| <span class="sd"> Fill value.</span> |
| <span class="sd"> ctx : Context, optional</span> |
| <span class="sd"> Device context (default is the current default context).</span> |
| <span class="sd"> dtype : `str` or `numpy.dtype`, optional</span> |
| <span class="sd"> The data type of the returned `NDArray`. The default datatype is `float32`.</span> |
| <span class="sd"> out : NDArray, optional</span> |
| <span class="sd"> The output NDArray (default is `None`).</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> `NDArray` filled with `val`, with the given shape, ctx, and dtype.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> mx.nd.full(1, 2.0).asnumpy()</span> |
| <span class="sd"> array([ 2.], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.full((1, 2), 2.0, mx.gpu(0))</span> |
| <span class="sd"> <NDArray 1x2 @gpu(0)></span> |
| <span class="sd"> >>> mx.nd.full((1, 2), 2.0, dtype='float16').asnumpy()</span> |
| <span class="sd"> array([[ 2., 2.]], dtype=float16)</span> |
| <span class="sd"> """</span> |
| <span class="n">out</span> <span class="o">=</span> <span class="n">empty</span><span class="p">(</span><span class="n">shape</span><span class="p">,</span> <span class="n">ctx</span><span class="p">,</span> <span class="n">dtype</span><span class="p">)</span> <span class="k">if</span> <span class="n">out</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">out</span> |
| <span class="n">out</span><span class="p">[:]</span> <span class="o">=</span> <span class="n">val</span> |
| <span class="k">return</span> <span class="n">out</span> |
| |
| |
| <span class="k">def</span> <span class="nf">array</span><span class="p">(</span><span class="n">source_array</span><span class="p">,</span> <span class="n">ctx</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span> |
| <span class="sd">"""Creates an array from any object exposing the array interface.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> source_array : array_like</span> |
| <span class="sd"> An object exposing the array interface, an object whose `__array__`</span> |
| <span class="sd"> method returns an array, or any (nested) sequence.</span> |
| <span class="sd"> ctx : Context, optional</span> |
| <span class="sd"> Device context (default is the current default context).</span> |
| <span class="sd"> dtype : str or numpy.dtype, optional</span> |
| <span class="sd"> The data type of the output array. The default dtype is ``source_array.dtype``</span> |
| <span class="sd"> if `source_array` is an `NDArray`, `float32` otherwise.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> An `NDArray` with the same contents as the `source_array`.</span> |
| <span class="sd"> """</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">source_array</span><span class="p">,</span> <span class="n">NDArray</span><span class="p">):</span> |
| <span class="n">dtype</span> <span class="o">=</span> <span class="n">source_array</span><span class="o">.</span><span class="n">dtype</span> <span class="k">if</span> <span class="n">dtype</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">dtype</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">dtype</span> <span class="o">=</span> <span class="n">mx_real_t</span> <span class="k">if</span> <span class="n">dtype</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">dtype</span> |
| <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">source_array</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">ndarray</span><span class="p">):</span> |
| <span class="k">try</span><span class="p">:</span> |
| <span class="n">source_array</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">source_array</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">dtype</span><span class="p">)</span> |
| <span class="k">except</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">'source_array must be array like object'</span><span class="p">)</span> |
| |
| <span class="k">if</span> <span class="n">source_array</span><span class="o">.</span><span class="n">shape</span> <span class="o">==</span> <span class="p">():</span> |
| <span class="c1"># In this case we can't assign, so we need to go through an auxiliary array</span> |
| <span class="n">arr</span> <span class="o">=</span> <span class="n">empty</span><span class="p">((</span><span class="mi">1</span><span class="p">,),</span> <span class="n">ctx</span><span class="p">,</span> <span class="n">dtype</span><span class="p">)</span> |
| <span class="n">arr</span><span class="p">[:]</span> <span class="o">=</span> <span class="n">source_array</span> |
| <span class="k">return</span> <span class="n">arr</span><span class="o">.</span><span class="n">reshape</span><span class="p">(())</span> |
| <span class="k">elif</span> <span class="n">source_array</span><span class="o">.</span><span class="n">size</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> |
| <span class="k">return</span> <span class="n">empty</span><span class="p">(</span><span class="n">source_array</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">ctx</span><span class="p">,</span> <span class="n">dtype</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">arr</span> <span class="o">=</span> <span class="n">empty</span><span class="p">(</span><span class="n">source_array</span><span class="o">.</span><span class="n">shape</span><span class="p">,</span> <span class="n">ctx</span><span class="p">,</span> <span class="n">dtype</span><span class="p">)</span> |
| <span class="n">arr</span><span class="p">[:]</span> <span class="o">=</span> <span class="n">source_array</span> |
| <span class="k">return</span> <span class="n">arr</span> |
| |
| |
| <span class="k">def</span> <span class="nf">moveaxis</span><span class="p">(</span><span class="n">tensor</span><span class="p">,</span> <span class="n">source</span><span class="p">,</span> <span class="n">destination</span><span class="p">):</span> |
| <span class="sd">"""Moves the `source` axis into the `destination` position</span> |
| <span class="sd"> while leaving the other axes in their original order</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> tensor : mx.nd.array</span> |
| <span class="sd"> The array which axes should be reordered</span> |
| <span class="sd"> source : int or sequence of int</span> |
| <span class="sd"> Original position of the axes to move. Can be negative but must be unique.</span> |
| <span class="sd"> destination : int or sequence of int</span> |
| <span class="sd"> Destination position for each of the original axes. Can be negative but must be unique.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> result : mx.nd.array</span> |
| <span class="sd"> Array with moved axes.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> X = mx.nd.array([[1, 2, 3], [4, 5, 6]])</span> |
| <span class="sd"> >>> mx.nd.moveaxis(X, 0, 1).shape</span> |
| <span class="sd"> (3L, 2L)</span> |
| |
| <span class="sd"> >>> X = mx.nd.zeros((3, 4, 5))</span> |
| <span class="sd"> >>> mx.nd.moveaxis(X, [0, 1], [-1, -2]).shape</span> |
| <span class="sd"> (5, 4, 3)</span> |
| <span class="sd"> """</span> |
| <span class="k">try</span><span class="p">:</span> |
| <span class="n">source</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">core</span><span class="o">.</span><span class="n">numeric</span><span class="o">.</span><span class="n">normalize_axis_tuple</span><span class="p">(</span><span class="n">source</span><span class="p">,</span> <span class="n">tensor</span><span class="o">.</span><span class="n">ndim</span><span class="p">)</span> |
| <span class="k">except</span> <span class="ne">IndexError</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'Source should verify 0 <= source < tensor.ndim'</span> |
| <span class="s1">'Got </span><span class="si">%d</span><span class="s1">'</span> <span class="o">%</span> <span class="n">source</span><span class="p">)</span> |
| <span class="k">try</span><span class="p">:</span> |
| <span class="n">destination</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">core</span><span class="o">.</span><span class="n">numeric</span><span class="o">.</span><span class="n">normalize_axis_tuple</span><span class="p">(</span><span class="n">destination</span><span class="p">,</span> <span class="n">tensor</span><span class="o">.</span><span class="n">ndim</span><span class="p">)</span> |
| <span class="k">except</span> <span class="ne">IndexError</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'Destination should verify 0 <= destination < tensor.ndim (</span><span class="si">%d</span><span class="s1">).'</span> |
| <span class="o">%</span> <span class="n">tensor</span><span class="o">.</span><span class="n">ndim</span><span class="p">,</span> <span class="s1">'Got </span><span class="si">%d</span><span class="s1">'</span> <span class="o">%</span> <span class="n">destination</span><span class="p">)</span> |
| |
| <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">source</span><span class="p">)</span> <span class="o">!=</span> <span class="nb">len</span><span class="p">(</span><span class="n">destination</span><span class="p">):</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'`source` and `destination` arguments must have '</span> |
| <span class="s1">'the same number of elements'</span><span class="p">)</span> |
| |
| <span class="n">order</span> <span class="o">=</span> <span class="p">[</span><span class="n">n</span> <span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">tensor</span><span class="o">.</span><span class="n">ndim</span><span class="p">)</span> <span class="k">if</span> <span class="n">n</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">source</span><span class="p">]</span> |
| |
| <span class="k">for</span> <span class="n">dest</span><span class="p">,</span> <span class="n">src</span> <span class="ow">in</span> <span class="nb">sorted</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="n">destination</span><span class="p">,</span> <span class="n">source</span><span class="p">)):</span> |
| <span class="n">order</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">dest</span><span class="p">,</span> <span class="n">src</span><span class="p">)</span> |
| |
| <span class="k">return</span> <span class="n">op</span><span class="o">.</span><span class="n">transpose</span><span class="p">(</span><span class="n">tensor</span><span class="p">,</span> <span class="n">order</span><span class="p">)</span> |
| |
| |
| <span class="c1"># pylint: disable= no-member, protected-access, too-many-arguments, redefined-outer-name</span> |
| <span class="k">def</span> <span class="nf">arange</span><span class="p">(</span><span class="n">start</span><span class="p">,</span> <span class="n">stop</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mf">1.0</span><span class="p">,</span> <span class="n">repeat</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">infer_range</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">ctx</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">mx_real_t</span><span class="p">):</span> |
| <span class="sd">"""Returns evenly spaced values within a given interval.</span> |
| |
| <span class="sd"> Values are generated within the half-open interval [`start`, `stop`). In other</span> |
| <span class="sd"> words, the interval includes `start` but excludes `stop`. The function is</span> |
| <span class="sd"> similar to the built-in Python function `range` and to `numpy.arange`,</span> |
| <span class="sd"> but returns an `NDArray`.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> start : number, optional</span> |
| <span class="sd"> Start of interval. The default start value is 0.</span> |
| <span class="sd"> stop : number</span> |
| <span class="sd"> End of interval.</span> |
| <span class="sd"> step : number, optional</span> |
| <span class="sd"> Spacing between values. The default step size is 1.</span> |
| <span class="sd"> repeat : int, optional</span> |
| <span class="sd"> Number of times to repeat each element. The default repeat count is 1.</span> |
| <span class="sd"> infer_range : boolean, optional</span> |
| <span class="sd"> When set to True, infer the stop position from the start, step,</span> |
| <span class="sd"> repeat, and output tensor size.</span> |
| <span class="sd"> ctx : Context, optional</span> |
| <span class="sd"> Device context. Default context is the current default context.</span> |
| <span class="sd"> dtype : str or numpy.dtype, optional</span> |
| <span class="sd"> The data type of the `NDArray`. The default datatype is `np.float32`.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> `NDArray` of evenly spaced values in the specified range.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> mx.nd.arange(3).asnumpy()</span> |
| <span class="sd"> array([ 0., 1., 2.], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.arange(2, 6).asnumpy()</span> |
| <span class="sd"> array([ 2., 3., 4., 5.], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.arange(2, 6, step=2).asnumpy()</span> |
| <span class="sd"> array([ 2., 4.], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.arange(2, 6, step=1.5, repeat=2).asnumpy()</span> |
| <span class="sd"> array([ 2. , 2. , 3.5, 3.5, 5. , 5. ], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.arange(2, 6, step=2, repeat=3, dtype='int32').asnumpy()</span> |
| <span class="sd"> array([2, 2, 2, 4, 4, 4], dtype=int32)</span> |
| <span class="sd"> """</span> |
| <span class="k">if</span> <span class="n">infer_range</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s1">'`infer_range` argument has been deprecated'</span><span class="p">,</span> |
| <span class="ne">DeprecationWarning</span><span class="p">)</span> |
| <span class="k">if</span> <span class="n">ctx</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="n">ctx</span> <span class="o">=</span> <span class="n">current_context</span><span class="p">()</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_arange</span><span class="p">(</span><span class="n">start</span><span class="o">=</span><span class="n">start</span><span class="p">,</span> <span class="n">stop</span><span class="o">=</span><span class="n">stop</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="n">step</span><span class="p">,</span> <span class="n">repeat</span><span class="o">=</span><span class="n">repeat</span><span class="p">,</span> |
| <span class="n">infer_range</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">dtype</span><span class="p">,</span> <span class="n">ctx</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">ctx</span><span class="p">))</span> |
| <span class="c1"># pylint: enable= no-member, protected-access, too-many-arguments</span> |
| |
| |
| <span class="c1"># pylint: disable= no-member, protected-access, too-many-arguments</span> |
| <span class="k">def</span> <span class="nf">linspace</span><span class="p">(</span><span class="n">start</span><span class="p">,</span> <span class="n">stop</span><span class="p">,</span> <span class="n">num</span><span class="p">,</span> <span class="n">endpoint</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">ctx</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">mx_real_t</span><span class="p">):</span> |
| <span class="sd">"""Return evenly spaced numbers within a specified interval.</span> |
| |
| <span class="sd"> Values are generated within the half-open interval [`start`, `stop`) or</span> |
| <span class="sd"> closed interval [start, stop] depending on whether `endpoint` is True or</span> |
| <span class="sd"> False. The function is similar to `numpy.linspace`, but returns an `NDArray`.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> start : number</span> |
| <span class="sd"> Start of interval.</span> |
| <span class="sd"> stop : number</span> |
| <span class="sd"> End of interval, unless endpoint is set to False. In that case,</span> |
| <span class="sd"> the sequence consists of all but the last of `num + 1` evenly spaced</span> |
| <span class="sd"> samples, so that stop is excluded. Note that the step size changes</span> |
| <span class="sd"> when endpoint is False.</span> |
| <span class="sd"> num : number</span> |
| <span class="sd"> Number of samples to generate. Must be non-negative.</span> |
| <span class="sd"> endpoint : bool</span> |
| <span class="sd"> If True, stop is the last sample. Otherwise, it is not included.</span> |
| <span class="sd"> The default is True.</span> |
| <span class="sd"> ctx : Context, optional</span> |
| <span class="sd"> Device context. Default context is the current default context.</span> |
| <span class="sd"> dtype : str or numpy.dtype, optional</span> |
| <span class="sd"> The data type of the `NDArray`. The default datatype is `np.float32`.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> `NDArray` of evenly spaced values in the specified range.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> mx.nd.linspace(2.0, 3.0, 5).asnumpy()</span> |
| <span class="sd"> array([ 2., 2.25., 2.5, 2.75, 3.], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.linspace(2.0, 3.0, 5, endpoint=False).asnumpy()</span> |
| <span class="sd"> array([ 2., 2.2., 2.4, 2.6, 2.8], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="k">if</span> <span class="n">ctx</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="n">ctx</span> <span class="o">=</span> <span class="n">current_context</span><span class="p">()</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_linspace</span><span class="p">(</span><span class="n">start</span><span class="o">=</span><span class="n">start</span><span class="p">,</span> <span class="n">stop</span><span class="o">=</span><span class="n">stop</span><span class="p">,</span> <span class="n">num</span><span class="o">=</span><span class="n">num</span><span class="p">,</span> |
| <span class="n">endpoint</span><span class="o">=</span><span class="n">endpoint</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">dtype</span><span class="p">,</span> <span class="n">ctx</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">ctx</span><span class="p">))</span> |
| <span class="c1"># pylint: disable= no-member, protected-access, too-many-arguments</span> |
| |
| |
| <span class="c1">#pylint: disable= too-many-arguments, no-member, protected-access</span> |
| <span class="k">def</span> <span class="nf">_ufunc_helper</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">rhs</span><span class="p">,</span> <span class="n">fn_array</span><span class="p">,</span> <span class="n">fn_scalar</span><span class="p">,</span> <span class="n">lfn_scalar</span><span class="p">,</span> <span class="n">rfn_scalar</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span> |
| <span class="sd">""" Helper function for element-wise operation.</span> |
| <span class="sd"> The function will perform numpy-like broadcasting if needed and call different functions.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> lhs : NDArray or numeric value</span> |
| <span class="sd"> Left-hand side operand.</span> |
| |
| <span class="sd"> rhs : NDArray or numeric value</span> |
| <span class="sd"> Right-hand operand,</span> |
| |
| <span class="sd"> fn_array : function</span> |
| <span class="sd"> Function to be called if both lhs and rhs are of ``NDArray`` type.</span> |
| |
| <span class="sd"> fn_scalar : function</span> |
| <span class="sd"> Function to be called if both lhs and rhs are numeric values.</span> |
| |
| <span class="sd"> lfn_scalar : function</span> |
| <span class="sd"> Function to be called if lhs is ``NDArray`` while rhs is numeric value</span> |
| |
| <span class="sd"> rfn_scalar : function</span> |
| <span class="sd"> Function to be called if lhs is numeric value while rhs is ``NDArray``;</span> |
| <span class="sd"> if none is provided, then the function is commutative, so rfn_scalar is equal to lfn_scalar</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> result array</span> |
| <span class="sd"> """</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">numeric_types</span><span class="p">):</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">rhs</span><span class="p">,</span> <span class="n">numeric_types</span><span class="p">):</span> |
| <span class="k">return</span> <span class="n">fn_scalar</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">rhs</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">if</span> <span class="n">rfn_scalar</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="c1"># commutative function</span> |
| <span class="k">return</span> <span class="n">lfn_scalar</span><span class="p">(</span><span class="n">rhs</span><span class="p">,</span> <span class="nb">float</span><span class="p">(</span><span class="n">lhs</span><span class="p">))</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">return</span> <span class="n">rfn_scalar</span><span class="p">(</span><span class="n">rhs</span><span class="p">,</span> <span class="nb">float</span><span class="p">(</span><span class="n">lhs</span><span class="p">))</span> |
| <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">rhs</span><span class="p">,</span> <span class="n">numeric_types</span><span class="p">):</span> |
| <span class="k">return</span> <span class="n">lfn_scalar</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="nb">float</span><span class="p">(</span><span class="n">rhs</span><span class="p">))</span> |
| <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">rhs</span><span class="p">,</span> <span class="n">NDArray</span><span class="p">):</span> |
| <span class="k">return</span> <span class="n">fn_array</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">rhs</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s1">'type </span><span class="si">%s</span><span class="s1"> not supported'</span> <span class="o">%</span> <span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">rhs</span><span class="p">)))</span> |
| <span class="c1">#pylint: enable= too-many-arguments, no-member, protected-access</span> |
| |
| |
| <span class="k">def</span> <span class="nf">add</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">rhs</span><span class="p">):</span> |
| <span class="sd">"""Returns element-wise sum of the input arrays with broadcasting.</span> |
| |
| <span class="sd"> Equivalent to ``lhs + rhs``, ``mx.nd.broadcast_add(lhs, rhs)`` and</span> |
| <span class="sd"> ``mx.nd.broadcast_plus(lhs, rhs)``.</span> |
| |
| <span class="sd"> .. note::</span> |
| |
| <span class="sd"> If the corresponding dimensions of two arrays have the same size or one of them has size 1,</span> |
| <span class="sd"> then the arrays are broadcastable to a common shape</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> lhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> First array to be added.</span> |
| <span class="sd"> rhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> Second array to be added.</span> |
| <span class="sd"> If ``lhs.shape != rhs.shape``, they must be</span> |
| <span class="sd"> broadcastable to a common shape.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> The element-wise sum of the input arrays.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> y = mx.nd.arange(2).reshape((2,1))</span> |
| <span class="sd"> >>> z = mx.nd.arange(2).reshape((1,2))</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 0.],</span> |
| <span class="sd"> [ 1.]], dtype=float32)</span> |
| <span class="sd"> >>> z.asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> (x+2).asnumpy()</span> |
| <span class="sd"> array([[ 3., 3., 3.],</span> |
| <span class="sd"> [ 3., 3., 3.]], dtype=float32)</span> |
| <span class="sd"> >>> (x+y).asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 2., 2., 2.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.add(x,y).asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 2., 2., 2.]], dtype=float32)</span> |
| <span class="sd"> >>> (z + y).asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.],</span> |
| <span class="sd"> [ 1., 2.]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">return</span> <span class="n">_ufunc_helper</span><span class="p">(</span> |
| <span class="n">lhs</span><span class="p">,</span> |
| <span class="n">rhs</span><span class="p">,</span> |
| <span class="n">op</span><span class="o">.</span><span class="n">broadcast_add</span><span class="p">,</span> |
| <span class="n">operator</span><span class="o">.</span><span class="n">add</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_plus_scalar</span><span class="p">,</span> |
| <span class="kc">None</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access</span> |
| |
| |
| <span class="k">def</span> <span class="nf">subtract</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">rhs</span><span class="p">):</span> |
| <span class="sd">"""Returns element-wise difference of the input arrays with broadcasting.</span> |
| |
| <span class="sd"> Equivalent to ``lhs - rhs``, ``mx.nd.broadcast_sub(lhs, rhs)`` and</span> |
| <span class="sd"> ``mx.nd.broadcast_minus(lhs, rhs)``.</span> |
| |
| <span class="sd"> .. note::</span> |
| |
| <span class="sd"> If the corresponding dimensions of two arrays have the same size or one of them has size 1,</span> |
| <span class="sd"> then the arrays are broadcastable to a common shape.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> lhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> First array to be subtracted.</span> |
| <span class="sd"> rhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> Second array to be subtracted.</span> |
| <span class="sd"> If ``lhs.shape != rhs.shape``, they must be</span> |
| <span class="sd"> broadcastable to a common shape.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> The element-wise difference of the input arrays.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> y = mx.nd.arange(2).reshape((2,1))</span> |
| <span class="sd"> >>> z = mx.nd.arange(2).reshape((1,2))</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 0.],</span> |
| <span class="sd"> [ 1.]], dtype=float32)</span> |
| <span class="sd"> >>> z.asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> (x-2).asnumpy()</span> |
| <span class="sd"> array([[-1., -1., -1.],</span> |
| <span class="sd"> [-1., -1., -1.]], dtype=float32)</span> |
| <span class="sd"> >>> (x-y).asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 0., 0., 0.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.subtract(x,y).asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 0., 0., 0.]], dtype=float32)</span> |
| <span class="sd"> >>> (z-y).asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.],</span> |
| <span class="sd"> [-1., 0.]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">return</span> <span class="n">_ufunc_helper</span><span class="p">(</span> |
| <span class="n">lhs</span><span class="p">,</span> |
| <span class="n">rhs</span><span class="p">,</span> |
| <span class="n">op</span><span class="o">.</span><span class="n">broadcast_sub</span><span class="p">,</span> |
| <span class="n">operator</span><span class="o">.</span><span class="n">sub</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_minus_scalar</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_rminus_scalar</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access</span> |
| |
| |
| <span class="k">def</span> <span class="nf">multiply</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">rhs</span><span class="p">):</span> |
| <span class="sd">"""Returns element-wise product of the input arrays with broadcasting.</span> |
| |
| <span class="sd"> Equivalent to ``lhs * rhs`` and ``mx.nd.broadcast_mul(lhs, rhs)``.</span> |
| |
| <span class="sd"> .. note::</span> |
| |
| <span class="sd"> If the corresponding dimensions of two arrays have the same size or one of them has size 1,</span> |
| <span class="sd"> then the arrays are broadcastable to a common shape.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> lhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> First array to be multiplied.</span> |
| <span class="sd"> rhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> Second array to be multiplied.</span> |
| <span class="sd"> If ``lhs.shape != rhs.shape``, they must be</span> |
| <span class="sd"> broadcastable to a common shape.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> The element-wise multiplication of the input arrays.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> y = mx.nd.arange(2).reshape((2,1))</span> |
| <span class="sd"> >>> z = mx.nd.arange(2).reshape((1,2))</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 0.],</span> |
| <span class="sd"> [ 1.]], dtype=float32)</span> |
| <span class="sd"> >>> z.asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> (x*2).asnumpy()</span> |
| <span class="sd"> array([[ 2., 2., 2.],</span> |
| <span class="sd"> [ 2., 2., 2.]], dtype=float32)</span> |
| <span class="sd"> >>> (x*y).asnumpy()</span> |
| <span class="sd"> array([[ 0., 0., 0.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.multiply(x, y).asnumpy()</span> |
| <span class="sd"> array([[ 0., 0., 0.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> (z*y).asnumpy()</span> |
| <span class="sd"> array([[ 0., 0.],</span> |
| <span class="sd"> [ 0., 1.]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">return</span> <span class="n">_ufunc_helper</span><span class="p">(</span> |
| <span class="n">lhs</span><span class="p">,</span> |
| <span class="n">rhs</span><span class="p">,</span> |
| <span class="n">op</span><span class="o">.</span><span class="n">broadcast_mul</span><span class="p">,</span> |
| <span class="n">operator</span><span class="o">.</span><span class="n">mul</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_mul_scalar</span><span class="p">,</span> |
| <span class="kc">None</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access</span> |
| |
| |
| <span class="k">def</span> <span class="nf">divide</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">rhs</span><span class="p">):</span> |
| <span class="sd">"""Returns element-wise division of the input arrays with broadcasting.</span> |
| |
| <span class="sd"> Equivalent to ``lhs / rhs`` and ``mx.nd.broadcast_div(lhs, rhs)``.</span> |
| |
| <span class="sd"> .. note::</span> |
| |
| <span class="sd"> If the corresponding dimensions of two arrays have the same size or one of them has size 1,</span> |
| <span class="sd"> then the arrays are broadcastable to a common shape.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> lhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> First array in division.</span> |
| <span class="sd"> rhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> Second array in division.</span> |
| <span class="sd"> The arrays to be divided. If ``lhs.shape != rhs.shape``, they must be</span> |
| <span class="sd"> broadcastable to a common shape.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> The element-wise division of the input arrays.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))*6</span> |
| <span class="sd"> >>> y = mx.nd.ones((2,1))*2</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 6., 6., 6.],</span> |
| <span class="sd"> [ 6., 6., 6.]], dtype=float32)</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 2.],</span> |
| <span class="sd"> [ 2.]], dtype=float32)</span> |
| <span class="sd"> >>> x/2</span> |
| <span class="sd"> <NDArray 2x3 @cpu(0)></span> |
| <span class="sd"> >>> (x/3).asnumpy()</span> |
| <span class="sd"> array([[ 2., 2., 2.],</span> |
| <span class="sd"> [ 2., 2., 2.]], dtype=float32)</span> |
| <span class="sd"> >>> (x/y).asnumpy()</span> |
| <span class="sd"> array([[ 3., 3., 3.],</span> |
| <span class="sd"> [ 3., 3., 3.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.divide(x,y).asnumpy()</span> |
| <span class="sd"> array([[ 3., 3., 3.],</span> |
| <span class="sd"> [ 3., 3., 3.]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">return</span> <span class="n">_ufunc_helper</span><span class="p">(</span> |
| <span class="n">lhs</span><span class="p">,</span> |
| <span class="n">rhs</span><span class="p">,</span> |
| <span class="n">op</span><span class="o">.</span><span class="n">broadcast_div</span><span class="p">,</span> |
| <span class="n">operator</span><span class="o">.</span><span class="n">truediv</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_div_scalar</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_rdiv_scalar</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access</span> |
| |
| |
| <span class="k">def</span> <span class="nf">modulo</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">rhs</span><span class="p">):</span> |
| <span class="sd">"""Returns element-wise modulo of the input arrays with broadcasting.</span> |
| |
| <span class="sd"> Equivalent to ``lhs % rhs`` and ``mx.nd.broadcast_mod(lhs, rhs)``.</span> |
| |
| <span class="sd"> .. note::</span> |
| |
| <span class="sd"> If the corresponding dimensions of two arrays have the same size or one of them has size 1,</span> |
| <span class="sd"> then the arrays are broadcastable to a common shape.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> lhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> First array in modulo.</span> |
| <span class="sd"> rhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> Second array in modulo.</span> |
| <span class="sd"> The arrays to be taken modulo. If ``lhs.shape != rhs.shape``, they must be</span> |
| <span class="sd"> broadcastable to a common shape.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> The element-wise modulo of the input arrays.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))*6</span> |
| <span class="sd"> >>> y = mx.nd.ones((2,1))*4</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 6., 6., 6.],</span> |
| <span class="sd"> [ 6., 6., 6.]], dtype=float32)</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 4.],</span> |
| <span class="sd"> [ 4.]], dtype=float32)</span> |
| <span class="sd"> >>> x%5</span> |
| <span class="sd"> <NDArray 2x3 @cpu(0)></span> |
| <span class="sd"> >>> (x%5).asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> (x%y).asnumpy()</span> |
| <span class="sd"> array([[ 2., 2., 2.],</span> |
| <span class="sd"> [ 2., 2., 2.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.modulo(x,y).asnumpy()</span> |
| <span class="sd"> array([[ 2., 2., 2.],</span> |
| <span class="sd"> [ 2., 2., 2.]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">return</span> <span class="n">_ufunc_helper</span><span class="p">(</span> |
| <span class="n">lhs</span><span class="p">,</span> |
| <span class="n">rhs</span><span class="p">,</span> |
| <span class="n">op</span><span class="o">.</span><span class="n">broadcast_mod</span><span class="p">,</span> |
| <span class="n">operator</span><span class="o">.</span><span class="n">mod</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_mod_scalar</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_rmod_scalar</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access</span> |
| |
| |
| <span class="k">def</span> <span class="nf">power</span><span class="p">(</span><span class="n">base</span><span class="p">,</span> <span class="n">exp</span><span class="p">):</span> |
| <span class="sd">"""Returns result of first array elements raised to powers from second array, element-wise</span> |
| <span class="sd"> with broadcasting.</span> |
| |
| <span class="sd"> Equivalent to ``base ** exp`` and ``mx.nd.broadcast_power(lhs, rhs)``.</span> |
| |
| <span class="sd"> .. note::</span> |
| |
| <span class="sd"> If the corresponding dimensions of two arrays have the same size or one of them has size 1,</span> |
| <span class="sd"> then the arrays are broadcastable to a common shape.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> base : scalar or NDArray</span> |
| <span class="sd"> The base array</span> |
| <span class="sd"> exp : scalar or NDArray</span> |
| <span class="sd"> The exponent array. If ``base.shape != exp.shape``, they must be</span> |
| <span class="sd"> broadcastable to a common shape.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> The bases in x raised to the exponents in y.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))*2</span> |
| <span class="sd"> >>> y = mx.nd.arange(1,3).reshape((2,1))</span> |
| <span class="sd"> >>> z = mx.nd.arange(1,3).reshape((2,1))</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 2., 2., 2.],</span> |
| <span class="sd"> [ 2., 2., 2.]], dtype=float32)</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 1.],</span> |
| <span class="sd"> [ 2.]], dtype=float32)</span> |
| <span class="sd"> >>> z.asnumpy()</span> |
| <span class="sd"> array([[ 1.],</span> |
| <span class="sd"> [ 2.]], dtype=float32)</span> |
| <span class="sd"> >>> (x**2).asnumpy()</span> |
| <span class="sd"> array([[ 4., 4., 4.],</span> |
| <span class="sd"> [ 4., 4., 4.]], dtype=float32)</span> |
| <span class="sd"> >>> (x**y).asnumpy()</span> |
| <span class="sd"> array([[ 2., 2., 2.],</span> |
| <span class="sd"> [ 4., 4., 4.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.power(x,y).asnumpy()</span> |
| <span class="sd"> array([[ 2., 2., 2.],</span> |
| <span class="sd"> [ 4., 4., 4.]], dtype=float32)</span> |
| <span class="sd"> >>> (z**y).asnumpy()</span> |
| <span class="sd"> array([[ 1.],</span> |
| <span class="sd"> [ 4.]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">return</span> <span class="n">_ufunc_helper</span><span class="p">(</span> |
| <span class="n">base</span><span class="p">,</span> |
| <span class="n">exp</span><span class="p">,</span> |
| <span class="n">op</span><span class="o">.</span><span class="n">broadcast_power</span><span class="p">,</span> |
| <span class="n">operator</span><span class="o">.</span><span class="n">pow</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_power_scalar</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_rpower_scalar</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access</span> |
| |
| |
| <span class="k">def</span> <span class="nf">maximum</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">rhs</span><span class="p">):</span> |
| <span class="sd">"""Returns element-wise maximum of the input arrays with broadcasting.</span> |
| |
| <span class="sd"> Equivalent to ``mx.nd.broadcast_maximum(lhs, rhs)``.</span> |
| |
| <span class="sd"> .. note::</span> |
| |
| <span class="sd"> If the corresponding dimensions of two arrays have the same size or one of them has size 1,</span> |
| <span class="sd"> then the arrays are broadcastable to a common shape.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> lhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> First array to be compared.</span> |
| <span class="sd"> rhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> Second array to be compared. If ``lhs.shape != rhs.shape``, they must be</span> |
| <span class="sd"> broadcastable to a common shape.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> The element-wise maximum of the input arrays.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> y = mx.nd.arange(2).reshape((2,1))</span> |
| <span class="sd"> >>> z = mx.nd.arange(2).reshape((1,2))</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 0.],</span> |
| <span class="sd"> [ 1.]], dtype=float32)</span> |
| <span class="sd"> >>> z.asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.maximum(x, 2).asnumpy()</span> |
| <span class="sd"> array([[ 2., 2., 2.],</span> |
| <span class="sd"> [ 2., 2., 2.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.maximum(x, y).asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.maximum(y, z).asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.],</span> |
| <span class="sd"> [ 1., 1.]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">return</span> <span class="n">_ufunc_helper</span><span class="p">(</span> |
| <span class="n">lhs</span><span class="p">,</span> |
| <span class="n">rhs</span><span class="p">,</span> |
| <span class="n">op</span><span class="o">.</span><span class="n">broadcast_maximum</span><span class="p">,</span> |
| <span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">:</span> <span class="n">x</span> <span class="k">if</span> <span class="n">x</span> <span class="o">></span> <span class="n">y</span> <span class="k">else</span> <span class="n">y</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_maximum_scalar</span><span class="p">,</span> |
| <span class="kc">None</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access</span> |
| |
| |
| <span class="k">def</span> <span class="nf">minimum</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">rhs</span><span class="p">):</span> |
| <span class="sd">"""Returns element-wise minimum of the input arrays with broadcasting.</span> |
| |
| <span class="sd"> Equivalent to ``mx.nd.broadcast_minimum(lhs, rhs)``.</span> |
| |
| <span class="sd"> .. note::</span> |
| |
| <span class="sd"> If the corresponding dimensions of two arrays have the same size or one of them has size 1,</span> |
| <span class="sd"> then the arrays are broadcastable to a common shape.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> lhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> First array to be compared.</span> |
| <span class="sd"> rhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> Second array to be compared. If ``lhs.shape != rhs.shape``, they must be</span> |
| <span class="sd"> broadcastable to a common shape.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> The element-wise minimum of the input arrays.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> y = mx.nd.arange(2).reshape((2,1))</span> |
| <span class="sd"> >>> z = mx.nd.arange(2).reshape((1,2))</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 0.],</span> |
| <span class="sd"> [ 1.]], dtype=float32)</span> |
| <span class="sd"> >>> z.asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.minimum(x, 2).asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.minimum(x, y).asnumpy()</span> |
| <span class="sd"> array([[ 0., 0., 0.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.minimum(z, y).asnumpy()</span> |
| <span class="sd"> array([[ 0., 0.],</span> |
| <span class="sd"> [ 0., 1.]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">return</span> <span class="n">_ufunc_helper</span><span class="p">(</span> |
| <span class="n">lhs</span><span class="p">,</span> |
| <span class="n">rhs</span><span class="p">,</span> |
| <span class="n">op</span><span class="o">.</span><span class="n">broadcast_minimum</span><span class="p">,</span> |
| <span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">:</span> <span class="n">x</span> <span class="k">if</span> <span class="n">x</span> <span class="o"><</span> <span class="n">y</span> <span class="k">else</span> <span class="n">y</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_minimum_scalar</span><span class="p">,</span> |
| <span class="kc">None</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access</span> |
| |
| |
| <span class="k">def</span> <span class="nf">equal</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">rhs</span><span class="p">):</span> |
| <span class="sd">"""Returns the result of element-wise **equal to** (==) comparison operation with</span> |
| <span class="sd"> broadcasting.</span> |
| |
| <span class="sd"> For each element in input arrays, return 1(true) if corresponding elements are same,</span> |
| <span class="sd"> otherwise return 0(false).</span> |
| |
| <span class="sd"> Equivalent to ``lhs == rhs`` and ``mx.nd.broadcast_equal(lhs, rhs)``.</span> |
| |
| <span class="sd"> .. note::</span> |
| |
| <span class="sd"> If the corresponding dimensions of two arrays have the same size or one of them has size 1,</span> |
| <span class="sd"> then the arrays are broadcastable to a common shape.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> lhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> First array to be compared.</span> |
| <span class="sd"> rhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> Second array to be compared. If ``lhs.shape != rhs.shape``, they must be</span> |
| <span class="sd"> broadcastable to a common shape.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> Output array of boolean values.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> y = mx.nd.arange(2).reshape((2,1))</span> |
| <span class="sd"> >>> z = mx.nd.arange(2).reshape((1,2))</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 0.],</span> |
| <span class="sd"> [ 1.]], dtype=float32)</span> |
| <span class="sd"> >>> z.asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> (x == 1).asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> (x == y).asnumpy()</span> |
| <span class="sd"> array([[ 0., 0., 0.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.equal(x,y).asnumpy()</span> |
| <span class="sd"> array([[ 0., 0., 0.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> (z == y).asnumpy()</span> |
| <span class="sd"> array([[ 1., 0.],</span> |
| <span class="sd"> [ 0., 1.]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">return</span> <span class="n">_ufunc_helper</span><span class="p">(</span> |
| <span class="n">lhs</span><span class="p">,</span> |
| <span class="n">rhs</span><span class="p">,</span> |
| <span class="n">op</span><span class="o">.</span><span class="n">broadcast_equal</span><span class="p">,</span> |
| <span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">:</span> <span class="mi">1</span> <span class="k">if</span> <span class="n">x</span> <span class="o">==</span> <span class="n">y</span> <span class="k">else</span> <span class="mi">0</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_equal_scalar</span><span class="p">,</span> |
| <span class="kc">None</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access</span> |
| |
| |
| <span class="k">def</span> <span class="nf">not_equal</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">rhs</span><span class="p">):</span> |
| <span class="sd">"""Returns the result of element-wise **not equal to** (!=) comparison operation</span> |
| <span class="sd"> with broadcasting.</span> |
| |
| <span class="sd"> For each element in input arrays, return 1(true) if corresponding elements are different,</span> |
| <span class="sd"> otherwise return 0(false).</span> |
| |
| <span class="sd"> Equivalent to ``lhs != rhs`` and ``mx.nd.broadcast_not_equal(lhs, rhs)``.</span> |
| |
| <span class="sd"> .. note::</span> |
| |
| <span class="sd"> If the corresponding dimensions of two arrays have the same size or one of them has size 1,</span> |
| <span class="sd"> then the arrays are broadcastable to a common shape.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> lhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> First array to be compared.</span> |
| <span class="sd"> rhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> Second array to be compared. If ``lhs.shape != rhs.shape``, they must be</span> |
| <span class="sd"> broadcastable to a common shape.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> Output array of boolean values.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> y = mx.nd.arange(2).reshape((2,1))</span> |
| <span class="sd"> >>> z = mx.nd.arange(2).reshape((1,2))</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 0.],</span> |
| <span class="sd"> [ 1.]], dtype=float32)</span> |
| <span class="sd"> >>> z.asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> (z == y).asnumpy()</span> |
| <span class="sd"> array([[ 1., 0.],</span> |
| <span class="sd"> [ 0., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> (x != 1).asnumpy()</span> |
| <span class="sd"> array([[ 0., 0., 0.],</span> |
| <span class="sd"> [ 0., 0., 0.]], dtype=float32)</span> |
| <span class="sd"> >>> (x != y).asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 0., 0., 0.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.not_equal(x, y).asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 0., 0., 0.]], dtype=float32)</span> |
| <span class="sd"> >>> (z != y).asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.],</span> |
| <span class="sd"> [ 1., 0.]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">return</span> <span class="n">_ufunc_helper</span><span class="p">(</span> |
| <span class="n">lhs</span><span class="p">,</span> |
| <span class="n">rhs</span><span class="p">,</span> |
| <span class="n">op</span><span class="o">.</span><span class="n">broadcast_not_equal</span><span class="p">,</span> |
| <span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">:</span> <span class="mi">1</span> <span class="k">if</span> <span class="n">x</span> <span class="o">!=</span> <span class="n">y</span> <span class="k">else</span> <span class="mi">0</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_not_equal_scalar</span><span class="p">,</span> |
| <span class="kc">None</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access</span> |
| |
| |
| <span class="k">def</span> <span class="nf">greater</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">rhs</span><span class="p">):</span> |
| <span class="sd">"""Returns the result of element-wise **greater than** (>) comparison operation</span> |
| <span class="sd"> with broadcasting.</span> |
| |
| <span class="sd"> For each element in input arrays, return 1(true) if lhs elements are greater than rhs,</span> |
| <span class="sd"> otherwise return 0(false).</span> |
| |
| <span class="sd"> Equivalent to ``lhs > rhs`` and ``mx.nd.broadcast_greater(lhs, rhs)``.</span> |
| |
| <span class="sd"> .. note::</span> |
| |
| <span class="sd"> If the corresponding dimensions of two arrays have the same size or one of them has size 1,</span> |
| <span class="sd"> then the arrays are broadcastable to a common shape.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> lhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> First array to be compared.</span> |
| <span class="sd"> rhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> Second array to be compared. If ``lhs.shape != rhs.shape``, they must be</span> |
| <span class="sd"> broadcastable to a common shape.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> Output array of boolean values.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> y = mx.nd.arange(2).reshape((2,1))</span> |
| <span class="sd"> >>> z = mx.nd.arange(2).reshape((1,2))</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 0.],</span> |
| <span class="sd"> [ 1.]], dtype=float32)</span> |
| <span class="sd"> >>> z.asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> (x > 1).asnumpy()</span> |
| <span class="sd"> array([[ 0., 0., 0.],</span> |
| <span class="sd"> [ 0., 0., 0.]], dtype=float32)</span> |
| <span class="sd"> >>> (x > y).asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 0., 0., 0.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.greater(x, y).asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 0., 0., 0.]], dtype=float32)</span> |
| <span class="sd"> >>> (z > y).asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.],</span> |
| <span class="sd"> [ 0., 0.]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">return</span> <span class="n">_ufunc_helper</span><span class="p">(</span> |
| <span class="n">lhs</span><span class="p">,</span> |
| <span class="n">rhs</span><span class="p">,</span> |
| <span class="n">op</span><span class="o">.</span><span class="n">broadcast_greater</span><span class="p">,</span> |
| <span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">:</span> <span class="mi">1</span> <span class="k">if</span> <span class="n">x</span> <span class="o">></span> <span class="n">y</span> <span class="k">else</span> <span class="mi">0</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_greater_scalar</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_lesser_scalar</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access</span> |
| |
| |
| <span class="k">def</span> <span class="nf">greater_equal</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">rhs</span><span class="p">):</span> |
| <span class="sd">"""Returns the result of element-wise **greater than or equal to** (>=) comparison</span> |
| <span class="sd"> operation with broadcasting.</span> |
| |
| <span class="sd"> For each element in input arrays, return 1(true) if lhs elements are greater than equal to rhs,</span> |
| <span class="sd"> otherwise return 0(false).</span> |
| |
| <span class="sd"> Equivalent to ``lhs >= rhs`` and ``mx.nd.broadcast_greater_equal(lhs, rhs)``.</span> |
| |
| <span class="sd"> .. note::</span> |
| |
| <span class="sd"> If the corresponding dimensions of two arrays have the same size or one of them has size 1,</span> |
| <span class="sd"> then the arrays are broadcastable to a common shape.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> lhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> First array to be compared.</span> |
| <span class="sd"> rhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> Second array to be compared. If ``lhs.shape != rhs.shape``, they must be</span> |
| <span class="sd"> broadcastable to a common shape.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> Output array of boolean values.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> y = mx.nd.arange(2).reshape((2,1))</span> |
| <span class="sd"> >>> z = mx.nd.arange(2).reshape((1,2))</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 0.],</span> |
| <span class="sd"> [ 1.]], dtype=float32)</span> |
| <span class="sd"> >>> z.asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> (x >= 1).asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> (x >= y).asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.greater_equal(x, y).asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> (z >= y).asnumpy()</span> |
| <span class="sd"> array([[ 1., 1.],</span> |
| <span class="sd"> [ 0., 1.]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">return</span> <span class="n">_ufunc_helper</span><span class="p">(</span> |
| <span class="n">lhs</span><span class="p">,</span> |
| <span class="n">rhs</span><span class="p">,</span> |
| <span class="n">op</span><span class="o">.</span><span class="n">broadcast_greater_equal</span><span class="p">,</span> |
| <span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">:</span> <span class="mi">1</span> <span class="k">if</span> <span class="n">x</span> <span class="o">>=</span> <span class="n">y</span> <span class="k">else</span> <span class="mi">0</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_greater_equal_scalar</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_lesser_equal_scalar</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access</span> |
| |
| |
| <span class="k">def</span> <span class="nf">lesser</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">rhs</span><span class="p">):</span> |
| <span class="sd">"""Returns the result of element-wise **lesser than** (<) comparison operation</span> |
| <span class="sd"> with broadcasting.</span> |
| |
| <span class="sd"> For each element in input arrays, return 1(true) if lhs elements are less than rhs,</span> |
| <span class="sd"> otherwise return 0(false).</span> |
| |
| <span class="sd"> Equivalent to ``lhs < rhs`` and ``mx.nd.broadcast_lesser(lhs, rhs)``.</span> |
| |
| <span class="sd"> .. note::</span> |
| |
| <span class="sd"> If the corresponding dimensions of two arrays have the same size or one of them has size 1,</span> |
| <span class="sd"> then the arrays are broadcastable to a common shape.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> lhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> First array to be compared.</span> |
| <span class="sd"> rhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> Second array to be compared. If ``lhs.shape != rhs.shape``, they must be</span> |
| <span class="sd"> broadcastable to a common shape.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> Output array of boolean values.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> y = mx.nd.arange(2).reshape((2,1))</span> |
| <span class="sd"> >>> z = mx.nd.arange(2).reshape((1,2))</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 0.],</span> |
| <span class="sd"> [ 1.]], dtype=float32)</span> |
| <span class="sd"> >>> z.asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> (x < 1).asnumpy()</span> |
| <span class="sd"> array([[ 0., 0., 0.],</span> |
| <span class="sd"> [ 0., 0., 0.]], dtype=float32)</span> |
| <span class="sd"> >>> (x < y).asnumpy()</span> |
| <span class="sd"> array([[ 0., 0., 0.],</span> |
| <span class="sd"> [ 0., 0., 0.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.lesser(x, y).asnumpy()</span> |
| <span class="sd"> array([[ 0., 0., 0.],</span> |
| <span class="sd"> [ 0., 0., 0.]], dtype=float32)</span> |
| <span class="sd"> >>> (z < y).asnumpy()</span> |
| <span class="sd"> array([[ 0., 0.],</span> |
| <span class="sd"> [ 1., 0.]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">return</span> <span class="n">_ufunc_helper</span><span class="p">(</span> |
| <span class="n">lhs</span><span class="p">,</span> |
| <span class="n">rhs</span><span class="p">,</span> |
| <span class="n">op</span><span class="o">.</span><span class="n">broadcast_lesser</span><span class="p">,</span> |
| <span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">:</span> <span class="mi">1</span> <span class="k">if</span> <span class="n">x</span> <span class="o"><</span> <span class="n">y</span> <span class="k">else</span> <span class="mi">0</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_lesser_scalar</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_greater_scalar</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access</span> |
| |
| |
| <span class="k">def</span> <span class="nf">lesser_equal</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">rhs</span><span class="p">):</span> |
| <span class="sd">"""Returns the result of element-wise **lesser than or equal to** (<=) comparison</span> |
| <span class="sd"> operation with broadcasting.</span> |
| |
| <span class="sd"> For each element in input arrays, return 1(true) if lhs elements are</span> |
| <span class="sd"> lesser than equal to rhs, otherwise return 0(false).</span> |
| |
| <span class="sd"> Equivalent to ``lhs <= rhs`` and ``mx.nd.broadcast_lesser_equal(lhs, rhs)``.</span> |
| |
| <span class="sd"> .. note::</span> |
| |
| <span class="sd"> If the corresponding dimensions of two arrays have the same size or one of them has size 1,</span> |
| <span class="sd"> then the arrays are broadcastable to a common shape.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> lhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> First array to be compared.</span> |
| <span class="sd"> rhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> Second array to be compared. If ``lhs.shape != rhs.shape``, they must be</span> |
| <span class="sd"> broadcastable to a common shape.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> Output array of boolean values.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> y = mx.nd.arange(2).reshape((2,1))</span> |
| <span class="sd"> >>> z = mx.nd.arange(2).reshape((1,2))</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 0.],</span> |
| <span class="sd"> [ 1.]], dtype=float32)</span> |
| <span class="sd"> >>> z.asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> (x <= 1).asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> (x <= y).asnumpy()</span> |
| <span class="sd"> array([[ 0., 0., 0.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.lesser_equal(x, y).asnumpy()</span> |
| <span class="sd"> array([[ 0., 0., 0.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> (z <= y).asnumpy()</span> |
| <span class="sd"> array([[ 1., 0.],</span> |
| <span class="sd"> [ 1., 1.]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">return</span> <span class="n">_ufunc_helper</span><span class="p">(</span> |
| <span class="n">lhs</span><span class="p">,</span> |
| <span class="n">rhs</span><span class="p">,</span> |
| <span class="n">op</span><span class="o">.</span><span class="n">broadcast_lesser_equal</span><span class="p">,</span> |
| <span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">:</span> <span class="mi">1</span> <span class="k">if</span> <span class="n">x</span> <span class="o"><=</span> <span class="n">y</span> <span class="k">else</span> <span class="mi">0</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_lesser_equal_scalar</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_greater_equal_scalar</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access</span> |
| |
| <span class="k">def</span> <span class="nf">logical_and</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">rhs</span><span class="p">):</span> |
| <span class="sd">"""Returns the result of element-wise **logical and** comparison</span> |
| <span class="sd"> operation with broadcasting.</span> |
| |
| <span class="sd"> For each element in input arrays, return 1(true) if lhs elements and rhs elements</span> |
| <span class="sd"> are true, otherwise return 0(false).</span> |
| |
| <span class="sd"> Equivalent to ``lhs and rhs`` and ``mx.nd.broadcast_logical_and(lhs, rhs)``.</span> |
| |
| <span class="sd"> .. note::</span> |
| |
| <span class="sd"> If the corresponding dimensions of two arrays have the same size or one of them has size 1,</span> |
| <span class="sd"> then the arrays are broadcastable to a common shape.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> lhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> First input of the function.</span> |
| <span class="sd"> rhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> Second input of the function. If ``lhs.shape != rhs.shape``, they must be</span> |
| <span class="sd"> broadcastable to a common shape.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> Output array of boolean values.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> y = mx.nd.arange(2).reshape((2,1))</span> |
| <span class="sd"> >>> z = mx.nd.arange(2).reshape((1,2))</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 0.],</span> |
| <span class="sd"> [ 1.]], dtype=float32)</span> |
| <span class="sd"> >>> z.asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.logical_and(x, 1).asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.logical_and(x, y).asnumpy()</span> |
| <span class="sd"> array([[ 0., 0., 0.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.logical_and(z, y).asnumpy()</span> |
| <span class="sd"> array([[ 0., 0.],</span> |
| <span class="sd"> [ 0., 1.]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">return</span> <span class="n">_ufunc_helper</span><span class="p">(</span> |
| <span class="n">lhs</span><span class="p">,</span> |
| <span class="n">rhs</span><span class="p">,</span> |
| <span class="n">op</span><span class="o">.</span><span class="n">broadcast_logical_and</span><span class="p">,</span> |
| <span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">:</span> <span class="mi">1</span> <span class="k">if</span> <span class="n">x</span> <span class="ow">and</span> <span class="n">y</span> <span class="k">else</span> <span class="mi">0</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_logical_and_scalar</span><span class="p">,</span> |
| <span class="kc">None</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access</span> |
| |
| <span class="k">def</span> <span class="nf">logical_or</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">rhs</span><span class="p">):</span> |
| <span class="sd">"""Returns the result of element-wise **logical or** comparison</span> |
| <span class="sd"> operation with broadcasting.</span> |
| |
| <span class="sd"> For each element in input arrays, return 1(true) if lhs elements or rhs elements</span> |
| <span class="sd"> are true, otherwise return 0(false).</span> |
| |
| <span class="sd"> Equivalent to ``lhs or rhs`` and ``mx.nd.broadcast_logical_or(lhs, rhs)``.</span> |
| |
| <span class="sd"> .. note::</span> |
| |
| <span class="sd"> If the corresponding dimensions of two arrays have the same size or one of them has size 1,</span> |
| <span class="sd"> then the arrays are broadcastable to a common shape.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> lhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> First input of the function.</span> |
| <span class="sd"> rhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> Second input of the function. If ``lhs.shape != rhs.shape``, they must be</span> |
| <span class="sd"> broadcastable to a common shape.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> Output array of boolean values.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> y = mx.nd.arange(2).reshape((2,1))</span> |
| <span class="sd"> >>> z = mx.nd.arange(2).reshape((1,2))</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 0.],</span> |
| <span class="sd"> [ 1.]], dtype=float32)</span> |
| <span class="sd"> >>> z.asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.logical_or(x, 1).asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.logical_or(x, y).asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.logical_or(z, y).asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.],</span> |
| <span class="sd"> [ 1., 1.]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">return</span> <span class="n">_ufunc_helper</span><span class="p">(</span> |
| <span class="n">lhs</span><span class="p">,</span> |
| <span class="n">rhs</span><span class="p">,</span> |
| <span class="n">op</span><span class="o">.</span><span class="n">broadcast_logical_or</span><span class="p">,</span> |
| <span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">:</span> <span class="mi">1</span> <span class="k">if</span> <span class="n">x</span> <span class="ow">or</span> <span class="n">y</span> <span class="k">else</span> <span class="mi">0</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_logical_or_scalar</span><span class="p">,</span> |
| <span class="kc">None</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access</span> |
| |
| <span class="k">def</span> <span class="nf">logical_xor</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">rhs</span><span class="p">):</span> |
| <span class="sd">"""Returns the result of element-wise **logical xor** comparison</span> |
| <span class="sd"> operation with broadcasting.</span> |
| |
| <span class="sd"> For each element in input arrays, return 1(true) if lhs elements or rhs elements</span> |
| <span class="sd"> are true, otherwise return 0(false).</span> |
| |
| <span class="sd"> Equivalent to ``bool(lhs) ^ bool(rhs)`` and ``mx.nd.broadcast_logical_xor(lhs, rhs)``.</span> |
| |
| <span class="sd"> .. note::</span> |
| |
| <span class="sd"> If the corresponding dimensions of two arrays have the same size or one of them has size 1,</span> |
| <span class="sd"> then the arrays are broadcastable to a common shape.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> lhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> First input of the function.</span> |
| <span class="sd"> rhs : scalar or mxnet.ndarray.array</span> |
| <span class="sd"> Second input of the function. If ``lhs.shape != rhs.shape``, they must be</span> |
| <span class="sd"> broadcastable to a common shape.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> Output array of boolean values.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> y = mx.nd.arange(2).reshape((2,1))</span> |
| <span class="sd"> >>> z = mx.nd.arange(2).reshape((1,2))</span> |
| <span class="sd"> >>> x.asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 1., 1., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> y.asnumpy()</span> |
| <span class="sd"> array([[ 0.],</span> |
| <span class="sd"> [ 1.]], dtype=float32)</span> |
| <span class="sd"> >>> z.asnumpy()</span> |
| <span class="sd"> array([[ 0., 1.]], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.logical_xor(x, y).asnumpy()</span> |
| <span class="sd"> array([[ 1., 1., 1.],</span> |
| <span class="sd"> [ 0., 0., 0.]], dtype=float32)</span> |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">return</span> <span class="n">_ufunc_helper</span><span class="p">(</span> |
| <span class="n">lhs</span><span class="p">,</span> |
| <span class="n">rhs</span><span class="p">,</span> |
| <span class="n">op</span><span class="o">.</span><span class="n">broadcast_logical_xor</span><span class="p">,</span> |
| <span class="k">lambda</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">:</span> <span class="mi">1</span> <span class="k">if</span> <span class="nb">bool</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="o">^</span> <span class="nb">bool</span><span class="p">(</span><span class="n">y</span><span class="p">)</span> <span class="k">else</span> <span class="mi">0</span><span class="p">,</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_logical_xor_scalar</span><span class="p">,</span> |
| <span class="kc">None</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access</span> |
| |
| <span class="k">def</span> <span class="nf">true_divide</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">rhs</span><span class="p">):</span> |
| |
| <span class="sd">"""This function is similar to :meth:`divide`.</span> |
| <span class="sd"> """</span> |
| <span class="k">return</span> <span class="n">divide</span><span class="p">(</span><span class="n">lhs</span><span class="p">,</span> <span class="n">rhs</span><span class="p">)</span> |
| |
| |
| <span class="k">def</span> <span class="nf">concatenate</span><span class="p">(</span><span class="n">arrays</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">always_copy</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span> |
| <span class="sd">"""DEPRECATED, use ``concat`` instead</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> arrays : list of `NDArray`</span> |
| <span class="sd"> Arrays to be concatenate. They must have identical shape except</span> |
| <span class="sd"> the first dimension. They also must have the same data type.</span> |
| <span class="sd"> axis : int</span> |
| <span class="sd"> The axis along which to concatenate.</span> |
| <span class="sd"> always_copy : bool</span> |
| <span class="sd"> Default `True`. When not `True`, if the arrays only contain one</span> |
| <span class="sd"> `NDArray`, that element will be returned directly, avoid copying.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> An `NDArray` that lives on the same context as `arrays[0].context`.</span> |
| <span class="sd"> """</span> |
| <span class="k">assert</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">arrays</span><span class="p">,</span> <span class="nb">list</span><span class="p">)</span> |
| <span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">arrays</span><span class="p">)</span> <span class="o">></span> <span class="mi">0</span> |
| <span class="k">assert</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">arrays</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">NDArray</span><span class="p">)</span> |
| |
| <span class="k">if</span> <span class="ow">not</span> <span class="n">always_copy</span> <span class="ow">and</span> <span class="nb">len</span><span class="p">(</span><span class="n">arrays</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span> |
| <span class="k">return</span> <span class="n">arrays</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> |
| |
| <span class="n">shape_axis</span> <span class="o">=</span> <span class="n">arrays</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="n">axis</span><span class="p">]</span> |
| <span class="n">shape_rest1</span> <span class="o">=</span> <span class="n">arrays</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="n">axis</span><span class="p">]</span> |
| <span class="n">shape_rest2</span> <span class="o">=</span> <span class="n">arrays</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="n">axis</span><span class="o">+</span><span class="mi">1</span><span class="p">:]</span> |
| <span class="n">dtype</span> <span class="o">=</span> <span class="n">arrays</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">dtype</span> |
| <span class="k">for</span> <span class="n">arr</span> <span class="ow">in</span> <span class="n">arrays</span><span class="p">[</span><span class="mi">1</span><span class="p">:]:</span> |
| <span class="n">shape_axis</span> <span class="o">+=</span> <span class="n">arr</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="n">axis</span><span class="p">]</span> |
| <span class="k">assert</span> <span class="n">shape_rest1</span> <span class="o">==</span> <span class="n">arr</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="n">axis</span><span class="p">]</span> |
| <span class="k">assert</span> <span class="n">shape_rest2</span> <span class="o">==</span> <span class="n">arr</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="n">axis</span><span class="o">+</span><span class="mi">1</span><span class="p">:]</span> |
| <span class="k">assert</span> <span class="n">dtype</span> <span class="o">==</span> <span class="n">arr</span><span class="o">.</span><span class="n">dtype</span> |
| <span class="n">ret_shape</span> <span class="o">=</span> <span class="n">shape_rest1</span> <span class="o">+</span> <span class="p">(</span><span class="n">shape_axis</span><span class="p">,)</span> <span class="o">+</span> <span class="n">shape_rest2</span> |
| <span class="n">ret</span> <span class="o">=</span> <span class="n">empty</span><span class="p">(</span><span class="n">ret_shape</span><span class="p">,</span> <span class="n">ctx</span><span class="o">=</span><span class="n">arrays</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">context</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">dtype</span><span class="p">)</span> |
| |
| <span class="n">idx</span> <span class="o">=</span> <span class="mi">0</span> |
| <span class="n">begin</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="n">ret_shape</span><span class="p">]</span> |
| <span class="n">end</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">ret_shape</span><span class="p">)</span> |
| <span class="k">for</span> <span class="n">arr</span> <span class="ow">in</span> <span class="n">arrays</span><span class="p">:</span> |
| <span class="k">if</span> <span class="n">axis</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> |
| <span class="n">ret</span><span class="p">[</span><span class="n">idx</span><span class="p">:</span><span class="n">idx</span><span class="o">+</span><span class="n">arr</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]]</span> <span class="o">=</span> <span class="n">arr</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="n">begin</span><span class="p">[</span><span class="n">axis</span><span class="p">]</span> <span class="o">=</span> <span class="n">idx</span> |
| <span class="n">end</span><span class="p">[</span><span class="n">axis</span><span class="p">]</span> <span class="o">=</span> <span class="n">idx</span><span class="o">+</span><span class="n">arr</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="n">axis</span><span class="p">]</span> |
| <span class="c1"># pylint: disable=no-member,protected-access</span> |
| <span class="n">_internal</span><span class="o">.</span><span class="n">_crop_assign</span><span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="n">arr</span><span class="p">,</span> <span class="n">out</span><span class="o">=</span><span class="n">ret</span><span class="p">,</span> |
| <span class="n">begin</span><span class="o">=</span><span class="nb">tuple</span><span class="p">(</span><span class="n">begin</span><span class="p">),</span> |
| <span class="n">end</span><span class="o">=</span><span class="nb">tuple</span><span class="p">(</span><span class="n">end</span><span class="p">))</span> |
| <span class="c1"># pylint: enable=no-member,protected-access</span> |
| <span class="n">idx</span> <span class="o">+=</span> <span class="n">arr</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="n">axis</span><span class="p">]</span> |
| |
| <span class="k">return</span> <span class="n">ret</span> |
| |
| |
| <span class="c1"># pylint: disable=redefined-outer-name</span> |
| <span class="k">def</span> <span class="nf">imdecode</span><span class="p">(</span><span class="n">str_img</span><span class="p">,</span> <span class="n">clip_rect</span><span class="o">=</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">out</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">index</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">channels</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span> <span class="n">mean</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span> |
| <span class="sd">"""DEPRECATED, use mx.img instead</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> str_img : str</span> |
| <span class="sd"> Binary image data</span> |
| <span class="sd"> clip_rect : iterable of 4 int</span> |
| <span class="sd"> Clip decoded image to rectangle (x0, y0, x1, y1).</span> |
| <span class="sd"> out : NDArray</span> |
| <span class="sd"> Output buffer. Can be 3 dimensional (c, h, w) or 4 dimensional (n, c, h, w).</span> |
| <span class="sd"> index : int</span> |
| <span class="sd"> Output decoded image to i-th slice of 4 dimensional buffer.</span> |
| <span class="sd"> channels : int</span> |
| <span class="sd"> Number of channels to output. Decode to grey scale when channels = 1.</span> |
| <span class="sd"> mean : NDArray</span> |
| <span class="sd"> Subtract mean from decode image before outputing.</span> |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= no-member, protected-access, too-many-arguments</span> |
| <span class="k">if</span> <span class="n">mean</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="n">mean</span> <span class="o">=</span> <span class="n">NDArray</span><span class="p">(</span><span class="n">_new_empty_handle</span><span class="p">())</span> |
| <span class="k">if</span> <span class="n">out</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_imdecode</span><span class="p">(</span><span class="n">mean</span><span class="p">,</span> <span class="n">index</span><span class="p">,</span> |
| <span class="n">clip_rect</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> |
| <span class="n">clip_rect</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> |
| <span class="n">clip_rect</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span> |
| <span class="n">clip_rect</span><span class="p">[</span><span class="mi">3</span><span class="p">],</span> |
| <span class="n">channels</span><span class="p">,</span> |
| <span class="nb">len</span><span class="p">(</span><span class="n">str_img</span><span class="p">),</span> |
| <span class="n">str_img</span><span class="o">=</span><span class="n">str_img</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_imdecode</span><span class="p">(</span><span class="n">mean</span><span class="p">,</span> <span class="n">index</span><span class="p">,</span> |
| <span class="n">clip_rect</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> |
| <span class="n">clip_rect</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> |
| <span class="n">clip_rect</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span> |
| <span class="n">clip_rect</span><span class="p">[</span><span class="mi">3</span><span class="p">],</span> |
| <span class="n">channels</span><span class="p">,</span> |
| <span class="nb">len</span><span class="p">(</span><span class="n">str_img</span><span class="p">),</span> |
| <span class="n">str_img</span><span class="o">=</span><span class="n">str_img</span><span class="p">,</span> |
| <span class="n">out</span><span class="o">=</span><span class="n">out</span><span class="p">)</span> |
| |
| |
| <span class="k">def</span> <span class="nf">zeros</span><span class="p">(</span><span class="n">shape</span><span class="p">,</span> <span class="n">ctx</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Returns a new array filled with all zeros, with the given shape and type.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> shape : int or tuple of int</span> |
| <span class="sd"> The shape of the empty array.</span> |
| <span class="sd"> ctx : Context, optional</span> |
| <span class="sd"> An optional device context (default is the current default context).</span> |
| <span class="sd"> dtype : str or numpy.dtype, optional</span> |
| <span class="sd"> An optional value type (default is `float32`).</span> |
| <span class="sd"> out : NDArray, optional</span> |
| <span class="sd"> The output NDArray (default is `None`).</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> A created array</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> mx.nd.zeros(1).asnumpy()</span> |
| <span class="sd"> array([ 0.], dtype=float32)</span> |
| <span class="sd"> >>> mx.nd.zeros((1,2), mx.gpu(0))</span> |
| <span class="sd"> <NDArray 1x2 @gpu(0)></span> |
| <span class="sd"> >>> mx.nd.zeros((1,2), mx.gpu(0), 'float16').asnumpy()</span> |
| <span class="sd"> array([[ 0., 0.]], dtype=float16)</span> |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= unused-argument</span> |
| <span class="k">if</span> <span class="n">ctx</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="n">ctx</span> <span class="o">=</span> <span class="n">current_context</span><span class="p">()</span> |
| <span class="n">dtype</span> <span class="o">=</span> <span class="n">mx_real_t</span> <span class="k">if</span> <span class="n">dtype</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">dtype</span> |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_zeros</span><span class="p">(</span><span class="n">shape</span><span class="o">=</span><span class="n">shape</span><span class="p">,</span> <span class="n">ctx</span><span class="o">=</span><span class="n">ctx</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">dtype</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access</span> |
| |
| <span class="k">def</span> <span class="nf">eye</span><span class="p">(</span><span class="n">N</span><span class="p">,</span> <span class="n">M</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">k</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">ctx</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> |
| <span class="sd">"""Return a 2-D array with ones on the diagonal and zeros elsewhere.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> N: int</span> |
| <span class="sd"> Number of rows in the output.</span> |
| <span class="sd"> M: int, optional</span> |
| <span class="sd"> Number of columns in the output. If 0, defaults to N.</span> |
| <span class="sd"> k: int, optional</span> |
| <span class="sd"> Index of the diagonal: 0 (the default) refers to the main diagonal,</span> |
| <span class="sd"> a positive value refers to an upper diagonal,</span> |
| <span class="sd"> and a negative value to a lower diagonal.</span> |
| <span class="sd"> ctx: Context, optional</span> |
| <span class="sd"> An optional device context (default is the current default context)</span> |
| <span class="sd"> dtype: str or numpy.dtype, optional</span> |
| <span class="sd"> An optional value type (default is `float32`)</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> A created array</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> mx.nd.eye(2)</span> |
| <span class="sd"> [[ 1. 0.]</span> |
| <span class="sd"> [ 0. 1.]]</span> |
| <span class="sd"> <NDArray 2x2 @cpu(0)></span> |
| <span class="sd"> >>> mx.nd.eye(2, 3, 1)</span> |
| <span class="sd"> [[ 0. 1. 0.]</span> |
| <span class="sd"> [ 0. 0. 1.]]</span> |
| <span class="sd"> <NDArray 2x3 @cpu(0)></span> |
| <span class="sd"> """</span> |
| <span class="c1"># pylint: disable= unused-argument</span> |
| <span class="k">if</span> <span class="n">ctx</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="n">ctx</span> <span class="o">=</span> <span class="n">current_context</span><span class="p">()</span> |
| <span class="n">dtype</span> <span class="o">=</span> <span class="n">mx_real_t</span> <span class="k">if</span> <span class="n">dtype</span> <span class="ow">is</span> <span class="kc">None</span> <span class="k">else</span> <span class="n">dtype</span> |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_eye</span><span class="p">(</span><span class="n">N</span><span class="o">=</span><span class="n">N</span><span class="p">,</span> <span class="n">M</span><span class="o">=</span><span class="n">M</span><span class="p">,</span> <span class="n">k</span><span class="o">=</span><span class="n">k</span><span class="p">,</span> <span class="n">ctx</span><span class="o">=</span><span class="n">ctx</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">dtype</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access</span> |
| |
| |
| <span class="k">def</span> <span class="nf">empty</span><span class="p">(</span><span class="n">shape</span><span class="p">,</span> <span class="n">ctx</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span> |
| <span class="sd">"""Returns a new array of given shape and type, without initializing entries.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> shape : int or tuple of int</span> |
| <span class="sd"> The shape of the empty array.</span> |
| <span class="sd"> ctx : Context, optional</span> |
| <span class="sd"> An optional device context (default is the current default context).</span> |
| <span class="sd"> dtype : str or numpy.dtype, optional</span> |
| <span class="sd"> An optional value type (default is `float32`).</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> A created array.</span> |
| |
| <span class="sd"> """</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">shape</span><span class="p">,</span> <span class="nb">int</span><span class="p">):</span> |
| <span class="n">shape</span> <span class="o">=</span> <span class="p">(</span><span class="n">shape</span><span class="p">,</span> <span class="p">)</span> |
| <span class="k">if</span> <span class="n">ctx</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="n">ctx</span> <span class="o">=</span> <span class="n">current_context</span><span class="p">()</span> |
| <span class="k">if</span> <span class="n">dtype</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="n">dtype</span> <span class="o">=</span> <span class="n">mx_real_t</span> |
| <span class="k">return</span> <span class="n">NDArray</span><span class="p">(</span><span class="n">handle</span><span class="o">=</span><span class="n">_new_alloc_handle</span><span class="p">(</span><span class="n">shape</span><span class="p">,</span> <span class="n">ctx</span><span class="p">,</span> <span class="kc">False</span><span class="p">,</span> <span class="n">dtype</span><span class="p">))</span> |
| |
| |
| <span class="c1"># pylint: disable= redefined-builtin</span> |
| <span class="k">def</span> <span class="nf">histogram</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">bins</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="nb">range</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span> |
| <span class="sd">"""Compute the histogram of the input data.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> a : NDArray</span> |
| <span class="sd"> Input data. The histogram is computed over the flattened array.</span> |
| <span class="sd"> bins : int or sequence of scalars</span> |
| <span class="sd"> If bins is an int, it defines the number of equal-width bins in the</span> |
| <span class="sd"> given range (10, by default). If bins is a sequence, it defines the bin edges,</span> |
| <span class="sd"> including the rightmost edge, allowing for non-uniform bin widths.</span> |
| <span class="sd"> range : (float, float), optional</span> |
| <span class="sd"> The lower and upper range of the bins. If not provided, range is simply (a.min(), a.max()).</span> |
| <span class="sd"> Values outside the range are ignored. The first element of the range must be less than or</span> |
| <span class="sd"> equal to the second. range affects the automatic bin computation as well, the range will</span> |
| <span class="sd"> be equally divided by the number of bins.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> A created array.</span> |
| |
| <span class="sd"> """</span> |
| |
| <span class="c1"># pylint: disable= no-member, protected-access</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">bins</span><span class="p">,</span> <span class="n">NDArray</span><span class="p">):</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_histogram</span><span class="p">(</span><span class="n">data</span><span class="o">=</span><span class="n">a</span><span class="p">,</span> <span class="n">bins</span><span class="o">=</span><span class="n">bins</span><span class="p">)</span> |
| <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">bins</span><span class="p">,</span> <span class="n">integer_types</span><span class="p">):</span> |
| <span class="k">if</span> <span class="nb">range</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span> |
| <span class="n">warnings</span><span class="o">.</span><span class="n">warn</span><span class="p">(</span><span class="s2">"range is not specified, using numpy's result "</span> |
| <span class="s2">"to ensure consistency with numpy"</span><span class="p">)</span> |
| <span class="n">res</span><span class="p">,</span> <span class="n">bin_bounds</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">histogram</span><span class="p">(</span><span class="n">a</span><span class="o">.</span><span class="n">asnumpy</span><span class="p">(),</span> <span class="n">bins</span><span class="o">=</span><span class="n">bins</span><span class="p">)</span> |
| <span class="k">return</span> <span class="n">array</span><span class="p">(</span><span class="n">res</span><span class="p">),</span> <span class="n">array</span><span class="p">(</span><span class="n">bin_bounds</span><span class="p">)</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_histogram</span><span class="p">(</span><span class="n">data</span><span class="o">=</span><span class="n">a</span><span class="p">,</span> <span class="n">bin_cnt</span><span class="o">=</span><span class="n">bins</span><span class="p">,</span> <span class="nb">range</span><span class="o">=</span><span class="nb">range</span><span class="p">)</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"bins argument should be either an integer or an NDArray"</span><span class="p">)</span> |
| <span class="c1"># pylint: enable= no-member, protected-access, redefined-builtin</span> |
| |
| <span class="k">def</span> <span class="nf">split_v2</span><span class="p">(</span><span class="n">ary</span><span class="p">,</span> <span class="n">indices_or_sections</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">squeeze_axis</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span> |
| <span class="sd">"""Split an array into multiple sub-arrays.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> ary : NDArray</span> |
| <span class="sd"> Array to be divided into sub-arrays.</span> |
| <span class="sd"> indices_or_sections : int or tuple of ints</span> |
| <span class="sd"> If `indices_or_sections` is an integer, N, the array will be divided</span> |
| <span class="sd"> into N equal arrays along `axis`. If such a split is not possible,</span> |
| <span class="sd"> an error is raised.</span> |
| <span class="sd"> If `indices_or_sections` is a 1-D array of sorted integers, the entries</span> |
| <span class="sd"> indicate where along `axis` the array is split. For example,</span> |
| <span class="sd"> ``[2, 3]`` would, for ``axis=0``, result in</span> |
| <span class="sd"> - ary[:2]</span> |
| <span class="sd"> - ary[2:3]</span> |
| <span class="sd"> - ary[3:]</span> |
| <span class="sd"> If an index exceeds the dimension of the array along `axis`,</span> |
| <span class="sd"> an empty sub-array is returned correspondingly.</span> |
| <span class="sd"> axis : int, optional</span> |
| <span class="sd"> The axis along which to split, default is 0.</span> |
| <span class="sd"> squeeze_axis: boolean, optional</span> |
| <span class="sd"> Whether to squeeze the axis of sub-arrays or not, only useful when size</span> |
| <span class="sd"> of the sub-arrays are 1 on the `axis`. Default is False.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> A created array.</span> |
| |
| <span class="sd"> """</span> |
| <span class="n">indices</span> <span class="o">=</span> <span class="p">[]</span> |
| <span class="n">axis_size</span> <span class="o">=</span> <span class="n">ary</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="n">axis</span><span class="p">]</span> |
| <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">indices_or_sections</span><span class="p">,</span> <span class="nb">int</span><span class="p">):</span> |
| <span class="n">sections</span> <span class="o">=</span> <span class="n">indices_or_sections</span> |
| <span class="k">if</span> <span class="n">axis_size</span> <span class="o">%</span> <span class="n">sections</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'array split does not result in an equal division'</span><span class="p">)</span> |
| <span class="n">section_size</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">axis_size</span> <span class="o">/</span> <span class="n">sections</span><span class="p">)</span> |
| <span class="n">indices</span> <span class="o">=</span> <span class="p">[</span><span class="n">i</span> <span class="o">*</span> <span class="n">section_size</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">sections</span><span class="p">)]</span> |
| <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">indices_or_sections</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">):</span> |
| <span class="n">indices</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+</span> <span class="nb">list</span><span class="p">(</span><span class="n">indices_or_sections</span><span class="p">)</span> |
| <span class="k">else</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s1">'indices_or_sections must either int or tuple of ints'</span><span class="p">)</span> |
| <span class="k">return</span> <span class="n">_internal</span><span class="o">.</span><span class="n">_split_v2</span><span class="p">(</span><span class="n">ary</span><span class="p">,</span> <span class="n">indices</span><span class="p">,</span> <span class="n">axis</span><span class="p">,</span> <span class="n">squeeze_axis</span><span class="p">)</span> |
| |
| <span class="n">PyCapsuleDestructor</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">CFUNCTYPE</span><span class="p">(</span><span class="kc">None</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">)</span> |
| <span class="n">_c_str_dltensor</span> <span class="o">=</span> <span class="n">c_str</span><span class="p">(</span><span class="s1">'dltensor'</span><span class="p">)</span> |
| <span class="n">_c_str_used_dltensor</span> <span class="o">=</span> <span class="n">c_str</span><span class="p">(</span><span class="s1">'used_dltensor'</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">_dlpack_deleter</span><span class="p">(</span><span class="n">pycapsule</span><span class="p">):</span> |
| <span class="n">pycapsule</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">(</span><span class="n">pycapsule</span><span class="p">)</span> |
| <span class="k">if</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">pythonapi</span><span class="o">.</span><span class="n">PyCapsule_IsValid</span><span class="p">(</span><span class="n">pycapsule</span><span class="p">,</span> <span class="n">_c_str_dltensor</span><span class="p">):</span> |
| <span class="n">ptr</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">(</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">pythonapi</span><span class="o">.</span><span class="n">PyCapsule_GetPointer</span><span class="p">(</span><span class="n">pycapsule</span><span class="p">,</span> <span class="n">_c_str_dltensor</span><span class="p">))</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayCallDLPackDeleter</span><span class="p">(</span><span class="n">ptr</span><span class="p">))</span> |
| |
| <span class="n">_c_dlpack_deleter</span> <span class="o">=</span> <span class="n">PyCapsuleDestructor</span><span class="p">(</span><span class="n">_dlpack_deleter</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">to_dlpack_for_read</span><span class="p">(</span><span class="n">data</span><span class="p">):</span> |
| <span class="sd">"""Returns a reference view of NDArray that represents as DLManagedTensor until</span> |
| <span class="sd"> all previous write operations on the current array are finished.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> data: NDArray</span> |
| <span class="sd"> input data.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> PyCapsule (the pointer of DLManagedTensor)</span> |
| <span class="sd"> a reference view of NDArray that represents as DLManagedTensor.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> y = mx.nd.to_dlpack_for_read(x)</span> |
| <span class="sd"> >>> type(y)</span> |
| <span class="sd"> <class 'PyCapsule'></span> |
| <span class="sd"> >>> z = mx.nd.from_dlpack(y)</span> |
| <span class="sd"> >>> z</span> |
| <span class="sd"> [[1. 1. 1.]</span> |
| <span class="sd"> [1. 1. 1.]]</span> |
| <span class="sd"> <NDArray 2x3 @cpu(0)></span> |
| <span class="sd"> """</span> |
| <span class="n">data</span><span class="o">.</span><span class="n">wait_to_read</span><span class="p">()</span> |
| <span class="n">dlpack</span> <span class="o">=</span> <span class="n">DLPackHandle</span><span class="p">()</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayToDLPack</span><span class="p">(</span><span class="n">data</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">dlpack</span><span class="p">)))</span> |
| <span class="k">return</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">pythonapi</span><span class="o">.</span><span class="n">PyCapsule_New</span><span class="p">(</span><span class="n">dlpack</span><span class="p">,</span> <span class="n">_c_str_dltensor</span><span class="p">,</span> <span class="n">_c_dlpack_deleter</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">to_dlpack_for_write</span><span class="p">(</span><span class="n">data</span><span class="p">):</span> |
| <span class="sd">"""Returns a reference view of NDArray that represents as DLManagedTensor until</span> |
| <span class="sd"> all previous read/write operations on the current array are finished.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> data: NDArray</span> |
| <span class="sd"> input data.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> PyCapsule (the pointer of DLManagedTensor)</span> |
| <span class="sd"> a reference view of NDArray that represents as DLManagedTensor.</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> w = mx.nd.to_dlpack_for_write(x)</span> |
| <span class="sd"> >>> type(w)</span> |
| <span class="sd"> <class 'PyCapsule'></span> |
| <span class="sd"> >>> u = mx.nd.from_dlpack(w)</span> |
| <span class="sd"> >>> u += 1</span> |
| <span class="sd"> >>> x</span> |
| <span class="sd"> [[2. 2. 2.]</span> |
| <span class="sd"> [2. 2. 2.]]</span> |
| <span class="sd"> <NDArray 2x3 @cpu(0)></span> |
| <span class="sd"> """</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayWaitToWrite</span><span class="p">(</span><span class="n">data</span><span class="o">.</span><span class="n">handle</span><span class="p">))</span> |
| <span class="n">dlpack</span> <span class="o">=</span> <span class="n">DLPackHandle</span><span class="p">()</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayToDLPack</span><span class="p">(</span><span class="n">data</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">dlpack</span><span class="p">)))</span> |
| <span class="k">return</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">pythonapi</span><span class="o">.</span><span class="n">PyCapsule_New</span><span class="p">(</span><span class="n">dlpack</span><span class="p">,</span> <span class="n">_c_str_dltensor</span><span class="p">,</span> <span class="n">_c_dlpack_deleter</span><span class="p">)</span> |
| |
| <span class="k">def</span> <span class="nf">from_dlpack</span><span class="p">(</span><span class="n">dlpack</span><span class="p">):</span> |
| <span class="sd">"""Returns a NDArray backed by a dlpack tensor.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> dlpack: PyCapsule (the pointer of DLManagedTensor)</span> |
| <span class="sd"> input data</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> a NDArray backed by a dlpack tensor</span> |
| |
| <span class="sd"> Examples</span> |
| <span class="sd"> --------</span> |
| <span class="sd"> >>> x = mx.nd.ones((2,3))</span> |
| <span class="sd"> >>> y = mx.nd.to_dlpack_for_read(x)</span> |
| <span class="sd"> >>> type(y)</span> |
| <span class="sd"> <class 'PyCapsule'></span> |
| <span class="sd"> >>> z = mx.nd.from_dlpack(y)</span> |
| <span class="sd"> >>> type(z)</span> |
| <span class="sd"> <class 'mxnet.ndarray.ndarray.NDArray'></span> |
| <span class="sd"> >>> z</span> |
| <span class="sd"> [[ 1. 1. 1.]</span> |
| <span class="sd"> [ 1. 1. 1.]]</span> |
| <span class="sd"> <NDArray 2x3 @cpu(0)></span> |
| |
| <span class="sd"> >>> w = mx.nd.to_dlpack_for_write(x)</span> |
| <span class="sd"> >>> type(w)</span> |
| <span class="sd"> <class 'PyCapsule'></span> |
| <span class="sd"> >>> u = mx.nd.from_dlpack(w)</span> |
| <span class="sd"> >>> u += 1</span> |
| <span class="sd"> >>> x</span> |
| <span class="sd"> [[2. 2. 2.]</span> |
| <span class="sd"> [2. 2. 2.]]</span> |
| <span class="sd"> <NDArray 2x3 @cpu(0)></span> |
| <span class="sd"> """</span> |
| <span class="n">handle</span> <span class="o">=</span> <span class="n">NDArrayHandle</span><span class="p">()</span> |
| <span class="n">dlpack</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">py_object</span><span class="p">(</span><span class="n">dlpack</span><span class="p">)</span> |
| <span class="k">assert</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">pythonapi</span><span class="o">.</span><span class="n">PyCapsule_IsValid</span><span class="p">(</span><span class="n">dlpack</span><span class="p">,</span> <span class="n">_c_str_dltensor</span><span class="p">),</span> <span class="ne">ValueError</span><span class="p">(</span> |
| <span class="s1">'Invalid DLPack Tensor. DLTensor capsules can be consumed only once.'</span><span class="p">)</span> |
| <span class="n">dlpack_handle</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">pythonapi</span><span class="o">.</span><span class="n">PyCapsule_GetPointer</span><span class="p">(</span><span class="n">dlpack</span><span class="p">,</span> <span class="n">_c_str_dltensor</span><span class="p">))</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayFromDLPackEx</span><span class="p">(</span><span class="n">dlpack_handle</span><span class="p">,</span> <span class="kc">False</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">handle</span><span class="p">)))</span> |
| <span class="c1"># Rename PyCapsule (DLPack)</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">pythonapi</span><span class="o">.</span><span class="n">PyCapsule_SetName</span><span class="p">(</span><span class="n">dlpack</span><span class="p">,</span> <span class="n">_c_str_used_dltensor</span><span class="p">)</span> |
| <span class="c1"># delete the deleter of the old dlpack</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">pythonapi</span><span class="o">.</span><span class="n">PyCapsule_SetDestructor</span><span class="p">(</span><span class="n">dlpack</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span> |
| <span class="k">return</span> <span class="n">NDArray</span><span class="p">(</span><span class="n">handle</span><span class="o">=</span><span class="n">handle</span><span class="p">)</span> |
| |
| <span class="k">class</span> <span class="nc">DLContext</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">Structure</span><span class="p">):</span> |
| <span class="n">_fields_</span> <span class="o">=</span> <span class="p">[(</span><span class="s2">"device_type"</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">),</span> |
| <span class="p">(</span><span class="s2">"device_id"</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">)]</span> |
| |
| |
| <span class="k">class</span> <span class="nc">DLDataType</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">Structure</span><span class="p">):</span> |
| <span class="n">_fields_</span> <span class="o">=</span> <span class="p">[(</span><span class="s2">"type_code"</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_uint8</span><span class="p">),</span> |
| <span class="p">(</span><span class="s2">"bits"</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_uint8</span><span class="p">),</span> |
| <span class="p">(</span><span class="s2">"lanes"</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_uint16</span><span class="p">)]</span> |
| <span class="n">TYPE_MAP</span> <span class="o">=</span> <span class="p">{</span> |
| <span class="s2">"int32"</span><span class="p">:</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">32</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> |
| <span class="s2">"int64"</span><span class="p">:</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">64</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> |
| <span class="s2">"bool"</span><span class="p">:</span> <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> |
| <span class="s2">"uint32"</span><span class="p">:</span> <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">32</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> |
| <span class="s2">"uint64"</span><span class="p">:</span> <span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">64</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> |
| <span class="s2">"float32"</span><span class="p">:</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">32</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> |
| <span class="s2">"float64"</span><span class="p">:</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">64</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> |
| <span class="p">}</span> |
| |
| |
| <span class="k">class</span> <span class="nc">DLTensor</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">Structure</span><span class="p">):</span> |
| <span class="n">_fields_</span> <span class="o">=</span> <span class="p">[(</span><span class="s2">"data"</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">),</span> |
| <span class="p">(</span><span class="s2">"ctx"</span><span class="p">,</span> <span class="n">DLContext</span><span class="p">),</span> |
| <span class="p">(</span><span class="s2">"ndim"</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_int</span><span class="p">),</span> |
| <span class="p">(</span><span class="s2">"dtype"</span><span class="p">,</span> <span class="n">DLDataType</span><span class="p">),</span> |
| <span class="p">(</span><span class="s2">"shape"</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">POINTER</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">c_int64</span><span class="p">)),</span> |
| <span class="p">(</span><span class="s2">"strides"</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">POINTER</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">c_int64</span><span class="p">)),</span> |
| <span class="p">(</span><span class="s2">"byte_offset"</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_uint64</span><span class="p">)]</span> |
| |
| <span class="k">class</span> <span class="nc">DLManagedTensor</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">Structure</span><span class="p">):</span> |
| <span class="k">pass</span> |
| |
| |
| <span class="n">DeleterFunc</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">CFUNCTYPE</span><span class="p">(</span><span class="kc">None</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">POINTER</span><span class="p">(</span><span class="n">DLManagedTensor</span><span class="p">))</span> |
| |
| |
| <span class="n">DLManagedTensor</span><span class="o">.</span><span class="n">_fields_</span> <span class="o">=</span> <span class="p">[(</span><span class="s2">"dl_tensor"</span><span class="p">,</span> <span class="n">DLTensor</span><span class="p">),</span> <span class="c1"># pylint: disable=protected-access</span> |
| <span class="p">(</span><span class="s2">"manager_ctx"</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">),</span> |
| <span class="p">(</span><span class="s2">"deleter"</span><span class="p">,</span> <span class="n">DeleterFunc</span><span class="p">)]</span> |
| |
| |
| <span class="nd">@DeleterFunc</span> |
| <span class="k">def</span> <span class="nf">dl_managed_tensor_deleter</span><span class="p">(</span><span class="n">dl_managed_tensor_handle</span><span class="p">):</span> |
| <span class="n">void_p</span> <span class="o">=</span> <span class="n">dl_managed_tensor_handle</span><span class="o">.</span><span class="n">contents</span><span class="o">.</span><span class="n">manager_ctx</span> |
| <span class="n">pyobj</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">void_p</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">py_object</span><span class="p">)</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">pythonapi</span><span class="o">.</span><span class="n">Py_DecRef</span><span class="p">(</span><span class="n">pyobj</span><span class="p">)</span> |
| |
| |
| <span class="k">def</span> <span class="nf">from_numpy</span><span class="p">(</span><span class="n">ndarray</span><span class="p">,</span> <span class="n">zero_copy</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span> |
| <span class="sd">"""Returns an MXNet's ndarray backed by numpy's ndarray.</span> |
| <span class="sd"> When `zero_copy` is set to be true,</span> |
| <span class="sd"> this API consumes numpy's ndarray and produces MXNet's ndarray</span> |
| <span class="sd"> without having to copy the content. In this case, we disallow</span> |
| <span class="sd"> users to modify the given numpy ndarray, and it is suggested</span> |
| <span class="sd"> not to read the numpy ndarray as well for internal correctness.</span> |
| |
| <span class="sd"> Parameters</span> |
| <span class="sd"> ----------</span> |
| <span class="sd"> ndarray: numpy.ndarray</span> |
| <span class="sd"> input data</span> |
| |
| <span class="sd"> zero_copy: bool</span> |
| <span class="sd"> Whether we use DLPack's zero-copy conversion to convert to MXNet's NDArray.</span> |
| <span class="sd"> This is only available for c-contiguous arrays, i.e. array.flags[C_CONTIGUOUS] == True.</span> |
| |
| <span class="sd"> Returns</span> |
| <span class="sd"> -------</span> |
| <span class="sd"> NDArray</span> |
| <span class="sd"> a NDArray backed by a dlpack tensor</span> |
| |
| <span class="sd"> """</span> |
| |
| <span class="k">def</span> <span class="nf">_make_manager_ctx</span><span class="p">(</span><span class="n">obj</span><span class="p">):</span> |
| <span class="n">pyobj</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">py_object</span><span class="p">(</span><span class="n">obj</span><span class="p">)</span> |
| <span class="n">void_p</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="o">.</span><span class="n">from_buffer</span><span class="p">(</span><span class="n">pyobj</span><span class="p">)</span> |
| <span class="n">ctypes</span><span class="o">.</span><span class="n">pythonapi</span><span class="o">.</span><span class="n">Py_IncRef</span><span class="p">(</span><span class="n">pyobj</span><span class="p">)</span> |
| <span class="k">return</span> <span class="n">void_p</span> |
| |
| <span class="k">def</span> <span class="nf">_make_dl_tensor</span><span class="p">(</span><span class="n">array</span><span class="p">):</span> |
| <span class="k">if</span> <span class="nb">str</span><span class="p">(</span><span class="n">array</span><span class="o">.</span><span class="n">dtype</span><span class="p">)</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">DLDataType</span><span class="o">.</span><span class="n">TYPE_MAP</span><span class="p">:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">array</span><span class="o">.</span><span class="n">dtype</span><span class="p">)</span> <span class="o">+</span> <span class="s2">" is not supported."</span><span class="p">)</span> |
| <span class="n">dl_tensor</span> <span class="o">=</span> <span class="n">DLTensor</span><span class="p">()</span> |
| <span class="n">dl_tensor</span><span class="o">.</span><span class="n">data</span> <span class="o">=</span> <span class="n">array</span><span class="o">.</span><span class="n">ctypes</span><span class="o">.</span><span class="n">data_as</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">c_void_p</span><span class="p">)</span> |
| <span class="n">dl_tensor</span><span class="o">.</span><span class="n">ctx</span> <span class="o">=</span> <span class="n">DLContext</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> |
| <span class="n">dl_tensor</span><span class="o">.</span><span class="n">ndim</span> <span class="o">=</span> <span class="n">array</span><span class="o">.</span><span class="n">ndim</span> |
| <span class="n">dl_tensor</span><span class="o">.</span><span class="n">dtype</span> <span class="o">=</span> <span class="n">DLDataType</span><span class="o">.</span><span class="n">TYPE_MAP</span><span class="p">[</span><span class="nb">str</span><span class="p">(</span><span class="n">array</span><span class="o">.</span><span class="n">dtype</span><span class="p">)]</span> |
| <span class="n">dl_tensor</span><span class="o">.</span><span class="n">shape</span> <span class="o">=</span> <span class="n">array</span><span class="o">.</span><span class="n">ctypes</span><span class="o">.</span><span class="n">shape_as</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">c_int64</span><span class="p">)</span> |
| <span class="n">dl_tensor</span><span class="o">.</span><span class="n">strides</span> <span class="o">=</span> <span class="kc">None</span> |
| <span class="n">dl_tensor</span><span class="o">.</span><span class="n">byte_offset</span> <span class="o">=</span> <span class="mi">0</span> |
| <span class="k">return</span> <span class="n">dl_tensor</span> |
| |
| <span class="k">def</span> <span class="nf">_make_dl_managed_tensor</span><span class="p">(</span><span class="n">array</span><span class="p">):</span> |
| <span class="n">c_obj</span> <span class="o">=</span> <span class="n">DLManagedTensor</span><span class="p">()</span> |
| <span class="n">c_obj</span><span class="o">.</span><span class="n">dl_tensor</span> <span class="o">=</span> <span class="n">_make_dl_tensor</span><span class="p">(</span><span class="n">array</span><span class="p">)</span> |
| <span class="n">c_obj</span><span class="o">.</span><span class="n">manager_ctx</span> <span class="o">=</span> <span class="n">_make_manager_ctx</span><span class="p">(</span><span class="n">array</span><span class="p">)</span> |
| <span class="n">c_obj</span><span class="o">.</span><span class="n">deleter</span> <span class="o">=</span> <span class="n">dl_managed_tensor_deleter</span> |
| <span class="k">return</span> <span class="n">c_obj</span> |
| |
| <span class="k">if</span> <span class="ow">not</span> <span class="n">zero_copy</span><span class="p">:</span> |
| <span class="k">return</span> <span class="n">array</span><span class="p">(</span><span class="n">ndarray</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">ndarray</span><span class="o">.</span><span class="n">dtype</span><span class="p">)</span> |
| |
| <span class="k">if</span> <span class="ow">not</span> <span class="n">ndarray</span><span class="o">.</span><span class="n">flags</span><span class="p">[</span><span class="s1">'C_CONTIGUOUS'</span><span class="p">]:</span> |
| <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Only c-contiguous arrays are supported for zero-copy"</span><span class="p">)</span> |
| <span class="n">ndarray</span><span class="o">.</span><span class="n">flags</span><span class="p">[</span><span class="s1">'WRITEABLE'</span><span class="p">]</span> <span class="o">=</span> <span class="kc">False</span> |
| <span class="n">c_obj</span> <span class="o">=</span> <span class="n">_make_dl_managed_tensor</span><span class="p">(</span><span class="n">ndarray</span><span class="p">)</span> |
| <span class="n">handle</span> <span class="o">=</span> <span class="n">NDArrayHandle</span><span class="p">()</span> |
| <span class="n">check_call</span><span class="p">(</span><span class="n">_LIB</span><span class="o">.</span><span class="n">MXNDArrayFromDLPackEx</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">c_obj</span><span class="p">),</span> <span class="kc">True</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">handle</span><span class="p">)))</span> |
| <span class="k">return</span> <span class="n">NDArray</span><span class="p">(</span><span class="n">handle</span><span class="o">=</span><span class="n">handle</span><span class="p">)</span> |
| </pre></div> |
| |
| </div> |
| <div class="side-doc-outline"> |
| <div class="side-doc-outline--content"> |
| </div> |
| </div> |
| |
| <div class="clearer"></div> |
| </div><div class="pagenation"> |
| </div> |
| <footer class="site-footer h-card"> |
| <div class="wrapper"> |
| <div class="row"> |
| <div class="col-4"> |
| <h4 class="footer-category-title">Resources</h4> |
| <ul class="contact-list"> |
| <li><a class="u-email" href="mailto:dev@mxnet.apache.org">Dev list</a></li> |
| <li><a class="u-email" href="mailto:user@mxnet.apache.org">User mailing list</a></li> |
| <li><a href="https://cwiki.apache.org/confluence/display/MXNET/Apache+MXNet+Home">Developer Wiki</a></li> |
| <li><a href="https://issues.apache.org/jira/projects/MXNET/issues">Jira Tracker</a></li> |
| <li><a href="https://github.com/apache/incubator-mxnet/labels/Roadmap">Github Roadmap</a></li> |
| <li><a href="https://discuss.mxnet.io">MXNet Discuss forum</a></li> |
| <li><a href="/mxnet.io-v2/community/contribute">Contribute To MXNet</a></li> |
| |
| </ul> |
| </div> |
| |
| <div class="col-4"><ul class="social-media-list"><li><a href="https://github.com/apache/incubator-mxnet"><svg class="svg-icon"><use xlink:href="../../../_static/minima-social-icons.svg#github"></use></svg> <span class="username">apache/incubator-mxnet</span></a></li><li><a href="https://www.twitter.com/apachemxnet"><svg class="svg-icon"><use xlink:href="../../../_static/minima-social-icons.svg#twitter"></use></svg> <span class="username">apachemxnet</span></a></li><li><a href="https://youtube.com/apachemxnet"><svg class="svg-icon"><use xlink:href="../../../_static/minima-social-icons.svg#youtube"></use></svg> <span class="username">apachemxnet</span></a></li></ul> |
| </div> |
| |
| <div class="col-4 footer-text"> |
| <p>A flexible and efficient library for deep learning.</p> |
| </div> |
| </div> |
| </div> |
| </footer> |
| |
| <footer class="site-footer2"> |
| <div class="wrapper"> |
| <div class="row"> |
| <div class="col-3"> |
| <img src="../../../_static/apache_incubator_logo.png" class="footer-logo col-2"> |
| </div> |
| <div class="footer-bottom-warning col-9"> |
| <p>Apache MXNet is an effort undergoing incubation at The Apache Software Foundation (ASF), <span style="font-weight:bold">sponsored by the <i>Apache Incubator</i></span>. Incubation is required |
| of all newly accepted projects until a further review indicates that the infrastructure, |
| communications, and decision making process have stabilized in a manner consistent with other |
| successful ASF projects. While incubation status is not necessarily a reflection of the completeness |
| or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF. |
| </p><p>"Copyright © 2017-2018, The Apache Software Foundation Apache MXNet, MXNet, Apache, the Apache |
| feather, and the Apache MXNet project logo are either registered trademarks or trademarks of the |
| Apache Software Foundation."</p> |
| </div> |
| </div> |
| </div> |
| </footer> |
| |
| </body> |
| </html> |