---
title: 函数：query_size
description: "根据模型文件获取模型执行时所需的权值内存大小、工作内存大小。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendgraphapi/aclpythondevg_01_0149.html
sourcePath: /source/zh/canncommercial/900/API/ascendgraphapi/aclpythondevg_01_0149.html
indexId: a40a0ac74065811ac541049b239eb83985c3e6c367b3d3d10f8c2e79aa52e21275
---
# 函数：query_size

#### 功能说明

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


#### 函数原型

- C函数原型
  1 aclError aclmdlQuerySize(const char *fileName, size_t *workSize, size_t *weightSize)

- python函数
  1 work_size, weight_size, ret = acl.mdl.query_size(file_name)


#### 参数说明

| 参数名 | 说明 |
| --- | --- |
| file\_name | str，需要获取内存信息的模型路径，路径中包含文件名。运行程序（APP）的用户需要对该路径有访问权限。 |


#### 返回值说明

| 返回值 | 说明 |
| --- | --- |
| work\_size | int，模型执行时所需的工作内存的大小，单位Byte。 |
| weight\_size | int，模型执行时所需权值内存的大小，单位Byte。 |
| ret | int，错误码，返回0表示成功，返回其它值表示失败。 |


#### 约束说明

当由用户管理内存时，为节省内存资源，在申请工作内存、权值内存前，需要调用acl.mdl.query_size接口查询模型运行时所需工作内存、权值内存的大小。

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


#### 资源参考

接口调用流程，参见模型加载(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/acldevg/aclpythondevg_0031.html)。
