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