在Jupyter Notebook中运行的怪异层后缀问题

时间:2019-03-07 15:39:50

标签: keras jupyter

from keras import layers as KL
def create_model():
    inp = KL.Input(shape=(None,), name='input')
    embedding = KL.Embedding(input_dim=10, output_dim=10)(inp)
    out = KL.Dense(1, activation='sigmoid', name='dense')(embedding)
    model = KM.Model(inputs=[inp], outputs=[out])

    return model

model1 = create_model()
model1.summary()
model2 = create_model()
model2.summary()

model1的输出:

embedding_1 (Embedding) 

model2:

embedding_2 (Embedding) 

为什么图层名称不固定?如果我再次运行create_model(),该名称将后缀_3

有什么主意吗?这与在Jupyter中运行有关系吗? Jupyter内核是否以某种方式缓存变量?谢谢!

1 个答案:

答案 0 :(得分:0)

每个图层都有一个名为name的参数,用于设置图层名称。您可以使用此名称将自己的固定名称放入图层,以便稍后对其进行操作。

例如:

conv1 = Conv2D(..., name='conv1')(some_input)