当前位置: 首页 > 知识库问答 >
问题:

如何将移动网最后一层的输出馈送到Unet模型

娄学文
2023-03-14

我正在尝试使用在Imagenet数据集上预训练的Keras移动网模型构建镜像分割模型。如何进一步训练模型,我想将U-net层添加到现有模型中,并且仅训练u-net架构的层,移动网模型帮助作为主干。

问题:mobilenet模型的最后一层是尺寸(7x7x1024),这是一个RelU层,我希望将其重新塑造为(256x256x3),U-net输入层可以理解它。

共有1个答案

麻鹏鹍
2023-03-14

不是最后一层,但可以使用以下代码在mobilenet上创建unet:

ALPHA = 1 # Width hyper parameter for MobileNet (0.25, 0.5, 0.75, 1.0). Higher width means more accurate but slower

IMAGE_HEIGHT = 224
IMAGE_WIDTH = 224

HEIGHT_CELLS = 28
WIDTH_CELLS = 28

def create_model(trainable=True):
    model = MobileNet(input_shape=(IMAGE_HEIGHT, IMAGE_WIDTH, 3), include_top=False, alpha=ALPHA, weights="imagenet")

    block0 = model.get_layer("conv_pw_1_relu").output 
    block = model.get_layer("conv_pw_1_relu").output
    block1 = model.get_layer("conv_pw_3_relu").output
    block2 = model.get_layer("conv_pw_5_relu").output
    block3 = model.get_layer("conv_pw_11_relu").output
    block4 = model.get_layer("conv_pw_13_relu").output

    x = Concatenate()([UpSampling2D()(block4), block3])
    x = Concatenate()([UpSampling2D()(x), block2])
    x = Concatenate()([UpSampling2D()(x), block1])
    x = Concatenate()([UpSampling2D()(x), block])
 #   x = Concatenate()([UpSampling2D()(x), block0])
    x = UpSampling2D()(x)
    x = Conv2D(1, kernel_size=1, activation="sigmoid")(x)

    x = Reshape((IMAGE_HEIGHT, IMAGE_HEIGHT))(x)

    return Model(inputs=model.input, outputs=x)
 类似资料:
  • 问题内容: 我正在尝试为我要适应的模型找出正确的语法。这是一个时间序列预测问题,在将其输入LSTM之前,我想使用一些密集层来改善时间序列的表示形式。 这是我正在使用的虚拟系列: 首先,我将安装没有密集层的LSTM。这要求我重塑数据: 这个对吗? 这些教程使单个时间序列在第一个维度上应该具有1,然后是时间步数(1000),然后是协变量数(3)。但是,当我这样做时,模型无法编译。 在这里,我编译并训练

  • 更新:为了迭代支持,我不得不转向Flink流。不过还是会和Kafka试试看!

  • 我有一个复杂对象的数组列表。我需要将这些框中的特定元素移动到arrayList的最后一个位置,并移除原始元素,如图所示: 我的代码是这样的,但我得到了这个错误:

  • 我正在用ApachePDFBox编写一个简单的Java应用程序。我有几个PDF,其中最后一页是前几页内容的索引。 我需要的索引(最后一页)成为PDF文件的第一页。 可能吗? 我还发现了http://itextpdf.com/这个库听起来比ApachePDFBox更好,但在这种情况下,我也不知道我是否能做我需要的事情 或者我可以用这个:http://saaspose.com/docs/display

  • 我在keras中有一个简单的网络,我定义了一个自定义层,该层对输入张量进行一些操作,然后将其返回到网络,但当我想要实现它时,它会产生以下错误,并表示输入尚未反馈,而我想当我们使用fit函数时,它会反馈网络。你能帮我解决这个问题吗?我找不到合适的答案来解决我的问题。我也把代码放在这里了。非常感谢。 回溯(最近一次呼叫最后一次): 文件“”,第124行,已解码_noise=JPEGLayer()(已解

  • 我尝试过这样做: 但是它什么也不做,所以我做了一个循环来按步骤滚动页面: 它有点工作,但我不知道一个给定的页面有多长,所以我必须输入一个大的数字作为最大高度,这给了我两个问题。第一个是,即使是一个很大的数字也不足以滚动某些页面,第二个是,如果页面短于此限制,那么当脚本什么都不做时,等待脚本完成的时间会损失很多