CN115169522A - Pytorch神经网络的图结构确定方法、装置和设备 - Google Patents

Pytorch神经网络的图结构确定方法、装置和设备 Download PDF

Info

Publication number
CN115169522A
CN115169522A CN202110357946.3A CN202110357946A CN115169522A CN 115169522 A CN115169522 A CN 115169522A CN 202110357946 A CN202110357946 A CN 202110357946A CN 115169522 A CN115169522 A CN 115169522A
Authority
CN
China
Prior art keywords
network
node
neural network
graph structure
pytorch
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
Application number
CN202110357946.3A
Other languages
English (en)
Inventor
黄庆乐
谢宏伟
刘力
王兵
卿泉
王刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuzhou Online E Commerce Beijing Co ltd
Original Assignee
Alibaba Singapore Holdings Pte Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Singapore Holdings Pte Ltd filed Critical Alibaba Singapore Holdings Pte Ltd
Priority to CN202110357946.3A priority Critical patent/CN115169522A/zh
Publication of CN115169522A publication Critical patent/CN115169522A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例提供一种Pytorch神经网络的图结构确定方法、装置和设备。方法包括:获取输入数据;控制Pytorch神经网络基于输入数据进行运行,确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点;基于Pytorch神经网络中网络节点所对应的前继节点和后继节点,确定与Pytorch神经网络相对应的网络图结构,网络图结构包括:Pytorch神经网络中网络节点和网络节点之间的连接关系。本实施例提供的技术方案,可以准确地获取到网络图结构,而后便于基于网络图结构进行网络优化操作,大大提高了网络优化操作的质量和效率。

Description

