Group使用指南
Group的基本操作
创建Group
Group 创建方法有两种:
A:在“算子图”区域的黑色背景中鼠标右键单击,选中菜单中的在这里创建新 Group
,创建后的效果如下图。Group
创建完成后就可以在内部添加算子。另外,也可以在一个已有的 Group 中,鼠标右键单击弹出菜单,创建新的 Group 。
B:鼠标单击选中某个算子(长按 ctrl 可以单击选中多个算子
),然后单击算子图区域左侧工具栏的 Group 选中算子
,之后会自动将选中的算子放入新创建的
Group 中。
重命名Group
方法一:选中 Group ,直接按键盘 F2 按钮弹出重新命名算子
窗口。点击OK
确定,点击Cancel
取消。
方法二:选中 Group ,右键 Group 空白处,弹出菜单中选择重新命名算子
。
方法三:选中 Group,在属性面板->双击算子名称
,重命名,回车确认。
拆散Group
步骤一:鼠标单击选中某个需要拆散的 Group,再单击算子图区域中左侧工具栏的 UnGroup 选中算子
。
步骤二:拆散后算子算子图如下。
删除Group
选中 Group ,然后按键盘 Del 键或者鼠标右击,在菜单中选择删除算子
。弹出删除
窗口,点击Yes
确认操作,点击Cancel
取消操作。
锁定Group
在属性面板中勾选 Group 的是否锁定
属性为是
后,双击无法展开 Group。该功能可以防止意外展开
Group 后的误操作。
锁定/解锁方法:
方法一:右击Group,弹出菜单栏中选择锁定/解锁
。
方法二:
锁定:属性面板中将是否锁定
勾选为是
。
解锁:属性面板中将是否锁定
取消勾选为否
。
Group 导出和导入
导出是指将某个 Group 作为一个模块导出成 * .group.xml ,之后可以在其他的 xml 程序中导入该 *.group.xml 文件对该 Group 进行复用。既可以在算子图背景中导入该 Group ,也可以在另一个 Group 内部导入该 Group 。
操作步骤:
导入方法一:右击算子图或 Group 空白处,弹出菜单栏,选择在此导入Group XML
,弹出文件夹,选择对应的
*.group.xml 文件即可。
导入方法二:快速导入Group ,可以直接从外部文件夹中直接拖拽 Group 文件至算子图。
导入方法三:在 runtime
目录下创建一个名为 group_xml
的文件夹,将 Group 导出至该文件夹中。导入后,Group XML 模板群组将以灰色图标显示,可直接拖拽使用。
导出:选择 Group 后,弹出菜单栏,选择“导出 Group XML”。在弹出的“导出 Group XML”窗口中,选择路径并重新命名该 Group。点击“Ok”确认操作,点击“Cancel”取消操作。确认操作后,该 Group.xml 文件将保存在指定目录下。
查看Group参数
在使用参数面板前首先需要将 Group 内部至少一个算子的至少一个参数(比如参数 Trigger)曝光,之后选中该 Group
,单击鼠标右击弹出菜单,选中Group 参数面板
即可弹出面板对话框,如下图所示。
将参数 a 对应的 “是否输出” 栏 勾选
,(同时可以在参数 Trigger 对应的Group 参数名称
中更改该参数的名称),即可将参数 Trigger 暴露成 Group 的组参数。此时单击上图右下角的更新
按钮并关闭,再次选中该 Group
,即可在属性栏中看到刚才设定的组参数 。利用这种方法,可以更方便的对 Group 内的算子参数进行修改调整。
Group端口的基本操作
添加Group端口
常规 Group 有两类端口区域,上方两侧的 IO 端口区域(包括 start 、finished 和 failed 端口),以及下方两侧的镜像端口区域(包括 MirrorInput 以及 MirrorOutput )。
在 IO 端口区域中添加端口:直接从 Group 任一内部算子的任一端口处,鼠标左键拖出一根线并移动到 IO 端口区域释放鼠标,即可自动创建一个端口,每个端口都有内外两端。
将算子的数据信号或者控制信号连接至 Group 端口,则 Group 端口自动添加同名端口。Group 连接如下。
连接Group端口
IO 端口区域连线规则:同普通的 node 连线规则一致,特殊之处在于 Group 的 IO 端口必须将内外两端全部连接才有意义。
镜像端口区域的功能与连线方法:Group 内部的算子按照控制信号流的先后顺序排列,如果需要将后续算子 B 的某个输出端口连接到前面算子 A 的某个输入端口,直接连线会提示连线报错。
此时可以通过 Group 组的两个镜像端口实现:即先将 B 的输出端口连接到右下角的 MirrorOutput 区,连接完成后左下角的 MirrorInput 区会自动出现同名的端口,再将该端口连接到 A 算子的输入端口。
如下图所示,Group 的作用是遍历目录中的所有文件夹名称,将 EmitString 算子的 finish 端口连接至MirrorOutput 区,将 MirrorInput 区 finish 端口连接至start,可实现自动遍历的效果。
删除Group端口
选择要删除的端口,右击弹出菜单栏,选择删除端口
,即删除完成。
注意:两个已有的 finished 端口和 failed 端口 无法删除。
重命名Group端口
步骤一:选择要重命名的端口,右击弹出菜单栏,选择重命名端口
,弹出重命名端口
窗口。
步骤二:输入新名称,点击OK
确认操作,点击Cancel
取消操作。
Group的折叠、展开与排版
Group 创建成功后默认是展开状态,此时可以通过鼠标双击 Group 来切换成折叠形态(如下图所示),隐藏内部细节,再次双击即可切换成展开状态。折叠形态配合参数面板,在效果上 Group 可被视作普通算子,大大提升整体界面的简洁度与可读性。
运行Group
若 input 端口有连接,可以在 Group 外部触发运行。若input 端口没有连接,可以在 Group 内连接 Trigger 算子,触发 Trigger 运行Group。