我正在使用Tensorflow Core(无API纯Tensorflow)构建堆叠式卷积自动编码器。我想在编码器和解码器之间添加不可训练的层。是否有人知道如何在张量流图中添加不可训练的层。附有张量图图形图片,出现在蓝色标记框中的操作是我要使其不可训练的操作,或者可以说我不希望对其进行梯度计算。 TF版本:1.15 我已经尝试过tf.stop_gradient()方法,但是该方法阻止了之前所有输入的贡献。 Tensorboard Graph
答案 0 :(得分:0)
您有两个选择:
tf.Variable
或tf.get_variable
定义权重变量时,请传递trainable=False
。这将阻止将变量添加到可训练变量集合(可通过tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES)
访问)中,该集合默认情况下用作优化程序要训练的变量列表。minimize
或compute_gradients
定义优化步骤时,请传递一个var_list
参数以及要训练的变量列表。然后,优化器将忽略可训练变量集合,只会影响列出的变量。