---
title: aclmdlQuerySize
description: "根据模型文件获取模型执行时所需的权值内存大小、工作内存大小，同步接口。"
url: https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/latest/Application%20Development%20Guide/aadgc/aclcppdevg_03_0135.html
sourcePath: /source/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/Application Development Guide/aadgc/aclcppdevg_03_0135.html
indexId: 7e6f5e05058d2820e711c8bcf147db04ac21c1f50d7197d8d71509cc51b4e919105
---
# aclmdlQuerySize

#### 函数功能

根据模型文件获取模型执行时所需的权值内存大小、工作内存大小，同步接口。


#### 约束说明

当由用户管理内存时，为确保内存不浪费，在申请工作内存、权值内存前，需要调用aclmdlQuerySize接口查询模型运行时所需工作内存、权值内存的大小。

如果模型输入数据的Shape不确定，则不能调用aclmdlQuerySize接口查询内存大小，在加载模型时，就无法由用户管理内存，因此需选择由系统管理内存的模型加载接口（例如，aclmdlLoadFromFile、aclmdlLoadFromMem）。


#### 函数原型

aclError aclmdlQuerySize(const char *fileName, size_t *workSize, size_t *weightSize)


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| fileName | 输入 | 模型文件路径的指针，路径中包含文件名。运行程序（APP）的用户需要对该路径有访问权限。 |
| workSize | 输出 | 模型执行时所需的工作内存大小的指针，单位Byte。 |
| weightSize | 输出 | 模型执行时所需权值内存大小的指针，单位Byte。 |


#### 返回值说明

返回0表示成功，返回其它值表示失败。


#### 参考资源

接口调用流程及示例代码，参见模型加载。
