{
	"executor": {
		"executorType": "sequentialExecutor",
		"sequence": [ "start", "inputToCVMat", "resize", "padding", "cvtColor", "convertTo", "cvArithmetic", "transpose", "CVMatToTensor", "infer", "tensorToFloatTwoDimVec", "twodimfloatdataFilter", "nms", "final" ],
		"dataStream": {
			"inputToCVMat": {
				"input": [ "srcImage" ],
				"output": [ "CVMatOutput" ]
			},
			"resize": {
				"input": [ "CVMatOutput" ],
				"output": [ "resizeOutput" ]
			},
			"padding": {
				"input": [ "resizeOutput" ],
				"output": [ "paddingOutput" ]
			},
			"cvtColor": {
				"input": [ "paddingOutput" ],
				"output": [ "cvtColorOutput" ]
			},
			"convertTo": {
				"input": [ "cvtColorOutput" ],
				"output": [ "convertToOutput" ]
			},
			"cvArithmetic": {
				"input": ["convertToOutput"],
				"output": ["cvArithmeticOutput"]
			},
            "transpose": {
                    "input": [ "cvArithmeticOutput" ],
                    "output": [ "transposeOutput" ]
            },
			"CVMatToTensor": {
				"input": [ "transposeOutput" ],
				"output": [ "CVMatToTensorOutput" ]
			},
			"infer": {
				"input": [ "CVMatToTensorOutput" ],
				"output": [ "inferOutput" ]
			},
			"tensorToFloatTwoDimVec": {
				"input": ["inferOutput"],
				"output":["tensorToFloatTwoDimVecOutput"]
			},
			"twodimfloatdataFilter": {
				"input": ["tensorToFloatTwoDimVecOutput"],
				"output":["twodimfloatdataFilterOutput"]
			},
			"nms": {
				"input": ["twodimfloatdataFilterOutput"],
				"output":["output"]
			}
		}
	},
	"node": {
		"start": {
			"nodeType": "StartNode"
		},
		"inputToCVMat": {
			"nodeType": "InputToCVMatNode"
		},
		"resize": {
			"nodeType": "ResizeNode",
			"width": 512,
			"height": 512,
			"equalProportion": true,
			"isIgnoreSmallImg": true,
			"runtimeResizescale": "resizeScale"
		},
		"padding": {
			"nodeType": "PaddingNode",
			"width": 512,
			"height": 512,
			"borderType":0,
			"makeBorderType":1,
			"scalarArray":[128,128,128,0]
		},
		"cvtColor": {
			"nodeType": "CvtColorNode",
			"code": "BGR"
		},				
		"convertTo": {
			"nodeType": "ConvertToNode",
			"rtype": 5,
			"alpha": 1,
			"beta": 0.0
		},
		"cvArithmetic": {
			"nodeType": "CvArithmeticNode",
			"mathArithmetic": 1,
			"scalarArray": [104.0,117.0,123.0,0.0]
		},
        "transpose": {
            "nodeType": "TransposeNode",
            "count": 3
        },
		"CVMatToTensor": {
			"nodeType": "CVMatToTensorNode",
			"elemsize": 4,
			"name": "inputs",
			"layout": ["n","c","h","w"]
		},
		"infer": {
			"nodeType": "InferenceNode",
			"backendType": 4,
			"precision": 0,
			"modelFileNames":["face_detect_v1.mlmodelc"]
		},
		"tensorToFloatTwoDimVec": {
			"nodeType": "TensorToFloatTwoDimVecNode",
			"index":3,
			"needTranspose":true,
			"rowsIndex":1,
			"colsIndex":2
		},
		"twodimfloatdataFilter": {
			"nodeType": "TwoDimFloatDataFilterNode",
			"scoreIndex":15,
			"threshold":0.95,
			"filterMode":0
		},
		"nms": {
			"nodeType": "NMSNode",
			"threshold":0.4,
			"scoreIndex":15,
			"borderIndexs":[0,1,2,3],
			"runtimeResizescale": "resizeScale"
		},
		"final": {
			"nodeType": "FinalNode",
			"release": ["srcImage"]
		}
	}
}
