def Finalsummary(Num, JueLv, Keyword): # characters = input("Please input characters:") characters = Keyword # # 根据关键词返回类别标签 label = word2vec_demo.Word2vec_similar.class_tags(characters) print(label) Imbalance_words = word2vec_demo.Word2vec_similar.similar_6words( characters, label) if '边塞征战' == label: class_tag = 'biansai' elif '写景咏物' == label: class_tag = 'jingwu' elif '山水田园' == label: class_tag = 'shanshui' elif '思乡羁旅' == label: class_tag = 'sixiang' else: class_tag = 'poetrySong' checkpointsPath = "E:\Desk\MyProjects\Python/NLP_Demo1\File_jar\generate_poem/" + class_tag # checkpoints location trainPoems = "E:\Desk\MyProjects\Python/NLP_Demo1\File_jar\generate_poem\Poetry_class/" + class_tag + ".txt" # training file location # 训练数据时用,依次更改诗的种类,路径 # trainPoems = "E:\Desk\MyProjects\Python/NLP_Demo1\File_jar\generate_poem\Poetry_class/yongshi.txt" # checkpointsPath = "E:\Desk\MyProjects\Python/NLP_Demo1\File_jar\generate_poem/yongshi" trainData = data.POEMS(trainPoems) MCPangHu = model.MODEL(trainData) # 带参初始化 #***** 分别训练5类模型 # MCPangHu.train(checkpointsPath) poems = MCPangHu.testHead(characters, Imbalance_words, checkpointsPath, Num, JueLv) return poems
def main(trainPoems, checkpointsPath): global Str args = defineArgs() trainData = data.POEMS(trainPoems) MCPangHu = model.MODEL(trainData) if args.mode == "train": MCPangHu.train() else: if args.mode == "test": poems = MCPangHu.test(checkpointsPath) Str = MCPangHu.Get_Str() else: characters = input("please input chinese character:") poems = MCPangHu.testHead(characters)
print("no checkpoint found!") for epoch in range(epochNum): X, Y = self.trainData.generateBatch() epochSteps = len(X) # equal to batch for step, (x, y) in enumerate(zip(X, Y)): a, loss, gStep = sess.run([trainOP, cost, addGlobalStep], feed_dict={gtX: x, gtY: y}) print("epoch: %d, steps: %d/%d, loss: %3f" % (epoch + 1, step + 1, epochSteps, loss)) if gStep % saveStep == saveStep - 1: # prevent save at the beginning print("save model") saver.save(sess, os.path.join(evaluateCheckpointsPath, type), global_step=gStep) X, Y = self.trainData.generateBatch(isTrain=False) print("evaluating testing error...") wrongNum = 0 totalNum = 0 testBatchNum = len(X) for step, (x, y) in enumerate(zip(X, Y)): print("test batch %d/%d" % (step + 1, testBatchNum)) testProbs, testTargets = sess.run([probs, targets], feed_dict={gtX: x, gtY: y}) wrongNum += len(np.nonzero(np.argmax(testProbs, axis=1) - testTargets)[0]) totalNum += len(testTargets) print("accuracy: %.2f" % ((totalNum - wrongNum) / totalNum)) if __name__ == "__main__": trainData = data.POEMS(trainPoems, isEvaluate=True) MCPangHu = EVALUATE_MODEL(trainData) MCPangHu.evaluate()
# coding: UTF-8 from config import * import data import model def defineArgs(): """define args""" parser = argparse.ArgumentParser(description="Chinese_poem_generator.") parser.add_argument("-m", "--mode", help="select mode by 'train' or test or head", choices=["train", "test", "head"], default="test") return parser.parse_args() if __name__ == "__main__": args = defineArgs() trainData = data.POEMS(trainPoems) MCPangHu = model.MODEL(trainData) if args.mode == "train": MCPangHu.train() else: if args.mode == "test": poems = MCPangHu.test() else: characters = input("please input chinese character:") poems = MCPangHu.testHead(characters)
github: https://github.com/hjptriplebee ''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' '''''' '' from config import * import data import model def defineArgs(): """define args""" parser = argparse.ArgumentParser(description="Chinese_poem_generator.") parser.add_argument("-m", "--mode", help="select mode by 'train' or test or head", choices=["train", "test", "head", "header"], default="test") return parser.parse_args() if __name__ == "__main__": args = defineArgs() trainData = data.POEMS(trainPoems, path_word2vec) MCPangHu = model.MODEL(trainData) if args.mode == "train": MCPangHu.train() else: if args.mode == "test": poems = MCPangHu.test() elif args.mode == 'head': poems = MCPangHu.testHead(characters) elif args.mode == 'header': poems = MCPangHu.testHeader(header)