---
title: set_attr
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/others/dataflowdevg/dfrefp_23_0009.html
sourcePath: /source/zh/canncommercial/900/others/dataflowdevg/dfrefp_23_0009.html
indexId: 82bfba3605802a3e2453a926f9ed17f395aac1e8ade41dd35f1e32cd4861e1bb69
---
# set_attr

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | x |
| Atlas 推理系列产品 | x |
| Atlas 训练系列产品 | x |


#### 函数功能

设置FlowNode的属性。


#### 函数原型

```
set_attr(attr_name, attr_value)
```


#### 参数说明

| 参数名称 | 数据类型 | 取值说明 |
| --- | --- | --- |
| attr\_name | str | 属性名称 当前支持如下三种： \_flow\_attr：BOOL类型属性，可以配置为true或false，true表示存在flow属性，false表示不存在flow属性。 \_flow\_attr\_depth：INT类型属性，指定了队列的深度，范围：大于等于2，若不配置，默认深度为128。 \_flow\_attr\_enqueue\_policy：STRING类型属性，指定的入队的策略，仅支持"FIFO"和"OVERWRITE"，"FIFO"表示队列数据顺序入队，队列满的时候会等待dequeue，"OVERWRITE"表示入队不会等待，数据会循环覆盖，若不配置，默认策略为FIFO。 |
| attr\_value | Union[bool, str, int] | 属性值。 |


#### 返回值

正常场景下返回None。

返回“TypeError”表示参数类型不正确。


#### 调用示例

```
import dataflow as df
pp = df.FuncProcessPoint(...)
flow_node = df.FlowNode(...)
flow_node.set_attr("_flow_attr",True)
flow_node.set_attr("_flow_attr_depth",5)
flow_node.set_attr("_flow_attr_enqueue_policy","FIFO")
```


#### 约束说明

通过_flow_attr_depth和_flow_attr_enqueue_policy设置depth和policy需要先使能_flow_attr，否则不会生效。
