dbn.train_greedylayerwise(vis_trainset=train_imgs,
                              lbl_trainset=train_lbls,
                              n_iterations=10)

    # dbn.recognize(train_imgs, train_lbls)

    #for digit in range(1,10):
    #     digit_1hot = np.zeros(shape=(1, 10))
    #     digit_1hot[0, digit] = 1
    #     print (digit_1hot)
    #     dbn.generate(digit_1hot, name="rbms")
    """ fine-tune wake-sleep training """

    dbn: DeepBeliefNet = load("savefiles/dbn_greedy.pkl")

    dbn.recognize(test_imgs[:1000], test_lbls[:1000])

    dbn.train_wakesleep_finetune(vis_trainset=train_imgs,
                                 lbl_trainset=train_lbls,
                                 n_iterations=10)

    from simple_dbn import save, load

    save(dbn, "savefiles/originaldbn_finetuned")

    dbn.recognize(test_imgs[:1000], test_lbls[:1000])

    # acc = np.load("trained_dbn/accuracy_reco_finetune_normal_dbn.npy")

    # plt.plot(range(len(acc)), acc)
    # plt.xlabel("Fine Tuning Epochs")
Exemplo n.º 2
0
    image_size = [28,28]
    train_imgs,train_lbls,test_imgs,test_lbls = read_mnist(dim=image_size, n_train=60000, n_test=10000)
    
    ''' deep- belief net '''

    print ("\nStarting a Deep Belief Net..")

    batch_size = 20
    
    dbn = DeepBeliefNet(sizes={"vis":image_size[0]*image_size[1], "hid":500, "pen":500, "top":2000, "lbl":10},
                        image_size=image_size,
                        n_labels=10,
                        batch_size=batch_size
    )
    
    ''' greedy layer-wise training '''
    epochs = 10

    iterations = int(60000*epochs/batch_size)

    dbn.train_greedylayerwise(vis_trainset=train_imgs, lbl_trainset=train_lbls, n_iterations=iterations)

    #dbn.recognize(train_imgs, train_lbls)
    
    dbn.recognize(test_imgs, test_lbls)

    for digit in range(10):
       digit_1hot = np.zeros(shape=(1,10))
       digit_1hot[0,digit] = 1
       dbn.generate(digit_1hot, name="rbms")
Exemplo n.º 3
0


    print ("\nStarting a Deep Belief Net..")

    dbn = DeepBeliefNet(sizes={"vis":image_size[0]*image_size[1], "hid":500, "pen":500, "top":2000, "lbl":10},
                        image_size=image_size,
                        n_labels=10,
                        batch_size=10
    )

    ''' greedy layer-wise training '''

    dbn.train_greedylayerwise(vis_trainset=train_imgs, lbl_trainset=train_lbls, n_iterations=1)

    dbn.recognize(train_imgs, train_lbls)

    dbn.recognize(test_imgs, test_lbls)
    
#%%
    
    dbn = DeepBeliefNet(sizes={"vis":image_size[0]*image_size[1], "hid":500, "pen":500, "top":2000, "lbl":10},
                        image_size=image_size,
                        n_labels=10,
                        batch_size=10)
    
    dbn.train_greedylayerwise(vis_trainset=train_imgs, lbl_trainset=train_lbls, n_iterations=1)
    
    #dbn.recognize(train_imgs, train_lbls)

    #dbn.recognize(test_imgs, test_lbls)
Exemplo n.º 4
0
Arquivo: run.py Projeto: bobub/annda
        "vis": image_size[0] * image_size[1],
        "hid": 500,
        "pen": 500,
        "top": 2000,
        "lbl": 10
    },
                        image_size=image_size,
                        n_labels=10,
                        batch_size=10)
    ''' greedy layer-wise training '''

    dbn.train_greedylayerwise(vis_trainset=train_imgs,
                              lbl_trainset=train_lbls,
                              n_iterations=10000)

    dbn.recognize(train_imgs, train_lbls)

    dbn.recognize(test_imgs, test_lbls)

    for digit in range(10):
        digit_1hot = np.zeros(shape=(1, 10))
        digit_1hot[0, digit] = 1
        dbn.generate(digit_1hot, name="rbms")
    ''' fine-tune wake-sleep training '''

    dbn.train_wakesleep_finetune(vis_trainset=train_imgs,
                                 lbl_trainset=train_lbls,
                                 n_iterations=10000)

    dbn.recognize(train_imgs, train_lbls)
Exemplo n.º 5
0
        "vis": image_size[0] * image_size[1],
        "hid": 500,
        "pen": 500,
        "top": 2000,
        "lbl": 10
    },
                        image_size=image_size,
                        n_labels=10,
                        batch_size=10)
    ''' greedy layer-wise training '''

    dbn.train_greedylayerwise(vis_trainset=train_imgs,
                              lbl_trainset=train_lbls,
                              n_iterations=10000)
    print("Done with greedy layer-wise")
    dbn.recognize(train_imgs, train_lbls)
    print("done with train recognize")
    dbn.recognize(test_imgs, test_lbls)
    print("done with test recognize")

    print("Generate")
    for digit in range(10):
        digit_1hot = np.zeros(shape=(1, 10))
        digit_1hot[0, digit] = 1
        dbn.generate(digit_1hot, name="rbms")
    ''' fine-tune wake-sleep training '''

    dbn.train_wakesleep_finetune(vis_trainset=train_imgs,
                                 lbl_trainset=train_lbls,
                                 n_iterations=2000)
    print("Done with wakesleep")