【发布时间】:2017-04-01 20:05:19
【问题描述】:
我正在尝试制作this image 的模型。以下是相关代码:
base_model = VGG16(weights='imagenet')
conv4_3, conv3_3, conv2_2, conv1_2 = base_model.get_layer('block4_conv3').output,
base_model.get_layer('block3_conv3').output,
base_model.get_layer('block2_conv2').output,
base_model.get_layer('block1_conv2').output
# Use the output of the layers of VGG16 on x in the model
conv1 = Convolution2D(256, 1, 1, border_mode='same')(BatchNormalization()(conv4_3))
conv1_scaled = resize(conv1, 56)
.
.
.
conv5 = Convolution2D(3, 3, 3, border_mode='same')(merge([ip_img, conv4], mode='sum'))
op = Convolution2D(2, 3, 3, border_mode='same')(conv5)
for layer in base_model.layers:
layer.trainable = False
model = Model(input=base_model.input, output=op)
model.compile(optimizer='sgd', loss=custom_loss_fn)
我在一个目录中有一堆彩色图像。输入图像应该是堆叠三次(224x224x3)的图像的灰度,op 应该是图像的 UV 平面(224x224x2),我可以将其添加到灰度(224x224x1)以获得 YUV 图像。自定义损失函数作用于原始图像的 UV 和预测的 UV。
如何训练它?
【问题讨论】:
标签: python-2.7 deep-learning theano keras