前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何部署 TensorFlow 服务器

如何部署 TensorFlow 服务器

原创
作者头像
大数据弄潮儿
修改于 2018-11-23 10:21:45
修改于 2018-11-23 10:21:45
3.4K00
代码可运行
举报
运行总次数:0
代码可运行

TensorFlow是一款由Google构建的用于训练神经网络的开源机器学习软件。TensorFlow的神经网络以有状态数据流图的形式表示。图中的每个节点表示神经网络在多维阵列上执行的操作。这些多维数组通常称为“张量”,因此称为TensorFlow。TensorFlow架构允许在台式机,服务器或移动设备中的多个CPU或GPU上进行部署。还有与Nvidia并行计算平台CUDA集成的扩展。这使得在GPU上部署的用户可以直接访问并行计算任务所需的虚拟指令集和GPU的其他元素。

在本教程中,您将在Python虚拟环境 virtualenv中安装TensorFlow。这种方法隔离了TensorFlow安装并快速启动和运行。完成安装后,您将通过运行简短的TensorFlow程序验证安装,然后使用TensorFlow进行图像识别。如果您还没有腾讯云的服务器,可以先点击这里进行免费套餐的试用。免费套餐包含企业版和个人版,超过11款热门产品和42款长期免费的云产品可以供您选择。如果您有长期搭建服务器的需求的话,可以点击这里进行服务器的购买,现在的促销力度很大哦。

安装TensorFlow

在此步骤中,我们将创建一个虚拟环境并安装TensorFlow。

首先,创建一个名为tf-demo的项目目录:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir ~/tf-demo

导航到新创建的tf-demo目录:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~/tf-demo

然后创建一个名为tensorflow-dev的新虚拟环境。运行以下命令以创建环境:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python3 -m venv tensorflow-dev

这将创建一个新tensorflow-dev目录,其中包含您在激活此环境时安装的所有软件包。它还包括pip和一个独立版本的Python。

现在激活您的虚拟环境:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
source tensorflow-dev/bin/activate

激活后,您将在终端中看到与此类似的内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(tensorflow-dev)username@hostname:~/tf-demo $

现在,您可以在虚拟环境中安装TensorFlow。

运行以下命令安装并升级到PyPi中可用的最新版本的TensorFlow :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip3 install --upgrade tensorflow

TensorFlow将会安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Collecting tensorflow
  Downloading tensorflow-1.4.0-cp36-cp36m-macosx_10_11_x86_64.whl (39.3MB)
    100% |████████████████████████████████| 39.3MB 35kB/s
​
...
​
Successfully installed bleach-1.5.0 enum34-1.1.6 html5lib-0.9999999 markdown-2.6.9 numpy-1.13.3 protobuf-3.5.0.post1 setuptools-38.2.3 six-1.11.0 tensorflow-1.4.0 tensorflow-tensorboard-0.4.0rc3 werkzeug-0.12.2 wheel-0.30.0

如果您想随时停用虚拟环境,则命令为:deactivate要在以后重新激活环境,请导航到项目目录source tensorflow-dev/bin/activate并运行。

现在,您已经安装了TensorFlow,让我们确保TensorFlow安装正常。

验证安装

为了验证TensorFlow的安装,我们将在TensorFlow中以非root用户身份运行一个简单的程序。我们将使用规范初学者的例子“Hello,world!” 作为一种验证形式。我们将使用Python的交互式控制台创建此程序,而不是创建Python文件。

要编写程序,请启动Python解释器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python

您将在终端中看到以下提示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>>

这是Python解释器的提示,它表明它已准备好开始输入一些Python语句。

首先,输入此行以导入TensorFlow包并使其可用作本地变量tf。输入代码行后按ENTER

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import tensorflow as tf

接下来,添加以下代码行来设置消息“Hello,world!”:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hello = tf.constant("Hello, world!")

然后创建一个新的TensorFlow会话并将其分配给变量sess

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sess = tf.Session()

注意:根据您的环境,您可能会看到以下输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2017-06-18 16:22:45.956946: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2017-06-18 16:22:45.957158: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-06-18 16:22:45.957282: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2017-06-18 16:22:45.957404: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2017-06-18 16:22:45.957527: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.

这告诉您,您有一个可能针对TensorFlow进行优化以获得更好性能的指令集。如果你看到这个,你可以放心地忽略它并继续。

最后,输入这行代码打印出hello

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print(sess.run(hello))

您将在控制台中看到此输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Hello, world!

这表明一切正常,您可以开始使用TensorFlow来做一些更有趣的事情。

按下CTRL+D退出Python交互式控制台。

