Optimizing execution speed of a series of deep neural networks2019 Community Moderator ElectionDebugging Neural NetworksDenormalise data in Neural NetworksMNIST Deep Neural Network using TensorFlowNeural networks - Find most similar imagesRegression with Neural Networks in Tensorflow problemHow to use a different model to deep neural network with reinforcement learning based on DQN?Combining 2 Neural NetworksAre there real world applications where deep fully connected networks are better suited than ConvNetsNeural Networks - Back PropogationConvolution Neural Networks on microcontrollers

GFCI outlets - can they be repaired? Are they really needed at the end of a circuit?

Venezuelan girlfriend wants to travel the USA to be with me. What is the process?

What's the meaning of "Sollensaussagen"?

Am I breaking OOP practice with this architecture?

Migrate from Force.com IDE to VScode

Ambiguity in the definition of entropy

Detention in 1997

Why was the shrink from 8″ made only to 5.25″ and not smaller (4″ or less)

Is it possible to static_assert that a lambda is not generic?

Why is it a bad idea to hire a hitman to eliminate most corrupt politicians?

Is it possible to mathematically extract an AES key from black-box encrypt/decrypt hardware?

Why didn't people conceal Tzaraat?

What exploit Are these user agents trying to use?

How could indestructible materials be used in power generation?

What is the fastest integer factorization to break RSA?

Fair gambler's ruin problem intuition

meaning of 腰を落としている

Theorists sure want true answers to this!

How can a day be exactly 24 hours long?

Why would the Red Woman birth a shadow if she worshipped the Lord of the Light?

What reasons are there for a Capitalist to oppose a 100% inheritance tax?

Will a Schottky diode save my LEDs against reversed voltage?

What do you call someone who asks many questions?

Why can't we play rap on piano?



Optimizing execution speed of a series of deep neural networks



2019 Community Moderator ElectionDebugging Neural NetworksDenormalise data in Neural NetworksMNIST Deep Neural Network using TensorFlowNeural networks - Find most similar imagesRegression with Neural Networks in Tensorflow problemHow to use a different model to deep neural network with reinforcement learning based on DQN?Combining 2 Neural NetworksAre there real world applications where deep fully connected networks are better suited than ConvNetsNeural Networks - Back PropogationConvolution Neural Networks on microcontrollers










1












$begingroup$


I have a series of Neural Networks that I run on some video data. First network detects bounding boxes, then it extracts features for object tracking, matching each box to an id frame by frame and finally some other CNN is applied to all "boxes" extracted.



Naturally this is very slow and I understand that this is just so much you could do, but I wonder if there's a way to optimise this for speed?



Some suggestions I've heard is to concatenate my networks. I've used Thread class with Queue with some effect but want to try something a bit more radical










share|improve this question











$endgroup$











  • $begingroup$
    They are serial operations which are dependent on each other. One solution can be using lighter versions of the current models.
    $endgroup$
    – Media
    Mar 26 at 16:48










  • $begingroup$
    Probably a stupid question, but is there actually a way to "thin" them down, I can't really sacrifice a lot of accuracy and it seems that at least for bounding box detection yolov3 is as accurate as ssd but 3x faster so not sure I could find anything much faster. I only need 1 class (person) so perhaps there's a way to strip out other labels, that would only change the last dense layer which I assume won't speed up the network much
    $endgroup$
    – Edouardos Kim
    Mar 26 at 17:30










  • $begingroup$
    Yes, you can use transfer learning. But you have to train your network but not from scratch. It will thin your model!
    $endgroup$
    – Media
    Mar 26 at 17:32
















1












$begingroup$


I have a series of Neural Networks that I run on some video data. First network detects bounding boxes, then it extracts features for object tracking, matching each box to an id frame by frame and finally some other CNN is applied to all "boxes" extracted.



Naturally this is very slow and I understand that this is just so much you could do, but I wonder if there's a way to optimise this for speed?



Some suggestions I've heard is to concatenate my networks. I've used Thread class with Queue with some effect but want to try something a bit more radical










share|improve this question











$endgroup$











  • $begingroup$
    They are serial operations which are dependent on each other. One solution can be using lighter versions of the current models.
    $endgroup$
    – Media
    Mar 26 at 16:48










  • $begingroup$
    Probably a stupid question, but is there actually a way to "thin" them down, I can't really sacrifice a lot of accuracy and it seems that at least for bounding box detection yolov3 is as accurate as ssd but 3x faster so not sure I could find anything much faster. I only need 1 class (person) so perhaps there's a way to strip out other labels, that would only change the last dense layer which I assume won't speed up the network much
    $endgroup$
    – Edouardos Kim
    Mar 26 at 17:30










  • $begingroup$
    Yes, you can use transfer learning. But you have to train your network but not from scratch. It will thin your model!
    $endgroup$
    – Media
    Mar 26 at 17:32














1












1








1





$begingroup$


I have a series of Neural Networks that I run on some video data. First network detects bounding boxes, then it extracts features for object tracking, matching each box to an id frame by frame and finally some other CNN is applied to all "boxes" extracted.



Naturally this is very slow and I understand that this is just so much you could do, but I wonder if there's a way to optimise this for speed?



Some suggestions I've heard is to concatenate my networks. I've used Thread class with Queue with some effect but want to try something a bit more radical










share|improve this question











$endgroup$




I have a series of Neural Networks that I run on some video data. First network detects bounding boxes, then it extracts features for object tracking, matching each box to an id frame by frame and finally some other CNN is applied to all "boxes" extracted.



Naturally this is very slow and I understand that this is just so much you could do, but I wonder if there's a way to optimise this for speed?



Some suggestions I've heard is to concatenate my networks. I've used Thread class with Queue with some effect but want to try something a bit more radical







python deep-network






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 27 at 7:33









Ethan

643425




643425










asked Mar 26 at 16:45









Edouardos KimEdouardos Kim

61




61











  • $begingroup$
    They are serial operations which are dependent on each other. One solution can be using lighter versions of the current models.
    $endgroup$
    – Media
    Mar 26 at 16:48










  • $begingroup$
    Probably a stupid question, but is there actually a way to "thin" them down, I can't really sacrifice a lot of accuracy and it seems that at least for bounding box detection yolov3 is as accurate as ssd but 3x faster so not sure I could find anything much faster. I only need 1 class (person) so perhaps there's a way to strip out other labels, that would only change the last dense layer which I assume won't speed up the network much
    $endgroup$
    – Edouardos Kim
    Mar 26 at 17:30










  • $begingroup$
    Yes, you can use transfer learning. But you have to train your network but not from scratch. It will thin your model!
    $endgroup$
    – Media
    Mar 26 at 17:32

















  • $begingroup$
    They are serial operations which are dependent on each other. One solution can be using lighter versions of the current models.
    $endgroup$
    – Media
    Mar 26 at 16:48










  • $begingroup$
    Probably a stupid question, but is there actually a way to "thin" them down, I can't really sacrifice a lot of accuracy and it seems that at least for bounding box detection yolov3 is as accurate as ssd but 3x faster so not sure I could find anything much faster. I only need 1 class (person) so perhaps there's a way to strip out other labels, that would only change the last dense layer which I assume won't speed up the network much
    $endgroup$
    – Edouardos Kim
    Mar 26 at 17:30










  • $begingroup$
    Yes, you can use transfer learning. But you have to train your network but not from scratch. It will thin your model!
    $endgroup$
    – Media
    Mar 26 at 17:32
















$begingroup$
They are serial operations which are dependent on each other. One solution can be using lighter versions of the current models.
$endgroup$
– Media
Mar 26 at 16:48




$begingroup$
They are serial operations which are dependent on each other. One solution can be using lighter versions of the current models.
$endgroup$
– Media
Mar 26 at 16:48












$begingroup$
Probably a stupid question, but is there actually a way to "thin" them down, I can't really sacrifice a lot of accuracy and it seems that at least for bounding box detection yolov3 is as accurate as ssd but 3x faster so not sure I could find anything much faster. I only need 1 class (person) so perhaps there's a way to strip out other labels, that would only change the last dense layer which I assume won't speed up the network much
$endgroup$
– Edouardos Kim
Mar 26 at 17:30




$begingroup$
Probably a stupid question, but is there actually a way to "thin" them down, I can't really sacrifice a lot of accuracy and it seems that at least for bounding box detection yolov3 is as accurate as ssd but 3x faster so not sure I could find anything much faster. I only need 1 class (person) so perhaps there's a way to strip out other labels, that would only change the last dense layer which I assume won't speed up the network much
$endgroup$
– Edouardos Kim
Mar 26 at 17:30












$begingroup$
Yes, you can use transfer learning. But you have to train your network but not from scratch. It will thin your model!
$endgroup$
– Media
Mar 26 at 17:32





$begingroup$
Yes, you can use transfer learning. But you have to train your network but not from scratch. It will thin your model!
$endgroup$
– Media
Mar 26 at 17:32











0






active

oldest

votes












Your Answer





StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
);
);
, "mathjax-editing");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "557"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f48046%2foptimizing-execution-speed-of-a-series-of-deep-neural-networks%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































Thanks for contributing an answer to Data Science Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

Use MathJax to format equations. MathJax reference.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f48046%2foptimizing-execution-speed-of-a-series-of-deep-neural-networks%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Adding axes to figuresAdding axes labels to LaTeX figuresLaTeX equivalent of ConTeXt buffersRotate a node but not its content: the case of the ellipse decorationHow to define the default vertical distance between nodes?TikZ scaling graphic and adjust node position and keep font sizeNumerical conditional within tikz keys?adding axes to shapesAlign axes across subfiguresAdding figures with a certain orderLine up nested tikz enviroments or how to get rid of themAdding axes labels to LaTeX figures

Luettelo Yhdysvaltain laivaston lentotukialuksista Lähteet | Navigointivalikko

Gary (muusikko) Sisällysluettelo Historia | Rockin' High | Lähteet | Aiheesta muualla | NavigointivalikkoInfobox OKTuomas "Gary" Keskinen Ancaran kitaristiksiProjekti Rockin' High