相关文章推荐
慈祥的消炎药  ·  Lua 循环 | 菜鸟教程·  1 年前    · 
咆哮的木瓜  ·  第15.14节 ...·  2 年前    · 
强健的围巾  ·  EMNLP 2023 ...·  2 年前    · 
深情的韭菜  ·  ‘dependencies.dependen ...·  2 年前    · 

在过去的几个月中,我和多个企业的数据科学团队进行了多次合作,也看到越来越多的机器学习和深度学习框架被广泛应用到实际生活中。

与大数据分析和数据科学中的其他用例一样,这些团队希望在 BlueData EPIC 软件 平台上的 Docker 容器中运行他们最喜欢的深度学习框架和工具。因此,我的一部分工作就是尝试使用这些新工具,确保在我们的平台上能够运行,并且能够帮助这些团队开发出可以解决一些问题的新的功能。

TensorFlow 是深度学习和机器学习最流行的开源框架之一。 TensorFlow 最初是由 Google 研究团队开发的并致力于解决深度神经网络的机器学习研究。另外, TensorFlow 也适用于许多其他应用场景:图像识别,自由文本数据的自然语言处理以及威胁检测和监视等。

TensorFlow 是一个用于对一系列任务进行 机器学习 的开源软件库,它是一个构建和训练神经网络来检测、解读模式和相关性的系统,它与人类学习和推理相似(但不一样)。 ”—— 维基百科

TensorFlow 可以在各种异构系统(包括 CPU GPU )上对计算资源进行合理分配。与我合作过的几个数据科学团队使用 GPU 来提高 TensorFlow 的计算速度,但 GPU 价格昂贵,他们需要对 TensorFlow 所占用的资源进行认真的 管理

部署 TensorFlow 的注意事项

以下是部署数据科学应用程序和 TensorFlow 时的一些注意事项(尤其是在企业大规模部署时更应该注意):

1. 如何对部署的复杂性进行管理,例如在 OS ,内核库和 TensorFlow 不同版本之间进行部署。

2. 如何在作业期间支持创建临时集群。

3. 如何隔离正在使用的资源并阻止同时队同一资源的访问请求。

4. 如何在共享的多租户环境中对 GPU CPU 资源进行管理和分配。

BlueData EPIC 软件平台 就可以解决这些问题,它能够按照数据科学团队的需要访问各种不同的大数据分析、数据科学、机器学习和深度学习工具。在一个灵活、弹性和安全的多租户架构中使用 Docker 容器, BDaaS Big-Data-as-a-Service )软件平台可以支持大规模分布式数据科学和深度学习用例。

BlueData 的最新版本可以支持启动采用 GPU 加速的集群,并且支持 TensorFlow GPU Intel 架构的 CPU 上进行深度学习。数据科学家可以在 BlueData EPIC 软件平台上启动即时 TensorFlow 集群在 Docker 容器上进行深度学习。 BlueData 支持在 Intel Xeon 硬件和 Intel MKL 上运行基于 CPU TensorFlow ,也支持采用 NVIDIA CUDA 库、 CUDA 扩展以及用于 Docker 容器的字符设备映射的基于 GPU TensorFlow

BlueData EPIC 软件平台可以为 TensorFlow 提供自助服务、弹性和安全环境,无论是在本地、公共云还是在二者的混合结构中都拥有同样的界面,不管其底层架构多么不同,用户都会有相同的用户体验。

如下图所示,用户可以像用于其他大数据分析、数据科学和机器学习环境一样,能够很容易地将带有 BigDL 的即时 TensorFlow 集群在 BlueData 软件平台上进行深度学习。并且,用户可以指定在 TensorFlow 运行的 Docker 容器放置在有 GPU 还是 CPU 配置的基础架构,以及在公共云还是在本地。

按需创建 TensorFlow 集群

BlueData EPIC 软件平台上,用户只需点击几下鼠标即可根据自己的需求创建 TensorFlow 群集。 BlueData 的最新版本引入主机标签,用户可以创建具有主机标记的基于 GPU CPU TensorFlow 集群,这些主机标记为特定工作负载指定所需要的硬件,如下图所示。

一旦创建完成, TensorFlow 集群将拥有一个或多个 Docker 容器节点,这些 Docker 容器使用 TensorFlow 软件和相应的 GPU / CPU 加速库进行部署。例如,基于 GPU TensorFlow 群集将在 Docker 容器内具有 NVIDIA CUDA CUDA 扩展;而基于 CPU TensorFlow 群集则在 Docker 容器中具有 Intel MKL Jupyter Notebook 扩展。

