An easy to start Intelligent Workshop Algorithm Framework
Project description
智能工场算法框架(Intelligent Workshop Algorithm Framework)
欢迎使用用友AI工作坊脚手架,该脚手架提供了本地开发、调试、打包等基本功能,供开发者在本地开发调试。
环境要求
脚手架依赖 Python >= 3.6,使用 pip进行包管理。开发者在本地调试时,需保证安装配置了正确的 Python 环境。
脚手架使用
环境准备
-
安装框架
pip install intelliw -i https://pypi.python.org/simple/ -U
-
初始化算法文件 生成算法文件框架,参数
name
为算法名称,默认值example
, 参数output_path
为生成算法文件的位置,默认当前文件下。intelliw init --name test --output_path=/root/workspace/test/ // 初始化之后生成以下结构 ├── algorithm.py 算法入口文件 ├── algorithm.yaml 算法描述文件 ├── README.md 项目描述文件 ├── debug_controller.py 本地开发测试文件 ├── requirements.txt python 依赖包 └── docs 算法框架使用说明 ├── README.md 框架使用说明 └── instructions.md 算法文件说明
-
说明文档 请参考 使用说明(docs/instructions.md)
- algorithm.py 说明文档 - algorithm.yaml 说明文档
注: 以下功能使用框架包必须指定算法文件位置(--path/-p)
算法导入
intelliw import_alg --path ${algo_path}
模型导入
intelliw import_model --path ${algo_path}
训练
本地训练时,训练数据只支持读取本地的 csv 文件,使用 --csv
参数指定文件路径。训练集与验证集的划分比例使用 --set_ratio
指定,格式 train_set_ratio[:valid_set_ratio[:test_set_ratio]]
,默认是 0.7:0.3:0, 即训练集占 0.7,验证集占 0.3。以读取
/data/export.csv
文件为例,给出训练命令如下:
intelliw train --path ${algo_path} --csv /data/export.csv --set_ratio 0.5
如果算法模型不需要显性划分验证集, 可以使用 --test_size
指定测试数据比例。
*注:--test_size
和 --set_ratio
同时设置的情况下,优先使用 --test_size
。 *
推理
本地推理时,算法框架会启动 HTTP 服务器处理推理请求,监听的端口可以使用
--port
指定,默认是 8888
。以下示例会启动推理服务,并监听 8000
端口。
intelliw infer --port 8000 --path ${algo_path}
推理服务启动后,可以调用推理接口,进行推理。推理接口是一个 POST json
接口,监听路径是 /predict
,用户的请求需要封装在 data
字段中。
以下给出使用 curl
进行请求的示例命令,假设服务监听的是 8000
端口,需要传递的数据是 [1.2, 2, true, "user"]
。
curl -H "Content-Type:application/json" -X POST -d '{"data":[1.2, 2, true, "user"]}' http://localhost:8000/predict
调试
如果需要本地调试,推荐使用 debug_controller.py
,可以方便加断点,具体查看代码中的注释,使用 --job_type
或者 -j
指定调试的任务,默认是 infer
。
python debug_controller.py -j infer_http_server
打包
本地调试无误后,可使用脚本进行打包,生成的算法包/模型包路径可以使用
--output_path
参数指定,若不指定,默认会生成到 target
目录下。
生成算法包:
intelliw package_iwa --path ${algo_path} --output_path xxxx
生成模型包:
intelliw package_iwm --path ${algo_path} --output_path xxxx
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file intelliw-2.1.5rc2-py3-none-any.whl
.
File metadata
- Download URL: intelliw-2.1.5rc2-py3-none-any.whl
- Upload date:
- Size: 242.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 374d3171117c7c43283242227b83c494aa1502f46fd32a3be06e3ffa22fd22f1 |
|
MD5 | 0661292faa4c849b9be71de8535e0c07 |
|
BLAKE2b-256 | 8c3a2b29da92d9a87373e617d2029bba8958bd36d39eb645cdbba8d09e4484d0 |