2017-04-23 97 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函數)。但是,我不知道這是否是達到這個結果的最佳解決方案...