intel / webml-polyfill

Deprecated, the Web Neural Network Polyfill project has been moved to https://github.com/webmachinelearning/webnn-polyfill
Apache License 2.0
161 stars 42 forks source link

Split op support for DeepSpeech model #1020

Open miaobin opened 4 years ago

miaobin commented 4 years ago

Split in the DeepSpeech model: split

  NNAPI ONNX clDNN MKLDNN DML MPS BNNS
Op ANEURALNETWORKS_SPLIT Split split Reorder DML_SPLIT_OPERATOR_DESC MTL(Metal Shading Language) Not Supported
inputs input[0]: An n-D tensor to split. Inputs.T: The tensor to split     InputTensor: A pointer to a constant DML_TENSOR_DESC containing the description of the tensor to read from.    
  input[1]: An ANEURALNETWORKS_INT32 scalar specifying the axis along which to split. Attributes.axis : int (default is 0) Which axis to split on. A negative value means counting dimensions from the back. Accepted range is [-rank, rank-1] where r = rank(input).     Axis: The axis to split on.    
  input[2]: An ANEURALNETWORKS_INT32 scalar indicating the number of splits along given axis. Must evenly divide axis size. Attributes.split : list of ints length of each output     OutputCount: This field determines the size of the OutputTensors array.    
outputs 0 ~ (num_splits - 1): Resulting subtensors. For a ANEURALNETWORKS_TENSOR_QUANT8_ASYMM tensor, the scale and zeroPoint must be the same as input0. One or more outputs forming list of tensors after splitting     OutputTensors: A pointer to a constant array of DML_TENSOR_DESC containing the descriptions of the tensors to write the results to.    

Now, Split is working well with WASM and WebGL backend.

miaobin commented 4 years ago

@fujunwei @lisa0314 Please help fill in above table, thanks!

lisa0314 commented 4 years ago

@miaobin BNNS has been updated. Thanks!

miaobin commented 4 years ago

Update the table.

pinzhenx commented 4 years ago

MKLDNN updated. It can be implemented by primitive reorder on submemory.