Я строю модель в Tensorflow, используя tf.layers
объекты.Когда я запускаю следующий код, используя tf.layers.MaxPooling2D
, моя модель не уменьшается в размере.Я только недавно переключился с использования Keras на Tensorflow напрямую, поэтому я предполагаю, что неправильно понимаю использование.
import tensorflow as tf
import numpy as np
features = tf.constant(np.random.random((20,128,128,3)), dtype=tf.float32)
y_true = tf.constant(np.random.random((20,1)), dtype=tf.float32)
print('features = %s' % features)
conv = tf.layers.Conv2D(32,(2,2),padding='same')(features)
print('conv = %s' % conv)
pool = tf.layers.MaxPooling2D((2,2),(1,1),padding='same')(conv)
print('pool = %s' % pool)
# and so on ...
Я вижу этот вывод:
features = Tensor("Const:0", shape=(20, 128, 128, 3), dtype=float32)
conv = Tensor("conv2d/BiasAdd:0", shape=(20, 128, 128, 32), dtype=float32)
pool = Tensor("max_pooling2d/MaxPool:0", shape=(20, 128, 128, 32), dtype=float32)
Я ожидал увидетьвыход из слоя MaxPool будет иметь форму (20,64,64,32)
.
Правильно ли я это использую?