В книге Франсуа Шоле «Глубокое обучение с Python» он приводит простую модель VAE, в конце он хочет сгенерировать несколько новых цифр следующим образом:
Просто посмотрите на отдельную часть кода(в середине).Он берет образец (Z_sample), а затем повторяет его!затем подайте все это на генератор (декодер), и он сообщает декодеру, что это пакет !!x_decoded [0], как вы увидите позже.
n = 15
digit_size = 28
figure = np.zeros((digit_size * n, digit_size * n))
grid_x = norm.ppf(np.linspace(0.05, 0.95, n))
grid_y = norm.ppf(np.linspace(0.05, 0.95, n))
for i, yi in enumerate(grid_x):
for j, xi in enumerate(grid_y):
z_sample = np.array([[xi, yi]])
> z_sample = np.tile(z_sample, batch_size).reshape(batch_size, 2)
> x_decoded = decoder.predict(z_sample, batch_size=batch_size)
digit = x_decoded[0].reshape(digit_size, digit_size)
figure[i * digit_size: (i + 1) * digit_size,
j * digit_size: (j + 1) * digit_size] = digit
Вопрос: зачем он это сделал?Я удалил эту ерунду, и все заработало.Второй вопрос: в чем смысл иметь аргумент для размера пакета в методе предиката?Я имею в виду, это понятно на этапе обучения, но не на этапе вывода.