当前位置: 首页 > news >正文

【Pm4py第七讲】关于visualization

本节用于介绍pm4py中的可视化函数,包括可视化bpmn、petri、性能图谱、变迁系统等。

1.函数概述

 本次主要介绍Pm4py中一些常见的可视化函数,总览如下表:

函数名说明
view_alignments(log, aligned_traces[, format])可视化对齐方法

view_bpmn(bpmn_graph[, format, bgcolor, rankdir])

查看BPMN图
view_case_duration_graph(log[, format, ...])可视化案例持续时间图
view_dfg(dfg, start_activities, end_activities)查看(复合)DFG
view_dotted_chart(log[, format, attributes, ...])显示虚线图表
view_events_distribution_graph(log[, ...])显示指定维度中事件的分布
view_events_per_time_graph(log[, format, ...])可视化每个时间的事件图
view_footprints(footprints[, format])可视化足迹矩阵
view_heuristics_net(heu_net[, format, bgcolor])查看启发式网络
view_network_analysis(network_analysis[, ...])可视化网络分析
view_object_graph(ocel, graph[, format, ...])在屏幕上可视化对象图形
view_ocdfg(ocdfg[, annotation, act_metric, ...])使用所提供的配置查看OC-DFG(以对象为中心的直接跟随图)。
view_ocpn(ocpn[, format, bgcolor, rankdir])在屏幕上可视化以对象为中心的Petri网
view_performance_dfg(dfg, start_activities, ...)查看性能DFG
view_performance_spectrum(log, activities[, ...])显示性能频谱
view_petri_net(petri_net[, initial_marking, ...])查看(复合) Petri网
view_prefix_tree(trie[, format, bgcolor])查看前缀树
view_process_tree(tree[, format, bgcolor, ...])查看流程树
view_sna(sna_metric[, variant_str])表示SNA度量(html)
view_transition_system(transition_system[, ...])查看变迁系统

       此外,还有保存可视化图形的方法,这里只需要将view_XXX()改为save_vis_XXX()方法即可,例如,可视化方法view_bpmn()改为可保存的可视化方法为save_vis_bpmn().

2.函数方法介绍

2.1 可视化Petri网

pm4py.vis.view_petri_net(petri_net: PetriNet, initial_marking: Marking | None = None, final_marking: Marking | None = None, format: str = 'png', bgcolor: str = 'white', decorations: Dict[Any, Any] | None = None, debug: bool = False, rankdir: str = 'LR')
说明:可视化Petri网

输入参数:

      petri_net(PetriNet)–petri网
      initial_marking–初始标记
      final_marking–最终标记
      format(str)–输出图片的格式(如果提供了html,则使用GraphvizJS在html页面中呈 现可视化效果)
      bgcolor(str)–可视化的背景色(默认值:白色)
装饰–与Petri网元素相关的装饰(颜色、标签)
     debug(bool)–启用/禁用调试模式的布尔值(显示位置和转换的名称)
     rankdir(str)–设置图形的方向(“LR”表示从左到右;“TB”表示从上到下)

示例代码:

import pm4pynet, im, fm = pm4py.discover_petri_net_inductive(dataframe, activity_key='concept:name', case_id_key='case:concept:name', timestamp_key='time:timestamp')
pm4py.view_petri_net(net, im, fm, format='svg')

2.2 可视化性能DFG

pm4py.vis.view_performance_dfg(dfg: dict, start_activities: dict, end_activities: dict, format: str = 'png', aggregation_measure='mean', bgcolor: str = 'white', rankdir: str = 'TB')
说明:可视化性能DFG

输入参数

      dfg(dict)–dfg对象
      start_activities(dict)–启动活动
      end_activities(dict)–结束活动
      format(str)–输出图片的格式(如果提供了html,则使用GraphvizJS在html页面中呈现可视化效果)
      aggregation_measure(str)–聚合度量值(默认值:均值):均值、中值、最小值、最大值、总和、标准差
      bgcolor(str)–可视化的背景色(默认值:白色)
      rankdir(str)–设置图形的方向(“LR”表示从左到右;“TB”表示从上到下)

