模型集重量(model.get_权重())返回

2024-04-24 14:03:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我在多线程环境中工作,将权重传递给函数并在那里重新创建模型。现在,在我的函数中,model.set_weights(model.get_weights())都不起作用。在

我尝试过使用K.clear_session并逐层设置权重,但都不起作用。在

我的代码的目的是:

def create_model(parameters=None):
    """Create a model from weights."""
    from keras.models import Sequential
    from keras.layers import Dense
    import keras.backend as K
    model = Sequential()
    model.add(Dense(12, input_dim=8, init='uniform', activation='relu'))
    model.add(Dense(8, init='uniform', activation='relu'))
    model.add(Dense(1, init='uniform', activation='sigmoid'))
    if parameters:
        model.set_weights(parameters)
    else:
        model.compile(loss='binary_crossentropy', optimizer='RMSProp', metrics=['accuracy'])
    return model

不管怎样。。。在

^{2}$

…不起作用。在

我在运行程序时遇到错误ValueError: Fetch argument <tf.Variable 'dense_1/kernel:0' shape=(8, 12) dtype=float32_ref> cannot be interpreted as a Tensor. (Tensor Tensor("dense_1/kernel:0", shape=(8, 12), dtype=float32_ref) is not an element of this graph.)。请记住,这发生在多线程环境中。在


Tags: 函数fromimportaddmodelinituniformactivation