CN114897666B - Graph data storage, access, processing method, training method, device and medium - Google Patents

Graph data storage, access, processing method, training method, device and medium Download PDF

Info

Publication number
CN114897666B
CN114897666B CN202210573156.3A CN202210573156A CN114897666B CN 114897666 B CN114897666 B CN 114897666B CN 202210573156 A CN202210573156 A CN 202210573156A CN 114897666 B CN114897666 B CN 114897666B
Authority
CN
China
Prior art keywords
data
graph
slice data
identifier
target
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.)
Active
Application number
CN202210573156.3A
Other languages
Chinese (zh)
Other versions
CN114897666A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202310188952.XA priority Critical patent/CN116029891A/en
Priority to CN202310188950.0A priority patent/CN116362955A/en
Priority to CN202310188954.9A priority patent/CN116309002B/en
Priority to CN202210573156.3A priority patent/CN114897666B/en
Publication of CN114897666A publication Critical patent/CN114897666A/en
Application granted granted Critical
Publication of CN114897666B publication Critical patent/CN114897666B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)

Abstract

The disclosure provides a graph data storage method, an access method, a processing method, a training method, equipment and a medium, which relate to the technical field of artificial intelligence, in particular to the technical field of graph neural network technology, computer vision and deep learning. The specific implementation scheme is as follows: in response to the received graph data storage request, dividing the graph data to be stored to obtain at least two graph slice data to be stored; obtaining target image slice data and associated image slice data according to at least two image slice data to be stored; storing the target image slice data to a Graphics Processing Unit (GPU); storing the dependency graph slice data to an internal memory; and storing at least two image slice data to be stored into an external memory.

Description

