存储和使用训练有素的神经网络

Jam*_*een 7 python machine-learning neural-network heavy-computation recurrent-neural-network

我正在尝试开发一个神经网络来预测时间序列.

据我所知,我正在训练我的神经网络训练集并用测试集验证它.

当我对我的结果感到满意时,我可以使用我的神经网络来预测新值,而神经网络本身基本上只是我使用训练集调整的所有权重.

它是否正确?

如果是这样,我应该只训练我的网络一次,然后只使用我的网络(权重)来预测未来的价值.您通常如何避免重新计算整个网络?我是否应该将所有权重保存在数据库或其他内容中,以便我可以随时访问它而无需再次训练?

如果我的理解是正确的,我可以在专用计算机(例如超级计算机)上进行大量计算,然后在网络服务器,iPhone应用程序或类似的东西上使用我的网络,但我不知道如何存储它.

Mos*_*oye 5

要使您的神经网络具有持久性,您可以pickle做到。您无需重新计算经过训练的腌制网络的权重,您所需要做的就是解开网络并使用它进行新的预测。

有类似的库joblib可用于更有效的序列化/处理

是否重新训练神经网络的问题并非微不足道。这取决于您使用网络的确切目的;说强化学习可能需要您重新接受新的信念。但是在某些情况下(也许在这种情况下),一次又一次地使用经过训练的网络可能就足够了,或者在将来您拥有更多现场数据的将来进行重新训练就足够了。