python - 我会尝试更改 keras 预训练模型的 channel

标签 python tensorflow machine-learning keras deep-learning

我有一个 Xception 模型。

Xception = tf.keras.applications.Xception(input_shape=(512, 512, 3), include_top=False)

我已组合模型,将输入 channel 更改为 3。

input_layer = keras.Input(shape=(512, 512, 1), name="img_input")
x = layers.UpSampling3D(size=(1, 1, 3), name="output")(input_layer)
input_model = keras.Model(input_layer, x, name="input_model")

model = keras.Model(input_model, Xception, name="model")

但是我有错误

Input tensors to a Functional must come from `tf.keras.Input`. Received: <tensorflow.python.keras.engine.functional.Functional object at 0x7f922942a690> (missing previous layer metadata).

最佳答案

您只需在新模型中以正确的方式嵌入 Xception 即可:

Xception = tf.keras.applications.Xception(input_shape=(512, 512, 3), include_top=False)

input_layer = tf.keras.Input(shape=(512, 512, 1), name="img_input")
x = tf.keras.layers.UpSampling3D(size=(1, 1, 3), name="upsampling")(input_layer)
output = Xception(x)

model = tf.keras.Model(input_layer, output, name="model")

我们创建一个新的Input层,然后进行上采样,最后我们将所有内容传递给Xception

Here如果您有兴趣,就是正在运行的笔记本

关于python - 我会尝试更改 keras 预训练模型的 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68785255/

相关文章:

python - 将 PIL 图像转换为张量时,为什么像素会发生变化?

python - 如何在 Django 模型中添加条件字段?

python - 将Python变量值传递给Elasticsearch查询

tensorflow - 恢复模型时使用批量规范?

python - Queue.dequeue 卡在 Tensorflow 输入管道中

machine-learning - 作为正则化,Vowpal Wabbit 哈希冲突比 L1 效果更好

python - Selenium 下载与浏览器中不同的验证码图像

python - 以不同的分辨率获取输出 ifft

tensorflow - 值错误 : No gradients provided for any variable: ['conv2d/kernel:0' , 'conv2d/bias:0' 、 'conv2d_1/kernel:0' 、 'conv2d_1/bias:0' 、

python - 矢量化:不是有效的集合