Graph data storage, access, processing method, training method, device and medium
Technical Field
The present disclosure relates to the field of artificial intelligence technology, and more particularly, to the field of graph neural network technology, computer vision, and deep learning technology. And in particular, to graph data storage, access, processing methods, training methods, devices, and media.
Background
With the continuous development of computer technology, graph data is also developed. Graph data may employ graph theory to characterize node and side information. The graph data is widely applied to the fields of knowledge graphs, financial anti-fraud, social relationship mining and the like.
Disclosure of Invention
The disclosure provides graph data storage, access, processing methods, training methods, devices and media.
According to an aspect of the present disclosure, there is provided a graph data storage method, including: in response to the received graph data storage request, dividing the graph data to be stored to obtain at least two graph slice data to be stored; obtaining target image slice data and associated image slice data according to the at least two image slice data to be stored; storing the target image slice data to a Graphic Processing Unit (GPU); storing the correlation map slice data in an internal memory; and storing the at least two image slice data to be stored into an external memory.
According to another aspect of the present disclosure, there is provided a graph data access method including: in response to receiving the graph data access request, acquiring a to-be-accessed identifier; and acquiring an access result from the target image slice data according to the matching identifier when the target image slice data has the matching identifier matched with the identifier to be accessed, wherein the target image slice data is the image data to be stored in the GPU according to the method disclosed by the invention.
According to another aspect of the present disclosure, there is provided a graph data access method including: in response to receiving a to-be-accessed identifier from a Graphics Processing Unit (GPU), in the case that a matching identifier matched with the to-be-accessed identifier exists in associated graph slice data, acquiring an access result from the associated graph slice data according to the matching identifier, wherein the associated graph slice data is the graph data to be stored in the internal memory according to the method disclosed by the invention; and sending the access result to the GPU.
According to another aspect of the present disclosure, there is provided a training method of a graph neural network model, including: in response to receiving a model training request, determining at least one target sampling node from target image slice data based on a sampling strategy, wherein the target image slice data is data to be stored in a Graphic Processing Unit (GPU) according to the method disclosed by the invention; acquiring at least one first-order neighbor node corresponding to the at least one target sampling node from one of the target graph slice data, associated graph slice data and at least two graph slice data to be stored, wherein the associated graph slice data is the graph data to be stored in the internal memory according to the method of the present disclosure, and the at least two graph slice data to be stored are the graph data to be stored in the external memory according to the method of the present disclosure; obtaining at least one order of sub-graph data according to the target sampling node related data of the at least one target sampling node and the neighbor node related data of the at least one order of neighbor nodes; and sending the at least one order of sub-graph data to a deep learning platform so that the deep learning platform trains the graph neural network model by using the at least one order of sub-graph data.
According to another aspect of the present disclosure, there is provided a graph data processing method including: inputting the target graph data into a graph neural network model to obtain an output result, wherein the graph neural network model is obtained by utilizing the method according to the disclosure.
According to another aspect of the present disclosure, there is provided a graph data storage device including: the first obtaining module is used for responding to the received graph data storage request, dividing the graph data to be stored and obtaining at least two graph slice data to be stored; the second obtaining module is used for obtaining target image slice data and associated image slice data according to the at least two image slice data to be stored; the first storage module is used for storing the target image slice data to a graphic processor GPU; a second storage module, configured to store the dependency graph slice data in an internal memory; and the third storage module is used for storing the at least two to-be-stored image slice data to an external memory.
According to another aspect of the present disclosure, there is provided a graph data access apparatus including: the first acquisition module is used for responding to the received graph data access request and acquiring the identifier to be accessed; and a second obtaining module, configured to, when it is determined that there is a matching identifier matching the identifier to be accessed in the target image slice data, obtain an access result from the target image slice data according to the matching identifier, where the target image slice data is image data to be stored in the GPU in the apparatus according to the present disclosure.
According to another aspect of the present disclosure, there is provided a graph data access apparatus including: a third obtaining module, configured to, in response to receiving a to-be-accessed identifier from a Graphics Processing Unit (GPU), obtain, according to a matching identifier that matches the to-be-accessed identifier in associated graph slice data when it is determined that the associated graph slice data is the to-be-stored graph data stored in the internal memory in the apparatus according to the present disclosure, an access result from the associated graph slice data; and the second sending module is used for sending the access result to the GPU.
According to another aspect of the present disclosure, there is provided a training apparatus for a neural network model, including:
a determining module, configured to determine, in response to receiving a model training request, at least one target sampling node from target image slice data based on a sampling strategy, where the target image slice data is to-be-stored data stored in a GPU of the apparatus according to the present disclosure; a fourth obtaining module, configured to obtain, according to the at least one target sampling node, at least one first-order neighbor node corresponding to the at least one target sampling node from one of the target graph slice data, associated graph slice data and at least two graph slice data to be stored, where the associated graph slice data is graph data to be stored in an internal memory of the apparatus according to the present disclosure, and the at least two graph slice data to be stored are graph data to be stored in an external memory of the apparatus according to the present disclosure; a third obtaining module, configured to obtain at least one order of sub-graph data according to target sampling node-related data of the at least one target sampling node and neighbor node-related data of the at least one order of neighbor nodes; and a fifth sending module, configured to send the at least one order of sub-graph data to a deep learning platform, so that the deep learning platform trains the graph neural network model by using the at least one order of sub-graph data.
According to another aspect of the present disclosure, there is provided a graph data processing apparatus including: inputting the target graph data into a graph neural network model to obtain an output result, wherein the graph neural network model is obtained by utilizing the device according to the disclosure.
According to another aspect of the present disclosure, there is provided an electronic device including: at least one processor; and a memory communicatively coupled to the at least one processor; the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method of the present disclosure.
According to another aspect of the present disclosure, there is provided a non-transitory computer readable storage medium having stored thereon computer instructions for causing the computer to perform the method of the present disclosure.
According to another aspect of the present disclosure, a computer program product is provided, comprising a computer program which, when executed by a processor, implements the method of the present disclosure.
It should be understood that the statements in this section are not intended to identify key or critical features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description.
Drawings
The drawings are included to provide a better understanding of the present solution and are not to be construed as limiting the present disclosure. Wherein:
FIG. 1 schematically illustrates an exemplary system architecture to which graph data storage methods, graph data access methods, training methods for graph neural network models, and graph data processing methods and apparatus may be applied, according to embodiments of the present disclosure;
FIG. 2 schematically illustrates a flow diagram of a graph data storage method according to an embodiment of the disclosure;
FIG. 3 schematically illustrates an example schematic diagram of a graph data storage process, according to an embodiment of this disclosure;
FIG. 4 schematically illustrates a flow chart of a graph data access method according to an embodiment of the present disclosure;
FIG. 5 schematically illustrates a flow diagram of a graph data access method according to another embodiment of the present disclosure;
FIG. 6 schematically illustrates a flow diagram of a method of training a neural network model in accordance with an embodiment of the present disclosure;
FIG. 7 schematically illustrates an example schematic diagram of a training process of a graph neural network model, in accordance with an embodiment of the present disclosure;
FIG. 8 schematically illustrates a flow diagram of a graph data processing method according to an embodiment of the present disclosure; and
FIG. 9 schematically illustrates a block diagram of a graph data store in accordance with an embodiment of the present disclosure;
FIG. 10 schematically illustrates a block diagram of a graph data access device, according to an embodiment of the present disclosure;
FIG. 11 schematically illustrates a block diagram of a graph data access device, according to another embodiment of the present disclosure;
FIG. 12 schematically illustrates a block diagram of a training apparatus that maps a neural network model, in accordance with an embodiment of the present disclosure;
FIG. 13 schematically illustrates a block diagram of a graph data processing apparatus according to an embodiment of the present disclosure; and
FIG. 14 schematically illustrates a block diagram of an electronic device suitable for implementing a graph data storage method, a graph data access method, a graph neural network model training method, and a graph data processing method, in accordance with an embodiment of the present disclosure.
Detailed Description
Exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, in which various details of the embodiments of the disclosure are included to assist understanding, and which are to be considered as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
Fig. 1 schematically illustrates an exemplary system architecture to which a graph data storage method, a graph data access method, a graph neural network model training method, and a graph data processing method and apparatus may be applied, according to an embodiment of the present disclosure.
It should be noted that fig. 1 is only an example of a system architecture to which the embodiments of the present disclosure may be applied to help those skilled in the art understand the technical content of the present disclosure, and does not mean that the embodiments of the present disclosure may not be applied to other devices, systems, environments or scenarios.
As shown in fig. 1, a system architecture 100 according to this embodiment may include a graph engine 101, a deep learning platform 102, and a network 103. Network 103 is used to provide a medium for communication links between graph engine 101 and deep learning platform 102. Network 103 may include various connection types. E.g., wired and/or wireless communication links, etc.
The memory structure of the graph engine 101 may include a GPU (Graphics Processing Unit) 101_1, an internal memory 102_2, and an external memory _3. Internal storage 102 _1may include a Central Processing Unit (CPU) memory. External memory 101\ 3 may include at least one of: hard disk, floppy disk, optical disk, and U disk. The hard disk may include at least one of: solid State Disks (SSDs) and mechanical hard disks.
The graph engine 101 may be configured to divide the graph data to be stored to obtain at least two graph slice data to be stored in response to receiving the graph data storage request. And obtaining target image slice data and associated image slice data according to the at least two image slice data to be stored. The target image slice data is stored to the GPU101_1. The association map slice data is stored to the internal memory 101_2. At least two pieces of slice data to be stored are stored to the external memory 101_3.
The GPU101_1 in the graph engine 101 may acquire the identifier to be accessed in response to receiving the graph data access request. And under the condition that the matching identification matched with the identification to be accessed exists in the target image slice data, acquiring an access result from the target image slice data according to the matching identification.
The internal memory 101\ u 2 in the graph engine 101 may acquire, in response to receiving the identifier to be accessed from the GPU101_1, an access result from the associated graph slice data according to the matching identifier in a case where it is determined that there is a matching identifier matching the identifier to be accessed in the associated graph slice data. The access result is sent to the GPU101_1.
The graph engine 101 determines at least one target sampling node from the target graph slice data based on a sampling strategy in response to receiving the model training request. And acquiring at least one first-order neighbor node corresponding to the at least one target sampling node from one of the target graph slice data, the associated graph slice data and the at least two graph slice data to be stored according to the at least one target sampling node. And obtaining at least one order of sub-graph data according to the target sampling node related data of at least one target sampling node and the neighbor node related data of at least one order of neighbor nodes. At least one order of sub-graph data is sent to the deep learning platform 102 so that the deep learning platform 102 trains the graph neural network model with the at least one order of sub-graph data.
Deep learning platform 102 can train a graph neural network model using at least one order of sub-graph data in response to receiving the at least one order of sub-graph data from graph engine 101.
The graph engine 101 may be a server or a terminal device. The deep learning platform 102 may be a server, a cluster of servers, or a terminal device. Various messaging client applications may be installed on the terminal device, such as a knowledge reading application, a web browser application, a search application, an instant messaging tool, a mailbox client, and/or social platform software, etc. (by way of example only). The terminal device may be a variety of electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop portable computers, desktop computers, and the like.
The server may be various types of servers that provide various services. For example, the Server may be a cloud Server, which is also called a cloud computing Server or a cloud host, and is a host product in a cloud computing service system, so as to solve the defects of high management difficulty and weak service extensibility in a conventional physical host and a VPS service (Virtual Private Server). The server may also be a server of a distributed system, or a server incorporating a blockchain.
It should be understood that the number of graph engines, deep learning platforms, and networks in fig. 1 is merely illustrative. There may be any number of graph engines, deep learning platforms, and networks, as desired for an implementation.
It should be noted that the sequence numbers of the respective operations in the following methods are merely used as a representation of the operations for description, and should not be construed as representing the execution order of the respective operations. The method need not be performed in the exact order shown, unless explicitly stated.
Fig. 2 schematically illustrates a flow chart of a graph data storage method according to an embodiment of the present disclosure.
As shown in FIG. 2, the method 200 includes operations S210-S250.
In operation S210, in response to receiving the graph data storage request, the graph data to be stored is divided to obtain at least two graph slice data to be stored.
In operation S220, target image slice data and associated image slice data are obtained according to at least two image slice data to be stored.
In operation S230, the target image slice data is stored to the GPU.
In operation S240, the association map slice data is stored to the internal memory.
In operation S250, at least two to-be-stored slice data are stored to an external memory.
According to an embodiment of the present disclosure, a graph data storage request may refer to a request for storing data to be stored. Graph data may refer to data characterized by node data and edge data. The node data may include at least one node label for the node and at least one node attribute corresponding to the node label. The edge data may include an edge label for the edge and at least one edge attribute corresponding to the edge label. Edge labels can be used to characterize the relationship between two nodes that an edge connects. Can be used to characterize an entity. An edge may be used to characterize a relationship between two nodes that are connected. A node may be characterized by a node identification. Edges may be characterized by edge identification. Furthermore, edge data associated with a node may be taken as dependency data for the node. The dependency data of the nodes may be taken as node characteristic data of the nodes. Thus, graph data may include node data and node characteristic data.
According to embodiments of the present disclosure, a node may have a neighbor node corresponding to the node. The number of neighbor nodes may include one or more. A neighbor node may refer to a node that has a relationship with the node. The neighboring nodes may have a hierarchical relationship. For example, a neighbor node determined directly from a node may be determined as a first order neighbor node of the node. And determining the neighbor node determined according to the first-order neighbor node of the node as a second-order neighbor node of the node. By analogy, a node may have at least one level of neighbor nodes corresponding to the node.
According to an embodiment of the present disclosure, the drawing data to be stored may refer to drawing data to be stored. The graph data to be stored may have the same data structure as the graph data.
According to an embodiment of the present disclosure, the map slice data may refer to map data obtained by dividing the map data. For example, the graph data may be divided using a graph cut algorithm to obtain at least two graph slice data. The graph cut algorithm may include one of: a node-based graph cut algorithm and an edge-based graph cut algorithm. The edge-based graph cut algorithm may refer to a graph cut algorithm that divides graph data by edges. The node-based graph cut algorithm may refer to a graph data cut algorithm that divides data according to nodes. The implementation of the graph cut algorithm needs to satisfy one of the following three conditions, that is, the cut nodes are related nodes as much as possible (that is, the cut edges in the slice data of the graph to be stored need to be as many as possible, and the edges across the slices need to be as few as possible). Secondly, the data volumes of the slice data of the respective images to be stored are as equal as possible. Thirdly, the respective node weights are equal to each other as much as possible. Each to-be-stored slice data has a node weight sum corresponding to the to-be-stored slice data. The node weight sum may be determined according to the node weight of each node included in the to-be-stored graph slice data. The node weight of a node may be determined based on whether the node has annotation data. For example, if a node has annotation data, the node weight of the node can be set to a number greater than and less than 1. If the node does not have annotation data, the node weight for the node may be set to 0. The node weight of the node may be configured according to an actual service requirement, which is not limited herein. The reason why the respective node weights and each other need to be as equal as possible is that: if all target nodes in certain target image slice data obtained based on the image segmentation algorithm are nodes without label data, sampling is performed subsequently by using a condition-based sampling strategy, and the condition sampling strategy is to determine the target nodes with the label data as the target sampling nodes, the target nodes in the target image slice data do not meet the condition and cannot become the target sampling nodes, so that the target image slice data is not utilized, and the data utilization efficiency is reduced.
According to an embodiment of the present disclosure, the to-be-stored graph slice data may refer to graph data obtained by dividing the to-be-stored graph data. The target image slice data may be image slice data to be stored that satisfies a predetermined condition. The associated drawing slice data may be drawing data to be stored obtained from the target drawing slice data. The predetermined condition may be configured according to an actual service requirement, and is not limited herein.
According to an embodiment of the present disclosure, the relationship of the target image slice data and the associated image slice data may include one of: the target map slice data may be unaffixed with the associated map slice data and the target map slice data may have an intersection with the associated map slice data. In the case where the target image slice data may not intersect with the associated image slice data, the associated image slice data may be referred to as complementary image slice data of the target image slice data. Having an intersection between the target map slice data and the associated map slice data may include at least one of: the associated map slice data includes all of the target map slice data and the associated map slice data includes a part of the target map data.
According to an embodiment of the present disclosure, obtaining target image slice data and associated image slice data according to at least two image slice data to be stored may include: and obtaining target image slice data according to the at least two image slice data to be stored. And determining associated map slice data from at least one other map slice data to be stored according to the target map slice data. The other to-be-stored picture slice data may refer to any one of the at least two to-be-stored picture slice data other than the target picture slice data. Determining associated map slice data from at least one other map slice data to be stored based on the target map slice data may include: and extracting at least part of the preset number of other image slice data to be stored from at least one other image slice data to be stored according to the target image slice data to obtain associated image slice data.
According to an embodiment of the present disclosure, after obtaining the target image slice data and the associated image slice data, the target image slice data may be stored to the GPU. The dependency graph slice data may be stored to an internal memory. And storing at least two image slice data to be stored into an external memory.
According to the embodiment of the disclosure, target image slice data is stored in a GPU (graphics processing Unit), associated image slice data is stored in an internal memory, and at least two image slice data to be stored are stored in an external memory, so that three-level storage based on a single machine is realized, communication overhead is reduced, and single machine storage capacity is expanded.
According to an embodiment of the present disclosure, operation S210 may include the following operations.
And responding to the received graph data storage request, and dividing the graph data to be stored based on a graph segmentation algorithm of the nodes to obtain at least two graph slice data to be stored.
According to the embodiment of the disclosure, node data and neighbor node data can be determined from graph data to be stored by using a node-based graph cut algorithm. And obtaining at least two to-be-stored graph slice data according to the node data and the neighbor node data.
According to an embodiment of the present disclosure, operation S220 may include the following operations.
Target image slice data is determined from the at least two image slice data to be stored. And determining associated map slice data from the map data to be stored according to the target map slice data.
According to an embodiment of the present disclosure, target image slice data may be determined from at least two image slice data to be stored based on a predetermined determination policy. The predetermined determination strategy may comprise a random determination strategy, i.e. the target image slice data is determined randomly from the at least two image slice data to be stored. According to the embodiment of the disclosure, after the target image slice data is determined, the target predetermined node corresponding to the first predetermined node can be determined from other image data to be stored according to the association degree between the first predetermined node in the target image slice data and the second predetermined node in the other image data to be stored. The degree of association between the first predetermined node and the second predetermined node may be determined according to at least one of an out-degree and an in-degree of the first predetermined node. And obtaining associated graph slice data corresponding to the target graph slice data according to the target preset node corresponding to the first preset node. The degree of association between the second predetermined node and the first predetermined node may be determined according to the number of edges between the second predetermined node and the first predetermined node. For example, the number of edges between the second predetermined node and the first predetermined node is greater than or equal to the predetermined edge number threshold. The predetermined edge number threshold may be configured according to actual service requirements, and is not limited herein.
According to embodiments of the present disclosure, the GPU may be at least one GPU card.
According to an embodiment of the present disclosure, operation S230 may include the following operations.
And dividing the target image slice data to obtain at least one target image partition data. And storing the at least one target graph partition data to at least one GPU card.
According to an embodiment of the present disclosure, the target graph slice data may include target node data and target node characteristic data of at least one target node. The target node may be characterized by a target node identification. The target graph slice data may be divided according to a target node identifier of a target node to obtain at least one target graph Partition (i.e., partition) data. For example, at least one target node identifier may be processed to obtain at least one target node identifier processing value. Target node data of target node identifications corresponding to the same target node identification processing value is determined as target graph partitioned data, whereby the target node data in each target graph partitioned data is the target node data of the target node corresponding to the same target node identification processing value.
According to the embodiment of the disclosure, at least one target graph partition data can be stored to at least one GPU card according to the association relationship between the GPU card and the target node identification processing value. Each GPU card may be used to store target graph partition data corresponding to that GPU card.
For example, N GPU cards, i.e., GPU cards, may be included 1 GPU card 2 . n . N-1 And GPU card N . May include N pieces of target map partition data, i.e., target map partition data 1 Target graph partition data 2 . n . N-1 And target map partition data N . And GPU card n The corresponding target node identification process value is f (n). Partitioning data with target graph n The corresponding target node identification process value is f (n). N may be an integer greater than or equal to 1. N is an element of {1,2., (N-1), N }.
According to an embodiment of the present disclosure, dividing the target image slice data to obtain at least one target image partition data may include the following operations.
And dividing the target image slice data based on a first hash algorithm to obtain at least one target image partition data.
According to the embodiment of the disclosure, the node identifier may be processed by using a hash algorithm to obtain a node identifier processing value. A node identification processing value obtained by processing a node identification using a hash algorithm may be referred to as a hash value.
According to the embodiment of the disclosure, a first hash algorithm can be used for processing the target node identification used for representing the target node in the target graph segmentation data, so as to obtain at least one first hash value. And determining target node data of the target node identification corresponding to the same first hash value as the target graph partition data.
According to an embodiment of the present disclosure, the internal memory may include at least one internal storage area.
According to an embodiment of the present disclosure, storing the dependency graph slice data to the internal memory may include the following operations.
And dividing the association diagram slice data to obtain at least one association diagram partition data. Storing the at least one dependency graph partition data to the at least one internal storage area.
According to an embodiment of the present disclosure, each internal storage area may be used to store dependency graph partitioning data corresponding to the internal storage area, and dependency graph slice data may include dependency node data and dependency node feature data of at least one dependency node according to an embodiment of the present disclosure. The associated node may be characterized by an associated node identification. The association graph slice data can be divided according to the association node identification of the association node to obtain at least one association graph partition data. For example, the at least one association node identifier may be processed to obtain at least one association node identifier processing value. And determining the associated node data of the associated node identifier corresponding to the same associated node identifier processing value as the associated graph partition data, so that the associated node data in each associated graph partition data is the associated node data of the associated node corresponding to the same associated node identifier processing value.
According to an embodiment of the present disclosure, dividing the dependency graph slice data to obtain at least one dependency graph partition data may include the following operations.
And dividing the associated graph slice data based on a second hash algorithm to obtain at least one associated graph partition data.
According to the embodiment of the disclosure, the second hash algorithm may be used to process the association node identifier used for characterizing the association node in the association graph cut data, so as to obtain at least one second hash value. And determining the associated node data of the associated node identifications corresponding to the same second hash value as the associated graph partition data.
According to an embodiment of the present disclosure, the above-described graph data storage method may further include the following operations.
And in response to the detection of the storage switching instruction, obtaining new target image slice data and new associated image slice data according to the at least two image slice data to be stored. And deleting the target image slice data stored in the GPU. The associated map slice data stored in the internal memory is deleted. The new target image slice data is stored to the GPU. And storing the new association map slice data to an internal memory.
According to an embodiment of the present disclosure, the memory switching instruction may refer to an instruction for re-determining target slice data stored in the GPU and associated slice data stored in the internal memory. The store switch instruction may be generated in response to receiving a training complete instruction for the deep learning platform.
According to an embodiment of the present disclosure, in the case where a storage switching instruction is detected, target slice data stored in the GPU may be deleted. The associated map slice data stored in the internal memory is deleted. The method described above can be used to obtain new target image slice data and new associated image slice data from at least two image slice data to be stored. The new target image slice data is stored to the GPU. And storing the new association map slice data to an internal memory.
According to an embodiment of the present disclosure, the relationship between the target image slice data and the associated image slice data may include one of: the non-intersection between the target map slice data and the associated map slice data may include the target map slice data.
According to an embodiment of the present disclosure, the target image slice data may include at least one of: node-related data and neighbor node-related data.
According to an embodiment of the present disclosure, the node-related data may comprise at least one of: node data and node characteristic data.
According to embodiments of the present disclosure, the neighbor node related data may comprise at least one of: neighbor node data and neighbor node characteristic data.
According to an embodiment of the present disclosure, the dependency graph slice data may include at least one of: associated node related data and associated neighbor node related data.
According to an embodiment of the present disclosure, the association node related data may comprise at least one of: associated node data and associated node characteristic data.
According to embodiments of the present disclosure, associating neighbor node related data may comprise at least one of: associated neighbor node data and associated neighbor node characteristic data.
According to embodiments of the present disclosure, node characteristic data for a node may be determined from edge data associated with the node.
According to the embodiment of the disclosure, the node data and the node characteristic data of the node are stored in the same storage device in an associated manner. For example, the target node data of target node a is stored in the GPU, the target node characteristic data of target node a is also stored in the GPU, and the target node data of target node a and the target node characteristic data may be stored in the same GPU card.
According to the embodiment of the disclosure, since the node characteristic data and the node data are stored in the same storage device in an associated manner, the access efficiency of subsequent data can be improved.
The graph data storage method according to the embodiment of the disclosure is further described with reference to fig. 3.
FIG. 3 schematically shows an example schematic of a graph data storage process according to an embodiment of the disclosure.
As shown in fig. 3, in 300, the graphics engine may include a GPU video memory 301, an internal memory 302 of the CPU, and an external memory 303.GPU video memory 301 may include T GPU cards, namely GPU card 301_1, GPU card 301_2, GPU card 301_. T is an integer greater than 1. T is an integer greater than or equal to 1 and less than T.
The internal memory may include S internal memory areas. The S internal storage area may include internal storage area 302_1, internal storage area 302_2, internal storage area 302_, the. S is an integer greater than 1. S is an integer greater than or equal to 1 and less than S.
The image data to be stored may be divided, resulting in R image slice data to be stored, i.e., the image slice data 304_1 to be stored, the image slice data 304_2 to be stored, the image slice data 304_r to be stored, the image slice data 304_ (R-1) to be stored, and the image slice data 304 _rto be stored. R is an integer greater than 1. R is an integer greater than or equal to 1 and less than R.
The to-be-stored image slice data 3042 can be determined as target image slice data from among the R to-be-stored image slice data. And determining associated map slice data from the map data to be stored according to the target map slice data.
The target image slice data may be partitioned to yield T target image partition data, i.e., target image partition data 304 u 2\1, target image partition data 304 u 2\ 2, the. The target graph partition data 304_2_t is stored to the GPU card 301_t.
The association map slice data may be partitioned to obtain S association map partition data, namely association map partition data 305 u1, association map partition data 305 u 2, association map partition data 305 us (S-1) and association map partition data 305 us. The target graph partition data 305 \ u s is stored to the internal storage area 302 \.
The R pieces of slice data to be stored are stored to the external memory 303.
FIG. 4 schematically shows a flow diagram of a graph data access method according to an embodiment of the disclosure.
As shown in FIG. 4, the method 400 includes operations S410-S420.
In operation S410, in response to receiving the graph data access request, the identifier to be accessed is acquired.
In operation S420, in a case where it is determined that there is a matching identifier matching the identifier to be accessed in the target image slice data, an access result is acquired from the target image slice data according to the matching identifier.
According to an embodiment of the present disclosure, the target image slice data may be image data to be stored in the GPU in the image data storage method according to an embodiment of the present disclosure.
According to an embodiment of the present disclosure, a graph data access request may refer to a request for accessing graph data to be stored. The access may include at least one of: add, delete, modify, query, and sample. The identifier to be accessed may comprise an identifier of a node to be accessed. The matching identification may comprise a matching node identification.
According to the embodiment of the disclosure, after acquiring the identifier to be accessed, the GPU may determine whether a matching identifier matching the identifier to be accessed exists in the target image slice data. In a case where it is determined that there is a matching identifier matching the identifier to be accessed in the target image slice data, image data corresponding to the matching identifier may be acquired from the target image slice data, and the image data corresponding to the matching identifier may be determined as an access result. For example, the GPU may determine whether there is a matching identifier in the target image slice data that is consistent with the identifier to be accessed. In a case where it is determined that there is a matching identifier that is consistent with the identifier to be accessed in the target image slice data, image data corresponding to the matching identifier may be acquired from the target image slice data, and the image data corresponding to the matching identifier may be determined as an access result. The identifier to be accessed may be an identifier of a node to be accessed. The matching identity may be a matching node identity.
According to the embodiment of the disclosure, the access result can be obtained from the GPU, so that the access speed is improved, and the communication overhead is reduced.
According to embodiments of the present disclosure, the GPU may comprise at least one GPU card.
According to an embodiment of the present disclosure, operation S420 may include the following operations.
And under the condition that the matching identification matched with the identification to be accessed exists in the current target image partition data, acquiring an access result from the target image slice data according to the matching identification. And under the condition that the matching identification matched with the identification to be accessed does not exist in the current target graph partition data, determining the GPU card corresponding to the identification to be accessed. And sending the identifier to be accessed to the GPU card corresponding to the identifier to be accessed, so that the GPU card corresponding to the identifier to be accessed acquires an access result from the target image slice data according to the matching identifier under the condition that the matching identifier matched with the identifier to be accessed exists in the target image partition data of the GPU card corresponding to the identifier to be accessed. And responding to the received access result from the GPU card corresponding to the identifier to be accessed.
According to embodiments of the present disclosure, a GPU card that receives a graph data access request may be referred to as a current GPU card. The target graph partition data stored in the current GPU card is referred to as current target graph partition data.
According to the embodiment of the disclosure, the current GPU card determines whether a matching identifier matched with the identifier to be accessed exists in the current target graph partition data. And under the condition that the matching identifier matched with the identifier to be accessed exists in the current target image partition data, the current GPU card can acquire an access result from the current target image slice data according to the matching identifier.
According to the embodiment of the disclosure, under the condition that it is determined that the matching identifier matched with the identifier to be accessed does not exist in the current target graph partition data, the current GPU card can determine the GPU card corresponding to the identifier to be accessed according to the identifier to be accessed. The GPU card corresponding to the identifier to be accessed may include at least one. The current GPU card can send the identifier to be accessed to the GPU card corresponding to the identifier to be accessed. The GPU card corresponding to the identifier to be accessed may determine whether a matching identifier matching the identifier to be accessed exists in the target graph partition data of the GPU card corresponding to the identifier to be accessed. Under the condition that the GPU card corresponding to the identifier to be accessed determines that the matching identifier matched with the identifier to be accessed exists in the GPU card corresponding to the identifier to be accessed, the access result can be obtained from the target graph segmentation data corresponding to the identifier to be accessed according to the matching identifier. The GPU card corresponding to the identifier to be accessed may send the access result to the current GPU card.
According to an embodiment of the present disclosure, the above-described graph data access method may further include the following operations.
And under the condition that the target graph partition data of the GPU card corresponding to the identifier to be accessed does not have a matching identifier matched with the identifier to be accessed, sending the identifier to be accessed to the internal memory, so that the internal memory obtains an access result from the associated graph slice data according to the matching identifier under the condition that the internal memory determines that the matching identifier matched with the identifier to be accessed exists in the associated graph slice data. And responding to the received access result from the GPU card corresponding to the identifier to be accessed. The access result obtained by the GPU card corresponding to the to-be-accessed identifier is in response to receiving the access result from the internal memory.
According to an embodiment of the present disclosure, the associated graph slice data may be graph data to be stored in the internal memory in the graph data storage method according to the embodiment of the present disclosure.
According to the embodiment of the disclosure, under the condition that the GPU card corresponding to the identifier to be accessed determines that the matching identifier matching with the identifier to be accessed does not exist in the GPU card corresponding to the identifier to be accessed, the GPU card corresponding to the identifier to be accessed may send the identifier to be accessed to the internal memory. The internal memory may determine whether there is a matching identifier in the associated view slice data that matches the identifier to be accessed. When it is determined that a matching identifier matching the identifier to be accessed exists in the associated graph slice data, the internal memory may acquire the access result from the associated graph slice data according to the matching identifier. The internal memory may send the access result to the GPU card corresponding to the identifier to be accessed. The GPU card corresponding to the identifier to be accessed may send the access result to the current GPU card.
According to the embodiment of the disclosure, the internal memory may send the identifier to be accessed to the external memory when it is determined that there is no matching identifier matching with the identifier to be accessed in the associated graph slice data, so that the external memory obtains the access result from at least two graph slice data to be stored according to the identifier to be accessed. The external memory may send the access result to the internal memory. The internal memory may send the access result to the GPU card corresponding to the identifier to be accessed. The GPU card corresponding to the identifier to be accessed may send the access result to the current GPU card.
According to the embodiment of the disclosure, any one of the target graph partition data can be queried and sampled by a plurality of GPU cards. The query and sampling functions of multiple GPU cards support high concurrency. The GPU card may simultaneously initiate requests to other GPU cards. In addition, the GPU is extremely concurrent, and the sampling speed of the GPU may be more than 400 times that of the internal memory.
According to an embodiment of the present disclosure, the graph data access method may further include the following operations.
And creating a first access task according to the identifier to be accessed. The first access task is added to a first task queue corresponding to the GPU.
According to an embodiment of the present disclosure, operation S420 may include the following operations.
And acquiring a first head task from a task queue corresponding to the GPU by using a thread corresponding to the GPU. And acquiring the identifier to be accessed from the first head task by using the thread corresponding to the GPU under the condition that the first head task is determined to be the first access task. And acquiring an access result from the target image slice data according to the matching identifier under the condition that the thread corresponding to the GPU is used for determining that the matching identifier matched with the identifier to be accessed exists in the target image slice data.
According to an embodiment of the disclosure, a thread corresponding to the GPU may execute the first access task in the form of a task queue. The thread corresponding to the GPU can access the first task queue corresponding to the GPU to obtain the first head task in the first task queue. The thread corresponding to the GPU may execute the first access task if it is determined that the first header task is the first access task.
According to an embodiment of the present disclosure, the graph data access method may further include the following operations.
And deleting the first access task from the first task queue by using the thread corresponding to the GPU when the execution of the first access task is determined to be finished.
FIG. 5 schematically shows a flow diagram of a graph data access method according to another embodiment of the present disclosure.
As shown in fig. 5, the method 500 includes operations S510 to S520.
In operation S510, in response to receiving the identifier to be accessed from the graphics processing unit GPU, in the case where it is determined that there is a matching identifier matching the identifier to be accessed in the associated graph slice data, an access result is obtained from the associated graph slice data according to the matching identifier.
In operation S520, the access result is transmitted to the GPU.
According to an embodiment of the present disclosure, the associated graph slice data may be graph data to be stored in the internal memory in the graph data storage method according to the embodiment of the present disclosure.
According to an embodiment of the present disclosure, the above graph data storage method may further include the following operations.
And under the condition that the associated graph slice data does not have a matching identifier matched with the identifier to be accessed, sending the identifier to be accessed to the external memory so that the external memory acquires an access result from at least two graph slice data to be stored. In response to receiving the access result from the external memory, the access result is sent to the GPU.
According to an embodiment of the present disclosure, the at least two pieces of picture slice data to be stored may be data to be stored in the picture data storage method according to an embodiment of the present disclosure.
Operation S510 may include the following operations according to an embodiment of the present disclosure.
And in response to receiving the identifier to be accessed from the GPU, creating a second access task according to the identifier to be accessed. Adding the second access task to a second task queue corresponding to the internal memory. And acquiring a second head task from the second task queue by using the thread corresponding to the internal memory. And acquiring the identifier to be accessed from the second head task by using the thread corresponding to the internal memory under the condition that the second head task is determined to be the second access task. And acquiring an access result from the association diagram slice data according to the matching identification under the condition that the thread corresponding to the internal memory is used for determining that the matching identification matched with the identification to be accessed exists in the association diagram slice data.
According to an embodiment of the present disclosure, the thread corresponding to the internal memory may execute the second access task in a task queue. The thread corresponding to the internal memory may access a second task queue corresponding to the internal memory to obtain a second head task in the second task queue. The thread corresponding to the internal memory may perform the second access task in a case where it is determined that the second head task is the second access task.
According to an embodiment of the present disclosure, the internal memory may include at least one internal storage area. The association map partition data may be stored in an internal storage area. There may be a thread corresponding to the internal memory area. There is a second task queue corresponding to the internal storage area.
According to the embodiment of the disclosure, the task queue is designed so that the consistency problem caused by thread concurrency does not need to be concerned in the process of subsequent strategy development, and thus the data processing logic is concentrated. In addition, the locking and the unlocking of a developer during data operation are avoided, and the system delay is increased, so that the efficiency is improved, the development cost is reduced, and the error probability is reduced.
According to an embodiment of the present disclosure, the above-described graph data access method may further include the following operations.
And deleting the second access task from the second task queue by using the thread corresponding to the internal memory under the condition that the execution of the second access task is determined to be finished.
FIG. 6 schematically illustrates a flow chart of a method of training a neural network model in accordance with an embodiment of the present disclosure.
As shown in fig. 6, the method 600 includes operations S610 to S640.
In operation S610, at least one target sampling node is determined from the target image slice data based on a sampling strategy in response to receiving the model training request.
In operation S620, at least one first-order neighbor node corresponding to the at least one target sampling node is acquired from one of the target graph slice data, the associated graph slice data, and the at least two graph slice data to be stored, according to the at least one target sampling node.
In operation S630, at least one order of sub-graph data is obtained according to the target sampling node-related data of the at least one target sampling node and the neighbor node-related data of the at least one order of neighbor nodes.
At operation S640, at least one order of sub-graph data is transmitted to the deep learning platform, so that the deep learning platform trains a graph neural network model using the at least one order of sub-graph data.
According to an embodiment of the present disclosure, the target image slice data may be data to be stored, which is stored in the GPU in the image data storage method according to an embodiment of the present disclosure. The association graph slice data may be graph data to be stored in the internal memory in the graph data storage method according to the embodiment of the present disclosure. The at least two pieces of the drawing slice data to be stored may be the drawing data to be stored in the external memory in the drawing data storage method according to the embodiment of the present disclosure.
According to an embodiment of the present disclosure, the graph neural network model may include one of: graph Convolutional neural Network (GCN) model, graph Recurrent neural Network (GRN) model, graph Attention Network (GAT) model, and Graph residual Network model. A node vector of nodes may be generated using a graph neural network model.
According to an embodiment of the present disclosure, a model training request may refer to a request for training a neural network model of a graph. The model training request may be a graph engine response to receiving the model training request from a client. Alternatively, the model training request may be generated by the graph engine in response to a model training operation that detects an object input.
According to embodiments of the present disclosure, a sampling policy may refer to a policy for determining sampling nodes. The sampling strategy may include one of: a traversal sampling strategy and a conditional sampling strategy.
According to an embodiment of the present disclosure, the graph data to be stored may be determined as sample graph data for training a graph neural network model. The graph data to be stored can be stored according to the graph data storage method described in the embodiment of the present disclosure.
According to an embodiment of the present disclosure, at least one target sampling node may be determined from target image slice data based on a sampling strategy. For at least one target sampling node, at least one first-order neighbor node corresponding to the target sampling node is determined. For example, it may be determined from the target sampling node whether a first-order neighbor node corresponding to the target sampling node exists in the target image slice data stored in the GPU. And under the condition that the first-order neighbor node corresponding to the target sampling node exists in the target image slice data stored in the GPU, acquiring the first-order neighbor node corresponding to the target sampling node from the target image slice data stored in the GPU. In the case where it is determined that there is no first-order neighbor node corresponding to the target sampling node in the target graph slice data stored in the GPU, it may be determined whether there is a first-order neighbor node corresponding to the target sampling node in the associated graph slice data stored in the internal memory. And acquiring the first-order neighbor node corresponding to the target sampling node from the associated graph slice data stored in the internal memory when determining that the first-order neighbor node corresponding to the target sampling node exists in the associated graph slice data stored in the internal memory. And under the condition that the first-order neighbor node corresponding to the target sampling node does not exist in the associated graph slice data stored in the internal memory, acquiring the first-order neighbor node corresponding to the target sampling node from at least two graph slice data to be stored in the external memory. Thereby, at least one first order neighbor node corresponding to the target sampling node may be obtained.
According to an embodiment of the present disclosure, at least one neighboring node corresponding to a first-order neighboring node may be determined for the first-order neighboring node among the at least one first-order neighboring node to the target sampling node in a manner similar to that described above. The neighbor nodes corresponding to the first-order neighbor nodes may be referred to as second-order neighbor nodes of the target sampling node. By analogy, a neighbor node of a predetermined order corresponding to the target sampling node can be obtained. The predetermined order may be configured according to an actual service requirement, and is not limited herein. For example, the predetermined order may be third order.
According to the embodiment of the present disclosure, the above-mentioned sampling manner of the neighbor node is to search from the GPU, search from the internal memory again when it is determined that the neighbor node does not exist in the GPU, and search from the external memory again when it is determined that the neighbor node does not exist in the internal memory. In addition, the sampling mode can be configured according to the actual service requirement. For example, neighbor nodes may be looked up in the GPU and the internal memory and external memory are no longer accessed in the event that it is determined that no neighbor nodes are present in the GPU. Alternatively, a lookup may be made in the GPU, a lookup may be made in the internal memory in the event that it is determined that no neighboring node exists in the GPU, and no further access to the external memory is made in the event that it is determined that no neighboring node exists in the internal memory.
According to the embodiment of the disclosure, for a target sampling node in at least one target sampling node, at least one order of sub-graph data corresponding to the target sampling node can be obtained according to target sampling node related data of the target sampling node and neighbor node sampling related data of at least one order of neighbor nodes corresponding to the target sampling node. Thereby, at least one order of sub-graph data corresponding to each of the at least one target sampling node may be obtained.
According to an embodiment of the present disclosure, the graph engine may send at least one order of sub-graph data corresponding to each of the at least one target sampling node to the deep learning platform. The deep learning platform may train a graph neural network model using at least one order of sub-graph data.
According to the embodiment of the disclosure, sampling is taken as an example, and the graph segmentation algorithm ensures that the point relevance degree in the graph slice data to be stored is high, so that under the condition of performing first-order neighbor sampling on the GPU, a first-order neighbor node is obtained from the GPU with high probability. The second-order neighbor nodes are adopted based on the first-order neighbor nodes, and the probability of the sampling operation on the GPU is high. In the absence of a neighbor node in the GPU, a query request will be initiated to the internal memory and the external memory. Because the GPU has the fastest access speed and the second-order access speed of the internal memory, the probability that the access operation is performed on the GPU and the internal memory is high, and the data processing efficiency is improved. In addition, the user can also be supported to configure the sampling strategy.
According to the embodiment of the disclosure, the graph neural network model is trained based on the graph data storage scheme and the graph data access scheme, so that the model training speed is increased.
According to an embodiment of the present disclosure, the training method of the neural network model of the above-mentioned figure may further include the following operations.
In response to receiving a training completion instruction from the deep learning platform, a storage switching instruction is generated. In response to the storage switching instruction, under the condition that new target graph slice data and new associated graph slice data are obtained according to the at least two graph slice data to be stored, repeatedly executing the operation of obtaining at least one-order sub-graph data, and sending the at least one-order sub-graph data to the deep learning platform, so that the deep learning platform can use the at least one-order sub-graph data to train the neural network model of the graph until the training operation of training the neural network model of the graph by using the target graph slice data is completed under the condition that a preset number of the graph slice data to be stored in the at least two graph slice data to be stored are determined as the target graph slice data.
According to the embodiment of the disclosure, after the training operation for the graph neural network model is completed by using the target image slice data, new target image slice data and new associated image slice data can be obtained according to at least two image slice data to be stored.
According to an embodiment of the present disclosure, the following operations may be repeatedly performed until a predetermined end condition is satisfied. At least one new target sampling node is determined from the new target image slice data based on the sampling strategy. And acquiring at least one order of new neighbor nodes corresponding to the at least one new target sampling node from one of the new target image slice data, the new associated image slice data and the at least two image slice data to be stored according to the at least one new target sampling node. And obtaining at least one new stage of sub-graph data according to the target sampling node related data of at least one new target sampling node and the neighbor node related data of at least one new stage of neighbor node. And sending at least one order of new sub-image data to the deep learning platform so that the deep learning platform trains the neural network model of the graph by using the at least one order of new sub-image data.
According to an embodiment of the present disclosure, the predetermined end condition may refer to performing a training operation of completing training of the neural network model using the target image slice data in a case where a predetermined number of to-be-stored image slice data of the at least two to-be-stored image slice data are determined as the target image slice data.
According to the embodiment of the disclosure, one round of sampling can be initiated on a target sampling point in target image slice data according to a sampling strategy, and at least one order of sub-image data obtained by sampling is sent to a deep learning platform, so that the deep learning platform trains a neural network model by using the at least one order of sub-image data. Thus, one round of model training is completed. The operation in the above manner may cause the sub-graph data to have deviation, that is, the sub-graph data is mostly a neighbor node of the target sampling node. For this reason, new target graph slice data may be periodically stored to the GPU and new associated graph slice data may be stored to the internal memory so that each target node has a chance to become a target sampling point, whereby the deviation may be reduced. In addition, the system can maintain relatively high sampling performance.
According to an embodiment of the present disclosure, operation S610 may include one of the following operations.
In response to receiving the model training request, all target nodes in the target image slice data are determined as target sampling nodes based on a traversal sampling strategy.
In response to receiving the model training request, a portion of the target nodes in the target image slice data are determined to be at least one target sampling node based on the conditional sampling strategy.
According to an embodiment of the present disclosure, the conditional sampling policy may refer to a policy of determining a target node satisfying a predetermined sampling condition as a target sampling node. For example, the predetermined sampling condition may indicate that the target sampling node is a target node having label information. Alternatively, the predetermined sampling condition may refer to the number of target sampling nodes being equal to the predetermined sampling number threshold.
Referring to fig. 7, a training method of the neural network model according to an embodiment of the present disclosure is further described with reference to a specific embodiment.
Fig. 7 schematically illustrates an example schematic diagram of a training process of a graph neural network model, in accordance with an embodiment of the present disclosure.
As shown in fig. 7, in 700, a graph engine may include a graph engine module 1, a graph engine module 2, and a graph engine module 3. The graph engine module 1 may include a GPU. The GPU may include 4 GPU cards. In addition, the graph engine module 1 may include a multi-card sampling unit and a convergence unit. The map engine module 2 may include an associated map slice data generation unit. The graph engine module 3 may include a graph cut unit. The graph engine module 2 and the graph engine module 3 may periodically run a user-configured node-based graph cut algorithm or a system-integrated node-based graph cut algorithm.
The graph segmentation unit in the graph engine module 3 may divide the graph data to be stored based on a graph segmentation algorithm to obtain at least two graph slice data to be stored. The target graph slice data (i.e., the target node-related data and the target neighbor node-related data in the light color in the graph engine module 2 in fig. 7) of the at least two graph slice data to be stored may be sent to the GPU in the graph engine module 1 through the graph engine module 2. The graph engine module 2 obtains associated graph slice data (i.e., dark associated node related data and associated neighbor node related data in the graph engine module 2 in fig. 7) according to the target graph slice data and the at least two graph data to be stored based on a graph cut algorithm. After the drawing engine module 2 transmits the target drawing piece data to the drawing engine module 1, the drawing engine module 2 deletes the target drawing piece data stored in the drawing engine module 2. The associated map slice data is finally retained in the map engine module 2.
The image engine module 1 divides the target image slice data to obtain 4 target image partition data. And storing the 4 target graph partition data to 4 GPU cards. The target image slice data stored by the respective GPU cards are different from each other.
In response to receiving a sampling request from a client, the graph engine module 1 may sample the 4 target graph partition data by using a multi-card sampling unit in the graph engine module 1, so as to obtain at least one-order sub-graph data. The aggregation unit in the graph engine module 1 aggregates at least one-order sub-graph data. And the aggregation unit sends at least one-order subgraph data to the client. And the client sends at least one-order subgraph data to the deep learning platform.
The deep learning platform trains a neural network model of the graph by using at least one order of sub-graph data. A node vector of nodes may be obtained using a graph neural network model. The node vector of the node is associated with the node identification.
Fig. 8 schematically shows a flow chart of a graph data processing method according to an embodiment of the present disclosure.
As shown in fig. 8, the method 800 includes operation S810.
In operation S810, target map data is input to the map neural network model, resulting in an output result.
According to an embodiment of the present disclosure, the graph neural network model may be obtained by training using a training method of the graph neural network model according to an embodiment of the present disclosure.
Graph neural network models have been explored in the broad problem area of supervised, semi-supervised, unsupervised, and reinforcement learning settings, according to embodiments of the present disclosure. The graph neural network model may be applied to various fields, for example, the recommendation field.
In the technical scheme of the disclosure, the processes of collecting, storing, using, processing, transmitting, providing, disclosing and the like of the personal information of the related user all accord with the regulations of related laws and regulations, and do not violate the common customs of public order.
The above is only an exemplary embodiment, but not limited thereto, and other graph data storage methods, graph data access methods, graph neural network model training methods, and graph data processing methods known in the art may be further included as long as the communication overhead can be reduced and the stand-alone storage capability can be expanded.
FIG. 9 schematically illustrates a block diagram of a graph data store, according to an embodiment of the disclosure.
As shown in fig. 9, the graph data storage apparatus 900 may include a first obtaining module 910, a second obtaining module 920, a first storing module 930, a second storing module 940, and a third storing module 950.
The first obtaining module 910 is configured to, in response to receiving a map data storage request, divide the map data to be stored to obtain at least two pieces of map slice data to be stored.
The second obtaining module 920 is configured to obtain target image slice data and associated image slice data according to at least two image slice data to be stored.
A first storage module 930 configured to store the target image slice data to the GPU.
A second storage module 940, configured to store the dependency graph slice data in the internal memory.
A third storing module 950, configured to store at least two to-be-stored slice data to an external memory.
According to an embodiment of the present disclosure, the second obtaining module 920 may include a first determining submodule and a second determining submodule.
And the first determining submodule is used for determining target image slice data from at least two image slice data to be stored.
And the second determination submodule is used for determining the associated map slice data from the map data to be stored according to the target map slice data.
According to an embodiment of the present disclosure, the GPU includes at least one GPU card.
According to an embodiment of the present disclosure, the first storage module 930 may include a first obtaining submodule and a first storage submodule.
And the first obtaining submodule is used for dividing the target image slice data to obtain at least one target image partition data.
And the first storage submodule is used for storing the at least one target graph partition data to the at least one GPU card.
According to an embodiment of the present disclosure, the first obtaining sub-module may include a first obtaining unit.
The first obtaining unit is used for dividing the target image slice data based on a first hash algorithm to obtain at least one target image partition data.
According to an embodiment of the present disclosure, the internal memory includes at least one internal storage area.
According to an embodiment of the present disclosure, the second storage module 940 may include a second obtaining submodule and a second storage submodule.
And the second obtaining submodule is used for dividing the association diagram slice data to obtain at least one association diagram partition data.
And the second storage submodule is used for storing the at least one correlation diagram partition data into at least one internal storage area.
According to an embodiment of the present disclosure, the second obtaining sub-module may include a second obtaining unit.
And the second obtaining unit is used for dividing the association diagram slice data based on a second hash algorithm to obtain at least one association diagram partition data.
According to an embodiment of the present disclosure, the first obtaining module 910 may include a third obtaining submodule.
And the third obtaining submodule is used for responding to the received graph data storage request, and dividing the graph data to be stored based on a graph segmentation algorithm of the nodes to obtain at least two graph slice data to be stored.
According to an embodiment of the present disclosure, the graph data storage apparatus 900 may further include a second obtaining module, a first deleting module, a second deleting module, a third storing module, and a fourth storing module.
And the second obtaining module is used for responding to the storage switching instruction and obtaining new target image slice data and new associated image slice data according to the at least two image slice data to be stored.
And the first deleting module is used for deleting the target image slice data stored in the GPU.
And the second deleting module is used for deleting the associated map slice data stored in the internal memory.
And the third storage module is used for storing the new target image slice data to the GPU.
And the fourth storage module is used for storing the new association diagram slice data to the internal memory.
According to an embodiment of the present disclosure, the relationship between the target atlas slice data and the associated atlas slice data includes one of: the non-intersection between the target image slice data and the associated image slice data include the target image slice data.
According to an embodiment of the present disclosure, the target graph slice data includes at least one of target node-related data and target neighbor node-related data. The target node-related data includes at least one of target node data and target node characteristic data. The target neighbor node-related data includes at least one of target neighbor node data and target neighbor node characteristic data.
According to an embodiment of the present disclosure, the associated graph slice data includes at least one of associated node-related data and associated neighbor node-related data. The associated node related data comprises at least one of associated node data and associated node characteristic data. Associating neighbor node related data includes at least one of: associated neighbor node data and associated neighbor node characteristic data.
FIG. 10 schematically shows a block diagram of a graph data access device according to an embodiment of the disclosure.
As shown in fig. 10, the graph data access apparatus 1000 may include a first acquisition module 1010 and a second acquisition module 1020.
The first obtaining module 1010 is configured to obtain the identifier to be accessed in response to receiving the graph data access request.
A second obtaining module 1020, configured to, when it is determined that a matching identifier matching the identifier to be accessed exists in the target image slice data, obtain an access result from the target image slice data according to the matching identifier.
According to an embodiment of the present disclosure, the target picture slice data is the picture data to be stored in the graphics processor GPU in the picture data storage device according to an embodiment of the present disclosure.
According to an embodiment of the present disclosure, the GPU includes at least one GPU card.
According to an embodiment of the present disclosure, the second obtaining module 1020 may include a first obtaining sub-module, a third determining sub-module, a transmitting sub-module, and a receiving sub-module.
And the first obtaining submodule is used for obtaining an access result from the target image slice data according to the matching identifier under the condition that the matching identifier matched with the identifier to be accessed exists in the current target image partition data.
In the case where it is determined that there is no matching identifier matching the identifier to be accessed in the current target map partition data,
and the third determining submodule is used for determining the GPU card corresponding to the identifier to be accessed.
And the sending submodule is used for sending the identifier to be accessed to the GPU card corresponding to the identifier to be accessed, so that the GPU card corresponding to the identifier to be accessed obtains an access result from the target image slice data according to the matching identifier under the condition that the matching identifier matched with the identifier to be accessed exists in the target image partition data of the GPU card corresponding to the identifier to be accessed.
And the receiving submodule is used for responding to the received access result from the GPU card corresponding to the identifier to be accessed.
According to an embodiment of the present disclosure, the above-mentioned graph data access apparatus 1000 may further include a first sending module and a receiving module.
The first sending module is used for sending the identifier to be accessed to the internal memory under the condition that the target graph partition data of the GPU card corresponding to the identifier to be accessed does not have the matching identifier matched with the identifier to be accessed, so that the internal memory obtains the access result from the associated graph slice data according to the matching identifier under the condition that the internal memory determines that the matching identifier matched with the identifier to be accessed exists in the associated graph slice data.
And the receiving module is used for responding to the received access result from the GPU card corresponding to the identifier to be accessed, wherein the access result obtained by the GPU card corresponding to the identifier to be accessed is in response to the received access result from the internal memory.
According to an embodiment of the present disclosure, the associated drawing slice data is the number of drawings to be stored in the internal memory in the drawing data storage method according to an embodiment of the present disclosure.
According to an embodiment of the present disclosure, the graph data access apparatus 1000 may further include a creation module and an addition module.
And the creating module is used for creating a first access task according to the identifier to be accessed.
And the adding module is used for adding the first access task to a first task queue corresponding to the GPU.
According to an embodiment of the present disclosure, the second obtaining module 1020 may include a second obtaining sub-module, a third obtaining sub-module, and a fourth obtaining sub-module.
And the second acquisition sub-module is used for acquiring the first head task from the first task queue by using the thread corresponding to the GPU.
And the third obtaining submodule is used for obtaining the identifier to be accessed from the first head task under the condition that the first head task is determined to be the first access task by utilizing the thread corresponding to the GPU.
And the fourth obtaining submodule is used for obtaining an access result from the target image slice data according to the matching identifier under the condition that the thread corresponding to the GPU is used for determining that the matching identifier matched with the identifier to be accessed exists in the target image slice data.
Fig. 11 schematically shows a block diagram of a graph data access device according to another embodiment of the present disclosure.
As shown in fig. 11, the graph data access apparatus 1100 may include a third obtaining module 1110 and a second transmitting module 1120.
A third obtaining module 1110, configured to, in response to receiving the identifier to be accessed from the graphics processing unit GPU, obtain, according to the matching identifier, an access result from the associated view slice data when it is determined that a matching identifier matching the identifier to be accessed exists in the associated view slice data
The second sending module 1120 is configured to send the access result to the GPU.
According to an embodiment of the present disclosure, the associated drawing slice data is drawing data to be stored in the internal memory in the drawing data storage device according to an embodiment of the present disclosure.
According to an embodiment of the present disclosure, the above-mentioned graph data access apparatus 1100 may further include a third sending module and a fourth sending module.
In the case where it is determined that there is no matching identifier matching the identifier to be accessed in the associated image slice data,
and the third sending module is used for sending the identifier to be accessed to the external memory so that the external memory can obtain the access result from the at least two pieces of slice data to be stored.
And the fourth sending module is used for responding to the received access result from the external memory and sending the access result to the GPU.
According to an embodiment of the present disclosure, the at least two pieces of slice data to be stored are data to be stored in the map data storage device according to an embodiment of the present disclosure.
According to an embodiment of the present disclosure, the third obtaining module 1110 may include a creating sub-module, an adding sub-module, a fifth obtaining sub-module, a sixth obtaining sub-module, and a seventh obtaining sub-module.
And the creating submodule is used for creating a second access task according to the identifier to be accessed in response to the received identifier to be accessed from the GPU.
And the adding submodule is used for adding the second access task to a second task queue corresponding to the internal memory.
And the fifth obtaining submodule is used for obtaining the second head task from the second task queue by utilizing the thread corresponding to the internal memory.
And the sixth obtaining submodule is used for obtaining the identifier to be accessed from the second head task under the condition that the thread corresponding to the internal memory is used for determining that the second head task is the second access task.
And the seventh obtaining submodule is used for obtaining the access result from the associated graph slice data according to the matching identifier when the thread corresponding to the internal memory is used for determining that the associated graph slice data has the matching identifier matched with the identifier to be accessed.
Fig. 12 schematically illustrates a block diagram of a training apparatus for a neural network model in accordance with an embodiment of the present disclosure.
As shown in fig. 12, the training apparatus 1200 of the graph neural network model may include a determination module 1210, a fourth obtaining module 1220, a third obtaining module 1230, and a fifth sending module 1240.
A determination module 1210 configured to determine at least one target sampling node from the target image slice data based on a sampling strategy in response to receiving the model training request.
The fourth obtaining module 1220 is configured to obtain, according to the at least one target sampling node, at least one first-order neighbor node corresponding to the at least one target sampling node from one of the target graph slice data, the associated graph slice data, and the at least two graph slice data to be stored.
A third obtaining module 1230, configured to obtain at least one order of sub-graph data according to the target sampling node related data of the at least one target sampling node and the neighbor node related data of the at least one order of neighbor nodes.
A fifth sending module 1240, configured to send the at least one order of sub-graph data to the deep learning platform, so that the deep learning platform trains the graph neural network model by using the at least one order of sub-graph data.
According to an embodiment of the present disclosure, the target picture slice data is data to be stored in the graphics processor GPU in the picture data storage device according to an embodiment of the present disclosure. The association graph slice data is graph data to be stored in the internal memory stored in the graph data storage device according to the embodiment of the present disclosure. The at least two pieces of to-be-stored picture slice data are the to-be-stored picture data stored in the external memory in the picture data storage device according to the embodiment of the present disclosure.
According to an embodiment of the present disclosure, the determining module 1210 may include one of:
and the fourth determining submodule is used for determining all target nodes in the target image slice data as target sampling nodes on the basis of a traversal sampling strategy in response to the received model training request.
And the fifth determination submodule is used for determining a part of target nodes in the target image slice data as at least one target sampling node based on the conditional sampling strategy in response to the model training request.
According to an embodiment of the present disclosure, the training apparatus 1200 of the neural network model of the above-mentioned figure may further include a generation module and an execution module.
And the generation module is used for responding to the received training completion instruction from the deep learning platform and generating a storage switching instruction.
And the execution module is used for responding to the storage switching instruction, repeatedly executing the operation of obtaining at least one-order sub-image data under the condition that new target image slice data and new associated image slice data are obtained according to the at least two image slice data to be stored, and sending the at least one-order sub-image data to the deep learning platform, so that the deep learning platform can train the neural network model by using the at least one-order sub-image data until the training operation of training the neural network model by using the target image slice data is completed under the condition that a preset number of image slice data to be stored in the at least two image slice data to be stored is determined as the target image slice data.
Fig. 13 schematically shows a block diagram of a graph data processing apparatus according to an embodiment of the present disclosure.
As shown in fig. 13, the graph data processing apparatus 1300 may include a fourth obtaining module 1310.
A fourth obtaining module 1310, configured to input the target map data into the map neural network model to obtain an output result.
According to an embodiment of the disclosure, the graph neural network model is obtained by training with a training device of the graph neural network model according to an embodiment of the disclosure.
The present disclosure also provides an electronic device, a readable storage medium, and a computer program product according to embodiments of the present disclosure.
According to an embodiment of the present disclosure, an electronic device includes: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method as described above.
According to an embodiment of the present disclosure, a non-transitory computer readable storage medium having stored thereon computer instructions for causing a computer to perform the method as described above.
According to an embodiment of the disclosure, a computer program product comprising a computer program which, when executed by a processor, implements the method as described above.
FIG. 14 schematically illustrates a block diagram of an electronic device suitable for implementing a graph data storage method, a graph data access method, a graph neural network model training method, and a graph data processing method, in accordance with an embodiment of the present disclosure. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. Electronic devices may also represent various forms of mobile devices, such as personal digital processors, cellular telephones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be examples only, and are not intended to limit implementations of the disclosure described and/or claimed herein.
As shown in fig. 14, the electronic device 1400 includes a computing unit 1401 that can perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM) 1402 or a computer program loaded from a storage unit 1408 into a Random Access Memory (RAM) 1403. In the RAM 1403, various programs and data required for the operation of the electronic device 1400 can also be stored. The calculation unit 1401, the ROM 1402, and the RAM 1403 are connected to each other via a bus 1404. An input/output (I/O) interface 1405 is also connected to bus 1404.
A number of components in the electronic device 1400 are connected to the I/O interface 1405, including: an input unit 1406 such as a keyboard, a mouse, or the like; an output unit 1407 such as various types of displays, speakers, and the like; a storage unit 1408 such as a magnetic disk, optical disk, or the like; and a communication unit 1409 such as a network card, a modem, a wireless communication transceiver, and the like. The communication unit 1409 allows the electronic device 1400 to exchange information/data with other devices via a computer network such as the internet and/or various telecommunication networks.
The computing unit 1401 may be a variety of general-purpose and/or special-purpose processing components having processing and computing capabilities. Some examples of the computing unit 1401 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various dedicated Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, and the like. The computing unit 1401 executes the respective methods and processes described above, such as the graph data storage method, the graph data access method, the training method of the graph neural network model, and the graph data processing method. For example, in some embodiments, the graph data storage method, the graph data access method, the graph neural network model training method, and the graph data processing method may be implemented as computer software programs tangibly embodied on a machine-readable medium, such as storage unit 1408. In some embodiments, part or all of a computer program may be loaded and/or installed onto the electronic device 1400 via the ROM 1402 and/or the communication unit 1409. When the computer program is loaded into the RAM 1403 and executed by the computing unit 1401, one or more steps of the graph data storage method, the graph data access method, the training method of the graph neural network model, and the graph data processing method described above may be performed. Alternatively, in other embodiments, the computing unit 1401 may be configured by any other suitable means (e.g. by means of firmware) to perform the graph data storage method, the graph data access method, the graph neural network model training method, and the graph data processing method.
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuitry, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), system on a chip (SOCs), complex Programmable Logic Devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, receiving data and instructions from, and transmitting data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions/operations specified in the flowchart and/or block diagram to be performed. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which a user may provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic, speech, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), and the Internet.
The computer system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server may be a cloud server, a server of a distributed system, or a server with a combined blockchain.
It should be understood that various forms of the flows shown above may be used, with steps reordered, added, or deleted. For example, the steps described in the present disclosure may be executed in parallel, sequentially, or in different orders, as long as the desired results of the technical solutions disclosed in the present disclosure can be achieved, and the present disclosure is not limited herein.
The above detailed description should not be construed as limiting the scope of the disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may be made, depending on design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present disclosure should be included in the scope of protection of the present disclosure.

Claims (42)

1. A graph data storage method, comprising:
dividing the image data to be stored in response to the received image data storage request to obtain at least two image slice data to be stored;
obtaining target image slice data and associated image slice data according to the at least two image slice data to be stored;
storing the target image slice data to a Graphics Processing Unit (GPU);
storing the association map slice data to an internal memory; and
storing the at least two image slice data to be stored to an external memory;
the method further comprises the following steps:
responding to the detected storage switching instruction, and obtaining new target image slice data and new associated image slice data according to the at least two image slice data to be stored;
deleting the target image slice data stored in the GPU;
deleting the dependency graph slice data stored in the internal memory;
storing the new target image slice data to the GPU; and
storing the new dependency graph slice data to the internal memory.
2. The method according to claim 1, wherein the obtaining target map slice data and associated map slice data from the at least two map slice data to be stored comprises:
determining the target image slice data from the at least two image slice data to be stored; and
and determining the associated map slice data from the map data to be stored according to the target map slice data.
3. The method of claim 1 or 2 or wherein the GPU comprises at least one GPU card;
wherein the storing the target image slice data to a Graphics Processor (GPU) comprises:
dividing the target image slice data to obtain at least one target image partition data; and
storing the at least one target graph partition data to at least one GPU card.
4. The method of claim 3, wherein the dividing the target map slice data into at least one target map partition data comprises:
and dividing the target image slice data based on a first hash algorithm to obtain the at least one target image partition data.
5. The method of claim 1 or 2, wherein the internal memory comprises at least one internal storage area;
wherein the storing the dependency graph slice data to an internal memory comprises:
dividing the association diagram slice data to obtain at least one association diagram partition data; and
storing the at least one dependency graph partition data to the at least one internal storage area.
6. The method of claim 5, wherein the partitioning the dependency graph slice data into at least one dependency graph partition data comprises:
and dividing the association diagram slice data based on a second hash algorithm to obtain the at least one association diagram partitioned data.
7. The method according to claim 1 or 2, wherein the dividing the graph data to be stored in response to receiving the graph data storage request to obtain at least two graph slice data to be stored comprises:
and responding to the received graph data storage request, and dividing the graph data to be stored based on a node graph segmentation algorithm to obtain at least two graph slice data to be stored.
8. The method of claim 1 or 2, wherein the relationship between the target map slice data and the associated map slice data comprises one of: the target map slice data and the associated map slice data are not intersected and the associated map slice data comprises the target map slice data.
9. The method of claim 1 or 2, wherein the target graph slice data comprises at least one of target node-related data comprising at least one of target node data and target neighbor node characteristic data, and target neighbor node-related data comprising at least one of target neighbor node data and target neighbor node characteristic data;
wherein the associated graph slice data comprises at least one of associated node related data and associated neighbor node related data, the associated node related data comprises at least one of associated node data and associated node feature data, and the associated neighbor node related data comprises at least one of associated neighbor node data and associated neighbor node feature data.
10. A graph data access method, comprising:
in response to receiving the graph data access request, acquiring a to-be-accessed identifier; and
and under the condition that a matching identifier which is matched with the identifier to be accessed exists in the target image slice data, acquiring an access result from the target image slice data according to the matching identifier, wherein the target image slice data is the image data to be stored in the GPU in the method of any one of claims 1 to 9.
11. The method of claim 10, wherein the GPU comprises at least one GPU card;
when it is determined that a matching identifier matching with the identifier to be accessed exists in the target image slice data, acquiring an access result from the target image slice data according to the matching identifier, including:
under the condition that the matching identification matched with the identification to be accessed exists in the current target image partition data, acquiring the access result from the target image slice data according to the matching identification; and
in the case that it is determined that there is no matching identifier matching the identifier to be accessed in the current target map partition data,
determining a GPU card corresponding to the identifier to be accessed;
sending the identifier to be accessed to the GPU card corresponding to the identifier to be accessed, so that under the condition that the GPU card corresponding to the identifier to be accessed determines that a matching identifier matched with the identifier to be accessed exists in target image partition data of the GPU card corresponding to the identifier to be accessed, an access result is obtained from the target image slice data according to the matching identifier; and
responding to the received access result from the GPU card corresponding to the identifier to be accessed.
12. The method of claim 11, further comprising:
sending the identifier to be accessed to an internal memory under the condition that it is determined that no matching identifier matched with the identifier to be accessed exists in target graph partition data of a GPU card corresponding to the identifier to be accessed, so that the internal memory obtains the access result from associated graph slice data according to the matching identifier under the condition that it is determined that the matching identifier matched with the identifier to be accessed exists in the associated graph slice data, wherein the associated graph slice data is the graph data to be stored in the internal memory in the method of any one of claims 1 to 9; and
responding to the received access result from the GPU card corresponding to the identifier to be accessed, wherein the access result obtained by the GPU card corresponding to the identifier to be accessed is in response to the received access result from the internal memory.
13. The method of any of claims 10-12, further comprising:
creating a first access task according to the identifier to be accessed;
adding the first access task to a first task queue corresponding to the GPU;
when it is determined that a matching identifier matching with the identifier to be accessed exists in the target image slice data, acquiring an access result from the target image slice data according to the matching identifier, including:
acquiring a first head task from the first task queue by using a thread corresponding to the GPU;
acquiring the identifier to be accessed from the first head task by using a thread corresponding to the GPU under the condition that the first head task is determined to be the first access task; and
and acquiring the access result from the target image slice data according to the matching identifier under the condition that the thread corresponding to the GPU is used for determining that the target image slice data has the matching identifier matched with the identifier to be accessed.
14. A graph data access method, comprising:
in response to receiving a to-be-accessed identifier from a Graphics Processing Unit (GPU), in the case that it is determined that a matching identifier matching the to-be-accessed identifier exists in associated graph slice data, acquiring an access result from the associated graph slice data according to the matching identifier, wherein the associated graph slice data is the to-be-stored graph data stored in the internal memory in the method according to any one of claims 1 to 9; and
and sending the access result to the GPU.
15. The method of claim 14, further comprising:
in the case where it is determined that there is no matching identifier matching the identifier to be accessed in the associated image slice data,
sending the identifier to be accessed to an external memory so that the external memory obtains the access result from at least two pieces of image slice data to be stored, wherein the at least two pieces of image slice data to be stored are the pieces of data to be stored in the method according to any one of claims 1 to 9; and
in response to receiving the access result from the external memory, sending the access result to the GPU.
16. The method according to claim 14 or 15, wherein in response to receiving a to-be-accessed identifier from a Graphics Processing Unit (GPU), in the case that it is determined that a matching identifier matching the to-be-accessed identifier exists in associated graph slice data, acquiring an access result from the associated graph slice data according to the matching identifier comprises:
in response to receiving the identifier to be accessed from the GPU, creating a second access task according to the identifier to be accessed;
adding the second access task to a second task queue corresponding to the internal memory;
acquiring a second head task from the second task queue by using a thread corresponding to the internal memory;
acquiring the identifier to be accessed from the second head task by using a thread corresponding to the internal memory under the condition that the second head task is determined to be the second access task; and
and acquiring the access result from the associated map slice data according to the matching identifier under the condition that the thread corresponding to the internal memory is used for determining that the associated map slice data has the matching identifier matched with the identifier to be accessed.
17. A training method of a graph neural network model comprises the following steps:
in response to receiving a model training request, determining at least one target sampling node from target image slice data based on a sampling strategy, wherein the target image slice data is data to be stored in a Graphics Processing Unit (GPU) in the method of any one of claims 1-9;
acquiring at least one order neighbor node corresponding to the at least one target sampling node from one of the target graph slice data, associated graph slice data and at least two graph slice data to be stored, wherein the associated graph slice data is the graph data to be stored in the internal memory in the method of any one of claims 1 to 9, and the at least two graph slice data to be stored are the graph data to be stored in the external memory in the method of any one of claims 1 to 9;
obtaining at least one order of sub-graph data according to the target sampling node related data of the at least one target sampling node and the neighbor node related data of the at least one order of neighbor nodes; and
and sending the at least one order of sub-graph data to a deep learning platform so that the deep learning platform trains the graph neural network model by using the at least one order of sub-graph data.
18. The method of claim 17, wherein the determining at least one target sampling node from the target image slice data based on the sampling strategy in response to receiving the model training request comprises one of:
in response to receiving the model training request, determining all target nodes in the target image slice data as the target sampling nodes based on a traversal sampling strategy; and
in response to receiving the model training request, determining a portion of target nodes in the target image slice data as the at least one target sampling node based on a conditional sampling strategy.
19. The method of claim 17 or 18, further comprising:
generating a storage switching instruction in response to receiving a training completion instruction from the deep learning platform; and
in response to the storage switching instruction is detected, under the condition that new target graph slice data and new associated graph slice data are obtained according to the at least two graph slice data to be stored, repeatedly executing the operation of obtaining the at least one order of sub-graph data, and sending the at least one order of sub-graph data to the deep learning platform, so that the deep learning platform trains the graph neural network model by using the at least one order of sub-graph data until the training operation of training the graph neural network model by using the target graph slice data is completed under the condition that a preset number of the graph slice data to be stored in the at least two graph slice data to be stored are determined as the target graph slice data.
20. A graph data processing method, comprising:
inputting the target graph data into a graph neural network model, which is trained using the method according to any one of claims 17-19, to obtain an output result.
21. A graph data storage device comprising:
the first obtaining module is used for responding to the received graph data storage request, dividing the graph data to be stored and obtaining at least two graph slice data to be stored;
the second obtaining module is used for obtaining target image slice data and associated image slice data according to the at least two image slice data to be stored;
a first storage module, configured to store the target image slice data to a Graphics Processing Unit (GPU);
a second storage module for storing the dependency graph slice data to an internal memory; and
the third storage module is used for storing the at least two image slice data to be stored into an external memory;
the device further comprises:
the second obtaining module is used for responding to the storage switching instruction and obtaining new target image slice data and new associated image slice data according to the at least two image slice data to be stored;
a first deletion module, configured to delete the target image slice data stored in the GPU;
a second deletion module configured to delete the dependency graph slice data stored in the internal memory;
a third storage module, configured to store the new target image slice data to the GPU; and
a fourth storage module, configured to store the new dependency graph slice data in the internal memory.
22. The apparatus of claim 21, wherein the second obtaining means comprises:
a first determining sub-module, configured to determine the target image slice data from the at least two image slice data to be stored; and
and the second determining submodule is used for determining the associated map slice data from the map data to be stored according to the target map slice data.
23. The apparatus according to claim 21 or 22 or wherein the GPU comprises at least one GPU card;
wherein the first storage module comprises:
the first obtaining submodule is used for dividing the target image slice data to obtain at least one target image partition data; and
and the first storage submodule is used for storing the at least one target graph partition data to at least one GPU card.
24. The apparatus of claim 23, wherein the first obtaining submodule comprises:
the first obtaining unit is configured to divide the target image slice data based on a first hash algorithm to obtain the at least one target image partition data.
25. The apparatus of claim 21 or 22, wherein the internal memory comprises at least one internal storage area;
wherein the second storage module comprises:
the second obtaining submodule is used for dividing the association diagram slice data to obtain at least one association diagram partition data; and
and the second storage submodule is used for storing the at least one association map partition data into the at least one internal storage area.
26. The apparatus of claim 25, wherein the second obtaining submodule comprises:
and the second obtaining unit is used for dividing the association diagram slice data based on a second hash algorithm to obtain the at least one association diagram partition data.
27. The apparatus of claim 21 or 22, wherein the first obtaining means comprises:
and the third obtaining submodule is used for responding to the received graph data storage request, and dividing the graph data to be stored based on a graph segmentation algorithm of a node to obtain the at least two graph slice data to be stored.
28. The apparatus of claim 21 or 22, wherein the relationship between the target atlas slice data and the associated atlas slice data comprises one of: no intersection between the target map slice data and the associated map slice data comprises the target map slice data.
29. The apparatus of claim 21 or 22, wherein the target graph slice data comprises at least one of target node-related data and target neighbor node-related data, the target node-related data comprising at least one of target node data and target node characteristic data, the target neighbor node-related data comprising at least one of target neighbor node data and target neighbor node characteristic data;
wherein the associated graph slice data comprises at least one of associated node-related data and associated neighbor node-related data, the associated node-related data comprises at least one of associated node data and associated node feature data, and the associated neighbor node-related data comprises at least one of associated neighbor node data and associated neighbor node feature data.
30. A graph data access apparatus comprising:
the first acquisition module is used for responding to the received graph data access request and acquiring the identifier to be accessed; and
a second obtaining module, configured to, when it is determined that there is a matching identifier matching the identifier to be accessed in the target image slice data, obtain an access result from the target image slice data according to the matching identifier, where the target image slice data is the image data to be stored in the graphics processing unit GPU in the apparatus according to any one of claims 21 to 29.
31. The apparatus of claim 30, wherein the GPU comprises at least one GPU card;
wherein the second obtaining module includes:
the first obtaining submodule is used for obtaining the access result from the target image slice data according to the matching identification under the condition that the matching identification matched with the identification to be accessed exists in the current target image partition data; and
in the case that it is determined that there is no matching identifier matching the identifier to be accessed in the current target map partition data,
the third determining submodule is used for determining the GPU card corresponding to the identifier to be accessed;
the sending submodule is used for sending the identifier to be accessed to the GPU card corresponding to the identifier to be accessed, so that the GPU card corresponding to the identifier to be accessed can obtain an access result from the target image sliced data according to the matching identifier under the condition that the matching identifier matched with the identifier to be accessed exists in the target image partitioned data of the GPU card corresponding to the identifier to be accessed; and
and the receiving submodule is used for responding to the received access result from the GPU card corresponding to the identifier to be accessed.
32. The apparatus of claim 31, further comprising:
a first sending module, configured to send, when it is determined that there is no matching identifier matching with the identifier to be accessed in target graph partition data of a GPU card corresponding to the identifier to be accessed, the identifier to be accessed to an internal memory, so that when it is determined that there is a matching identifier matching with the identifier to be accessed in associated graph slice data, according to the matching identifier, the internal memory obtains the access result from the associated graph slice data, where the associated graph slice data is the graph data to be stored in the internal memory in the apparatus according to any one of claims 22 to 31; and
the receiving module is used for responding to the received access result from the GPU card corresponding to the identifier to be accessed, wherein the access result obtained by the GPU card corresponding to the identifier to be accessed is in response to the received access result from the internal memory.
33. The apparatus of any one of claims 30 to 32, further comprising:
the creation module is used for creating a first access task according to the identifier to be accessed;
an adding module, configured to add the first access task to a first task queue corresponding to the GPU;
wherein, the second obtaining module includes:
a second obtaining submodule, configured to obtain a first head task from the first task queue by using a thread corresponding to the GPU;
a third obtaining sub-module, configured to obtain, by using a thread corresponding to the GPU, the identifier to be accessed from the first head task when it is determined that the first head task is the first access task; and
and the fourth obtaining submodule is used for obtaining the access result from the target image slice data according to the matching identifier under the condition that the thread corresponding to the GPU is used for determining that the matching identifier matched with the identifier to be accessed exists in the target image slice data.
34. A graph data access apparatus comprising:
a third obtaining module, configured to, in response to receiving a to-be-accessed identifier from a Graphics Processing Unit (GPU), obtain, according to a matching identifier when it is determined that there is a matching identifier that matches the to-be-accessed identifier in associated graph slice data, an access result from the associated graph slice data, where the associated graph slice data is to-be-stored graph data that is stored in the internal memory in the apparatus according to any one of claims 21 to 29; and
and the second sending module is used for sending the access result to the GPU.
35. The apparatus of claim 34, further comprising:
in the case where it is determined that there is no matching identifier matching the identifier to be accessed in the associated map slice data,
a third sending module, configured to send the identifier to be accessed to an external memory, so that the external memory obtains the access result from at least two pieces of to-be-stored slice data, where the at least two pieces of to-be-stored slice data are to-be-stored data in the apparatus according to any one of claims 21 to 29; and
a fourth sending module, configured to send the access result to the GPU in response to receiving the access result from the external memory.
36. The apparatus of claim 34 or 35, wherein the third obtaining means comprises:
the creating submodule is used for responding to the received identifier to be accessed from the GPU and creating a second access task according to the identifier to be accessed;
the adding submodule is used for adding the second access task to a second task queue corresponding to the internal memory;
a fifth obtaining sub-module, configured to obtain a second head task from the second task queue by using a thread corresponding to the internal memory;
a sixth obtaining sub-module, configured to obtain, by using a thread corresponding to the internal memory, the identifier to be accessed from the second head task when it is determined that the second head task is the second access task; and
and the seventh obtaining submodule is used for obtaining the access result from the associated graph slice data according to the matching identifier under the condition that the thread corresponding to the internal memory is used for determining that the matching identifier matched with the identifier to be accessed exists in the associated graph slice data.
37. A training apparatus for a graph neural network model, comprising:
a determining module, configured to determine, in response to receiving a model training request, at least one target sampling node from target image slice data based on a sampling strategy, where the target image slice data is to-be-stored data stored in the graphics processor GPU in the apparatus according to any one of claims 21 to 29;
a fourth obtaining module, configured to obtain, according to the at least one target sampling node, at least one first-order neighbor node corresponding to the at least one target sampling node from one of the target graph slice data, associated graph slice data and at least two graph slice data to be stored, where the associated graph slice data is the graph data to be stored in the internal memory in the apparatus according to any one of claims 21 to 29, and the at least two graph slice data to be stored are the graph data to be stored in the external memory in the apparatus according to any one of claims 21 to 29;
a third obtaining module, configured to obtain at least one order of sub-graph data according to target sampling node-related data of the at least one target sampling node and neighbor node-related data of the at least one order of neighbor nodes; and
and the fifth sending module is used for sending the at least one order of sub-graph data to a deep learning platform so that the deep learning platform trains the graph neural network model by using the at least one order of sub-graph data.
38. The apparatus of claim 37, wherein the means for determining comprises one of:
a fourth determining submodule, configured to determine, in response to receiving the model training request, all target nodes in the target image slice data as the target sampling nodes based on a traversal sampling strategy; and
a fifth determining submodule, configured to determine, in response to receiving the model training request, a part of target nodes in the target image slice data as the at least one target sampling node based on a conditional sampling strategy.
39. The apparatus of claim 37 or 38, further comprising:
the generation module is used for responding to a training completion instruction received from the deep learning platform and generating a storage switching instruction; and
and the execution module is used for responding to the storage switching instruction, under the condition that new target graph slice data and new associated graph slice data are obtained according to the at least two graph slice data to be stored, repeatedly executing the operation of obtaining the at least one order of sub-graph data, and sending the at least one order of sub-graph data to the deep learning platform, so that the deep learning platform trains the graph neural network model by using the at least one order of sub-graph data until the training operation of training the graph neural network model by using the target graph slice data is completed under the condition that a preset number of the graph slice data to be stored in the at least two graph slice data to be stored is determined as the target graph slice data.
40. A graph data processing apparatus comprising:
a fourth obtaining module, configured to input the target graph data into a graph neural network model to obtain an output result, where the graph neural network model is obtained by training using the apparatus according to any one of claims 37 to 39.
41. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1 to 20.
42. A non-transitory computer readable storage medium having stored thereon computer instructions for causing the computer to perform the method of any one of claims 1-20.
CN202210573156.3A 2022-05-19 2022-05-19 Graph data storage, access, processing method, training method, device and medium Active CN114897666B (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202310188952.XA CN116029891A (en) 2022-05-19 2022-05-19 Graph data storage, access and processing methods, training methods, equipment and media
CN202310188950.0A CN116362955A (en) 2022-05-19 2022-05-19 Graph data storage, access and processing methods, training methods, equipment and media
CN202310188954.9A CN116309002B (en) 2022-05-19 2022-05-19 Graph data storage, access and processing methods, training methods, equipment and media
CN202210573156.3A CN114897666B (en) 2022-05-19 2022-05-19 Graph data storage, access, processing method, training method, device and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210573156.3A CN114897666B (en) 2022-05-19 2022-05-19 Graph data storage, access, processing method, training method, device and medium

Related Child Applications (3)

Application Number Title Priority Date Filing Date
CN202310188950.0A Division CN116362955A (en) 2022-05-19 2022-05-19 Graph data storage, access and processing methods, training methods, equipment and media
CN202310188952.XA Division CN116029891A (en) 2022-05-19 2022-05-19 Graph data storage, access and processing methods, training methods, equipment and media
CN202310188954.9A Division CN116309002B (en) 2022-05-19 2022-05-19 Graph data storage, access and processing methods, training methods, equipment and media

Publications (2)

Publication Number Publication Date
CN114897666A CN114897666A (en) 2022-08-12
CN114897666B true CN114897666B (en) 2023-04-18

Family

ID=82725589

Family Applications (4)

Application Number Title Priority Date Filing Date
CN202310188952.XA Pending CN116029891A (en) 2022-05-19 2022-05-19 Graph data storage, access and processing methods, training methods, equipment and media
CN202310188954.9A Active CN116309002B (en) 2022-05-19 2022-05-19 Graph data storage, access and processing methods, training methods, equipment and media
CN202310188950.0A Pending CN116362955A (en) 2022-05-19 2022-05-19 Graph data storage, access and processing methods, training methods, equipment and media
CN202210573156.3A Active CN114897666B (en) 2022-05-19 2022-05-19 Graph data storage, access, processing method, training method, device and medium

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CN202310188952.XA Pending CN116029891A (en) 2022-05-19 2022-05-19 Graph data storage, access and processing methods, training methods, equipment and media
CN202310188954.9A Active CN116309002B (en) 2022-05-19 2022-05-19 Graph data storage, access and processing methods, training methods, equipment and media
CN202310188950.0A Pending CN116362955A (en) 2022-05-19 2022-05-19 Graph data storage, access and processing methods, training methods, equipment and media

Country Status (1)

Country Link
CN (4) CN116029891A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117556095B (en) * 2024-01-11 2024-04-09 腾讯科技(深圳)有限公司 Graph data segmentation method, device, computer equipment and storage medium

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748844A (en) * 1994-11-03 1998-05-05 Mitsubishi Electric Information Technology Center America, Inc. Graph partitioning system
WO2009107412A1 (en) * 2008-02-27 2009-09-03 日本電気株式会社 Graph structure estimation apparatus, graph structure estimation method, and program
US10956499B2 (en) * 2016-09-13 2021-03-23 International Business Machines Corporation Efficient property graph storage for streaming/multi-versioning graphs
CN111124250B (en) * 2018-10-30 2023-11-21 伊姆西Ip控股有限责任公司 Method, apparatus and computer program product for managing memory space
CN111444395B (en) * 2019-01-16 2023-05-16 阿里巴巴集团控股有限公司 Method, system and equipment for obtaining relation expression between entities and advertisement recall system
DE102020110447A1 (en) * 2019-04-26 2021-01-21 Intel Corporation Methods, computer programs and devices for signal processing in a user device and network infrastructure, user device and network infrastructure
CN110099112B (en) * 2019-04-28 2022-03-29 平安科技(深圳)有限公司 Data storage method, device, medium and terminal equipment based on point-to-point network
CN110633378A (en) * 2019-08-19 2019-12-31 杭州欧若数网科技有限公司 Graph database construction method supporting super-large scale relational network
CN110909015B (en) * 2019-09-12 2022-07-22 华为云计算技术有限公司 Splitting method, device and equipment of microservice and storage medium
CN111882977B (en) * 2020-05-06 2022-04-29 北京嘀嘀无限科技发展有限公司 High-precision map construction method and system
CN113672162A (en) * 2020-05-14 2021-11-19 杭州萤石软件有限公司 Data storage method, device and equipment
KR102450409B1 (en) * 2020-10-28 2022-10-05 주식회사 뷰노 Method for segmentation based on medical image
CN113961351B (en) * 2021-10-28 2022-12-30 北京百度网讯科技有限公司 Distributed training method, device, equipment and storage medium for deep learning model
CN114443873A (en) * 2021-12-31 2022-05-06 深圳云天励飞技术股份有限公司 Data processing method, device, server and storage medium

Also Published As

Publication number Publication date
CN116029891A (en) 2023-04-28
CN114897666A (en) 2022-08-12
CN116309002B (en) 2024-03-01
CN116309002A (en) 2023-06-23
CN116362955A (en) 2023-06-30

Similar Documents

Publication Publication Date Title
CN114357105B (en) Pre-training method and model fine-tuning method of geographic pre-training model
CN114444619B (en) Sample generation method, training method, data processing method and electronic device
CN112559631A (en) Data processing method and device of distributed graph database and electronic equipment
CN114897666B (en) Graph data storage, access, processing method, training method, device and medium
CN112528067A (en) Graph database storage method, graph database reading method, graph database storage device, graph database reading device and graph database reading equipment
US20210365406A1 (en) Method and apparatus for processing snapshot, device, medium and product
CN116824609B (en) Document format detection method and device and electronic equipment
CN113033194A (en) Training method, device, equipment and storage medium of semantic representation graph model
CN115186738B (en) Model training method, device and storage medium
CN116597443A (en) Material tag processing method and device, electronic equipment and medium
CN117082046A (en) Data uploading method, device, equipment and storage medium
EP4092544A1 (en) Method, apparatus and storage medium for deduplicating entity nodes in graph database
CN113360689B (en) Image retrieval system, method, related device and computer program product
CN112887426B (en) Information stream pushing method and device, electronic equipment and storage medium
CN112860626B (en) Document ordering method and device and electronic equipment
CN114969444A (en) Data processing method and device, electronic equipment and storage medium
CN113961797A (en) Resource recommendation method and device, electronic equipment and readable storage medium
CN115759233B (en) Model training method, graph data processing device and electronic equipment
CN116304253B (en) Data storage method, data retrieval method and method for identifying similar video
CN117131197B (en) Method, device, equipment and storage medium for processing demand category of bidding document
CN115794984B (en) Data storage method, data retrieval method, device, equipment and medium
CN115828915B (en) Entity disambiguation method, device, electronic equipment and storage medium
CN114359610B (en) Entity classification method, device, equipment and storage medium
CN115935027A (en) Data processing method of target object topological graph and training method of graph classification model
CN114281963A (en) Searching and grouping method, device, equipment and storage medium

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
GR01 Patent grant
GR01 Patent grant