Tensorflow Docker完整指南|Simplilearn

137 阅读14分钟

Simplilearn - Online Certification Training Course Provider

所有课程

登录

软件开发

数据科学与商业分析AI与机器学习项目管理网络安全云计算DevOps业务与领导力质量管理软件开发敏捷与ScrumIT服务与架构数字营销大数据职业快速通道企业其他部分

文章电子书视频教程按需网络研讨会免费练习测试

首页资源软件开发Tensorflow Docker完整指南

现在的趋势

[

淘宝网上卖的是什么?

文章

](www.simplilearn.com/tutorials/r…

树莓派Docker

文章

](www.simplilearn.com/tutorials/d…

区块链职业指南。成为一名区块链开发者的综合手册

电子书

](www.simplilearn.com/blockchain-…

淘宝网上卖的是什么?

文章

](www.simplilearn.com/tutorials/m…

PHP中的数组

文章

](www.simplilearn.com/tutorials/p…

了解C#数组的一站式解决方案

视频教程

](www.simplilearn.com/tutorials/a…

2022年要学习的最佳编程语言

文章

](www.simplilearn.com/best-progra…

AngularJS Vs. Angular 2 Vs. Angular 4:了解它们的区别

文章

](www.simplilearn.com/angularjs-v…

淘宝网上卖的是什么?

文章

](www.simplilearn.com/tutorials/r…

掌握了这一点,你就可以在你的工作中发挥你的作用了。

文章

](www.simplilearn.com/tutorials/p…)

张流Docker完整指南

作者:Simplilearn最后更新于2022年1月29日

Tensorflow Docker

目录

查看更多

Docker创建了虚拟环境,使用容器将TensorFlow安装与系统的其他部分隔离。TensorFlow程序在一个虚拟环境中运行,与主机共享资源。

Docker允许我们毫不费力地复制用于从任何地方训练和运行机器学习模型的工作环境。它允许我们将我们的代码和依赖项打包成容器,可以转移到不同的主机上,而不考虑硬件或操作系统。基本上,它是免费的开源软件,使在同一服务器上执行几个网络应用程序变得简单、安全和一致。

研究生课程。全栈网络开发

与加州理工学院CTMEE合作立即报名

Post Graduate Program: Full Stack Web Development

TensorFlow Docker要求

  • Docker应该被安装在你的本地主机上。

Docker是一个免费和开放的平台,用于构建、交付和操作应用程序。Docker允许我们将我们的应用程序与我们的基础设施解耦,使我们能够迅速地发布软件。我们可以用控制应用程序的方式来管理我们的基础设施,这与使用Docker的方式相同。我们还可以利用Docker快速运送、测试和部署代码的方法,大大缩短从编写代码到在生产中执行代码的时间。

  • 安装英伟达Docker支持Linux上的GPU支持。

用户可以利用英伟达容器工具包来创建和执行GPU加速的Docker容器。该工具包中包含一个容器运行库和实用程序,以及用于自动配置容器以使用NVIDIA GPU的设施。

请确保我们的Linux发行版已经安装了NVIDIA驱动程序和Docker引擎,以便开始使用。在主机系统上不需要安装CUDA工具包,但必须安装NVIDIA驱动程序。

安装Docker

Docker Desktop使得在Mac和Windows上创建、分发和操作容器变得简单,就像在Linux上一样。Docker负责处理复杂的设置,使我们能够集中精力编写代码。Docker引擎以静态二进制安装的形式出现在一系列Linux平台上,也可以通过Docker Desktop在macOS和Windows 10上使用。

  • Mac上的Docker Desktop

系统要求。

Mac必须满足以下要求才能成功安装Docker Desktop。

  • 配备英特尔芯片的Mac
  • 带有苹果芯片的Mac
  • 带有英特尔芯片的Mac

Docker Desktop与最新版本的macOS、当前的macOS版本以及之前的两个版本兼容。随着新的macOS主要版本的广泛使用,Docker不再支持旧版本,而是支持最新的版本(除了之前的两个版本)。Docker桌面目前支持macOS Catalina、macOS Big Sur和macOS Monterey。

  • 至少有4GB的内存。

  • 不得安装4.3.30版本之前的VirtualBox,因为它与Docker Desktop不兼容。

  • 使用苹果硅的Mac

