【keras】 实现递归神经网络

本文是面向初学者的Keras深度学习教程,介绍如何使用Keras实现递归神经网络(RNN)。从数据预处理、模型构建、文本向量化、嵌入、循环层到模型训练和保存,详细讲解了RNN应用于文本分类的过程。
摘要由CSDN通过智能技术生成

 

Keras是一个简单易用但功能强大的Python深度学习库。这个面向初学者的三篇系列文章为任何人提供了一种简单的方法来开始解决实际的机器学习问题。在深入研究两个流行的变体:递归神经网络(RNN)和卷积神经网络(CNN)之前,我们将为初学者介绍经典且完整的神经网络。

 

01

下载数据集

下载后会得到类似的一个结构数据

接着再安装tensorflow

  •  
pip install tensorflow

 

Tensorflow有一种非常简单的方式让我们读取数据集:text_dataset_from_directory,所以我们这么处理:

from tensorflow.keras.preprocessing import text_dataset_from_directory
train_data = text_dataset_from_directory("./train")
test_data = text_dataset_from_directory("./test")
 

dataset现在是一个Tensorflow Dataset对象,我们以后可以使用!

还有另一件事要做。如果浏览数据集,您会注意到一些评论中包括<br />标记,它们是HTML换行符。我们想要摆脱这些,因此我们将稍微修改数据准备:

 

from tensorflow.keras.preprocessing import text_dataset_from_directory
from tensorflow.strings import regex_replace

def prepareData(dir):
  data = text_dataset_from_directory(dir)
  return data.map(
    lambda text, label: (regex_replace(text, '<br />', ' '), label),
  )

train_data = prepareData('./train')
test_data = prepareData('./test')

02

建模型

 

我们将使用Sequential类,它表示线性的图层堆栈。首先,我们将实例化一个空的顺序模型并定义其输入类型:

  •  
from tensorflow.keras.models import Sequential
from tensorflow.keras import Input

model = Sequential()
model.add(Input(shape=(1,), dtype="string"))
 

03

文本向量化

我们的第一层是TextVectorization层,它将处理输入字符串并将其转换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值