GenSynth Documentation

Interpreting the Metrics

On the Metrics tab, there are a series of bar graphs, each presenting a specific metric over generation cycles. Select the metrics you wish to display in each graph from the drop-down.

image41.png
Cycle Metrics

GenSynth produces these network-level metrics per Cycle:

Metric

Description

Performance

Performance as recorded from the tensor configured as the Primary Performance Metric, when applied to the Test dataset.

Parameters

The total number of trainable parameters in the network.

NetScore+

Netscore+ is a metric for overall network performance based on performance, network size, and computational cost. NetScore+ is evaluated on the Test dataset.

Size (bytes)

The amount of memory required to store the trainable parameters of the model.

FLOPs

An approximation of the number of floating-point operations used by the network during inference of a single input.

This is a number reported by TensorFlow, normalized by the batch size.

User-defined

Any additional metrics configured when starting the New Model will also be available.

Tip

Examine the metrics per cycle to select the best cycle with respect to your particular constraints and project goals. You may then fine-tune that cycle to see if performance improves.

Comparative Analysis

On the Comparative Analysis tab, you can delve into the details produced by GenSynth for each layer in each generated network. GenSynth highlights layers in the network it has identified as performance bottlenecks to provide a better explanation of the inner workings of the network from a performance perspective.

The displayed layer names come from the operations that transform a tensor by applying trainable parameters (weights): e.g., from convolution (Conv2D, Conv3D) and matrix multiplication (MatMul) operators. (Operations without trainable parameters are not displayed.)

For each layer, you can compare these per-layer metrics between cycles:

Variable

Description

Information Capacity

A measure GenSynth generates to show how efficient a layer within a network is in achieving the current network performance level. The higher the information capacity of a layer within a network, the more efficient a layer is within the network. View information capacity on the Comparative Analysis tab and network visualization.

FLOPs (Kilo)

An approximation of the number (in thousands) of floating-point operations used by the layer during inference of a single input.

This is a number reported by TensorFlow,subsequently normalized by the batch size.

Channels

The number of channels in a layer. In TensorFlow this usually corresponds to the final tensor dimension.

Looking at the number of channels can help you understand where the information bottlenecks are.

Parameters

The number of trainable parameters in a layer. In TensorFlow, these correspond to variables used as convolution kernels or matrices in matrix multiplication.

Tip

Examine FLOPs to understand the computational cost of evaluating the network.

A convolution layer can have a large number of FLOPs despite having a small number of trainable parameters if the input feature map is large.

image31.png

Tip

The FLOPs and Parameters metrics have a Total row that provides the sum over all layers for the selected metric, per cycle.

Back on the Overview tab, there are several options available per cycle.

image40.png

This button presents you with a drop-down menu that gives you available actions.

Edge Build: Enabling this option starts a job that allows GenSynth to learn from the selected cycle and build a new model with a new architecture optimized for edge devices.

Get Model Archive: Clicking the Get Model Archive icon will download a zip file of the model.

Fine-Tune: Selecting the Fine-Tune icon starts a job that creates a new model by continuing to train the selected cycle.

New Job: Selecting this option takes you to the New Job workflow where you can start a build using the model of this cycle as the initial model, with the option to change some parameters.

image4.png

Selecting this button will take you to a new page, letting you interactively explore layers of the model.

The GenSynth UI provides a convenient interface for visualizing the results of the design generation process. A number of metrics are available such as size, inference speed, accuracy, etc.

GenSynth design generation is an iterative process. After reviewing the results, users can restart the process with different settings from any cycle or start from scratch.

If you enabled the Focus on Macro Exploration toggle while creating your job, topology changes may cause layers to be added or removed in each cycle. When a layer exists over multiple cycles, you can compare the number of FLOPs, Information Capacity, Channels, or Parameters it has in each cycle.

com-analysis-macro.png