高效的 GPU 资源管理

GPU 和特定的 CPU 通常不会作为 Docker 容器的独立资源。 BlueData EPIC 软件平台通过在所有主机上管理 GPU 的共享池并在群集创建期间将 GPU 所请求的数量分配给群集来处理此问题。这种排他性(或隔离性)保证了对深度学习作业的服务质量,并防止多个处理作业尝试同时访问同一资源。

对于今天的大多数企业来说, GPU 是一种需要有效利用的高端资源。当一个集群没有在使用或完成一项作业时, BlueData EPIC 软件平台可以停止该集群使用并将 GPU 分配给其他正在使用的集群。 这允许用户在不同的租户环境中创建多个集群,并且仅仅在集群需要时才使用 GPU ,而不需要删除或重新创建群集群。还有一种机制,即在作业期间创建一个群集作为暂时性集群。

提高用户生产力

一旦 TensorFlow 集群创建完成,用户可以使用 AD / LDAP 控制的 SSH 启用容器并保护 Jupyter Notebook

为了进行验证和测试, TensorFlow 集群默认包含 Jupyter Notebook ,用例如下图所示。

上图来自于 GitHub 回购 。这些源码和教程可供用户使用,并可以立即投入应用中去。

BlueData EPIC 软件平台上使用 TensorFlow 库和图表绘制的 MNIST 数据集的输入数字图像的重建示例如下图所示。

根据输入图像和模型(使用 TensorFlow GradientDescentOptimizer 训练)提取数据集和模型预测如下图所示:

对输入图像和输出预测结果的对比如下图所示:

对运行的 TensorFlow 集群更新

随着新的库和软件包不断被推出,数据科学团队的需求也在不断的变化,因此 BlueData EPIC 软件平台提供了一种称为“操作脚本”的机制,该机制允许用户使用新的库和软件包对正在运行集群的所有节点进行更新。在长时间运行的交互或批处理作业中,用户还可以使用基于 Web UI RESTful API Python 作业提交。

以上为译文。

本文由北邮 @爱可可-爱生活 老师推荐, 阿里云云栖社区 组织翻译。

文章原标题《 Deep Learning With TensorFlow, GPUs, and Docker Containers 》,译者: Mags,审校:袁虎。

文章为简译,更为详细的内容,请查看 原文

金玉良缘易配而木石前盟难得|M1 Mac os(Apple Silicon)天生一对Python3开发环境搭建(集成深度学习框架Tensorflow/Pytorch)
笔者投入M1的怀抱已经有一段时间了,俗话说得好,但闻新人笑,不见旧人哭,Intel mac早已被束之高阁,而M1 mac已经不能用真香来形容了,简直就是“香透满堂金玉彩,扇遮半面桃花开!”,轻抚M1 mac那滑若柔荑的秒控键盘,别说996了,就是007,我们也能安之若素,也可以笑慰平生。好了,日常吹M1的环节结束,正所谓剑虽利,不厉不断,材虽美,不学不高。本次我们尝试在M1 Mac os 中搭建Python3的开发环境。
人工智能不过尔尔,基于Python3深度学习库Keras/TensorFlow打造属于自己的聊天机器人(ChatRobot)
聊天机器人(ChatRobot)的概念我们并不陌生,也许你曾经在百无聊赖之下和Siri打情骂俏过,亦或是闲暇之余与小爱同学谈笑风生,无论如何,我们都得承认,人工智能已经深入了我们的生活。目前市面上提供三方api的机器人不胜枚举:微软小冰、图灵机器人、腾讯闲聊、青云客机器人等等,只要我们想,就随时可以在app端或者web应用上进行接入。但是,这些应用的底层到底如何实现的?在没有网络接入的情况下,我们能不能像美剧[《西部世界》(Westworld)](https://movie.douban.com/subject/2338055/)里面描绘的那样,机器人只需要存储在本地的“心智球”就可以和人类沟
史上最全深度学习环境配置教程---适用于各种深度学习框架---Pytorh TensorFlow Keras-等和各种python环境(三)
史上最全深度学习环境配置教程---适用于各种深度学习框架---Pytorh TensorFlow Keras-等和各种python环境(三)