networks.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:comprehend 作者: Fenugreek 项目源码 文件源码
def get_reconstructed_input(self, hidden, reduced=False, overlay=None,
                                static_hidden=False, scale=True, **kwargs):
        """
        overlay mask holds positions of max indices (when max pooling was done).
        If None, use previous state where possible.
        If None, and no previous state, assign random positions.
        If scalar, set max indices to this.
        If list, put in multiple positions (optionally divide by pool_width if <scale>).

        Same random position is assigned to every hidden
        """        

        if not reduced:
            return Conv.get_reconstructed_input(self, hidden)

        hidden = tf.tile(tf.expand_dims(hidden, 3),
                         [1, 1, self.pool_width, 1, 1])

        if overlay is None:
            overlay = self.state.get('overlay')
            if overlay is None:
                overlay = self._random_overlay(static_hidden=static_hidden)
        elif np.isscalar(overlay) or type(overlay) == list:
            if scale and type(overlay) == list and len(overlay) > 1:
                scale = 1. / len(overlay)
            else: scale = None
            overlay = self._make_overlay(overlay)

        return Conv.get_reconstructed_input(self,
                                  self._pool_overlay(hidden, overlay), scale=scale)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号