def generate_data_encode(self, objData, normalize=False, csv_save=False, path_save='', csv_name='encode'): if normalize is True: objData.normalization(self.normalization_max) total = objData.total_inputs cost_total = 0 result = [] if csv_save is True: print('\n# GENERATE DATA ENCODE') for i in range(objData.total_batchs_complete): x_, label = objData.generate_batch() cost, layer = self.sess.run([self.AEGlobal.cost, self.AEGlobal.net['encodeFC_1']], feed_dict={self.x_batch: x_}) utils.save_layer_output(layer, label, name=csv_name, dir=path_save) cost_total = cost_total + cost objData.next_batch_test() print(cost_total, cost_total / total) else: print('\n# GENERATE DATA ENCODE') for i in range(objData.total_batchs_complete): x_, label = objData.generate_batch() layer = self.sess.run(self.AEGlobal.z, feed_dict={self.x_batch: x_}) objData.next_batch_test() result.append(np.concatenate((layer[0], [label]), axis=0)) return result
def test_model_save(net, sess_test, objData, xdir, xname): total = objData.total_inputs cost_total = 0 for i in range(objData.total_batchs_complete): x_, label = objData.generate_batch() cost, layer = sess_test.run([net.cost, net.z], feed_dict={x_batch: x_}) utils.save_layer_output(layer, label, name=xname, dir=xdir) cost_total = cost_total + cost objData.next_batch_test() return cost_total, cost_total / total
def test_model(net, sess_test, objData, objLabel, size): total_acc = 0 total_loss= 0 total_itera = int(np.ceil(size/net.minibatch)) for step in range(total_itera): x, y = fill_feed_dict(objData, objLabel, step, net.minibatch) accuracy, layer, loss = sess_test.run([net.accuracy, net.pool3, net.loss], feed_dict={svhn_batch: x, svhn_label: y, train_mode: False}) layer = np.around(layer) # save output of a layer # print(step) utils.save_layer_output(layer, np.argmax(y, axis=1), name='train_SVHN', dir='../data/SVHN_data/train1152/') # utils.save_layer_output_by_class(layer, np.argmax(y, axis=1), name='train_SVHN', dir='../data/SVHN_data/train1152/') total_acc = total_acc + accuracy total_loss = total_loss + loss acc = total_acc / total_itera xloss = total_loss / total_itera print('Test Accuracy: %.5f%%' % acc, '- Test Loss: %.5f%%' % xloss)