A method for controlling an electronic device comprising a memory storing a plurality of hardware accelerators (10-1...10-N) and a plurality of neural networks (20-1...20-N), the method comprising: selecting a first neural network among the plurality of neural networks (20-1...20-N) and selecting a first accelerator to implement the first neural network among the plurality of accelerators (10-1...10-N); implementing the first neural network on the first accelerator to obtain information associated with the implementation; obtaining a first reward value based on the information associated with the implementation for the first accelerator and the first neural network; selecting a second neural network to be implemented on the first accelerator among the plurality of neural networks; implementing the second neural network on the first accelerator to obtain information associated with the implementation; obtaining a second reward value based on the information associated with the implementation for the first accelerator and the second neural network; selecting a second accelerator, from among the plurality of accelerators except for the first accelerator, to implement the second neural network; implementing the second neural network on the second accelerator to obtain information associated with the implementation; obtaining a third reward value based on the information associated with the implementation for the second accelerator and the second neural network; selecting a neural network and an accelerator pair having a largest reward value among the plurality of neural networks (20-1...20-N) and the plurality of accelerators based on the first reward value, second reward value, and the third reward value wherein the selecting the first accelerator and second accelerator to implement a selected neural network comprises: inputting the plurality of accelerators (10-1...10-N) into a policy function model to obtain a probability value corresponding to a configurable parameter included in each of the plurality of accelerators (10-1...10-N); and selecting the first accelerator and the second accelerator among the plurality of accelerators (10-1...10-N) based on the probability value corresponding to the configurable parameter; wherein the configurable parameter includes at least one of: a parallelization parameter, buffer depth, pooling engine parameter, memory interface width parameter and convolution engine ratio parameter. selecting a first neural network among the plurality of neural networks (20-1...20-N) and selecting a first accelerator to implement the first neural network among the plurality of accelerators (10-1...10-N); implementing the first neural network on the first accelerator to obtain information associated with the implementation; obtaining a first reward value based on the information associated with the implementation for the first accelerator and the first neural network; selecting a second neural network to be implemented on the first accelerator among the plurality of neural networks; implementing the second neural network on the first accelerator to obtain information associated with the implementation; obtaining a second reward value based on the information associated with the implementation for the first accelerator and the second neural network; selecting a second accelerator, from among the plurality of accelerators except for the first accelerator, to implement the second neural network; implementing the second neural network on the second accelerator to obtain information associated with the implementation; obtaining a third reward value based on the information associated with the implementation for the second accelerator and the second neural network; selecting a neural network and an accelerator pair having a largest reward value among the plurality of neural networks (20-1...20-N) and the plurality of accelerators based on the first reward value, second reward value, and the third reward value wherein the selecting the first accelerator and second accelerator to implement a selected neural network comprises: inputting the plurality of accelerators (10-1...10-N) into a policy function model to obtain a probability value corresponding to a configurable parameter included in each of the plurality of accelerators (10-1...10-N); and selecting the first accelerator and the second accelerator among the plurality of accelerators (10-1...10-N) based on the probability value corresponding to the configurable parameter; wherein the configurable parameter includes at least one of: a parallelization parameter, buffer depth, pooling engine parameter, memory interface width parameter and convolution engine ratio parameter. selecting the first accelerator and the second accelerator among the plurality of accelerators (10-1...10-N) based on the probability value corresponding to the configurable parameter; wherein the configurable parameter includes at least one of: a parallelization parameter, buffer depth, pooling engine parameter, memory interface width parameter and convolution engine ratio parameter.