Keras入门必读教程:手把手从安装到解决实际问题( 三 )


Keras入门必读教程:手把手从安装到解决实际问题
文章图片
▲图2-14LSTM网络结构示意图
Keras官方已经为大家准备好了LSTM模型的API , 并且提供了IMDB电影评论数据集 , 其中包含了评论内容和打分 。 下面让我们来看如何使用Keras来解决情感分析的问题 。 首先引入所有需要的模块 。
from__future__importprint_functionfromtensorflow.keras.preprocessingimportsequencefromtensorflow.keras.modelsimportSequentialfromtensorflow.keras.layersimportDense,Embedding,LSTMfromtensorflow.keras.datasetsimportimdb准备好数据 , 选择最常用的20000个词作为特征数据 , 并将数据分为训练集和测试集 。 对于文本数据 , 这里需要进行长度统一 , 设置最大长度为80个词 , 如果超过则截断 , 不足则补零 。
max_features=20000maxlen=80batch_size=32(x_train,y_train),(x_test,y_test)=imdb.load_data(num_words=max_features)x_train=sequence.pad_sequences(x_train,maxlen=maxlen)x_test=sequence.pad_sequences(x_test,maxlen=maxlen)数据处理完成后就可以搭建模型了 。 首先使用嵌入层作为模型的第一层 , 将输入的20000维的文字向量转换为128维的稠密向量 。 接着就是利用LSTM模型进行文本序列的深度学习训练 。 最终使用全连接层加上Sigmoid激活函数作为最终的判断输出 。 搭建完毕后还需要为模型设置编译的损失函数和优化器 。
model=Sequential()model.add(Embedding(max_features,128))model.add(LSTM(128,dropout=0.2,recurrent_dropout=0.2))model.add(Dense(1,activation='sigmoid'))model.compile(loss='binary_crossentropy',optimizer='adam',metrics=['accuracy'])然后就可以训练和评估情感分析的模型了 。 在Keras帮助下 , 通过简单的几步就可以完成基于深度学习的文本情感分析的任务 。
model.fit(x_train,y_train,batch_size=batch_size,epochs=15,validation_data=https://pcff.toutiao.jxnews.com.cn/p/20210923/(x_test,y_test))score,acc=model.evaluate(x_test,y_test,batch_size=batch_size)print('Testscore:',score)print('Testaccuracy:',acc)在使用Keras框架训练完模型以后 , 可以通过Keras的save方法将模型保存下来 。 为了能够更好地让机器学习投入真实世界的应用中去 , 我们可以为模型封装一个外部的应用程序 。 在互联网时代 , 使用网络接入AI模型是对于用户来说成本最低的方式 。
为此我们可以搭建一个基于Web的AI应用程序 , 将模型投入生产环境中为互联网用户提供即时的网页服务 。
在Python中常用的Web编程框架是Flask , 它是一个非常流行的Python服务端程序框架 , 相比于在Python领域非常流行的Django , 它的特点在于更为精简 , 去除了一些封装好的服务 , 只保留了最基本的服务器程序 , 而其余的扩展可以通过用户自己添加第三方包实现 。
关于作者:史丹青 , 语忆科技联合创始人兼技术负责人 , 毕业于同济大学电子信息工程系 。 拥有多年时间的AI领域创业与实战经验 , 具备深度学习、自然语言处理以及数据可视化等相关知识与技能 。 是AI技术的爱好者 , 并拥抱一切新兴科技 , 始终坚信技术分享和开源精神的力量 。
本文摘编自《生成对抗网络入门指南》(第2版) , 经出版方授权发布 。
Keras入门必读教程:手把手从安装到解决实际问题
文章图片
延伸阅读《生成对抗网络入门指南》(第2版)
推荐语:揭秘AI如何生成逼真人脸图像 , 追踪GAN前沿技术更新 。