IP Library Granted Patent US 11,657,324
Granted Patent B2
US 11,657,324 · App. 16/886,131 · Granted May 23, 2023

Method, electronic device, and computer program product for processing data

Inventors: Jin Li (Shanghai, CN); Jinpeng Liu (Shanghai, CN); WuiChak Wong (Xiamen, CN)
Assignee: EMC IP Holding Company LLC
G06N20/00G06F17/16G06T1/20
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,657,324
App. No.
16/886,131
Granted
May 23, 2023
Kind
B2
Abstract

Embodiments of the present disclosure relate to a method, an electronic device, and a computer program product for processing data. According to exemplary implementations of the present disclosure, a method for processing data includes: determining a factor associated with a first input of a deep learning model, wherein the factor affects the number of threads for executing the deep learning model; generating a plurality of first partial inputs by using the first input based on the factor, wherein each first partial input in the plurality of first partial inputs is a part of the first input; and performing an operation on the plurality of first partial inputs by using the deep learning model, and generating an output of the deep learning model. Thereby, the data processing performance can be improved, and the resource requirement for data processing is lowered.

Claims (68)

1. A method for processing data, comprising:

determining a factor associated with a first input of a deep learning model, wherein the factor affects the number of threads for executing the deep learning model;

generating a plurality of first partial inputs by using the first input based on the factor, wherein each first partial input in the plurality of first partial inputs is a part of the first input; and

performing an operation on the plurality of first partial inputs by using the deep learning model, and generating an output of the deep learning model;

wherein the operation is performed in parallel on select ones of the first partial inputs of the plurality of first partial inputs;

wherein the factor determined is at least one of a channel number and a size;

wherein when the factor is the size, the operation performed by the deep learning model is a cross-multiplication operation, the deep learning model further has a second input, and the first input is divided into the plurality of first partial inputs based on determined relative sizes of the first input and the second input; and

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

2. The method according to claim 1 , wherein the first input is an image, and determining the factor comprises at least one of the following:

when it is determined that the channel number of the image exceeds a channel threshold value, determining the factor as the channel number; and

when it is determined that the size of at least one of a height or a width of the image exceeds a size threshold value, determining the factor as the size.

3. The method according to claim 1 , wherein when the factor is the channel number, generating the plurality of first partial inputs comprises:

dividing the first input into the plurality of first partial inputs, wherein the channel number of each first partial input in the plurality of first partial inputs is associated with a channel division threshold value.

4. The method according to claim 1 , wherein when the factor is the size, generating the plurality of first partial inputs comprises:

determining the type of the operation to be executed by using the deep learning model on the plurality of first partial inputs; and

dividing the first input into the plurality of first partial inputs by using a size division threshold value based on the type.

5. The method according to claim 4 , wherein the operation of the type is the cross-multiplication operation; the deep learning model further has the second input; the first input and the second input are respectively matrices representing images; and dividing the first input into the plurality of first partial inputs by using the size division threshold value based on the type comprises:

when it is determined that the size of the first input exceeds the size of the second input, dividing the first input into a plurality of sub-matrices serving as the plurality of first partial inputs, wherein the size of each sub-matrix does not exceed the size division threshold value.

6. The method according to claim 5 , wherein dividing the first input into the plurality of first partial inputs by using the size division threshold value based on the type further comprises:

when it is determined that the size of the first input is less than the size of the second input, dividing the first input into a plurality of intermediate partial inputs, wherein each intermediate partial input is a matrix comprising at least one column vector of the first input; and

dividing each intermediate partial input in the plurality of intermediate partial inputs into a plurality of sub-matrices serving as the plurality of first partial inputs, wherein the size of each sub-matrix does not exceed the size division threshold value.

7. The method according to claim 4 , wherein the operation of the type is an element-wise operation; the first input is a matrix representing an image; and dividing the first input into the plurality of first partial inputs by using the size division threshold value based on the type comprises:

dividing the first input into a plurality of sub-matrices serving as the plurality of first partial inputs, wherein the size of each sub-matrix does not exceed the size division threshold value.

8. The method according to claim 1 , wherein generating the output of the deep learning model comprises:

performing the operation on the plurality of first partial inputs by using the deep learning model, and generating a plurality of partial outputs of the deep learning model; and

combining the plurality of partial outputs to generate the output.

9. An electronic device, comprising:

at least one processing unit;

at least one memory, the at least one memory being coupled to the at least one processing unit and storing an instruction executed by the at least one processing unit, wherein the instruction, when executed by the at least one processing unit, causes the device to perform actions, and the actions comprise:

determining a factor associated with a first input of a deep learning model, wherein the factor affects the number of threads for executing the deep learning model;

generating a plurality of first partial inputs by using the first input based on the factor, wherein each first partial input in the plurality of first partial inputs is a part of the first input; and

performing an operation on the plurality of first partial inputs by using the deep learning model, and generating an output of the deep learning model;

