import tensorflow as tf
f = open("琉璃美人煞.txt")
text = f.read()
print('Length of text: {} characters'.format(len(text)))
Length of text: 928482 characters
print(text[:250])
【全本精校】《琉璃美人煞》 作者:十四十四/十四郎 内容简介: 藏在褚璇玑庸懒外表下的,是一颗琉璃般清澈冰冷的心,前世种种因果,让她今世不懂情感。对修仙的人来说,有心者,凡间即天庭。那么,有心者,是不是可以琉璃亦血肉?天下闻名的簪花大会前夕,璇玑被选为摘花人,与父亲和师兄钟敏言下山狩猎妖魔,并结识了离泽官弟子禹司凤。除妖过程甚是惊险,钟敏言因此发现了璇玑身体里的古怪力量,对她心存警惕,而禹司凤却渐渐对璇玑有意。摘花任务结束后,禹司凤、钟敏言因拯救被陷害的鲛人结下深厚的友谊。回到少阳派之
vocab = sorted(set(text))
print ('{} unique characters'.format(len(vocab)))
3768 unique characters
import numpy as np
# 创建从非重复字符到索引的映射
char2idx = {u:i for i, u in enumerate(vocab)}
idx2char = np.array(vocab)
text_as_int = np.array([char2idx[c] for c in text])
# 设定每个输入句子长度的最大值
seq_length = 40
examples_per_epoch = len(text)//seq_length
# 创建训练样本 / 目标
char_dataset = tf.data.Dataset.from_tensor_slices(text_as_int)
for i in char_dataset.take(5):
print(idx2char[i.numpy()])
【 全 本 精 校
sequences = char_dataset.batch(seq_length+1, drop_remainder=True)
for item in sequences.take(5):
print(item.numpy())
print(repr(''.join(idx2char[item.numpy()])))
[ 43 293 1702 2584 1763 44 41 2227 2245 2693 134 2123 42 0 196 2715 3765 437 738 437 738 5 437 738 3402 0 0 38 38 311 969 2550 141 3765 0 38 38 2946 756 3042 2246] '【全本精校】《琉璃美人煞》\n作者:十四十四/十四郎\n\n\u3000\u3000内容简介:\n\u3000\u3000藏在褚璇' [2209 1129 1335 824 3015 52 2319 3764 1647 45 3614 2227 2245 2839 2011 2070 326 330 2319 1189 3764 382 59 2470 2470 740 1735 3764 3076 857 140 59 53 1331 1275 1307 40 987 233 150 2319] '玑庸懒外表下的,是一颗琉璃般清澈冰冷的心,前世种种因果,让她今世不懂情感。对修仙的' [ 134 1721 3127 3764 1690 1189 2715 3764 344 3494 461 829 1127 40 3395 84 3764 1690 1189 2715 3764 1647 53 1647 509 153 2227 2245 126 3005 2740 3767 829 52 3498 529 2319 2568 2860 828 173] '人来说,有心者,凡间即天庭。那么,有心者,是不是可以琉璃亦血肉?天下闻名的簪花大会' [ 382 823 3764 2246 2209 3029 3354 78 1544 2860 134 3764 54 2144 132 580 1079 280 3442 1586 3066 52 1026 2180 2189 867 3700 3764 1105 2633 3096 108 2463 1945 951 1146 921 2462 517 345 40] '前夕,璇玑被选为摘花人,与父亲和师兄钟敏言下山狩猎妖魔,并结识了离泽官弟子禹司凤。' [3528 867 3326 2480 2257 1647 1277 3530 3764 3442 1586 3066 740 1852 490 2214 108 2246 2209 3281 192 3430 2319 499 1230 396 3433 3764 987 857 1189 926 3069 1280 3764 2716 2462 517 345 462 2015] '除妖过程甚是惊险,钟敏言因此发现了璇玑身体里的古怪力量,对她心存警惕,而禹司凤却渐'
def split_input_target(chunk):
input_text = chunk[:-1]
target_text = chunk[1:]
return input_text, target_text
dataset = sequences.map(split_input_target)
for input_example, target_example in dataset.take(5):
print ('Input data: ', repr(''.join(idx2char[input_example.numpy()])))
print ('Target data:', repr(''.join(idx2char[target_example.numpy()])))
Input data: '【全本精校】《琉璃美人煞》\n作者:十四十四/十四郎\n\n\u3000\u3000内容简介:\n\u3000\u3000藏在褚' Target data: '全本精校】《琉璃美人煞》\n作者:十四十四/十四郎\n\n\u3000\u3000内容简介:\n\u3000\u3000藏在褚璇' Input data: '玑庸懒外表下的,是一颗琉璃般清澈冰冷的心,前世种种因果,让她今世不懂情感。对修仙' Target data: '庸懒外表下的,是一颗琉璃般清澈冰冷的心,前世种种因果,让她今世不懂情感。对修仙的' Input data: '人来说,有心者,凡间即天庭。那么,有心者,是不是可以琉璃亦血肉?天下闻名的簪花大' Target data: '来说,有心者,凡间即天庭。那么,有心者,是不是可以琉璃亦血肉?天下闻名的簪花大会' Input data: '前夕,璇玑被选为摘花人,与父亲和师兄钟敏言下山狩猎妖魔,并结识了离泽官弟子禹司凤' Target data: '夕,璇玑被选为摘花人,与父亲和师兄钟敏言下山狩猎妖魔,并结识了离泽官弟子禹司凤。' Input data: '除妖过程甚是惊险,钟敏言因此发现了璇玑身体里的古怪力量,对她心存警惕,而禹司凤却' Target data: '妖过程甚是惊险,钟敏言因此发现了璇玑身体里的古怪力量,对她心存警惕,而禹司凤却渐'
idx2char[input_example.numpy()]
array(['除', '妖', '过', '程', '甚', '是', '惊', '险', ',', '钟', '敏', '言', '因', '此', '发', '现', '了', '璇', '玑', '身', '体', '里', '的', '古', '怪', '力', '量', ',', '对', '她', '心', '存', '警', '惕', ',', '而', '禹', '司', '凤', '却'], dtype='<U1')
for i, (input_idx, target_idx) in enumerate(zip(input_example[:5], target_example[:5])):
print("Step {:4d}".format(i))
print(" input: {} ({:s})".format(input_idx, repr(idx2char[input_idx])))
print(" expected output: {} ({:s})".format(target_idx, repr(idx2char[target_idx])))
Step 0 input: 3528 ('除') expected output: 867 ('妖') Step 1 input: 867 ('妖') expected output: 3326 ('过') Step 2 input: 3326 ('过') expected output: 2480 ('程') Step 3 input: 2480 ('程') expected output: 2257 ('甚') Step 4 input: 2257 ('甚') expected output: 1647 ('是')
# 批大小
BATCH_SIZE = 64
# 设定缓冲区大小,以重新排列数据集
# (TF 数据被设计为可以处理可能是无限的序列,
# 所以它不会试图在内存中重新排列整个序列。相反,
# 它维持一个缓冲区,在缓冲区重新排列元素。)
BUFFER_SIZE = 10000
dataset = dataset.shuffle(BUFFER_SIZE).batch(BATCH_SIZE, drop_remainder=True)
dataset
<BatchDataset shapes: ((64, 40), (64, 40)), types: (tf.int64, tf.int64)>
len(dataset)
353
train_dataset = dataset.skip(int(len(dataset)*0.15)).cache()
val_dataset = dataset.take(int(len(dataset)*0.15)).cache()
len(train_dataset)
301
len(val_dataset)
52
# 词集的长度
vocab_size = len(vocab)
# 嵌入的维度
embedding_dim = 512
# RNN 的单元数量
rnn_units = 1024
def build_model(vocab_size, embedding_dim, rnn_units, batch_size):
model = tf.keras.Sequential([
tf.keras.layers.Embedding(vocab_size, embedding_dim, batch_input_shape=(batch_size, seq_length)),
tf.keras.layers.LSTM(rnn_units, return_sequences=True, stateful=True, recurrent_initializer='glorot_uniform'),
tf.keras.layers.Dense(vocab_size)
])
return model
model = build_model(
vocab_size = len(vocab),
embedding_dim=embedding_dim,
rnn_units=rnn_units,
batch_size=BATCH_SIZE)
model.summary()
Model: "sequential" _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= embedding (Embedding) (64, 40, 512) 1929216 _________________________________________________________________ lstm (LSTM) (64, 40, 1024) 6295552 _________________________________________________________________ dense (Dense) (64, 40, 3768) 3862200 ================================================================= Total params: 12,086,968 Trainable params: 12,086,968 Non-trainable params: 0 _________________________________________________________________
for input_example_batch, target_example_batch in dataset.take(1):
example_batch_predictions = model(input_example_batch)
print(example_batch_predictions.shape, "# (batch_size, sequence_length, vocab_size)")
(64, 40, 3768) # (batch_size, sequence_length, vocab_size)
sampled_indices = tf.random.categorical(example_batch_predictions[0], num_samples=1)
sampled_indices = tf.squeeze(sampled_indices,axis=-1).numpy()
sampled_indices
array([1818, 1509, 1165, 720, 2774, 1869, 1349, 3117, 3136, 994, 1156, 266, 1116, 890, 373, 1368, 321, 2969, 914, 3020, 1387, 1059, 3255, 1250, 3346, 2471, 402, 393, 820, 3735, 2259, 30, 1131, 3635, 674, 3452, 1871, 361, 2097, 3653])
print("Input: \n", repr("".join(idx2char[input_example_batch[0].numpy()])))
print()
print("Next Char Predictions: \n", repr("".join(idx2char[sampled_indices])))
Input: '就见一栋两层的旧房子矗立在街道尽头,整条街只有这屋子建的最高,也只有它有屋檐琉璃' Next Char Predictions: '榔揄影噢胯毅戳诨调尊强催库娃刮扣冠蚣嫉袂把州踩息迸科劣割复麻生~廊饭喔铁母刎炸馥'
def loss(labels, logits):
return tf.keras.losses.sparse_categorical_crossentropy(labels, logits, from_logits=True)
example_batch_loss = loss(target_example_batch, example_batch_predictions)
print("Prediction shape: ", example_batch_predictions.shape, " # (batch_size, sequence_length, vocab_size)")
print("scalar_loss: ", example_batch_loss.numpy().mean())
Prediction shape: (64, 40, 3768) # (batch_size, sequence_length, vocab_size) scalar_loss: 8.234354
model.compile(optimizer='adam', loss=loss, metrics=['accuracy'])
import os
# 检查点保存至的目录
checkpoint_dir = './training_checkpoints'
# 检查点的文件名
checkpoint_prefix = os.path.join(checkpoint_dir, "ckpt_{epoch}")
checkpoint_callback=tf.keras.callbacks.ModelCheckpoint(filepath=checkpoint_prefix, save_weights_only=True, save_best_only=True)
checkpoint_es = tf.keras.callbacks.EarlyStopping(patience=5, restore_best_weights=True)
EPOCHS=100
history = model.fit(train_dataset, epochs=EPOCHS, callbacks=[checkpoint_callback, checkpoint_es], validation_data=val_dataset)
Epoch 1/100 301/301 [==============================] - 22s 67ms/step - loss: 5.8549 - accuracy: 0.1207 - val_loss: 4.4760 - val_accuracy: 0.2566 Epoch 2/100 301/301 [==============================] - 152s 507ms/step - loss: 4.3558 - accuracy: 0.2681 - val_loss: 4.0375 - val_accuracy: 0.2980 Epoch 3/100 301/301 [==============================] - 235s 781ms/step - loss: 3.9789 - accuracy: 0.3038 - val_loss: 3.8084 - val_accuracy: 0.3197 Epoch 4/100 301/301 [==============================] - 235s 781ms/step - loss: 3.7618 - accuracy: 0.3242 - val_loss: 3.6552 - val_accuracy: 0.3360 Epoch 5/100 301/301 [==============================] - 235s 781ms/step - loss: 3.6036 - accuracy: 0.3391 - val_loss: 3.5406 - val_accuracy: 0.3480 Epoch 6/100 301/301 [==============================] - 235s 782ms/step - loss: 3.4765 - accuracy: 0.3513 - val_loss: 3.4495 - val_accuracy: 0.3566 Epoch 7/100 301/301 [==============================] - 235s 781ms/step - loss: 3.3676 - accuracy: 0.3620 - val_loss: 3.3743 - val_accuracy: 0.3648 Epoch 8/100 301/301 [==============================] - 235s 781ms/step - loss: 3.2708 - accuracy: 0.3724 - val_loss: 3.3085 - val_accuracy: 0.3719 Epoch 9/100 301/301 [==============================] - 235s 781ms/step - loss: 3.1831 - accuracy: 0.3815 - val_loss: 3.2524 - val_accuracy: 0.3780 Epoch 10/100 301/301 [==============================] - 235s 779ms/step - loss: 3.1028 - accuracy: 0.3905 - val_loss: 3.2027 - val_accuracy: 0.3836 Epoch 11/100 301/301 [==============================] - 234s 779ms/step - loss: 3.0279 - accuracy: 0.3990 - val_loss: 3.1602 - val_accuracy: 0.3881 Epoch 12/100 301/301 [==============================] - 234s 778ms/step - loss: 2.9562 - accuracy: 0.4076 - val_loss: 3.1244 - val_accuracy: 0.3926 Epoch 13/100 301/301 [==============================] - 234s 779ms/step - loss: 2.8870 - accuracy: 0.4165 - val_loss: 3.0842 - val_accuracy: 0.3981 Epoch 14/100 301/301 [==============================] - 235s 779ms/step - loss: 2.8203 - accuracy: 0.4251 - val_loss: 3.0426 - val_accuracy: 0.4039 Epoch 15/100 301/301 [==============================] - 234s 778ms/step - loss: 2.7575 - accuracy: 0.4337 - val_loss: 3.0092 - val_accuracy: 0.4093 Epoch 16/100 301/301 [==============================] - 240s 798ms/step - loss: 2.6969 - accuracy: 0.4420 - val_loss: 2.9815 - val_accuracy: 0.4138 Epoch 17/100 301/301 [==============================] - 144s 477ms/step - loss: 2.6388 - accuracy: 0.4504 - val_loss: 2.9589 - val_accuracy: 0.4173 Epoch 18/100 301/301 [==============================] - 42s 139ms/step - loss: 2.5837 - accuracy: 0.4584 - val_loss: 2.9377 - val_accuracy: 0.4203 Epoch 19/100 301/301 [==============================] - 42s 140ms/step - loss: 2.5310 - accuracy: 0.4661 - val_loss: 2.9169 - val_accuracy: 0.4235 Epoch 20/100 301/301 [==============================] - 45s 150ms/step - loss: 2.4796 - accuracy: 0.4736 - val_loss: 2.8917 - val_accuracy: 0.4281 Epoch 21/100 301/301 [==============================] - 26s 88ms/step - loss: 2.4298 - accuracy: 0.4813 - val_loss: 2.8716 - val_accuracy: 0.4317 Epoch 22/100 301/301 [==============================] - 26s 85ms/step - loss: 2.3824 - accuracy: 0.4892 - val_loss: 2.8633 - val_accuracy: 0.4332 Epoch 23/100 301/301 [==============================] - 25s 84ms/step - loss: 2.3386 - accuracy: 0.4966 - val_loss: 2.8511 - val_accuracy: 0.4357 Epoch 24/100 301/301 [==============================] - 26s 85ms/step - loss: 2.2955 - accuracy: 0.5038 - val_loss: 2.8342 - val_accuracy: 0.4390 Epoch 25/100 301/301 [==============================] - 26s 85ms/step - loss: 2.2534 - accuracy: 0.5109 - val_loss: 2.8187 - val_accuracy: 0.4428 Epoch 26/100 301/301 [==============================] - 25s 84ms/step - loss: 2.2134 - accuracy: 0.5178 - val_loss: 2.8050 - val_accuracy: 0.4455 Epoch 27/100 301/301 [==============================] - 25s 84ms/step - loss: 2.1767 - accuracy: 0.5243 - val_loss: 2.7991 - val_accuracy: 0.4457 Epoch 28/100 301/301 [==============================] - 26s 85ms/step - loss: 2.1424 - accuracy: 0.5303 - val_loss: 2.7959 - val_accuracy: 0.4470 Epoch 29/100 301/301 [==============================] - 25s 83ms/step - loss: 2.1063 - accuracy: 0.5364 - val_loss: 2.7908 - val_accuracy: 0.4488 Epoch 30/100 301/301 [==============================] - 25s 83ms/step - loss: 2.0683 - accuracy: 0.5434 - val_loss: 2.7921 - val_accuracy: 0.4492 Epoch 31/100 301/301 [==============================] - 25s 84ms/step - loss: 2.0291 - accuracy: 0.5508 - val_loss: 2.7964 - val_accuracy: 0.4487 Epoch 32/100 301/301 [==============================] - 25s 83ms/step - loss: 1.9929 - accuracy: 0.5576 - val_loss: 2.7934 - val_accuracy: 0.4504 Epoch 33/100 301/301 [==============================] - 27s 88ms/step - loss: 1.9568 - accuracy: 0.5641 - val_loss: 2.7889 - val_accuracy: 0.4522 Epoch 34/100 301/301 [==============================] - 26s 85ms/step - loss: 1.9217 - accuracy: 0.5713 - val_loss: 2.7817 - val_accuracy: 0.4540 Epoch 35/100 301/301 [==============================] - 26s 86ms/step - loss: 1.8877 - accuracy: 0.5782 - val_loss: 2.7775 - val_accuracy: 0.4562 Epoch 36/100 301/301 [==============================] - 26s 87ms/step - loss: 1.8568 - accuracy: 0.5844 - val_loss: 2.7729 - val_accuracy: 0.4584 Epoch 37/100 301/301 [==============================] - 25s 84ms/step - loss: 1.8278 - accuracy: 0.5901 - val_loss: 2.7751 - val_accuracy: 0.4583 Epoch 38/100 301/301 [==============================] - 25s 83ms/step - loss: 1.8003 - accuracy: 0.5954 - val_loss: 2.7876 - val_accuracy: 0.4579 Epoch 39/100 301/301 [==============================] - 25s 84ms/step - loss: 1.7715 - accuracy: 0.6016 - val_loss: 2.7935 - val_accuracy: 0.4581 Epoch 40/100 301/301 [==============================] - 25s 82ms/step - loss: 1.7428 - accuracy: 0.6076 - val_loss: 2.7940 - val_accuracy: 0.4596 Epoch 41/100 301/301 [==============================] - 25s 82ms/step - loss: 1.7159 - accuracy: 0.6129 - val_loss: 2.7883 - val_accuracy: 0.4619
tf.train.latest_checkpoint(checkpoint_dir)
'./training_checkpoints/ckpt_36'
model = build_model(vocab_size, embedding_dim, rnn_units, batch_size=1)
model.load_weights(tf.train.latest_checkpoint(checkpoint_dir))
model.build(tf.TensorShape([1, None]))
model.summary()
Model: "sequential_1" _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= embedding_1 (Embedding) (1, 40, 512) 1929216 _________________________________________________________________ lstm_1 (LSTM) (1, 40, 1024) 6295552 _________________________________________________________________ dense_1 (Dense) (1, 40, 3768) 3862200 ================================================================= Total params: 12,086,968 Trainable params: 12,086,968 Non-trainable params: 0 _________________________________________________________________
def generate_text(model, start_string):
# 评估步骤(用学习过的模型生成文本)
# 要生成的字符个数
num_generate = 1000
# 将起始字符串转换为数字(向量化)
input_eval = [char2idx[s] for s in start_string]
input_eval = tf.expand_dims(input_eval, 0)
# 空字符串用于存储结果
text_generated = []
# 低温度会生成更可预测的文本
# 较高温度会生成更令人惊讶的文本
# 可以通过试验以找到最好的设定
temperature = 1.0
# 这里批大小为 1
model.reset_states()
for i in range(num_generate):
predictions = model(input_eval)
# 删除批次的维度
predictions = tf.squeeze(predictions, 0)
# 用分类分布预测模型返回的字符
predictions = predictions / temperature
predicted_id = tf.random.categorical(predictions, num_samples=1)[-1,0].numpy()
# 把预测字符和前面的隐藏状态一起传递给模型作为下一个输入
input_eval = tf.expand_dims([predicted_id], 0)
text_generated.append(idx2char[predicted_id])
return (start_string + ''.join(text_generated))
print(generate_text(model, start_string=u"璇玑"))
璇玑为怀抱在喉咙里,说道:“大概是你们算是个好朋友……”还没喊完,只觉她的睫毛湿漉漉地靠在墙上,静静望着小时候想必会来的“哪怕……就让它不如凡人能完全面具?”她痛快地奔向柳意欢的家个假。” 钟敏言更是热好的伤口很玄一。 玲珑见她神态轻阵一变,确实不得动弹不得。 柳意欢立即打量明日,最近见到躺就以偷听她的动作顿时觉得疼痛,面上却能缓视一片大部找到山腰倒了一地图。怪鸟当时那第三场之后,又是何样的人,听知翩翩翩声道:“可我嘛!一大成过今年究竟是谁曾想的那番……又是…我让你忘了吗?!” 她猛然睁眼解了,一定没追究她有天眼,故而气恼气也不能动,所以孩子们的念念没有一股冲劲来的。褚磊道:“只要我们……好抱动啊!” 众人只见这女孩子行为忙得一件新衣裳便直通世界,务必青龙自然宫主的意愿了。听起来司凤的事情,你别再啰嗦啦,这那个小师妹今天你入魔来了阴阳雌雄之火。夜风开始的本事上下来访,岛上有永恒有些划分,也还是自己喜欢这样做……现在神明是你哦……” “我看到你了!”他放柔了声音,怎么也幸不辱。 奇怪,钟敏言本想以好过来捣乱。后来孤亦一动两下,便让她三分孩子。 对面那帷幕看出来的时候,直到一片成日,要复一根狐狸安排立的。一定会有人说一年才会如何,四人的七峰长老,今晚开了个严西的银光,温和于方才此马,他们偏心帮忙。陆吾高高脆弱的金创药和时候,个天人本性也早已时醒过来和你们招一剑却也吓了一点,忽然成此者,究竟是想去看因缘,而是因为大家一起,是个二人说的:昔日天河畔的簪花大会,终于有人要来昆仑山吗?所以他过来这里就是被禹司凤回来,看你们就是狐狸。” 屋子里的腾蛇大眼发现她的脸,看她眼光灼灼,目光就是它心魔一样,想必中他们的存在。否则,见过吧。” 顿时在这哪里能看清副堂主,古灵敏言见他刮目相看。柱石道人朝她相视一丝,连钟敏言大叫:“住了!笨蛋吗?” 想起来?天帝自然是砍去。本来当年是赏了前辈,恨不得仙人来了。他们都有亲爱,尽已是死罪,犯了圆到后山等事最重。若隔了真会有空的味道,倒让柳意欢正道气不分开。 璇玑自猜自己多大的意思,将大大小人藏在身无一身的青色大袄,床上勾着一把抱住那只紫狐的胳膊,看上去有什么过脸和他说。 她怔怔坐在琉璃缸前面的山洞,方才一个人正在这个河流上的斗笠捡起一道银光,果然方才答一回来便要摔倒。那时候,她充满了希冀与恩,大动也没
print(generate_text(model, start_string=u"司凤,"))
司凤,我自然也不会死去。” “那里什么晚上……这是怎么行可以做?乌童这样子无时!凡人一整年!我偏不回去吗?” 紫狐冲他一眼:“不是损人玩,我不愿意接你。再说,很快就回答了。” 欧阳低声道:“玲珑……乌童……不,我不动手。不过这些自私家的人借道,你也离开。必然,我可不能混为你高兴。” 禹司凤心里刺一个白色的水,璇玑便没有跟在让人大略解耀,重新成仙,就不想见她?腾蛇的直脾气,“玲珑就是了宫主,她学回来我和司凤都不许嫁娶。海底离泽宫五大派!你昔日因便能用天界来对付我一个人,与你在外面强行不到别人的开从里面动作响,这条路是把对面的东西都已经有了为禹司凤身份特殊的众人看笑了。与其救的两个堂主用父母的时候她再说一个年纪,就算是舞许多人,睡在了一定终感觉到一股死死拽着,无论对面还郁闷的很多。那总捕头说过,犹豫道:“大哥!” 他们打定了主人,迫不会说是因为司凤的,于是她说来骗人,要追究璇玑不喜欢热闹之极。这里修行是森然。” 亭奴道:“将岛主强合附近的兵器里只有几个小辈识过。但我来看这两人就要看到老母亲再抓,一有好名方,所以……可算他就在天地斗了。”她恶刻神将他们几个不好看热闹点的理由,他洗那两颗油光包在天台边跃过一大片。这是她想起来了?无支祁,轮回你们去阴间的罪呼。英明高明的人影和诡异,玲珑与我有个问题不容易成!” 璇玑哪里肯定,他哪有父亲的想法,证明他们来说,静静地四处张望,那种火焰也在天牢,看上去十分好奇。端正两个神将神荼郁垒扯着柳意欢,再见她神色突然觉得有些无礼,赶紧趁着一人一把抢走那个青袍面具,居然是被他囚禁的事情,只有做太多神仙蔑茫然,无凭他老子不明,以至于她眼中最神庙会快才能通跑,无论腾日某日我怎会放过妖类,而是值得珍珠。一个人无语,谁也不由自主在后面等寂。”说完她以前必然好兄,先喝水相遇的修罗。可她那天晚上,少阳派一边行事未免无法,何必再像有事无加,将来送一个小包袱,打完人群迷到的原本女子,结果一定又成了璇玑一下便到至少能反进柳意欢亭奴,柳意欢真的是无支祁说这句话。璇玑差点用布包围新的菜面吃个合适。那里有了无支祁的钟五阳派,比他们自己去不周山闭关的新鬼们。 禹司凤在后面哼道:“莫要变成人是擅闯的功夫,每次去庆阳绝不至于有凡人所为之类。区区天界要不得妄为,何一旦我便杀个药,别来痛骂我们吗?你也不会我体不得?!” 紫狐的头发被她打破场态,一时
print(generate_text(model, start_string=u"钟敏言"))
钟敏言便直扑过来忘川怀恨的神情,然而反应过去啦。”她说道:“没有?这是什么?!你怎么……” 玲珑还没说完,他俩招了招手,便笑道:“诸位没关系……不知道小时候你们……放定无支祁是喝酒衣的蠢货!”忽然觉得不动,但这样一个环境罢了吧?”她连声道:“璇玑,你带我来吧!” 那小女儿璇玑莫名其妙,眼神都在一瞬间忘了我的身子了,不然呆在山壁下就你能救那个借口!切质小子,我中少阳派先前的祸首,山结却成了天界之劫而白,欧阳他们带自己妹妹来了。再让后土大帝有自己的事情,就想象中的石剑仿佛没人,又可以能将五行投焚,大家不注意,明天便要责罚。” 玲珑跺脚:“这玲珑姑娘把这个宝物岂能太以前进行为他身,应当还有命在她所有的梦了一下,回来便是从剑上挡了一下,跟君化成人形在剑阵惊鸿。我想,也没想到有架子上是为了赵大小姐。” 玲珑远远地,将崩玉送来了。” 璇玑低声道:“你说的会话告诉你?”玲珑怯生生地上一个好奇方,好像有一丝一毫不爽的牙。司凤……璇玑在前面看个各种美丽的珍珠!放水去抓她,在说废话来。此一回头就设在明霞洞里了!你现在这些好的沉默摇头晃脑,沉声道:“要如何?比我来了,我把玲珑救回来的时候,璇玑很有用处的年纪,当真天下第一美人就是能拿孩子!既然面子?他、褚璇玑,个时候说过,就都是真心,既然要再偷听孤毫无份要死。更何况是不是玲珑的声音:“那青龙怎么不晓得我?从前世长途跋涉,七五大地的本事,乃名定要驱鬼,只因然问天界与人对抗,哪天下到了奔腾地算账,谁知良多。你自己也……” 柳意欢耸耸肩膀,“看好这个好人嘛。” 难道竟十分痛楚,好像的头发一笑,道:“姑娘和妖气还是宝剑!” 若玉苦笑了两声,道:“好好的问题心等大罪!大哥!” 话音刚落,却见上面容貌痛沉的,虽然司凤顺自己任性妄为,但此人于以为是身份,本以为脱衣的很呐!梦里谁的灵兽,不许他们擅闯昆仑山导那一天大会的修行法,功力替天帝位修尊敬重的修仙门派,亦是举办法来与它们这些过程中疑地方了。不错,放了剑,待会出事。你要问我,我不想知道司凤没有做过你!死的蛮他不好?” 很久没说完,他有些舍不得力量大宫主,当下便上界要命。” 璇玑没说话,他本能地到他老人家睡在明天了。 这个柳意欢对禹司凤一见到此画眉,那就定期。由于玲珑战神、褚璇玑,立即就遇到了玲珑,你说得好困了这一刻,又忍不住流泪。”褚磊嘱咐璇玑更是本想以计都用
print(generate_text(model, start_string=u"\u3000\u3000"))
话刚说完,却见石壁里到众人悄悄羡慕天下连加,居然还蛮受不小,而那东西拿着小油条,就当作了让人吵醒。” 话音一落,五道黑龙的脸色又令人大惊失色,夜色的金光中还厉害又是个黑黝黝的灵官,穿着鲜血可怖的本事,分明只有什么巨大的领局在剧痛的味道,这是我喜欢的男人,更他可贪吃的东西点给我们,那不属于是要如何?你自己不明白。” 柳意欢在后面说道:“到底了吧?多亏了架子无怨无人啦!瞧他这条命,永远在一个罪人。后回离泽宫,少阳派上天下全都是要历代祖师仙,乃名定!那比万花万劫,如今便大发雷霆,以前的本大首算着呐!管老子是要被人扶走的!” 有人说过,如今却已经变成荒密的身间?” 她拉着璇玑的袖子,问道:“司凤!见了离泽宫,听我说的话是少。” 褚磊叹了一声,无支祁哈哈大笑:“快不明白是怎么回事?此物……白火的事情怎么会有这么厉害人物,摆明了首阳山见。” 璇玑感慨地走过来,回头找了好半个气质那自己站在正厅那里,璇玑立即想到什么时候太强了。 那是在激烈的人都在这个父亲去,温和绝美,他终于三天才能安心让人将这臭小包好在笑容易就给他一刀斗笠,我等你算账。我记下还有余地的地盘!不过不是为了元朗和离泽宫弟子吧?” 那老汉大会不会到场,虽说是定利让他们陪着我,我干嘛?” 柳意欢呸了一声:“今日你的举动就是落魄的妖魔。老子本来就好说。” 亭奴沉默直带打算好像再飞走了,便沉声道:“听过来,大家都好受伤真,我晓得他们能跟我……你到今天没有尽慢吗?这个你没打没戒!” 语毕,他们来看护璇玑三人,无支祁说点什么叫,刀心脏火烧一般的橙红色火完了!回去我!喜欢自己又不好,自己也只能强求也好死怎么办呢?那司凤……你说司凤……先前没办法救你乖,下次跟在开明门前的记忆真的很好。” 紫狐脸上一红,跟着便在璇玑身上轻轻拍了她一个,面容的那些弟子一直坚持认为她的亲人就是去不周山……不过错了时候还不知要折跑了两颗。应当快神本江道长短长高的门派,说来要处罚煞。天下没有三众多师弟之间,便……你在还在说:“你们到底是什么人?” 永世没有说有笑意的是结实。 走到小巷里吃。奇怪,那乌童虽然江长老的人是当真曾喜欢,便止褚掌门所言。 但此人不是缘分,平时就代在天上来说,可是我们狠狠治那人是你的天地,偷偷吃饭的时候看看那个,令她无话可说,纷纷便岂会将你们掌一天分赖死定同。” 褚磊摇了
print(generate_text(model, start_string=u"\u3000\u3000“"))
“不过今日不给被人打。奇异的是,到时候还是最小的东西,一摆面让璇玑长长的睫毛上,直没太难消,憋住几个洞,才发出一副凤疼。 白帝一直在哭,她突然哈哈大笑着摇了摇头,柳意欢低声道:“正推她就是没有证据,这是打算做卧底。当日尽于自由最让天界所恚。” “哦?!”紫狐的声干瞪着,“那掌柜的秘密为人还给哪把了自己的内伤了,何必还有灵兽?” 璇玑不由呆住,赶紧举眼看看,如今他在后面大人来了,肯定很担心了,以前并无支祁和柳意欢除妖!所谓定坤,先把两个小辈分给张罗等人言,说道:“哦,是那么大道:“原来你已经死了!还有点害怕,人间繁星点救你。少阳两的表情,姐夫才禇磊这个人,那就是定定看着青龙。端正是摇头晃脑,可没有等过去还在点睛谷。 战神仗着毕方一番离开的地方,还只有所谓的因缘,事实只有各种众人的第一大把,灵精到底比罗睺战神,开天辟地,急道:“要进去吧!”紫狐卡着她的话:“不!饶我不就没放那死死扯住她!” 乌童有些把包袱给掉在了他的意思,不要想看,她就过去了一杯他俩送饭,那回投地府布聚。” 柳意欢飞快点点脑袋,趁她一个玩一个糟糕透。 唔,这辈子的行径是历了,但是他们自己也亲自来的缘由。诸神四面不能随便外言无情。” 青龙那一惊非是纷纷,低声道:“头六师兄去找你们做什么?!好大的胆子,那纤风也离了出来!吾,我曾有夫人救活。” 他说:“那你怎么了,打理到一个你,他救下来做坏事吧!” 玲珑确实不太心呢? 东方清奇见美人是坏人之后,过来两年……小心。” 璇玑在心中实在想象,她如今才有前途会想起报恩命?不如我进去吧。” 璇玑急道:“玲珑,睁开那白骨的时候,你们好好的!我偏偏要死了……不上师父不能动。宫主要抽出崩玉,你给我的。” 见到面进来的时候,都觉得那些孩子今日拿来了五雷大法,必定是他的兄弟,亲密不可闻世事最大的罪报,本想最亲自己也不会那么好好的。” 钟敏言走了过来,脸上的泪水在脖子上擦了擦嘴,用雷差神,将围巾逼得动都发颤。” “呸呸!臭小娘!放火烧饼子!你倒还没成功,一个人强撑在,完全搞不清我才的。” 紫狐心中一阵窝一放,那大殿里一整天都是少才含恨过去,见那两个老头就能获得异常生活。夜,抵不住那人的双颊。她顿时绝了计都不用了。他是褚璇玑。如今,也等她是谁。千万人又怎会在他手里,第二天眼,可以吗?” 禹司凤脸上有些明白看伤了。