Python TensorFlow--初学者的介绍

152 阅读6分钟

TensorFlow是一个数学库包,旨在创建机器学习的模型。在使用TensorFlow时,这些模型可以比其他传统方法更有效地设计。这个软件是由google在开源环境下创建的,用于设计ML和人工智能系统,以及深度神经网络。

但首先,在我们进一步了解更复杂的东西之前,让我们了解什么是人工智能或ML或神经网络。

什么是机器学习?

机器学习是一个为计算机建立自学模型的过程,通过向它提供成千上万的真实世界的例子,就像人类学习一样。通过机器学习,软件系统可以通过拾取真实世界的例子并从中推导出规则和参数来学习和发展。自我学习是ML的核心,也是通往人工智能的道路。

什么是人工智能?

人工智能简单地说,就是计算机的行为像人一样。通俗地说,人工智能系统是能够独立承担人类任务的程序,并以相同或更高的效率执行它们。

例如,一个由人工智能控制的测速仪扫描以高于限速的速度行驶的汽车,然后自动扣下它们的号码牌。参与同一过程的人类可以一次只关注1-2辆汽车,而人工智能可以轻松地一次处理十几辆汽车的号牌。

什么是TensorFlow?

虽然存在这样复杂的人工智能软件系统,但 "我们如何训练计算机理解和识别利用摄像机画面的汽车,然后识别它们的速度,并实时抓拍它们的车牌?"

做到这一点的一个方法是使用TensorFlow

它的深度学习系统和卷积神经网络使计算机完成这样的任务成为可能。

例如,TensorFlow包含被称为MNIST的大型图像库,其中包含数以千计的2×2像素的日常事物图像,以训练计算机识别真实世界的物体。

使用MNIST,可以创建模型,训练计算机系统如何看待一辆汽车,以及如何在摄像机画面中识别高速汽车。但为了使事情简单化,我们将从基础知识开始。

在一开始,我们将了解TensorFlow是如何安装的,然后进一步我们将创建一个机器学习模型,教计算机系统从数据集合中破译一个公式。

安装和设置TensorFlow

由于TensorFlow是一个第三方的库函数,它并没有被预装在任何python IDE中。因此,首先,你需要学习安装和配置TensorFlow,以便将其作为一个导入包使用。在这个例子中,我们使用Pycharm IDE来安装和使用TensorFlow,因为它比其他IDE更简单。

在你的系统中安装最新版本的PyCharm IDE、python和pip软件包。安装完毕后,按照以下步骤进行配置。

  • 打开cmd,写下 "pip install tensorflow "的命令 注意: 包含pip的脚本文件夹应包含在#PATH中
  • 安装完毕后,前往PyCharm IDE。
  • 创建一个新的项目,并在该项目中创建一个python文件(扩展名为.py)
  • 然后进入 "文件">"设置",在左侧窗格中点击你创建的项目的名称。在下拉菜单中,你会发现一个名为Python解释器的选项。
  • Python解释器包含该项目所需的所有必要解释器。你需要找到并点击 "包 "栏上方的 "+"号。
  • 点击它可以打开一个新的窗口,里面有大量的Python解释器的列表。你需要搜索 "TensorFlow",并选择一个仅被命名为 "TensorFlow "的,没有其他的。
  • 点击底部的安装包。这将在你的PyCharm系统中安装TensorFlow。
  • 一旦安装完毕,现在我们将看到一个模型是如何创建的。下面是一组分配给X和Y的数值的例子。 值1.1

起初,上述一组X、Y值看起来像是随机的数据集,但如果我们仔细观察,就会发现X是Y的一个函数,而且可以得出一个关系,Y=2X-1。

但我们如何达到这个目的呢?因为在学校接受了多年的数学辅导后,与数据模式打交道是我们习惯的事情。或者我们只是出于习惯而试图寻找模式,而且我们以前可能已经做过几次了。

把同样的事情教给一个使用微芯片和比特来计算数字的系统是另一回事。这似乎很困难,甚至是不可能的。

这是因为传统的编程方法需要数据,并通过遵循参数产生结果。然而传统的编程方法不能让程序自己预测规则,只看数据,然后看最终结果。 传统编程与机器学习

但凡传统编程无法解决的问题,机器学习都能非常容易地解决。它使用试错的方法来解决一个问题,就像一个正常人所做的那样,但有一个数字触摸。让我们来了解一下。 价值1.2

现在,当其他数据集被运行到方程中时,我们的猜测变得更加可靠。上述方式是人类如何算出一个问题的解决方案,机器学习模型也是以同样的方式进行训练以产生类似的结果。

下面是一个使用TensorFlow构建的机器学习程序如何学习问题并找到解决方案的代码片断

import keras
import tensorflow
import numpy as np

model = keras.Sequential([keras.layers.Dense(units=1, input_shape=[1])])

model.compile(optimizer='sgd', loss='mean_squared_error')

vx = np.array([-1.0, 0.0, 1.0, 2.0, 3.0, 4.0], dtype=float)
vy = np.array([-3.0, -1.0, 1.0, 3.0, 5.0, 7.0], dtype=float)

model.fit(vx, vy, epochs=200)

print(model.predict([8.0]))

价值1.3

当这个过程完成后,系统将被训练得足以弄清公式,并猜测给定X值的Y值。这里提供了8.0作为X值,应该给出15作为答案,但是当程序运行时,输出显示为14.990。

这是因为,第一组6个X和Y的值是一条直线,程序只针对这组值进行训练。但对于任何超出该参数的数据,系统将无法预测它是否会是一条直线,而只会给出最接近的数值。

结论

所以,在这篇文章中,我们了解了什么是TensorFlow,机器学习的基础知识,以及人工智能。

我们还学习了如何在系统中安装TensorFlow并从头开始创建一个机器学习模型。

还提供了对代码的详尽深入的解释,这样你就不会在文章的任何地方感到困惑了。

如果你刚开始学习机器学习或TensorFlow,这篇文章可以作为一个很好的锚,因为它为你的ML基础知识提供了铺垫。