首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Keras和Lasagne之间的转换

Keras和Lasagne之间的转换
EN

Stack Overflow用户
提问于 2018-03-07 01:45:53
回答 1查看 332关注 0票数 0

我正在尝试将Keras模型与Lasagne层相结合。我在Lasagne层调用此函数:

代码语言:javascript
复制
def get_output_for(self, inputs, deterministic=False):
    self.p = self.nonlinearity(T.dot(inputs[1], self.pi))
    self.mask = sample_mask(self.p)
    if deterministic or T.mean(self.p) == 0:
        return self.p*inputs[0]
    else:
        return inputs[0]*self.mask

问题是我的inputs对象是前一个Keras层的输出,它是一个Tesnor对象,因为Keras层产生Tensor输出。这不起作用。我不确定inputs应该具有什么类型,也不知道如何在Tensor和此函数期望的类型之间进行转换。

EN

回答 1

Stack Overflow用户

发布于 2018-05-10 22:07:44

我认为混合Lasagne和Keras/Tensorflow对象并不是最好的。相反,您可以将get_output_for方法转换为Tensorflow。在下面的内容中,我假设非线性类似于

代码语言:javascript
复制
self.nonlinearity = lambda x: tf.maximum(x, 0)

输入是一个类似numpy.array的对象:

代码语言:javascript
复制
def tf_get_output_for(self, inputs, deterministic=False):
    self.p = self.nonlinearity(tf.matmul(inputs[1], self.pi))
    self.mask = sample_mask(self.p)
    if deterministic or tf.reduce_mean(self.p) == 0:
        return self.p * inputs[0]
    else:
        return inputs[0] * self.mask 

方法sample_mask必须转换为"Tensorflow兼容“

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

https://stackoverflow.com/questions/49136981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档