Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在一个循环中拟合不同历元数的神经网络,而无需每次重复_Python_Loops_Neural Network_Deep Learning_Keras - Fatal编程技术网

Python 在一个循环中拟合不同历元数的神经网络,而无需每次重复

Python 在一个循环中拟合不同历元数的神经网络,而无需每次重复,python,loops,neural-network,deep-learning,keras,Python,Loops,Neural Network,Deep Learning,Keras,我正在使用keras库在python中拟合一个递归神经网络。通过在Sequential.fit()函数中更改参数nb_epoch,我用不同的epoch编号来拟合模型。目前,我正在使用for循环,每次我更改nb_epoch时都会重新开始拟合,这是大量重复的工作。这是我的代码(如果您想跳过代码细节的其他部分,循环位于代码的底部): 现在这个循环效率很低。因为例如,当它设置时,比如说,nb_epoch=100,它从epoch=1开始训练,在epoch=100结束训练,如下所示: Epoch 1/100

我正在使用
keras
库在
python
中拟合一个递归神经网络。通过在
Sequential.fit()函数中更改参数
nb_epoch
,我用不同的
epoch
编号来拟合模型。目前,我正在使用
for
循环,每次我更改
nb_epoch
时都会重新开始拟合,这是大量重复的工作。这是我的代码(如果您想跳过代码细节的其他部分,循环位于代码的底部):

现在这个循环效率很低。因为例如,当它设置时,比如说,
nb_epoch
=100,它从
epoch=1
开始训练,在
epoch=100
结束训练,如下所示:

Epoch 1/100
0s - loss: 1.9508 - val_loss: 296.7801
.
.
.
Epoch 100/100
0s - loss: 7.6575 - val_loss: 366.2218
在循环的下一次迭代中,它表示
nb_epoch=200
它再次从
epoch=1
开始训练,并在
epoch=200
结束。但我想做的是,在这个迭代中,从循环的最后一个迭代中剩下的地方开始训练,即
epoch=100
,然后
epoch=101
,依此类推


如何修改此循环以实现此目的

连续调用
fit
将进一步训练您的模型,从上次调用时留下的状态开始。要使其继续,必须重置模型的权重,而
拟合
则不行。你只是没有看到它是这样做的,因为它总是从1开始计算时代

所以最后的问题是它没有打印正确的历代数(你不能更改)


如果这让您感到困扰,您可以通过定期调用来实现自己的
fit

您可以使用fit的
initial\u epoch
参数(请参阅)

Epoch 1/100
0s - loss: 1.9508 - val_loss: 296.7801
.
.
.
Epoch 100/100
0s - loss: 7.6575 - val_loss: 366.2218