美文网首页
用代码手动加载TuriCreate的机器学习模型

用代码手动加载TuriCreate的机器学习模型

作者: 王渊鸥 | 来源:发表于2018-04-25 08:23 被阅读0次

    最近一直在玩机器学习在金融量化交易的应用, 尝试性的写了一个产品, 主体逻辑代码是用Python写的, 其中有一部分是是使用XCode写的命令行工具, 用来调用机器学习模型输出结果, 与Python的主体程序进行沟通. XCode自身有一个功能, 直接可以打开mlmodel文件, 直接加载到XCode中即可. 但是, 我的逻辑设计是每个独立股票各自独立的机器学习模型, 几千个模型都导入到XCode自然不方便, 于是便使用代码手动加载模型. 

    原本这是一个比较简单的过程, 也没有什么好写的. 但是, 一个朋友说起自己要做人工智能部分的东西, 他搞了几十个模型, 是手动一个个拉到XCode进行处理, 我告诉了他其实可以手动通过代码编译模型, 再在代码中加载的. 虽然是个很小的功能, 但想到这个东西可能对其他人也有帮助, 就随便写一个简单的例子来说一下. 

    主要的代码部分就是上述这么简单, 基本的流程有5步:

    1. 获取模型文件的所在目录URL, 注意, 这个URL必须是本地的文件URL, 如果想考虑支持在线模型, 可以考虑搞一个下载功能. 

    2. 编译模型, .mlmodel文件会被编译成.mlmodelc文件夹, 放到一个临时文件区, 然后输出编译好的.mlmodelc目录URL. 

    3. 使用编译后的.mlmodelc生成模型. 

    4. 生成一个参数准备器. 

    5. 使用生成后的参数准备器放到模型中进行计算, 得到具体的结果. 

    没错, 就这么简单. 

    再额外提一点, 临时文件区是有存量限制的, 单个进程只能在临时文件区生成999个临时文件, 如果有超过1000个以上的模型要处理, 必须考虑手动移动编译好的.mlmodelc文件. 否则, 编译.mlmodel的过程会失败, 而且, 失败的错误莫名其妙, 我当时在这点上搞砸了, 研究了好久, 才发现bug所在. 

    相关文章

      网友评论

          本文标题:用代码手动加载TuriCreate的机器学习模型

          本文链接:https://www.haomeiwen.com/subject/svhelftx.html