2381095_zh-CN

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

2381095_zh-CN

2381095_zh-CN

为什么模型大小限制为 1 MB?

我在 MIMRT700(NPU 模型)上运行了 tflm_cifar10 示例中的模型。在构建程序时,我可以看到模型的大小及其对应的区域大小。 

在许多情况下,该区域的大小为 1 MB。据我所知,该模型的大小上限为 1 MB。是这样吗?

nnxxpp_0-1781495142659.pngnnxxpp_0-1781495142659.png

我不明白这一点。以下是关于 MIMRT700 EVK 的信息。

nnxxpp_2-1781495429888.pngnnxxpp_2-1781495429888.png

我不知道模型在 MIMRT700 EVK 上保存在哪里。那么,区域大小的 1 MB 在哪里呢?这是模型大小的实际限制吗?或者,我们可以采用某些方法来扩大模型规模。

你对这个问题有什么看法吗?因为我试图部署一个更大的模型> 1 MB。我确实在等待您的回复。谢谢。





Re: Why model size is limited at 1 MB?

@mayliu1 

非常感谢。现在我明白了,我们可以通过设置区域大小来扩大模型的规模。

nnxxpp_0-1781514247437.pngnnxxpp_0-1781514247437.png

或者如果我想在外部存储器上运行更大的模型,我可以关注这个文档 https://docs.nxp.com/bundle/AN14700/page/topics/external_memory.html





Re: Why model size is limited at 1 MB?

你好@nnxxpp

非常感谢您关注我们的产品并使用我们的社区。

问:我不知道模型在 MIMRT700 EVK 上保存在哪里。那么,区域大小的 1 MB 在哪里呢?这是模型大小的实际限制吗?或者,我们可以采用某些方法来扩大模型规模。

你对这个问题有什么看法吗? 因为我试图部署一个比> 1 MB 更大的模型。

答:modeldata 显示的 1 MB 并非 RT700 的硬件限制。

这只是示例项目中使用的默认链接器分配。

对于较大型号,可在项目设置中调整此分配,若需要更多存储空间,也可使用外部 XSPI 闪存。

如需更多详细信息,请参阅此 AN14700 文档。

https://docs.nxp.com/bundle/AN14700/page/topics/introduction.html

mayliu1_0-1781507645284.pngmayliu1_0-1781507645284.png

因此,RT700 并非天生就仅限于 1 MB 型号。要支持更大的 NPU 模型,可以通过增加模型数据内存分配,或者使用相应的转换选项将模型放置在外部 XSPI 闪存中来实现。 


希望对您有所帮助

顺祝商祺!

刘梅

Re: Why model size is limited at 1 MB?

@mayliu1 

我想重新讨论这个话题。现在我正尝试在RT700上部署更大的模型。下图是在用小型模型构建程序时捕获的。

我看到有 4 个内存区域:

- QSPI_flash:外部存储器

- SRAM:我问过 chatgpt,它是用来存储程序运行时的数据的(例如 .data、.bss 等)。栈,堆)。是这样吗?

- NCACHE_REGION:与 ktensorArena 相同(用于输入、中间输出和输出)

- modeldata:用于保存模型权重

我在导入 SDK 示例时看到了内存配置信息。这意味着 SRAM、NCACHE_REGION 和来自 SRAM 的模型数据(7.5 MB)。

NCACHE_REGION 和 modeldata应该位于 0x2000_00000x2058_0000 ( 5.5 MB ) 可获得最佳性能(NPU 可访问的 SRAM 区域)

但 SRAM(名为 SRAM)的位置是0x20080000 (在第二张图片中) ==> 它也在0x2000_00000x2058_0000 的范围内。默认值约为 2.5 MB。这意味着NCACHE_REGION + modeldata应该小于 (5.5 - 2.5) = 3 MB。

我的模型大小约为 3.5 MB。除了可以将模型放在外部存储器上(这会导致推理时间更长)之外,我该如何配置内存,才能让我的模型(3.5 MB)仍然位于 NPU 可以访问的内存区域?

我很好奇我们是否可以缩小“SRAM”区域(在图像 1、2 中),或者我是否可以将其移动到 RAM 的另一个区域(7.5 - 5.5 = 2 MB - 图像 3 中的最后一个区域)?

我该如何估算“SRAM”区域的大小?在下面的图片中,它是 15560 字节。

不好意思,我的问题有点长。

nnxxpp_0-1782205318606.pngnnxxpp_0-1782205318606.png

nnxxpp_1-1782205742121.pngnnxxpp_1-1782205742121.png

nnxxpp_2-1782206037185.pngnnxxpp_2-1782206037185.png




Re: Why model size is limited at 1 MB?

@mayliu1 

早上好。

或许你错过了我上面提出的新问题。

Re: Why model size is limited at 1 MB?

@nnxxpp

很抱歉回复晚了。

如果您不介意的话,能否请您为您的新问题创建一个新的案例?

感谢您的理解与合作。

顺祝商祺!

5月

Re: Why model size is limited at 1 MB?

很高兴得知您的问题已经解决。

很抱歉回复晚了,感谢您的理解。

Re: Why model size is limited at 1 MB?

@mayliu1 

我的问题已经解决了。我们可以从 5.5 MB 区域中为 NPU 找到 SRAM。我将 modeldata 和 kTensorArena 放在 5.5 MB 的区域中,并且成功了。推理时间不错。

但如果你没有错过我的问题,我就可以尽快完成我的任务了。谢谢。

Re: Why model size is limited at 1 MB?是的。祝您今天愉快。Re: Why model size is limited at 1 MB?

@mayliu1
好的。我来创建一个新问题。谢谢。

标记 (1)
无评分
版本历史
最后更新:
‎07-01-2026 02:40 AM
更新人: