# piker **Repository Path**: tool_bricks/piker ## Basic Information - **Project Name**: piker - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-01-20 - **Last Updated**: 2023-02-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 使用流程 - 在项目根目录拉取或下载 [piker](https://gitee.com/tool_bricks/piker) - 目录结构 ``` - piker - params.example.json - setting.example.xlsx - manage.py 管理入口 - params.py 供外部使用 - compoments piker组件 - 你的其他文件 ``` - 在piker目录中 进行准备工作 - 参考 `params.example.json`创建 `params.json`整理当前的配置或参数信息到其中,可以自由添加自定义的需要调整的参数用于你的实验的后续配置。 - **注意**:`piker/config.json`中 `EXCUTE-COMMAND`为执行任务的命令 - 参考 `setting.example.xlsx`创建 `setting.xlsx`为实现的参数变更的具体情况 - **注意** 不要随意修改表头 - base_cfg_file:基础参数配置文件,参数生成在此基础上进行 默认为上一步创建的 `params.json` - amend_cfg:追加到参数上的 生成name参数文件,如果与基础参数冲突的,将覆盖掉基础参数,格式是json格式 - save_dir 生成的参数存放在什么地方 - name 生成的参数文件 - state 是否跳过不生成 - info 自定义备注 - 完成配置后在piker外执行 `python piker/manage.py -f gen`生成实验文件 - 满足piker的依赖 与 查看当前配置信息 - `python piker/manage -f info` - 将原来程序中的参数通过加载参数替换掉 - 获取使用参数 ``` from piker.params import Params p1_2 = Params['key-1']['key-2'] p3 = Params['key-3'] ``` - 测试参数替换后的piker执行任务是否成功 - `python piker/manage.py -f test` - 失败请调试检查参数 - 执行自动运行 `python piker/manage.py -f run` ### 开发日志 - 设计setting.xlsx实验配置文档 - 开发gen_group_config.py - 开发exp_test.py 测试程序 - 开发run_tools.py 运行工具,实验前后的辅助 - 开发exp_run.py,守护整个实验的过程 一些功能可以聚合,当前仅作调参批量执行工具 ### 守护关系 - 在exp_dir文件夹内 - 存在 配置了全局的信息 - 存在 依赖 - 一些辅助的工具函数 - 一些辅助的功能 - 存在 依赖 - 检测切换conda环境 - 执行实验程序 - 检测是否执行成功 - 成功清理不重要文件,保留重要产出 - 失败保留所有文件 ### 执行主体流程 1. 文件准备 1. 基础程序文件 2. 配置文件 3. 辅助文件 2. 启动 1. 环境检测 2. 执行实验程序 3. 检测成功执行 1. 执行整理 2. 执行清理 3. 执行清理现场 ### config #### CLEAR 清理 执行顺序为move,keep,remove,先执行move移动文件,再执行keep记录保留文件,再执行remove移除除keep以外的文件;模式匹配使用正则,对相对路径进行匹配 TODO:临时实现 只执行cmds - cmds 清理命令 - move:[[原模式,新位置],...] - keep:[保留模式,...] - remove:[移除模式,...] ## TODO - 添加当前python常量配置转 json