苹果硅上的Docker Desktop for Mac的GA版本现在可用。这使我们能够在首选的本地开发环境中开发应用,并扩展了基于ARM的应用开发。

适用于Apple silicon的Docker Desktop还支持多平台镜像,使我们能够为x86和ARM架构创建和执行镜像,而不需要复杂的交叉编译开发环境。

免费课程。Docker入门

掌握Docker的基础知识立即报名

Free Course: Getting Started with Docker

在Mac上安装和运行Docker Desktop

1.双击Docker.dmg以打开安装程序,然后将Docker图标拖到应用程序文件夹中。

Tensorflow_docker_1

2.2. 双击应用程序文件夹中的Docker.app来启动Docker。

Tensorflow_docker_2.

3.Docker菜单显示Docker订阅服务协议窗口(鲸鱼菜单)。它包含了对Docker Desktop的服务条款的更新;请仔细阅读。

4.4. 要继续,请勾选表示你接受修改后的条件,然后点击接受。在你接受条款后,Docker Desktop将启动。

*如果我们不同意这些条款,Docker Desktop将关闭,我们将无法在我们的电脑上使用它。通过稍后启动Docker Desktop,我们可以接受这些条款。

安装后,Docker Desktop会启动快速入门指南。该教程包括一个简单的练习,建立一个Docker镜像的例子,作为一个容器运行,推送并保存到Docker Hub。

Tensorflow_docker_3.

  • Docker适用于Windows,Windows 10 Pro,或更高版本

系统要求。

Windows机器必须满足以下要求才能成功安装Docker Desktop。

  • WSL 2后端

  • Hyper-V后端和Windows容器

  • WSL 2后端

  • 具有第二级地址转换功能的64位处理器

  • 4GB系统内存

  • 必须在BIOS设置中启用BIOS级硬件虚拟化支持。

  • Hyper-V后端和Windows容器

Docker Desktop创建的容器和镜像在安装它的机器上的所有用户账户之间共享,因为所有Windows账户都使用同一个虚拟机来构建和操作容器

安装。

  1. 下载Docker。
  2. 双击InstallDocker.msi来运行安装程序。
  3. 按照安装向导的提示:接受许可,授权安装程序,并继续安装。
  4. 点击完成来启动Docker。
  5. Docker会自动启动。
  6. Docker会加载一个 "欢迎 "窗口,给你提示和访问Docker文档的机会。

Tensorflow_docker_4.

全栈网络开发人员课程

成为MEAN Stack的专家查看课程

Full Stack Web Developer Course

验证。

状态栏中的鲸鱼表示一个正在运行的(可通过终端访问)Docker实例。

打开PowerShell或你喜欢的Windows终端(如命令提示符),输入docker run hello-world。

每次Docker启动时,Windows都会提示我们进行访问,允许Docker管理Hyper-V虚拟机的。在Docker第一次启动时,我们可能需要提供Beta版邀请邮件中的令牌。从通知区选择 "关于Docker",并在初始化完成后验证我们是否有最新版本。

从PowerShell(或你喜欢的Windows终端),检查docker、docker-compose的版本,并验证你的安装。

PS C:\Users\username> docker --version

PS C:\Users\username> docker-compose --version

PS C:\Users\username> docker-machine --version

在我们停止之前,让我们测试一下Docker化的Web服务器。

NGINX是一个著名的轻量级网络应用程序,用于创建服务器端应用程序。它是一个开源的Web服务器,可以在各种操作系统上运行。Docker已经保证支持nginx,因为它是一个流行的开发用网络服务器。

让nginx的 Docker容器启动和运行的各种程序是。

  • 第一步是获取Docker Hub镜像。当我们登录Docker Hub时,我们可以搜索并查看nginx镜像,如下图所示。只需在搜索栏中输入nginx,然后点击结果中出现的nginx(官方)链接。

