首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在`tensorflow.keras`中替换`keras.layers.merge._Merge`

我想使用tf.keras接口创建一个自定义的合并层。但是,新的API隐藏了我想要继承的keras.layers.merge._Merge类。

这样做的目的是创建一个可以对两个不同层的输出执行加权求和/合并的层。以前,在keras python API (不是tensorflow.keras中包含的那个)中,我可以继承keras.layers.merge._Merge类,现在不能从tensorflow.keras访问它。

在此之前我在哪里可以做到这一点

代码语言:javascript
运行
AI代码解释
复制
class RandomWeightedAverage(keras.layers.merge._Merge):
    def __init__(self, batch_size):
        super().__init__()
        self.batch_size = batch_size
    def _merge_function(self, inputs):
        alpha = K.random_uniform((self.batch_size, 1, 1, 1))
        return (alpha * inputs[0]) + ((1 - alpha) * inputs[1])

现在,如果使用tensorflow.keras,我就不能使用相同的逻辑

代码语言:javascript
运行
AI代码解释
复制
class RandomWeightedAverage(tf.keras.layers.merge._Merge):
    def __init__(self, batch_size):
        super().__init__()
        self.batch_size = batch_size
    def _merge_function(self, inputs):
        alpha = K.random_uniform((self.batch_size, 1, 1, 1))
        return (alpha * inputs[0]) + ((1 - alpha) * inputs[1])

产生

代码语言:javascript
运行
AI代码解释
复制
AttributeError: module 'tensorflow.python.keras.api._v1.keras.layers' has no attribute 'merge'

我还尝试了从Layer类继承

代码语言:javascript
运行
AI代码解释
复制
class RandomWeightedAverage(tensorflow.keras.layers.Layer):
    def __init__(self, batch_size):
        super().__init__()
        self.batch_size = batch_size
    def call(self, inputs):
        alpha = K.random_uniform((self.batch_size, 1, 1, 1))
        return (alpha * inputs[0]) + ((1 - alpha) * inputs[1])

这给了我一个输出形状等于multiple的层,而我希望输出形状被很好地定义。我进一步尝试

代码语言:javascript
运行
AI代码解释
复制
class RandomWeightedAverage(tensorflow.keras.layers.Layer):
    def __init__(self, batch_size):
        super().__init__()
        self.batch_size = batch_size
    def call(self, inputs):
        alpha = K.random_uniform((self.batch_size, 1, 1, 1))
        return (alpha * inputs[0]) + ((1 - alpha) * inputs[1])

    def compute_output_shape(self, input_shape):
        return input_shape[0]

但这并没有解决作为输出形状的multiple模糊性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-27 14:11:31

我稍微修改了您的代码,使用tf.random_uniform而不是K.random_uniform,它在1.13.1和1.14.0 (完整的代码片段和下面的结果model.summary() )上工作得很好。

代码语言:javascript
运行
AI代码解释
复制
import tensorflow as tf
print(tf.__version__)


class RandomWeightedAverage(tf.keras.layers.Layer):
    def __init__(self, batch_size):
        super().__init__()
        self.batch_size = batch_size

    def call(self, inputs, **kwargs):
        alpha = tf.random_uniform((self.batch_size, 1, 1, 1))
        return (alpha * inputs[0]) + ((1 - alpha) * inputs[1])

    def compute_output_shape(self, input_shape):
        return input_shape[0]


x1 = tf.keras.layers.Input((32, 32, 1))
x2 = tf.keras.layers.Input((32, 32, 1))

y = RandomWeightedAverage(4)(inputs=[x1, x2])

model = tf.keras.Model(inputs=[x1, x2], outputs=[y])

print(model.summary())

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58133430

