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
$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
python deep-network
$endgroup$
add a comment |
$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
python deep-network
$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
add a comment |
$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
python deep-network
$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
python deep-network
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
add a comment |
$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
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
$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