Pytorch神经网络的图结构确定方法、装置和设备
技术领域
本发明涉及网络技术领域,尤其涉及一种Pytorch神经网络的图结构确定方法、装置和设备。
背景技术
随着科学技术的飞速发展,深度学习领域的神经网络训练框架种类越来越多,可谓百花齐放。其中,PyTorch被称为“由运行定义的”框架,由于其基于动态图的特性,灵活易用,使其从众多神经网络训练框架中脱颖而出,成为当今深度学习领域较为流行的训练框架之一;因此,基于Pytorch可以很方便的定义出神经网络,并对神经网络进行训练。
但是,目前pytorch对于神经网络架构进行量化操作的接口,对用户而言却并不友好,以对神经网络架构的输入数据进行量化操作为例,为了能够实现对某个特定的pytorch网络结构进行量化操作,需要直接修改网络定义时的代码数据。此时,不仅需要开发人员进行机械式的代码适配工作,工作量大,易出错,并且还会污染原始的代码。
发明内容
鉴于此,本发明实施例提供了一种Pytorch神经网络的图结构确定方法、装置和设备,可以准确地获取到网络图结构,而后便于基于网络图结构进行网络优化操作,从而可以将开发人员从繁琐的代码适配工作中解放出来,大大提高了对网络架构进行优化操作的质量和效率。
第一方面,本发明实施例提供了一种Pytorch神经网络的图结构确定方法,包括:
获取用于输入至待分析的Pytorch神经网络的输入数据;
控制所述Pytorch神经网络基于所述输入数据进行运行,确定与所述Pytorch神经网络中网络节点相对应的前继节点和后继节点;
基于所述Pytorch神经网络中网络节点所对应的前继节点和后继节点,确定与所述Pytorch神经网络相对应的网络图结构,所述网络图结构中包括:Pytorch神经网络中的网络节点以及所述网络节点之间的连接关系。
第二方面,本发明实施例提供了一种Pytorch神经网络的图结构确定装置,包括:
第一获取模块,用于获取用于输入至待分析的Pytorch神经网络的输入数据;
第一控制模块,用于控制所述Pytorch神经网络基于所述输入数据进行运行,确定与所述Pytorch神经网络中网络节点相对应的前继节点和后继节点;
第一处理模块,用于基于所述Pytorch神经网络中网络节点所对应的前继节点和后继节点,确定与所述Pytorch神经网络相对应的网络图结构,所述网络图结构中包括:Pytorch神经网络中的网络节点以及所述网络节点之间的连接关系。
第三方面,本发明实施例提供一种电子设备,包括处理器和存储器,存储器用于存储一条或多条计算机指令,其中,一条或多条计算机指令被处理器执行时实现上述第一方面中的Pytorch神经网络的图结构确定方法。该电子设备还可以包括通信接口,用于与其他设备或通信网络通信。
第四方面,本发明实施例提供了一种计算机存储介质,用于储存存储计算机程序,计算机程序使计算机执行时实现上述第一方面中的Pytorch神经网络的图结构确定方法。
第五方面,本发明实施例提供了一种网络优化方法,包括:
获取与Pytorch神经网络相对应的网络优化请求;
确定与所述Pytorch神经网络相对应的网络图结构,所述网络图结构中包括:Pytorch神经网络中的网络节点以及所述网络节点之间的连接关系;
基于所述网络优化请求对所述网络图结构进行优化,获得目标网络图结构;
根据所述目标网络图结构,生成与所述网络优化请求相对应的目标Pytorch神经网络。
第六方面,本发明实施例提供了一种网络优化装置,包括:
第二获取模块,用于获取与Pytorch神经网络相对应的网络优化请求;
第二确定模块,用于确定与所述Pytorch神经网络相对应的网络图结构,所述网络图结构中包括:Pytorch神经网络中的网络节点以及所述网络节点之间的连接关系;
第二优化模块,用于基于所述网络优化请求对所述网络图结构进行优化,获得目标网络图结构;
第二处理模块,用于根据所述目标网络图结构,生成与所述网络优化请求相对应的目标Pytorch神经网络。
第七方面,本发明实施例提供一种电子设备,包括处理器和存储器,存储器用于存储一条或多条计算机指令,其中,一条或多条计算机指令被处理器执行时实现上述第五方面中的网络优化方法。该电子设备还可以包括通信接口,用于与其他设备或通信网络通信。
第八方面,本发明实施例提供了一种计算机存储介质,用于储存存储计算机程序,计算机程序使计算机执行时实现上述第五方面中的网络优化方法。
本实施例提供的技术方案,通过获取用于输入至待分析的Pytorch神经网络的输入数据,控制Pytorch神经网络基于输入数据进行运行,确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点,而后基于Pytorch神经网络中网络节点所对应的前继节点和后继节点确定与Pytorch神经网络相对应的网络图结构,有效地实现了对Pytorch神经网络相对应的网络图结构进行准确的识别、获取操作,从而可以基于网络图结构对Pytorch神经网络进行相对应的优化处理操作,这样不仅可以将开发人员从繁琐的代码适配工作中解放出来,大大提高了对Pytorch神经网络进行优化操作的质量和效率,并且也不会污染Pytorch神经网络所对应的原始代码,此外,在对Pytorch神经网络的网络结构进行修改/更新操作时,避免了十分繁琐的数据处理操作,有效地提高了该方法的实用性和适用范围。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种Pytorch神经网络的图结构确定方法的流程示意图;
图2为本发明实施例提供的一种Pytorch神经网络的图结构确定方法的原理示意图;
图3为本发明实施例提供的一种Pytorch神经网络的图结构确定方法的流程示意图;
图4为本发明实施例提供的利用所述目标代码对所述原始代码进行更新的示意图一;
图5为本发明实施例提供的利用所述目标代码对所述原始代码进行更新的示意图二;
图6为本发明实施例提供的利用所述目标代码对所述原始代码进行更新的示意图三;
图7为本发明实施例提供另一种Pytorch神经网络的图结构确定方法的流程示意图;
图8为本发明实施例提供又一种Pytorch神经网络的图结构确定方法的流程示意图;
图9为本发明实施例提供另一种Pytorch神经网络的图结构确定方法的流程示意图;
图10为本发明实施例提供又一种Pytorch神经网络的图结构确定方法的流程示意图;
图11为本发明实施例提供另一种Pytorch神经网络的图结构确定方法的流程示意图;
图12为本发明实施例提供又一种Pytorch神经网络的图结构确定方法的流程示意图;
图13为本发明实施例提供另一种Pytorch神经网络的图结构确定方法的流程示意图;
图14为本发明应用实施例提供一种Pytorch神经网络的图结构确定方法的流程示意图;
图15为本发明实施例提供一种网络优化方法的流程示意图;
图16为本发明实施例提供的一种Pytorch神经网络的图结构确定装置的结构示意图;
图17为与图16所示实施例提供的Pytorch神经网络的图结构确定装置相对应的电子设备的结构示意图;
图18为本发明实施例提供的一种网络优化装置的结构示意图;
图19为与图18所示实施例提供的网络优化装置相对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于识别”。类似地,取决于语境,短语“如果确定”或“如果识别(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当识别(陈述的条件或事件)时”或“响应于识别(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
为了便于理解本实施例的技术方案,下面对现有技术进行相关说明:
随着科学技术的飞速发展,深度学习领域的神经网络训练框架种类越来越多,可谓百花齐放。其中,PyTorch被称为“由运行定义的”框架,由于其基于动态图的特性,灵活易用,使其从众多神经网络训练框架中脱颖而出,成为当今深度学习领域较为流行的训练框架之一;因此,基于Pytorch可以很方便的定义出神经网络,并对神经网络进行训练。
但是,目前pytorch对于能够实现神经网络架构搜索(Neural ArchitectureSearch,简称NAS)和对神经网络架构的输入数据进行量化操作的接口并不友好。举例来说,为了能够实现对某个特定的pytorch网络结构进行量化操作,需要直接修改网络定义时的代码数据。或者,为了能够实现NAS操作,需要开发人员修改原始代码,手动将需要搜索的Block类型替换掉原始网络中的对应模块。
由上述陈述内容可知,上述的网络处理操作都需要开发人员进行机械式的代码适配工作,工作量大,易出错,且会污染原始的代码。此外,当需要对原始网络结构进行修改时,整个机械式的适配工作,又要推倒重来,十分繁琐。
为了能够将开发人员从繁琐的代码适配工作中解放出来,本实施例提供了一种Pytorch神经网络的图结构确定方法、装置和设备,其中,图结构确定方法通过获取用于输入至待分析的Pytorch神经网络的输入数据,控制Pytorch神经网络基于输入数据进行运行,确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点;而后统计Pytorch神经网络中网络节点所对应的前继节点和后继节点,并基于Pytorch神经网络中网络节点所对应的前继节点和后继节点,确定与Pytorch神经网络相对应的网络图结构,网络图结构中包括:Pytorch神经网络中的网络节点以及网络节点之间的连接关系,有效地实现了对Pytorch神经网络相对应的网络图结构进行准确的识别、获取操作,从而可以基于网络图结构对Pytorch神经网络进行相对应的优化处理操作,这样不仅可以将开发人员从繁琐的代码适配工作中解放出来,大大提高了对Pytorch神经网络进行优化操作的质量和效率,并且也不会污染Pytorch神经网络所对应的原始代码,此外,在对Pytorch神经网络的网络结构进行修改/更新操作时,避免了十分繁琐的数据处理操作,有效地提高了该方法的实用性和适用范围。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
图1为本发明实施例提供的一种Pytorch神经网络的图结构确定方法的流程示意图;图2为本发明实施例提供的一种Pytorch神经网络的图结构确定方法的原理示意图;参考附图1-2所示,本实施例提供了一种Pytorch神经网络的图结构确定方法,该Pytorch神经网络的图结构确定方法的执行主体为Pytorch神经网络的图结构确定装置,可以理解的是,该图结构确定装置可以实现为软件、或者软件和硬件的组合。具体的,该方法可以包括:
步骤S101:获取用于输入至待分析的Pytorch神经网络的输入数据。
步骤S102:控制Pytorch神经网络基于输入数据进行运行,确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点。
步骤S103:基于Pytorch神经网络中网络节点所对应的前继节点和后继节点,确定与Pytorch神经网络相对应的网络图结构,网络图结构中包括:Pytorch神经网络中的网络节点以及网络节点之间的连接关系。
下面针对上述各个步骤进行详细阐述:
步骤S101:获取用于输入至待分析的Pytorch神经网络的输入数据。
其中,待分析的Pytorch神经网络是指需要确定网络图结构的Pytorch神经网络,以通过网络图结构实现对Pytorch神经网络进行相对应的优化处理操作。为了能够准确地确定与Pytorch神经网络所对应的网络图结构,则可以获取用于输入至Pytorch神经网络的输入数据,具体的,本实施例对于获取用于输入至Pytorch神经网络的输入数据的具体实现方式不做限定,本领域技术人员可以根据具体的应用需求和设计需求进行设置,例如:输入数据可以存储在预设区域中,通过访问预设区域即可获取到用于输入至Pytorch神经网络的输入数据。或者,图结构确定装置上可以设置有用于采集用户输入执行操作的传感器,在图结构确定装置获取到用户输入的执行操作之后,则可以根据执行操作生成并获得用于输入至待分析的Pytorch神经网络的输入数据。
当然的,本领域技术人员也可以采用其他的方式来获取用于输入至待分析的Pytorch神经网络的输入数据,只要能够保证对输入数据进行获取的准确可靠性即可,在此不再赘述。
步骤S102:控制Pytorch神经网络基于输入数据进行运行,确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点。
在获取到输入数据之后,则可以将输入数据输入至Pytorch神经网络,并控制Pytorch神经网络基于输入数据进行运行,在Pytorch神经网络进行运行的过程中,可以基于运行的数据流确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点。为了方便及时对网络节点所对应的前继节点和后继节点进行调取和查看,在确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点之后,可以对上述与网络节点相对应的前继节点和后继节点进行存储。如图2所示,网络节点中预先设置有用于存储数据的存储区域,该存储区域中可以存储有与网络节点相对应的以下相关数据:前继节点、后继节点、父节点、子节点、路径信息等等。
可以理解的是,Pytorch神经网络中可以包括多个网络节点,多个网络节点中的每个节点对应有前继节点和/或后继节点,具体的,对于Pytorch神经网络中的第一个网络节点而言,其可以对应有后继节点,并没有相对应的前继节点;对于Pytorch神经网络中的中间网络节点而言,其可以对应有前继节点和后继节点;对于Pytorch神经网络中的最后一个网络节点而言,其可以对应有前继节点,并没有相对应的后继节点。
步骤S103:基于Pytorch神经网络中网络节点所对应的前继节点和后继节点,确定与Pytorch神经网络相对应的网络图结构,网络图结构中包括:Pytorch神经网络中的网络节点以及网络节点之间的连接关系。
由于与Pytorch神经网络相对应的网络图结构与网络节点之间的关联关系有关,因此,为了能够准确地获取到与Pytorch神经网络相对应的网络图结构,在确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点之后,则可以对网络节点所对应的前继节点和后继节点进行分析处理,以确定与Pytorch神经网络相对应的网络图结构,该网络图结构中可以包括Pytorch神经网络中的网络节点以及网络节点之间的连接关系,从而有效地实现了对Pytorch神经网络相对应的网络图结构进行准确有效地获取操作。
在一些实例中,为了保证网络图结构获取的准确可靠性,在确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点之后,可以统计Pytorch神经网络中多个网络节点(或者全部网络节点)相对应的前继节点和后继节点,而后基于多个网络节点(或者全部网络节点)所对应的前继节点和后继节点进行分析处理,以确定与Pytorch神经网络相对应的网络图结构,该网络图结构中可以包括Pytorch神经网络中的多个网络节点(或者全部网络节点)以及网络节点之间的连接关系。
需要注意的是,上述Pytorch神经网络的图结构确定方法可以用于无人车上,此时,用于实现Pytorch神经网络的图结构确定方法的执行主体为Pytorch神经网络的图结构确定装置可以设置于待识别车辆上。具体的,对于图结构确定装置而言,可以根据不同类型的车辆对图结构确定装置进行调整,即根据车辆类型的不同,图结构确定装置中所包括的算法模块也会有所不同,此时,图结构确定装置不仅可以确定与Pytorch神经网络相对应的网络图结构,还可以实现的其他操作。例如,对于物流车辆、公共服务车辆、医疗服务车辆、终端服务车辆会涉及不同的图结构确定装置。下面分别针对这四种自动驾驶车辆对图结构确定装置中所包括的算法模块进行举例说明:
其中,物流车辆是指物流场景中使用的车辆,例如:可以是带自动分拣功能的物流车辆、带冷藏保温功能的物流车辆、带测量功能的物流车辆。这些物流车辆会涉及不同的算法模块。
例如,对于物流车辆,可以带有自动化的分拣装置,该分拣装置可以在物流车辆到达目的地后自动把货物取出并搬送、分拣、存放。这就涉及用于货物分拣的算法模块,该算法模块主要实现货物取出、搬运、分拣以及存放等逻辑控制。
又例如,针对冷链物流场景,物流车辆还可以带有冷藏保温装置,该冷藏保温装置可以实现运输的水果、蔬菜、水产品、冷冻食品以及其它易腐烂的食品进行冷藏或保温,使之处于合适的温度环境,解决易腐烂食品的长途运输问题。这就涉及用于冷藏保温控制的算法模块,该算法模块主要用于根据食品(或物品)性质、易腐性、运输时间、当前季节、气候等信息动态、自适应计算冷餐或保温的合适温度,根据该合适温度对冷藏保温装置进行自动调节,这样在车辆运输不同食品或物品时运输人员无需手动调整温度,将运输人员从繁琐的温度调控中解放出来,提高冷藏保温运输的效率。
又例如,在大多物流场景中,是根据包裹体积和/或重量进行收费的,而物流包裹的数量非常庞大,单纯依靠快递员对包裹体积和/或重量进行测量,效率非常低,人工成本较高。因此,在一些物流车辆中,增设了测量装置,可自动测量物流包裹的体积和/或重量,并计算物流包裹的费用。这就涉及用于物流包裹测量的算法模块,该算法模块主要用于识别物流包裹的类型,确定物流包裹的测量方式,如进行体积测量还是重量测量或者是同时进行体积和重量的组合测量,并可根据确定的测量方式完成体积和/或重量的测量,以及根据测量结果完成费用计算。
其中,公共服务车辆是指提供某种公共服务的车辆,例如:可以是消防车、除冰车、洒水车、铲雪车、垃圾处理车辆、交通指挥车辆等。这些公共服务车辆会涉及不同算法模块。
例如,对于自动驾驶的消防车,其主要任务是针对火灾现场进行合理的灭火任务,这就涉及用于灭火任务的算法模块,该算法模块至少需要实现火灾状况的识别、灭火方案的规划以及对灭火装置的自动控制等逻辑。
又例如,对于除冰车,其主要任务是清除路面上结的冰雪,这就涉及除冰的算法模块,该算法模块至少需要实现路面上冰雪状况的识别、根据冰雪状况制定除冰方案,如哪些路段需要采取除冰,哪些路段无需除冰,是否采用撒盐方式、撒盐克数等,以及在确定除冰方案的情况下对除冰装置的自动控制等逻辑。
其中,医疗服务车辆是指能够提供一种或多种医疗服务的自动驾驶车辆,该种车辆可提供消毒、测温、配药、隔离等医疗服务,这就涉及提供各种自助医疗服务的算法模块,这些算法模块主要实现消毒需求的识别以及对消毒装置的控制,以使消毒装置为病人进行消毒,或者对病人位置的识别,控制测温装置自动贴近病人额头等位置为病人进行测温,或者,用于实现对病症的判断,根据判断结果给出药方并需要实现对药品/药品容器的识别,以及对取药机械手的控制,使之按药方为病人抓取药品,等等。
其中,终端服务车辆是指可代替一些终端设备面向用户提供某种便利服务的自助型的自动驾驶车辆,例如这些车辆可以为用户提供打印、考勤、扫描、开锁、支付、零售等服务。
例如,在一些应用场景中,用户经常需要到特定位置去打印或扫描文档,费时费力。于是,出现一种可以为用户提供打印/扫描服务的终端服务车辆,这些服务车辆可以与用户终端设备互联,用户通过终端设备发出打印指令,服务车辆响应打印指令,自动打印用户所需的文档并可自动将打印出的文档送至用户位置,用户无需去打印机处排队,可极大地提高打印效率。或者,可以响应用户通过终端设备发出的扫描指令,移动至用户位置,用户将待扫描的文档放置的服务车辆的扫描工具上完成扫描,无需到打印/扫描机处排队,省时省力。这就涉及提供打印/扫描服务的算法模块,该算法模块至少需要识别与用户终端设备的互联、打印/扫描指令的响应、用户位置的定位以及行进控制等。
又例如,随着新零售场景的开展,越来越多的电商借助于自助售货机将商品销售送到了各大办公楼、公共区,但这些自助售货机被放置在固定位置,不可移动,用户需要到该自助售货机跟前才能购买所需商品,便利性还是较差。于是出现了可提供零售服务的自助驾驶车辆,这些服务车辆可以承载商品自动移动,并可提供对应的自助购物类APP或购物入口,用户借助于手机等终端通过APP或购物入口可以向提供零售服务的自动驾驶车辆进行下单,该订单中包括待购买的商品名称、数量以及用户位置,该车辆收到下单请求之后,可以确定当前剩余商品是否具有用户购买的商品以及数量是否足够,在确定具有用户购买的商品且数量足够的情况下,可携带这些商品自动移动至用户位置,将这些商品提供给用户,进一步提高用户购物的便利性,节约用户时间,让用户将时间用于更为重要的事情上。这就涉及提供零售服务的算法模块,这些算法模块主要实现响应用户下单请求、订单处理、商品信息维护、用户位置定位、支付管理等逻辑。
本实施例提供的Pytorch神经网络的图结构确定方法,通过获取用于输入至待分析的Pytorch神经网络的输入数据,控制Pytorch神经网络基于输入数据进行运行,确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点,而后基于Pytorch神经网络中网络节点所对应的前继节点和后继节点确定与Pytorch神经网络相对应的网络图结构,有效地实现了对Pytorch神经网络相对应的网络图结构进行准确的识别、获取操作,从而可以基于网络图结构对Pytorch神经网络进行相对应的优化处理操作,这样不仅可以将开发人员从繁琐的代码适配工作中解放出来,大大提高了对Pytorch神经网络进行优化操作的质量和效率,并且也不会污染Pytorch神经网络所对应的原始代码,此外,在对Pytorch神经网络的网络结构进行修改/更新操作时,避免了十分繁琐的数据处理操作,有效地提高了该方法的实用性和适用范围。
图3为本发明实施例提供的一种Pytorch神经网络的图结构确定方法的流程示意图;在上述实施例的基础上,继续参考附图3所示,在获取用于输入至待分析的Pytorch神经网络的输入数据之前,本实施例中的方法还可以包括:
步骤S301:获取与Pytorch神经网络相对应的原始代码以及与原始代码相对应的身份标识。
步骤S302:基于身份标识,确定与原始代码相对应的目标代码。
步骤S303:利用目标代码对原始代码进行更新,以通过目标代码确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点。
其中,对于Pytorch神经网络而言,由于所对应的原始代码并不具有数据流跟踪功能,因此,为了能够准确地对与Pytorch神经网络中网络节点相对应的前继节点和后继节点进行确定,则可以对Pytorch神经网络中的原始代码进行更新操作,以使得针对Pytorch神经网络的更新后的代码具有数据流跟踪功能,从而可以确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点。具体的,上述的原始代码可以对应于以下至少之一:用于获取输入至待分析的Pytorch神经网络的输入数据的输入节点;用于控制Pytorch神经网络基于输入数据进行运行的处理节点;用于生成与输入数据相对应的运行结果的输出节点,可以理解的是,输入节点的数量、处理节点的数量和输出节点的数量可以是一个或多个。
为了能够实现对Pytorch神经网络中的原始代码进行更新操作,则可以利用预设算法对Pytorch神经网络进行分析处理,以获取与Pytorch神经网络相对应的原始代码以及与原始代码相对应的身份标识,可以理解的是,Pytorch神经网络可以对应有一个或多个原始代码信息,每个原始代码均可以实现预设功能,具体的,上述的原始代码可以与Pytorch神经网络中所对应的数据流走向相关,并且,每个原始代码均对应有唯一的身份标识信息。
另外,针对Pytorch神经网络所对应的原始代码,预先设置有与原始代码具有相同身份标识的目标代码,因此,在获取到原始代码所对应的身份标识之后,则可以基于身份标识来确定与原始代码相对应的目标代码,之后,可以将原始代码替换为目标代码,这样可以实现通过目标代码来确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点。
举例来说,参考附图4所示,在原始代码对应于用于获取输入至待分析的Pytorch神经网络的输入数据的输入节点时,Pytorch神经网络的原始代码所对应的输入节点中可以存储有输入数据,通过原始代码所对应的身份标识可以确定目标代码,该目标代码所对应的目标节点中可以存储有:输入数据和输入节点属性,该输入节点属性可以包括与输入节点相对应的后继节点。在确定目标节点之后,则可以将输入节点更新为目标节点,从而实现了对与Pytorch神经网络相对应的原始代码进行更新操作。
相类似的,参考附图5所示,在原始代码对应于用于生成与输出数据相对应的运行结果的输出节点时,Pytorch神经网络的原始代码所对应的输出节点中可以存储有通过Pytorch神经网络所生成的运行结果,通过原始代码所对应的身份标识可以确定目标代码,该目标代码所对应的目标节点中可以存储有:运行结果和输出节点属性,该输出节点属性可以包括与输出节点相对应的前继节点。在确定目标节点之后,则可以将输出节点更新为目标节点,从而实现了对与Pytorch神经网络相对应的原始代码进行更新操作。
相类似的,参考附图6所示,在原始代码对应于用于控制Pytorch神经网络基于输入数据进行运行的处理节点时,Pytorch神经网络的原始代码所对应的处理节点中可以包括:用于实现基于输入数据控制Pytorch神经网络进行运行的第一钩子函数、运行函数和第二钩子函数,其中,第一钩子函数用于确定与当前网络节点相对应的前继节点,运行函数用于基于输入数据确定与Pytorch神经网络相对应的数据处理操作,第二钩子函数用于确定与当前网络节点相对应的后继节点,并向后继节点输入与数据运行操作相对应的运行结果。
之后,通过原始代码所对应的身份标识可以确定目标代码,该目标代码所对应的目标节点中可以包括:用于存储网络节点的节点属性的存储区域,该节点属性可以包括与网络节点相对应的前继节点、后继节点、父节点、子节点和路径等等。在确定目标节点之后,则可以将处理节点更新为目标节点,从而实现了对与Pytorch神经网络相对应的原始代码进行更新操作。
本实施例中,通过获取与Pytorch神经网络相对应的原始代码以及与原始代码相对应的身份标识,而后基于身份标识确定与原始代码相对应的目标代码,并利用目标代码对原始代码进行更新,有效地实现了对Pytorch神经网络所对应的原始代码进行了更新操作,以通过更新后的目标代码来确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点,从而有效地保证了对于网络节点相对应的前继节点和后继节点进行确定的准确可靠性。
图7为本发明实施例提供另一种Pytorch神经网络的图结构确定方法的流程示意图;在上述实施例的基础上,继续参考附图7所示,本实施例提供了一种对输入数据进行获取的实现方式,具体的,本实施例中的获取用于输入至待分析的Pytorch神经网络的输入数据可以包括:
步骤S701:获取用于输入至待分析的Pytorch神经网络中网络层的原始数据。
步骤S702:确定原始数据所对应输入节点的输入节点属性。
步骤S703:根据原始数据和输入节点属性,确定用于输入至待分析的Pytorch神经网络的输入数据。
其中,为了能够实现对Pytorch神经网络的图结构进行确定,可以获取用于输入至待分析的Pytorch神经网络中网络层的原始数据,该原始数据可以是用户直接输入至Pytorch神经网络的数据,或者,也可以是存储在预设区域中用于输入至Pytorch神经网络的数据。具体的,一个Pytorch神经网络可以对应有一个原始数据,在Pytorch神经网络中包括多个网络层(例如:包括第一网络层、第二网络层等等)时,在第一网络层获取到原始数据之后,第一网络层可以基于原始数据进行数据处理操作,并可以获取到与第一网络层相对应的第一处理结果;该第一处理结果可以输入至第二网络层,在第二网络层获取到第一处理结果之后,第二网络层可以基于第一处理结果进行数据处理操作,并可以获取到与第二网络层相对应的第二处理结果,该第二处理结果可以作为下一个网络层的输入数据,从而实现了可以基于一个原始数据实现对Pytorch神经网络的数据流进行跟踪操作。
在获取到原始数据之后,则可以确定原始数据所对应输入节点的输入节点属性,输入节点属性可以包括与输入节点相对应的后继节点,当然的,输入节点属性不仅可以包括上述的与输入节点相对应的后继节点,本领域技术人员可以根据具体的应用需求和设计需求进行设置,例如:输入节点属性可以包括当前输入节点所对应的身份标识等等。另外,本实施例对于确定原始数据所对应输入节点的输入节点属性的具体实现方式不做限定,本领域技术人员可以根据具体的应用需求和设计需求进行设置,例如:输入节点属性可以存储在预设区域,通过访问预设区域即可获取到输入节点属性。需要注意的是,在Pytorch神经网络中的输入节点并没有进行任何数据处理操作时,输入节点属性所包括的信息为空。
在获取到原始数据和输入节点属性之后,则可以对原始数据和输入节点属性进行分析处理,以确定用于输入至待分析的Pytorch神经网络的输入数据,具体的,根据原始数据和输入节点属性,确定用于输入至待分析的Pytorch神经网络的输入数据可以包括:对原始数据和输入节点属性进行封装,获得用于输入至待分析的Pytorch神经网络的输入数据。
本实施例中,通过获取用于输入至待分析的Pytorch神经网络中网络层的原始数据,确定原始数据所对应输入节点的输入节点属性,而后根据原始数据和输入节点属性,确定用于输入至待分析的Pytorch神经网络的输入数据,从而有效地实现了对输入数据进行获取的准确可靠性,并且,由于输入数据中包括用于输入至Pytorch神经网络的原始数据和输入节点属性,因此,在基于输入数据来控制Pytorch神经网络进行运行时,可以确定与网络节点相对应的前继节点和后继节点,并可以基于与网络节点相对应的前继节点和后继节点来确定与Pytorch神经网络相对应的网络图结构,进一步提高了对网络图结构进行确定的质量和效率。
图8为本发明实施例提供又一种Pytorch神经网络的图结构确定方法的流程示意图;在上述实施例的基础上,继续参考附图8所示,在获取用于输入至待分析的Pytorch神经网络的输入数据之后,本实施例中的方法还可以包括:
步骤S801:将获取到输入数据的网络节点,确定为与输入数据所对应输入节点的后继节点。
步骤S802:将输入节点与后继节点的对应关系存储在输入节点中。
在网络节点获取到输入数据之后,此时,对于输入数据所对应的输入节点而言,网络节点即是输入节点的后继节点,因此,则可以将获取到输入数据的网络节点确定为与输入数据所对应输入节点的后继节点。为了能够及时获取到与Pytorch神经网络中各个网络节点所对应的前继节点和后继节点,则可以将输入节点与后继节点之间的对应关系存储在输入节点中,具体的,输入节点中可以设置有存储区域,在获取到输入节点与后继节点之间的对应关系之后,则可以将输入节点与后继节点之间的对应关系存储在上述存储区域中,以通过访问存储区域可以获取到输入节点与后继节点之间的对应关系。
本实施例中,在获取用于输入至待分析的Pytorch神经网络的输入数据之后,通过将获取到输入数据的网络节点确定为与输入数据所对应输入节点的后继节点,而后将输入节点与后继节点的对应关系存储在输入节点中,从而便于实现对与Pytorch神经网络中网络节点相对应的前继节点和后继节点进行确定,进一步提高了对Pytorch神经网络相对应的网络图结构进行确定的准确可靠性。
图9为本发明实施例提供另一种Pytorch神经网络的图结构确定方法的流程示意图;在上述实施例的基础上,继续参考附图9所示,在确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点之后,本实施例中的方法还可以包括:
步骤S901:获取用于对与网络节点相对应的前继节点和后继节点进行存储的存储区域。
在确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点之后,为了方便对Pytorch神经网络中网络节点相对应的前继节点和后继节点进行统计,则可以将与网络节点相对应的前继节点和后继节点进行存储,具体的,可以确定用于对与网络节点相对应的前继节点和后继节点进行存储的存储区域,该存储区域可以位于用于控制Pytorch神经网络基于输入数据进行运行的网络节点中。
另外,本实施例对于获取存储区域的实现方式不做限定,本领域技术人员可以根据具体的应用需求和应用场景进行设置,在一些实例中,获取用于对与网络节点相对应的前继节点和后继节点进行存储的存储区域可以包括:获取与Pytorch神经网络相对应的网络层结构;根据网络层结构,确定与网络节点相对应的存储区域,其中,每个网络层结构对应一个存储区域。
具体的,在不同的应用场景中,不同的Pytorch神经网络可以对应有不同的网络图结构,而不同的网络图结构可以对应有不同数量的网络层结构。为了能够实现对Pytorch神经网络中网络图结构进行确定的准确可靠性,可以获取与Pytorch神经网络相对应的网络层结构,而后可以统计网络层结构的数量,而后基于网络层结构的数量来确定与网络节点相对应的存储区域,其中,每个网络层结构可以对应一个存储区域,即网络层结构的数量与存储区域的数量相同。
步骤S902:将与网络节点相对应的前继节点和后继节点存储在存储区域中。
具体的,在获取到与网络节点相对应的前继节点和后继节点和存储区域之后,则可以将与网络节点相对应的前继节点和后继节点存储在存储区域中,从而便于通过存储区域可以及时、有效地获取到与网络节点相对应的前继节点和后继节点,进一步提高了对Pytorch神经网络的图结构进行确定的及时可靠性。
图10为本发明实施例提供又一种Pytorch神经网络的图结构确定方法的流程示意图;在上述实施例的基础上,继续参考附图10所示,为了提高该方法的实用性,在控制Pytorch神经网络基于输入数据进行运行之后,本实施例中的方法还可以包括:
步骤S1001:生成与输入数据相对应的运行结果。
步骤S1002:确定与运行结果所对应输出节点的输出节点属性。
步骤S1003:基于输出节点属性和运行结果,生成并输出与输入数据相对应的目标运行结果。
其中,在控制Pytorch神经网络基于输入数据进行运行之后,Pytorch神经网络可以生成与输入数据相对应的运行结果,在生成与输入数据相对应的运行结果之后,则可以确定与运行结果所对应输出节点的输出节点属性,该输出节点属性可以包括:与输出节点相对应的前继节点。可以理解的是,输出节点属性不仅可以包括上述的与输出节点相对应的前继节点,本领域技术人员可以根据具体的应用需求和设计需求进行设置,例如:输出节点属性可以包括当前输出节点所对应的身份标识等等,在此不再赘述。另外,本实施例对于确定与运行结果所对应输出节点的输出节点属性的具体实现方式不做限定,本领域技术人员可以根据具体的应用需求和设计需求进行设置,例如:输出节点属性可以存储在预设区域,通过访问预设区域即可获取到输出节点属性。
在获取到输出节点属性和运行数据之后,则可以对输出节点属性和运行结果进行分析处理,以生成并输出与输入数据相对应的目标运行结果。具体的,基于输出节点属性和运行结果,生成并输出与输入数据相对应的目标运行结果可以包括:对输出节点属性和运行结果进行封装,生成并输出与输入数据相对应的目标运行结果。
本实施例中,在控制Pytorch神经网络基于输入数据进行运行之后,通过生成与输入数据相对应的运行结果,确定与运行结果所对应输出节点的输出节点属性,并基于输出节点属性和运行结果,生成并输出与输入数据相对应的目标运行结果,从而有效地实现了对目标运行结果进行获取的准确可靠性,并且,由于目标运行结果中包括由Pytorch神经网络所输出的运行结果和输出节点属性,因此,在基于输入数据来控制Pytorch神经网络进行运行时,可以更加准确、有效地确定与网络节点相对应的前继节点和后继节点,并且便于基于与网络节点相对应的前继节点和后继节点来确定与Pytorch神经网络相对应的网络图结构,进一步提高了对网络图结构进行确定的质量和效率。
图11为本发明实施例提供另一种Pytorch神经网络的图结构确定方法的流程示意图;在上述实施例的基础上,参考附图11所示,在生成并输出与输入数据相对应的目标运行结果之后,本实施例中的方法还可以包括:
步骤S1101:将用于生成目标运行结果的网络节点,确定为与目标运行结果所对应输出节点的前继节点。
步骤S1102:将输出节点与前继节点的对应关系存储在输出节点中。
在网络节点生成目标运行结果、并确定与目标运行结果所对应的输出节点之后,对于目标运行结果所对应的输出节点而言,网络节点即是输出节点的前继节点。因此,则可以将用于生成目标运行结果的网络节点确定为与目标运行结果所对应输出节点的前继节点,为了能够及时获取到与Pytorch神经网络中各个网络节点所对应的前继节点和后继节点,则可以将输出节点与前继节点的对应关系存储在输出节点中,具体的,输出节点中可以设置有存储区域,在获取到输出节点与前继节点之间的对应关系之后,则可以将输出节点与前继节点之间的对应关系存储在上述存储区域中,这样通过访问存储区域即可获取到输出节点与前继节点之间的对应关系。
本实施例中,在生成并输出与输入数据相对应的目标运行结果之后,通过将用于生成目标运行结果的网络节点确定为与目标运行结果所对应输出节点的前继节点,而后将输出节点与前继节点的对应关系存储在输出节点中,从而便于实现对与Pytorch神经网络中网络节点相对应的前继节点和后继节点进行确定,进一步提高了对Pytorch神经网络相对应的网络图结构进行确定的准确可靠性。
图12为本发明实施例提供又一种Pytorch神经网络的图结构确定方法的流程示意图;在上述任意一个实施例的基础上,参考附图12所示,在确定与Pytorch神经网络相对应的网络图结构之后,为了便于基于网络图结构来实现对Pytorch神经网络的处理操作,本实施例中的方法还可以包括:
步骤S1201:获取与Pytorch神经网络相对应的量化请求。
步骤S1202:基于量化请求对网络图结构进行量化处理,获得与Pytorch神经网络相对应的目标神经网络。
其中,在用户针对Pytorch神经网络中所对应的权重系数存在量化需求时,则可以针对Pytorch神经网络生成量化请求,具体的,用户可以对用于实现Pytorch神经网络的图结构确定方法的图结构确定装置输入执行操作,通过执行操作即可获取到与Pytorch神经网络相对应的量化请求。在获取到量化请求之后,则可以基于量化请求对网络图结构进行量化处理,这样可以获得进行量化处理后的目标网络图结构,而后基于目标网络图结构即可确定与Pytorch神经网络相对应的目标神经网络,从而快速实现了对神经网络进行量化操作,同时保证了对目标神经网络进行确定的准确可靠性。
图13为本发明实施例提供另一种Pytorch神经网络的图结构确定方法的流程示意图;在上述任意一个实施例的基础上,参考附图13所示,在确定与Pytorch神经网络所对应的网络图结构之后,为了便于基于网络图结构来实现对Pytorch神经网络的处理操作,本实施例中的方法还可以包括:
步骤S1301:获取网络搜索请求。
步骤S1302:在与多个待选的Pytorch神经网络所对应的网络图结构中,确定与网络搜索请求相对应的目标网络图结构。
步骤S1303:将目标网络图结构所对应的Pytorch神经网络,确定为与网络搜索请求相对应的目标网络。
其中,在用户针对Pytorch神经网络存在网络搜索需求时,则可以对用于实现Pytorch神经网络的图结构确定方法的图结构确定装置输入执行操作,通过执行操作即可获取到与Pytorch神经网络相对应的网络搜索请求。在获取到网络搜索请求之后,在与多个待选的Pytorch神经网络所对应的网络图结构中,确定与网络搜索请求相对应的目标网络图结构,可以理解的是,不同的网络图结构所对应的Pytorch神经网络不同,并且,不同的Pytorch神经网络可以实现不同的数据处理功能,而所获得的目标网络图结构可以满足网络搜索请求所对应的网络搜索需求。在确定目标网络图结构之后,则可以将目标网络图结构所对应的Pytorch神经网络确定为与网络搜索请求相对应的目标网络,从而有效地实现了能够获取到满足网络搜索需求的目标网络,进一步提高了该方法的实用性。
举例来说,多个待选的Pytorch神经网络包括:Pytorch神经网络A、Pytorch神经网络B、Pytorch神经网络C和Pytorch神经网络D,上述Pytorch神经网络A所对应的网络图结构为结构a、Pytorch神经网络B所对应的网络图结构为结构b、Pytorch神经网络C所对应的网络图结构为结构c和Pytorch神经网络D所对应的网络图结构为结构d。
在获取到网络搜索请求之后,则可以在上述与多个待选的Pytorch神经网络所对应的网络图结构中,确定与网络搜索请求相对应的目标网络图结构,假设所确定的目标网络图结构可以为结构c,而后则可以将结构c所对应的Pytorch神经网络C确定为与网络搜索请求相对应的目标网络,从而有效地保证了对目标网络进行确定的质量和效率。
具体应用时,参考附图14所示,本应用实施例提供了一种基于钩子函数的pytorch神经网络的图结构确定方法,该方法可以在进行NAS/数据量化等操作时,将算法开发人员从繁琐的代码调整适配工作中解放出来,这样可以极大地提高数据处理的质量和效率。具体的,该方法可以包括如下步骤:
步骤1:替换Pytorch神经网络所对应的原始代码。
具体的,针对Pytorch神经网络中与数据流运行相关的原始代码,配置有与原始代码相对应的目标代码,该目标代码可以位于配置代码库中,通过访问配置代码库,则可以获取到与原始代码相对应的目标代码,而后可以利用目标代码替换原始代码,这样可以通过具有数据流跟踪功能的目标代码确定Pytorch神经网络中网络节点相对应的前继节点和后继节点。
需要注意的是,在替换Pytorch神经网络所对应的原始代码时,为了遵循Pytorch神经网络的模块定义结构,所上传的目标代码中可以与Pytorch神经网络中原始代码具有相同的名称,这样可以利用Pytorch代码语言的原生语法直接换掉与Pytorch神经网络中与数据流运行相关的原始代码,即通过原始代码所对应的名称,可以将Pytorch神经网络中所定义的原始代码,自动使用更新后的目标代码,从而实现了在获得与Pytorch神经网络相对应的网络图结构的同时,可以最小化对原始代码的改动,适配成本与适配出错率几乎为0,相比于算法开发人员替换代码的实现方式而言,上述实现方式的适配质量和效率较高。
步骤2:获取用于输入至Pytorch神经网络的输入数据Qtensor。
步骤3:将输入数据Qtensor输入至Pytorch神经网络,进行网络运行操作。
参考附图2所示,该图结构确定方法利用了Pytorch神经网络原生的钩子机制来进行相对应的数据处理操作,该钩子机制可以包括第一钩子函数pre_hooks和第二钩子函数hooks,具体的,在获取到输入数据Qtensor之后,每个网络节点可以通过call函数先调用pre_hooks(可以自定义添加)对输入数据进行预处理,以确定当前pre_hooks所对应网络节点的前继节点。而后,可以调用执行函数forward()、并基于输入数据Qtensor执行相对应的数据处理操作,从而可以获得与输入数据Qtensor相对应的运行结果。最后通过第二钩子函数hooks对运行结果进行输出,并确定与当前网络节点的后继节点。
需要注意的是,在利用pre_hooks(可以自定义添加)对输入数据进行预处理时,可以对Pytorch神经网络中数据流进行跟踪,并且,还可以对预设区域(例如:计算图节点QGraphNode)中所存储的前继节点和后继节点进行更新,以便统计与所有网络节点相对应的前继节点和后继节点,并基于所有网络节点相对应的前继节点和后继节点来确定与Pytorch神经网络相对应的网络图结构。
步骤4:计算与Pytorch神经网络相对应的网络图结构。
统计Pytorch神经网络中所有网络节点的前继节点和后继节点,基于上述所有网络节点所对应的前继节点和后继节点即可计算出与Pytorch神经网络相对应的网络图结构。
本应用实施例提供的基于钩子函数的pytorch神经网络的图结构确定方法,利用Pytorch原生的钩子函数机制,实现了对pytorch神经网络的图结构进行准确、有效地提取操作,在确定图结构的过程中,使得更改后的网络结构与Pytorch神经网络的原始结构相对齐,从而可以利用Pytorch神经网络原生的语法替换原始代码,这样有效地实现了在获取到pytorch神经网络的图结构的同时,最小化对原始代码的污染,进一步提高了该方法使用的灵活可靠性和实用性。
图15为本发明实施例提供一种网络优化方法的流程示意图;参考附图15所示,本实施例提供了一种网络优化方法,该网络优化方法的执行主体为网络优化装置,可以理解的是,该网络优化可以实现为软件、或者软件和硬件的组合。具体的,该方法可以包括:
步骤S1501:获取与Pytorch神经网络相对应的网络优化请求。
步骤S1502:确定与Pytorch神经网络相对应的网络图结构,网络图结构中包括:Pytorch神经网络中的网络节点以及网络节点之间的连接关系。
步骤S1503:基于网络优化请求对网络图结构进行优化,获得目标网络图结构。
步骤S1504:根据目标网络图结构,生成与网络优化请求相对应的目标Pytorch神经网络。
下面针对上述各个步骤进行详细阐述:
步骤S1501:获取与Pytorch神经网络相对应的网络优化请求。
其中,在用户针对Pytorch神经网络存在优化需求时,则可以针对Pytorch神经网络生成网络优化请求,具体的,网络优化请求可以包括以下至少之一:用于搜索满足用户需求的网络搜索请求、用于对Pytorch神经网络中的权重系数进行量化操作的量化请求等等,可以理解的是,不同的优化需求可以对应有不同的网络优化请求。
具体的,在用户针对Pytorch神经网络存在优化需求时,则可以对用于实现Pytorch神经网络的图结构确定方法的图结构确定装置输入执行操作,通过执行操作即可获取到与Pytorch神经网络相对应的网络优化请求。当然的,本领域技术人员也可以采用其他的实现方式来获取与Pytorch神经网络相对应的网络优化请求,只要能够保证对与Pytorch神经网络相对应的网络优化请求进行获取的准确可靠性即可,在此不再赘述。
步骤S1502:确定与Pytorch神经网络相对应的网络图结构,网络图结构中包括:Pytorch神经网络中的网络节点以及网络节点之间的连接关系。
在获取到网络优化请求之后,则可以基于网络优化请求来确定与Pytorch神经网络相对应的网络图结构,该网络图结构中可以包括Pytorch神经网络中的网络节点以及网络节点之间的连接关系。
在一些实例中,确定与Pytorch神经网络相对应的网络图结构可以包括:获取用于输入至待分析的Pytorch神经网络的输入数据;控制Pytorch神经网络基于输入数据进行运行,确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点;基于Pytorch神经网络中网络节点所对应的前继节点和后继节点,确定与Pytorch神经网络相对应的网络图结构。
具体的,本实施例中确定与Pytorch神经网络相对应的网络图结构的具体实现方式和实现效果与上述图1所对应的实施例中确定与Pytorch神经网络相对应的网络图结构的具体实现方式和实现效果相类似,具体可参考上述陈述内容,在此不再赘述。
步骤S1503:基于网络优化请求对网络图结构进行优化,获得目标网络图结构。
在获取到网络图结构之后,则可以基于网络优化请求对网络图结构进行优化操作,可以理解的是,不同的网络优化请求可以对应有不同的优化操作,在进行优化操作之后,则可以获取到进行优化后的目标网络图结构。
步骤S1504:根据目标网络图结构,生成与网络优化请求相对应的目标Pytorch神经网络。
在获取到目标网络图结构之后,则可以基于目标网络图结构生成与网络优化请求相对应的目标Pytorch神经网络,从而有效地实现了通过对与Pytorch神经网络相对应的网络图结构进行调整,即实现了对Pytorch神经网络进行优化操作,这样不仅可以将开发人员从繁琐的代码适配工作中解放出来,并且还大大提高了对网络架构进行优化操作的质量和效率,进一步提高了该方法的实用性。
图16为本发明实施例提供的一种Pytorch神经网络的图结构确定装置的结构示意图;参考附图16所示,本实施例提供了一种Pytorch神经网络的图结构确定装置,该Pytorch神经网络的图结构确定装置可以执行上述图1所示的Pytorch神经网络的图结构确定方法,具体的,该图结构确定装置可以包括:第一获取模块11、第一控制模块12和第一处理模块13。
第一获取模块11,用于获取用于输入至待分析的Pytorch神经网络的输入数据;
第一控制模块12,用于控制Pytorch神经网络基于输入数据进行运行,确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点;
第一处理模块13,用于基于Pytorch神经网络中网络节点所对应的前继节点和后继节点,确定与Pytorch神经网络相对应的网络图结构,网络图结构中包括:Pytorch神经网络中的网络节点以及网络节点之间的连接关系。
在一些实例中,在获取用于输入至待分析的Pytorch神经网络的输入数据之前,本实施例中的第一获取模块11和第一处理模块13可以用于以下步骤:
第一获取模块11,用于获取与Pytorch神经网络相对应的原始代码以及与原始代码相对应的身份标识;
第一处理模块13,用于基于身份标识,确定与原始代码相对应的目标代码;利用目标代码对原始代码进行更新,以通过目标代码确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点。
在一些实例中,原始代码对应以下至少之一:用于获取输入至待分析的Pytorch神经网络的输入数据的输入节点;用于控制Pytorch神经网络基于输入数据进行运行的处理节点;用于生成与输入数据相对应的运行结果的输出节点。
在一些实例中,在第一获取模块11获取用于输入至待分析的Pytorch神经网络的输入数据时,该第一获取模块11用于执行:获取用于输入至待分析的Pytorch神经网络中网络层的原始数据;确定原始数据所对应输入节点的输入节点属性;根据原始数据和输入节点属性,确定用于输入至待分析的Pytorch神经网络的输入数据。
在一些实例中,输入节点属性包括:与输入节点相对应的后继节点。
在一些实例中,在第一获取模块11根据原始数据和输入节点属性,确定用于输入至待分析的Pytorch神经网络的输入数据时,该第一获取模块11用于执行:对原始数据和输入节点属性进行封装,获得用于输入至待分析的Pytorch神经网络的输入数据。
在一些实例中,在获取用于输入至待分析的Pytorch神经网络的输入数据之后,本实施例中的第一处理模块13用于执行:将获取到输入数据的网络节点,确定为与输入数据所对应输入节点的后继节点;将输入节点与后继节点的对应关系存储在输入节点中。
在一些实例中,在确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点之后,本实施例中的第一获取模块11和第一处理模块13可以用于执行以下步骤;
第一获取模块11,用于获取用于对与网络节点相对应的前继节点和后继节点进行存储的存储区域;
第一处理模块13,用于将与网络节点相对应的前继节点和后继节点存储在存储区域中。
在一些实例中,存储区域位于用于控制Pytorch神经网络基于输入数据进行运行的处理节点中。
在一些实例中,在第一获取模块11获取用于对与网络节点相对应的前继节点和后继节点进行存储的存储区域时,该第一获取模块11可以用于执行:获取与Pytorch神经网络相对应的网络层结构;根据网络层结构,确定与网络节点相对应的存储区域,其中,每个网络层结构对应一个存储区域。
在一些实例中,在控制Pytorch神经网络基于输入数据进行运行之后,本实施例中的第一处理模块13可以用于执行:生成与输入数据相对应的运行结果;确定与运行结果所对应输出节点的输出节点属性;基于输出节点属性和运行结果,生成并输出与输入数据相对应的目标运行结果。
在一些实例中,输出节点属性包括:与输出节点相对应的前继节点。
在一些实例中,在第一处理模块13基于输出节点属性和运行结果,生成并输出与输入数据相对应的目标运行结果时,该第一处理模块13可以用于执行:对输出节点属性和运行结果进行封装,生成并输出与输入数据相对应的目标运行结果。
在一些实例中,在生成并输出与输入数据相对应的目标运行结果之后,本实施例中的第一处理模块13可以用于执行:将用于生成目标运行结果的网络节点,确定为与目标运行结果所对应输出节点的前继节点;将输出节点与前继节点的对应关系存储在输出节点中。
在一些实例中,在确定与Pytorch神经网络相对应的网络图结构之后,本实施例中的第一获取模块11和第一处理模块13可以用于执行以下步骤:
第一获取模块11,用于获取与Pytorch神经网络相对应的量化请求;
第一处理模块13,用于基于量化请求对网络图结构进行量化处理,获得与Pytorch神经网络相对应的目标神经网络。
在一些实例中,在确定与Pytorch神经网络所对应的网络图结构之后,本实施例中的第一获取模块11和第一处理模块13可以用于执行以下步骤:
第一获取模块11,用于获取网络搜索请求;
第一处理模块13,用于在与多个待选的Pytorch神经网络所对应的网络图结构中,确定与网络搜索请求相对应的目标网络图结构;将目标网络图结构所对应的Pytorch神经网络,确定为与网络搜索请求相对应的目标网络。
图16所示装置可以执行图1至图14所示中的实施例的方法,本实施例未详细描述的部分,可参考对图1至图14所示中的实施例的相关说明。该技术方案的执行过程和技术效果参见图1至图14所示实施例中的描述,在此不再赘述。
在一个可能的设计中,图16所示Pytorch神经网络的图结构确定装置的结构可实现为一电子设备,该电子设备可以是手机、平板电脑、服务器等各种设备。如图17所示,该电子设备可以包括:第一处理器21和第一存储器22。其中,第一存储器22用于存储支持电子设备执行上述图1-图14所示中的至少部分实施例中提供的Pytorch神经网络的图结构确定方法的程序,第一处理器21被配置为用于执行第一存储器22中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第一处理器21执行时能够实现如下步骤:
获取用于输入至待分析的Pytorch神经网络的输入数据;
控制Pytorch神经网络基于输入数据进行运行,确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点;
基于Pytorch神经网络中网络节点所对应的前继节点和后继节点,确定与Pytorch神经网络相对应的网络图结构,网络图结构中包括:Pytorch神经网络中的网络节点以及网络节点之间的连接关系。
可选地,第一处理器21还用于执行前述图1-图14所示中的至少部分实施例中的全部或部分步骤。
其中,电子设备的结构中还可以包括第一通信接口23,用于电子设备与其他设备或通信网络通信。
另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图1-图14所示中的至少部分实施例中Pytorch神经网络的图结构确定方法所涉及的程序。
图18为本发明实施例提供的一种网络优化装置的结构示意图;参考附图18所示,本实施例提供了一种网络优化装置,该网络优化装置可以执行图15所示的网络优化方法,具体的,该网络优化装置可以包括:第二获取模块31、第二确定模块32、第二优化模块33和第二处理模块34。
第二获取模块31,用于获取与Pytorch神经网络相对应的网络优化请求。
第二确定模块32,用于确定与Pytorch神经网络相对应的网络图结构,网络图结构中包括:Pytorch神经网络中的网络节点以及网络节点之间的连接关系。
第二优化模块33,用于基于网络优化请求对网络图结构进行优化,获得目标网络图结构。
第二处理模块34,用于根据目标网络图结构,生成与网络优化请求相对应的目标Pytorch神经网络。
在一些实例中,在第二确定模块32确定与Pytorch神经网络相对应的网络图结构时,该第二确定模块32可以用于执行:获取用于输入至待分析的Pytorch神经网络的输入数据;控制Pytorch神经网络基于输入数据进行运行,确定与Pytorch神经网络中网络节点相对应的前继节点和后继节点;基于Pytorch神经网络中网络节点所对应的前继节点和后继节点,确定与Pytorch神经网络相对应的网络图结构。
图18所示装置可以执行图1至图15所示中的实施例的方法,本实施例未详细描述的部分,可参考对图1至图15所示中的实施例的相关说明。该技术方案的执行过程和技术效果参见图1至图15所示实施例中的描述,在此不再赘述。
在一个可能的设计中,图18所示网络优化装置的结构可实现为一电子设备,该电子设备可以是手机、平板电脑、服务器等各种设备。如图19所示,该电子设备可以包括:第二处理器41和第二存储器42。其中,第二存储器42用于存储支持电子设备执行上述图1-图15所示中的至少部分实施例中提供的网络优化方法的程序,第二处理器41被配置为用于执行第二存储器42中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第二处理器41执行时能够实现如下步骤:
获取与Pytorch神经网络相对应的网络优化请求;
确定与Pytorch神经网络相对应的网络图结构,网络图结构中包括:Pytorch神经网络中的网络节点以及网络节点之间的连接关系;
基于网络优化请求对网络图结构进行优化,获得目标网络图结构;
根据目标网络图结构,生成与网络优化请求相对应的目标Pytorch神经网络。
可选地,第二处理器41还用于执行前述图1-图15所示中的至少部分实施例中的全部或部分步骤。
其中,电子设备的结构中还可以包括第二通信接口43,用于电子设备与其他设备或通信网络通信。
另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图1-图15所示中的至少部分实施例中网络优化方法所涉及的程序。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

1.一种Pytorch神经网络的图结构确定方法,包括:
获取用于输入至待分析的Pytorch神经网络的输入数据;
控制所述Pytorch神经网络基于所述输入数据进行运行,确定与所述Pytorch神经网络中网络节点相对应的前继节点和后继节点;
基于所述Pytorch神经网络中网络节点所对应的前继节点和后继节点,确定与所述Pytorch神经网络相对应的网络图结构,所述网络图结构中包括:Pytorch神经网络中的网络节点以及所述网络节点之间的连接关系。
2.根据权利要求1所述的方法,其中,在获取用于输入至待分析的Pytorch神经网络的输入数据之前,所述方法还包括:
获取与所述Pytorch神经网络相对应的原始代码以及与所述原始代码相对应的身份标识;
基于所述身份标识,确定与所述原始代码相对应的目标代码;
利用所述目标代码对所述原始代码进行更新,以通过所述目标代码确定与所述Pytorch神经网络中网络节点相对应的前继节点和后继节点。
3.根据权利要求1所述的方法,其中,获取用于输入至待分析的Pytorch神经网络的输入数据,包括:
获取用于输入至待分析的Pytorch神经网络中网络层的原始数据;
确定所述原始数据所对应输入节点的输入节点属性;
根据所述原始数据和所述输入节点属性,确定用于输入至待分析的Pytorch神经网络的输入数据。
4.根据权利要求1所述的方法,其中,在获取用于输入至待分析的Pytorch神经网络的输入数据之后,所述方法还包括:
将获取到所述输入数据的网络节点,确定为与所述输入数据所对应输入节点的后继节点;
将所述输入节点与所述后继节点的对应关系存储在所述输入节点中。
5.根据权利要求1所述的方法,其中,在确定与所述Pytorch神经网络中网络节点相对应的前继节点和后继节点之后,所述方法还包括:
获取用于对与所述网络节点相对应的前继节点和后继节点进行存储的存储区域;
将与所述网络节点相对应的前继节点和后继节点存储在所述存储区域中。
6.根据权利要求5所述的方法,其中,获取用于对与所述网络节点相对应的前继节点和后继节点进行存储的存储区域,包括:
获取与所述Pytorch神经网络相对应的网络层结构;
根据所述网络层结构,确定与所述网络节点相对应的存储区域,其中,每个网络层结构对应一个存储区域。
7.根据权利要求1所述的方法,其中,在控制所述Pytorch神经网络基于所述输入数据进行运行之后,所述方法还包括:
生成与所述输入数据相对应的运行结果;
确定与所述运行结果所对应输出节点的输出节点属性;
基于所述输出节点属性和所述运行结果,生成并输出与所述输入数据相对应的目标运行结果。
8.根据权利要求7所述的方法,其中,在生成并输出与所述输入数据相对应的目标运行结果之后,所述方法还包括:
将用于生成所述目标运行结果的网络节点,确定为与所述目标运行结果所对应输出节点的前继节点;
将所述输出节点与所述前继节点的对应关系存储在所述输出节点中。
9.根据权利要求1-8中任意一项所述的方法,其中,在确定与所述Pytorch神经网络相对应的网络图结构之后,所述方法还包括:
获取与所述Pytorch神经网络相对应的量化请求;
基于所述量化请求对所述网络图结构进行量化处理,获得与所述Pytorch神经网络相对应的目标神经网络。
10.根据权利要求1-8中任意一项所述的方法,其中,在确定与所述Pytorch神经网络所对应的网络图结构之后,所述方法还包括:
获取网络搜索请求;
在与多个待选的Pytorch神经网络所对应的网络图结构中,确定与所述网络搜索请求相对应的目标网络图结构;
将所述目标网络图结构所对应的Pytorch神经网络,确定为与所述网络搜索请求相对应的目标网络。
11.一种网络优化方法,包括:
获取与Pytorch神经网络相对应的网络优化请求;
确定与所述Pytorch神经网络相对应的网络图结构,所述网络图结构中包括:Pytorch神经网络中的网络节点以及所述网络节点之间的连接关系;
基于所述网络优化请求对所述网络图结构进行优化,获得目标网络图结构;
根据所述目标网络图结构,生成与所述网络优化请求相对应的目标Pytorch神经网络。
12.一种电子设备,包括:存储器、处理器;其中,
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求1至10中任一项所述的Pytorch神经网络的图结构确定方法。
CN202110357946.3A 2021-04-01 2021-04-01 Pytorch神经网络的图结构确定方法、装置和设备 Pending CN115169522A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110357946.3A CN115169522A (zh) 2021-04-01 2021-04-01 Pytorch神经网络的图结构确定方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110357946.3A CN115169522A (zh) 2021-04-01 2021-04-01 Pytorch神经网络的图结构确定方法、装置和设备

Publications (1)

Publication Number Publication Date
CN115169522A true CN115169522A (zh) 2022-10-11

Family

ID=83476302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110357946.3A Pending CN115169522A (zh) 2021-04-01 2021-04-01 Pytorch神经网络的图结构确定方法、装置和设备

Country Status (1)

Country Link
CN (1) CN115169522A (zh)

Similar Documents

Publication Publication Date Title
KR102476482B1 (ko) 전자상거래 풀필먼트를 위한 효율적인 루트 선정의 시스템, 장치 및 방법
US11216868B2 (en) Computer vision system and method for automatic checkout
US11270372B2 (en) System for improving in-store picking performance and experience by optimizing tote-fill and order batching of items in retail store and method of using same
US20170206500A1 (en) Real-time determination of delivery/shipping using multi-shipment rate cards
US20170046653A1 (en) Planning of transportation requests
US20130103539A1 (en) Intelligent shopping assistant
CN107833083A (zh) 一种货物订单处理方法、装置、服务器、购物终端及系统
KR20220046539A (ko) 컴퓨터에 의해 결정되는 효율적인 패키징 결정을 위한 시스템 및 방법
US20170206621A1 (en) Systems and Methods for Determining the Effectiveness of Warehousing
TW202046197A (zh) 用於批次揀選最佳化的電腦實施的系統與方法
KR102548216B1 (ko) 비용 최적화된 구성을 생성하기 위한 패키지 구성의 시뮬레이션을 위한 시스템 및 방법
JP7174080B2 (ja) 注文されたアイテムのコンピュータによって決定される効率的な袋詰めのためのシステムおよび方法
KR102445640B1 (ko) 아웃바운드 예측을 위한 시스템 및 방법
KR102445639B1 (ko) 인바운드 스토우 모델을 이용한 아웃바운드 예측을 위한 시스템 및 방법
TW202143150A (zh) 基於競爭神經字元語言模式斷詞之系統以及方法
CN115002811A (zh) 专网管控方法、数据处理方法、设备控制方法及设备
CN115169522A (zh) Pytorch神经网络的图结构确定方法、装置和设备
CN116681363A (zh) 订单信息的处理方法及设备
US20230128417A1 (en) Systems and methods for regional demand estimation
CN115017789A (zh) 网络模型的训练与搜索方法、设备及存储介质
CN114970859A (zh) 参数优化及其服务方法、设备及存储介质
KR20190117643A (ko) 판매 시스템 및 자동 판매 방법
CN116389398B (zh) 数据访问控制方法、车辆控制方法及设备
US11868934B1 (en) Virtual fulfillment centers for item delivery
De CAPITANI Da VIMERCATE Autonomous robots in food delivery: a simulation study

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
TA01 Transfer of patent application right

Effective date of registration: 20230719

Address after: Room 437, Floor 4, Building 3, No. 969, Wenyi West Road, Wuchang Subdistrict, Yuhang District, Hangzhou City, Zhejiang Province

Applicant after: Wuzhou Online E-Commerce (Beijing) Co.,Ltd.

Address before: Room 01, 45 / F, AXA building, 8 Shanton Road, Singapore

Applicant before: Alibaba Singapore Holdings Ltd.

TA01 Transfer of patent application right