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))
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