首页 > 解决方案 > keras中的重复节点

问题描述

from keras import backend as K
from keras.datasets import mnist
from keras.layers import Input, Dense, Lambda, Layer, Add, Multiply
from keras.models import Model, Sequential
original_dim = 784

inputs = Input(shape=(original_dim,))
x = Dense(e_dim1, activation='relu')(inputs)

eps1 = Input(tensor=K.random_normal(stddev=1.0,shape=(K.shape(x)[0], latent_dim)))
eps2 = Input(tensor=K.random_normal(stddev=1.0,shape=(K.shape(x)[0], latent_dim)))

在上面的示例中,我尝试从潜在维度中进行采样,以便在 Keras 模型中进一步使用。当我运行第二次采样时,即 eps 我收到以下错误。

ValueError: Duplicate node name in graph: 'random_normal/shape'

可能是该错误特定于 tensorflow 2.0,因为 python 不会在 tensorflow==1.1.0 上引发错误

标签: python-3.xkeras

解决方案


这个函数我之前也遇到过同样的问题,因为不知怎么的图不能通过random_normal计算张量的维数,所以我尝试指定input_shape或者output_Shape,效果很好,所以强烈建议你也这样做


推荐阅读