Skip to content

Commit

Permalink
Update readme.md
Browse files Browse the repository at this point in the history
Removing irrelevant sections
  • Loading branch information
gyenesvi committed Oct 19, 2018
1 parent 54da826 commit 4f45df6
Showing 1 changed file with 0 additions and 55 deletions.
55 changes: 0 additions & 55 deletions au-zone/readme.md
Expand Up @@ -70,58 +70,3 @@ Mandatory Arguments:
--input-model
--data-model (Caffe2)
--value-info (Caffe2)


## Project Architecture

For a given conversion task, convert.py loads an importer and exporter and runs the conversion by importing into a NNEF
graph representation (based on NetworkX) and exports to the proper format.

### Framework support
Each supported framework implements the import and export functions. Framework implementations are self contained into
their directory ('tensorflow', caffe2', 'common' for NNEF, etc). Existing framework implementations should be used as
references for supporting additional frameworks (once import-export functions are implemented, the implementer just needs
to support it in convert.py).

### NNEF representation
Importers/exporters are based on NNEF Fragment and NNEF Graph objects (from "common" directory).

The importers are parsing data from the input format and are reinterpreting it as NNEF definitions to create a NNEF
Fragment for each operation (layer).The importers then use the Fragments created to create a NNEF Graph representation.

The exporters are using a NNEF Graph object to export either to NNEF format or another framework.

Here is a simplified example showing the NNEF Fragments and NNEF Graph APIs:

# Creating NNEF 'External' fragment
input = op.External(shape=in_shape, _uid='input')

# Creating NNEF 'Variable' fragment
var1 = op.Variable(label='vars/var1', shape=in_shape, _np_tensor = np_array, _uid='var1')

# Creating NNEF 'Add' fragment
output = op.Add(x=input, y=var1, _uid='output')

# Creating NNEF Graph
model = NNEFGraph('test_model',
input,
output)
# Running inference (assuming np_array has previously been set...)
input_data = {'input':input_tensor}
output_tensors = ['output']
model_output = nnef_model.run(output_tensors, input_data)

# 'ground_truth' holds the inference result as a numpy array
ground_truth = model_output['output']


## Unit Tests

The project contains 2 levels of unit tests.

- Syntax testing: Verifies that a conversion from a framework to NNEF and back to the original framework
still provides a valid model (in the original framework). Those tests are implemented for each of the NNEF primitives, for each supported framework.

- Model testing: Verifies that the graph result of networks are equivalent before and after converting them to NNEF
and back to their original format. Those tests are implemented for a few reference networks (those provided by the TensorFlow and Caffe2 Model Zoos).

0 comments on commit 4f45df6

Please sign in to comment.