如何使用TensorFlow配置IMDB数据集以获得良好的性能并创建模型?


Tensorflow是Google提供的机器学习框架。它是一个开源框架,与Python结合使用,可以实现算法、深度学习应用程序等等。它用于研究和生产目的。

可以使用以下代码行在Windows上安装“tensorflow”包:

pip install tensorflow

张量是TensorFlow中使用的数据结构。它有助于连接数据流图中的边。这个数据流图被称为“数据流图”。张量只不过是多维数组或列表。

“IMDB”数据集包含超过5万部电影的评论。此数据集通常与自然语言处理相关的操作一起使用。

我们使用Google Colaboratory运行以下代码。Google Colab或Colaboratory帮助在浏览器上运行Python代码,无需任何配置,并可免费访问GPU(图形处理单元)。Colaboratory构建在Jupyter Notebook之上。

以下是配置IMDB数据集以获得良好的性能并创建模型的代码:

示例

AUTOTUNE = tf.data.experimental.AUTOTUNE

train_ds = train_ds.cache().prefetch(buffer_size=AUTOTUNE)
val_ds = val_ds.cache().prefetch(buffer_size=AUTOTUNE)
test_ds = test_ds.cache().prefetch(buffer_size=AUTOTUNE)
embedding_dim = 16
model = tf.keras.Sequential([
  layers.Embedding(max_features + 1, embedding_dim),
  layers.Dropout(0.2),
  layers.GlobalAveragePooling1D(),
  layers.Dropout(0.2),
  layers.Dense(1)])

model.summary()

代码来源 https://tensorflowcn.cn/tutorials/keras/text_classification

输出

Model: "sequential_1"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
embedding_1 (Embedding) (None, None, 16) 160016
_________________________________________________________________
dropout_2 (Dropout) (None, None, 16) 0
_________________________________________________________________
global_average_pooling1d_1 ( (None, 16) 0
_________________________________________________________________
dropout_3 (Dropout) (None, 16) 0
_________________________________________________________________
dense_1 (Dense) (None, 1) 17
=================================================================
Total params: 160,033
Trainable params: 160,033
Non-trainable params: 0
_________________________________________________________________

解释

  • AUTOTUNE确保属性的值在运行时动态调整。

  • 该模型使用“Keras”构建,它是一个顺序模型,其中包含一个密集层。

  • 在控制台上显示所构建模型的摘要或元数据。

更新于:2021年1月19日

96 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告