EP3977363A1 - Procede d'implementation d'un accelerateur materiel d'un reseau de neurones - Google Patents
Procede d'implementation d'un accelerateur materiel d'un reseau de neuronesInfo
- Publication number
- EP3977363A1 EP3977363A1 EP20737247.5A EP20737247A EP3977363A1 EP 3977363 A1 EP3977363 A1 EP 3977363A1 EP 20737247 A EP20737247 A EP 20737247A EP 3977363 A1 EP3977363 A1 EP 3977363A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- neural network
- hardware accelerator
- implementing
- fpga
- programmable logic
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
- G06N3/105—Shells for specifying net layout
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0495—Quantised networks; Sparse networks; Compressed networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Definitions
- the invention relates to the field of methods of implementing a hardware accelerator of a neural network, as well as the field of electronic cards implementing a hardware accelerator of a neural network.
- a method of implementing a hardware accelerator of a neural network is a method of implementing a hardware accelerator of a neural network algorithm.
- the methods of implementing a hardware accelerator of a neural network make it possible to create and train specific neural networks on a reconfigurable hardware target (FPGA for “Field-Programmable Gâte Array” in English) and then to them. use on datasets.
- FPGA Field-Programmable Gâte Array
- the invention is also interested in carrying out, for these methods of implementing a hardware accelerator of a neural network, on the one hand a simplification of the use for a non-expert user for the software aspect and on the other hand a certain automation in the way of using a series of tools which are quite complex to handle and requiring a relatively high level of expertise.
- FPGA Field Programmable Gâte Array
- the aim of the present invention is to provide a method for implementing a hardware accelerator of a neural network which at least partially overcomes the aforementioned drawbacks.
- this implementation of the prior art remains very general, that is to say that it keeps a matrix of calculation elements as an acceleration core which must regularly, with each new layer of the neural network or with each new operation performed by the neural network, to be reloaded and even reprogrammed with parameters stored in a memory external to the programmable logic circuit FPGA, which in turn has two drawbacks:
- the invention also proposes an implementation of the hardware accelerator on an FPGA programmable logic circuit, but unlike the prior art, the invention proposes an implementation that is both complete of the whole of the neural network (and therefore of all the layers of this neural network) and specifically dedicated to this neural network:
- Embodiments of the invention enable the implementation of an automatic construction chain for a hardware accelerator of a binarized complex convolutional neural network algorithm.
- the present invention provides a method of implementing a hardware accelerator of a neural network, comprising: a step of interpreting an algorithm of the neural network in binary format, converting the network algorithm neurons in binary format in a graph representation, selecting basic blocks from a library of predetermined basic blocks, performing an organization of the selected basic blocks, configuring internal parameters of the basic blocks of the organization, so that the organization of the selected and parameterized basic blocks corresponds to said representation in the form of a graph, a step of determining an initial set of weights of the neural network, a step of complete synthesis of the organization of the basic blocks selected and configured on the one hand on a programmable logic circuit FPGA preselected in a hardware accelerator of the neurons and on the other hand in pilot software for this hardware accelerator, this hardware accelerator being specifically dedicated to the neural network so as to be representative of the entire architecture of the neural network without requiring access to an external memory to the programmable logic circuit FPGA during the passage from one layer to another layer of the neural network, a step of loading the initial set of weights of
- the present invention also provides an electronic card comprising: an FPGA programmable logic circuit, a memory external to the FPGA programmable logic circuit, a hardware accelerator of a neural network: entirely implemented on the FPGA programmable logic circuit, specifically dedicated to the neural network so as to be representative of the entire architecture of the neural network without requiring access to an external memory to the programmable logic circuit FPGA when moving from one layer to another layer of the neural network, comprising: an interface to the external memory, an interface to the outside of the electronic card, an acceleration core comprising successively: an information reading block, an information serialization block with two output channels, 'one to send input data to the layers of the neural network, the other to configure weights at the layers of the neural network, the layers of the neural network, an information deserialization block, an information write block.
- the information read block includes a buffer memory
- the information write block includes a buffer memory
- the present invention also provides an on-board device comprising an electronic card according to the invention.
- a device is on-board makes the gain in speed and performance particularly critical, for a given mass and a consumed energy that the user of the neural network both seeks to reduce as much as possible, while retaining the efficiency, and while ensuring simplicity and ease of use of the implementation process for the designer and the producer of the neural network.
- the on-board device according to the invention is an on-board computer vision device.
- the invention comprises one or more of the following features which can be used separately or in partial combination with one another or in total combination with one or other of the aforementioned objects of the invention.
- the method of implementing a hardware accelerator of a neural network comprises, before the interpretation step, a step of binarization of the neural network algorithm, including an operation of compressing an floating point format to binary format.
- This prior compression operation will make it possible to transform the neural network algorithm to make it even easier to handle in the following steps of the implementation method according to the invention which can therefore also thus accept as input a wider range of neural network algorithms.
- the method of implementing a hardware accelerator of a neural network comprises, before the interpretation step, a step of selecting from a library of predetermined models of neural network algorithms already in binary format. .
- the speed of progress of the implementation method according to the invention can be further significantly accelerated, which is particularly advantageous in the case of similar or repetitive tasks.
- the internal parameters include the size of the neural network input data.
- the size of the input data is a very useful element in configuring the base blocks more efficiently, and this element is readily available, so it is an element to advantageously be integrated into the configuration of the base blocks.
- RAM Random Access Memory
- a higher number of logical subcomponents included in each calculation block can in particular facilitate the realization of the logical synthesis, at the cost of an increase in its overall complexity and therefore in its cost price.
- the compute block has a higher throughput, at the cost of complexity and higher cost.
- the neural network is convolutional, and the internal parameters also include the sizes of the convolutions of the neural network.
- This type of neural network is particularly interesting, but it is also a little more complex to implement.
- the neural network algorithm in binary format is in the ONNX format ("Open Neural Network eXchange").
- This format is particularly interesting, making the overall implementation process smoother.
- the organization of the selected and configured basic blocks is described by a VHDL code representative of an acceleration core of the hardware accelerator.
- This type of coding is particularly interesting, making the overall description of the architecture more complete.
- the synthesizing step and the loading step are carried out by a communication between a host computer and an electronic FPGA card including the programmable logic circuit FPGA, this communication being advantageously carried out by means of the OpenCL standard through d 'a PCI Express type communication channel.
- This type of communication channel and standard are particularly interesting, making the overall implementation process smoother.
- the neural network is a neural network applied to computer vision, preferably to on-board computer vision.
- the application to computer vision is an application to a surveillance camera, or else an application to an image classification system, or else an application to a vision device on board a motor vehicle.
- the application to computer vision is an application to a surveillance camera, or else an application to an image classification system, or else an application to a vision device on board a motor vehicle.
- FIG. 1 schematically represents an example of a functional architecture allowing the implementation of the method of implementing a hardware accelerator of a neural network according to one embodiment of the invention.
- FIG. 2 schematically represents an example of an example of software architecture allowing the implementation of the method of implementing a hardware accelerator of a neural network according to one embodiment of the invention.
- FIG. 3 Fa Figure 3 schematically shows an example of an electronic card implementing a hardware accelerator of a neural network according to one embodiment of the invention.
- FIG. 4 schematically represents an example of a core of an electronic card implementing a hardware accelerator of a neural network according to one embodiment of the invention.
- FIG. 1 schematically represents an example of a functional architecture allowing the implementation of the method of implementing a hardware accelerator of a neural network according to one embodiment of the invention.
- the architecture has three layers: Layer 1 of the models, Layer 5 of the software stack, and Layer 8 of the hardware stack.
- Layer 1 of models includes a library 2 of binary models already in ONNX format of neural network algorithms, and a set of 3 models of neural network algorithms which are pre-trained but in a floating point format ( 32 bits), including notably TENSORFLOW, PYTORCH, and CAFFEE2.
- the neural network hardware accelerator implementation method has two possible inputs: either a model already present in library 2 or a model conventionally pre-trained in a non-fixed software architecture format ("framework in English language) belonging to to set 3.
- a software architecture to be easily compatible with this implementation method, it is interesting that there is a converter from this software architecture to the ONNX format, ONNX being a transversal representation of all software architectures.
- This set 3 of models of algorithms of pre-trained neural networks but in a floating point format can be binarized by a binariser 4, possibly equipped with an additional function of re-training of the neural network for example for PYTORCH, transforming the neural network algorithm models from a floating point format to a binary format, preferably to the ONNX binary format.
- Layer 8 of the hardware stack comprises a library 9 of components, more precisely a library 9 of predetermined basic blocks which will be selected and assembled together and while each being parameterized, by layer 5 of the software stack, and more precisely by the constructor block 6 of layer 5 of the software stack.
- Layer 5 of the software stack comprises, on the one hand, the constructor block 6 which will generate both the hardware accelerator of the neural network and the software piloting this hardware accelerator of the neural network, and on the other hand the block driver 7 which will use the driver software to drive the hardware accelerator of the neural network.
- the constructor block 6 comprises several functions among which: a graph compilation function from a binarized neural network algorithm, a code generation function in VHDL format (coming from “VHSIC Hardware Description Language” in English language with VHSIC coming from "Very High Speed Integrated Circuit” in English language), this code in VHDL format containing information both for the implementation of the hardware accelerator of the neural network and for the driver software of this accelerator hardware, a synthesis function allowing the effective implementation of the hardware neural network accelerator on an FPGA programmable logic circuit.
- the two inputs of the neural network accelerator implementation method have come together in builder block step 6, which will study the neural network input algorithm and convert it into a clean graph representation.
- VHDL code describing the hardware accelerator including the acceleration core, as well as the driver software of this hardware accelerator, which remains to be synthesized at using synthesis tools, as well as the corresponding neural network configuration weights.
- the pilot block 7 comprises several functions among which: a function of loading the VHDL code, a programming interface, and a function of communication between the host computer and the programmable logic circuit FPGA based on the technology of the infrastructure.
- OpenCL software for "Open Computing Language” in English.
- the pilot block 7 which integrates an application programming interface (API for "Application Programming Interface") for example by Python programming language and C ++ programming language, is used to drive the hardware accelerator.
- API Application Programming Interface
- Communication between the host computer and the FPGA is based on OpenCL technology which is a standard.
- One of the advantageous features of the neural network hardware accelerator implementation method proposed by the invention is to be compatible with complex neural network structures such as “ResNet” (for “Residential Network”). or even “GoogLeNet”. These neural networks have the particularity of having divergent data paths, which are then merged or not according to various techniques (an "elt-wise” layer being the most common, for "element-wise” in English).
- the graph compiler located in builder block 6 recognizes these peculiarities and translates them correctly into a corresponding hardware accelerator architecture.
- FIG. 2 schematically represents an example of a software architecture allowing the implementation of the method of implementing a hardware accelerator of a neural network according to one embodiment of the invention.
- a drive block 20 corresponds to the re-training function of the binarizer 4 of Figure 1
- a block 30 of an FPGA tool kit corresponds to the builder block 6 of Figure 1.
- a convolutional neural network (CNN) algorithm model 12 for example in a TENSORFLOW, CAFFEE, or PYTORCH format, is transformed into a convolutional neural network algorithm model 10 binarized in ONNX format which is sent to an input of a training block 20.
- a set 11 of training data is sent to another input of this training block 20 to be transformed into trained weights 23 by interaction with a description 22 of the neural network.
- An internal representation conversion 21 is made of the binarized convolutional neural network algorithm model 10 in ONNX format towards the description 22 of the neural network which by interaction on the training data set 11 gives the trained weights 23 which will be sent to an input of the block 30 of the FPGA tool kit.
- the description 22 of the neural network is again converted by internal representation 24 to a binarized convolutional neural network algorithm 25 in ONNX format which in turn will be sent to another input in the toolkit block 30.
- FPGA convolutional neural network
- the binarized convolutional neural network algorithm 25 in ONNX format is converted by internal representation 32 and transformed by the cooperation of the construction function 33 and a data converter 34 having received the trained weights 23, to output on the one hand an instantiation 35 of files (in “.vhd”) and on the other hand a set of weights 36 (in “.data”), all with the aid of libraries 37 in C and C ++ programming languages.
- the data converter 34 on the one hand puts the training weights in the right format and on the other hand associates them, in the form of a header, with guides to arrive at the right destinations in the right layers of the neural network .
- the internal representation 32, the construction function 33 and the data converter 34 are grouped together in a sub-block 31.
- the pair formed by the instantiation 35 of files and by the set of weights 36 can then either be compiled by an FPGA compiler 14, which can however take a considerable amount of time. , or possibly be associated with a model already precompiled in a precompiled library FPGA 13, which will be much faster but of course requires that this pair correspond to an already precompiled model which exists in stock in the precompiled library FPGA 13.
- FIG. 3 schematically shows an example of an electronic card implementing a hardware accelerator of a neural network according to one embodiment of the invention.
- a host computer integrating both a host processor 46 and a random access memory 47 (RAM for "Random Access Memory” in English), storing the data 48 useful for the hardware accelerator of the neural network, communicates bidirectionally by the 'intermediary of a serial local bus 49 advantageously of the PCIe type (for "PCI Express” in English with PCI for "Peripheral Component Interconnect” in English) with the FPGA electronic card 40 implementing the hardware accelerator of the neural network, and in particular its acceleration core 42.
- the FPGA electronic card 40 comprises an FPGA chip 41. This FPGA chip 41 houses the acceleration core 42 as well as a BSP interface 43 (for “Board Support Package” in English).
- the FPGA chip 41 communicates with a memory 44 integrated on the FPGA electronic card 40 via a DDR bus 45.
- the memory 44 is a memory internal to the FPGA electronic card. 40, but external to the FPGA electronic chip 41; it has a high flow rate.
- This memory 44 is advantageously a memory of the DDR or DDR-2 type (in fact DDR SDRAM for “Double Data Rate Synchronous Dynamic Random Access Memory” in English).
- neither the memory 47 external to the FPGA electronic card 40, nor the memory 44 internal to the FPGA electronic card 40 but external to the chip FPGA 41, are not read to load part of the hardware accelerator, unlike the prior art. Indeed, for the invention, the entire architecture of the neural network is loaded all at once at the start into the acceleration core 42 of the FPGA chip 41, while for the prior art, each layer is charged separately after use of the previous layer which it will then replace, exhibiting a time and an exchange volume between the FPGA chip 41 and the outside of this FPGA chip 41 much greater than those of the invention for the same type of operation of the neural network implemented, therefore offering an operating efficiency much lower than that of the invention.
- the hardware accelerator is specifically dedicated to the neural network that the hardware accelerator can be loaded in one go; on the contrary, in the prior art, the hardware accelerator is general-purpose, and it is then necessary to load it layer by layer in order to “reprogram” it for each new layer, loading in one go not being for the prior art. possible without resorting to a very large size for the hardware accelerator.
- the topology is multi-layered, which allows it to be implemented entirely in one go without requiring too large a size for the hardware accelerator, while in the prior art, the general-purpose hardware accelerator implements different topologies, one topology by each layer.
- FIG. 3 thus represents the overall architecture of the system comprising on the one hand the host machine including host processor 46 and host memory 47, on which the host machine the user performs actions, and on the other hand the hardware accelerator implemented on the FPGA electronic card 40.
- the host processor 46 which is general-purpose, controls and sends inputs / outputs, via a high-speed communication channel 49, to the FPGA electronic card 40 accelerator provided with an FPGA chip 41 (FPGA programmable logic circuit) which FPGA chip 41 advantageously supports the “OpenCL” standard.
- FPGA chip 41 FPGA programmable logic circuit
- FIG. 4 schematically represents an example of a core of an electronic card implementing a hardware accelerator of a neural network according to one embodiment of the invention.
- the acceleration core 42 communicates with the BSP interface 43 (also based on the “OpenCL” communication standard), this communication being represented more precisely in FIG. 4, via an “Avalon” reading interface 52 to a reader 50. , in particular to receive from the host computer the input images and the configuration of the neural network, and via an “Avalon” write interface 92 coming from a write block 90 to give the results obtained at the output of the neural network. Moreover, the acceleration core 42 receives the external parameters supplied by the user and more particularly from his call via the host processor, these external parameters arriving at the level of the buffer memory 55 of the reader 50, of the serialization block 60, and of the buffer memory 95 of the write block 90.
- the acceleration core 42 comprises the series succession, first of the reader 50, then of the serialization block 60, then the layers 70 of the neural network itself, then again the deserialization block 80, and finally the block d 'write 90.
- the signals arrive at the reader 50 through the read interface 52, exit from the write block 90 through the write interface 92, being passed successively through the serialization block 60. , layers 70 of the neural network, and of the deserialization block 80.
- the management of the packets is ensured from start to the end, from the management of the packets 54 in the reader 50 to the management of the packets 94 in the block d 'writing 90, passing successively (dotted lines) through the serialization block 60, the layers 70 of the neural network, and the deserialization block 80.
- Reader 50 includes at input a read interface 52 and at output a sending line 53 of input data (for the next block 60 of serialization) validated ready for use.
- the reader 50 comprises a buffer memory 55 including registers 56 and 57 respectively receiving external parameters “pin” and “iter_i”.
- the serialization block 60 transforms the data 53 arriving from the reader 50 into data 65 stored in the registers 61 to 64, for example in 512 registers even if only 4 registers are shown in FIG. 4. These data stored in the registers 61 to 64 will then be sent in the layers 70 of the neural network, either by the way of inference 77 for the input data of the neural network, or by the way of the configuration 78 for the configuration weights of the neural network .
- a coach 68 selects either the inference path 77 or the configuration path 78 depending on the type of data to be sent to the layers 70 of the neural network.
- the layers 70 of the neural network implement the multilayer topology of the neural network; here only 6 layers 71, 72, 73, 74, 75 and 76 are shown, but there may be more, or even significantly more, and also a little less.
- the neural network comprises at least 2 layers, more preferably at least 3 layers, even more preferentially at least 5 layers, even advantageously at least 10 layers. It is preferably a convolutional neural network.
- the deserialization block 80 stores, the data 87 arriving by way of inference 77, in the registers 81 to 84, for example in 512 registers even if only 4 registers are represented in FIG. 4. These data stored in the registers 81 to 84 will then be sent in the write block 90, more precisely on the output 85 of the deserialization block 80 to then be transmitted still to the input 93 of the write block 90.
- These data 87 are the data of output from the neural network, the data resulting from the successive passage through layers 71 to 76 of neurons, that is to say that they correspond to the desired result obtained after processing by the neural network.
- the write block 90 comprises at output a write interface 92 and at input a reception line 93 of the output data (from the previous deserialization block 80) validated ready to be transmitted to the outside of the acceleration core 42.
- the write block 90 comprises a buffer memory 95 including registers 96 and 97 respectively receiving external parameters “pout” and “iter_o”.
- a user will deport the inference of a “ResNet-50” type network from a general purpose microprocessor of the central processing unit type (CPU for “Central Processing Unit” in English) to a more suitable hardware target, in particular d 'from an energy performance point of view.
- This user selects a target FPGA programmable logic circuit.
- He can use a pre-trained neural network algorithm model in a format such as "PyTorch", which he can find on the internet.
- This neural network algorithm model contains the configuration weights in a floating point representation of the neural network trained on a particular data set (“CIFAR-10” for example).
- the user can then select this neural network algorithm model to use the method for implementing a neural network hardware accelerator according to the invention.
- the user will then obtain at output an FPGA project which he will then synthesize before passing it on to an electronic card as well as a binarized configuration, compatible with the binary representation of the hardware neural network accelerator. This step will require the installation of proprietary tools corresponding to the target FPGA programmable logic circuit.
- the user runs the scripts in builder block 6 automatically generating the configuration of the target FPGA programmable logic circuitry to provide the hardware accelerator.
- the user uses the pilot block 7 in order to load the description of the accelerator (“ResNet-50” network) in the target FPGA programmable logic circuit, to provide the configuration of the pre-trained weights then binarized to the hardware accelerator, to provide an input image set, to retrieve the results of the neural network algorithm at the output of the hardware accelerator.
- the relatively time-consuming part of generating the hardware architecture from the "PyTorch" representation can be dispensed with, provided you use the models from the precompiled network library. If the user chooses a hardware accelerator whose topology has already been generated (by himself or provided by the library of precompiled neural network algorithms), he only has to go through the step of binarization of the model weights which is very fast, for example of the order of a second.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Advance Control (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1905681A FR3096811B1 (fr) | 2019-05-28 | 2019-05-28 | Procede d’implementation d’un accelerateur materiel d’un reseau de neurones |
| PCT/FR2020/050822 WO2020240113A1 (fr) | 2019-05-28 | 2020-05-18 | Procede d'implementation d'un accelerateur materiel d'un reseau de neurones |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP3977363A1 true EP3977363A1 (fr) | 2022-04-06 |
Family
ID=68138360
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP20737247.5A Withdrawn EP3977363A1 (fr) | 2019-05-28 | 2020-05-18 | Procede d'implementation d'un accelerateur materiel d'un reseau de neurones |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20230004775A1 (fr) |
| EP (1) | EP3977363A1 (fr) |
| FR (1) | FR3096811B1 (fr) |
| WO (1) | WO2020240113A1 (fr) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI778537B (zh) * | 2021-03-05 | 2022-09-21 | 國立臺灣科技大學 | 神經網路加速單元的動態設計方法 |
| CN112925741B (zh) * | 2021-03-29 | 2023-01-24 | 上海西井信息科技有限公司 | 异构计算方法和系统 |
| CN112949847B (zh) * | 2021-03-29 | 2023-07-25 | 上海西井科技股份有限公司 | 神经网络算法加速系统、调度系统及调度方法 |
| CN113011569B (zh) * | 2021-04-07 | 2024-06-18 | 开放智能机器(上海)有限公司 | 离线量化参数加注方法、装置、电子设备和存储介质 |
| CN113033784A (zh) * | 2021-04-18 | 2021-06-25 | 沈阳雅译网络技术有限公司 | 一种针对cpu和gpu设备搜索神经网络结构的方法 |
| CN113313243B (zh) * | 2021-06-11 | 2023-06-06 | 海宁奕斯伟集成电路设计有限公司 | 神经网络加速器的确定方法、装置、设备以及存储介质 |
| CN113988282B (zh) * | 2021-10-26 | 2025-04-04 | 阿里巴巴达摩院(杭州)科技有限公司 | 用于图神经网络和图应用的可编程访问引擎架构 |
| US12554675B2 (en) * | 2021-11-22 | 2026-02-17 | Google Llc | Synthesizing zero-loss low-power approximate DNN accelerators with large-scale search |
| US20240232053A1 (en) * | 2023-01-10 | 2024-07-11 | Primis, Inc. | Generation of Hardware Description Language (HDL) Code Using Machine Learning |
| CN116301920B (zh) * | 2023-03-23 | 2023-11-07 | 东北大学 | 一种用于部署cnn模型至基于fpga的高性能加速器的编译系统 |
| CN118550713B (zh) * | 2024-07-29 | 2025-08-12 | 成都考拉悠然科技有限公司 | 神经网络模型转换加速方法、装置、计算设备及存储介质 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10698737B2 (en) * | 2018-04-26 | 2020-06-30 | Hewlett Packard Enterprise Development Lp | Interoperable neural network operation scheduler |
-
2019
- 2019-05-28 FR FR1905681A patent/FR3096811B1/fr active Active
-
2020
- 2020-05-18 WO PCT/FR2020/050822 patent/WO2020240113A1/fr not_active Ceased
- 2020-05-18 US US17/614,081 patent/US20230004775A1/en not_active Abandoned
- 2020-05-18 EP EP20737247.5A patent/EP3977363A1/fr not_active Withdrawn
Also Published As
| Publication number | Publication date |
|---|---|
| WO2020240113A1 (fr) | 2020-12-03 |
| FR3096811B1 (fr) | 2022-07-29 |
| FR3096811A1 (fr) | 2020-12-04 |
| US20230004775A1 (en) | 2023-01-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2020240113A1 (fr) | Procede d'implementation d'un accelerateur materiel d'un reseau de neurones | |
| US20250131258A1 (en) | Compression of sparse deep convolutional network weights | |
| US10783688B2 (en) | Methods and arrangements to create images | |
| CN108268940B (zh) | 用于创建可重新配置的互连框架的工具 | |
| TW202026858A (zh) | 在深度神經網路中利用啟動稀疏性 | |
| WO2025035926A1 (fr) | Procédé d'entraînement de modèle de génération d'image, procédé de génération d'image, appareil, dispositif et support de stockage | |
| JP2018533138A (ja) | 選択的バックプロパゲーション | |
| US20220206770A1 (en) | Using artificial intelligence to optimize software to run on heterogeneous computing resource | |
| CN111344720A (zh) | 融合稀疏内核以近似卷积神经网络的完整内核 | |
| WO2024212648A1 (fr) | Procédé d'entraînement de modèle de classification et appareil associé | |
| US20250165265A1 (en) | Systems and devices for accessing a state machine | |
| US12112482B2 (en) | Techniques for interactive image segmentation networks | |
| KR20230088714A (ko) | 개인화된 뉴럴 네트워크 프루닝 | |
| CN117935025A (zh) | 一种基于fpga和量化蒸馏的图像分类异构硬件加速方法 | |
| EP1259939A2 (fr) | Procede et dispositif de perception automatique | |
| CN118839737A (zh) | 一种基于ZYNQ的压缩YOLOv4-Tiny网络加速器 | |
| Tabrizchi et al. | Apris: Approximate processing reram in-sensor architecture enabling artificial-intelligence-powered edge | |
| EP4394658A1 (fr) | Procédé amélioré d apprentissage sensible à la quantification pour un réseau de neurones | |
| Kaziha et al. | Genetic algorithm augmented inception-net based image classifier accelerated on fpga | |
| Zhao et al. | A 307-fps 351.7-GOPs/W deep learning FPGA accelerator for real-time scene text recognition | |
| WO2025106450A1 (fr) | Modification de contenu vidéo | |
| WO2025106448A1 (fr) | Synthèse de vues à l'aide d'un modèle d'apprentissage automatique de génération d'image multi-vues | |
| CN113435343B (zh) | 图像识别方法、装置、计算机设备及存储介质 | |
| CN116011365A (zh) | 激光雷达点云数据的硬件加速处理方法及加速器 | |
| Tessier | Convolutional neural networks pruning and its application to embedded vision systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20211117 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
| 18D | Application deemed to be withdrawn |
Effective date: 20220723 |