Как понять раздел "плотно связанный слой" в учебнике tensorflow
на Плотно Соединенный Слой раздел учебника tensorflow, он говорит, что размер изображения 7 x 7, после его обработки. Я попробовал код, и, похоже, эти параметры работают.
но я не знаю, как вам это 7 x 7 измерение. Я понимаю это:
- исходное изображение 28 x 28,
- в 1-м слое conv,
max_pool_2x2
функция уменьшит оба размера изображения коэффициент 4, поэтому после первой операции объединения размер изображения 7 x 7 -
ВОТ ЧЕГО Я НЕ ПОНИМАЮ
во 2-м слое conv есть другой
max_pool_2x2
вызов функции, поэтому я думаю, что размер изображения должен быть уменьшить в 4 раза снова. Но на самом деле нет.
какой шаг я ошибся?
2 ответов
Вам также нужно знать шаг максимального пула и свертки.
def conv2d(x, W):
return tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding='SAME')
def max_pool_2x2(x):
return tf.nn.max_pool(x, ksize=[1, 2, 2, 1],
strides=[1, 2, 2, 1], padding='SAME')
здесь мы видим, что свертка имеет Шаг 1, а max pool-Шаг 2. Как вы можете смотреть на max pool, это то, что он берет коробку 2x2 и скользит по изображению, каждый раз принимая максимальное значение более 4 пикселей. Если у вас есть Шаг 2, он занимает 2 шага каждый раз, когда он движется! Размер изображения должен уменьшаться в 2 раза, а не в 4 раза.
другими словами, изображение 28x28 с max pool 2x2 и stride 2, станет 14x14. Еще один максимальный пул 2x2 и stride 2 уменьшат его до 7x7.
чтобы проиллюстрировать мою точку зрения, давайте рассмотрим случай max pool 2x2 и stride 1. Если мы не заполняем изображение, оно станет изображением 27x27 после максимального пула.
посмотри научитесь глубокому обучению с помощью TensorFlow и Udacity с Vincent Vanhoucke
Это рассматривается в курсе. В настоящее время я работаю над этим.
курс бесплатный, однако вы должны зарегистрироваться. Это серия видео, викторины и проекты кодирования все самостоятельно темп и самооценки. Я многому учусь и получаю от этого удовольствие.
вот один из викторины.