コード例 #1
0
            valid_predictions = []
            n_batches = valid_X.shape[0] // VALID_BATCH_SIZE
            for i in range(n_batches):
                start = i * VALID_BATCH_SIZE
                end = start + VALID_BATCH_SIZE
                pred, valid_cost = sess.run([valid, loss],
                                            feed_dict={
                                                x: valid_X[start:end],
                                                t: valid_y[start:end]
                                            })
                valid_predictions.extend(pred)
                valid_costs.append(valid_cost)

            # f1_score = f1_score(np.argmax(valid_y, 1).astype('int32'), valid_predictions, average='macro')
            accuracy = accuracy_score(
                np.argmax(valid_y, 1).astype('int32'), valid_predictions)
            if epoch % 5 == 0:
                print(
                    'EPOCH: {epoch}, Training cost: {train_cost}, Validation cost: {valid_cost}, Validation Accuracy: {accuracy} '
                    .format(epoch=epoch,
                            train_cost=np.mean(train_costs),
                            valid_cost=np.mean(valid_costs),
                            accuracy=accuracy))

            if early_stopping.check(np.mean(valid_costs)):
                break

        print("save model...")
        saver = tf.train.Saver()
        saver.save(sess, SAVE_PATH, global_step=epoch)
コード例 #2
0
            n_batches = train_X.shape[0] // hp.BATCH_SIZE

            # train
            train_costs = []
            train_acc = []
            for i in tqdm(range(n_batches)):
                # print(i)
                start = i * hp.BATCH_SIZE
                end = start + hp.BATCH_SIZE
                _, _acc, _loss = sess.run([train, accuracy, loss], feed_dict={x: train_X[start:end], y: ty[start:end], is_training: True})
                train_costs.append(_loss)
                train_acc.append(_acc)
            print('EPOCH: {epoch}, Training avg cost: {train_cost}, Training avg acc: {train_acc} '
                  .format(epoch=epoch, train_cost=np.mean(train_costs), train_acc=np.mean(train_acc)))

            if early_stopping.check(np.mean(train_costs)):
                print("epoch:",epoch)
                break


        # valid
        valid_costs = []
        valid_predictions = []
        valid_scores = []
        n_batches = X_test.shape[0] // hp.VALID_BATCH_SIZE
        print("test n_batch", n_batches)
        for i in range(n_batches):
            start = i * hp.BATCH_SIZE
            end = start + hp.BATCH_SIZE
            pred, valid_cost, score = sess.run([valid, loss, pre_score], feed_dict={x: X_test[start:end], y: ey[start:end], is_training: False})
            valid_predictions.extend(pred)