Windows Azure 机器学习与云计算概述

概述

Azure 机器学习是集成式的端到端数据科学和高级分析解决方案。 它可让数据科学家以云的规模准备数据、开发试验和部署模型。 Azure 机器学习的主要组件包括:

  • Azure Machine Learning Workbench
  • Azure 机器学习试验服务
  • Azure 机器学习模型管理服务
  • 用于 Apache Spark 的 Microsoft 机器学习库(MMLSpark 库)
  • 用于 AI 的 Visual Studio Code 工具

这些应用程序和服务相结合,有助于显著加快数据科学项目的开发和部署进度。下图是微软中国官方发布的机器学习概述,

Azure 机器学习试验服务

试验服务处理机器学习试验的执行。 它还通过提供项目管理、Git 集成、访问控制、漫游和共享来支持 Workbench。通过简单的配置,可以跨各种计算环境选项执行试验:

  • 本机环境
  • 本地 Docker 容器
  • 远程 VM 上的 Docker 容器
  • 扩展 Azure 中的 Spark 群集

试验服务构造虚拟环境,确保脚本可在隔离环境中执行并生成可重现的结果。 该服务会记录运行历史记录信息,并直观显示历史记录。 可以从试验运行中轻松选择最佳模型。

Azure 机器学习模型管理服务

模型管理服务可让数据科学家和开发运营团队将预测模型部署到各种环境。 从训练运行到部署,模型版本和沿袭都可受到跟踪。 可在云中存储、注册和管理模型。使用简单的 CLI 命令,可在 Docker 映像中将模型、评分脚本和依赖项容器化。 这些映像会注册到托管在 Azure 上你自己的 Docker 注册表(Azure 容器注册表)中。 可将这些映像可靠部署到以下目标:

  • 本地计算机
  • 本地服务器
  • IoT 边缘设备

Azure 容器服务 (ACS) 中运行的 Kubernetes 用于云中的扩展部署。 在 AppInsights 中捕获模型执行遥测数据,以进行可视分析。

用于 Apache Spark 的 Microsoft 机器学习库

MMLSpark(用于 Apache Spark 的 Microsoft 机器学习库)是针对 Apache Spark 提供深度学习和数据科学工具的开源 Spark 包。 它将 Spark 机器学习管道与 Microsoft 认知工具包和 OpenCV 库相集成。 使用它可为大型映像和文本数据集创建功能强大、高度可缩放的预测模型与分析模型。 部分亮点包括:

  • 轻松将映像从 HDFS 引入 Spark 数据帧
  • 使用 OpenCV 中的转换预处理映像数据
  • 使用预先训练的深度神经网络和 Microsoft 认知工具包将映像特征化
  • 使用 Keras 的预先训练双向 LSTM 进行医疗实体提取
  • 在 Azure 中的 N 系列 GPU VM 上训练基于 DNN 的映像分类模型
  • 通过单个转换器,基于 SparkML 中的基元使用方便的 API 将自由格式文本数据特征化
  • 通过数据的隐式特征化轻松训练分类和回归模型
  • 计算丰富的一组评估指标,包括每个实例的指标

基于Windows Azure下云计算架构模式之Cache-Aside Pattern

在讲解缓存策略模式时,我们先来讲解一下三个重要的概念,Read-throug、Write-Throug和Write-Behind

Read-throug

当应用系统向缓存系统请求数据时(例如使用key=x向缓存请求数据);如果缓存中并没有对应的数据存在(key=x的value不存在),缓存系统将向底层数据源的读取数据。如果数据在缓存中存在(命中key=x),则直接返回缓存中存在的数据。这就是所谓的Read-throug。

Write-Through

当应用系统对缓存中的数据进行更新时(例如调用put方法更新或添加条目),缓存系统会同步更新缓存数据和底层数据源。

Write-Behind

当应用系统对缓存中的数据进行更新时(例如调用put方法更新或添加条目),缓存系统会在指定的时间后向底层数据源更新数据。 不言而喻,采用cache目的很简单:减轻后台服务压力,提高整体应用性能和效率。先看一下AZURE的cache处理过程,

