神经网络训练好之后,怎样增加数据再次训练。

Keras 可以保存模型:
FAQ - Keras Documentation
另外,Keras 并不需要把所有的数据都读到内存里,利用 model 类的 fit_generator 方法可以每次提供一部分数据训练模型。

■网友
训练不必一次性把所有数据都读到内存(无论CPU还是GPU)中,每次读一个batch就可以;同时,keras可以把保存模型,可以load已经保存的模型,在进行fine-tuning。

■网友
【神经网络训练好之后,怎样增加数据再次训练。】 Keras是可以实现的,每次保存参数,下次训练之前,把参数load进去。但是这样的话,你训练出来的网络可能基本是基于最后一批数据的。假设你每批数据100个样品,batch size = 5, 共计20个batch,每个epoch把这20个batch依次走一遍,这是正常的training。 但是这样总100个样品的数据你总共15批,可以看做总计有15个超级batch,每个超级batch的size是100。如果你想这么加数据进行training,这15个超级batch不能只跑一次吧,只要也要跑几个这种超级epoch才能比较准吧。
可以再写个外部循环,每次从硬盘上把这100个样品读进内存,完了在删了读下一个。

■网友
tensorflow中可以使用tf.train.Saver()和restore()保存和提取网络的参数。keras框架是基于tensorflow的,可以说底层就是tf,可以用tensorflow实现。

■网友
如果不能,那你觉得fine-tune是怎么做的。。把input路径改成新的就好了
■网友
没有那么大的硬盘就尽量别玩儿dl了...
tensorflow可以实现,但是你这种训练方式不好...白瞎了那么多数据了。


    推荐阅读