复制
相关文章
如何在WordPress中替换媒体文件
WordPress提供了一些强大的工具来管理您博客上的媒体,但它缺乏有用的功能。WordPress不允许用户替换媒体文件。在本文中,我将向您展示如何轻松替换WordPress网站中的现有媒体文件。
许都博客
2021/06/15
1.3K0
如何在 Python 中搜索和替换文件中的文本?
让我们看看如何在文本文件中搜索和替换文本。首先,我们创建一个文本文件,我们要在其中搜索和替换文本。将此文件设为 Haiyong.txt,内容如下:
海拥
2021/10/20
16.3K0
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。
AiDBA宝典
2019/09/30
29.8K0
【DB笔试面试511】如何在Oracle中写操作系统文件,如写日志?
php中的<?= ?>替换<?php echo ?>
首先修改PHP.ini文件. 如下: 1. 将short_open_tag = Off 改成On 开启以后可以使用PHP的短标签:<? ?> <?= 同时,只有开启这个才可以使用 <?= 以代替 <
全栈程序员站长
2021/12/23
3K0
php中的<?= ?>替换<?php echo ?>
如何在Power Query中进行绝对匹配替换?
之前我们有个例子是批量关键词的替换,我们使用的是Table.ReplaceValue,但是有一个问题,如果存在同样的字符,则会被直接替换掉,也就是模糊匹配每一个值。
逍遥之
2020/03/24
3K0
如何在Power Query中进行绝对匹配替换?
git命令中带有特殊符号如@
使用带用户密码clone的方式: git clone https://username:password@remote 当username和password中含有特殊符号会导致出错, 因为为http的请求,所以需要将特殊符号encode成url格式的 java使用: String c = java.net.URLEncoder.encode(".","utf-8"); System.out.println(c); 源文档 <http://blog.csdn.net/qq1142003960/article/
千往
2018/01/24
2.1K0
Python中的文本替换
对于习惯了Java中的replace,Python的replace用起来有些不适应,因为后者不支持直接使用正则表达式。要实现通过正则表达式的替换,可以配合Python的正则表达式模块使用。比如:
py3study
2020/01/10
4.7K0
pycharm查找与替换_python替换dataframe中的值
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/175276.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
6.1K0
Linux Shell中的命令替换
Shell脚本中最有用的特性之一就是可以从命令输出中提取信息,并将其赋给变量。有两种方法可以将命令输出赋值给变量。
Tyan
2019/05/25
3.4K0
PPT中怎样批量替换字体?
  对于PPT的制作同样的时间同样的题材为什么别人的就是比自己做的好看?并且大佬们耗时还很短,这就很纳闷。其实是大佬们掌握了更多制作PPT的技巧,并进行熟练使用从而可以快速制作出好看的PPT,那在PP
纸醉金迷i
2022/02/25
2.5K0
PPT中怎样批量替换字体?
R中的替换函数gsub
其中pattern是要替换的字符,replacement是替换成的字符,x是对应的string或string vector。
生信交流平台
2022/09/21
3.3K0
R中的替换函数gsub
【Android 安全】DEX 加密 ( Application 替换 | 替换 LoadedApk 中的 Application mApplication 成员 )
上一篇博客 【Android 安全】DEX 加密 ( Application 替换 | 加密不侵入原则 | 替换 ActivityThread 的 mInitialApplication 成员 ) 替换了 ActivityThread 的 mInitialApplication 成员 , 本博客中继续向下替换剩余的 Application ;
韩曙亮
2023/03/29
5480
vim中优雅地查找和替换
这篇文章来详细介绍 Vim 中查找相关的设置和使用方法。包括查找与替换、查找光标所在词、高亮前景/背景色、切换高亮状态、大小写敏感查找等。 查找 在normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车。Vim会跳转到第一个匹配。按下n查找下一个,按下N查找上一个。 Vim查找支持正则表达式,例如/vim匹配行尾的"vim"。需要查找特殊字符需要转义,例如/vim\ 注意查找回车应当用\n,而替换为回车应当用\r(相当于<CR>)。 大小写敏感查找 在查找模式中加入\c表示大小写不敏感查找,
入门笔记
2022/06/02
3.6K0
如何在Linux系统中使用 envsubst 命令替换环境变量?
在Linux系统中,环境变量是非常常见的一种机制,它们被用于存储重要的系统信息,比如用户的登录名、路径等等。当在脚本中需要使用这些变量时,可以使用envsubst命令,该命令可以将环境变量的值替换到文本文件中。
网络技术联盟站
2023/04/14
2.1K0
如何在Linux系统中使用 envsubst 命令替换环境变量?
绑定事件中 如可控制函数的执行次数
var flag = true; function onlyOne() { if(flag) { "这里是要执行的代码"; } flag = false//该方法是控制函数仅执行一次 因为flag是全局变量 onlyOne()函数执行一次后flag就变成false了 函数就执行不了了
大当家
2018/06/28
2.4K0
SQL中的替换函数replace()使用
# 模糊批量替换关键字 update blog_chat set messages=REPLACE(messages,’admin’,’管理员’) where messages like ‘%admin%’
kirin
2021/02/04
8.1K0
html 中的可替换(置换)元素
在 CSS 中,可替换元素(replaced element)的展现效果不是由 CSS 来控制的。这些元素是一种外部对象,它们外观的渲染,是独立于 CSS 的。
用户9914333
2022/07/21
3.2K0
Makefile中的字符串替换
Makefile Tutotial最后给出了一段makefile,里面OBJS有字符串通配、替换的过程:
mingjie
2023/10/13
5840
首发!DevOps@BOC — 器用之道,如琢如磨
我来自中国银行软件中心的一个开发部门,中国银行软件中心从 2013年开始试点敏捷软件开发以及相关CI、CD等实践,而我们内部真正的提 DevOps 比这个要更晚些。
DevOps时代
2018/10/08
1K0
首发!DevOps@BOC — 器用之道,如琢如磨
点击加载更多

相似问题

如何在tensorflow.keras中激活Relu?

10

如何在tensorflow.keras训练中更换损失函数

20

JQuery替换“特殊”函数(如替换(/#[^#]*$/,"")替换(/\?[^?]*$/,“”)

22

替换Powercenter中“a”的字符,如“á”

32

替换通配符%,如%查询

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文