Beispiel #1
0
def greedy_recon(dbnet, test):
    temp = test
    top_inputsize = dbnet['top']['v_num'] - dbnet['top']['label_n']
    for i in range(len(dbnet['layer'])):  #bottom up
        temp = ReLU(temp, dbnet['layer'][i]['w'])
    top = ReLU(temp, dbnet['top']['w'][:top_inputsize, :])
    label = ReLU(top, np.transpose(dbnet['top']['w'][top_inputsize:, :]))
    temp = np.append(temp, label, axis=1)
    temp = ReLU(temp, dbnet['top']['w'])
    temp = ReLU(temp, np.transpose(dbnet['top']['w']))
    temp = temp[:top_inputsize]
    for i in range(len(dbnet['layer']) - 1, -1, -1):  #up down
        temp = ReLU(temp, np.transpose(dbnet['layer'][i]['w']))
    recon = temp
    mu.plot_digit(recon)
    predict = np.argmax(label)
    return predict, recon
Beispiel #2
0
def greedy_recon(dbnet, test): 
    temp = test
    top_inputsize = dbnet['top']['v_num'] - dbnet['top']['label_n']
    for i in range(len(dbnet['layer'])):   #bottom up
        temp = sigmoid_sampling(temp, dbnet['layer'][i]['w'], dbnet['layer'][i]['b'])
    top = sigmoid_sampling(temp, dbnet['top']['w'][:top_inputsize, :], dbnet['top']['b'])
    label = sigmoid_sampling(top, np.transpose(dbnet['top']['w'][top_inputsize:, :]), dbnet['top']['a'][top_inputsize:])
    temp = np.append(temp, label, axis=1)
    temp = sigmoid_sampling(temp, dbnet['top']['w'], dbnet['top']['b'])
    temp = sigmoid_sampling(temp, np.transpose(dbnet['top']['w']), dbnet['top']['a'])
    temp = temp[:top_inputsize]
    for i in range(len(dbnet['layer'])-1, 0, -1):   #up down
        temp = sigmoid_sampling(temp, np.transpose(dbnet['layer'][i]['w']), dbnet['layer'][i]['a'])
    recon = sigmoid(temp, np.transpose(dbnet['layer'][0]['w']), dbnet['layer'][0]['a'])
    mu.plot_digit(recon)
    predict = np.argmax(label)
    return predict, recon
Beispiel #3
0
def dbn_recon(dbnet, test):
    temp = test
    top_inputsize = dbnet['top']['v_num'] - dbnet['top']['label_n']
    for i in range(len(dbnet['layer'])):   #bottom up
        temp = ReLU(temp, dbnet['layer'][i]['w_up'])
    top = ReLU(temp, dbnet['top']['w'][:top_inputsize, :])
    label = ReLU(top, np.transpose(dbnet['top']['w'][top_inputsize:, :]))
    temp = np.append(temp, label, axis=1)
    temp = ReLU(temp, dbnet['top']['w'])
    temp = ReLU(temp, np.transpose(dbnet['top']['w']))
    temp = temp[:top_inputsize]
    for i in range(len(dbnet['layer'])-1, -1, -1):   #up down
        temp = ReLU(temp, dbnet['layer'][i]['w_down'])
    recon = temp
    mu.plot_digit(recon)
    predict = np.argmax(label)
    return predict, recon
Beispiel #4
0
def dbn_recon(dbnet, test):
    temp = test
    top_inputsize = dbnet['top']['v_num'] - dbnet['top']['label_n']
    for i in range(len(dbnet['layer'])):  #bottom up
        temp = sigmoid_sampling(temp, dbnet['layer'][i]['w_up'],
                                dbnet['layer'][i]['b'])
    top = sigmoid_sampling(temp, dbnet['top']['w'][:top_inputsize, :],
                           dbnet['top']['b'])
    label = sigmoid_sampling(
        top, np.transpose(dbnet['top']['w'][top_inputsize:, :]),
        dbnet['top']['a'][top_inputsize:])
    temp = np.append(temp, label, axis=1)
    temp = sigmoid_sampling(temp, dbnet['top']['w'], dbnet['top']['b'])
    temp = sigmoid_sampling(temp, np.transpose(dbnet['top']['w']),
                            dbnet['top']['a'])
    temp = temp[:top_inputsize]
    for i in range(len(dbnet['layer']) - 1, 0, -1):  #up down
        temp = sigmoid_sampling(temp, dbnet['layer'][i]['w_down'],
                                dbnet['layer'][i]['a'])
    recon = sigmoid(temp, dbnet['layer'][0]['w_down'], dbnet['layer'][0]['a'])
    mu.plot_digit(recon)
    predict = np.argmax(label)
    return predict, recon
Beispiel #5
0
def plot_recon(digit_img, para):
    data_v = np.array(digit_img).astype(float)
    data_h, gibbs_v, gibbs_h = sampling(para, data_v)
    mu.plot_digit(gibbs_v)
Beispiel #6
0
def plot_recon(digit_img, para):
    data_v = np.array(digit_img).astype(float)
    data_h, gibbs_v, gibbs_h = sampling_nb(para, data_v)
    mu.plot_digit(gibbs_v)