CN112667227A - 可视化设计流水线的方法及可读存储介质 - Google Patents
可视化设计流水线的方法及可读存储介质 Download PDFInfo
- Publication number
- CN112667227A CN112667227A CN202011612567.6A CN202011612567A CN112667227A CN 112667227 A CN112667227 A CN 112667227A CN 202011612567 A CN202011612567 A CN 202011612567A CN 112667227 A CN112667227 A CN 112667227A
- Authority
- CN
- China
- Prior art keywords
- parameter
- module
- user
- displaying
- area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000003860 storage Methods 0.000 title claims abstract description 19
- 230000004044 response Effects 0.000 claims abstract description 13
- 238000013461 design Methods 0.000 claims abstract description 10
- 238000012545 processing Methods 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 4
- 239000003086 colorant Substances 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 abstract description 7
- 238000011161 development Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 10
- 238000013473 artificial intelligence Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 7
- 238000013135 deep learning Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000012800 visualization Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005481 NMR spectroscopy Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003925 brain function Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明揭露一种供用户可视化设计流水线的方法及计算机可读存储介质,包括:显示模块区及画布区;显示多个模块单元于模块区中,每个模块单元对应一种插件;响应用户选择模块单元的操作,显示数个特定模块于画布区中,数个特定模块选自多个模块单元;以及响应用户建立连接的操作,可视化设定数个特定模块间的输入/输出关系,以形成流水线。本发明提供可视化设计流水线的工具,方便用户编程,降低开发成本。
Description
技术领域
本发明一般地涉及计算机领域。更具体地,本发明涉及可视化设计流水线的方法及可读存储介质。
背景技术
传统通用计算平台上发展出多种不同的编程语言,包括面向特定硬件架构的底层汇编语言(像是x86的汇编语言、ARM汇编语言及RISC-V汇编语言等)、方便用户编程的高级语言(如C/C++、Java及Python等)、以及面向逻辑推理的逻辑式编程语言Prolog,这些编程语言应用在以深度学***台上存在巨大鸿沟以至于不适用。
针对智能计算***,为了解决上述的问题,市场上开始出现专用的编程语言,例如:NVIDIA针对图形处理器(GPU)推出的通用并行计算架构CUDA和寒武纪针对自家芯片MLU推出的数据流处理软件开发工具包(SDK)CNStream语言等。这些编程语言相当专业,需要长时间的学习才能编写复杂的程序代码以控制智能计算芯片,缺少直观的图形化编程模块化的支持。
发明内容
为了至少部分地解决背景技术中提到的技术问题,本发明的方案提供了一种供用户可视化设计流水线的方法及可读存储介质。
在一个方面中,本发明揭露一种供用户可视化设计流水线的方法,包括:显示模块区及画布区;显示多个模块单元于所述模块区中,每个模块单元对应一种插件;响应所述用户选择模块单元的操作,显示数个特定模块于所述画布区中,所述数个特定模块选自所述多个模块单元;以及响应所述用户建立连接的操作,可视化设定所述数个特定模块间的输入/输出关系,以形成所述流水线。
在另一个方面,本发明揭露一种计算机可读存储介质,其上存储有可视化设计流水线的计算机程序代码,当所述计算机程序代码由处理装置运行时,执行前述的方法。
本发明提供一个可视化设计流水线的工具,方便用户编程,降低开发成本。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,并且相同或对应的标号表示相同或对应的部分其中:
图1是示出本发明实施例的板卡的结构图;
图2是示出本发明实施例的集成电路装置的结构图;
图3是示出本发明实施例供用户可视化设计CNStream流水线的流程图;
图4是示出本发明实施例模块区、画布区与参数区的示意图;
图5是示出本发明实施例一种示例性的选择模块单元的示意图;
图6是示出本发明实施例显示特定模块的参数栏于参数区的示意图;
图7是示出本发明实施例显示特定模块的参数值于参数区的示意图;
图8是示出本发明实施例显示错误信息的示意图;以及
图9是示出本发明实施例显示配置文件于参数区中的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,本发明的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本发明的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本发明。如在本发明说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本发明说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。
下面结合附图来详细描述本发明的具体实施方式。
本发明是一种将计算机的编程语言可视化的方案,此处所指的计算机可以是中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)或其他通用和/或专用处理器中的一种或多种类型的处理器。
本发明的一个实施例是应用在人工智能专用处理器。广义来说,人工智能专用处理器是能够运行人工智能算法的处理器,一般特指针对人工智能算法做了特殊加速设计的处理器。当前的人工智能专用处理器按技术架构主要分为以下几类:
1、图形处理器(GPU)。GPU是单指令、多数据处理,采用数量众多的计算单元和超长的流水线,主要处理图像领域的运算加速。GPU是不能单独使用的,它只是处理大数据计算时的能手,必须搭配传统CPU进行调用,下达指令才能工作。
2、现场可编程门阵列处理器(FPGA)。FPGA适用于多指令、单数据流的分析,其拥有硬件流水线并行和数据并行处理能力,适用于以硬件流水线方式处理一条数据,且整数运算性能高,因此常用于深度学习算法中的推理阶段。
3、专用集成电路(ASIC)。ASIC是为实现特定场景应用要求时而定制的专用芯片。虽然无法扩展,但在功耗、可靠性、体积方面都有优势,尤其在高性能、低功耗的移动设备端。谷歌的TPU、寒武纪的MLU、地平线的BPU都属于ASIC芯片。
4、类脑芯片。类脑芯片架构是一款模拟人脑的神经网络模型的新型芯片编程架构,这一***可以模拟人脑功能进行感知方式、行为方式和思维方式。IBM、高通、英特尔的芯片策略都是用硬件来模仿人脑的神经突触。
前述提到的流水线技术是目前广泛应用于各类处理器中的一项关键技术。流水线的工作方式如同工业生产上的装配流水线,在处理器中由多个不同功能的电路单元组成多条流水线,然后将一条指令拆分成多个子指令由这些电路单元分别执行,这样就能实现在同一时间并行处理,因此提高整体的运算速度。
图1示出本公开实施例的一种应用场景-板卡。板卡10包括芯片101,其是一种***级芯片(System on Chip,SoC),或称片上***,集成有一个或多个组合处理装置,组合处理装置是一种人工智能运算单元,用以支持各类深度学***台的存储能力和计算能力有很高的要求,此实施例的板卡10适用在云端智能应用,具有庞大的片外存储、片上存储和强大的计算能力。
芯片101通过对外接口装置102与外部设备103相连接。外部设备103例如是服务器、计算机、摄像头、显示器、鼠标、键盘、网卡或wifi接口等。待处理的数据可以由外部设备103通过对外接口装置102传递至芯片101。芯片101的计算结果可以经由对外接口装置102传送回外部设备103。根据不同的应用场景,对外接口装置102可以具有不同的接口形式,例如PCIe接口等。
板卡10还包括用于存储数据的存储器件104,其包括一个或多个存储单元105。存储器件104通过总线与控制器件106和芯片101进行连接和数据传输。板卡10中的控制器件106配置用于对芯片101的状态进行调控。为此,在一个应用场景中,控制器件106可以包括单片机(Micro Controller Unit,MCU)。
图2是示出此实施例的芯片101中的组合处理装置的结构图。如图2中所示,组合处理装置20包括计算装置201、接口装置202、处理装置203和DRAM 204。
计算装置201配置成执行用户指定的操作,主要实现为单核智能处理器或者多核智能处理器,用以执行深度学习或机器学习的计算,其可以通过接口装置202与处理装置203进行交互,以共同完成用户指定的操作。
接口装置202用于在计算装置201与处理装置203间传输数据和控制指令。例如,计算装置201可以经由接口装置202从处理装置203中获取输入数据,写入计算装置201片上的存储装置。进一步,计算装置201可以经由接口装置202从处理装置203中获取控制指令,写入计算装置201片上的控制缓存中。替代地或可选地,接口装置202也可以读取计算装置201的存储装置中的数据并传输给处理装置203。
处理装置203作为通用的处理装置,执行包括但不限于数据搬运、对计算装置201的开启和/或停止等基本控制。根据实现方式的不同,处理装置203可以是CPU、GPU或其他通用和/或专用处理器中的一种或多种类型的处理器,这些处理器包括但不限于数字信号处理器(digital signal processor,DSP)、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,并且其数目可以根据实际需要来确定。如前所述,仅就本公开的计算装置201而言,其可以视为具有单核结构或者同构多核结构。然而,当将计算装置201和处理装置203整合共同考虑时,二者视为形成异构多核结构。
DRAM 204用以存储待处理的数据,为DDR内存,大小通常为16G或更大,用于保存计算装置201和/或处理装置203的数据。
具体地,此实施例针对寒武纪的CNStream应用程序实现可视化编程。CNStream基于模块化和流水线的思想,提供了一套类似C++语言的应用程序接口(API),适用于视频结构化、姿态检测、图像分割等常见应用领域。图3示出此实施例供用户可视化设计CNStream流水线的流程图。
在步骤301中,于屏幕上显示模块区、画布区与参数区。此实施例在屏幕上网页端显示3个区块,如图4所示,分别为模块区401、画布区402与参数区403。在此实施例中,屏幕的左侧是模块区401,中央是画布区402,右侧是参数区403,但本发明不限制模块区401、画布区402与参数区403的位置。
在步骤302中,显示多个模块单元404于模块区401中,每个模块单元404对应CNStream的一种插件。欲控制前述的硬件装置实现特定操作,需要一连串的控制模块以特定的连接关系结合在一块,这些控制模块一般是标准化、内置的模块单元,也可以是用户自行定义的模块单元,每个模块单元实现一种插件功能。插件是一种遵循一定规范的应用程序接口编写出来的程序,其只能运行在程序规定的***平台下,不能脱离指定的平台单独运行,供用户直接调用,以节省编程时间。
CNStream提供了多种内置模块,也就是模块单元404,在可视化编程的***中均以圆角方块图形排列为模块单元401中,方块图形中显示有该模块单元401的名称,以方便用户识别。以下示例性的说明CNStream的几种模块单元404。
数据源模块单元(DataSource)是流水线的起始模块,实现了视频图像获取功能,可以和FFmpeg模块单元(MPEG编码)连接来解封装,或解复用本地文件或者网络流,来获得码流。之后可以将图像发送给解码模块单元(CNDecoder)或者CPU Decoder模块单元进行解码,得到图像,最后把图像存到CNDataFrame模块单元的集成存储空间syncedMem中。
神经网络推理模块单元(Inferencer)是基于实时运行库(CNRT)的基础上,加入多线程并行处理及适应网络特定前后处理模块的总称。用户根据业务需求,只需载入客制化的模型,即可调用底层的推理。该模块支持多批处理及单批处理的推理任务。
追踪模块单元(Tracker)用于对检测到的物体进行追踪并输出检查结果。主要应用于车辆等检测和追踪,该模块连接在神经网络推理模块后,通过在配置文件中指定追踪使用的离线模型以及使用的追踪方法来配置模块。
屏幕显示模块单元(On-Screen Display,OSD)支持内容叠加和高亮物件处理,在屏幕上展现流水线操作的结果。
在步骤303中,响应用户选择模块单元404的操作,显示数个特定模块于画布区402中,这些特定模块选自模块单元404。用户可以根据定制化的数据流,点选适当的模块单元404拖拉至画布区402的特定位置成为特定模块。图5示出一种示例性的选择模块单元404的操作,根据需求,用户依次将数据源模块单元、解码模块单元、神经网络推理模块单元、屏幕显示模块单元拖拉至画布区402中,以形成数据源模块405、解码模块406、神经网络推理模块407及屏幕显示模块408等特定模块。
在此步骤中,在每个特定模块中会显示其预设名称,每个名称不重复作为区别,例如用户选择2个解码模块单元至画布区402中,则***自动将其中一个解码模块命名为“CNDecoder1”,另一个解码模块命名为“CNDecoder2”,用户可以通过双击模块来变更这些模块的预设名称。进一步地,选自不同模块单元的特定模块具有不同颜色,例如数据源模块405、解码模块406、神经网络推理模块407及屏幕显示模块408这4个模块来自不同的模块单元,因此这4个特定模块的颜色均不同,方便用户识别。
在步骤304中,响应用户建立连接的操作,可视化设定数个特定模块间的输入/输出关系,以形成流水线。用户根据定制化的流水线,在画布区402建立这些特定模块的输入/输出关系。继续参照图5,用户先点选数据源模块405的任一个输入/输出(图中标示“╳”),再点选解码模块406的任一个输入/输出,便建立起数据源模块405和解码模块406的输入/输出关系,意味着数据源模块405的输出图像输入至解码模块406。接着建立其他模块的输入/输出关系,图5示例性地展示***利用可视化的方块与箭头将整个流水线设定为:数据源模块405的输出图像输入至解码模块406,解码模块406的输出图像输入至神经网络推理模块407,神经网络推理模块407的输出图像输入至屏幕显示模块408。
在步骤305中,响应用户选择数个特定模块其中之一的操作,显示该特定模块的参数栏于参数区403。CNStream中的每个模块都需要设定相应的参数才能运作,用户依序点选每个模块进行设定,例如用户点选屏幕显示模块408,如图6所示,参数区403中会显示屏幕显示模块408的参数栏409,供用户设定屏幕显示模块408的参数。
在步骤306中,显示参数描述栏于参数区403中。当用户点选某个模块时,参数区403还会显示该参数的参数描述栏410,披露该参数的定义,供用户参考。
在步骤307中,响应用户点选参数描述栏410,显示参数栏409的参数信息。当用户想进一步了解某个模块的参数该如何设定时,可以直接点选参数描述栏410,参数区403中会显示参数栏409的参数信息411,披露该参数的填写信息,例如选填/必填、默认值、可选值等等,供用户参考。
在步骤308中,响应用户填写参数栏409的操作,显示参数值于参数栏409中。如图7所示,用户填写这些参数栏409,***会显示参数值于参数栏409中,设定完毕后再点选完成键,***便将这些参数值存储下来。
在步骤309中,生成流水线的配置文件。在用户输出参数之后,***会自动将画布区402的可视化流水线转换成JSON配置文件。JSON配置文件是一种轻量级的数据交换格式,易于用户阅读和理解,也易于机器解析和生成,JSON配置文件采用了类似于C语言的习惯,使得JSON配置文件成为常用的数据交换语言。
进一步地,***通过生成的JSON配置文件判断画布区402中各模块的输入/输出关系是否合法,以及判断参数值的设定是否正确。如果有任何输入/输出关系不合法或参数不正确,***会在错误的模块旁显示错误信息,例如:如图8所示,屏幕显示模块408出现错误,则***会在屏幕显示模块408旁显示错误信息412,同时,在参数区403显示屏幕显示模块408的参数栏409、参数描述栏410及参数信息411,供用户修改参数值或输入/输出关系。
在步骤310中,显示配置文件于参数区403中。当输入/输出关系合法且参数正确时,如图9所示,***会自动显示JSON配置文件413于参数区403中。
在步骤311中,响应用户的执行操作,执行流水线。在此实施例中,参数区403的JSON配置文件413下方显示有4个选择键:保存键、清除键、完成键及执行键。用户点选保存键可以保存JSON配置文件413到本地,点选清除键可清空画布区402,用户点选完成键可跳转至执行界面,用户点选执行键便直接开始执行画布区402中的可视化流水线。当用户点选执行键时,此实施例直接执行画布区402中的可视化流水线,并显示运行结果。
此实施例的可视化***提供一种环境,可视化的进行编程,省去编写代码的时间,同时每个模块间的关系也变得直观,有助于用户节省编程时间。
本发明另一个实施例为一种计算机可读存储介质,其上存储有可视化设计流水线的计算机程序代码,当所述计算机程序代码由处理器运行时,执行如前所述各实施例的方法。在一些实现场景中,上述集成的单元可以采用软件程序模块的形式来实现。如果以软件程序模块的形式实现并作为独立的产品销售或使用时,所述集成的单元可以存储在计算机可读取存储器中。基于此,当本发明的方案以软件产品(例如计算机可读存储介质)的形式体现时,该软件产品可以存储在存储器中,其可以包括若干指令用以使得计算机设备(例如个人计算机、服务器或者网络设备等)执行本发明实施例所述方法的部分或全部步骤。前述的存储器可以包括但不限于U盘、闪存盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本发明提供一个可视化设计流水线的工具,方便用户编程,降低开发成本,并实现在网页端绘制流水线并生成对应的JSON配置文件。
根据不同的应用场景,本发明的电子设备或装置可以包括服务器、云端服务器、服务器集群、数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、PC设备、物联网终端、移动终端、手机、行车记录仪、导航仪、传感器、摄像头、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、视觉终端、自动驾驶终端、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。本发明的电子设备或装置还可以被应用于互联网、物联网、数据中心、能源、交通、公共管理、制造、教育、电网、电信、金融、零售、工地、医疗等领域。进一步,本发明的电子设备或装置还可以用于云端、边缘端、终端等与人工智能、大数据和/或云计算相关的应用场景中。在一个或多个实施例中,根据本发明方案的算力高的电子设备或装置可以应用于云端设备(例如云端服务器),而功耗小的电子设备或装置可以应用于终端设备和/或边缘端设备(例如智能手机或摄像头)。在一个或多个实施例中,云端设备的硬件信息和终端设备和/或边缘端设备的硬件信息相互兼容,从而可以根据终端设备和/或边缘端设备的硬件信息,从云端设备的硬件资源中匹配出合适的硬件资源来模拟终端设备和/或边缘端设备的硬件资源,以便完成端云一体或云边端一体的统一管理、调度和协同工作。
需要说明的是,为了简明的目的,本发明将一些方法及其实施例表述为一系列的动作及其组合,但是本领域技术人员可以理解本发明的方案并不受所描述的动作的顺序限制。因此,依据本发明的公开或教导,本领域技术人员可以理解其中的某些步骤可以采用其他顺序来执行或者同时执行。进一步,本领域技术人员可以理解本发明所描述的实施例可以视为可选实施例,即其中所涉及的动作或模块对于本发明某个或某些方案的实现并不一定是必需的。另外,根据方案的不同,本发明对一些实施例的描述也各有侧重。鉴于此,本领域技术人员可以理解本发明某个实施例中没有详述的部分,也可以参见其他实施例的相关描述。
在具体实现方面,基于本发明的公开和教导,本领域技术人员可以理解本发明所公开的若干实施例也可以通过本文未公开的其他方式来实现。例如,就前文所述的电子设备或装置实施例中的各个单元来说,本文在考虑了逻辑功能的基础上对其进行拆分,而实际实现时也可以有另外的拆分方式。又例如,可以将多个单元或组件结合或者集成到另一个***,或者对单元或组件中的一些特征或功能进行选择性地禁用。就不同单元或组件之间的连接关系而言,前文结合附图所讨论的连接可以是单元或组件之间的直接或间接耦合。在一些场景中,前述的直接或间接耦合涉及利用接口的通信连接,其中通信接口可以支持电性、光学、声学、磁性或其它形式的信号传输。
在本发明中,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元示出的部件可以是或者也可以不是物理单元。前述部件或单元可以位于同一位置或者分布到多个网络单元上。另外,根据实际的需要,可以选择其中的部分或者全部单元来实现本发明实施例所述方案的目的。另外,在一些场景中,本发明实施例中的多个单元可以集成于一个单元中或者各个单元物理上单独存在。
在另外一些实现场景中,上述集成的单元也可以采用硬件的形式实现,即为具体的硬件电路,其可以包括数字电路和/或模拟电路等。电路的硬件结构的物理实现可以包括但不限于物理器件,而物理器件可以包括但不限于晶体管或忆阻器等器件。鉴于此,本文所述的各类装置(例如计算装置或其他处理装置)可以通过适当的硬件处理器来实现,例如中央处理器、图形处理器、FPGA、DSP和ASIC等。进一步,前述的所述存储单元或存储装置可以是任意适当的存储介质(包括磁存储介质或磁光存储介质等),其例如可以是可变电阻式存储器(Resistive Random Access Memory,RRAM)、动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)、增强动态随机存取存储器(Enhanced Dynamic Random Access Memory,EDRAM)、高带宽存储器(High Bandwidth Memory,HBM)、混合存储器立方体(Hybrid Memory Cube,HMC)、ROM和RAM等。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种供用户可视化设计流水线的方法,包括:
显示模块区及画布区;
显示多个模块单元于所述模块区中,每个模块单元对应一种插件;
响应所述用户选择模块单元的操作,显示数个特定模块于所述画布区中,所述数个特定模块选自所述多个模块单元;以及
响应所述用户建立连接的操作,可视化设定所述数个特定模块间的输入/输出关系,以形成所述流水线。
2.根据权利要求1所述的方法,其中所述显示所述数个特定模块于所述画布区中的步骤包括:
显示每个特定模块的名称,其中每个名称不重复。
3.根据权利要求1所述的方法,其中选自不同模块单元的特定模块具有不同颜色。
4.根据权利要求1所述的方法,还包括:
显示参数区;
响应所述用户选择所述数个特定模块其中之一的操作,显示所述数个特定模块其中之一的参数栏于所述参数区中;以及
响应所述用户填写所述参数栏的操作,显示参数值于所述参数栏中。
5.根据权利要求4所述的方法,还包括:
显示参数描述栏于所述参数区中;以及
响应所述用户点选所述参数描述栏,显示所述参数栏的参数信息。
6.根据权利要求5所述的方法,其中所述参数信息包括选填/必填、默认值、可选值的至少其中之一。
7.根据权利要求4所述的方法,还包括:
生成所述流水线的配置文件,所述配置文件为JSON格式。
8.根据权利要求7所述的方法,还包括:
显示所述配置文件于所述参数区中。
9.根据权利要求7所述的方法,其中所述生成步骤包括:
判断所述输入/输出关系是否合法;以及
判断所述参数值是否正确。
10.根据权利要求9所述的方法,其中所述生成步骤包括:
如不合法或不正确,显示错误信息。
11.根据权利要求9所述的方法,其中所述生成步骤包括:
如不合法或不正确,显示所述插件描述供所述用户修改所述参数值。
12.根据权利要求1所述的方法,还包括:
响应所述用户的执行操作,执行所述流水线。
13.根据权利要求1所述的方法,其中所述多个模块单元为CNStream的内置模块。
14.一种计算机可读存储介质,其上存储有可视化设计流水线的计算机程序代码,当所述计算机程序代码由处理装置运行时,执行权利要求1至13任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011612567.6A CN112667227A (zh) | 2020-12-30 | 2020-12-30 | 可视化设计流水线的方法及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011612567.6A CN112667227A (zh) | 2020-12-30 | 2020-12-30 | 可视化设计流水线的方法及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112667227A true CN112667227A (zh) | 2021-04-16 |
Family
ID=75411205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011612567.6A Pending CN112667227A (zh) | 2020-12-30 | 2020-12-30 | 可视化设计流水线的方法及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112667227A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115941967A (zh) * | 2023-03-13 | 2023-04-07 | 南京感动科技有限公司 | 一种基于全码流的视频编解码加速方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180189035A1 (en) * | 2016-12-29 | 2018-07-05 | TechRev, LLC | Application development tool using graphic objects to bind object sets of different distinct divisions of a design pattern |
CN110554865A (zh) * | 2019-09-10 | 2019-12-10 | 联想(北京)有限公司 | 可视化编程的方法、装置、计算设备以及介质 |
-
2020
- 2020-12-30 CN CN202011612567.6A patent/CN112667227A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180189035A1 (en) * | 2016-12-29 | 2018-07-05 | TechRev, LLC | Application development tool using graphic objects to bind object sets of different distinct divisions of a design pattern |
CN110554865A (zh) * | 2019-09-10 | 2019-12-10 | 联想(北京)有限公司 | 可视化编程的方法、装置、计算设备以及介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115941967A (zh) * | 2023-03-13 | 2023-04-07 | 南京感动科技有限公司 | 一种基于全码流的视频编解码加速方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110298443B (zh) | 神经网络运算装置及方法 | |
WO2022161318A1 (zh) | 数据处理装置、方法及相关产品 | |
CN114692823A (zh) | 一种算子融合的方法、装置、存储介质及电子设备 | |
CN109711540B (zh) | 一种计算装置及板卡 | |
WO2022134873A1 (zh) | 数据处理装置、数据处理方法及相关产品 | |
CN112667227A (zh) | 可视化设计流水线的方法及可读存储介质 | |
CN113469336A (zh) | 优化神经网络模型的编译方法、执行方法及相关产品 | |
CN112084023A (zh) | 数据并行处理的方法、电子设备及计算机可读存储介质 | |
CN113469337B (zh) | 用于优化神经网络模型的编译方法及其相关产品 | |
WO2022001500A1 (zh) | 计算装置、集成电路芯片、板卡、电子设备和计算方法 | |
CN115373646A (zh) | 扩展信息方法、装置和相关产品 | |
CN116185378A (zh) | 计算图的优化方法、数据处理方法及相关产品 | |
CN112540848A (zh) | 图像解压缩的设备、方法及可读存储介质 | |
CN109542837B (zh) | 运算方法、装置及相关产品 | |
CN109558565B (zh) | 运算方法、装置及相关产品 | |
WO2022135049A1 (zh) | 规约多维向量的方法、电子设备以及存储介质 | |
WO2022001438A1 (zh) | 一种计算装置、集成电路芯片、板卡、设备和计算方法 | |
CN113792867B (zh) | 运算电路、芯片和板卡 | |
WO2022111013A1 (zh) | 支援多种访问模式的设备、方法及可读存储介质 | |
CN114429194A (zh) | 处理神经网络计算的装置、板卡、方法及可读存储介质 | |
CN112463158B (zh) | 编译方法、装置、电子设备和存储介质 | |
WO2022134872A1 (zh) | 数据处理装置、数据处理方法及相关产品 | |
WO2022001496A1 (zh) | 计算装置、集成电路芯片、板卡、电子设备和计算方法 | |
CN109543836B (zh) | 运算方法、装置及相关产品 | |
CN109543833B (zh) | 运算方法、装置及相关产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |