def local_predict(sess, model): """Test on the valid data.""" time0 = time.time() predict_labels_list = list() # 所有的预测结果 marked_labels_list = list() predict_scores = list() for i in tqdm(xrange(n_va_batches)): [X1_batch, X2_batch, y_batch] = get_batch(i) marked_labels_list.extend(y_batch) _batch_size = len(X1_batch) fetches = [model.y_pred] feed_dict = {model.X1_inputs: X1_batch, model.X2_inputs: X2_batch, model.batch_size: _batch_size, model.tst: True, model.keep_prob: 1.0} predict_labels = sess.run(fetches, feed_dict)[0] predict_scores.append(predict_labels) predict_labels = map(lambda label: label.argsort()[-1:-6:-1], predict_labels) # 取最大的5个下标 predict_labels_list.extend(predict_labels) predict_label_and_marked_label_list = zip(predict_labels_list, marked_labels_list) precision, recall, f1 = score_eval(predict_label_and_marked_label_list) print('Local valid p=%g, r=%g, f1=%g' % (precision, recall, f1)) predict_scores = np.vstack(np.asarray(predict_scores)) local_scores_name = local_scores_path + model_name + '.npy' np.save(local_scores_name, predict_scores) print('local_scores.shape=', predict_scores.shape) print('Writed the scores into %s, time %g s' % (local_scores_name, time.time() - time0))
def local_predict(sess, model): """Test on the valid data.""" time0 = time.time() predict_labels_list = list() # 所有的预测结果 marked_labels_list = list() predict_scores = list() for i in tqdm(xrange(n_va_batches)): [X1_batch, X2_batch, y_batch] = get_batch(i) marked_labels_list.extend(y_batch) _batch_size = len(X1_batch) fetches = [model.y_pred] feed_dict = { model.X1_inputs: X1_batch, model.X2_inputs: X2_batch, model.batch_size: _batch_size, model.tst: True, model.keep_prob: 1.0 } predict_labels = sess.run(fetches, feed_dict)[0] predict_scores.append(predict_labels) predict_labels = map(lambda label: label.argsort()[-1:-6:-1], predict_labels) # 取最大的5个下标 predict_labels_list.extend(predict_labels) predict_label_and_marked_label_list = zip(predict_labels_list, marked_labels_list) precision, recall, f1 = score_eval(predict_label_and_marked_label_list) print('Local valid p=%g, r=%g, f1=%g' % (precision, recall, f1)) predict_scores = np.vstack(np.asarray(predict_scores)) local_scores_name = local_scores_path + model_name + '.npy' np.save(local_scores_name, predict_scores) print('local_scores.shape=', predict_scores.shape) print('Writed the scores into %s, time %g s' % (local_scores_name, time.time() - time0))
def valid_epoch(data_path, sess, model): """Test on the valid data.""" va_batches = os.listdir(data_path) n_va_batches = len(va_batches) _costs = 0.0 predict_labels_list = list() # 所有的预测结果 marked_labels_list = list() for i in range(n_va_batches): [X1_batch, X2_batch, y_batch] = get_batch(data_path, i) marked_labels_list.extend(y_batch) y_batch = to_categorical(y_batch) _batch_size = len(y_batch) fetches = [model.loss, model.y_pred] feed_dict = { model.X1_inputs: X1_batch, model.X2_inputs: X2_batch, model.y_inputs: y_batch, model.batch_size: _batch_size, model.tst: True, model.keep_prob: 1.0 } _cost, predict_labels = sess.run(fetches, feed_dict) _costs += _cost predict_labels = list( map(lambda label: label.argsort()[-1:-6:-1], predict_labels)) # 取最大的5个下标 predict_labels_list.extend(predict_labels) predict_label_and_marked_label_list = zip(predict_labels_list, marked_labels_list) precision, recall, f1 = score_eval(predict_label_and_marked_label_list) mean_cost = _costs / n_va_batches return mean_cost, precision, recall, f1
def valid_epoch(data_path=data_valid_path): """Test on the valid data.""" _costs = 0.0 predict_labels_list = list() # 所有的预测结果 marked_labels_list = list() # 真实标签 _global_step = sess.run(global_step) for i in range(n_va_batches): [X1_batch, X2_batch, y_batch] = get_batch(data_path, i) marked_labels_list.extend(y_batch) y_batch = to_categorical(y_batch) _batch_size = len(y_batch) fetches = [merged, cost, y_pred] feed_dict = { X1_inputs: X1_batch, X2_inputs: X2_batch, y_inputs: y_batch, batch_size: _batch_size, keep_prob: 1.0, tst: True, n_updates: _global_step } summary, _cost, predict_labels = sess.run(fetches, feed_dict) _costs += _cost predict_labels = map(lambda label: label.argsort()[-1:-6:-1], predict_labels) # 取最大的5个下标 predict_labels_list.extend(predict_labels) predict_label_and_marked_label_list = zip(predict_labels_list, marked_labels_list) precision, recall, f1 = score_eval(predict_label_and_marked_label_list) mean_cost = _costs / n_va_batches return mean_cost, precision, recall, f1
def valid_epoch(): """Testing or valid.""" data_valid._index_in_epoch = 0 # 先指向第一个值 _batch_size = te_batch_size fetches = [cost, y_pred] batch_num = int(valid_data_size / _batch_size) start_time = time.time() _costs = 0.0 predict_labels_list = list() # 所有的预测结果 for i in range(batch_num): X_batch, y_batch = data_valid.next_batch(_batch_size) X1_batch = X_batch[:, :n_step1] X2_batch = X_batch[:, n_step1:] y_batch = to_categorical(y_batch) feed_dict = { X1_inputs: X1_batch, X2_inputs: X2_batch, y_inputs: y_batch, lr: 1e-5, batch_size: _batch_size, keep_prob: 1.0, fc_keep_prob: 1.0, tst: True, n_updates: global_step } _cost, predict_labels = sess.run(fetches, feed_dict) _costs += _cost predict_labels = map(lambda label: label.argsort()[-1:-6:-1], predict_labels) # 取最大的5个下标 predict_labels_list.extend(predict_labels) predict_label_and_marked_label_list = zip(predict_labels_list, marked_labels_list) precision, recall, f1 = score_eval(predict_label_and_marked_label_list) mean_cost = _costs / batch_num return mean_cost, precision, recall, f1
def valid_epoch(data_path, sess, model): """Test on the valid data.""" va_batches = os.listdir(data_path) n_va_batches = len(va_batches) _costs = 0.0 predict_labels_list = list() # 所有的预测结果 marked_labels_list = list() for i in xrange(n_va_batches): [X1_batch, X2_batch, y_batch] = get_batch(data_path, i) marked_labels_list.extend(y_batch) y_batch = to_categorical(y_batch) _batch_size = len(y_batch) fetches = [model.loss, model.y_pred] feed_dict = {model.X1_inputs: X1_batch, model.X2_inputs: X2_batch, model.y_inputs: y_batch, model.batch_size: _batch_size, model.tst: True, model.keep_prob: 1.0} _cost, predict_labels = sess.run(fetches, feed_dict) _costs += _cost predict_labels = map(lambda label: label.argsort()[-1:-6:-1], predict_labels) # 取最大的5个下标 predict_labels_list.extend(predict_labels) predict_label_and_marked_label_list = zip(predict_labels_list, marked_labels_list) precision, recall, f1 = score_eval(predict_label_and_marked_label_list) mean_cost = _costs / n_va_batches return mean_cost, precision, recall, f1