# Load data print("Loading data...") trainset = Dataset('../../data/'+FLAGS.dataset+'/train.ss') devset = Dataset('../../data/'+FLAGS.dataset+'/dev.ss') testset = Dataset('../../data/'+FLAGS.dataset+'/test.ss') alldata = np.concatenate([trainset.t_docs, devset.t_docs, testset.t_docs], axis=0) embeddingpath = '../../data/'+FLAGS.dataset+'/embedding.txt' embeddingfile, wordsdict = data_helpers.load_embedding(embeddingpath, alldata, FLAGS.embedding_dim) del alldata print("Loading data finished...") usrdict, prddict = trainset.get_usr_prd_dict() trainbatches = trainset.batch_iter(usrdict, prddict, wordsdict, FLAGS.n_class, FLAGS.batch_size, FLAGS.num_epochs, FLAGS.max_sen_len, FLAGS.max_doc_len) devset.genBatch(usrdict, prddict, wordsdict, FLAGS.batch_size, FLAGS.max_sen_len, FLAGS.max_doc_len, FLAGS.n_class) testset.genBatch(usrdict, prddict, wordsdict, FLAGS.batch_size, FLAGS.max_sen_len, FLAGS.max_doc_len, FLAGS.n_class) with tf.Graph().as_default(): session_config = tf.ConfigProto( allow_soft_placement=FLAGS.allow_soft_placement, log_device_placement=FLAGS.log_device_placement ) session_config.gpu_options.allow_growth = True sess = tf.Session(config=session_config) with sess.as_default(): huapataha = huapahata(
topf1 = 0. toprmse = 0. better_dev_acc = 0. better_dev_rmse = 100 predict_round = 0 test_f1 = 0.0 for ii in range(FLAGS.num_epochs): sum_len = len(trainset.t_label) counts = sum_len / 10000 + 1 global_steps = 0 for count in range(counts): trainbatches = trainset.batch_iter(count, wordsdict, FLAGS.n_class, FLAGS.batch_size, 1, FLAGS.max_sen_len, FLAGS.max_doc_len) # Training loop. For each batch... for tr_batch in trainbatches: train_step(tr_batch) current_step = tf.train.global_step(sess, global_step) if current_step % FLAGS.evaluate_every == 0 or ii == FLAGS.num_epochs: predict_round += 1 print("\nEvaluation round %d:" % (predict_round)) print "==========devset===========" predict(devset, name="dev") #print("dev_acc: %.4f dev_RMSE: %.4f dev_MAE: %.4f" % (dev_acc, dev_rmse,dev_mae)) test_f1 = predict(testset, name="test") #print("test_acc: %.4f test_RMSE: %.4f test_MAE: %.4f" % (test_acc, test_rmse,test_mae)