admin 管理员组

文章数量: 1184232

0、前言

深度学习领域,常常用python写代码,而且是建立在一些开源框架之上,如pytorch。在实际的项目部署中,也有用conda环境和python代码去部署服务器,在这个时候,又分为两种情况。

部署方式可分为两种,一种是在线部署,算法服务器归公司所有,只开放API给客户,客户通过POST请求访问算法服务器,上传数据并得到返回结果。这种情况客户当然看不到代码。还有一种是离线部署,就是给客户私有化部署,把公司的代码放到客户的服务器上运行,这种情况下客户能够看到代码。如果是python部署的项目,就需要保护两个东西,一个是模型文件,一个是python源代码。

1、python源代码的保护

由于 Python 的动态特性和开源特点,导致 Python 代码很难做到很好的加密。在实际工程部署中,如果不想让客户看到代码,一般使用C++来部署。

可是自己把代码改成c++也太费劲了,还好python提供了转c++代码的工具cpython,代码转成c++之后,编译成.so(linux)的库文件,就完成了加密效果了。整个过程已经有人写好了响应的工具,如jumy,具体参考:GitHub - Boris-code/jmpy: python 代码加密|加固

使用之前先安装jumy

pip install jmpy3

然后找到找到项目目录,在当前打开终端,并执行下面命令

本文标签: 源码 模型 python pytorch