wherein the operation is performed in parallel on select ones of the first partial inputs of the plurality of first partial inputs;

wherein the factor determined is at least one of a channel number and a size; and

wherein when the factor is the size, the operation performed by the deep learning model is a cross-multiplication operation, the deep learning model further has a second input, and the first input is divided into the plurality of first partial inputs based on determined relative sizes of the first input and the second input.

10. The device according to claim 9 , wherein the first input is an image, and determining the factor comprises at least one of the following:

when it is determined that the channel number of the image exceeds a channel threshold value, determining the factor as the channel number; and

when it is determined that the size of at least one of a height or a width of the image exceeds a size threshold value, determining the factor as the size.

11. The device according to claim 9 , wherein when the factor is the channel number, generating the plurality of first partial inputs comprises:

dividing the first input into the plurality of first partial inputs, wherein the channel number of each first partial input in the plurality of first partial inputs is associated with a channel division threshold value.

12. The device according to claim 9 , wherein when the factor is the size, generating the plurality of first partial inputs comprises:

determining the type of the operation to be executed by using the deep learning model on the plurality of first partial inputs; and

dividing the first input into the plurality of first partial inputs by using a size division threshold value based on the type.

13. The device according to claim 12 , wherein the operation of the type is the cross-multiplication operation; the deep learning model further has the second input; the first input and the second input are respectively matrices representing images; and dividing the first input into the plurality of first partial inputs by using the size division threshold value based on the type comprises:

when it is determined that the size of the first input exceeds the size of the second input, dividing the first input into a plurality of sub-matrices serving as the plurality of first partial inputs, wherein the size of each sub-matrix does not exceed the size division threshold value.

14. The device according to claim 13 , wherein dividing the first input into the plurality of first partial inputs by using the size division threshold value based on the type further comprises:

when it is determined that the size of the first input is less than the size of the second input, dividing the first input into a plurality of intermediate partial inputs, wherein each intermediate partial input is a matrix comprising at least one column vector of the first input; and

dividing each intermediate partial input in the plurality of intermediate partial inputs into a plurality of sub-matrices serving as the plurality of first partial inputs, wherein the size of each sub-matrix does not exceed the size division threshold value.

15. The device according to claim 12 , wherein the operation of the type is an element-wise operation; the first input is a matrix representing an image; and dividing the first input into the plurality of first partial inputs by using the size division threshold value based on the type comprises:

dividing the first input into a plurality of sub-matrices serving as the plurality of first partial inputs, wherein the size of each sub-matrix does not exceed the size division threshold value.

16. The device according to claim 9 , wherein generating the output of the deep learning model comprises:

performing the operation on the plurality of first partial inputs by using the deep learning model, and generating a plurality of partial outputs of the deep learning model; and

combining the plurality of partial outputs to generate the output.

17. A computer program product, wherein the computer program product is tangibly stored on a non-transitory computer readable medium and comprises a machine-executable instruction; and the machine-executable instruction, when executed, causes a machine to perform the steps of:

determining a factor associated with a first input of a deep learning model, wherein the factor affects the number of threads for executing the deep learning model;

generating a plurality of first partial inputs by using the first input based on the factor, wherein each first partial input in the plurality of first partial inputs is a part of the first input; and

performing an operation on the plurality of first partial inputs by using the deep learning model, and generating an output of the deep learning model;

wherein the operation is performed in parallel on select ones of the first partial inputs of the plurality of first partial inputs;

wherein the factor determined is at least one of a channel number and a size; and

wherein when the factor is the size, the operation performed by the deep learning model is a cross-multiplication operation, the deep learning model further has a second input, and the first input is divided into the plurality of first partial inputs based on determined relative sizes of the first input and the second input.

18. The computer program product according to claim 17 , wherein the first input is an image, and determining the factor comprises at least one of the following:

when it is determined that the channel number of the image exceeds a channel threshold value, determining the factor as the channel number; and

when it is determined that the size of at least one of a height or a width of the image exceeds a size threshold value, determining the factor as the size.

19. The computer program product according to claim 17 , wherein when the factor is the channel number, generating the plurality of first partial inputs comprises:

dividing the first input into the plurality of first partial inputs, wherein the channel number of each first partial input in the plurality of first partial inputs is associated with a channel division threshold value.

20. The computer program product according to claim 17 , wherein when the factor is the size, generating the plurality of first partial inputs comprises:

determining the type of the operation to be executed by using the deep learning model on the plurality of first partial inputs; and

dividing the first input into the plurality of first partial inputs by using a size division threshold value based on the type.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2020
From: LI, JIN; LIU, JINPENG; WONG, WUICHAK
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052778/0426 →
Priority Claims (1)
CN 202010367906.2 · Apr 30, 2020 · national
Continuity (1)
Related Publication 20210342741A1 · Nov 4, 2021