weight_initializer.py 文件源码

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

项目:Sisyphus 作者: davidbrandfonbrener 项目源码 文件源码
def feed_forward(self,sigma=.1):
        '''Generate random feedforward wrec (lower triangular)'''

        N_in    = self.N_in
        N_rec   = self.N_rec
        N_out   = self.N_out

        weights_path = self.init_weights_path

        #Uniform between -.1 and .1
        W_in = .2*np.random.rand(N_rec,N_in) - .1
        W_out = .2*np.random.rand(N_out,N_rec) - .1

        b_rec = np.zeros(N_rec)
        b_out = np.zeros(N_out)

        init_state = .1 + .01*np.random.randn(N_rec)

        W_rec = np.tril(sigma*np.random.randn(N_rec,N_rec),-1)

        input_Connectivity = np.ones([N_rec,N_in])
        rec_Connectivity = np.ones([N_rec,N_rec])
        output_Connectivity = np.ones([N_out,N_rec])

        if not self.autapses:
            W_rec[np.eye(N_rec)==1] = 0
            rec_Connectivity[np.eye(N_rec)==1] = 0

        np.savez(weights_path, W_in = W_in,
                                W_rec = W_rec,
                                W_out = W_out,
                                b_rec = b_rec,
                                b_out = b_out,
                                init_state = init_state,
                                input_Connectivity = input_Connectivity,
                                rec_Connectivity= rec_Connectivity,
                                output_Connectivity=output_Connectivity)

        return weights_path
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号