如何部署 TensorFlow 服务器

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

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

安装TensorFlow

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

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

mkdir ~/tf-demo

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

cd ~/tf-demo

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

python3 -m venv tensorflow-dev

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

现在激活您的虚拟环境:

source tensorflow-dev/bin/activate

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

(tensorflow-dev)username@hostname:~/tf-demo $

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

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

pip3 install --upgrade tensorflow

TensorFlow将会安装:

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解释器:

python

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

>>>

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

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

import tensorflow as tf

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

hello = tf.constant("Hello, world!")

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

sess = tf.Session()

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

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

print(sess.run(hello))

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

Hello, world!

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

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

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

使用TensorFlow进行图像识别

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

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

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

git clone https://github.com/tensorflow/models.git

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

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目录:

cd models/tutorials/image/imagenet

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

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

python classify_image.py

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

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。

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

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

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏专知

【最新TensorFlow1.4.0教程01】TF1.4.0介绍与动态图机制 Eager Execution使用

【导读】主题链路知识是我们专知的核心功能之一,为用户提供AI领域系统性的知识学习服务,一站式学习人工智能的知识,包含人工智能( 机器学习、自然语言处理、计算机视...

4008
来自专栏梦里茶室

毫秒级检测!你见过带GPU的树莓派吗?

树莓派3B+英特尔神经计算棒进行高速目标检测 转载请注明作者梦里茶 ? 代码: 训练数据预处理: https://gist.github.com/ahan...

4.5K8
来自专栏祝威廉

MLSQL如何支持部署SKLearn,Tensorflow,MLLib模型提供API预测服务

部署成API服务时,除了要把raw数据特征化成向量外,研发还要想着怎么加载模型,产生模型的框架五花八门,比如Tensorflow,SKlearn,Spark M...

1374
来自专栏人工智能LeadAI

TensorFlow分布式全套(原理,部署,实例)

TF的实现分为了单机实现和分布式实现,在分布式实现中,需要实现的是对client,master,worker process不在同一台机器上时的支持。数据量很大...

1.1K6
来自专栏ATYUN订阅号

自定义对象检测问题:使用TensorFlow追踪星球大战中的千年隼号宇宙飞船

大多数的大型科技公司(如IBM,谷歌,微软,亚马逊)都有易于使用的视觉识别API。一些规模较小的公司也提供类似的产品,如Clarifai。但没有公司能够提供对象...

4835
来自专栏小巫技术博客

A008-drawable资源

关于drawable资源笔者之前有写过两篇文章: Android-自定义图像资源的使用(1) Android-自定义图像资源的使用(2) 这里笔者就不做过多的赘...

812
来自专栏河湾欢儿的专栏

05-图片优化合并

遵循的原则: 把同属于一个模块的图片进行合并 把大小相近的图片进行合并 把色彩相近的图片进行合并 综合以上凡是合并

1272
来自专栏芋道源码1024

Dubbo 源码解析 —— LoadBalance

前言 终于到了集群容错中的最后一个关键词,也就是 LoadBalance(负载均衡),负载均衡必然会涉及一些算法.但是也不用太担心,算法这个词虽然高大上,但是算...

3984
来自专栏CreateAMind

开源|MultiNet模型解决Kitti数据集自动驾驶中的道路分割、车辆检测和街道分类(附源代码)

MultiNet能够同时完成道路分割、汽车检测和道路分类的任务。MultiNet模型的实时存档速度和分割性能都处于最先进水平。详细的模型描述请查阅我们的论文。

2793
来自专栏小詹同学

人脸识别(三)——源码放送

人脸识别相关的基本原理和流程,以及各个步骤的介绍和代码前两篇都有介绍,其实可以通过前两篇自行整合出完整的人脸识别源码,并且适当修改可以实现MFC程...

5648

扫码关注云+社区

领取腾讯云代金券