人工智能AI的开山鼻祖

上一篇:人工智能编程与普通编程的本质区别

本篇序言:人们都知道,广义上的计算机程序通常称为应用程序或软件,但在人工智能领域,这种说法逐渐被‘AI代理’所取代。从名字上看,AI代理已经不再属于传统的编程技术(虽然它仍然需要一点传统的编程技术的辅助)。开发计算机软件时,我们可以使用各种编程语言,而在开发人工智能模型时,主要依赖于谷歌的TensorFlow。它之所以被称为‘人工智能的开山鼻祖’,是因为它实现了人工智能所需的基本底层数学算法,使开发者不必从零开始编写这些算法。同样,Facebook的PyTorch也能实现类似的功能,但TensorFlow出现得更早。早在击败围棋职业九段棋手李世石的AlphaGo开发过程中,TensorFlow就已被广泛应用。朋友们别忘了关注作者,关注后您会变得更聪明,不关注就只能靠颜值了 ^_^。

什么是TensorFlow?

TensorFlow是一个开源平台、是一系列用于软件开发的源代码和库组成的软件开发工具包SDK,用于创建和使用机器学习ML模型。它实现了许多常见的机器学习算法和模式,帮助你避免学习所有底层的数学和逻辑,使你能够专注于你的场景。它面向各类用户,从业余爱好者、专业开发者到推动人工智能边界的研究人员。最重要的是,它还支持将模型部署到网页、云端、移动设备和嵌入式系统中。在本书中,我们将涵盖每一个这些场景。

TensorFlow的高级架构可以在图1-11中看到。

图1-11. TensorFlow工具包的架构

创建机器学习模型的过程称为训练。这是指计算机使用一组算法来学习输入内容及其相互区别之处。例如,如果你想让计算机识别猫和狗,你可以使用大量猫和狗的图片来创建模型,计算机会使用该模型尝试找出什么使猫是猫,什么使狗是狗。一旦模型训练完毕,识别或分类未来输入的过程被称为推理。

因此,为了训练模型,你需要支持几个方面。首先是一组设计模型的API。使用TensorFlow有三种主要方式:你可以手工编写所有内容,自己推导出计算机学习的逻辑并将其实现为代码(不推荐);你可以使用内置的估算器,它们是已经实现的神经网络,你可以进行定制;或者你可以使用Keras,它是一个高级API,允许你在代码中封装常见的机器学习范式。本书将主要侧重于使用Keras API来创建模型。

有许多方法可以训练模型。通常情况下,你可能只会使用单个芯片,可能是中央处理单元(CPU)、图形处理单元(GPU)或新型的张量处理单元(TPU)。在更高级的工作和研究环境中,可以使用多个芯片并行训练,使用分布式策略使训练跨多个芯片进行。TensorFlow也支持这一点。

任何模型的生命线都是它的数据。如前所述,如果你想创建一个能够识别猫和狗的模型,它需要用大量猫和狗的实例进行训练。但是,如何管理这些实例呢?你会发现,随着时间的推移,这往往涉及比创建模型本身更多的编码。TensorFlow随附的API被称为TensorFlow数据服务,旨在简化这个过程。为了学习,它们包含许多预处理过的数据集,你可以用一行代码使用它们。它们还为处理原始数据提供工具,使其更易于使用。

除了创建模型,你还需要能够将它们交到用户手中进行使用。为此,TensorFlow包含用于服务的API,你可以通过HTTP连接为云或Web用户提供模型推理。对于要在移动设备或嵌入式系统上运行的模型,有TensorFlow Lite,它提供了在Android、iOS以及基于Linux的嵌入式系统(如Raspberry Pi)上进行模型推理的工具。TensorFlow Lite的一个分支,称为TensorFlow Lite Micro(TFLM),通过一种新兴的概念TinyML,也为微控制器提供推理支持。最后,如果你想为浏览器或Node.js用户提供模型,TensorFlow.js可以让你以这种方式训练和执行模型。

接下来,我将向你展示如何安装TensorFlow,以便你开始使用它来创建和使用机器学习模型。

使用TensorFlow

在本节中,我们将探讨安装和使用TensorFlow的三种主要方式。我们将从如何使用命令行在开发者的机器上安装它开始。接着我们将研究如何使用流行的集成开发环境(IDE)PyCharm安装TensorFlow。最后,我们将探讨如何使用Google Colab,在浏览器中通过云后端访问TensorFlow代码。

