fro*_*ine 3 python model neural-network keras keras-layer
当我在模型中运行功能性API进行k折交叉验证时,在每次折叠的返回拟合模型中,命名密集层的数字都会增加。就像在第一折中一样dense_2_acc,然后在第二折中dense_5_acc。
通过我的模型摘要显示我的模型是正确的。为什么要更改history每个折叠的拟合模型对象中的名称?
这是一个非常好的问题,它说明了一些非常重要的问题keras。名称以这种方式更改的原因是,keras即使您覆盖模型,也不会清除先前定义的变量。您可以session.graph通过调用以下命令轻松检查变量是否仍在:
from keras import backend as K
K.get_session().graph.get_collection('variables')
Run Code Online (Sandbox Code Playgroud)
为了清除先前的模型变量,可以调用:
K.clear_session()
Run Code Online (Sandbox Code Playgroud)
但是-要小心-因为您可能会丢失现有模型。如果要保持名称不变,只需name在图层实例中添加参数即可为图层命名,例如:
Dense(10, activation='softmax', name='output')
Run Code Online (Sandbox Code Playgroud)