示例代码:

import pm4pyperformance_dfg, start_activities, end_activities = pm4py.discover_performance_dfg(dataframe, case_id_key='case:concept:name', activity_key='concept:name', timestamp_key='time:timestamp')
pm4py.view_performance_dfg(performance_dfg, start_activities, end_activities, format='svg')

2.3 可视化DFG

pm4py.vis.view_dfg(dfg: dict, start_activities: dict, end_activities: dict, format: str = 'png', bgcolor: str = 'white', max_num_edges: int = 9223372036854775807, rankdir: str = 'TB')
说明:可视化DFG

输入参数
    dfg(dict)–dfg对象
    start_activities(dict)–启动活动
    end_activities(dict)–结束活动
    format(str)–输出图片的格式(如果提供了html,则使用GraphvizJS在html页面中呈现可视化效果)
    bgcolor(str)–可视化的背景色(默认值:白色)
    max_num_edges(int)–要在图中表示的最大边数
    rankdir(str)–设置图形的方向(“LR”表示从左到右;“TB”表示从上到下)

示例代码:

import pm4pydfg, start_activities, end_activities = pm4py.discover_dfg(dataframe, case_id_key='case:concept:name', activity_key='concept:name', timestamp_key='time:timestamp')
pm4py.view_dfg(dfg, start_activities, end_activities, format='svg')

2.4 可视化流程树

pm4py.vis.view_process_tree(tree: ProcessTree, format: str = 'png', bgcolor: str = 'white', rankdir: str = 'TB')
说明:可视化流程树

输入参数

      tree(ProcessTree)–流程树
      format(str)–可视化的格式(如果提供了html,则使用GraphvizJS在html页面中呈现可视化)
      bgcolor(str)–可视化的背景色(默认值:白色)
      rankdir(str)–设置图形的方向(“LR”表示从左到右;“TB”表示从上到下)

示例代码:

import pm4pyprocess_tree = pm4py.discover_process_tree_inductive(dataframe, activity_key='concept:name', case_id_key='case:concept:name', timestamp_key='time:timestamp')
pm4py.view_process_tree(process_tree, format='svg')

2.5 可视化BPMN

pm4py.vis.view_bpmn(bpmn_graph: BPMN, format: str = 'png', bgcolor: str = 'white', rankdir: str = 'LR')
说明:可视化BPMN

输入参数

    bpmn_graph(bpmn)–bpmn图
    format(str)–可视化的格式(如果提供了html,则使用GraphvizJS在html页面中呈现可视化)
    bgcolor(str)–可视化的背景色(默认值:白色)
    rankdir(str)–设置图形的方向(“LR”表示从左到右;“TB”表示从上到下)

示例代码:

import pm4pybpmn_graph = pm4py.discover_bpmn_inductive(dataframe, activity_key='concept:name', case_id_key='case:concept:name', timestamp_key='time:timestamp')
pm4py.view_bpmn(bpmn_graph)

2.6 可视化启发式网

pm4py.vis.view_heuristics_net(heu_net: HeuristicsNet, format: str = 'png', bgcolor: str = 'white')
说明:可视化启发式网

输入参数

      heu_net(启发式网络)–启发式网络
      format(str)–可视化的格式
      bgcolor(str)–可视化的背景色(默认值:白色)

 示例代码:

import pm4pyheu_net = pm4py.discover_heuristics_net(dataframe, activity_key='concept:name', case_id_key='case:concept:name', timestamp_key='time:timestamp')
pm4py.view_heuristics_net(heu_net, format='svg')

2.7 可视化点图

pm4py.vis.view_dotted_chart(log: EventLog | DataFrame, format: str = 'png', attributes=None, bgcolor: str = 'white', show_legend: bool = True)

