MXNet (.json,.params)

Background

    • Underlying format of the MXNet deep learning framework, used by the Wolfram Language.
    • Translation is performed automatically between the low-level layers used by MXNet and corresponding high-level layers used by the Wolfram Language.
    • The mapping between Wolfram Language layers and MXNet layers is not always invertible.
    • MXNet nets are saved as separate .json files, specifying the network topology, and .params files, specifying the numeric arrays used in the network. The Wolfram Language will automatically look for an appropriate .params file when loading a .json file.
    • By default, Import and Export use the "JSON" format for files ending in .json, rather than the "MXNet" format.

Import & Export

  • Import["file.json","MXNet"] imports the MXNet network saved as a .json file, loading weights from a corresponding .params file if available. The parameter file corresponding to "file.json" is assumed to match the pattern "file*.params" and be located in the same folder.
  • Import["file.json",{"MXNet",elem}] imports the net with the specified element elem.
  • Import["file.params","MXNet"] imports the MXNet parameter file saved as a .params file as an association of weights.
  • Import["file.params",{"MXNet",elem}] imports the parameter file with the specified element elem.
  • Export["file.json",net,"MXNet"] exports a trained neural network as a .json file and a corresponding .params file.

Import Elements

  • Net Import elements:
  • "InputNames"names of the net inputs
    "LayerAssociation"list of rules for options, properties and settings
    "Net"import the net as a NetGraph or NetChain
    "NodeDataset"dataset of MXNet symbol nodes
    "NodeGraph"graph of nodes of MXNet symbol
    "NodeGraphPlot"plot of nodes of MXNet symbol
    "UninitializedNet"import the net without any parameters
  • Parameter Import elements:
  • "ArrayAssociation"import the parameter arrays as an association
    "ArrayList"import the parameter arrays as a list
    "ArrayNames"the names of the parameter arrays

Options

  • Import option:
  • "ArrayPath"Automaticpath to the MXNet parameter file
  • Export options:
  • "ArrayPath"Automaticpath to save the parameter arrays to
    "SaveArrays"Truewhether to export the net parameter arrays

Examples

open all close all

Basic Examples  (1)

Define an initialized NetChain:

In[1]:=
Click for copyable input
Out[1]=

Export the net to the MXNet format:

In[2]:=
Click for copyable input
Out[2]=

Import the net from the MXNet format:

In[3]:=
Click for copyable input
Out[3]=

Import Elements  (11)

Import Options  (1)

Possible Issues  (3)

Introduced in 2017
(11.2)