Exemple #1
0
def attention_3d_block(input_shapeR, input_shapeQ):
    relation_maxlen = gl.get_relation_maxlen()
    LSTM_DIM=gl.get_LSTM_DIM()
    # inputs.shape = (batch_size, time_steps, seq_len)
    print("input_shapeR: ")
    print(K.int_shape(input_shapeR))
    print("input_shapeQ: ")
    print(K.int_shape(input_shapeQ))


    mid = Dense(2*LSTM_DIM,name="att_dense",kernel_regularizer=regularizers.l2(0.01))(input_shapeR)
    print("mid: ")
    print(K.int_shape(mid))
    print("rq: ")
    rq = Permute((2, 1))(input_shapeQ)
    print(K.int_shape(rq))
    #a = K.batch_dot(mid,rq,axes=[2,1])
    a = Dot(axes=[2,2])([mid,input_shapeQ])
   # a = K.batch_dot(a,mid,axes=2)
    a = Activation('softmax')(a)

    ##rtt =Permute((2, 1))(input_shapeR)
    # x.shape = (batch_size, seq_len, time_steps)
    print("a: ")
    print(K.int_shape(a))


    outputs = Dot(axes=[1, 1])([input_shapeR, a])
    outputs = Permute((2, 1))(outputs)
    print("outputs: ")
    print(K.int_shape(outputs))
    return outputs
Exemple #2
0
gl.set_preprocessWordVector_path("/data/zjy/")
gl.set_MAX_NB_WORDS(30)
gl.set_EMBEDDING_DIM(200)
gl.set_LSTM_DIM(150)

train_rela_files = gl.get_train_rela_files()
train_ques_file = gl.get_train_ques_file()
train_label_file = gl.get_train_label_file()
test_rela_files = gl.get_test_rela_files()
test_ques_file = gl.get_test_ques_file()
test_label_file = gl.get_test_label_file()
preprocessWordVector_files = gl.get_preprocessWordVector_files()
preprocessWordVector_path = gl.get_preprocessWordVector_path()
MAX_NB_WORDS = gl.get_MAX_NB_WORDS()
EMBEDDING_DIM = gl.get_EMBEDDING_DIM()
LSTM_DIM = gl.get_LSTM_DIM()

gl.set_NUM_FILTERS(150)
gl.set_filter_sizes([1, 3, 5])

NUM_FILTERS = gl.get_NUM_FILTERS()
filter_sizes = gl.get_filter_sizes()

#预处理

ques_train, rela_train, label_train, ques_test, rela_test, label_test, wd_idx = preprocess(
    train_rela_files, train_ques_file, train_label_file, test_rela_files,
    test_ques_file, test_label_file)
embedding_index = loadEmbeddingsIndex(preprocessWordVector_path,
                                      preprocessWordVector_files)
embedding_matrix = generateWord2VectorMatrix(embedding_index, wd_idx)