小编Emi*_*son的帖子

在TensorFlow张量上调用Keras模型但保持权重

Keras中,作为TensorFlow的简化界面:教程描述了如何在TensorFlow张量上调用Keras模型.

from keras.models import Sequential

model = Sequential()
model.add(Dense(32, activation='relu', input_dim=784))
model.add(Dense(10, activation='softmax'))

# this works! 
x = tf.placeholder(tf.float32, shape=(None, 784))
y = model(x)
Run Code Online (Sandbox Code Playgroud)

他们还说:

注意:通过调用Keras模型,您将重用其体系结构和权重.当您在张量上调用模型时,您将在输入张量之上创建新的TF操作,并且这些操作正在重用模型中已存在的TF变量实例.

我将此解释为模型的权重与模型中的权重相同y.但是,对我来说,似乎重新初始化了生成的Tensorflow节点中的权重.一个最小的例子如下:

import numpy as np
from keras.models import Sequential
from keras.layers import Dense
# Create model with weight initialized to 1
model = Sequential()
model.add(Dense(1, input_dim=1, kernel_initializer='ones',
                bias_initializer='zeros'))
model.compile(loss='binary_crossentropy', optimizer='adam',
              metrics=['accuracy'])

# Save the weights 
model.save_weights('file')

# Create another identical model except with weight initialized to 0
model2 = Sequential() …
Run Code Online (Sandbox Code Playgroud)

keras tensorflow

8
推荐指数
1
解决办法
3178
查看次数

标签 统计

keras ×1

tensorflow ×1