def output(self, use_dropout=False, depth=0): """ Provides data to next layer and applies dropout """ ret = self.input_layer if use_dropout: num_str = NNl.get_num_streams(np.prod(self.out_shape)) mask = NNl.gen_mask(self.srng, self.out_shape, self.p_retain, num_str) ret *= mask / self.p_retain return ret
def output(self, use_dropout=False, depth=0): """ Apply the activation and dropout to the signal, producing output that will be used by subsequent layers """ out = self.activation(self.signal(use_dropout=use_dropout, depth=depth)) c_shape = self.out_shape if use_dropout: num_str = NNl.get_num_streams(np.prod(c_shape)) mask = NNl.gen_mask(self.srng, c_shape, self.p_retain, num_str) out = out * mask / self.p_retain return out