tensorflow2定义很多模型对内存的释放

tensorflow2定义很多模型对内存的释放

Keras作为tensorflow的后端,管理全局状态,它用来实现功能模型构建API和统一自动生成的层名。

如果需要在一个循环中创建许多模型,keras的全局状态消耗越来越多的内存。可以通过调用clear_session()释放全局状态,这有助于避免旧模型和层的混乱,特别是在内存有限的时候。

在tf官网给出在循环中定义网络之前清除内存的一个例子:
tensorflow2定义很多模型对内存的释放
在实际中发现在clear_session()后加一句gc.collect()收拾内存会减小进程占用的内存数量。