1# model 2model = Model() 3sparseData = Input("sparseData", "TENSOR_FLOAT32", "{16}") 4traversalOrder = Parameter("traversalOrder", "TENSOR_INT32", "{4}", [0, 1, 3, 2]) 5blockMap = Parameter("blockMap", "TENSOR_INT32", "{2}", [0, 1]) 6dimFormat = Parameter("dimFormat", "TENSOR_INT32", "{4}", [0, 1, 0, 0]) 7dimensions = Parameter("dimensions", "TENSOR_INT32", "{4}", [2, 4, 2, 2]) 8d0ArrSegments = Parameter("d0ArrSegments", "TENSOR_INT32", "{0}", []) 9d0ArrIndices = Parameter("d0ArrIndices", "TENSOR_INT32", "{0}", []) 10d1ArrSegments = Parameter("d1ArrSegments", "TENSOR_INT32", "{3}", [0, 3, 4]) 11d1ArrIndices = Parameter("d1ArrIndices", "TENSOR_INT32", "{4}", [0, 1, 2, 1]) 12d2ArrSegments = Parameter("d2ArrSegments", "TENSOR_INT32", "{0}", []) 13d2ArrIndices = Parameter("d2ArrIndices", "TENSOR_INT32", "{0}", []) 14d3ArrSegments = Parameter("d3ArrSegments", "TENSOR_INT32", "{0}", []) 15d3ArrIndices = Parameter("d3ArrIndices", "TENSOR_INT32", "{0}", []) 16denseOut = Output("denseOut", "TENSOR_FLOAT32", "{4, 8}") 17model = model.Operation("DENSIFY", sparseData, traversalOrder, blockMap, 18 dimFormat, dimensions, d0ArrSegments, d0ArrIndices, d1ArrSegments, 19 d1ArrIndices, d2ArrSegments, d2ArrIndices, d3ArrSegments, 20 d3ArrIndices).To(denseOut) 21 22# Example 1. Input in operand 0, 23input0 = {sparseData: # input 0 24 [1.0, 1.0, 0.0, 0.0, 2.0, 2.0, 3.0, 3.0, 0.0, 0.0, 4.0, 4.0, 5.0, 0.0, 0.0, 0.0]} 25 26output0 = {denseOut: # output 0 27 [1.0, 0.0, 2.0, 3.0, 0.0, 4.0, 0.0, 0.0, 1.0, 0.0, 2.0, 3.0, 0.0, 4.0, 0.0, 0.0, 28 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]} 29 30quant8_symm = DataTypeConverter().Identify({ 31 sparseData: ("TENSOR_QUANT8_SYMM", 7.0), 32 denseOut: ("TENSOR_QUANT8_SYMM", 7.0) 33}) 34 35quant8_asymm = DataTypeConverter().Identify({ 36 sparseData: ("TENSOR_QUANT8_ASYMM", 2.25, 3), 37 denseOut: ("TENSOR_QUANT8_ASYMM", 2.25, 3) 38}) 39 40quant8_asymm_signed = DataTypeConverter().Identify({ 41 sparseData: ("TENSOR_QUANT8_ASYMM_SIGNED", 2.5, -4), 42 denseOut: ("TENSOR_QUANT8_ASYMM_SIGNED", 2.5, -4) 43}) 44 45quant16_symm = DataTypeConverter().Identify({ 46 sparseData: ("TENSOR_QUANT16_SYMM", 3.125), 47 denseOut: ("TENSOR_QUANT16_SYMM", 3.125) 48}) 49 50quant16_asymm = DataTypeConverter().Identify({ 51 sparseData: ("TENSOR_QUANT16_ASYMM", 6.0, 1), 52 denseOut: ("TENSOR_QUANT16_ASYMM", 6.0, 1) 53}) 54 55# Instantiate an example 56Example((input0, output0)).AddVariations("relaxed", "float16", "int32", quant8_symm, 57 quant8_asymm, quant8_asymm_signed, quant16_symm, 58 quant16_asymm) 59