Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def three_layer_convnet(x, params):
- """
- Трехслойная сверточная сеть с описанной выше архитектурой.
- Входы:
- - x: тензор формы (N, H, W, 3), представляющий мини-блок изображений
- - params: список тензоров, представляющих веса и смещения
- сети; должен содержать следующее:
- - conv_w1: тензор формы (KH1, KW1, 3, channel_1) -
- веса первого сверточного слоя.
- - conv_b1: тензор формы (channel_1,) - смещения
- первого сверточного слоя.
- - conv_w2: тензор формы (KH2, KW2, channel_1, channel_2) -
- веса второго сверточного слоя
- - conv_b2: тензор формы (channel_2,) - смещения
- второго сверточного слоя.
- - fc_w: тензор представляющий весовые коэффициенты полносвязанного слоя.
- Могли бы определить сами, какая должна быть форма?
- - fc_b: тензор смещений полносвязанного слоя.
- Могли бы определить сами, какая должна быть форма?
- """
- conv_w1, conv_b1, conv_w2, conv_b2, fc_w, fc_b = params
- scores = None
- ############################################################################
- # ЗАДАНИЕ: Реализуйте прямое распространение для 3-х слойной ConvNet. #
- ############################################################################
- # *****НАЧАЛО ВАШЕГО КОДА (НЕ УДАЛЯЙТЕ/НЕ МОДИФИЦИРУЙТЕ ЭТУ СТРОКУ)*****
- x_padded = tf.pad(x, [[0,0], [2,2], [2,2], [0,0]], 'CONSTANT')
- conv1 = tf.nn.conv2d(x_padded, conv_w1, [1, 1, 1, 1], padding='VALID') + conv_b1
- relu1 = tf.nn.relu(conv1)
- conv1_padded = tf.pad(relu1, [[0,0], [1,1], [1,1], [0,0]],'CONSTANT')
- conv2 = tf.nn.conv2d(conv1_padded, conv_w2, [1, 1, 1, 1], padding='VALID') + conv_b2
- relu2 = tf.nn.relu(conv2)
- conv2_flattened = flatten(relu2)
- fc1 = tf.matmul(conv2_flattened, fc_w) + fc_b
- scores = fc1
- # *****КОНЕЦ ВАШЕГО КОДА (НЕ УДАЛЯЙТЕ/НЕ МОДИФИЦИРУЙТЕ ЭТУ СТРОКУ)*****
- ############################################################################
- # КОНЕЦ ВАШЕГО КОДА #
- ############################################################################
- return scores
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement