Почему здесь происходит дублирование имени узла (в Керасе)? - PullRequest
1 голос
/ 16 апреля 2020

У меня есть такая функция для создания маски (из расслабленного распределения Бернулли).

# Using tensorflow 2.0.0, keras 2.3.1

def get_mask(inputs, units, px, ph):
    input_shape = K.shape(inputs)
    B = input_shape[0]
    D = input_shape[2]
    t = 1e-1
    eps = K.epsilon()

    ux = K.random_uniform((4, B, D))
    uh = K.random_uniform((4, B, units))

    zx = (1-K.sigmoid((K.log(px+eps) - K.log(1-px+eps) + K.log(ux+eps) - K.log(1-ux+eps)) / t))/(1-px)
    zh = (1-K.sigmoid((K.log(ph+eps) - K.log(1-ph+eps) + K.log(uh+eps) - K.log(1-uh+eps)) / t))/(1-ph)

    return zx, xh

Во второй строке, где я рисую выборки из равномерного распределения ValueError: Duplicate node name in graph: 'time_distributed_29/random_uniform/shape'.

Почему он создает имя узла таким образом, и как я могу избежать этого?

До этого я пытался создать некоторые другие тензоры из K.random_uniform, например K.random_uniform((1, 2, 3)), но они не вызывали эту проблему .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...