说明:可视化点图。虚线是事件日志中不同维度的事件的经典可视化。事件日志中的每个事件都对应于一个点。尺寸投影在具有:-X轴的图形上:第一个尺寸的值在那里表示Y轴:第二个维度的值在那里表示。-颜色:对于虚线图的点,第三维度的值表示为不同的颜色。
这些值可以是字符串、数字或日期值,并由虚线进行相应的管理。虚线图表可以建立在不同的属性上。点图的一个方便选择是可视化案例和事件在一段时间内的分布,有以下选择:-XX:事件的时间戳。-Y轴:事件日志中事例的索引。-颜色:事件的活动。
上述选择允许识别视觉模式,例如:-批次。-箱子到达率的变化。-案例完成率的变化。

输入参数:

      log–事件日志
     format(str)–图像格式
     attributes–应该用于构造点图的属性。如果“无”,将显示默认的虚线图:x轴:时间y轴:事例(按事件日志中的发生顺序)颜色:活动。对于自定义属性,使用形式为[x轴属性、y轴属性、颜色属性]的属性列表,例如[“concept:name”、“org:resource”、“concept:name”])
     bgcolor(str)–虚线图中使用的背景色
     show_legend(bool)–boolean(启用/禁用显示图例)

 示例代码:

import pm4pypm4py.view_dotted_chart(dataframe, format='svg')
pm4py.view_dotted_chart(dataframe, attributes=['time:timestamp', 'concept:name', 'org:resource'])

2.8 表示SNA度量

pm4py.vis.view_sna(sna_metric: SNA, variant_str: str | None = None)

说明:表示SNA度量(.html)

输入参数:

    sna_metric(sna)–度量值
    variant_str–要使用的变量(默认值:pyvis)
​​​​​​​

示例代码:

import pm4pymetric = pm4py.discover_subcontracting_network(dataframe, resource_key='org:resource', timestamp_key='time:timestamp', case_id_key='case:concept:name')
pm4py.view_sna(metric)

 2.9 可视化案例持续时间图

pm4py.vis.view_case_duration_graph(log: EventLog | DataFrame, format: str = 'png', activity_key='concept:name', timestamp_key='time:timestamp', case_id_key='case:concept:name')

说明:可视化案例持续时间图

输入参数:

   log–log对象
   format(str)–可视化的格式(png、svg…)
   activity_key(str)–要用作活动的属性
   case_id_key(str)–要用作案例标识符的属性
   timestamp_key(str)–要用作时间戳的属性

示例代码:

import pm4pypm4py.view_case_duration_graph(dataframe, format='svg', activity_key='concept:name', case_id_key='case:concept:name', timestamp_key='time:timestamp')

2.10 可视化每个时间的事件图

pm4py.vis.view_events_per_time_graph(log: EventLog | DataFrame, format: str = 'png', activity_key='concept:name', timestamp_key='time:timestamp', case_id_key='case:concept:name')

说明:可视化每个时间的事件图。

输入参数:    

      log–log对象
      format(str)–可视化的格式(png、svg…)
      activity_key(str)–要用作活动的属性
      case_id_key(str)–要用作案例标识符的属性
     timestamp_key(str)–要用作时间戳的属性

示例代码

import pm4pypm4py.view_events_per_time_graph(dataframe, format='svg', activity_key='concept:name', case_id_key='case:concept:name', timestamp_key='time:timestamp')

2.11 性能图谱

pm4py.vis.view_performance_spectrum(log: EventLog | DataFrame, activities: List[str], format: str = 'png', activity_key: str = 'concept:name', timestamp_key: str = 'time:timestamp', case_id_key: str = 'case:concept:name', bgcolor: str = 'white')

说明:显示性能谱。性能谱是流程执行中不同活动之间经过的时间的流程性能的一种新颖可视化。性能谱最初描述于:

Denisov, Vadim, et al. “The Performance Spectrum Miner: Visual Analytics for Fine-Grained Performance Analysis of Processes.” BPM (Dissertation/Demos/Industry). 2018.

输入参数:    

      perf_spectrum–性能谱
      format(str)–可视化的格式(png、svg…)
      activity_key(str)–要用于活动的属性
      timestamp_key(str)–用于时间戳的属性
      case_id_key(str)–要用作案例标识符的属性
      activity_key–要用作活动的属性
      case_id_key–要用作案例标识符的属性
      timestamp_key–要用作时间戳的属性
      bgcolor(str)–可视化的背景色(默认值:白色)

