下面的代码来自TensorFlow in Practice中Coursera的deeplearning.ai课程(计算机视觉示例-第2周)。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>
<em class="match js-match" style="background-color: rgb(228, 255, 0); color: rgb(0, 0, 0)">
<em class="match js-match" style="background-color: rgb(98, 238, 120); color: rgb(0, 0, 0);">
<em class="match js-match" style="background-color: rgb(255, 0, 76); color: rgb(255, 255, 255);">
<anotation>Some text...</anotation>
</em>
</em>
</em>
</p>
问题:TensorFlow如何推导输入层的形状?此处将哪个形状展平?输入形状应该从输入数据的形状中得出,我在这里遗漏了什么吗?
答案 0 :(得分:0)
考虑到model.fit(training_images,training_labels),Tensorflow API会自动将training_images传递到第一层。
Training_images是形状的张量(m,28,28,1)。 哪里, m-训练图像总数, 28x28-图片尺寸, 1-通道(灰度),
tf.keras.layers.Flatten(),将(28,28,1)28x28图像重塑为->(784,)。
查看此内容以获取Flatten()方法的源代码。 https://github.com/tensorflow/tensorflow/blob/v2.2.0/tensorflow/python/keras/layers/core.py#L598-L684