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