---
title: InferShapeRange
description: "注册算子的InferShapeRange函数。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/maintenref/basicdataapi/atlasopapi_07_00116.html
sourcePath: /source/zh/canncommercial/900/maintenref/basicdataapi/atlasopapi_07_00116.html
indexId: c22b87b7ec0b53cd3bc306b09103918ae4d0cd3c454a8fc9e1c95af12559c9e178
---
# InferShapeRange

#### 函数功能

注册算子的InferShapeRange函数。

用户需要为算子编写一个InferShapeRangeKernelFunc类型的函数，并使用该接口进行注册。

InferShapeRangeKernelFunc类型定义如下：

```
using InferShapeRangeKernelFunc = UINT32 (*)(InferShapeRangeContext *);
```

InferShapeRange函数的原型是确定的，其接受一个InferShapeRangeContext类型作为输入，在此context上，可以获取到输入、输出的shape指针等内容（算子原型定义上的输入、输出、属性信息）。InferShapeRange成功后，返回ge::GRAPH_SUCCESS，其他返回值被认为推导失败。推导失败后，执行过程结束退出。


#### 函数原型

```
OpImplRegisterV2 &InferShapeRange(InferShapeRangeKernelFunc infer_shape_range_func)
```


#### 参数说明

| 参数 | 输入/输出 | 说明 |
| --- | --- | --- |
| infer\_shape\_range\_func | 输入 | 要注册的自定义infer\_shape\_range\_func函数，类型为InferShapeRangeKernelFunc。 |


#### 返回值说明

返回算子的OpImplRegisterV2对象，该对象新增注册了InferShapeRange函数infer_shape_range_func。


#### 约束说明

无。
