我正在尝试建立模型以对灰度图像着色。
我遵循了Coloring Black and White photos with Neural Networks的Alpha版本!
我第一次尝试加载1张彩色图像, 我按照上面的github中的建议将RGB转换为Lab。 L向量是输入,AB向量是输出。
这对于训练后的图像效果很好,但对于其他图像(我所期望的)却效果不佳。
我对该模型进行了600张图像的训练,即使对于火车图像,结果也很糟糕。
因此,我尝试使用来自MobileNet V2的转移学习,以便它将首先识别功能。
IMG_SHAPE = (160, 160, 3)
# Create the base model from the pre-trained model MobileNet V2
base_model = tf.keras.applications.MobileNetV2(input_shape=IMG_SHAPE,
include_top=False,
weights='imagenet')
IMG_BATCH = tf.convert_to_tensor([32, 160, 160, 3], dtype=tf.int32)
print(IMG_BATCH)
tf.Tensor([ 32 160 160 3], shape=(4,), dtype=int32)
feature_batch = base_model(IMG_BATCH)
我收到:
InvalidArgumentError: The first dimension of paddings must be the rank of inputs[4,2] [4] [Op:Pad]
当我遵循CatsVsDogs分类器Tensorflow指南:Transfer Learning Using Pretrained ConvNets!
BATCH_SIZE = 32
SHUFFLE_BUFFER_SIZE = 1000
train_batches = train.shuffle(SHUFFLE_BUFFER_SIZE).batch(BATCH_SIZE)
validation_batches = validation.batch(BATCH_SIZE)
test_batches = test.batch(BATCH_SIZE)
for image_batch, label_batch in train_batches.take(1):
pass
image_batch.shape
TensorShape([32, 160, 160, 3])
它工作正常,所以我想我的问题是输入大小之间不匹配。
我希望有一个模型,其中将base_model(MobileNet)与我的图层连接起来,其中输入将是向量L,输出将是AB。
有可能吗?