tensor shape depend on both strides and padding type
try strides in (1 1), (2 2), (3 3) and (4 4) combine with twice padding type
import os
import numpy as np
import tensorflow as tf
os.environ["CUDA_VISIBLE_DEVICES"] = "3"
n = tf.convert_to_tensor(np.array(range(16)), np.float32)
i = tf.reshape(n, [-1, 4, 4, 1])
conv = tf.layers.conv2d(inputs=i, filters=32, kernel_size=[1, 1], strides=(3, 3), padding="same", activation=tf.nn.relu)
print(conv)