问题标签 [resuming-training]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1533 浏览

snapshot - Caffe:从经过训练的快照恢复失败并出现错误

我用一些配置训练了我的网络,然后保存了它的快照。
现在我正在尝试从最后一个快照恢复,但失败并显示以下错误消息:

这就是我试图恢复它的方式:

然后我放弃了,我尝试使用BINARYPROTO而不是HDF5,但我收到了这个错误:

当我用不同的模型尝试不同的时间时,历史部分会发生变化(例如 58 vs 28、32 vs 28 和这样,总体错误是相同的,但数字不同!)

我应该怎么办?这让我发疯了!

0 投票
1 回答
50 浏览

tensorflow - Tensorflow: loading, saving time

I have four different models with same structures, which are used as a predictor in the "main" problem. Each time in "main" problem I call one of them to provide the prediction. Also, using the new observation, I updates the weights of the each network.

Currently, in order to differentiate between the models I save them in four different ckpt models, then I load them each time to do prediction or updating it. When the network is updated, I save it again.

This procedure works good. The problem is that initializing the variables, loading the model, and saving it again is too expensive. Each time I call the network to update, it takes about 10 seconds which around 1 second is for training and the reminder of time is for initializing, loading and saving.

As another approach, I tried to have the model stayed in memory. But, since I have one dnn.py, which I call it for each of the four problems, the name of the variables, parameters, etc. are the same. So, TensorFlow get confused about them, and it just does not work. Since I may have more than four predictors, (even like 22), it is not reasonable to create four different dnn.py with different name of variables.

I would appreciate any help to write the procedure in an efficient way.

Best,

Afshin

0 投票
0 回答
231 浏览

python - Keras - 使用 theano 后端(K.function)计算损失时编译模型

我正在 Keras 中构建一个 NN,并且正在使用 Theano 后端。

代码:

如果我使用上述参数编译这个模型并保存它,加载的模型会保留训练配置(损失,优化)吗?

由于我使用 K.function(...) 方法来计算成本(损失),这会以任何方式影响模型的配置吗?

到目前为止,我还没有找到一种方法来检查恢复模型的配置是否与保存的配置相同。那么,有没有办法打印出网络配置以检查它是否已正确恢复,即使用与保存时完全相同的配置和参数?

0 投票
7 回答
105118 浏览

python - 加载经过训练的 Keras 模型并继续训练

我想知道是否可以保存部分训练的 Keras 模型并在再次加载模型后继续训练。

这样做的原因是我将来会有更多的训练数据,我不想再次重新训练整个模型。

我正在使用的功能是:


编辑 1:添加了完整的工作示例

使用 10 个 epoch 后的第一个数据集,最后一个 epoch 的损失将为 0.0748,准确度为 0.9863。

保存、删除和重新加载模型后,在第二个数据集上训练的模型的损失和准确率将分别为 0.1711 和 0.9504。

这是由新的训练数据引起的还是由完全重新训练的模型引起的?


编辑 2:tensorflow.keras 备注

对于 tensorflow.keras,将参数 nb_epochs 更改为模型拟合中的 epochs。导入和 basemodel 函数是:

0 投票
2 回答
696 浏览

tensorflow - TensorFlow 模型恢复(恢复训练似乎从头开始)

保存模型后,我无法恢复训练。问题是,例如,我的损失从 6 减少到 3。这时我保存模型。当我恢复它并继续训练时,损失从 6 重新开始。看来恢复并没有真正起作用。我不明白,因为打印权重,似乎它们已正确加载。我使用 ADAM 优化器。提前致谢。这里:

0 投票
1 回答
325 浏览

tensorflow - 在分布式张量流中仅恢复零件模型的推荐方法是什么

当我们在不同的任务上对模型进行微调时,模型中只有一部分 vars 从预训练任务中恢复,其他的则保留为初始值。

正如许多文档所建议的(page1 page2),在使用本地图进行训练时,在运行全局初始化操作后恢复预训练模型(如果包含 MonitoredSession 或主管,则在“init_fn”中调用恢复)。

但是在分布式情况下,全局初始化操作是否在调用恢复模型之前使“model_ready”返回true?其他非主节点将使用“未就绪”值。

0 投票
1 回答
96 浏览

python-2.7 - 如果系统中断(python),如何在最后一次迭代中恢复 for 循环?

我对python很陌生。事实上,我正在研究深度学习并尝试训练我的网络。

由于数据库的大小,系统经常崩溃。

我正在尝试找到一种解决方案,使我能够在最后一次迭代(崩溃的地方)恢复程序,而不必重新开始所有训练。

0 投票
0 回答
366 浏览

tensorflow - 如何修改预训练图?张量流


我想修改一个预训练模型,然后对其进行微调。我能够在张量流中加载图表。但是发生的情况是,当我编写新图层时,我的图形的形状会意外改变。代码很长,但在这里

所有的层几乎都是一样的,只是我添加了 W_fc3 和 W_fc2。我在哪里做错了?

0 投票
1 回答
1729 浏览

gensim - gensim doc2vec 从预训练模型中训练更多文档

我正在尝试使用预先训练的模型使用新的标记文档(TaggedDocument)进行训练。

预训练模型是具有唯一id为label1_index的文档的训练模型,例如Good_0,Good_1到Good_999,训练数据的总大小约为7000

现在,我想用带有label2_index的唯一id的新文档训练预训练模型,例如,Bad_0,Bad_1 ...到Bad_1211,训练数据的总大小约为1211

火车本身是成功的,没有任何错误,但问题是,每当我尝试使用“most_similar”时,它只会建议标有 Good_ 的类似文档......我希望标有 Bad_。

如果我从一开始就完全训练,它会给我预期的答案——它推断出一个新给定的文档,类似于标有“好”或“坏”的文档。

但是,上面的练习不会像从一开始就完全训练的那样起作用。

是继续火车无法正常工作还是我犯了一些错误?

0 投票
1 回答
492 浏览

model - 无法从 keras 中的检查点模型恢复训练

当模型在准确性方面超过前一个时期时,我会在每个时期保存模型。但是当我加载模型时,它不会从保存的模型点恢复。代码如下: