예제 #1
0
    def dense_layer(self, x, f, act="relu", n=None):
        dense_l = G_layers.dense(f, act=None, name=n + "_dense")
        out = dense_l(x)
        self.layers[n+"_dense"] = dense_l

        if act:
            act_l = G_layers.relu(n + "_relu")
            self.layers[n+"_relu"] = act_l
            out = act_l(out)
        return out
예제 #2
0
    def conv_bn_act(self, x, f, n, s, k=None, p="same", rank=2, act=True, trans=False, out_p="auto"):
        if trans:
            c_layer = G_layers.conv_transpose
        else:
            c_layer = G_layers.conv

        if k:
            conv_l = c_layer(f=f, p=p, k=k, s=s, out_p=out_p, rank=rank, dilation_rate=(1,1), name=n+"_conv")
        else:
            conv_l = c_layer(f=f, p=p, rank=rank, dilation_rate=(1,1),  name=n+"_conv")

        out = conv_l(x)
        norm_l = G_layers.batch_norm(name=n + "_norm")
        out = norm_l(out)

        self.layers[n+"_conv"] = conv_l
        self.layers[n+"_norm"] = norm_l

        if act:
            act_l = G_layers.relu(name=n + "_relu")
            self.layers[n + "_relu"] = act_l
            out = act_l(out)
        return out