Esempio n. 1
0
    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
Esempio n. 2
0
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
Esempio n. 3
0
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)