示例代码:

import pm4pypm4py.view_performance_spectrum(dataframe, ['Act. A', 'Act. C', 'Act. D'], format='svg', activity_key='concept:name', case_id_key='case:concept:name', timestamp_key='time:timestamp')

2.12  显示指定维度中事件的分布

pm4py.vis.view_events_distribution_graph(log: EventLog | DataFrame, distr_type: str = 'days_week', format='png', activity_key='concept:name', timestamp_key='time:timestamp', case_id_key='case:concept:name')

说明:显示指定维度中事件的分布
观察事件随时间的分布,可以推断出有关工作班次、工作日和一年中或多或少繁忙的时期的有用信息

输入参数:    

      log–事件日志
      district_type(str)–分布类型(默认值:days_week):-days_month=>获取事件在一个月的天数(从1到31)中的分布-mounts=>获取事件的月份(从1个月到12个月)中的分配-mounts>>获取事件在事件日志的年份中的分布-hunts=>获得事件在一天的小时中的分布(从0到23)-days_week=>获取事件在一周中的天数(从周一到周日)-weeks=>获取事件在全年中的周中的分布(从0至52)
      format(str)–可视化的格式(默认值:png)
      activity_key(str)–要用作活动的属性
      case_id_key(str)–要用作案例标识符的属性
      timestamp_key(str)–要用作时间戳的属性

示例代码:

import pm4pypm4py.view_events_distribution_graph(dataframe, format='svg', distr_type='days_week', activity_key='concept:name', case_id_key='case:concept:name', timestamp_key='time:timestamp')

2.13 查看OC-DFG

pm4py.vis.view_ocdfg(ocdfg: Dict[str, Any], annotation: str = 'frequency', act_metric: str = 'events', edge_metric='event_couples', act_threshold: int = 0, edge_threshold: int = 0, performance_aggregation: str = 'mean', format: str = 'png', bgcolor: str = 'white', rankdir: str = 'LR')[source]

说明:使用提供的配置查看OC-DFG(以对象为中心的直接跟随图形)。
以对象为中心的直接跟随多重图是单个对象类型的直接跟随图的组合,考虑到以对象为核心的事件日志的实体(即事件、唯一对象、总对象),可以用不同的度量对其进行注释。

输入参数:    

      ocdfg–以对象为中心的直接跟随图
      annotation(str)–用于可视化的注释。值:-“频率”:频率注释-“性能”:性能注释
      act_metric(str)–用于活动的度量。可用值:-“events”=>事件数(默认值)-“unique_objects”=>唯一对象数-“total_objects“=>总对象数
edge_metric(str)–用于边的度量。可用值:-“event_couples”=>事件对数(默认)-“unique_objects”=>唯一对象数-“total_objects“=>总对象数
      act_threshold(int)–应用于活动频率的阈值(默认值:0)。只有频率>=的活动才会保留在图中。
      edge_threshold(int)–要应用于边缘频率的阈值(默认为0)。只有频率>=的边才会保留在图形中。
      performance_aggregation(str)–用于性能的聚合度量:平均值、中值、最小值、最大值、总和
      format(str)–输出可视化的格式(如果提供了html,则GraphvizJS用于在html页面中呈现可视化)
      bgcolor(str)–可视化的背景色(默认值:白色)
      rankdir(str)–设置图形的方向(“LR”表示从左到右;“TB”表示从上到下)

示例代码:

import pm4pyocdfg = pm4py.discover_ocdfg(ocel)
pm4py.view_ocdfg(ocdfg, annotation='frequency', format='svg')

2.14 可视化以对象为中心的petri网

pm4py.vis.view_ocpn(ocpn: Dict[str, Any]format: str = 'png'bgcolor: str = 'white'rankdir: str = 'LR')

说明:可视化以对象为中心的petri网。

