2017-04-23 98 views
0

我正在与烤宽面条和theano一起工作,需要创建自定义图层。 这层的输出不依赖于输入的大小,而是依赖于输入的值...我知道keras(只有tensorflow后端)提供了lambda层的可能性,并且我设法写一个表达式,让我有输出取决于输入的值。但我不知道如何或者甚至是否可以使用烤宽面条和theano做到这一点。例如:如果我的输入张量的固定大小为100个值,但我知道最后可能会有一些0值,它们根本不会影响网络的输出,我该如何删除这些值值,让只有信息的值进一步到下一层? 我想尽量减少网络的空间需求:)千层面层的输出形状取决于输入值而不是其输入形状

有没有可能在这样的烤宽面条层?如果是这样,我应该如何编写get_output_shape_for()方法? 如果不是,我会切换到keras和张量流:D

在此先感谢!

回答

0

感谢扬SCHLÜTER为我提供的答案在这里:
https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!topic/lasagne-users/ucjNayfhSu0

总结:
1)是的,这是有可能有一个烤宽面条层,其输出形状取决于输入值(而不是的输入形状)和
2)您必须在热点尺寸中编写“无”具有固定的编译时形状(因此更改的尺寸取决于输入值)。

关于示例:
您可以先计算输出形状,然后用原始张量中非零条目长度的形状创建一个新张量,然后用非零值填充新张量(例如使用theano.tensor.set_subtensor函数)。但是,我不知道这是否是达到这个结果的最佳解决方案...