python - 在不丢失当前模型的情况下使用旧模型进行预测
问题描述
我正在训练一个逐步学习新类的模型,例如在前 70 个左右的时期内有 n 个目标类,然后是原始的 n 个类加上 m 个新的目标类等。在 n+m 个目标类上训练模型时,损失函数需要来自在 n 个目标类上训练的模型的预测。如何有效恢复旧模型?
似乎我可以通过为每个批次创建两个单独的会话并在一个中加载旧模型然后在另一个中训练新模型来做到这一点,但这非常低效并且使训练从需要数小时到数天。
解决方案
是否可以使用权重来做到这一点?将目标的权重设为 1,非目标的权重设为 0
起初,你的权重张量在[1]*n + [0]*m
(+ 和 concat 中一样)。然后,您可以将其分配给[1]*(n+m)
何时要添加 m 个新目标等等。
推荐阅读
- c++ - Qt将十六进制值作为指针传递并访问它
- python - Python 新手,想知道是否可以创建特定图形
- ruby-on-rails - Rails:has_many 中子对象名称的自定义错误消息?
- reactjs - 从函数返回值创建类型
- html - 防止在 Angular 4 中使用 unicode 字符
- angularjs - 如何在 Angular Electron 中加载模块?
- python - 当明确要求不生成 inf 的假设策略
- scala - scala方法调用后的下划线是什么意思?
- javascript - 我无法弄清楚为什么我无法让 bootstrap 4 菜单在移动设备上折叠
- java - 如何将 Chrome 浏览器搜索结果区域设置为特定国家/地区?