---
title: 通过API构图并执行
description: "通过API构图并执行的流程如下所示。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/others/dataflowdevg/dfdevp_23_0017.html
sourcePath: /source/zh/canncommercial/900/others/dataflowdevg/dfdevp_23_0017.html
indexId: 59a6293bce3ba790c2c591f5887bae1bb7ed52c42412a4c28bcc9a4c5e7eab7c69
---
# 通过API构图并执行

通过API构图并执行的流程如下所示。

图1 通过FlowNode构图并执行

示例代码如下。完整示例代码请参考sample1(https://gitee.com/ascend/samples/blob/master/inference/dataflow/python/sample1.py)。

```
import dataflow as df
import numpy as np

# 系统初始化
options = {
    "ge.exec.deviceId":"0",
    "ge.experiment.data_flow_deploy_info_path":"./data_flow_deploy_info.json",
    "ge.socVersion": "AscendXXX"  # 根据环境修改version
}
df.init(options)

# 定义FlowData
data0 = df.FlowData()
data1 = df.FlowData()

# 定义FuncProcessPoint实现Add功能并添加到FlowNode中
pp0 = df.FuncProcessPoint(compile_config_path='config/add_func.json')
add_node = df.FlowNode(input_num=2, output_num=1)
add_node.add_process_point(pp0)

# 构建FlowData和FlowNode的连边关系
add_out = add_node(data0, data1)

# 通过FlowOut构建FlowGraph
dag = df.FlowGraph([add_out])

# 调用FlowGraph.feed_data填充输入
flow_info = df.FlowInfo()
dag.feed_data({data0:np.array([[1, 2]], dtype=np.int32), data1:np.array([[2, 3]], dtype=np.int32)}, flow_info)

# 调用FlowGraph.fetch_data获取输出
print("dataflow fetch result:", dag.fetch_data())

# 释放系统资源 
df.finalize()
```