输入参数:    

      ocpn–以对象为中心的Petri网
     format(str)–可视化的格式(如果提供了html,则使用GraphvizJS在html页面中呈现可视化)
     bgcolor(str)–可视化的背景色(默认值:白色)
      rankdir(str)–设置图形的方向(“LR”表示从左到右;“TB”表示从上到下)

示例代码:

import pm4pyocpn = pm4py.discover_oc_petri_net(ocel)
pm4py.view_ocpn(ocpn, format='svg')

2.15 查看OC-DFG

pm4py.vis.view_object_graph(ocel: OCEL, graph: Set[Tuple[str, str]], format: str = 'png', bgcolor: str = 'white', rankdir: str = 'LR')

说明:可视化对象图。

输入参数:    

      ocel(ocel)–以对象为中心的事件日志
      graph–对象图
      format(str)–可视化的格式(如果提供了html,则使用GraphvizJS在html页面中呈现可视化)
       bgcolor(str)–可视化的背景色(默认值:白色)
      rankdir(str)–设置图形的方向(“LR”表示从左到右;“TB”表示从上到下)

示例代码:

import pm4pyocel = pm4py.read_ocel('trial.ocel')
obj_graph = pm4py.ocel_discover_objects_graph(ocel, graph_type='object_interaction')
pm4py.view_object_graph(ocel, obj_graph, format='svg')

2.16 可视化网络分析

pm4py.vis.view_network_analysis(network_analysis: Dict[Tuple[str, str], Dict[str, Any]], variant: str = 'frequency', format: str = 'png', activity_threshold: int = 1, edge_threshold: int = 1, bgcolor: str = 'white')

说明:可视化网络分析

输入参数:    

      network_analysis–网络分析
      variant(str)–可视化的变体:-频率(如果发现的网络分析包含交互的频率)-性能(如果找到的网络分析包括交互的性能)
      format(str)–可视化的格式(如果提供了html,则使用GraphvizJS在html页面中呈现可视化)
      activity_threshold(int)–要包含的活动的最小出现次数(默认值:1)
      edge_threshold(int)–要包含的边的最小出现次数(默认值:1)
      bgcolor(str)–可视化的背景色(默认值:白色)

示例代码:

import pm4pynet_ana = pm4py.discover_network_analysis(dataframe, out_column='case:concept:name', in_column='case:concept:name', node_column_source='org:resource', node_column_target='org:resource', edge_column='concept:name')
pm4py.view_network_analysis(net_ana, format='svg')

2.17 可视化变迁系统

pm4py.vis.view_transition_system(transition_system: TransitionSystem, format: str = 'png', bgcolor: str = 'white')

说明:可视化变迁系统

输入参数:    

       transition_system(TransitionSystem)–过渡系统
      format(str)–可视化的格式(如果提供了html,则使用GraphvizJS在html页面中呈现可视化)
      bgcolor(str)–可视化的背景色(默认值:白色)

示例代码:

import pm4pytransition_system = pm4py.discover_transition_system(dataframe, activity_key='concept:name', case_id_key='case:concept:name', timestamp_key='time:timestamp')
pm4py.view_transition_system(transition_system, format='svg')

 2.18 可视化前缀树

pm4py.vis.view_prefix_tree(trie: Trieformat: str = 'png'bgcolor: str = 'white')

说明:可视化前缀树

输入参数:    

      prefix_tree–前缀树
     format(str)–可视化的格式(如果提供了html,则使用GraphvizJS在html页面中呈现可视化)
      bgcolor(str)–可视化的背景色(默认值:白色)

示例代码:

import pm4pyprefix_tree = pm4py.discover_prefix_tree(dataframe, activity_key='concept:name', case_id_key='case:concept:name', timestamp_key='time:timestamp')
pm4py.view_prefix_tree(prefix_tree, format='svg')

 2.19 可视化对齐

pm4py.vis.view_alignments(log: EventLog | DataFrame, aligned_traces: List[Dict[str, Any]], format: str = 'png')

说明:可视化对齐

输入参数:    

    log–事件日志
     aligned_traces–对齐的结果
format(str)–可视化的格式(默认值:png)

示例代码:

