如何在我的Tensorflow项目中使用预训练网络的权重? 我知道一些有关此的理论信息,但没有有关张量流编码的信息。
答案 0 :(得分:0)
正如@Matias Valdenegro在评论中指出的那样,您的第一个问题没有道理。对于第二个问题,有多种方法可以解决。您要搜索的术语是转学(TL)。 TL意味着将“知识”(基本上只是权重)从预先训练的模型转移到您的模型中。现在有几种类型的TL。
1)您将整个权重从预先训练的模型转移到模型中,并将其作为训练网络的起点。
2)您只能将一些权重从预先训练的模型转移到新模型中。
要在Tensorflow中执行这些操作,
1)第一种类型的TL可以通过创建具有与先前模型完全相同的体系结构的模型并使用 tf.train.Saver()。restore()< / em> 模块并继续培训。
2)第二种类型的TL可以通过为要保留权重的零件创建具有完全相同架构的模型,然后指定要在其中使用权重的名称来执行要从以前的预训练重量中加载。您可以使用参数 “ trainable = False” 来阻止Tensorflow更新它们。
我希望这会有所帮助。