发新帖

如何在已经有的ckpt或者PB文件上加入新的训练对象?

[复制链接]
443 4

快来加入 TensorFlowers 大家庭!

您需要 登录 才可以下载或查看,没有帐号?加入社区

x
tensorflow训练完成后可以通过ckpt得到FROZEN..PB文件,然后再调用这个PB文件就可以进行识别。
如何在这个原有的PB上加入新的训练对象?

即原来可以识别 ABC,现在在ABC的基础上加入DEF等物体。就可以识别ABC DEF 6个物体了

如何做?

谢谢!
我知道答案 回答被采纳将会获得10 金币 + 5 金币 已有4人回答
本楼点评(0) 收起

精彩评论4

快到碗里来  TF豆豆  发表于 2019-1-29 09:59:43 | 显示全部楼层
不存在的,DEF模型都没见过,都没学习过,怎么可能懂得去识别DEF.
本楼点评(2) 收起
  • szllm可能是我的问题没有描述清楚,
    我的意思是在ABC上添加DEF的训练,不用再训练ABC了
    2019-1-30 11:34 回复
  • 快到碗里来回复 szllm :你的意思是现在有个模型可以识别ABC,然后你想对模型再次训练,增加能识别DEF,但不用到ABC的数据,只用DEF的数据?
    2019-1-30 17:18 回复
Zongjun  TF豆豆  发表于 2019-2-5 02:45:53 | 显示全部楼层
建议你看一下这个链接:https://datascience.stackexchang ... deep-learning-model
下面是我的个人理解:楼主这个问题不就是transfer learning加fine-tuning吗?分两步走:
   1. Freeze你之前训练好的所有参数(即这些参数不参与训练),在原模型上删掉最后的output layer(即输出ABC结果的那一层),然后再额外加一层用来训练识别DEF。这一步本质是用新的层来识别DEF,该模型对ABC的识别能力不变。此步骤不用太多顾虑learning rate,正常训练即可。
   2. 拿着第一步你训练好的这个新模型的参数,再训练一遍DEF。这一次,所有参数参与训练(即取消第一步的freeze)。但是注意:learning rate一定要低,否则对ABC的识别可能就很惨了。

楼主可以尝试着去做,但是,如果ABC不大,感觉直接重新训练一遍ABCDEF更靠谱。
本楼点评(0) 收起
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

主题

帖子

3

积分
快速回复 返回顶部 返回列表