针对固定网络和固定输出优化输入

时间:2018-09-21 15:03:31

标签: tensorflow keras

我正在尝试采用一个预先训练的图像分类模型,它是一个keras模型,并为某个输出创建输入。这个想法是初始化一个随机图像,将其传递给网络并计算损失。该损失可用于优化INPUT图像,而模型的权重保持固定。我正在尝试混合使用TensorFlow和Keras。

im = np.random.normal(10,1,size=(1,40,40,4))
im = tf.convert_to_tensor(im,dtype=tf.float32)
model = load_model(path)
model.trainable = False
for layer in model.layers:
     layer.trainable = False
output = model.call(im)
loss = binary_crossentropy(label,output)
training = tf.train.AdamOptimizer().minimize(loss)
sess = K.get_session()
for i in range(epochs):
     sess.run(training)

但是,当我在for循环中训练时打印图层的权重时,我发现网络的权重根本没有冻结。

如何解决冻结砝码的问题。还有另一种方法来解决这个问题吗?

感谢您的关注! :)

0 个答案:

没有答案