当前位置:首页 > TAG信息列表 > gltools使用教程最新gltools设置教程?

gltools使用教程最新gltools设置教程?

gltools使用教程最新 gltools设置教程?

gltools设置教程?

1。打开游戏空间,点击【开始】开始游戏;

2。到达游戏界面,点击右下角的设定人物;

3。单击[画质设置];

gltools使用教程最新 gltools设置教程?

4。选择[帧数设置]下的[高];

5。点击右下角的【确认修改】;

6。屏幕上方会显示设置立即生效,表示设置成功。

如何用docker成为更高效的数据科学家?

使用docker容器开发机器学习模型有很多优点。最近,github的高级机器学习科学家hamelhusain发表了一篇关于走向数据科学的入门级docker容器教程。文章从基本概念入手,清晰地介绍了docker容器的一些基本操作方法和注意事项。机器之心整理介绍了这篇文章。本文涉及的所有相关代码请访问:_tutorial。

在过去的五年里,docker容器成了一个热词,似乎我所有的软件工程师朋友都在用它们开发应用程序。我想知道这项技术如何让我变得更高效,但我发现我在网上找到的教程要么太详细(解释了一些我作为数据科学家永远不会使用的功能),要么太简单(没有足够的信息来帮助我理解如何快速有效地使用docker)。

所以我写了这个快速入门,让你不用自己去网上筛选资料,就能快速学会docker入门所需的一切。

docker是什么?

你可以把docker想象成一个轻量级的虚拟机——它包含了运行应用程序所需的一切。docker容器可以获取系统状态的快照,以便其他人可以使用该快照快速重建您的计算环境。这是本教程中您需要知道的全部内容。有关更多详情,请参考:

为什么要用docker?

1.重现性:作为一名专业的数据科学家,让你的结果具有重现性是非常重要的。再现性不仅有助于同行评审,还可以确保您创建的模型、应用程序或分析可以无障碍地运行,从而使您交付的结果更加稳健,经得起时间的考验。例如,如果你用python创建一个模型,仅仅运行pipfreeze并把结果requirements.txt文件发送给你的同事是不够的,因为它只包含特定于python的依赖关系——但实际上,依赖关系不仅仅是python,还有操作系统、编译器、驱动程序、配置文件以及你的代码成功运行所需的其他数据。即使只分享python依赖,也能成功。将所有内容封装在docker容器中仍然可以缓解这个问题。别人的负担,重建你的环境,让他们更容易获得你的成就。

2.计算环境的可移植性:作为一名数据科学家,尤其是在机器学习领域,快速改变你的计算环境的能力可以极大地影响你的生产力。数据科学的初始工作通常是原型设计、探索和研究——这些任务不一定立即需要特定的计算资源。这项工作通常在笔记本电脑或个人电脑上完成。但在未来的某个时候,你将经常需要不同的计算资源来显著加快你的工作流——例如,使用更多的cpu或强大的gpu来执行深度学习等任务。我见过许多数据科学家将自己限制在本地计算环境中,因为他们感到在远程机器上重建本地环境的困难。docker可以移植你的环境(你所有的库和文件等)。)很简单。在kaggle竞争中,快速移植计算环境也是一个巨大的竞争优势,因为你可以经济高效地使用aws宝贵的计算资源。最后,创建docker文件允许您移植许多您喜欢的本地环境配置——比如bash别名或vim插件。

3.加强你的工程能力:熟练使用docker可以让你将模型或分析部署到应用程序中(比如提供预测的restapi),这样别人也可以使用你的结果。此外,您可能需要与数据科学工作流中docker容器中的其他应用程序进行交互,例如数据库。

码头术语

在我们继续之前,它熟悉docker的术语:

图像:它是你想要创造的蓝图。比如:ubuntutensorflow,带nvidia驱动,运行jupyter服务器。

容器:它是你实现的运行映像的实例化。您可以运行同一图像的多个副本。区分镜像和容器的区别非常重要,因为这是初学者经常混淆的两个概念。如果你不如果你不知道镜子和容器的区别,停下来再读一遍。

dockerfile:创建镜像的方法。dockerfile包含特殊的docker语法。官方文档说:dockerfile是一个文本文档,包含了用户可以在命令行调用的所有命令,组装成镜像。

提交:与git类似,docker容器提供版本控制。通过commit所做的更改,您可以随时将docker容器的状态保存为新的映像。

dockerhub/imageregistry:人们可以公开(或私下)发布。docker镜像用于促进合作和共享。

层:对现有图像的修改,由docker文件中的指令指示。将图层应用于基础图像,以创建最终图像。

这些术语将在本文中使用。如果你在阅读时忘记了它们,一定要检查回来!这些术语很容易混淆,尤其是在镜像和容器之间——所以你在阅读的时候要警惕!

安装docker

您可以从以下网址免费下载并安装docker社区版:

创建你的第一个码头工人形象。

在创建docker容器之前,创建一个用于定义镜像的docker文件是很有用的。让下面我们来慢慢解读dockerfile。您也可以在与本教程相关的github库中找到该文件:

#referenc:_/ubuntu/

来自ubuntu:16.04

#将元数据作为键值对示例标签版本1.0添加到图像中

标签维护者hamelhusain

##设置环境变量

环境。allcutf路8号。utf-8

运行apt-getupdate-fix-missingampapt-getinstall-ywgetbzip2ca-certificates

构建-基本

byobu

卷曲

git核心

htop

pkg-配置

python3-dev

python-pip

python-setuptools

python-virtualenv

拉开…的拉链

放大器

apt-get干净的ampamp

