Skip to content

Release 19.11

Compare
Choose a tag to compare
@nikraj01 nikraj01 released this 05 Dec 17:13
· 9 commits to branches/armnn_19_11 since this release

New Features:

  • Added Abs support to CpuRef, CpuAcc and GpuAcc backend.
  • Added Comparison support to CpuRef, covering the following operations: Equal, Greater, GreaterOrEqual, Less, LessOrEqual, NotEqual. Refactored the Equal and Greater layers previously present in terms of the new Comparison layer.
  • Added Rsqrt support to CpuAcc and GpuAcc backend.
  • Added ArgMinMax support to CpuRef, CpuAcc and GpuAcc backend.
  • Added InstanceNormalization support to CpuRef, CpuAcc and GpuAcc backend.
  • Added LogSoftmax support to CpuRef backend.
  • Added Slice support to CpuAcc backend.
  • Added DepthToSpace support to CpuRef, CpuAcc and GpuAcc backend.
  • Added StandIn Layer which is a layer to represent "unknown" or "unsupported" operations in the input graph. StandIn layer has a configurable number of input and output slots. No workloads created for StandIn layer.
  • Added QSymm8PerAxis support for Encoder and Decoder.
  • Added per-channel quantization support for Convolution2d, DepthwiseConvolution2d and TransposeConvolution2d on CpuRef backend.
  • Added FSRCNN support to CpuRef (fp32 and uint8), CpuAcc (fp32 and uint8) and GpuAcc (fp32) backend.
  • Added initial external profiling support. A new ProfilingService class allows to connect to an external profiling service and to exchange an initial set of counter metadata, such as advertising a list of counters the client can select from, and periodically send the values of the selected counters to the client. The profiling support is compatible with DS5 and Streamline clients. The profiling service relies on gatord to forward the packets to the external profiling server.
  • Added utility functions for creating Timeline Packets:
    • Timeline Label Binary Packet
    • Timeline Entity Binary Packet
    • Timeline Event Class Binary Packet
    • Timeline Message Directory Package
    • Timeline Event Binary Packet
  • Added SendTimelinePacket implementation to send Timeline Packets:
    • Timeline Label Binary Packet
    • Timeline Entity Binary Packet
    • Timeline Event Class Binary Packet
    • Timeline Message Directory Package
    • Timeline Event Binary Packet
  • Added TimelineUtilityMethods class to manage profioling entities
  • Added utility function to create a named typed entity
  • Added utility function to create a named typed child entity
  • Added utility function to create a typed label
  • Added utility function to declare a label
  • Added utility function to record an event
  • Added Timeline Decoder
  • Added ITimelineDecoder C interface
  • Added an example implementation of ITimelineDecoder
  • Added command handlers for the timeline directory and objects

TfLite Parser:

  • Added support for Transpose.
  • Added support for parsing unsupported layers by representing them as a placeholder StandInLayer in the resulting Armn NN network. Please note that such networks will not be executable, as there are no workloads for StandInLayer – its only purpose is to maintain the original network topology.
  • Fixed a bug in parsing custom layers that caused the TfLiteParser to attempt to parse all custom layers as a DetectionPostProcess layer. Now unsupported custom layers are parsed as a StandInLayer – similarly to unsupported built-in layers.
  • Added support for Slice.

Public API Changes:

Backend API Changes:

  • New CreateTensorHandle functions have been added to ITensorHandleFactory to allow for the creation of TensorHandles with unmanaged memory.

Other changes:

  • Modified ExecuteNetwork so that it can generate dummy input data if no input data files are specified. This can be useful when the user is not interested in inference results, but in performance metrics or if they only wish to see whether Arm NN can execute a certain network.
  • CTS bug fix in pooling layers on assessing when the kernel is solely over padding values.
  • Change to algorithm for calculating subgraphs to submit to backends for optimisation to remove dependency cycles and unwanted subgraph splitting.
  • Added Encoder and Decoder support to Dequantize layer.

Known issues: