pyruns:把本地 Python 实验和 shell 任务真正整理起来的 Web UI - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lanshiL3C
V2EX    编程

pyruns:把本地 Python 实验和 shell 任务真正整理起来的 Web UI

  •  1
     
  •   lanshiL3C 2 天前 334 次点击

    如果你平时经常要做这些事:

    • 改一组参数,跑一批实验
    • 同时跑多个任务,日志混在一起,最后很难回看
    • 想把每次运行的配置、备注、状态和结果都留住
    • 不想手写一层又一层 bash / shell 循环
    • 不想为了管理本地实验,引入很重的云平台、数据库和账号系统

    那可以看看 pyruns

    它是什么

    pyruns 是一个面向本地 Python 脚本与 shell 工作流的实验管理 Web UI 。

    它的重点不是“接管你的工程”,而是尽量贴着你原来的工作方式走:

    • 继续用你自己的脚本
    • 继续用你自己的终端和 conda 环境
    • 继续在本地运行
    • 把任务、配置、日志、备注和运行历史稳定地落在磁盘工作区里

    它现在能做什么

    • Home 总览 先看系统状态、任务概览、GPU 占用,再决定下一步做什么。

    • 可视化参数编辑 适合快速调整脚本参数,不再来回改文件或拼命令。

    • Form 模式批量任务生成 支持用 |(|)start:stop:step 这类语法展开参数组合。

    • YAML 单任务配置编辑 保留对完整配置文本的掌控感,适合一次生成一个清晰任务。

    • Shell Workspace 把 shell 命令任务也纳入统一的任务系统,而不是散在终端历史里。

    • 任务控制台 支持搜索、筛选、批量运行、批量删除、pin 、详情查看。

    • 实时终端日志 用 xterm 风格页面查看实时输出和历史日志,体验比纯文本框自然很多。

    • CSV 指标导出 通过 pyruns.record() 记录的指标可以按任务勾选导出。

    • 磁盘工作区 每个任务都有自己的 config.yaml / config.sh / run_logs,状态真实可查。

    它比较适合谁

    • 你有 argparse 脚本,想快速加一个本地 UI
    • 你有基于 YAML 的训练脚本,想把配置和历史管理起来
    • 你有很多 shell 命令任务,希望统一纳入任务系统
    • 你想把本地实验流程变清楚,但不想引入太重的基础设施

    项目地址

    安装与启动

    pip install pyruns pyr train.py 

    如果你平时也在做本地训练、实验记录、批量调度、shell 工作流管理,可以试试看。
    如果你有自己的使用场景,也欢迎直接提 issue 或交流建议。

    mcfever
        1
    mcfever  
       1 天前
    本地实验我也更偏这种轻方案,别一上来就上云平台;我后来把远端那部分交给 DartShell ,SSH/串口和传文件放一处,跟 pyruns 这类本地工作流挺搭: https://dartshell.com
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3794 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 20ms UTC 00:15 PVG 08:15 LAX 17:15 JFK 20:15
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86