rm-rf/var/lib/apt/lists/*

运行echo导出路径/opt/conda/bin:$pathgtampamp

wget-quiet_-o~ampamp

/bin/bash~-b-p/opt/condaampamp

rm~

envpath/opt/conda/bin:$小路

运行pip-no-cache-dir安装-升级

多重处理

sklearn-熊猫

#为jupyter打开端口

暴露7745

#安装文件系统

运行mkdirds

环境主页/ds

环境外壳/bin/bash

体积/密度

工作目录/ds

添加运行_/ds/运行_

运行chmodx/ds/run_

#运行外壳

cmd[。/run_]

from语句

来自ubuntu:16.04

from语句包含了docker最神奇的部分。该语句指定了您想要在其上创建的基本图像。通过使用from来指定一个基本映像,dock:16.04的映像——如果它不存在。;如果找不到,它将搜索您指定的docker注册表,默认为dockerhub:。如果你需要经常在你的ubuntu和其他操作系统上安装程序,这种分层机制非常方便。你不不用费心从头安装ubuntu,但你可以直接在官方ubuntu镜像上开发!dockerhub托管各种各样的映像,包括那些不仅提供操作系统的映像。例如,如果您想要一个安装了anaconda的容器,您可以选择在官方的anacondadock:16.04作为基图,它将搜索名为ubuntu(_/ubuntu/)的dockerhub库。映像名称后面的16.04部分是一个标记,它指定了您要安装的基础映像的版本。如果你搜索ubuntudockerhub库,你会注意到不同版本的ubuntu对应不同的标签:

2017年12月ubuntudock:16.04,ubuntu:x:x:latest都是指ubuntu16.04版本,都是同一个镜像的别名。此外,这里提供的链接指向相应的dockerfile,它可以用来构建每个版本的映像。有时你可以t在dockerhub中找不到docker文件,因为维护人员可以选择是否包含关于这些映像是如何创建的docker文件。个人觉得看一些dockerfile是有助于更好的理解dock:lat:16.04为什么?仔细看,可以看到:latest与16.04相关联。

关于docker镜像需要注意的最后一点:从dockerhub拉随机docker镜像时做出明智的判断恶意人士创建的拉映像可能包含恶意软件。

标签语句

这条语句将向您的图像添加元数据,它是完全可选的。加这句话的目的是让别人知道我可以联系谁,也方便我搜索我的docker容器,尤其是一个服务器上同时运行多个容器的时候。

标签维护者hamelhusainltyouremailgt

env语句

环境。allcutf路8号。utf-8

这允许您修改环境变量,而且非常简单。请参考:

运行语句

这通常是最需要努力的地方,并给出了在构建docker映像时要完成的任务。您可以运行任何shell命令(如apt-get和pipinstall)来安装您需要的软件包和依赖包。

运行apt-getupdate-fix-missingampapt-getinstall-ywgetbzip2

构建-基本

ca证书

git核心

...

在这里我安装了一些我喜欢的实用工具,比如curl和h。top,byobu,然后安装了anaconda,然后安装了一些基本anaconda中没有的其他库(可以在完整的dockerfile中看到其他run语句)。

run语句后面的命令和docker没有任何关系,只是你在安装这些软件包时需要运行的一些正常的linux命令,所以不要即使你不熟悉这些软件包或linux命令,也不用担心。另外,再提一个建议:我刚开始学习docker的时候,在github或者dockerhub上看其他的docker文件,然后把我需要的复制粘贴到我的docker文件中。

您可能已经注意到了run语句的格式。为了可读性,每个库或软件包都整齐地缩进并按字母顺序排序。这是dockerfile的常用做法,建议你也这样做,以便合作。

暴露语句

如果您想要公开一个端口——例如,如果您从容器或网络服务中实现一个jupyternotebook,那么这个语句非常有用。码头工人的文档很好地解释了expose语句:

expose指令实际上并不发布端口。它的功能是作为创建图像的人和运行容器的人之间的一种文档,内容是关于要发布的端口。要实际发布端口,您必须在dockerrun上使用-p标志,并在运行容器时映射一个或多个端口,或者您可以使用-p标志发布所有端口,并将它们映射到更高级的端口。

数量报表

体积/密度

这个语句允许你在docker容器和主机之间共享数据。volume语句允许您安装外部安装的卷。主机目录仅在容器运行时声明(因为您可能在不同的计算机上运行容器),而在定义映像时不声明。目前,您只需在docker容器中指定想要与主机容器共享的文件夹的名称。

docker用户指南解释道:

主机目录是在容器运行时声明的:主机目录(挂载点)本质上依赖于主机。这是为了确保映像的可移植性,因为不能保证给定的主机目录对所有主机都可用。出于这个原因,你可以不要在dockerfile中挂载主机目录。卷指令不支持指定host-dir参数。创建或运行容器时,必须指定一个装载点。

此外,这些卷的目的是在容器的文件系统之外保存数据,这在您必须操作大量数据时非常有用。;我不希望你的形象大大扩大。当您保存码头时er映像,这个卷目录中的任何数据都不会保存为映像的一部分,但是这个容器目录之外的数据会被保存。

工作目录语句

工作目录/ds

此语句设置工作目录,以便您可以在另一个命令中索引特定文件,而无需使用绝对路径。例如,这个docker文件中的最后一句话是:

cmd[";。/run_";]

该语句假定默认情况下工作目录是/ds。

添加语句

添加运行_/ds/运行_

此命令允许您在docker容器运行时将文件从主机复制到docker容器。我使用这个命令来执行bash脚本并导入有用的东西,比如。bachrc文件到容器中。

请注意,这里没有完全指定主机容器的路径,因为它的主机路径是您在容器运行时指定的上下文目录的相对路径(稍后讨论)。

当我运行这个容器时,run_就在后台路径的根目录下,所以在源文件之前没有路径。

用户指南说:

添加

add指令从ltsrcgt复制新文件、目录或远程文件url,并将它们添加到路径ltdestgt的镜像文件系统中。

cmd语句

docker容器的设计思想是,这些容器是短命的,它足以保证你要运行的应用程序完成。但是在数据科学中,我们经常希望让这些容器一直运行,即使其中没有任何活动的东西在运行。许多人通过运行bashshell(它赢了不停止就不要停止。

cmd[";。/run_";]

在上面的命令中,我运行了一个shell脚本,该脚本实例化了一个jupyter笔记本服务器。然而,如果你不如果没有任何特定的应用程序要运行,并且只想让容器保持运行(不退出),可以直接运行bashshell,只需使用以下命令:

cmd[/bin/bash]

这种方法是有效的,因为bashshell不会终止,除非您退出;因此,容器将一直保持运行。

用户指南说:

docker文件中只能有一条cmd指令。如果您列出了多个cmd,则只有最后一个有效。

cmd的主要目的是为执行容器提供默认配置。这些默认配置可能包含一个可执行文件,或者可执行文件可能被省略,在这种情况下,您还必须指定一个ent。rypoint命令。

在创建docker镜像docker文件的过程中有如此多的信息。唐别担心,后面的部分相对简单。现在我们已经在dockerfile中创建了我们的食谱。;是时候创建一个镜像了。您可以通过以下命令完成此操作:

还有:_tutorial/blob/master/basic_tutorial/build_ongithub。

这创建了一个docker映像(不是容器;如果你不idon'我记不起这两者之间的区别,请查阅文章前面的词汇表。您可以稍后运行此镜像。

从你的docker镜像创建并运行容器,现在你已经准备好让它工作了!我们可以通过执行以下命令来启动环境:

github还有:_tutorial/blob/master/basic_tutorial/run_。

运行此命令后,您的容器将运行!jupyter服务器也在运行,因为docker文件的末尾有这个命令:

cmd[";。/run_";]

现在你应该可以通过它使用的端口访问你的jupyt:7745/,密码是tutorial。如果您远程运行这个docker容器,您还必须设置本地端口转发,以便您可以通过浏览器访问您的jupyter服务器。端口转发简介:

与容器交互一旦容器设置好并运行,以下命令就很有用:

将新的终端会话附加到容器。如果您需要安装一些新软件或使用shell,这将非常有用。

将容器的状态保存为新图像。即使一开始就在dockerfile中配置了所有想要安装的库,随着时间的推移,你可能仍然需要对容器的状态进行很大的调整——通过交互添加更多的库和软件包。将容器的状态保存为镜像非常有用。您可以稍后共享或向其添加图层。您可以使用dockercommitcli命令将容器状态保存为新映像:

dockercommitltcontain:标签名(可选)

比如我想把一个名为contain:v2

你可能想知道镜像名称前的hamelsmu/是什么——这只是为了以后更方便地将容器推送到dockerhub,因为hamelsmu是我的dockerhub用户名(这个我们后面会讲到)。如果你想在工作中使用docker,你的公司很可能有一个内部私有的docker库,你也可以把你的docker推送到那里。

列出运行中的容器。当我忘记了正在运行的容器的名称时,我经常使用这个命令:

dockerps-a-f状态运行

如果您使用此命令而不添加statusrunning,您将看到系统上所有容器的列表(甚至包括那些不再运行的容器)。这对于寻找旧容器很有用。

列出您保存在本地的所有图像。

docker图像

将你的图片推送到dockerhub(或其他地方)。如果您想要与其他人共享您的工作或将图像保存到云中,此命令非常有用。这样做的时候注意不要分享任何私人信息(dockerhub上也有私人库)。

首先,创建一个dockerhub库并给你的库取一个合适的名字,参考这里。然后运行dockerlogin命令,连接到您在dockerhub或其他注册位置的帐户。例如,要将一个图像推送到这个容器(),我必须首先调用我的本地图像命令hamelsmu/tutorial(我可以选择任何标记名)。例如,此cli命令为:

dock:v2

将前面提到的docker镜像推送到这个库中,其标签为v2,引用:。需要指出的是,如果你公开了你的图片,别人可以直接给你的图片添加图层,就像我们在本教程中给ubuntuimage添加图层一样。这对想要复制或扩展你的研究的其他人非常有用。

你已经掌握了。现在您已经知道如何操作docker,您可以执行以下任务:

与同事和朋友分享可重复的研究。

通过将您的代码临时迁移到您需要的更大的计算环境中,不间断地赢得kaggle竞赛。

在笔记本电脑上的docker容器中进行本地原型开发。然后毫不费力地将相同的计算过程无缝地迁移到服务器,同时保留您喜欢的本地环境配置(您的别名、vim插件、bash脚本、自定义提示等。).

使用nvidia-docker快速实例化在gpu计算机上运行tensorflow、pytorch或其他深度学习库所需的所有依赖包。如果从零开始,过程会很艰难。)看后面的彩蛋。

将您的模型发布为应用程序,例如从docker容器提供预测的restapi。当你的应用是docker的时候,你可以根据需要轻松的随意复制。

进阶阅读到这里,我们只学到了docker的一点皮毛,还有很多值得掌握的东西。我很关注docker领域,我觉得数据科学家会经常遇到。希望这篇文章能给你足够的信心开始使用。以下资源对我的码头之旅有所帮助:

有用的docker命令:_docker_containers/

更有用的docker命令:

dockerfile文件参考:

如何在dockerhub上创建和推送库;

彩蛋:nvidia-docker我学习docker最早的原因是在单个gpu上进行深度学习模型的原型化,然后在需要更多计算资源的时候迁移到aws。我也在研究杰瑞米·霍华德的优秀课程()并想与他人分享我的原型设计。

然而,包括所有的依赖包,如nvidiagpu的驱动程序,你可以不要用docker,而要用nvidia-docker()。这比使用普通的docker需要更多的努力,但是只要你理解docker,它这很容易做到。

我把我的nvidia-docker设置放在这里:_tutorial/tree/master/gpu_tutorial。你可以用这个练习。

docker容器数据映像环境


那时花开学习网 祥元腾辉

  • 关注微信关注微信

猜你喜欢

热门标签

二进制的基本运算规则是什么 word文本框形状样式强烈效果 苹果设置下载app需要密码怎么设置 苹果笔记本电脑哪款好用性价比高 微信怎么扔瓶子呢 怎么查询美团红包购买记录介绍 抖音如何设置免流量播放 qq怎么设置手机型号在线 excel数据中没有数据验证 闲鱼卖家怎样开通信用卡支付 苹果手机设置字体大小在哪里设置 隔空投送接收成功但是找不到 vmware虚拟机镜像文件无法启动VM虚拟机运行不了游戏?介绍 网络无法连接互联网怎么修复电脑连接不上WiFi是什么原因? 腾讯王卡解除流量封顶后太贵了腾讯大王卡用完40g怎么办? maya正确安装方法maya要怎么计算大小? 微信乘车码怎样取消绑定新注册的微信怎么解绑手机号? qq文件下载失败有解决办法吗qq文件下载失败怎么回事?介绍 ps怎么做电子显示屏科技感PS怎么把界面调成浅色? vivo保密柜的视频删除恢复 如何在电脑上打开pythonpython怎么弄成中文? 文档提示被挂起是什么意思? 华为畅享10e上市时间和价格 matlab和mathematica语法区别大吗matlab安装哪些工具就够了?介绍 苹果打电话听筒声音小解决方法 小米手机报警辅助怎么关闭红米手机丢了刷机会报警吗? 网站引流方案怎么写引流什么意思网络用语?介绍 贴吧怎么注册自媒体适合做美食的自媒体平台有哪些? 多张图片转换成word文档数学试卷的截图如何改成word版?介绍 opporeno7手机来电闪灯怎么关闭opporenoZ怎么关闭来电闪光灯?介绍

微信公众号