Skip to content
Snippets Groups Projects
Commit 2080ea2e authored by auphelia's avatar auphelia
Browse files

[Test] Modified graph shapes and node attributes

parent c8802724
No related branches found
No related tags found
No related merge requests found
finn-hls-onnx-model:
P
inpout0"Mem2Stream_Batch*
DataWidth@*
numBytesh*
numReps
out0 memInStrm" StreamingNode

finn-hls-onnx-model:
0
inp memInStrm memInStrm"FIFO*
depth

memInStrm
weights0
thresh0out1"StreamingFCLayer_Batch*
L_MH*
L_MW*
L_PE *
L_SIMD@*
numReps*!
thresh0out1"StreamingFCLayer_Batch*
MH*
MW*
PE *
SIMD@*!
resDataType"Recast<XnorMul>*
resType"ap_resource_lut()

out1inter0" StreamingNode

*
out1inter0inter0"FIFO*
depth

inter0
weights1
thresh1out2"StreamingFCLayer_Batch*
L_MH*
L_MW*
L_PE@*
L_SIMD *
numReps*!
thresh1out2"StreamingFCLayer_Batch*
MH*
MW*
PE@*
SIMD *!
resDataType"Recast<XnorMul>*
resType"ap_resource_lut()

out2inter1" StreamingNode

*
out2inter1inter1"FIFO*
depth

inter1
weights2
thresh2out3"StreamingFCLayer_Batch*
L_MH*
L_MW*
L_PE *
L_SIMD@*
numReps*!
thresh2out3"StreamingFCLayer_Batch*
MH*
MW*
PE *
SIMD@*!
resDataType"Recast<XnorMul>*
resType"ap_resource_lut()

out3inter2" StreamingNode

*
out3inter2inter2"FIFO*
depth

inter2
weights3
thresh3out4"StreamingFCLayer_Batch*
L_MH@*
L_MW*
L_PE*
L_SIMD*
numReps*!
thresh3out4"StreamingFCLayer_Batch*
MH@*
MW*
PE*
SIMD*!
resDataType"Recast<XnorMul>*
resType"ap_resource_lut()
!
out4
memOutStrm" StreamingNode
W
memOutStrmoutp"Mem2Stream_Batch*
DataWidth@*
numBytes*
numRepsfinn_hls_onnx_graphZ
inp


@b
outp


@j
out0
-
out4outp
memOutStrm"FIFO*
depthfinn_hls_onnx_graphZ
inp



 j

@b
outp



@j
memInStrm



 j

@j
weights0

@
......@@ -98,13 +92,13 @@ memOutStrmoutp"Mem2Stream_Batch*
out1



@j

 j
inter0



@j

 j
weights1


......@@ -120,13 +114,13 @@ memOutStrmoutp"Mem2Stream_Batch*
out2



 j

@j
inter1



 j

@j
weights2

@
......@@ -142,13 +136,13 @@ memOutStrmoutp"Mem2Stream_Batch*
out3


@
j

 j
inter2


@
j

 j
weights3


......@@ -160,13 +154,9 @@ memOutStrmoutp"Mem2Stream_Batch*



j
out4

j
out4


@j
memOutStrm


