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