parser.add_argument('--lstm_units', type=int, default=128, required=False, help='Hidden unit size') parser.add_argument('--char_lstm_units', type=int, default=128, required=False, help='Hidden unit size for Char rnn') parser.add_argument('--sentence_length', type=int, default=180, required=False, help='Maximum words in sentence') parser.add_argument('--word_length', type=int, default=8, required=False, help='Maximum chars in word') parser.add_argument('--num_ensemble', type=int, default=1, required=False, help='Number of submodels') try: parameter = vars(parser.parse_args()) except: parser.print_help() sys.exit(0) # Creating various information and training sets using the sentence-specific data set train_data = data_loader(parameter["input_dir"]) train_loader = Dataset(parameter, train_data) test_data = data_loader(parameter["input_dir"]) test_loader = Dataset(parameter, test_data) # Load model models = [] for i in range(parameter["num_ensemble"]): models.append(Model(train_loader.parameter, i)) models[i].build_model() # tensorflow session init sess = tf.Session() sess.run(tf.global_variables_initializer()) # Training if parameter["mode"] == "train":
try: parameter = vars(parser.parse_args()) except: parser.print_help() sys.exit(0) # data_loader를 이용해서 전체 데이터셋 가져옴 if nsml.HAS_DATASET: DATASET_PATH = nsml.DATASET_PATH else: DATASET_PATH = 'data' extern_data = [] # 가져온 문장별 데이터셋을 이용해서 각종 정보 및 학습셋 구성 dataset = Dataset(parameter, extern_data) # parameter 입력, extern_data=[] # Model 불러오기 model = Model(dataset.parameter) model.build_model() # tensorflow session 생성 및 초기화 sess = tf.Session() sess.run(tf.global_variables_initializer()) # DO NOT CHANGE bind_model(sess) if parameter["pause"] == 1: nsml.paused(scope=locals()) # 학습
parser = argparse.ArgumentParser(description=sys.argv[0] + " description") parser = config.parse_arg(parser) try: parameter = vars(parser.parse_args()) except: parser.print_help() sys.exit(0) # data_loader를 이용해서 전체 데이터셋 가져옴 DATASET_PATH = './data' extern_data = [] # 가져온 문장별 데이터셋을 이용해서 각종 정보 및 학습셋 구성 dataset = Dataset(parameter, extern_data) dev_dataset = Dataset(parameter, extern_data) # Model 불러오기 if parameter["use_conv_model"]: model = ConvModel(dataset.parameter) print("[Use Conv with lstm...]") else: model = Model(dataset.parameter) print("[Use original lstm...]") model.build_model() # tensorflow session 생성 및 초기화 sess = tf.Session() sess.run(tf.global_variables_initializer())
parameter = vars(parser.parse_args()) except: parser.print_help() sys.exit(0) # data_loader를 이용해서 전체 데이터셋 가져옴 DATASET_PATH = 'data' # if nsml.HAS_DATASET: # DATASET_PATH = nsml.DATASET_PATH # else: # DATASET_PATH = 'data' extern_data = [] # 가져온 문장별 데이터셋을 이용해서 각종 정보 및 학습셋 구성 dataset = Dataset(parameter, extern_data) # Model 불러오기 model = Model(dataset.parameter) model.build_model() # tensorflow session 생성 및 초기화 sess = tf.Session() sess.run(tf.global_variables_initializer()) # DO NOT CHANGE # bind_model(sess) # if parameter["pause"] == 1: # nsml.paused(scope=locals()) # 학습
parameter = vars(parser.parse_args()) except: parser.print_help() sys.exit(0) # data_loader를 이용해서 전체 데이터셋 가져옴 if nsml.HAS_DATASET: DATASET_PATH = nsml.DATASET_PATH else: DATASET_PATH = 'data' # 가져온 문장별 데이터셋을 이용해서 각종 정보 및 학습셋 구성 if parameter["mode"] == "train" and not os.path.exists( parameter["necessary_file"]): extern_data = data_loader(DATASET_PATH) Dataset(parameter, extern_data) elif parameter['file_append'] and os.path.exists( parameter["necessary_file"]): extern_data = data_loader(DATASET_PATH) Dataset(parameter, extern_data, True) test_data = [] extern_data = [] dataset = Dataset(parameter, extern_data) testset = Dataset(parameter, test_data) # Model 불러오기 models = [] for i in range(parameter["num_ensemble"]): models.append(Model(dataset.parameter, i)) models[i].build_model()
def NER_test(): tf.reset_default_graph() config = Config() parser = argparse.ArgumentParser(description=sys.argv[0] + " description") parser = config.parse_arg(parser) print("[NER_test...]") try: parameter = vars(parser.parse_args()) except: parser.print_help() sys.exit(0) parameter["mode"] = "test" # data_loader를 이용해서 전체 데이터셋 가져옴 DATASET_PATH = './data' #test data path extern_data = [] if parameter["mode"] == "test": extern_data = test_data_loader(DATASET_PATH) # 가져온 문장별 데이터셋을 이용해서 각종 정보 및 학습셋 구성 dataset = Dataset(parameter, extern_data) # dev_dataset = Dataset(parameter, extern_data) # # Model 불러오기 # # if parameter["use_conv_model"]: # # model = ConvModel(dataset.parameter) # # print("[Use Conv with lstm...]") # # else: # # model = Model(dataset.parameter) # # print("[Use original lstm...]") # # # # # # model.build_model_test() dev_size = config.dev_size #train_extern_data, dev_extern_data = extern_data[:-dev_size], extern_data[-dev_size:] # dataset.make_input_data(train_extern_data) #dev_dataset.make_input_data(extern_data) # For Test set best_dev_f1 = 0 cur_patience = 0 # use_lr_decay = False with tf.Session() as sess: saver = tf.train.import_meta_graph('./saved/testmodel.meta') saver.restore(sess, tf.train.latest_checkpoint('./saved/')) graph = tf.get_default_graph() # print all tensors in checkpoint file #chkp.print_tensors_in_checkpoint_file("./saved/checkpoint.ckpt", tensor_name='', all_tensors=True) # placeholder param = {} param["morph"] = graph.get_tensor_by_name('morph') param["ne_dict"] = graph.get_tensor_by_name('ne_dict') param["character"] = graph.get_tensor_by_name('character') param["dropout_rate"] = graph.get_tensor_by_name('dropout_rate') param["weight_dropout_keep_prob"] = graph.get_tensor_by_name( 'weight_dropout_keep_prob') param["lstm_dropout"] = graph.get_tensor_by_name('lstm_dropout') param["label"] = graph.get_tensor_by_name('label') param["sequence"] = graph.get_tensor_by_name('sequence') param["character_len"] = graph.get_tensor_by_name('character_len') param["global_step"] = graph.get_tensor_by_name('global_step') param["emb_dropout_keep_prob"] = graph.get_tensor_by_name( 'emb_dropout_keep_prob') param["dense_dropout_keep_prob"] = graph.get_tensor_by_name( 'dense_dropout_keep_prob') param["learning_rate"] = graph.get_tensor_by_name('learning_rate') #tensor model.cost, model.viterbi_sequence, model.train_op param["cost"] = graph.get_tensor_by_name('cost') param["viterbi_sequence"] = graph.get_tensor_by_name( 'viterbi_sequence') param["train_op"] = graph.get_tensor_by_name('train_op') #for epoch in range(parameter["epochs"]): #random.shuffle(extern_data) # 항상 train set shuffle 시켜주자 dataset.make_input_data(extern_data) # Check for test set de_avg_cost, de_avg_correct, de_precision_count, de_recall_count = iteration_model_Test( dataset, parameter, param, train=False) print('[Epoch: {:>4}] cost = {:>.6} Accuracy = {:>.6}'.format( epoch + 1, de_avg_cost, de_avg_correct)) de_f1Measure, de_precision, de_recall = calculation_measure( de_precision_count, de_recall_count) print('[Test] F1Measure : {:.6f} Precision : {:.6f} Recall : {:.6f}'. format(de_f1Measure, de_precision, de_recall))
try: parameter = vars(parser.parse_args()) except: parser.print_help() sys.exit(0) # data_loader를 이용해서 전체 데이터셋 가져옴 if nsml.HAS_DATASET: DATASET_PATH = nsml.DATASET_PATH else: DATASET_PATH = 'data' extern_data = [] print('0') # 가져온 문장별 데이터셋을 이용해서 각종 정보 및 학습셋 구성 dataset = Dataset(parameter, extern_data, Use_pretrained = True) print('5') # Model 불러오기 model = Model(dataset.parameter) model.build_model() # tensorflow session 생성 및 초기화 sess = tf.Session() sess.run(tf.global_variables_initializer()) # DO NOT CHANGE bind_model(sess) if parameter["pause"] == 1: nsml.paused(scope=locals())
parameter = vars(parser.parse_args()) except: parser.print_help() sys.exit(0) # data_loader를 이용해서 전체 데이터셋 가져옴 DATASET_PATH = './data' extern_data = [] # make necessary file if not exist if parameter["mode"] == "train" and not os.path.exists( parameter["necessary_file"]): extern_data = data_loader(DATASET_PATH) # 가져온 문장별 데이터셋을 이용해서 각종 정보 및 학습셋 구성 dataset = Dataset(parameter, extern_data) dev_dataset = Dataset(parameter, extern_data) test_dataset = Dataset(parameter, extern_data) # Model 불러오기 if parameter["use_conv_model"]: model = ConvModel(dataset.parameter) print("[Use Conv with lstm...]") else: model = Model(dataset.parameter) print("[Use original lstm...]") model.build_model() # tensorflow session 생성 및 초기화 sess = tf.Session()