繁体   English   中英

将非符号张量传递给Keras Lambda层

Pass non-symbolic tensor to Keras Lambda layer

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我试图将RNNCell对象传递给RNNCell lambda层,以便可以在Keras模型内使用Tensorflow层,如下所示。

conv_cell = ConvGRUCell(shape = [14, 14],
                       filters = 32,
                       kernel = [3,3],
                       padding = 'SAME')

def convGRU(inputs, cell, length):
    output, final = tf.nn.bidirectional_dynamic_rnn(
            cell, cell, x, length, dtype=tf.float32)
    output = tf.concat(output, -1)
    final = tf.concat(final, -1)
    return [output, final]

lm = Lambda(lambda x: convGRU(x[0], x[1], x[2])([input, conv_cell, length])

但是,我收到一个错误,即conv_cell不是符号张量(它是基于Tensorflow的GRUCell的自定义层)。

有什么方法可以将单元格传递到lambda层吗? 我将其与functools.partial一起使用,但是由于无法访问模型内​​部的函数,因此无法保存/加载模型。

1 个回复
def convGRU(cell, length): # if length is produced by the model, use it with the inputs    
    def inner_func(inputs):
        code...
    return inner_func

lm = Lambda(convGRU(cell, length))(input)

对于保存/加载,您需要使用custom_objects = {'convGRU': convGRU, 'cell':cell, 'length': length}等。Keras并不自动知道需要在custom_objects中加载加载的模型。

3 在训练期间将非张量参数传递给 Keras 模型/使用张量进行索引

我正在尝试训练一个在模型本身中包含数据增强的 Keras 模型。 模型的输入是不同类的图像,模型应该为每个类生成一个增强模型,用于增强过程。 我的代码大致如下: 然后我想通过模型传递批量数据,该模型由图像数组(传递给input )和相应的标签数组(传递给label_input )组成。 但是,这 ...

5 Keras自定义Lambda层张量操纵错误

我正在尝试创建一个lambda层,该层将在输出最终输出之前执行一些确定性的遮罩(我不是在谈论Keras遮罩层)。 这是我到目前为止的内容: 这就是我使用功能性API创建图层的方式: 我收到来自优化器的非常奇怪的错误。 看来我的渐变是None 。 但是,如果我用任何示例L ...

6 将张量字典传递给 Keras 模型

我正在尝试按照本教程预处理臭名昭著的泰坦尼克号数据(来自 Kaggle)。 一切都很好,直到我对数据 ( titanic_features ) 运行Titanic_processing模型并出现此错误: ValueError:无法将 NumPy 数组转换为张量(不支持的对象类型浮点数)。 ...

7 层conv2d_1的输入不是符号张量/ Keras / Cloudml / R

我正在使用Keras 2.14版和Tensorflow 1.5版的R接口。 当我在本地计算机上运行以下代码时,它运行没有任何问题。 当我在cloudml上运行它时,出现以下错误消息。 我已经检查了论坛,但是由于我对python的了解有限,因此无法翻译到目前为止给R的解决方案。 ...

8 Keras层仅将输入张量的符号更改为特定元素

我想编写一个Keras层(带有TF后端)以反转输入张量的元素1、5和9的符号。 [出于您的好奇心:网络以(pT,eta,phi,M)表示处理四动量。 我想翻转伪快速分量的符号]。 天真的,我会做这样的事情: 但是,它不起作用,并且出现以下错误: 我对TF操作不是很熟悉。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM