最简单tensorflow入门手册

Tensorflow的hello,world

我们的tenforflow之旅先以一个简单的照片分类器开始,模型使用的是mnist数据集,mnist数据集(Mixed National Institute of Standards and Technology database)是美国国家标准与技术研究院收集整理的大型手写数字数据库,包含60,000个示例的训练集以及10,000个示例的测试集。

载入mnist数据集,并且把样本数据从整数转为浮点数

import tensorflow as tf
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

将各层堆叠起来,搭建 tf.keras.Sequential 模型,并选择优化器和损失函数

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

下面这里列出完整的代码

import tensorflow as tf
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])
model.fit(x_train, y_train, epochs=5)

model.evaluate(x_test,  y_test, verbose=2)
Epoch 1/5
1875/1875 [==============================] - 2s 1ms/step - loss: 0.2961 - accuracy: 0.9135
Epoch 2/5
1875/1875 [==============================] - 2s 949us/step - loss: 0.1450 - accuracy: 0.9570
Epoch 3/5
1875/1875 [==============================] - 2s 902us/step - loss: 0.1089 - accuracy: 0.9669
Epoch 4/5
1875/1875 [==============================] - 2s 911us/step - loss: 0.0885 - accuracy: 0.9735
Epoch 5/5
1875/1875 [==============================] - 2s 894us/step - loss: 0.0739 - accuracy: 0.9772
313/313 - 0s - loss: 0.0772 - accuracy: 0.9762

在最后的验证中,可以看到这个分类器的精确度达到了97%.

基本文本分类模型

我们将使用imdb的数据集,其中包含了50000条影视评论文本,从这个数据集切割25000条评论作为训练使用,另外的25000条用作测试。

首先,需要下载IMDB数据集,IMDB 数据集已经打包在 Tensorflow 中。该数据集已经经过预处理,评论(单词序列)已经被转换为整数序列,其中每个整数表示字典中的特定单词。运行以下的代码后,会自动把IMDB下载到机器上

import tensorflow as tf
from tensorflow import keras

import numpy as np

imdb = keras.datasets.imdb

(train_data, train_labels), (test_data, test_labels) = imdb.load_data(num_words=10000)

参数 num_words=10000 保留了训练数据中最常出现的 10,000 个单词,低频词将被丢弃。

探索数据

让我们花一点时间来了解数据格式。该数据集是经过预处理的:每个样本都是一个表示影评中词汇的整数数组。每个标签都是一个值为 0 或 1 的整数值,其中 0 代表消极评论,1 代表积极评论。

print
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值