【问题标题】:feed data for CNN in different time在不同时间为 CNN 提供数据
【发布时间】:2016-08-26 14:11:11
【问题描述】:

我现在正在学习机器学习,我有一个问题,我们可以在不同的时间将数据输入神经网络,例如, 今天我有 10000 张图像来训练图像识别神经网络,我得到了一个带有 weights1 和 bias1 的神经网络, 明天,我再得到100张图像,我想在旧神经网络的基础上训练神经网络。

这可能吗?

我认为这是人类识别的自然方式。

非常感谢

最好的问候

【问题讨论】:

    标签: machine-learning tensorflow


    【解决方案1】:

    是的,有可能,例如搜索“在线学习”,在在线学习中,当有新数据进来时,您会增量训练。对于具体的 tensorflow,您可以保存/加载您的模型,并在加载后进行训练。

    【讨论】:

    • 谢谢,我想用tensorflow实现这样的在线学习,有什么简单的方法入手吗?
    • 还有,我在网上搜索了一下,好像没有太多相关的资料,大部分都是关于人类学习的
    • 这是真的!几乎所有与人类学习有关的东西。看看这个视频:youtube.com/…在tensorflow的情况下,我主要使用tflearn和skflow(它们是tensorflow之上的2个框架),在skflow的情况下,你只需为构造函数指定一个logdir参数,这将为模型创建检查点和必要的文件,当您想继续训练时,您只需使用相同的 logdir 参数再次实例化模型,它将自动 (1/2)
    • 加载您保存的权重和偏差,您只需再次调用“fit”,它将继续增量训练。对于 tflearn,您在使用 model.save(directory) 训练后保存模型,然后使用 model.load(directory) 加载它,加载后,您只需继续使用 fit 再次尝试。看看这 2 个框架,它们让 tensorflow 更容易采用
    • 其实现代名词不是在线学习,而是持续学习。简单地以“增量”/“在线”方式学习并不能确保您不会忘记之前所学的内容。神经网络遭受灾难性遗忘(给定新数据,并训练足够长的时间 - 他们忘记了你以前拥有的一切)。
    猜你喜欢
    • 1970-01-01
    • 2013-02-12
    • 2012-08-31
    • 2018-10-14
    • 2018-09-03
    • 1970-01-01
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多