现在让我们使用TensorFlow的图像识别API来更熟悉TensorFlow。

使用TensorFlow进行图像识别

现在已经安装了TensorFlow并且您通过运行一个简单的程序验证了它,让我们来看看TensorFlow的图像识别功能。为了对图像进行分类,您需要训练模型。然后你需要编写一些代码来使用该模型。要了解有关这些概念的更多信息,您可以查看腾讯云学院人工智能课程的相关内容。

腾讯云社区提供了TensorFlow中文开发者手册,包括代码和用于分类图像的训练模型。

使用Git将TensorFlow模型库从GitHub克隆到项目目录中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/tensorflow/models.git

当Git将存储库检出到一个名为models的新文件夹时,您将看到以下输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Cloning into 'models'...
remote: Counting objects: 8785, done.
remote: Total 8785 (delta 0), reused 0 (delta 0), pack-reused 8785
Receiving objects: 100% (8785/8785), 203.16 MiB | 24.16 MiB/s, done.
Resolving deltas: 100% (4942/4942), done.
Checking connectivity... done.

切换到models/tutorials/image/imagenet目录:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd models/tutorials/image/imagenet

此目录包含classify_image.py使用TensorFlow识别图像的文件。该程序从tensorflow.org第一次运行开始下载训练好的模型。下载此模型需要您的磁盘上有200MB的可用空间。

在这个例子中,我们将对Panda的预先提供的图像进行分类。执行此命令以运行映像分类器程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python classify_image.py

您将看到类似于此的输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca (score = 0.89107)
indri, indris, Indri indri, Indri brevicaudatus (score = 0.00779)
lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens (score = 0.00296)
custard apple (score = 0.00147)
earthstar (score = 0.00117)

您已使用TensorFlow的图像识别功能对第一张图像进行了分类。

如果您想使用其他图像,可以通过-- image_filepython3 classify_image.py命令中添加参数来完成此操作。对于参数,您将传入图像文件的绝对路径

结论

您已经在Python虚拟环境中安装了TensorFlow,并通过运行几个示例验证了TensorFlow的工作原理。腾讯云还有其他的相关主题,包括深度学习与计算机视觉神经网络系列。腾讯云实验室提供Tensorflow系列实验室,省去配置环境可以直接在平台上机学习Tensorflow。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python 字符串格式化,你了解多少?
面对 Python 灵活的字符串处理,作为一个 Javaer,往往有时候会不知道所措,看到这样的代码
shengjk1
2025/05/16
1530
深度对比Python的3种“字符串格式化”方法,看看你喜欢哪一种?
从python3.0版本开始起(python2.6同期发布),Python中同时支持两个版本的格式化,多出来的一个新版本就是利用format()函数,进行格式化输出。
朱小五
2020/09/07
1.3K0
深度对比Python的3种“字符串格式化”方法,看看你喜欢哪一种?
【Python入门第五讲】字符串(下篇)
前面介绍了常用类的函数相关操作,详细内容请前往 【Python入门第四讲】字符串(上篇)阅读。
不惑
2024/01/23
2500
【Python入门第五讲】字符串(下篇)
Python格式字符串的三种方法你都掌握了吗,%s%d%f+format()+f-string,深度测评YYDS实至名归
前言: 在我们日常的学习中,我们总是免不了和各种输入输出打交道,而在这其中输出更是重中之重,有时候就因为输出的格式不对,或者说语法用的不正确,往往会导致最后的结果不尽如人意。以及各种输出的奇葩要求往往搞的我们头大,那今天就由Dream带大家来实际测评和总结一下各种格式化字符串方法吧,赶快为你喜欢的方法种草吧~
润森
2022/09/22
1.2K0
Python格式字符串的三种方法你都掌握了吗,%s%d%f+format()+f-string,深度测评YYDS实至名归
说说Python有几种字符串格式化?
小猿会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,大家是要一起学习的 。
程序员小猿
2021/01/19
3750
Python字符串格式化_占位符_变量转换_Python自学第十八节
将其他类型的数据转化为字符串,或在字符串中引入一些变量,就要用到字符串格式化。如下采用 "+" 可以进行字符串拼接,但如果引用的变量数目比较多,就会非常复杂。
张旭博客
2022/12/27
5130
Python 格式化输出的高级技巧与应用
在 Python 中,格式化输出是一种非常有用的技术,它可以让我们以更清晰、更易读的方式展示数据。以下是一些关于 Python 格式化输出的高级技巧和代码示例:
用户10354340
2024/10/08
1310
python字符串格式化输出
python中有两种格式化输出字符串的方式:格式化表达式、format()方法。当然,还有一个简化操作的内置format()函数。
py3study
2020/01/20
1.5K0
Python字符串三种格式化输出
format是python2.6新增的一个格式化字符串的方法,相比%格式化方法有如下优点:
吾非同
2020/10/23
1.2K0
python3字符串格式化用format()好还是 % 表达式好
在 Python 中,使用 format() 方法是更推荐的方式来进行字符串格式化,特别是在Python3中。虽然%表达式仍然可以在Python中使用,但已经不推荐使用了,新的项目中能不用就不用,谁知道哪天社区就不支持了。这玩意没有为啥,社区的那些开发人员觉得不好,投票决定,就改了。
一点sir
2024/04/17
1320
字符串格式化的5种方法,第3种简单又灵活
要解决这个问题并不难,Python 处理字符串还是相当灵活的。这里就给大家演示5种常用的方法。
Crossin先生
2023/08/29
2340
字符串格式化的5种方法,第3种简单又灵活
Python之字符串格式化
这两种方式在Python2和Python3中都适用,百分号方式是Python一直内置存在的,format方式为近期才出来的。
py3study
2020/01/13
8300
网络工程师学Python-24-字符串格式化
在Python中,我们经常需要将不同类型的数据格式化为字符串,然后输出到控制台或文件中。Python字符串格式化提供了一种方便的方式,可以将变量值插入到字符串中,并控制输出格式。
网络技术联盟站
2023/04/23
3440
网络工程师学Python-24-字符串格式化
【python】之字符串格式化
 %左边有一个带格式化的字符串,右边放置的是希望格式化的值(字符串或数字),上面的%s称为转换说明符,标记这放置转换值的位置和格式。
