• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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