首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TensorFlow:在预训练的盗梦模型中添加类&输出完整的图像层次结构

TensorFlow:在预训练的盗梦模型中添加类&输出完整的图像层次结构
EN

Stack Overflow用户
提问于 2016-07-07 13:25:57
回答 3查看 5.4K关注 0票数 10

两个问题:

1)有没有人知道我是否可以在预先训练的“盗梦空间-v3”模型中添加新的图像类?例如,我想在许多国旗上训练TensorFlow,但我需要确保我仍然能够识别来自ImageNet层次结构的图像。我意识到有一种方法可以清除盗梦空间的顶层,并在我的类中完全重新训练模型,但这非常限制和耗时。

2)此外,是否有一种方法可以输出包含图像接收到的标记的整个层次结构?我希望不仅能够具体地看到“盗梦空间”将图像标记为什么,而且希望看到来自ImageNet的所有更广泛的“同步”。例如,我不只是看到输出的“玩具狮子狗”,我对“动物/驯化的动物/狗/狗/玩具狮子狗”感兴趣。

如有任何答复,将不胜感激。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-07-07 14:05:03

1)输出层是softmax,这意味着它有预定义的神经元数目,每个神经元都是为一个特定的类定义的。从技术上讲,您可以执行网络外科学,以便它在输出层中有多一个神经元,这将代表您的新类。但是你必须对你的网络进行额外的训练,这样它才能更新它的所有权重,以便对新的类进行解释。坏消息-这可能需要一段时间,因为更新将影响整个网络和网络是巨大的。好消息--在预先训练过的现有网络中,这种改变将比从头开始学习更快。

2)你凭什么认为这种等级制度是存在的?您不可能确切地知道数据的内部表示形式。当然,你可以观察神经元在每一个功能中的活动,甚至可以将它们可视化.但是你必须试着去理解这些激活本身意味着什么。你可能找不到任何你希望看到的等级。因此,总之,了解ANN如何在内部表示数据不是一件容易的事情。实际上-非常困难的一个。

建议进一步阅读:https://github.com/tensorflow/models/tree/master/inception

注意文档的这部分 --它与您的#1密切相关。

票数 5
EN

Stack Overflow用户

发布于 2017-12-24 15:38:10

  1. 以下是相关问题:如何使现有的模型识别额外的类?

以下是一些解释:https://github.com/tensorflow/models/issues/2510

因此,如果有模型检查点,就有可能以某种方式建立模型。下面是带有finetuning示例的回购链接:https://github.com/tensorflow/models/tree/master/research/slim/

  1. 可以为类获取节点名称和人类可读的段塞,因此您可以按类别手动链接节点。但这很费时。
票数 4
EN

Stack Overflow用户

发布于 2017-12-24 15:48:44

是的,你可以,我最近做了一件非常相似的事情,在我的例子中,那是生片植物的叶子和健康的植物叶。v3的初始阶段已经训练好了,你要做的就是转移学习。转移学习是一种技术,它通过对一组类别(如ImageNet )采用经过充分训练的模型,并从现有的权重中为新类进行再训练,从而简化了许多工作。

链接:tensorflow.org的图像再培训

视频来源:YouTube视频教程,Hvass实验室有一些很好的视频资源来纠正你的问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38246725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档