TensorFlow 程序的的 6 个基本步骤


一、基本步骤

基本的 TensorFlow 程序分为如下几个步骤:

1、导入数据

将外部数据导入并解析为规定格式的数据。

2、创建特征列

创建特征列,告诉程序一共有几列,每列名称。

3、选择模型

根据经验选择合适的模型类型,用于训练、评估和预测。

4、训练

使用训练数据训练模型。

5、评估

使用测试数据评估模型效果是否满意。

6、预测

使用经过训练的模型,对新数据进行预测。

二、示例

import tensorflow as tf
import numpy as np

# 导入和解析数据集
IRIS_TRAINING = "dataset/iris/iris_training.csv"  # http://download.tensorflow.org/data/iris_training.csv
IRIS_TEST = "dataset/iris/iris_test.csv"  # http://download.tensorflow.org/data/iris_test.csv
training_set = tf.contrib.learn.datasets.base.load_csv_with_header(
    filename=IRIS_TRAINING,
    target_dtype=np.int,
    features_dtype=np.float32,
    target_column=4
)
test_set = tf.contrib.learn.datasets.base.load_csv_with_header(
    filename=IRIS_TRAINING,
    target_dtype=np.int,
    features_dtype=np.float32,
    target_column=4
)

# 创建特征列以描述数据
feature_columns = [tf.contrib.layers.real_valued_column("", dimension=4)]

# 选择模型类型
classifier = tf.contrib.learn.DNNClassifier(
    feature_columns=feature_columns,
    hidden_units=[10, 20, 10],
    n_classes=3,
    model_dir="logs"
)

# 训练模型
classifier.fit(
    x=training_set.data,
    y=training_set.target,
    steps=2000
)

# 评估模型的效果
accuracy_score = classifier.evaluate(
    x=test_set.data,
    y=test_set.target
)['accuracy']

print("Accuracy: {0:f}".format(accuracy_score))

# 让经过训练的模型进行预测
new_samples = np.array([[6.4, 3.2, 4.5, 1.5], [5.8, 3.1, 5.0, 1.7]], dtype=float)
y = list(classifier.predict(new_samples, as_iterable=True))

print('Precictions:{}'.format(str(y)))

三、附录

iris_training.csv 和 iris_test.csv 数据文件的百度云下载地址:https://pan.baidu.com/s/1fNGk5Cf69vY2y9O30i0o6g


前一篇:
后一篇:

发表评论