Keras 重置层数
Keras reset layer numbers
Keras 将递增的 ID 编号分配给相同类型的层,例如max_pooling1d_7
、max_pooling1d_8
、max_pooling1d_9
等。我的代码的每次迭代都会构建一个新模型,从 model = Sequential()
开始,然后通过 model.add()
添加层。即使每个循环都创建一个新的 Sequential 对象,层 ID 号也会从上一个循环继续递增。由于我的流程很长-运行 这些 ID 号可能会变得非常大。我担心这会导致一些问题。为什么 model = Sequential()
没有重置 ID?有没有办法重置它们?在每个循环之后,我对层 ID 号没有用处并且可以丢弃它们,但是如何丢弃?我正在使用 Tensorflow 后端。
每次迭代不应构建新模型。培训应该以相同的模式进行。也许 post 你的代码看看哪里出了问题。
你使用 jupyter 笔记本吗?似乎在重建模型时,您的 tensorlow 会话不会重新启动。
因为 keras 按名称引用张量流图,所以有必要继续计数。
因此,如果您不想重新启动会话也没关系。然而,这也意味着,tensorflow 会话变得越来越大,因此重新启动会话可能是理想的方法。
为此重新启动完整的 program/kernel.
解决方案,来自:
from keras import backend as K
K.clear_session()
添加
tf.keras.backend.clear_session()
如 https://www.tensorflow.org/api_docs/python/tf/keras/backend/clear_session
Keras 将递增的 ID 编号分配给相同类型的层,例如max_pooling1d_7
、max_pooling1d_8
、max_pooling1d_9
等。我的代码的每次迭代都会构建一个新模型,从 model = Sequential()
开始,然后通过 model.add()
添加层。即使每个循环都创建一个新的 Sequential 对象,层 ID 号也会从上一个循环继续递增。由于我的流程很长-运行 这些 ID 号可能会变得非常大。我担心这会导致一些问题。为什么 model = Sequential()
没有重置 ID?有没有办法重置它们?在每个循环之后,我对层 ID 号没有用处并且可以丢弃它们,但是如何丢弃?我正在使用 Tensorflow 后端。
每次迭代不应构建新模型。培训应该以相同的模式进行。也许 post 你的代码看看哪里出了问题。
你使用 jupyter 笔记本吗?似乎在重建模型时,您的 tensorlow 会话不会重新启动。 因为 keras 按名称引用张量流图,所以有必要继续计数。
因此,如果您不想重新启动会话也没关系。然而,这也意味着,tensorflow 会话变得越来越大,因此重新启动会话可能是理想的方法。 为此重新启动完整的 program/kernel.
解决方案,来自
from keras import backend as K
K.clear_session()
添加
tf.keras.backend.clear_session()
如 https://www.tensorflow.org/api_docs/python/tf/keras/backend/clear_session