Tensorflow_docker_5.

  • nginx的Docker拉取命令可以在Docker Hub的仓库信息中找到。

Tensorflow_docker_6

  • 为了从Docker Hub获得最新的nginx镜像,在Docker主机上运行如上所示的Docker pull命令。

Tensorflow_docker_7

  • 现在,使用下面的命令来启动nginx容器。

sudo docker run -p 8080:80 -d nginx

我们将把nginx服务器上的80端口暴露给Docker主机上的8080端口。

Tensorflow_docker_8

如果我们在运行该命令后进入URL http://dockerhost:8080,我们将看到以下输出。这表明nginx容器已经运行。

Tensorflow_docker_9.

新课程。初级全栈开发

学习Git命令、Angular、NodeJS、Maven等课程立即报名

New Course: Full Stack Development for Beginners

用Docker提供服务

Tensorflow Serving是谷歌的一个API,用于生产机器学习系统,谷歌和其他大型科技组织广泛使用。用同样的服务器架构和API来部署我们的模型很简单。虽然它最好是用TensorFlow模型,但它也可以被修改为与其他模型一起工作。

Tensorflow_docker_10

上面的图形描述了整个过程的高层视图,从建立模型到使用Tensorflow Serving将其服务于终端。为大多数类型的模型提供服务的理想解决方案可能是在服务器上操作一个集中的模型,任何设备,无论是台式机、移动设备还是嵌入式设备,都可以从这里提出请求。然后,服务器将为我们执行推理并返回结果。我们可以将该预测呈现给使用该预测的任何设备。如果众多客户访问你的终端,而这个终端又集中在服务器上,那么这种设计就有很大的优势。

让我们先下载最新的Tensorflow Serving镜像。

docker pull tensorflow/serving

我们正在运行Serving镜像,并在REST API端点上发布我们的模型。

docker run -p 8501:8501 --mount type=bind,source=/path/to/the/unzipped/model/tmp/, target=/models/fashion_mnist -e MODEL_NAME=fashion_mnist -t tensorflow/serving

使用 predict API 查询该模型。

curl -d '{"signature_name":"serving_default", "instances":[[[[0.0], [0.0]…………….[0.0]]]]}’-X POST http://localhost:8501/v1/models/fashion_mnist:predict

使用你的GPU为Docker提供服务

Nvidia-docker是docker命令的一个封装器,它以透明的方式为容器提供在GPU上运行程序所需的组件。只有当我们使用nvidia-docker运行一个需要GPU的容器时才需要它。

在用GPU提供服务之前,我们需要两件事。

  1. 为你的系统提供最新的NVIDIA驱动
  2. nvidia-docker

让我们尝试通过一个例子来理解这一点。

通过运行以下命令,拉出最新的TensorFlow Serving GPU docker镜像。

docker pull tensorflow/serving:latest-gpu

我们将利用半加二的玩具模型,它为我们提供的预测的x值生成0.5*x+2。Ops将被链接到GPU设备上,模型将不会在CPU上运行。

mkdir -p /tmp/tfserving

cd /tmp/tfserving

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

运行TensorFlow Serving容器,将其指向该模型并打开REST API端口。

docker run --gpus all --p 8501:8501 \-mount type=bind,and

--mount type=bind,\

source=/tmp/tfserving/serving/tensorflow_serving/servables/tensorflow/testdata/saved_model_half_plus_two_gpu,/etc.

target=/models/half_plus_two\e

-e MODEL_NAME=half_plus_two -t tensorflow/serving:latest-gpu &

这将启动Docker容器,启动TensorFlow Serving模型服务器,绑定REST API端口8501,并将我们想要的模型从主机映射到容器的模型。

2018-07-27 00:07:20.773693: I tensorflow_serving/model_servers/main.cc:333] 。

在:localhost:8501导出HTTP/REST API ...

通过全栈网络开发人员--MEAN Stack硕士课程,推进你作为MEAN Stack开发人员的职业生涯。现在就报名吧!

总结

