前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用云函数部署机器学习模型

使用云函数部署机器学习模型

原创
作者头像
haimingli
发布2020-12-22 19:46:03
1.2K0
发布2020-12-22 19:46:03
举报
文章被收录于专栏:腾讯云中间件专家服务

背景

将应用迁移到云能够减少运维成本,Serverless是应用迁移上云的流行方案。机器学习应用依赖多,因此上云比较麻烦。这里给出机器学习迁移上云的案例。

机器学习的工作流程可以分为三个部分:

1.首先对原始数据进行预处理;

2.然后将处理过的数据进行模型训练,会选用不同的参数和算法组合进行多次训练,形成多个备选模型;

3.最后选一个最合适的模型进行部署。

(作者 | 杜万(倚贤) 阿里巴巴技术专家)

其中应用上云只需要修改第3步,架构如下图所示:

其中,模型是已经训练好的数据文件,只需要随函数打包上传即可。然而,函数调用依赖机器学习的库,机器学习的库又依赖大量的库,导致机器学习的库在云函数环境中特别难部署。因此机器学习迁移上云的案例的重点在于依赖怎么部署。

方案

机器学习的主流方案是使用tensorflow,tensorflow基于Python实现,Python没有代码依赖一键打包的机制,因此用户需要手动将依赖部署到云函数的环境。在这里,推荐使用层来部署依赖。

首先对依赖进行分类,即应用依赖和系统依赖这两类。对于应用依赖,可以直接使用pip安装到指定目录,然后将其打包为层。对于系统依赖,则可以把所有库(各种.so文件)放在同一个目录打包。

已绑定层的函数被触发运行,启动并发实例时,将会解压加载函数的运行代码至 /var/user/ 目录下,同时会将层内容解压加载至 /opt 目录下。

若需使用或访问的文件 file,放置在创建层时压缩文件的根目录下。则在解压加载后,可直接通过目录 /opt/file 访问到该文件。若在创建层时,通过文件夹进行压缩 dir/file,则在函数运行时需通过 /opt/dir/file 访问具体文件。

在函数绑定了多个层的情况下,层中文件的解压加载将按照绑定时的顺序进行。将按序号从小到大的顺序进行排序,排序越靠后侧层加载时间也相应靠后,但均会在函数的并发实例启动前完成加载。在函数代码初始化时,就已经可使用层中的文件了。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 方案
相关产品与服务
云函数
云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。您只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。云函数是实时文件处理和数据处理等场景下理想的计算平台。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档