---
title: NPUBroadcastGlobalVariablesCallback构造函数
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/TensorFlowCommercial/latest/migration/tfmigr1/tfmigr1_tfadapi_0062.html
sourcePath: /source/zh/TensorFlowCommercial/900/migration/tfmigr1/tfmigr1_tfadapi_0062.html
indexId: a30fc8715d3bc28f57f0d420949af3ab511b69e134ebf2afe313b80924c1364b79
---
# NPUBroadcastGlobalVariablesCallback构造函数

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | ☓ |
| Atlas 推理系列产品 | ☓ |
| Atlas 训练系列产品 | √ |


#### 功能说明

Keras场景下对变量进行广播，使得在分布式场景下每个device上的变量初始值保持一致。


#### 函数原型

```
class NPUBroadcastGlobalVariablesCallback(BroadcastGlobalVariablesCallbackImpl, keras.callbacks.Callback):
    def __init__(self, root_rank)
```


#### 参数说明

| 参数名 | 输入/输出 | 描述 |
| --- | --- | --- |
| root\_rank | 输入 | 标识将哪个device的变量广播到其他的device上。 |


#### 返回值

返回NPUBroadcastGlobalVariablesCallback类对象。


#### 调用示例

迁移前：

```
callbacks = [hvd.callbacks.BroadcastGlobalVariablesCallback(0)]

import numpy as np
data = np.random.random((1000, 100))
labels = np random.randint(2, size=(1000,1))
model.fit(data, labels, epochs=10, batch_size=32, callbacks=callbacks)
```

迁移后：

```
from npu_bridge.npu_init import *
callbacks = [NPUBroadcastGlobalVariablesCallback(0)]

import numpy as np
data = np.random.random((1000, 100))
labels = np random.randint(2, size=(1000,1))
model.fit(data, labels, epochs=10, batch_size=32, callbacks=callbacks)
```