cache是一把双刃剑,优点毋庸置疑,但同样会带来一些值得考虑的问题,如下: 1.缓存数据的生命周期:缓存的过期策略,即当数据一定时间内没有访问时会从缓存中清楚。为了使得缓存高效,就要确保过期策略匹配应用程序访问数据的模式,策略是根据应用动态调整的。缓存只有对相对静止数据或频繁访问的数据才是最高效的。 2.清除数据:缓存和内存一样都有自己的存储空间即存储空间有限的,当你在需要缓存数据时就需要释放部分缓存空间。一般采用LRU(least-recently-used)策略来置换空间,当然你可以通过配置动态调整策略3.初始化缓存:根据自己的业务策略来初始化自己的缓存。 4.一致性:实现Cache-Aside模式并不能保证Cache和数据仓库之间的数据一致性。因为数据仓库中的数据可能在任何的时候都可能由其他程序锁修改,而这个修改不会及时的反映到Cache上,只有在下一次Cache从数据仓库中更新数据的时候才会有解决这个数据不一致的问题。如果数据仓库中数据频繁由非Cahce程序更新的话,这种问题同步问题会变得更加明显。 5.本地缓存:Cache也是可以做到应用本身里面的。Cache-Aside模式在一些应用频繁访问相同的数据的时候尤其有效。

何时使用

1.当Cache不提供原生的Read-Through和Write-Through操作 2.资源的需求是不可预测的时候。Cache-Aside模式令应用可以根据需求来加载数据。对于应用需求什么数据,不需要提前做出假设。

参考文献

[1] Cache-Aside Pattern

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技评论

开发 | 机器学习零基础?手把手教你用TensorFlow搭建图像分类器

AI科技评论按:Pete Warden是TensorFlow移动团队的技术负责人。曾在Jetpac担任首次技术官。Jetpac的深度学习技术经过优化,可在移动和...

3696
来自专栏机器之心

我的深度学习开发环境详解:TensorFlow + Docker + PyCharm等,你的呢(附问卷)

选自Upflow.co 作者:Killian 机器之心编译 参与:Nurhachu Null、李亚洲 在这篇文章中,研究员 Killian 介绍了自己的深度学习...

6266
来自专栏数据小魔方

细分饼图

今天跟大家分享的是一种叫做细分饼图的图表制作技巧! 它所用到的技巧很简单,表达的数据也不很复杂,就是三层数据结构,每一层都是上一层的细分数据。 首先我们还是来看...

3535
来自专栏HBStream流媒体与音视频技术

MP4文件格式的解析,以及MP4文件的分割算法

98612
来自专栏CSDN技术头条

NNabla:索尼开源的一款神经网络框架

NNabla是一款用于研究、开发和生产的深度学习框架。NNabla的目标是要能在台式电脑、HPC集群、嵌入式设备和生产服务器上都能运行。 安装 安装NNabla...

2196
来自专栏Kubernetes

原 荐 TensorFlow on Kube

Author: xidianwangtao@gmail.com 玩容器的老司机都知道Kubernetes这两年非常火,截止目前在github上31K+ s...

4368
来自专栏大数据文摘

手把手 | 哇!用R也可以跑Python了

1003
来自专栏PHP实战技术

手把手教你玩转12306验证码的秘密!

12306相信对很多小伙伴都不陌生,假如问你对这个网站的印象的时候,你不是会立即想起那个坑爹的验证码,而正是这个验证码,也一时间成为小伙伴们讨论的话题,今天思梦...

2648
来自专栏AI研习社

Github 项目推荐 | SpaceX Falcon 9 Box2D 回收降落动作模拟器

这是一款 SpaceX Falcon 9 第一级火箭的垂直火箭着陆模拟器,该模拟器用 Python 3.5 开发并且在 OpenAI Gym 环境中编写。该模拟...

1212
来自专栏知晓程序

晓快讯 | 微信公众号可以改错错错错错字了!

2 月 8 日凌晨,微信公众平台发布公告,称「为了给运营者、读者提供更友好的编辑、阅读体验,公众平台新增修改文章错别字功能」,支持运营者对已群发文章进行小范围修...

1283

扫码关注云+社区