Exemple #1
0
    def __init__(self):
        super(PHS_Func, self).__init__()
        # self.Hnet = derivnets.DerivNet(nn.Linear(2,50), nn.Tanh(), nn.Linear(50,1))
        self.mnet = derivnets.DerivNet(nn.Linear(1, 50), nn.Tanh(),
                                       nn.Linear(50, 25), nn.Tanh(),
                                       nn.Linear(25, 1))
        self.vnet = derivnets.DerivNet(nn.Linear(1, 50), nn.Tanh(),
                                       nn.Linear(50, 25), nn.Tanh(),
                                       nn.Linear(25, 1))
        # self.dnet = nn.Sequential(nn.Linear(1,50), nn.Tanh(), nn.Linear(50,1))

        self.dnet = nn.Sequential(nn.Linear(1, 50),
                                  nn.Tanh(), nn.Linear(50, 25), nn.Tanh(),
                                  nn.Linear(25, 1))
        self.inputFunc = InputGenerator()
 def __init__(self):
     super(PHS_Func, self).__init__()
     self.Hnet = derivnets.DerivNet(nn.Linear(2, 50), nn.Tanh(),
                                    nn.Linear(50, 1))
     # self.dnet = nn.Sequential(nn.Linear(1,50), nn.Tanh(), nn.Linear(50,1))
     self.dnet = nn.Sequential(nn.Linear(1, 25), nn.Tanh(),
                               nn.Linear(25, 1))
 def __init__(self, R=5.0, C=0.01, L=0.005):
     super(RCLcircuit, self).__init__()
     self.R = R
     self.C = C
     self.L = L
     self.F = torch.Tensor([[-1/self.R, 1], [-1, 0]])
     self.G = torch.Tensor([[0], [1]])
     self.Hnet = derivnets.DerivNet(nn.Linear(1,40), nn.Tanh(), nn.Linear(40,1))
Exemple #4
0
 def __init__(self, m=0.5, l=0.3, J=0.1, b=0.2, g=9.8):
     super(pendSys, self).__init__()
     self.m = m
     self.l = l
     self.J = J
     self.b = b
     self.g = g
     self.F = torch.Tensor([[0, 1], [-1, -b]])
     self.G = torch.Tensor([[0], [1]])
     self.Hnet = derivnets.DerivNet(nn.Linear(2,50), nn.Tanh(), nn.Linear(50,1))
n_h1 = args.net_hidden_size[0]
n_h2 = args.net_hidden_size[1]
n_o = 1

# two outputs for the unconstrained network
n_o_uc = 2

# model = models.DerivNet2D(n_in, n_h1, n_h2, n_o)
# model = derivnets.DerivNet(torch.nn.Linear(n_in, n_h1),
#                            torch.nn.Tanh(),
#                            torch.nn.Linear(n_h1, n_h2),
#                            torch.nn.Tanh(),
#                            torch.nn.Linear(n_h2, n_o))

model = derivnets.DerivNet(torch.nn.Linear(n_in, 10), torch.nn.Tanh(),
                           torch.nn.Linear(10, 15), torch.nn.Tanh(),
                           torch.nn.Linear(15, 10), torch.nn.Tanh(),
                           torch.nn.Linear(10, 1))

# model_uc = torch.nn.Sequential(
#     torch.nn.Linear(n_in, n_h1),
#     torch.nn.Tanh(),
#     torch.nn.Linear(n_h1, n_h2),
#     torch.nn.Tanh(),
#     torch.nn.Linear(n_h2, n_o_uc),
# )

model_uc = torch.nn.Sequential(torch.nn.Linear(n_in, 10), torch.nn.Tanh(),
                               torch.nn.Linear(10, 15), torch.nn.Tanh(),
                               torch.nn.Linear(15, 10), torch.nn.Tanh(),
                               torch.nn.Linear(10, 2))
 def __init__(self):
     super(PHS_Func, self).__init__()
     self.Vnet = derivnets.DerivNet(nn.Linear(1, 50), nn.Tanh(),
                                    nn.Linear(50, 1))
     self.Mnet = nn.Sequential(nn.Linear(1, 10), nn.Linear(
         10, 1), nn.Sigmoid())  # the sigmoid ensures positive output