在Python中安装TensorFlow

TensorFlow支持使用多种语言创建模型,包括Python、Swift、Java等。在本书中,我们将专注于使用Python,因为它由于对数学模型的广泛支持,已经成为机器学习的事实标准语言。如果你还没有安装Python,我强烈建议你访问Python网站以开始使用,并访问learnpython.org来学习Python语言的语法。

在Python中,有许多安装框架的方法,但TensorFlow团队支持的默认方法是使用pip。

因此,在你的Python环境中,安装TensorFlow就像这样简单:

pip install tensorflow

请注意,从2.1版本开始,这将默认安装GPU版本的TensorFlow。在此之前,它使用的是CPU版本。因此,在安装之前,请确保你有支持的GPU及其所需的所有驱动程序。有关详细信息,请访问TensorFlow官方网站。

如果你没有所需的GPU或驱动程序,仍然可以在任何Linux、PC或Mac上安装CPU版本的TensorFlow:

pip install tensorflow-cpu

一旦安装并运行,你可以通过以下代码测试你的TensorFlow版本:

import tensorflow as tf

print(tf.__version__)

你应该会看到类似图1-12中的输出。这将打印当前运行的TensorFlow版本——这里你可以看到安装的是2.0.0版本。

图1-12. 在Python中运行TensorFlow机器学习开发工具包

在PyCharm中使用TensorFlow

我特别喜欢使用PyCharm的免费社区版本来使用TensorFlow构建模型。PyCharm有许多优点,但我最喜欢的是它使虚拟环境的管理变得非常简单。这意味着你可以拥有多个Python环境,其中的工具版本(如TensorFlow)是特定于你项目的。比如,如果你想在一个项目中使用TensorFlow 2.0,在另一个项目中使用TensorFlow 2.1,你可以通过虚拟环境将它们隔离,而不必在切换时处理安装/卸载依赖项的问题。此外,使用PyCharm,你可以逐步调试你的Python代码——这一点尤其重要,尤其是在你刚开始时。

例如,在图1-13中,我有一个名为example1的新项目,并且我指定要使用Conda创建一个新环境。当我创建项目时,我将拥有一个干净的虚拟Python环境,在其中可以安装我想要的任何版本的TensorFlow。

图1-13. 用PyCharm创建一个虚拟环境

创建项目后,你可以打开“文件→设置”对话框,并从左侧菜单中选择“项目:<你的项目名称>”条目。然后你会看到用于更改项目解释器和项目结构的设置选项。选择“项目解释器”链接,你将看到你正在使用的解释器以及该虚拟环境中安装的软件包列表(图1-14)。

图1-14. 往虚拟环境

图1-14. 往虚拟环境中添加软件包

 

点击右侧的+按钮,将打开一个对话框,显示当前可用的软件包。在搜索框中输入“tensorflow”,你将看到所有名称中带有“tensorflow”的可用软件包(图1-15)。

图1-15. 用PyCharm安装TensorFlow

选择TensorFlow或你想安装的其他软件包后,点击“安装软件包”按钮,PyCharm将完成剩下的工作。

TensorFlow安装完毕后,你现在可以在Python中编写和调试你的TensorFlow代码。

在Google Colab中使用TensorFlow

另一个选择,可能是最简单的入门方式,就是使用Google Colab,它是一个托管的Python环境,可以通过浏览器访问。Colab的真正亮点在于它提供了GPU和TPU后端,因此你可以使用最先进的硬件来训练模型,且无需费用。

当你访问Colab网站时,你将有机会打开之前的Colab项目或启动一个新笔记本,如图1-16所示。

图1-16. 从Google Colab开始

点击“New Python 3 Notebook”链接,将打开编辑器,在这里你可以添加代码或文本面板(图1-17)。你可以点击面板左侧的播放按钮(箭头)来执行代码。

图1-17. 在Google Colab中运行TensorFlow代码

最好检查一下TensorFlow的版本,确保你运行的是正确的版本。通常情况下,Colab内置的TensorFlow可能会比最新版本落后一两个版本。如果确实如此,你可以像之前那样使用pip install进行更新,代码块如下:

!pip install tensorflow==2.1.0

一旦你运行了这个命令,你在Colab中的当前环境将使用你指定的TensorFlow版本。

下一篇:使用TensorFlow实现一个简单的“Hello World”式机器学习模型,并完成对其的训练…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值