《使用Python进行深度学习》中的莫名代码

时间:2019-04-19 11:24:47

标签: keras deep-learning

在Francois Chollet的书“使用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

问题:他为什么这样做?我删除了这些废话,一切正常。 第二个问题:在预测方法中为批量大小提供参数的意义到底是什么?我的意思是,这在训练阶段是可以理解的,但在推理阶段却不是。

0 个答案:

没有答案