@B
\ No newline at end of file
......@@ -4,77 +4,65 @@ from onnx import TensorProto, helper
def test_manually_construct_onnx_graph():
inp = helper.make_tensor_value_info("inp", TensorProto.FLOAT, [1, 64])
outp = helper.make_tensor_value_info("outp", TensorProto.FLOAT, [1, 64])
inp = helper.make_tensor_value_info("inp", TensorProto.FLOAT, [1, 13, 64])
outp = helper.make_tensor_value_info("outp", TensorProto.FLOAT, [1, 1, 64])
Mem2Stream0_node = helper.make_node(
"Mem2Stream_Batch", ["inp"], ["out0"], numReps=4, DataWidth=64, numBytes=104
memInStrm_node = helper.make_node(
"FIFO", ["inp"], ["memInStrm"], "memInStrm", depth=1024
)
memInStrm_node = helper.make_node("StreamingNode", ["out0"], ["memInStrm"])
FCLayer0_node = helper.make_node(
"StreamingFCLayer_Batch",
["memInStrm", "weights0", "thresh0"],
["out1"],
numReps=4,
resType="ap_resource_lut()",
L_MW=832,
L_MH=1024,
L_SIMD=64,
L_PE=32,
MW=832,
MH=1024,
SIMD=64,
PE=32,
resDataType="Recast<XnorMul>",
)
inter0_node = helper.make_node("StreamingNode", ["out1"], ["inter0"])
inter0_node = helper.make_node("FIFO", ["out1"], ["inter0"], "inter0", depth=16)
FCLayer1_node = helper.make_node(
"StreamingFCLayer_Batch",
["inter0", "weights1", "thresh1"],
["out2"],
numReps=4,
resType="ap_resource_lut()",
L_MW=1024,
L_MH=1024,
L_SIMD=32,
L_PE=64,
MW=1024,
MH=1024,
SIMD=32,
PE=64,
resDataType="Recast<XnorMul>",
)
inter1_node = helper.make_node("StreamingNode", ["out2"], ["inter1"])
inter1_node = helper.make_node("FIFO", ["out2"], ["inter1"], "inter1", depth=16)
FCLayer2_node = helper.make_node(
"StreamingFCLayer_Batch",
["inter1", "weights2", "thresh2"],
["out3"],
numReps=4,
resType="ap_resource_lut()",
L_MW=1024,
L_MH=1024,
L_SIMD=64,
L_PE=32,
MW=1024,
MH=1024,
SIMD=64,
PE=32,
resDataType="Recast<XnorMul>",
)
inter2_node = helper.make_node("StreamingNode", ["out3"], ["inter2"])
inter2_node = helper.make_node("FIFO", ["out3"], ["inter2"], "inter2", depth=8)
FCLayer3_node = helper.make_node(
"StreamingFCLayer_Batch",
["inter2", "weights3", "thresh3"],
["out4"],
numReps=4,
resType="ap_resource_lut()",
L_MW=1024,
L_MH=64,
L_SIMD=8,
L_PE=16,
MW=1024,
MH=64,
SIMD=8,
PE=16,
resDataType="Recast<XnorMul>",
)
memOutStrm_node = helper.make_node("StreamingNode", ["out4"], ["memOutStrm"])
Mem2Stream1_node = helper.make_node(
"Mem2Stream_Batch",
["memOutStrm"],
["outp"],
numReps=4,
DataWidth=64,
numBytes=8,
memOutStrm_node = helper.make_node(
"FIFO", ["out4"], ["outp"], "memOutStrm", depth=1024
)
graph = helper.make_graph(
nodes=[
Mem2Stream0_node,
memInStrm_node,
FCLayer0_node,
inter0_node,
......@@ -84,38 +72,35 @@ def test_manually_construct_onnx_graph():
inter2_node,
FCLayer3_node,
memOutStrm_node,
Mem2Stream1_node,
],
name="finn_hls_onnx_graph",
inputs=[inp],
outputs=[outp],
value_info=[
helper.make_tensor_value_info("out0", TensorProto.FLOAT, [1, 32, 32]),
helper.make_tensor_value_info("memInStrm", TensorProto.FLOAT, [1, 32, 32]),
helper.make_tensor_value_info("memInStrm", TensorProto.FLOAT, [1, 13, 64]),
helper.make_tensor_value_info("weights0", TensorProto.FLOAT, [64, 32, 416]),
helper.make_tensor_value_info(
"thresh0", TensorProto.FLOAT, [32, 32, 1, 16, 1]
),
helper.make_tensor_value_info("out1", TensorProto.FLOAT, [1, 16, 64]),
helper.make_tensor_value_info("inter0", TensorProto.FLOAT, [1, 16, 64]),
helper.make_tensor_value_info("out1", TensorProto.FLOAT, [1, 32, 32]),
helper.make_tensor_value_info("inter0", TensorProto.FLOAT, [1, 32, 32]),
helper.make_tensor_value_info("weights1", TensorProto.FLOAT, [32, 64, 512]),
helper.make_tensor_value_info(
"thresh1", TensorProto.FLOAT, [16, 64, 1, 16, 1]
),
helper.make_tensor_value_info("out2", TensorProto.FLOAT, [1, 32, 32]),
helper.make_tensor_value_info("inter1", TensorProto.FLOAT, [1, 32, 32]),
helper.make_tensor_value_info("out2", TensorProto.FLOAT, [1, 16, 64]),
helper.make_tensor_value_info("inter1", TensorProto.FLOAT, [1, 16, 64]),
helper.make_tensor_value_info("weights2", TensorProto.FLOAT, [64, 32, 512]),
helper.make_tensor_value_info(
"thresh2", TensorProto.FLOAT, [32, 32, 1, 16, 1]
),
helper.make_tensor_value_info("out3", TensorProto.FLOAT, [1, 64, 16]),
helper.make_tensor_value_info("inter2", TensorProto.FLOAT, [1, 64, 16]),
helper.make_tensor_value_info("out3", TensorProto.FLOAT, [1, 32, 32]),
helper.make_tensor_value_info("inter2", TensorProto.FLOAT, [1, 32, 32]),
helper.make_tensor_value_info("weights3", TensorProto.FLOAT, [8, 16, 512]),
helper.make_tensor_value_info(
"thresh3", TensorProto.FLOAT, [4, 16, 1, 16, 1]
),
helper.make_tensor_value_info("out4", TensorProto.FLOAT, [1, 64]),
helper.make_tensor_value_info("memOutStrm", TensorProto.FLOAT, [1, 64]),
helper.make_tensor_value_info("out4", TensorProto.FLOAT, [1, 1, 64]),
],
)
model = helper.make_model(graph, producer_name="finn-hls-onnx-model")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment