基于依赖图的自动调整
autodepgraph的Python项目详细描述
自动深度图
autodepgraph是一个使用依赖关系图来校准系统的框架。它深受"Physical qubit calibration on a directed acyclic graph"的启发。
概述
autodepgraph由两个主要类组成:calibrationnode和graph。 校准是通过调用要执行的节点来完成的,该节点包含满足其所依赖的节点(父节点)所需的逻辑。
校准节点包含:
参数
- 国家
- 良好(绿色):检查通过
- 需要校准(黄色):校准不再是最新的,需要更新
- 坏(红色):校准或检查失败
- 未知(灰色):应运行对节点的检查
- 活动(蓝色):正在进行校准或检查
- 父节点:它所依赖的节点
- 子节点:依赖于此节点的节点
- check_function:调用check时要执行的函数的名称。这可能是另一种工具的方法。
- calibrate_function:调用calibrate时要执行的函数的名称。这可能是另一种工具的方法。
- 校准超时:校准超时的时间。
- 国家
功能
- 执行或调用
- 执行节点逻辑(检查状态,满足要求),目标是移动到“良好”状态
- 支票
- 执行检查以确定和确定节点的状态
- 校准
- 执行节点的校准例程
- 执行或调用
图是节点的容器,用于:
- 可以通过实例化一个图,然后使用add_node方法定义新节点来创建新的图。
- 加载和保存图形
- 利用pyqtgraph实现实时可视化
- 节点的状态决定了节点的颜色
- 如果一个节点没有定义校准功能,则它是一个手动节点,并以六角形而不是圆形作为符号
- 鼠标悬停信息列出更多属性(计划中)
示例
有关介绍性示例,请参阅示例笔记本。如果要查看如何使用特定函数,请参阅autodepgraph/tests文件夹中的测试。
安装
- 克隆存储库
- 安装requirements
- 导航到存储库并运行
pip install -e .
- 通过运行
py.test
n.b.Windows可能有“问题”
在windows上安装有点困难,这主要与pygraphviz的安装有关。要在windows上安装graphviz和pygraphviz,请执行以下步骤:
- 获取64位版本的,将其复制到程序文件中,并将bin文件夹添加到系统路径。
- 64位版本缺少libxml2.dll,您很可能是从其他程序获得的。您可以通过在“程序文件”文件夹中搜索
libxml2.dll
来找到它。然后复制粘贴到graphviz的bin文件夹。 - 通过从github下载master来获取pygraphviz。
- 现在您需要根据https://github.com/Kagami/pygraphviz/tree/py3-windows-iobase处的更改编辑pygraphviz/graphviz.i和pygraphviz/graphviz_wrap.c。可以在“安装”文件夹中找到参考资料
- 下一次安装时使用
python setup.py install --include-path="C:\Program Files\graphviz-2.38_x64\include" --library-path="C:\Program Files\graphviz-2.38_x64\lib"
- 然后安装autodepgraph并使用
py.test
测试安装
致谢
我要感谢朱利安凯利的想法,使用依赖关系图进行校准和早期的讨论。我要感谢Joe Weston的讨论和对初步设计的帮助。我想感谢livio ciorciaro的讨论和作为这个项目的合著者。