python – 在Tensorflow中微调深度神经网络

我想在Tensorflow中对预训练的深度神经网络进行部分微调(例如,为所有层加载权重,但只更新更高层次的权重).

Tensorflow中是否有任何方法可以选择应该更改的变量和应该保持相同的变量?

先感谢您!

解决方法:

在创建优化程序(例如tf.train.AdagradOptimizer)以训练模型时,可以将显式var_list = […]参数传递给Optimizer.minimize()方法. (如果未指定此列表,则默认包含tf.trainable_variables()中的所有变量.)

例如,根据您的模型,您可以使用变量的名称来定义要优化的变量列表:

# Assuming all variables to be fine-tuned have a name that starts with
# "layer17/".
opt_vars = [v for v in tf.trainable_variables() if v.name.startswith("layer17/")]

train_op = optimizer.minimize(loss, var_list=opt_vars)

相关文章

MNIST数据集可以说是深度学习的入门,但是使用模型预测单张M...
1、新建tensorflow环境(1)打开anacondaprompt,输入命令行...
这篇文章主要介绍“张量tensor是什么”,在日常操作中,相信...
tensorflow中model.fit()用法model.fit()方法用于执行训练过...
https://blog.csdn.net/To_be_little/article/details/12443...
根据身高推测体重const$=require('jquery');const...