예제 #1
0
    def test_train(self):
        """
    """
        print("\nTest 0: VAE initialization")

        vae = VariationalAutoEncoder(input_dim=10, state_dim=3)
        #                                  save_on_valid_improvement=True) # OK!
        vae.train(dataset, num_epochs=20)
예제 #2
0
    def test_train_custom_node2(self):
        """
    Test commit
    """
        print("Test 1: with CustomNode\n")

        builder = StaticBuilder("MyModel")
        enc_dirs = {
            'loc_numlayers': 2,
            'loc_numnodes': 64,
            'loc_activations': 'softplus',
            'loc_netgrowrate': 1.0
        }

        input_dim = 10
        in0 = builder.addInput(input_dim, name='Observation')

        # Define Custom Recognition Model
        cust_rec = builder.createCustomNode(inputs=[in0],
                                            num_outputs=1,
                                            name="Recognition")
        cust_in2 = cust_rec.addTransformInner(3,
                                              main_inputs=[0],
                                              node_class=NormalTriLNode,
                                              **enc_dirs)
        cust_rec.declareOslot(oslot=0,
                              innernode_name=cust_in2,
                              inode_oslot_name='main')

        # Define Custom Generative Model
        cust_gen = builder.createCustomNode(inputs=cust_rec.name,
                                            num_outputs=1,
                                            name="Generative")
        cust_ginn1 = cust_gen.addTransformInner(16, main_inputs=[0])
        cust_ginn2 = cust_gen.addTransformInner(10,
                                                main_inputs=cust_ginn1,
                                                node_class=NormalTriLNode,
                                                **enc_dirs)
        cust_gen.declareOslot(oslot=0,
                              innernode_name=cust_ginn2,
                              inode_oslot_name='main')

        # Define VAE and train
        vae = VariationalAutoEncoder(builder=builder)

        vae.train(dataset, num_epochs=10)
예제 #3
0
    def test_train1(self):
        """
    """
        print("Test 0:")
        dirs = {}
        builder = StaticBuilder(scope='vae')

        odim = 10
        idim = 3
        hdim = 16
        i1 = builder.addInput(odim, name='Observation', **dirs)
        enc0 = builder.addTransformInner(hdim, main_inputs=i1, name='Inner')
        enc1 = builder.addTransformInner(idim,
                                         main_inputs=enc0,
                                         name='Recognition',
                                         node_class=NormalTriLNode)
        builder.addTransformInner(odim,
                                  main_inputs=enc1,
                                  name='Generative',
                                  node_class=NormalTriLNode)

        vae = VariationalAutoEncoder(builder=builder)
        #                                  save_on_valid_improvement=True) # OK!
        vae.train(dataset, num_epochs=20)
 def test_train(self):
   """
   """
   nsamps = 100
   idim = 3
   odim = 10
   x = 1.0*np.random.randn(nsamps, idim)
   W = np.random.randn(3, odim)
   y = np.tanh(np.dot(x, W) + 0.1*np.random.randn(nsamps, odim)) # + 3*x[:,1:]**2 + 0.5*np.random.randn(100,1)
   dataset = {'train_response' : y}
       
   vae = VariationalAutoEncoder(latent_dim=3, output_dim=10)
   vae.build()
   vae.train(dataset, num_epochs=200)
예제 #5
0
 def test_build(self):
     """
 """
     print("\nTest 1: VAE build")
     dc = VariationalAutoEncoder(latent_dim=3, output_dim=10, batch_size=1)
     dc.build()
예제 #6
0
 def test_init(self):
     """
 """
     print("\nTest 0: VAE initialization")
     VariationalAutoEncoder(latent_dim=3, output_dim=10, batch_size=1)
 def test_build(self):
     """
 """
     dc = VariationalAutoEncoder(latent_dim=3, output_dim=10, batch_size=1)
     dc.build()
 def test_init(self):
     """
 """
     VariationalAutoEncoder(latent_dim=3, output_dim=10, batch_size=1)
예제 #9
0
 def test_build(self):
     """
 """
     print("\nTest 1: VAE build")
     VariationalAutoEncoder(input_dim=3, state_dim=10, batch_size=1)