import pm4pylog = pm4py.read_xes('tests/input_data/running-example.xes')
net, im, fm = pm4py.discover_petri_net_inductive(log)
aligned_traces = pm4py.conformance_diagnostics_alignments(log, net, im, fm)
pm4py.view_alignments(log, aligned_traces, format='svg')

 2.20 可视化足迹矩阵

pm4py.vis.view_footprints(footprints: Tuple[Dict[str, Any], Dict[str, Any]] | Dict[str, Any], format: str = 'png')

说明:可视化足迹矩阵

输入参数:    

     footprints–footprints
     format(str)–
  可视化的格式(默认值:png)

示例代码:

import pm4pylog = pm4py.read_xes('tests/input_data/running-example.xes')
fp_log = pm4py.discover_footprints(log)
pm4py.view_footprints(fp_log, format='svg')

如需了解更多,欢迎加入流程挖掘交流群QQ:671290481.

相关文章:

【Pm4py第七讲】关于visualization

本节用于介绍pm4py中的可视化函数,包括可视化bpmn、petri、性能图谱、变迁系统等。 1.函数概述 本次主要介绍Pm4py中一些常见的可视化函数,总览如下表: 函数名说明view_alignments(log, aligned_traces[, format])可视化对齐方法 view_bpmn(…...

通过 BigQuery 中的 11 个新链增强 Google Cloud 的区块链数据服务

2018 年初,Google Cloud 与社区合作,通过BigQuery 公共数据集实现区块链数据民主化;2019 年,又扩展了六个数据集;今天,我们在 BigQuery 公共数据集中添加了 11 个最受欢迎的区块链预览版。我们也在对该程序…...

C++笔记之文档术语——将可调用对象作为函数参数

C笔记之文档术语——将可调用对象作为函数参数 相关博文:C笔记之函数对象functors与可调用对象 文章目录 C笔记之文档术语——将可调用对象作为函数参数1.在函数参数中传递可调用对象2.‘在参数中传入可调用对象’和‘将可调用对象作为函数参数’哪个描述更加专业…...

【Android知识笔记】FrameWork中的设计模式

一、FrameWork中有哪些设计巧妙之处 例如: Binder调用,模糊进程边界: 屏蔽跨进程IPC通信的细节,让开发者把精力放在业务上面,无需关心进程之间的通信。Bitmap大图传输,高性能: 只传递Binder句柄,到目标进程后做内存映射,不用做大量数据拷贝,速度非常快。Zygote创建进…...

机器学习西瓜书+南瓜书吃瓜教程第三章学习笔记

本次学习为周老师的机器学习西瓜书谢老师南瓜书Datawhale视频 视频地址 下面为本人的学习笔记,最近很忙还没学多少,之后补!!! u1s1,边看视频边自己手推一遍真的清楚很多,强烈推荐自己手推虽然花…...

JUnit5单元测试提示“Not tests were found”错误

JUnit5单元测试提示“Not tests were found”错误,如下图所示: 或者 问题解析: 1)使用Test注解时,不能有返回值; 2)使用Test注解时,不能使用private关键字; 存在以上情…...

C++ -- IO流

目录 C语言的输入与输出 CIO流 C标准IO流 C文件IO流 文件常见的打开方式如下 以二进制的形式操作文件 以文本的形式操作文件 读写结构体 stringstream的简单介绍 C语言的输入与输出 C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 scanf(): 从标准输…...

uniapp:如何修改组件默认样式

日历组件默认样式如下图,但是我不想要右上角的红点,并且日期下面的数字要加红色背景,变成圆形,还是先用元素检查找到元素的类名,然后通过/deep/来覆盖样式,需要注意的是,lang要scss或者less&…...

Lombok @Accessors(chain = true) 导致 FastJson parsObject()对父类属性失效

我们在项目中经常会用到lombok工具对POJO类进行简化,但不可避免的存在父类和子类的设计,并且会对父类和子类进行序列化和反序列化,今天遇到了一个问题,序列化的json字符串转化为子类对象时无法获取到父类属性值,对象中所有父类属性均为空值或默认值,很是奇怪,代码如下: 父类:P…...

