Keras '中无法解释的代码;深入学习Python书籍';

Keras '中无法解释的代码;深入学习Python书籍';,keras,deep-learning,Keras,Deep Learning,在Francois Chollet的《Python深度学习》一书中,他给出了一个简单的VAE模型,最后,他希望生成一些新的数字,如下所示: 只需看看代码的分离部分(在中间)。他拿了一个样本(Z_样本),然后重复它,嗯!然后将所有这些信息输入到生成器(译码器),他告诉译码器这是一个批处理!!,不管怎么说,最后,他只得到了一个输出!!如您稍后所见,x_解码了[0] n = 15 digit_size = 28 figure = np.zeros((digit_size * n, digit_size

在Francois Chollet的《Python深度学习》一书中,他给出了一个简单的VAE模型,最后,他希望生成一些新的数字,如下所示:

只需看看代码的分离部分(在中间)。他拿了一个样本(Z_样本),然后重复它,嗯!然后将所有这些信息输入到生成器(译码器),他告诉译码器这是一个批处理!!,不管怎么说,最后,他只得到了一个输出!!如您稍后所见,x_解码了[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]])
问:他为什么这样做?我去掉了那种感觉,一切都正常了。
第二个问题:在预测方法中对batchsize进行论证到底有什么意义??我的意思是,在训练阶段是可以理解的,但在推理阶段是不可以理解的。

Keras可以批量进行预测,如果您提供
batch\u size
参数。不过,我不确定你的第一个问题。我可以看到它可以被移除。我不知道他为什么要整个批次都重复这个切片。太好了!你明白我的意思了。不管怎样,我把它取下来了,一切都很好。回到第二个问题,我还是不明白!你为什么要分批预测?因为你不能预测批发?任何你需要的应用程序或案例?你当然可以预测整个过程。在这种情况下,如果数据不适合您的RAM,您可以分批进行预测。但我不太清楚为什么在这个例子中需要它。我的观点是。。。这是可以做到的,这是可能的,有时也需要回答你的“关键点是什么”。同样在Keras 1中,
BatchNormalization
使用不同的
模式,其中批量预测可能会对推断值产生一些差异。在Keras 2中,这一点已被删除。批次是训练或预测时的解决方案,您无法在RAM中拟合模型,特别是当多个样本需要预测时。同时预测多个样本的速度也更快,因为您可以从CPU和GPU的并行化中获益。如果您提供
batch\u size
参数,Keras可以成批进行预测。不过,我不确定你的第一个问题。我可以看到它可以被移除。我不知道他为什么要整个批次都重复这个切片。太好了!你明白我的意思了。不管怎样,我把它取下来了,一切都很好。回到第二个问题,我还是不明白!你为什么要分批预测?因为你不能预测批发?任何你需要的应用程序或案例?你当然可以预测整个过程。在这种情况下,如果数据不适合您的RAM,您可以分批进行预测。但我不太清楚为什么在这个例子中需要它。我的观点是。。。这是可以做到的,这是可能的,有时也需要回答你的“关键点是什么”。同样在Keras 1中,
BatchNormalization
使用不同的
模式,其中批量预测可能会对推断值产生一些差异。在Keras 2中,这一点已被删除。批次是训练或预测时的解决方案,您无法在RAM中拟合模型,特别是当多个样本需要预测时。同时预测多个样本的速度也更快,因为您可以从CPU和GPU的并行化中获益。
>     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