谁说一定要开发帮你上线模型,你也可以

​    就业压力就像大家看到的,越来越难,那边降薪,那边裁员,你有幸保住工作,那也意味着之前10个人的部门干的活,现在可能是5个人在做,作为野生的数据挖掘工程师的必备技能,就是够野生,今天就给大家分享野生的另一技能。

   其实大部分公司,稍微业务成型都有模型后台的,可以配置各种模型,那万一你去了一家没有模型后台的公司,暂时没有开发帮你开发后台,那怎么办,那你可以自己把你的模型封装了api呀,那样子,你自己就撑起了一个模型部门了,当然这是说笑啦~~后台开发的兄弟,爱你们哦,谢谢你们之前帮我上线模型(我的求生欲望呀!!!!)

那今天这篇文章的核心,就是如果把你各种模型封装了api,供公司内部的调用,不过因为我写这个的时候,我还没有买一个阿里云服务器,所以我是在本地做测试,你们后续把api放在服务器上的话,那么你们公司前端就可以调用你的api 了,你要是不知道怎么改,开发的兄弟这点还是会帮你的。

 今天的内容,感谢这个链接的作者:https://zhuanlan.zhihu.com/p/50290226,这个例子中,作者是用了逻辑回归的模型包装成api做了一个简单的例子,但是我想啊,我现在也不想弄我的逻辑回归,我想把我上次做的那个文本模型包装了api呀,这样子我就把这个知识真的转成我的自己的技能了。

 


大家可以照着这个例子,先走一遍,简单的逻辑回归的API部署,这个相对简单,不涉及数据预处理,以及数据编码的部分,但是就算要数据预处理以及编码,也是不难的,文章的后半部分是我写的一个我自己用的一个例子,就适用平时工作的场景,但是我既然全部粘贴过来,那么意味着先走一遍这点hin重要!!!!


     如何在Python中把机器学习模型转成API  公众号:论智 (jqr_AI)

 


     那么接下来就是我表演的时候了~~~

这个是我整个api文件夹的代码,这些代码在之前这篇文章最后的链接都可以下载到的,这是一份白嫖的文本分类代码。相对于原文作者的代码,看着好像复杂了一点,但是不!!,你听到解释,这里你一定要听我解释!!!

  • 1、API文件下的文件都是干嘛的。

注:IPYNB文件是可选的。

   我们看作者原文的代码中,其实model_columns.pkl这个在作者的代码中,他可能就是一个list,但其实,这就算这份模型中的一个数据转化的,只是相对简单而已,我们现在分解这个文件夹的东西:

    1、api.py:在你的终端(或者cmd 或者Linux跑的东西,切记,这玩意不能在spyder里面执行,你撑死就是用这个在spyder对你模型预测做调试,但是全部代码跑是不能的。)  那么这个代码就是要综合对你url数据的接受、数据的处理、模型的预测、模型预测结果的输出,这几个功能。

    2、model.pkl 和model_columns.pkl是在api中要加载的文件。

    3、model.py跟api.py这个代码执行的时候,其实是没关系的,因为model.py是为了产生model.pkl 和model_columns.pkl文件的代码,所以如果你要你的api简介明了的话,那就是只需要api.py、model.pkl 和model_columns.pkl这三个文件。

   然后现在来看我的文件下的东西,跟原作者其实对应的是一样的,只是在我的API中,数据处理,我没有打包变成pkl,因为我文本的打包相对麻烦,这个文本分词用的是, bert中文分词模型做的词向量,转完词向量我又做了部分的修改,那么为什么至于这么文件,是因为好多个代码是这个import那个,如果你的数据处理,可以整合一个代码,或者变成一个pkl代码,你可以不用跟我这么复杂,python打包成pkl文件,以前我的一个领导干过,至于具体我还要学一下。

  • 2、api中的代码都在干嘛?

那么我自己的的API 代码呢?

    在文本分类的代码的最后,产生single.pkl的时候,是将整个模块都打包,模块里面不仅包括神经网络模型还有数据预处理。值得借鉴哦~~,我们公司之前上线模型,像 xgboost这种模型,一般会另外写一份数据转换代码,为什么是另外写,因为你做模型过程中处理的数据格式是serise,但是实际前端去调你的api的时候,是一个json,如果有处理serise的代码直接怼,肯定是要报错的。

  • 3、关于postman调试会碰到的问题:

   (1)、postman中设置为:

你的api里面也是写12345的话,那你post 那个框里面就填的跟我一样就可以了。下面就跟着我选就可以了。

(2)、提交之后报trace巴拉巴拉的错,检查是不是你输入的  json是不是有单引号了,这个引号都要用双引号。

(3)调试的时候,可以每一步都print一下,那样子print的东西可以打印在执行代码那边,你可以快点定位错误,我刚才说调试的时候,我的数据格式一直报错,找不到原因,也是弄了好久才调完的。

这两个文件夹(原来作者、我的),我上传到百度云了,链接在这:

链接:https://pan.baidu.com/s/1UUlkFjh-P6DjHxgzWXIFgg  密码:e77m

 

 

往期推荐阅读:

这是一份白嫖的文本分类代码

B站上那个不用钱的学习python的资源

github上面那些可以让你快速做模型的代码

多分类利器-保姆级告诉你什么是SoftMax

NLP入门之gensim包入门

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值