编程方法和装置、电子设备与流程

文档序号:31869168发布日期:2022-10-21 18:08阅读:35来源:国知局
编程方法和装置、电子设备与流程

1.本发明涉及计算机技术领域,更具体地,涉及编程方法、编程装置和电子设备。


背景技术:

2.随着近年来人工智能技术的不断发展,人工智能已经在全世界的范围内引起一轮新的创新和变革,人类社会开始朝向智能化时代发展和转变。目前国内外开展的各种人工智能方面的教育都是直接面向高端研发技术人员,儿童的学习难度较大。随着我国人工智能技术的发展,对人工智能领域人才的需求不断增加,对于人才的培养应该从小开始。
3.随着图形化编程技术的出现,极大降低了儿童学习编程的难度。目前已经存在多种图形化编程工具,但是还是没有一款工具是针对于人工智能的,很多都是针对于安卓手机甚至只是简单的网页编程。


技术实现要素:

4.本发明的一个目的是提供一种图形化编程的新技术方案。
5.根据本发明的第一方面,提供了一种编程方法,所述方法包括:
6.获取人工智能模型;
7.根据获取的人工智能模型生成图形化编程积木块。
8.可选地,所述根据获取的人工智能模型生成图形化编程积木块包括,对所述人工智能模型封装api,根据所述api生成与所述人工智能模型相关联的图形化编程积木块,所述图形化编程积木块可通过所述api调用所述人工智能模型。
9.可选地,所述获取人工智能模型包括:
10.获取数据集;
11.获取用户对所述数据集设置的标签;
12.根据所述数据集和所述标签进行人工智能模型训练;
13.获取训练出的人工智能模型。
14.可选地,所述获取数据集包括,展示预设的人工智能功能菜单,根据用户从所述人工智能功能菜单中选定的目标功能,获取与所述目标功能相对应的数据集。
15.可选地,所述获取与所述目标功能相对应的数据集包括,从内置数据库中查询与用户选定的目标功能相对应的数据,展示出从内置数据库中查询到的数据,将用户从所述展示的数据中选择的数据设置为所述与所述目标功能相对应的数据集。
16.可选地,所述获取与所述目标功能相对应的数据集包括,展示出通过数据采集单元采集到的数据,将用户从所述展示的数据中选择的数据设置为与所述目标功能相对应的数据集。
17.可选地,所述根据所述数据集和所述标签进行人工智能模型训练包括,根据所述数据集和所述标签使用内置的离线人工智能框架来训练人工智能模型。
18.根据本发明的第二方面,提供了一种编程装置,所述装置包括:
19.人工智能模型获取模块,用于获取人工智能模型;
20.编程积木块生成模块,用于根据获取到的人工智能模型生成图形化编程积木块。
21.可选地,所述人工智能获取模块包括:
22.数据获取模块,用于获取数据集;
23.标签设置模块,用于对获取到的数据集设置标签;
24.模型训练模块,用于根据获取到的数据集和设置的标签进行人工智能模型训练。
25.根据本发明的第三方面,提供了一种电子设备,包括存储器和处理器,所述存储器上存储可被所述处理器执行的指令,所述处理器执行所述指令时实现如本发明第一方面所述的方法。
26.根据本公开的一个实施例,本发明通过将人工智能模型与图形化编程相结合,根据人工智能模型来生成图形化编程积木块,可以根据功能需求来获取相应的人工智能模型,增加了图形化编程积木块的功能多样性。同时在以儿童为目标的教学场景中,简化了具体程序代码的编写过程,让儿童通过使用编程积木块即可编写出具有人工智能识别功能的程序,降低了儿童学习编程的难度,能够有效锻炼儿童的逻辑思维能力,为将来进一步学习人工智能编程打下坚实的基础。
27.通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
28.被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
29.图1是本发明一种实施方式中编程方法的流程图。
30.图2是本发明一种实施方式中获取人工智能模型的流程图。
31.图3是本发明一种实施方式中设置标签示意图。
32.图4是本发明一种实施方式中的预设的人工智能功能菜单示意图。
33.图5是本发明一种实施方式中的编程装置的示意图。
34.图6是本发明一种实施方式中的电子设备的示意图。
具体实施方式
35.现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
36.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
37.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
38.在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
39.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一
个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
40.如图1所示,在本发明的一个实施例中提供了一种编程方法,所述编程方法包括以下步骤:
41.s1:获取人工智能模型;
42.s2:根据获取的人工智能模型生成图形化编程积木块。
43.本公开实施例提供的编程方法,应用于安装有编程软件的电子设备。在使用本发明所述的编程方法进行编程时,用户使用该特定的编程软件进行编程,编程软件为图形化编程软件,用户可以在编程软件内通过积木块式的指令进行编程。根据本发明所述编程方法生成的图形化编程积木块,可以直接在所述图形化编程软件中运行。
44.在以儿童为对象的编程教学过程中,受限于儿童自身能力的限制,传统的编程教学模式并不特别适合儿童,儿童在学习编程的过程中会遇到极大的困难,影响学习效率。在图形化编程方式中,将代码细节隐藏,提供具有不同功能的图形化编程积木块,用户使用具有不同功能的编程积木块进行编程。儿童在学习过程中,可以选择需要的图形化编程积木块,将多个具有不同功能的图形化编程积木块进行组合,以制作出具有特定功能的程序。
45.例如,为了让儿童编写出一种具有“识别人脸上是否戴口罩”功能的程序,首先需要获取到具有“识别人脸是否戴口罩”功能的人工智能模型,然后通过图形化编程软件生成具有“识别人脸是否戴口罩”功能的图形化编程积木块。最后由儿童来选定所述具有“识别人脸是否戴口罩”功能的图形化编程积木块以及其它的图形化编程积木块,将选定的所有图形化编程积木块进行组合,生成一种具有“识别人脸上是否戴口罩”功能的程序。
46.本发明通过将人工智能模型与图形化编程相结合,根据人工智能模型来生成图形化编程积木块,可以根据功能需求来获取相应的人工智能模型,增加了图形化编程积木块的功能多样性。同时在以儿童为目标的教学场景中,简化了具体程序代码的编写过程,让儿童通过使用编程积木块即可编写出具有人工智能识别功能的程序,降低了儿童学习编程的难度,能够有效锻炼儿童的逻辑思维能力,为将来进一步学习人工智能编程打下坚实的基础。
47.在上述步骤s2中,对所述人工智能模型封装api(application programming interface,应用程序接口),根据所述api生成与所述人工智能模型相关联的图形化编程积木块,所述图形化编程积木块可通过所述api调用所述人工智能模型。
48.在儿童学习场景中,获取到人工智能模型后,由于儿童自身的知识储备不足,很难理解并应用获取到的人工智能模型。为了方便儿童使用获取到的人工智能模型,编程软件会生成与所述人工智能模型相关联的图形化编程积木块,儿童只需要使用所述图形化编程积木块即可,在程序运行时所述图形化编程积木块可以自动通过所述api来调用所述人工智能模型,让程序具备相应的功能。所述与人工智能模型相关联的图形化编程积木块处理成了同步机制,在使用方法上与编程软件自带的图形化积木块相同,可以嵌在复杂程序块中全自动运行。
49.本发明通过对人工智能模型封装api,并生成与所述人工智能模型相关联的图形化编程积木块,方便儿童使用所述人工智能模型,即使儿童不理解人工智能模型的原理也能够直接使用,方便儿童学习。
50.如图2所示,在本发明的一种实施方式中,上述步骤s1包括:
51.s101:获取数据集;
52.s102:获取用户对所述数据集设置的标签;
53.s103:根据所述数据集和所述标签进行人工智能模型训练;
54.s104:获取训练出的人工智能模型。
55.在本实施方式中,获取的人工智能模型是通过编程软件训练得到的。例如,为了获取具有“识别人脸是否戴口罩”功能的人工智能模型,首先需要获取戴口罩的人脸图片数据集和不带口罩的人脸图片数据集,然后对上述获取到的数据集设置标签,最后根据获取的数据集和设置的标签进行人工智能模型训练。
56.如图3所示,在儿童教学场景中,由儿童自己来为数据集设置标签。比如儿童给戴口罩的人脸图片数据集设置标签“是”,表示这些人脸图片中都戴有口罩,而儿童给不带口罩的人脸图片数据集设置标签“否”,表示这些人脸图片中都没有戴口罩。通过由儿童自己来为数据集设置标签,增强了儿童在编程过程中的参与感,同时让儿童能够更加了解人工智能模型训练的基本原理,提高儿童的学习效率。
57.在本发明的一种实施方式中,上述步骤s101包括,展示预设的人工智能功能菜单,根据用户从所述人工智能功能菜单中选定的目标功能,获取与所述目标功能相对应的数据集。
58.为了获取具有指定功能的人工智能模型,首先需要获取对应的数据集。如图4所示,在儿童教学场景中,儿童使用编程软件时,编程软件上展示出预设的人工智能功能菜单,比如“识别人脸是否戴口罩”、“识别人脸是否戴眼镜”等多种不同的功能,由儿童自己选择需要的功能。如果需要制作一个具备“识别人脸是否戴口罩”功能的图形化编程积木块,那么儿童在编程软件的功能菜单上选择“识别人脸是否戴口罩”的功能选项,编程软件则会获取到戴口罩的人脸图片以及不戴口罩的人脸图片,而不会获取到与“识别人脸是否戴口罩”功能不相关的图片,比如动物图片。
59.在本发明的一种实施方式中,在获取与所述目标功能相对应的数据集时,从内置数据库中查询与用户选定的目标功能相对应的数据,展示出从内置数据库中查询到的数据,将用户从所述展示的数据中选择的数据设置为所述与所述目标功能相对应的数据集。
60.编程软件具有内置数据库,内置数据库中预先存储了大量数据集,用户可以根据需要制作的图形化编程积木块的功能进行挑选。例如,在儿童教学场景中,儿童在选定图形化编程积木块的功能后,编程软件根据儿童选定的功能从内置数据库中查询相应的数据。比如儿童选定“识别人脸是否戴口罩”的功能,那么编程软件从内置数据库中查询到所有戴口罩的人脸图片以及所有不戴口罩的人脸图片,并且编程软件将查询到的图片展示出来,让儿童从展示出的图片中挑选一部分作为人工智能模型训练的数据集。儿童在挑选图片后,根据儿童挑选图片的不同,所训练出的人工智能模型的识别能力也有所不同。数据差异性越大,训练出的人工智能模型具备更好的泛化效果,识别能力更强。
61.本发明通过从内置数据库中获取人工智能模型训练所需要的数据集,让儿童自己选择数据,并且儿童选择的数据直接影响着训练出的人工智能模型的识别能力,加强儿童对人工智能模型训练原理的理解,锻炼儿童的逻辑思维能力,提高儿童的学习效率。同时内置数据库可以随时更新,可以根据教学需求来随时更新内置数据库中的数据,增加可训练的人工智能模型的种类,提高教学效果。
62.在本发明的一种实施方式中,在获取与所述目标功能相对应的数据集时,展示出通过数据采集单元采集到的数据,将用户从所述展示的数据中选择的数据设置为与所述目标功能相对应的数据集。
63.在一个例子中,电子设备具有数据采集单元或者该电子设备外接有数据采集单元,数据采集单元可以为图像采集单元,比如摄像头。编程软件可以将数据采集单元采集到的数据来作为人工智能模型训练的数据集,例如,将采集到的图像数据来作为人工智能模型训练的数据集。例如,在儿童教学场景中,需要制作具备“识别人脸是否戴口罩”功能的图形化编程积木块,儿童可以通过摄像头来拍摄人脸图像,儿童可以拍摄自己的人脸图像,也可以拍摄同学、老师以及其他人的人脸图像。编程软件将摄像头拍摄的人脸图像展示出来,让儿童在展示出的人脸图像中选择,最后编程软件将儿童选择的图像作为人工智能模型训练的数据集。比如通过摄像头拍摄了100张人脸图像,编程软件将这拍摄到的100张人脸图像全部展示出来,儿童可以从这100张人脸图像中任意选择。如果只选择了其中的50张人脸图像,那么编程软件将儿童选择的50张人脸图像作为人工智能模型训练的数据集。在运行具有“识别人脸上是否戴口罩”功能的图形化编程积木块时,会自动开启摄像头,并通过api调用训练出的人工智能模型,得到图像识别的结果。
64.在本发明的一种实施方式中,步骤s103包括,根据所述数据集和所述标签使用内置的离线人工智能框架来训练人工智能模型。
65.在编程软件内置有离线人工智能框架,所述人工智能框架包含人工智能训练算法,通过所述人工智能训练算法来训练人工智能模型,所述人工智能训练算法能够以离线模式运行,在人工智能模型训练过程中不需要连接网络,方便教学使用,适合在儿童课程中开展。
66.参见图5所示,本发明实施例介绍了一种编程装置200,编程装置200包括人工智能模型获取模块201和编程积木块生成模块202。
67.人工智能模型获取模块201,用于获取人工智能模型。
68.编程积木块生成模块202,用于根据获取到的人工智能模型生成图形化编程积木块。
69.在使用所述编程装置时,首先通过人工智能模型获取模块来获取人工智能模型,然后根据获取到的人工智能模型生成图形化编程积木块。
70.在本发明的一种实施方式中,编程积木块生成模块具体用于,对所述人工智能模型封装api,根据所述api生成与所述人工智能模型相关联的图形化编程积木块,所述图形化编程积木块可通过所述api调用所述人工智能模型。
71.本发明实施例中,人工智能获取模块201包括以下模块:
72.数据获取模块,用于获取数据集。
73.标签设置模块,用于对获取到的数据集设置标签。
74.模型训练模块,用于根据获取到的数据集和设置的标签进行人工智能模型训练。
75.在本发明的一种实施方式中,编程装置具有内置数据库,数据获取模块可以从内置数据库中获取数据集。内置数据库可以随时更新,可以根据需求来随时更新内置数据库中的数据,增加可训练的人工智能模型的种类。
76.在本发明的一种实施方式中,数据获取模块获取数据采集单元采集到的数据,将
数据采集单元采集到的数据来作为人工智能模型训练的数据集。数据采集单元可以为图像采集单元,比如摄像头,在摄像头拍摄图像后,数据获取模块获取摄像头拍摄到的图像,将数据获取模块获取到的图像作为人工智能模型训练的数据集。
77.在本发明的一种实施方式中,模型训练模块包括离线人工智能框架,使用离线人工智能框架来训练人工智能模型,在人工智能模型训练过程中不需要连接网络,方便教学使用,适合在儿童课程中开展。
78.参见图6所示,本发明实施例提供了一种电子设备300,电子设备300包括存储器302和处理器301,所述存储器302上存储可被所述处理器301执行的指令,所述处理器301执行所述指令时实现本说明书任一实施例中描述的编程方法。
79.本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
80.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
81.这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
82.用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
83.这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
84.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
85.也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
86.附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
87.以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1