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层,它将处理输入字符串并将其转换