原文:
www.kdnuggets.com/2017/09/tensorflow-tutorial-part-2.html
作者:Vivek Kalyanarangan,专业网络联盟。
在这个多部分系列中,我们将探索如何开始使用 TensorFlow。本 TensorFlow 教程将为这个人人谈论的热门工具奠定坚实的基础。第二部分是一个关于开始使用、安装和构建小型用例的 TensorFlow 教程。
本系列摘录自我作为专业网络联盟的一部分所进行的网络研讨会教程系列。我会时不时提及在演讲中使用的一些幻灯片,以便让内容更加清晰。
请不要错过我谈论所有我写的内容的在线研讨会。请注册我们的即将举行的网络研讨会,以了解我们将讨论的主题。
本文是关于完整 TensorFlow 教程的多部分系列的第一部分 –
-
第二部分:开始使用
-
第三部分:构建第一个模型
-
安装 TensorFlow
-
验证 TensorFlow 安装
-
在构建第一个 TensorFlow 模型之前
如果你已经安装了 TensorFlow,可以直接跳到下一部分。
不同操作系统有不同的安装 TensorFlow 的方法。你可以查阅文档获取更多详细信息。我将只讨论开始使用所必需的内容。
- 点击安装选项卡
以下指南解释了如何安装一个版本的 TensorFlow,使你能够用 Python 编写应用程序。
尽量遵循文档中已提到的最佳实践的基本结构。
使用 GPU 安装 TensorFlow 需要你有 NVIDIA GPU。AMD 显卡不受 TensorFlow 支持。NVIDIA 使用称为 CUDA 的低级 GPU 计算系统。这是 NVIDIA 专有的软件。
可以使用 OpenCL 与 AMD 配合,但目前它不支持 TensorFlow。
另外,并非所有 NVIDIA 设备都受支持。以下是NVIDIA 文档中列出的受支持的 GPU 列表。
有三种环境可以用来设置 tensorflow –
-
直接安装 – 这只是安装任何软件库的典型方式。它直接与已安装的操作系统交互,并像其他库一样安装 tensorflow。
pip
是直接安装的首选方式。 -
虚拟环境 – 对于那些不知道 python 虚拟环境优势的人,
virtualenv
就像是一个与系统中已经安装的默认 python 平行的 python 安装。 在虚拟环境中安装库可以将库分开,你将不会与直接安装的其他库发生兼容性冲突。如果出现问题,你可以启动一个新的虚拟环境,重新开始。 -
Docker 容器 – 这是一种安装 tensorflow 的方式。可以将典型的 VMware 镜像想象成是一个超级强大的 docker 容器。Docker 可以用来启动具有不同操作系统环境的容器,从而允许你拥有一个与主机系统完全分开的环境。所有细节在 tensorflow 文档中都明确标出。
支持 Python 2 的 2.7 版本和 Python 3 的 3.3 或更高版本。所有操作系统均适用。
目前,Windows 仅支持 3.5 版本。Python 2 与 Windows 的组合是不受支持的。
一旦 tensorflow 安装完成,无论操作系统、环境或 python 版本如何,你都应该运行以下脚本来验证 tensorflow 是否正常运行。
# import TensorFlow
import tensorflow as tf
sess = tf.Session()
# Verify we can print a string
hello = tf.constant("Hello UNP from TensorFlow")
print(sess.run(hello))
# Perform some simple math
a = tf.constant(20)
b = tf.constant(22)
print('a + b = {0}'.format(sess.run(a + b)))
一旦这段代码成功运行并打印输出,恭喜你!你已经成功安装了 tensorflow。接下来我们进入下一部分,构建我们的第一个应用程序。
下面是我们在开始之前需要学习的三种张量类型。
类型 | 描述 |
---|---|
常量 | 常量值 |
变量 | 在图中调整的值 |
占位符 | 用于在图中传递数据 |
在动手操作之前,我只想介绍几个 tensorflow 术语及其含义。
-
排名 – 张量的维度
-
形状 – 张量的形状。与排名相关
上图应有助于理解。下面是 Tensorflow 支持的不同数据类型。
**注意:*量化值[qint8、qint16 和 quint8]是 TensorFlow 的特殊值,有助于减少数据大小。事实上,Google 已经引入了 TensorFlow 处理单元(TPUs)来通过利用量化值加快计算速度
我们将快速生成一些数据以便开始。在这个例子中,我们将生成房屋大小数据以预测房价。这里的目标不是建立一个复杂的房价预测器,而是以最简单的方式在 TensorFlow 中启动。
我们将使用下面的 Python 代码生成一些数据–
import tensorflow as tf
import numpy as np
import math
import matplotlib.pyplot as plt
# generation some house sizes between 1000 and 3500 (typical sq ft of house)
num_house = 160
np.random.seed(42)
house_size = np.random.randint(low=1000, high=3500, size=num_house )
# Generate house prices from house size with a random noise added.
np.random.seed(42)
house_price = house_size * 100.0 +
np.random.randint(low=20000, high=70000, size=num_house)
# Plot generated house and size
plt.plot(house_size, house_price, "bx") # bx = blue x
plt.ylabel("Price")
plt.xlabel("Size")
plt.show()
这将生成如下输出[这是生成的数据的图示]
接下来,我们将对数据进行归一化。这有助于将数据调整到相同的尺度,从而可能导致更快的收敛。
我们还将其拆分为训练数据和测试数据,作为数据科学最佳实践的一部分。我们将用训练数据训练我们的模型,并用测试数据测试模型,以查看我们的预测有多准确。
# you need to normalize values to prevent under/overflows.
def normalize(array):
return (array - array.mean()) / array.std()
# define number of training samples, 0.7 = 70%. We can take the first 70%
# since the values are randomized
num_train_samples = math.floor(num_house * 0.7)
# define training data
train_house_size = np.asarray(house_size[:num_train_samples])
train_price = np.asanyarray(house_price[:num_train_samples:])
train_house_size_norm = normalize(train_house_size)
train_price_norm = normalize(train_price)
# define test data
test_house_size = np.array(house_size[num_train_samples:])
test_house_price = np.array(house_price[num_train_samples:])
test_house_size_norm = normalize(test_house_size)
test_house_price_norm = normalize(test_house_price)
我希望这能设定对接下来内容的期望。在下一篇文章中,我们将构建我们的第一个 TensorFlow 模型。
请不要错过直播研讨会,在那里我会讨论我写的所有内容。注册我们的即将到来的研讨会以了解我们将讨论的主题。快乐编码!
在下一部分,我们终于准备好用房价数据训练我们的第一个 TensorFlow 模型。这将给我们提供第一次使用 TensorFlow 的亲身体验!
我在下面嵌入了原始演示文稿–
原始。经许可转载。
简介: Vivek Kalyanarangan 是一名数据科学家、博主、吉他手,对新技术充满热情。
相关:
-
TensorFlow 教程:第一部分 – 介绍
-
寻找最快的 Keras 深度学习后端
-
PyTorch 还是 TensorFlow?
1. Google 网络安全证书 - 快速进入网络安全职业的快车道。
2. Google 数据分析专业证书 - 提升你的数据分析能力
3. Google IT 支持专业证书 - 支持你组织的 IT