Exemplo n.º 1
0
def training():
    if debug:
        #         sess = K.get_session()
        #         sess = tfdbg.TensorBoardDebugWrapperSession(sess, "0.0.0.0:9009")
        #         K.set_session(sess)
        K.set_session(
            tfdbg.TensorBoardDebugWrapperSession(tf.Session(),
                                                 "chaowei-SYS-7048GR-TR:9010"))

    if USE_MULTI_INPUT:
        model, (train_x, train_y), (test_x,
                                    test_y) = bilsm_crf_model.create_model2()
        # train model
        model.fit([train_x, train_x],
                  train_y,
                  batch_size=batch_size,
                  epochs=EPOCHS,
                  validation_data=[[test_x, test_x], test_y],
                  callbacks=gen_callbacks())
        model.save('model/crf_multi.h5')
    else:
        model, (train_x, train_y), (test_x,
                                    test_y) = bilsm_crf_model.create_model()
        # train model
        model.fit(train_x,
                  train_y,
                  batch_size=batch_size,
                  epochs=EPOCHS,
                  validation_data=[test_x, test_y],
                  callbacks=gen_callbacks())
        model.save('model/crf.h5')
Exemplo n.º 2
0
import bilsm_crf_model
import process_data
import numpy as np

model, (vocab, chunk_tags) = bilsm_crf_model.create_model(train=False)
predict_text = '中华人民共和国国务院总理周恩来在外交部长陈毅的陪同下,连续访问了埃塞俄比亚等非洲10国以及阿尔巴尼亚'
# predict_text = '樊大志同志1987年8月参加工作。先后在东北财经大学、北京国际信托投资公司、北京市境外融投资管理中心、北京市国有资产经营有限责任公司、北京证券有限责任公司、北京首都创业集团有限公司、华夏银行股份有限公司工作。'
(train_x, train_y), (test_x, test_y), (vocab1,
                                       chunk_tags1) = process_data.load_data()

model.load_weights('model/crf.h5')

# str, length = process_data.process_data(predict_text, vocab)
# raw = model.predict(str)[0][-length:]
# print(raw)
pre_l = model.predict(test_x)
raw = [[np.argmax(row) for row in l] for l in pre_l]

tpre_nump, pre_nump = 0, 0
tpre_numl, pre_numl = 0, 0
tpre_numo, pre_numo = 0, 0
for l, r in zip(test_y, raw):
    for s, i in zip(l, r):
        if s == 1 and i == 1:
            tpre_nump += 1
        elif s == 3 and i == 3:
            tpre_numl += 1
        elif s == 5 and i == 5:
            tpre_numo += 1

for l in raw:
Exemplo n.º 3
0
import bilsm_crf_model
import process_data
import numpy as np

EPOCHS = 3
model, (train_x, train_y) = bilsm_crf_model.create_model()
model.fit(train_x[:10000], train_y[:10000],batch_size=64,epochs=EPOCHS)
model.save('model/crf.h5')
Exemplo n.º 4
0
import numpy as np
import bilsm_crf_model
EPOCHS = 10
model, (train_x, train_y), (test_x,
                            test_y) = bilsm_crf_model.create_model(train=True)
# train model
print(train_x.shape, train_y.shape)
model.fit(train_x, train_y, batch_size=16)
model.save('model/crf.h5')
Exemplo n.º 5
0
import pickle

import keras
import numpy as np
from sklearn_crfsuite.metrics import flat_classification_report

import bilsm_crf_model
import process_data

EPOCHS = 10
model, (train_x, train_y,
        _), (test_x, test_y,
             length), (vocab, chunk_tags) = bilsm_crf_model.create_model()
dev_x, dev_y, dev_length = process_data.load_data(use_dev=True)
# train model
# split = 7000

# define the grid search parameters
# batch_size = [10, 20, 40, 60, 80, 100]
# epochs = [16, 32, 64, 100]
# param_grid = dict(batch_size=batch_size, nb_epoch=epochs)
# grid = GridSearchCV(estimator=model, param_grid=param_grid, n_jobs=-1)
# grid_result = grid.fit(train_x[:split], train_y[:split], validation_data=[train_x[split:], train_y[split:]])
#
# print("Best: %f using %s" % (grid_result.best_score_, grid_result.best_params_))
# for params, mean_score, scores in grid_result.grid_scores_:
#     print("%f (%f) with: %r" % (scores.mean(), scores.std(), params))

history = model.fit(
    train_x,
    train_y,