Aztec交易架构解析

1. 引言 前序博客有: Aztec的隐私抽象:在尊重EVM合约开发习惯的情况下实现智能合约隐私完全保密的以太坊交易:Aztec网络的隐私架构Aztec.nr:Aztec的隐私智能合约框架——用Noir扩展智能合约功能Account Abstraction账号抽象——…...

商品秒杀系统整理

1、使用redis缓存商品信息 2、互斥锁解决缓存击穿问题,用缓存空值解决缓存穿透问题。 3、CAS乐观锁解决秒杀超卖的问题 4、使用redission实现一人一单。(分布式锁lua)脚本。 5、使用lua脚本进行秒杀资格判断(将库存和用户下单…...

C语言实现八种功能的通讯录(添加、删除、查找、修改、显示、排序、退出、清空)

通讯录功能概要及前提说明 此通讯录利用C语言完成,可以实现八种功能的通讯录(添加、删除、查找、修改、显示、排序、退出、清空) 代码由三部分组成,为什么要写成三部分而不写成一部分可以参考我以前的博客,如下&…...

视频监控/视频汇聚/安防视频监控平台EasyCVR配置集群后有一台显示离线是什么原因?

开源EasyDarwin视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多…...

【RabbitMQ实战】02 生产者和消费者示例

在上一节中,我们使用docker部署了RabbitMQ,这一节我们将写一段生产者和消费者的代码。将用到rabbitmq的原生API来进行生产和发送消息。 一、准备工作 开始前,我们先在RabbitMQ控制台建相好关的数据 本机的RabbitMQ部署机器是192.168.56.201…...

Linux下ThinkPHP5实现定时器任务 - 结合crontab

实例一&#xff1a; 1.在/application/command创建要配置的PHP类文件&#xff0c;需要继承Command类&#xff0c;并重写configure和execute两个方法&#xff0c;例如: <?php namespace app\command; use think\console\Command; use think\console\Input; use think\cons…...

3dsmax模型烘焙光照贴图并导入unity流程详解

目录 前言 软件环境 前置知识储备 一、模型场景搭建 二、模型材质处理 三、vray渲染准备 四、烘焙至贴图 五、unity场景准备 六、贴图与材质 前言 该流程针对某些固定场景&#xff08;模型发布、无法使用实时渲染引擎等&#xff09;情况下的展示&#xff0c;本文记录烘…...

安卓生成公钥和md5签名

安卓公钥和md5证书签名 大家好&#xff0c;最近需要备案app&#xff0c;用到了公钥和md5&#xff0c;MD5签名我倒是知道&#xff0c;然而对于公钥却一下子不知道了&#xff0c; 现在我讲一下我的流程。 首先是md5证书签名的查看&#xff0c; 生成了apk和签名.jks后&…...

pwndbg安装(gdb插件)

pwndbg安装&#xff08;gdb插件&#xff09; 源地址&#xff1a;https://github.com/pwndbg/pwndbg 手动安装 git clone https://github.com/pwndbg/pwndbg cd pwndbg ./setup.sh 没啥问题运行gdb的话就可以看到明显的不同了 如果安装成功了&#xff0c;但没有生效 如果有问…...

SpringBoot 学习(二)配置

2. SpringBoot 配置 2.1 配置文件类型 配置文件用于修改 SpringBoot 的默认配置。 2.1.1 properties 文件 **properties ** 是属性文件后缀。 文件名&#xff1a;application.properties 只能保存键值对。 基础语法&#xff1a;keyvalue namewhy注入配置类 Component //…...

西门子828d授权密钥破解经验分享 I7I54833762

操作数组的方法 Array.prototype.toSorted(compareFn) //返回一个新数组&#xff0c;其中元素按升序排序&#xff0c;而不改变原始数组。 Array.prototype.toReversed() //返回一个新数组&#xff0c;该数组的元素顺序被反转&#xff0c;但不改变原始数组。 Array.prototype.to…...

如何突破教育资源壁垒?智能解析工具让电子课本获取效率提升200%

如何突破教育资源壁垒&#xff1f;智能解析工具让电子课本获取效率提升200% 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具&#xff0c;帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载&#xff0c;让您更方便地获取课本内容。 …...

3步掌握DDrawCompat:轻松解决Windows老游戏兼容性的终极方案

3步掌握DDrawCompat&#xff1a;轻松解决Windows老游戏兼容性的终极方案 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/gh_mirrors/dd/…...

MySQL数据恢复实战:从frm和ibd文件重建完整数据表

1. MySQL数据恢复实战&#xff1a;从frm和ibd文件重建完整数据表 数据库管理员最怕听到的就是"数据丢了"三个字。我经历过好几次半夜被叫起来处理数据丢失的紧急情况&#xff0c;那种头皮发麻的感觉至今难忘。不过别担心&#xff0c;只要.frm和.ibd文件还在&#xff…...

FastAPI CSP:实现配置的终极指南

FastAPI CSP&#xff1a;实现配置的终极指南 【免费下载链接】fastapi FastAPI framework, high performance, easy to learn, fast to code, ready for production 项目地址: https://gitcode.com/GitHub_Trending/fa/fastapi FastAPI是一个高性能、易于学习、快速编码…...

PyTorch 2.8镜像部署案例:跨境电商平台商品图→营销短视频自动生成

PyTorch 2.8镜像部署案例&#xff1a;跨境电商平台商品图→营销短视频自动生成 1. 项目背景与价值 跨境电商平台每天需要为成千上万的商品制作营销短视频&#xff0c;传统方式面临三大痛点&#xff1a; 人力成本高&#xff1a;专业视频制作团队单条视频成本约300-500元生产效…...

终极CPU稳定性测试指南:CoreCycler单核心轮询测试完全教程

终极CPU稳定性测试指南&#xff1a;CoreCycler单核心轮询测试完全教程 【免费下载链接】corecycler Script to test single core stability, e.g. for PBO & Curve Optimizer on AMD Ryzen or overclocking/undervolting on Intel processors 项目地址: https://gitcode.…...

Tencent Hunyuan3D-1.0学术合作机会:腾讯混元团队的研究方向与合作模式

Tencent Hunyuan3D-1.0学术合作机会&#xff1a;腾讯混元团队的研究方向与合作模式 【免费下载链接】Hunyuan3D-1 腾讯开源的Hunyuan3D-1项目&#xff0c;创新提出两阶段3D生成方法&#xff0c;实现快速、高质量的文本到3D和图像到3D转换&#xff0c;融合Hunyuan-DiT模型&#…...

PIPAL数据集实战:如何用Elo评分系统提升图像质量评估的准确性

PIPAL数据集实战&#xff1a;如何用Elo评分系统提升图像质量评估的准确性 在计算机视觉领域&#xff0c;图像质量评估&#xff08;IQA&#xff09;一直是算法研发的关键环节。随着生成对抗网络&#xff08;GAN&#xff09;等技术的突破&#xff0c;传统IQA方法逐渐暴露出局限性…...

N_m3u8DL-CLI-SimpleG:解决M3U8流媒体下载难题的开源解决方案

N_m3u8DL-CLI-SimpleG&#xff1a;解决M3U8流媒体下载难题的开源解决方案 【免费下载链接】N_m3u8DL-CLI-SimpleG N_m3u8DL-CLIs simple GUI 项目地址: https://gitcode.com/gh_mirrors/nm3/N_m3u8DL-CLI-SimpleG M3U8流媒体格式已成为在线视频传输的主流标准&#xff0…...

AI辅助前端设计:让快马平台生成酷炫的滚动视差与3D交互效果代码

AI辅助前端设计&#xff1a;让快马平台生成酷炫的滚动视差与3D交互效果代码 最近在做一个科技公司的产品介绍页&#xff0c;想实现一些炫酷的交互效果来提升用户体验。传统方式需要手动编写大量CSS和JavaScript代码&#xff0c;调试起来也很耗时。不过现在有了AI辅助开发工具&…...