天寒雨落
2022/11/20
5500
【python】之字符串格式化
你所不知道的Python | 字符串格式化的演进之路
字符串格式化对于每个语言来说都是一个非常基础和常用的功能,学习Python的同学大概都知道可以用%语法来格式化字符串。然而为了让我们更方便的使用这个常用功能,语言本身也在对字符串格式化方法进行迭代。
simpleapples
2018/10/16
6110
Python字符串的格式化与输出
作为一名测试工程师,掌握Python字符串的格式化与输出技巧对处理和展示数据非常重要。本文将详细介绍Python中几种常见的字符串格式化方法,包括使用百分号%操作符、str.format()方法和f字符串(f-string),以及其他相关的输出技巧。
霍格沃兹测试开发Muller老师
2024/07/31
1470
Python字符串的格式化与输出
Python字符串格式化
格式化字符串时,Python使用一个字符串作为模板。模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式。Python用一个tuple将多个值传递给模板,每个值对应一个格式符。 字符串格式化方法:在字符串中需要格式化的地方一律用%s来表示。然后输出的时候在%的左侧放置一个字符串(需要格式化的字符串),右侧放置需要用来格式化字符串的值(可以是一个数字或者一个字符串,也可以是包含多个值的元组或者字典)。
慕白
2018/09/21
1.2K0
Python字符串格式化
Python中最快的格式化字符串方式
第一种是传承自C语言printf函数的使用%占位符格式化字符串,如'%d' % 100,这种方式严格来说是使用%作为算数运算符进行的二元运算,而且有一个限制是只能进行数字和字符串的格式化输出。
杜逸先
2018/08/29
2K0
Python全网最全基础课程笔记(十一)——字符串所有操作,跟着思维导图和图文来学习,爆肝2w字,无数代码案例!
请注意,title()方法在处理包含标点符号的字符串时,会将标点符号后面的第一个字母也转换为大写,这可能与某些预期不同。比如,在英文中,标点符号(如逗号、句号)后面通常跟随小写字母开始的单词,但title()方法会将这些字母也转换为大写。如果你需要更精细地控制大小写转换,可能需要根据具体情况编写自定义的函数来处理字符串。
小白的大数据之旅
2024/11/20
2580
Python全网最全基础课程笔记(十一)——字符串所有操作,跟着思维导图和图文来学习,爆肝2w字,无数代码案例!
【自然语言处理】NLP入门(二):1、正则表达式与Python中的实现(2):字符串格式化输出(%、format()、f-string)
【自然语言处理】NLP入门(一):1、正则表达式与Python中的实现(1):字符串构造、字符串截取
Qomolangma
2024/07/30
2050
【自然语言处理】NLP入门(二):1、正则表达式与Python中的实现(2):字符串格式化输出(%、format()、f-string)
推荐阅读
相关推荐
Python 字符串格式化,你了解多少?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验