当前位置: 首页 > 编程笔记 >

使用keras2.0 将Merge层改为函数式

李兴安
2023-03-14
本文向大家介绍使用keras2.0 将Merge层改为函数式,包括了使用keras2.0 将Merge层改为函数式的使用技巧和注意事项,需要的朋友参考一下

不能再向以前一样使用

model.add(Merge([Model1,Model2]))

必须使用函数式

out = Concatenate()([model1.output, model2.output])

补充知识:keras 新版接口修改

1.

# b = MaxPooling2D((3, 3), strides=(1, 1), border_mode='valid', dim_ordering='tf')(x)

b = MaxPooling2D((3, 3), strides=(1, 1), padding='valid', data_format="channels_last")(x)

2.

from keras.layers.merge import concatenate
# x = merge([a, b], mode='concat', concat_axis=-1)
x = concatenate([a, b], axis=-1)

3.

from keras.engine import merge
m = merge([init, x], mode='sum')
Equivalent Keras 2.0.2 code:

from keras.layers import add
m = add([init, x])

4.

 # x = Convolution2D(32 // nb_filters_reduction_factor, 3, 3, subsample=(1, 1), activation='relu',
 #     init='he_normal', border_mode='valid', dim_ordering='tf')(x)
 x = Conv2D(32 // nb_filters_reduction_factor, (3, 3), activation="relu", strides=(1, 1), padding="valid",
    data_format="channels_last",
    kernel_initializer="he_normal")(x)

1.

# b = MaxPooling2D((3, 3), strides=(1, 1), border_mode='valid', dim_ordering='tf')(x)
b = MaxPooling2D((3, 3), strides=(1, 1), padding='valid', data_format="channels_last")(x)

2.

from keras.layers.merge import concatenate
# x = merge([a, b], mode='concat', concat_axis=-1)
x = concatenate([a, b], axis=-1)

3.

from keras.engine import merge
m = merge([init, x], mode='sum')
Equivalent Keras 2.0.2 code:

from keras.layers import add
m = add([init, x])

4.

 # x = Convolution2D(32 // nb_filters_reduction_factor, 3, 3, subsample=(1, 1), activation='relu',
 #     init='he_normal', border_mode='valid', dim_ordering='tf')(x)
 x = Conv2D(32 // nb_filters_reduction_factor, (3, 3), activation="relu", strides=(1, 1), padding="valid",
    data_format="channels_last",
    kernel_initializer="he_normal")(x)

以上这篇使用keras2.0 将Merge层改为函数式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • Merge层提供了一系列用于融合两个层或两个张量的层对象和方法。以大写首字母开头的是Layer类,以小写字母开头的是张量的函数。小写字母开头的张量函数在内部实际上是调用了大写字母开头的层。 Add keras.layers.Add() 添加输入列表的图层。 该层接收一个相同shape列表张量,并返回它们的和,shape不变。 Example import keras input1 = kera

  • 本文向大家介绍SQLServer中merge函数用法详解,包括了SQLServer中merge函数用法详解的使用技巧和注意事项,需要的朋友参考一下 Merge关键字是一个神奇的DML关键字。它在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句。MSDN对于Merge的解释非常的短小精悍:”根据与源表联接的结果,对目标表执行插入、更新或删除操作。 M

  • [source] Add keras.layers.Add() 计算输入张量列表的和。 它接受一个张量的列表, 所有的张量必须有相同的输入尺寸, 然后返回一个张量(和输入张量尺寸相同)。 示例 import keras input1 = keras.layers.Input(shape=(16,)) x1 = keras.layers.Dense(8, activation='relu')(i

  • 问题内容: 编辑: 是否使用不在此问题的范围内。考虑使用PDO。 需要采取什么步骤将脚本从使用不赞成使用的功能转换为? 使用代替时,是否需要采取其他不同的措施? 这是使用函数的基本脚本: 问题答案: 注意: 从转换到可能不是最佳的。如果您准备将所有代码转换为OOP,请考虑使用 PDO 。 这是很有诱惑力的尝试更换的所有实例与祈祷它的工作原理。您会很亲密,但不是很准。 连接到数据库: 幸运的是,该方

  • 将接受数组的函数改变为可变参数函数。 给定一个函数,返回一个闭包,将所有输入收集到一个接受函数的数组中。 const collectInto = fn => (...args) => fn(args); const Pall = collectInto(Promise.all.bind(Promise)); let p1 = Promise.resolve(1); let p2 = Promis

  • 我试图导入一个程序,并在其中使用几个函数,但我遇到了一个问题,与argparse有关。 在我想使用的函数中,创建者将其解析器参数传递给函数,如下所示。 我想知道如何在我正在编写的另一个程序中使用这个函数。我是否以某种方式创建了一个parser.parse_args()对象,其参数与他相同?我想到的一件事是使用subprocess.popen这样运行它: 但这似乎不太理想。我真的对如何处理argpa