2017-05-09 50 views
0

我想將一個固定權重矩陣傳遞給張量流中的二維卷積運算。我試着把trainable=False如下,但TF似乎忽略了這個選項。Tensorflow'trainable = False'被忽略

w = tf.Variable(w, trainable=False, dtype=tf.float32, name='upscaleW') 
data = tf.nn.conv2d_transpose(data, w, outshapeF, strides, padding="SAME", data_format=data_format, name='UpsamplingDeconv2D') 

它在訓練過程中不斷失去精度。 1變成0.98然後0.96等,0變成0.012等。

如果我做tf.trainable_variables()upscaleW不存在。我只能在tf.global_variables()中找到它們,所以它們甚至不在可訓練變量列表中。我無法弄清楚如何凍結重量。

可能這條線有問題嗎? https://github.com/tensorflow/tensorflow/blob/r1.1/tensorflow/python/ops/nn_ops.py#L1075

回答

1

沒關係。我的錯。在我的代碼中,我傳遞給minimize(var_list=tf.contrib.framework.get_variables())而不是get_trainable_variables,這顯然覆蓋了trainable=False的論點。