Docker允许我们对一个应用程序进行分割,这样我们就可以刷新、清理和修复它,而不必完全关闭它。此外,Docker允许我们为应用程序创建一个架构,该架构由通过API进行通信的微小进程组成。

如果你有兴趣了解更多关于React JS和其他相关概念,你可以报名参加Simplilearn的独家全栈网络开发认证课程,并加快你作为软件开发人员的职业生涯。该课程包括各种软件开发课程,从基础知识到高级主题。

Simplilearn还提供多个领域的免费在线技能提升课程,从数据科学商业分析软件开发AI和机器学习。你可以参加这些课程中的任何一个,以提升你的技能并推动你的职业生涯。

寻找我们在顶级城市的全栈网络开发在线训练营的研究生课程。

名称日期地点
全栈式网络开发的研究生课程班级于2022年2月9日开始,
周末批次您所在的城市查看详情
全栈式网络开发研究生课程课程于2022年2月23日开始,
周末批次芝加哥查看详情
全栈式网络开发研究生课程班级于2022年3月8日开始,
周末批次休斯顿查看详情

关于作者

Simplilearn兴发xf187在线娱乐 Simplilearn

Simplilearn是世界领先的数字营销、云计算、项目管理、数据科学、IT、软件开发和其他许多新兴技术的在线培训供应商之一。

查看更多

推荐课程

[

Post Graduate Program in Full Stack Web Development

全栈网络开发的研究生课程

761名学员

终身访问*。

](www.simplilearn.com/pgp-full-st…

Full Stack Web Developer - MEAN Stack

全栈网络开发人员 - MEAN Stack

822名学员

终身访问*

](www.simplilearn.com/full-stack-…)

*终身访问高质量、自定进度的电子学习内容。

探索类别

在这些城市寻找全栈式网络开发的研究生课程

全栈式网站开发研究生课程,波士顿全栈式网站开发研究生课程,芝加哥全栈式网站开发研究生课程,圣何塞全栈式网站开发研究生课程,西雅图全栈式网站开发研究生课程,坦帕全栈式网站开发研究生课程,华盛顿

[

The Path to a Full Stack Web Developer Career下一篇

通往全栈式网络开发职业的道路

通过Simplilearn

42210月28日, 2021

](www.simplilearn.com/full-stack-…)

推荐资源

上一页下一页

© 2009 -2022- Simplilearn Solutions

关注我们!

推荐和赚取

公司介绍

关于我们工作机会 在媒体校友发言联系我们

与我们一起工作

成为讲师作为嘉宾发表博客

发现问题

技能提升资源RSS订阅Simplilearn优惠券和折扣优惠城市地图

为企业服务

企业培训合作伙伴数字转型政府

在旅途中学习!

获取安卓应用获取iOS应用

流行的研究生课程

项目管理认证课程|网络安全认证课程|数据科学训练营课程|数据分析训练营课程|商业分析认证课程|数字营销认证课程|精益六西格玛认证课程|DevOps认证课程|云计算认证课程|数据工程课程|AI和机器学习课程|全栈网络开发课程

流行的硕士课程

PMP Plus认证培训课程|大数据工程师课程|数据科学认证课程|数据分析师认证课程|人工智能课程|云架构师认证培训课程|DevOps工程师认证培训课程|高级数字营销课程|网络安全专家课程|MEAN栈开发课程

潮流课程

PMP认证培训课程|大数据Hadoop认证培训课程|Python数据科学认证课程|机器学习认证课程|AWS解决方案架构师认证培训课程|CISSP认证培训|认证ScrumMaster(CSM)认证培训|ITIL 4基础认证培训课程|Java认证课程|Python认证培训课程

潮流资源

Python教程|JavaScript教程|Java教程|Angular教程|Node.js教程|Docker教程|Git教程|Kubernetes教程|Power BI教程|CSS教程

smpl_2022-01-29

  • 免责声明
  • PMP、PMI、PMBOK、CAPM、PgMP、PfMP、ACP、PBA、RMP、SP和OPM3是美国项目管理协会的注册商标。