背景
自己开发了一套AutoML代码,虽然比不上市面上成熟的AutoML,但至少也是集多种祖传操作于一身,且可以直接输出公司需要的报告,但在一些联合建模的场景下,可能存在代码泄露的风险,所以最近在调研如何将代码封装起来
方法一:pyinstaller
step1:新建一个虚拟环境
一定一定要新建一个虚拟环境,由于pyinstaller会自动封装虚拟环境下的包,如果环境中有一些非必须的包,那么封装后的文件会十分的大!
第一次打包后生成的文件有300M,新建环境且仅安装必须的包后,打包生成的文件仅70M。
可用以下代码生成项目使用的requirements.txt,pipreqs仅扫描项目所依赖的包
pip install pipreqs
pipreqs ./
step2:代码改造
AutoML方法有很多入参,如果自动执行,如何读取这些入参呢?我想到用csv作为配置文件
具体做法是在同级目录下放置一个csv文件,里面存着所有入参,然后在主函数中读取这个csv即可
if __name__ == '__main__':
# 打包后的操作,读取config.csv并进行建模
df_params = pd.read_csv('./config.csv',encoding='gbk')
params_list = list(df_params['params'].values)
params_dict =