def get_validation_data(input_texts, target_texts, char2id, maxlen=400): # 数据生成器 X, Y = [], [] for i in range(len(input_texts)): X.append(str2id(input_texts[i], char2id, maxlen)) Y.append(str2id(target_texts[i], char2id, maxlen)) X = np.array(padding(X, char2id)) Y = np.array(padding(Y, char2id)) return [X, Y], None
def data_generator(input_texts, target_texts, char2id, batch_size, maxlen=400): # 数据生成器 while True: X, Y = [], [] for i in range(len(input_texts)): X.append(str2id(input_texts[i], char2id, maxlen)) Y.append(str2id(target_texts[i], char2id, maxlen)) if len(X) == batch_size: X = np.array(padding(X, char2id)) Y = np.array(padding(Y, char2id)) yield [X, Y], None X, Y = [], []
def get_validation_data(input_texts, target_texts, char2id, input_pinyins, output_pinyins, pingyin2id, maxlen=400): # 数据生成器 X, Y = [], [] X_p, Y_p = [], [] for i in range(len(input_texts)): X.append(str2id(input_texts[i], char2id, maxlen)) Y.append(str2id(target_texts[i], char2id, maxlen)) X_p.append(str2id(input_pinyins[i], pingyin2id, maxlen)) Y_p.append(str2id(output_pinyins[i], pingyin2id, maxlen)) X = np.array(padding(X, char2id)) Y = np.array(padding(Y, char2id)) X_p = np.array(padding(X_p, pingyin2id)) Y_p = np.array(padding(Y_p, pingyin2id)) return [X, Y, X_p, Y_p], None
def data_generator(input_texts, target_texts, char2id, input_pinyins, output_pinyins, pingyin2id, batch_size, maxlen=400): # 数据生成器 while True: X, Y = [], [] X_p, Y_p = [], [] for i in range(len(input_texts)): X.append(str2id(input_texts[i], char2id, maxlen)) Y.append(str2id(target_texts[i], char2id, maxlen)) X_p.append(str2id(input_pinyins[i], pingyin2id, maxlen)) Y_p.append(str2id(output_pinyins[i], pingyin2id, maxlen)) if len(X) == batch_size: X = np.array(padding(X, char2id)) Y = np.array(padding(Y, char2id)) X_p = np.array(padding(X_p, pingyin2id)) Y_p = np.array(padding(Y_p, pingyin2id)) yield [X, Y, X_p, Y_p], None X, Y, X_p, Y_p = [], [], [], []