Is Keras a fancy tool or is it actually helpful in research or both?Book keeping of experiment runs and resultsLightweight data provenance toolSequence forecasting in keras not possible for variable-length sequence forecastsTensorflow MLP worse than Keras(TF backend)Concrete Dropout for Recurrent Neural Networks (Keras)Keras CNN image input and outputKeras custom loss using multiple inputMy Neural network in Tensorflow does a bad job in comparison to the same Neural network in KerasTensorflow dense layers worse than keras sequentialDiffirent results in a function approximation problem using MLPRegressor and Keras

400–430 degrees Celsius heated bath

List of lists elementwise greater/smaller than

How could the B-29 bomber back up under its own power?

Eigenvalues of the Laplace-Beltrami operator on a compact Riemannnian manifold

Is there a way to generate a mapping graph like this?

US F1 Visa grace period attending a conference

Is presenting a play showing Military characters in a bad light a crime in the US?

Will this series of events work to drown the Tarrasque?

How to tease a romance without a cat and mouse chase?

Existence of a model of ZFC in which the natural numbers are really the natural numbers

Farthing / Riding

tikz: 5 squares on a row, roman numbered 1 -> 5

Warped chessboard

How can I use 400 ASA film in a Leica IIIf, which does not have options higher than 100?

How does the +1 Keen Composite Longbow (+2 Str) work?

Requirement for splicing neutrals in a switch

If you attack a Tarrasque while swallowed, what AC do you need to beat to hit it?

Is there a word for pant sleeves?

How to counter "I don't like your tone" in a work conversation?

What should I wear to go and sign an employment contract?

Do most Taxis give Receipts in London?

Don't understand notation of morphisms in Monoid definition

Best practice for printing and evaluating formulas with the minimal coding

On a piano, are the effects of holding notes and the sustain pedal the same for a single chord?



Is Keras a fancy tool or is it actually helpful in research or both?


Book keeping of experiment runs and resultsLightweight data provenance toolSequence forecasting in keras not possible for variable-length sequence forecastsTensorflow MLP worse than Keras(TF backend)Concrete Dropout for Recurrent Neural Networks (Keras)Keras CNN image input and outputKeras custom loss using multiple inputMy Neural network in Tensorflow does a bad job in comparison to the same Neural network in KerasTensorflow dense layers worse than keras sequentialDiffirent results in a function approximation problem using MLPRegressor and Keras













6












$begingroup$


I’m in second year of my PhD in a environmental-science laboratory and there aren’t many experts on machine learning here.



In one part of my research I should use a multilayer perceptron to build a model from a series of inputs that I determined before. So for this part I suggested to use a deep learning framework, specifically Keras with Tensorflow or CNTK, but in the lab my supervisors told me that for a real application they don’t want to depend of a framework from Google or Microsoft and they prefer to develop they own tools that won’t change in the time if there’s for example an upgrade or something like that. One researcher created a neutral net and he obtained good results, but when we are interested in make some fine tuning, his code is more complex to update or to test new things like an dropout for example.



I started to work with those frameworks having in mind the reproducibility because I only have to use the functions from Keras and define the parameters. I think other researchers who want to test/use my model should use the configuration I suggest and don’t try to understand the code I provide. So I obtained some good results and am now in the phase of fine tuning, but the work of the other researcher has a slightly better results but after a regularisation step that I didn’t try yet.



So this researcher told me that I should abandon my work with Keras and start using his code. He also told me that Keras is just some fancy tool and in research is not required to have a very precise model, just good results and use the code that works.



So my question is this: Is it right what this researcher told me? Is Keras actually used in research? If there are some frameworks that are developed, why not use them instead of rediscovering the wheel, am I right?










share|improve this question











$endgroup$



migrated from academia.stackexchange.com May 14 at 12:12


This question came from our site for academics and those enrolled in higher education.













  • 8




    $begingroup$
    Keras is totally used by researchers. For example, I know many researchers in medical physics who use Keras. It's a convenient and very powerful tool. It is unlikely that someone who is not an expert in neural networks would be able to implement from scratch a neural network that performs as well as Keras. And using Keras will require only like half a page of rather readable code. With Keras you can easily try different architectures, different types of regularization, different optimization algorithms, etc.
    $endgroup$
    – littleO
    May 14 at 7:08






  • 4




    $begingroup$
    Keras is validated so at least you know your results are not due to some programming mistake. Also just check how many citations Keras has, it is a bit over 3000. scholar.google.de/…
    $endgroup$
    – Matias Valdenegro
    May 14 at 7:09






  • 5




    $begingroup$
    I'm not sure what the other option is. Do they want you to start from scratch (or use code from someone else who started from scratch)? Or is there some other framework that they would find more acceptable? The concern seems to be that the code will change underneath you -- is there some reason why you can't just specify a particular version number of Keras (or even fork it)? Kind of seems like someone reinvented the wheel and is trying to justify their sunk cost...
    $endgroup$
    – cag51
    May 14 at 9:28






  • 3




    $begingroup$
    "my supervisors told me that for a real application they don’t want to depend of a framework from Google or Microsoft and they prefer to develop they own tools that won’t change in the time". Don't they use any python library then? numpy?
    $endgroup$
    – pcko1
    May 14 at 13:29















6












$begingroup$


I’m in second year of my PhD in a environmental-science laboratory and there aren’t many experts on machine learning here.



In one part of my research I should use a multilayer perceptron to build a model from a series of inputs that I determined before. So for this part I suggested to use a deep learning framework, specifically Keras with Tensorflow or CNTK, but in the lab my supervisors told me that for a real application they don’t want to depend of a framework from Google or Microsoft and they prefer to develop they own tools that won’t change in the time if there’s for example an upgrade or something like that. One researcher created a neutral net and he obtained good results, but when we are interested in make some fine tuning, his code is more complex to update or to test new things like an dropout for example.



I started to work with those frameworks having in mind the reproducibility because I only have to use the functions from Keras and define the parameters. I think other researchers who want to test/use my model should use the configuration I suggest and don’t try to understand the code I provide. So I obtained some good results and am now in the phase of fine tuning, but the work of the other researcher has a slightly better results but after a regularisation step that I didn’t try yet.



So this researcher told me that I should abandon my work with Keras and start using his code. He also told me that Keras is just some fancy tool and in research is not required to have a very precise model, just good results and use the code that works.



So my question is this: Is it right what this researcher told me? Is Keras actually used in research? If there are some frameworks that are developed, why not use them instead of rediscovering the wheel, am I right?










share|improve this question











$endgroup$



migrated from academia.stackexchange.com May 14 at 12:12


This question came from our site for academics and those enrolled in higher education.













  • 8




    $begingroup$
    Keras is totally used by researchers. For example, I know many researchers in medical physics who use Keras. It's a convenient and very powerful tool. It is unlikely that someone who is not an expert in neural networks would be able to implement from scratch a neural network that performs as well as Keras. And using Keras will require only like half a page of rather readable code. With Keras you can easily try different architectures, different types of regularization, different optimization algorithms, etc.
    $endgroup$
    – littleO
    May 14 at 7:08






  • 4




    $begingroup$
    Keras is validated so at least you know your results are not due to some programming mistake. Also just check how many citations Keras has, it is a bit over 3000. scholar.google.de/…
    $endgroup$
    – Matias Valdenegro
    May 14 at 7:09






  • 5




    $begingroup$
    I'm not sure what the other option is. Do they want you to start from scratch (or use code from someone else who started from scratch)? Or is there some other framework that they would find more acceptable? The concern seems to be that the code will change underneath you -- is there some reason why you can't just specify a particular version number of Keras (or even fork it)? Kind of seems like someone reinvented the wheel and is trying to justify their sunk cost...
    $endgroup$
    – cag51
    May 14 at 9:28






  • 3




    $begingroup$
    "my supervisors told me that for a real application they don’t want to depend of a framework from Google or Microsoft and they prefer to develop they own tools that won’t change in the time". Don't they use any python library then? numpy?
    $endgroup$
    – pcko1
    May 14 at 13:29













6












6








6


1



$begingroup$


I’m in second year of my PhD in a environmental-science laboratory and there aren’t many experts on machine learning here.



In one part of my research I should use a multilayer perceptron to build a model from a series of inputs that I determined before. So for this part I suggested to use a deep learning framework, specifically Keras with Tensorflow or CNTK, but in the lab my supervisors told me that for a real application they don’t want to depend of a framework from Google or Microsoft and they prefer to develop they own tools that won’t change in the time if there’s for example an upgrade or something like that. One researcher created a neutral net and he obtained good results, but when we are interested in make some fine tuning, his code is more complex to update or to test new things like an dropout for example.



I started to work with those frameworks having in mind the reproducibility because I only have to use the functions from Keras and define the parameters. I think other researchers who want to test/use my model should use the configuration I suggest and don’t try to understand the code I provide. So I obtained some good results and am now in the phase of fine tuning, but the work of the other researcher has a slightly better results but after a regularisation step that I didn’t try yet.



So this researcher told me that I should abandon my work with Keras and start using his code. He also told me that Keras is just some fancy tool and in research is not required to have a very precise model, just good results and use the code that works.



So my question is this: Is it right what this researcher told me? Is Keras actually used in research? If there are some frameworks that are developed, why not use them instead of rediscovering the wheel, am I right?










share|improve this question











$endgroup$




I’m in second year of my PhD in a environmental-science laboratory and there aren’t many experts on machine learning here.



In one part of my research I should use a multilayer perceptron to build a model from a series of inputs that I determined before. So for this part I suggested to use a deep learning framework, specifically Keras with Tensorflow or CNTK, but in the lab my supervisors told me that for a real application they don’t want to depend of a framework from Google or Microsoft and they prefer to develop they own tools that won’t change in the time if there’s for example an upgrade or something like that. One researcher created a neutral net and he obtained good results, but when we are interested in make some fine tuning, his code is more complex to update or to test new things like an dropout for example.



I started to work with those frameworks having in mind the reproducibility because I only have to use the functions from Keras and define the parameters. I think other researchers who want to test/use my model should use the configuration I suggest and don’t try to understand the code I provide. So I obtained some good results and am now in the phase of fine tuning, but the work of the other researcher has a slightly better results but after a regularisation step that I didn’t try yet.



So this researcher told me that I should abandon my work with Keras and start using his code. He also told me that Keras is just some fancy tool and in research is not required to have a very precise model, just good results and use the code that works.



So my question is this: Is it right what this researcher told me? Is Keras actually used in research? If there are some frameworks that are developed, why not use them instead of rediscovering the wheel, am I right?







keras tools






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited May 15 at 13:31









Dawny33

5,64883490




5,64883490










asked May 14 at 7:00







Andrew











migrated from academia.stackexchange.com May 14 at 12:12


This question came from our site for academics and those enrolled in higher education.









migrated from academia.stackexchange.com May 14 at 12:12


This question came from our site for academics and those enrolled in higher education.









  • 8




    $begingroup$
    Keras is totally used by researchers. For example, I know many researchers in medical physics who use Keras. It's a convenient and very powerful tool. It is unlikely that someone who is not an expert in neural networks would be able to implement from scratch a neural network that performs as well as Keras. And using Keras will require only like half a page of rather readable code. With Keras you can easily try different architectures, different types of regularization, different optimization algorithms, etc.
    $endgroup$
    – littleO
    May 14 at 7:08






  • 4




    $begingroup$
    Keras is validated so at least you know your results are not due to some programming mistake. Also just check how many citations Keras has, it is a bit over 3000. scholar.google.de/…
    $endgroup$
    – Matias Valdenegro
    May 14 at 7:09






  • 5




    $begingroup$
    I'm not sure what the other option is. Do they want you to start from scratch (or use code from someone else who started from scratch)? Or is there some other framework that they would find more acceptable? The concern seems to be that the code will change underneath you -- is there some reason why you can't just specify a particular version number of Keras (or even fork it)? Kind of seems like someone reinvented the wheel and is trying to justify their sunk cost...
    $endgroup$
    – cag51
    May 14 at 9:28






  • 3




    $begingroup$
    "my supervisors told me that for a real application they don’t want to depend of a framework from Google or Microsoft and they prefer to develop they own tools that won’t change in the time". Don't they use any python library then? numpy?
    $endgroup$
    – pcko1
    May 14 at 13:29












  • 8




    $begingroup$
    Keras is totally used by researchers. For example, I know many researchers in medical physics who use Keras. It's a convenient and very powerful tool. It is unlikely that someone who is not an expert in neural networks would be able to implement from scratch a neural network that performs as well as Keras. And using Keras will require only like half a page of rather readable code. With Keras you can easily try different architectures, different types of regularization, different optimization algorithms, etc.
    $endgroup$
    – littleO
    May 14 at 7:08






  • 4




    $begingroup$
    Keras is validated so at least you know your results are not due to some programming mistake. Also just check how many citations Keras has, it is a bit over 3000. scholar.google.de/…
    $endgroup$
    – Matias Valdenegro
    May 14 at 7:09






  • 5




    $begingroup$
    I'm not sure what the other option is. Do they want you to start from scratch (or use code from someone else who started from scratch)? Or is there some other framework that they would find more acceptable? The concern seems to be that the code will change underneath you -- is there some reason why you can't just specify a particular version number of Keras (or even fork it)? Kind of seems like someone reinvented the wheel and is trying to justify their sunk cost...
    $endgroup$
    – cag51
    May 14 at 9:28






  • 3




    $begingroup$
    "my supervisors told me that for a real application they don’t want to depend of a framework from Google or Microsoft and they prefer to develop they own tools that won’t change in the time". Don't they use any python library then? numpy?
    $endgroup$
    – pcko1
    May 14 at 13:29







8




8




$begingroup$
Keras is totally used by researchers. For example, I know many researchers in medical physics who use Keras. It's a convenient and very powerful tool. It is unlikely that someone who is not an expert in neural networks would be able to implement from scratch a neural network that performs as well as Keras. And using Keras will require only like half a page of rather readable code. With Keras you can easily try different architectures, different types of regularization, different optimization algorithms, etc.
$endgroup$
– littleO
May 14 at 7:08




$begingroup$
Keras is totally used by researchers. For example, I know many researchers in medical physics who use Keras. It's a convenient and very powerful tool. It is unlikely that someone who is not an expert in neural networks would be able to implement from scratch a neural network that performs as well as Keras. And using Keras will require only like half a page of rather readable code. With Keras you can easily try different architectures, different types of regularization, different optimization algorithms, etc.
$endgroup$
– littleO
May 14 at 7:08




4




4




$begingroup$
Keras is validated so at least you know your results are not due to some programming mistake. Also just check how many citations Keras has, it is a bit over 3000. scholar.google.de/…
$endgroup$
– Matias Valdenegro
May 14 at 7:09




$begingroup$
Keras is validated so at least you know your results are not due to some programming mistake. Also just check how many citations Keras has, it is a bit over 3000. scholar.google.de/…
$endgroup$
– Matias Valdenegro
May 14 at 7:09




5




5




$begingroup$
I'm not sure what the other option is. Do they want you to start from scratch (or use code from someone else who started from scratch)? Or is there some other framework that they would find more acceptable? The concern seems to be that the code will change underneath you -- is there some reason why you can't just specify a particular version number of Keras (or even fork it)? Kind of seems like someone reinvented the wheel and is trying to justify their sunk cost...
$endgroup$
– cag51
May 14 at 9:28




$begingroup$
I'm not sure what the other option is. Do they want you to start from scratch (or use code from someone else who started from scratch)? Or is there some other framework that they would find more acceptable? The concern seems to be that the code will change underneath you -- is there some reason why you can't just specify a particular version number of Keras (or even fork it)? Kind of seems like someone reinvented the wheel and is trying to justify their sunk cost...
$endgroup$
– cag51
May 14 at 9:28




3




3




$begingroup$
"my supervisors told me that for a real application they don’t want to depend of a framework from Google or Microsoft and they prefer to develop they own tools that won’t change in the time". Don't they use any python library then? numpy?
$endgroup$
– pcko1
May 14 at 13:29




$begingroup$
"my supervisors told me that for a real application they don’t want to depend of a framework from Google or Microsoft and they prefer to develop they own tools that won’t change in the time". Don't they use any python library then? numpy?
$endgroup$
– pcko1
May 14 at 13:29










2 Answers
2






active

oldest

votes


















10












$begingroup$

In general any tool that many researchers use is by definition useful/helpful.



For the particular case of Keras and other neural network frameworks (like PyTorch, TensorFlow, etc), a lot of people use them. You can see this by reading papers in the topic, as it is usually mentioned which framework the implementation is made in. You can also check "popularity" by counting references, for example for keras and tensorflow, both have thousands of citations.



In general you should prefer well known tools that are used in the field. These are validated and you can at least have a degree of trust that the results they produce are correct (minus user mistakes, of course). Implementing a neural network framework from scratch is not easy and any reviewer can point out that there could be programming errors and/or mistakes. Also as you mention there is the advantage of reproducibility, as it is much more likely that people can run your code.



Also note that many frameworks were actually made by researchers, so they are specifically targeted for other researchers, and their design is made for easy experimentation. In keras for example, it is easy to implement some custom functionality as a loss or layer, so you can integrate it with another network design. A framework can have another target userbase such as deployment for low power platforms or computers, which Keras doesn't.



Finally, you have to consider that since a lot of people use Keras, there is a large community around it from where you can get support, such as Stack Overflow or the keras-users google group. Using custom code will make this more difficult or impossible.



If you want not to depend on a specific framework, you can always export networks in ONNX format so you can use it with another framework or your own code.






share|improve this answer









$endgroup$




















    1












    $begingroup$

    I've spent a decent amount of time trying to debug the differences between the same tests run on Keras and on frameworks custom built to run on hardware. This comes up when the hardware results are garbage, or underperforming. The Keras results are reliable enough to use as a benchmark for these purposes, and improving on them isn't considered.



    But I've also run into version compatibility issues with Keras, so it's not an unfounded concern. There have been times when I've tried to run older networks with deprecated layers, which can be addressed by using an older version of Keras which is fairly simple. Or if old & new layers are needed together, it's possible to re-add the older layers yourself, as well as custom layers in general. Note that deprecation doesn't happen overnight, and there seems to be a very long warning time before for updates that may break something. So it's a concern, but not really a big problem.






    share|improve this answer









    $endgroup$













      Your Answer








      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%2f51946%2fis-keras-a-fancy-tool-or-is-it-actually-helpful-in-research-or-both%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown
























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      10












      $begingroup$

      In general any tool that many researchers use is by definition useful/helpful.



      For the particular case of Keras and other neural network frameworks (like PyTorch, TensorFlow, etc), a lot of people use them. You can see this by reading papers in the topic, as it is usually mentioned which framework the implementation is made in. You can also check "popularity" by counting references, for example for keras and tensorflow, both have thousands of citations.



      In general you should prefer well known tools that are used in the field. These are validated and you can at least have a degree of trust that the results they produce are correct (minus user mistakes, of course). Implementing a neural network framework from scratch is not easy and any reviewer can point out that there could be programming errors and/or mistakes. Also as you mention there is the advantage of reproducibility, as it is much more likely that people can run your code.



      Also note that many frameworks were actually made by researchers, so they are specifically targeted for other researchers, and their design is made for easy experimentation. In keras for example, it is easy to implement some custom functionality as a loss or layer, so you can integrate it with another network design. A framework can have another target userbase such as deployment for low power platforms or computers, which Keras doesn't.



      Finally, you have to consider that since a lot of people use Keras, there is a large community around it from where you can get support, such as Stack Overflow or the keras-users google group. Using custom code will make this more difficult or impossible.



      If you want not to depend on a specific framework, you can always export networks in ONNX format so you can use it with another framework or your own code.






      share|improve this answer









      $endgroup$

















        10












        $begingroup$

        In general any tool that many researchers use is by definition useful/helpful.



        For the particular case of Keras and other neural network frameworks (like PyTorch, TensorFlow, etc), a lot of people use them. You can see this by reading papers in the topic, as it is usually mentioned which framework the implementation is made in. You can also check "popularity" by counting references, for example for keras and tensorflow, both have thousands of citations.



        In general you should prefer well known tools that are used in the field. These are validated and you can at least have a degree of trust that the results they produce are correct (minus user mistakes, of course). Implementing a neural network framework from scratch is not easy and any reviewer can point out that there could be programming errors and/or mistakes. Also as you mention there is the advantage of reproducibility, as it is much more likely that people can run your code.



        Also note that many frameworks were actually made by researchers, so they are specifically targeted for other researchers, and their design is made for easy experimentation. In keras for example, it is easy to implement some custom functionality as a loss or layer, so you can integrate it with another network design. A framework can have another target userbase such as deployment for low power platforms or computers, which Keras doesn't.



        Finally, you have to consider that since a lot of people use Keras, there is a large community around it from where you can get support, such as Stack Overflow or the keras-users google group. Using custom code will make this more difficult or impossible.



        If you want not to depend on a specific framework, you can always export networks in ONNX format so you can use it with another framework or your own code.






        share|improve this answer









        $endgroup$















          10












          10








          10





          $begingroup$

          In general any tool that many researchers use is by definition useful/helpful.



          For the particular case of Keras and other neural network frameworks (like PyTorch, TensorFlow, etc), a lot of people use them. You can see this by reading papers in the topic, as it is usually mentioned which framework the implementation is made in. You can also check "popularity" by counting references, for example for keras and tensorflow, both have thousands of citations.



          In general you should prefer well known tools that are used in the field. These are validated and you can at least have a degree of trust that the results they produce are correct (minus user mistakes, of course). Implementing a neural network framework from scratch is not easy and any reviewer can point out that there could be programming errors and/or mistakes. Also as you mention there is the advantage of reproducibility, as it is much more likely that people can run your code.



          Also note that many frameworks were actually made by researchers, so they are specifically targeted for other researchers, and their design is made for easy experimentation. In keras for example, it is easy to implement some custom functionality as a loss or layer, so you can integrate it with another network design. A framework can have another target userbase such as deployment for low power platforms or computers, which Keras doesn't.



          Finally, you have to consider that since a lot of people use Keras, there is a large community around it from where you can get support, such as Stack Overflow or the keras-users google group. Using custom code will make this more difficult or impossible.



          If you want not to depend on a specific framework, you can always export networks in ONNX format so you can use it with another framework or your own code.






          share|improve this answer









          $endgroup$



          In general any tool that many researchers use is by definition useful/helpful.



          For the particular case of Keras and other neural network frameworks (like PyTorch, TensorFlow, etc), a lot of people use them. You can see this by reading papers in the topic, as it is usually mentioned which framework the implementation is made in. You can also check "popularity" by counting references, for example for keras and tensorflow, both have thousands of citations.



          In general you should prefer well known tools that are used in the field. These are validated and you can at least have a degree of trust that the results they produce are correct (minus user mistakes, of course). Implementing a neural network framework from scratch is not easy and any reviewer can point out that there could be programming errors and/or mistakes. Also as you mention there is the advantage of reproducibility, as it is much more likely that people can run your code.



          Also note that many frameworks were actually made by researchers, so they are specifically targeted for other researchers, and their design is made for easy experimentation. In keras for example, it is easy to implement some custom functionality as a loss or layer, so you can integrate it with another network design. A framework can have another target userbase such as deployment for low power platforms or computers, which Keras doesn't.



          Finally, you have to consider that since a lot of people use Keras, there is a large community around it from where you can get support, such as Stack Overflow or the keras-users google group. Using custom code will make this more difficult or impossible.



          If you want not to depend on a specific framework, you can always export networks in ONNX format so you can use it with another framework or your own code.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered May 14 at 9:17









          Matias ValdenegroMatias Valdenegro

          22614




          22614





















              1












              $begingroup$

              I've spent a decent amount of time trying to debug the differences between the same tests run on Keras and on frameworks custom built to run on hardware. This comes up when the hardware results are garbage, or underperforming. The Keras results are reliable enough to use as a benchmark for these purposes, and improving on them isn't considered.



              But I've also run into version compatibility issues with Keras, so it's not an unfounded concern. There have been times when I've tried to run older networks with deprecated layers, which can be addressed by using an older version of Keras which is fairly simple. Or if old & new layers are needed together, it's possible to re-add the older layers yourself, as well as custom layers in general. Note that deprecation doesn't happen overnight, and there seems to be a very long warning time before for updates that may break something. So it's a concern, but not really a big problem.






              share|improve this answer









              $endgroup$

















                1












                $begingroup$

                I've spent a decent amount of time trying to debug the differences between the same tests run on Keras and on frameworks custom built to run on hardware. This comes up when the hardware results are garbage, or underperforming. The Keras results are reliable enough to use as a benchmark for these purposes, and improving on them isn't considered.



                But I've also run into version compatibility issues with Keras, so it's not an unfounded concern. There have been times when I've tried to run older networks with deprecated layers, which can be addressed by using an older version of Keras which is fairly simple. Or if old & new layers are needed together, it's possible to re-add the older layers yourself, as well as custom layers in general. Note that deprecation doesn't happen overnight, and there seems to be a very long warning time before for updates that may break something. So it's a concern, but not really a big problem.






                share|improve this answer









                $endgroup$















                  1












                  1








                  1





                  $begingroup$

                  I've spent a decent amount of time trying to debug the differences between the same tests run on Keras and on frameworks custom built to run on hardware. This comes up when the hardware results are garbage, or underperforming. The Keras results are reliable enough to use as a benchmark for these purposes, and improving on them isn't considered.



                  But I've also run into version compatibility issues with Keras, so it's not an unfounded concern. There have been times when I've tried to run older networks with deprecated layers, which can be addressed by using an older version of Keras which is fairly simple. Or if old & new layers are needed together, it's possible to re-add the older layers yourself, as well as custom layers in general. Note that deprecation doesn't happen overnight, and there seems to be a very long warning time before for updates that may break something. So it's a concern, but not really a big problem.






                  share|improve this answer









                  $endgroup$



                  I've spent a decent amount of time trying to debug the differences between the same tests run on Keras and on frameworks custom built to run on hardware. This comes up when the hardware results are garbage, or underperforming. The Keras results are reliable enough to use as a benchmark for these purposes, and improving on them isn't considered.



                  But I've also run into version compatibility issues with Keras, so it's not an unfounded concern. There have been times when I've tried to run older networks with deprecated layers, which can be addressed by using an older version of Keras which is fairly simple. Or if old & new layers are needed together, it's possible to re-add the older layers yourself, as well as custom layers in general. Note that deprecation doesn't happen overnight, and there seems to be a very long warning time before for updates that may break something. So it's a concern, but not really a big problem.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered May 14 at 11:29







                  alx


































                      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%2f51946%2fis-keras-a-fancy-tool-or-is-it-actually-helpful-in-research-or-both%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

                      Category:9 (number) SubcategoriesMedia in category "9 (number)"Navigation menuUpload mediaGND ID: 4485639-8Library of Congress authority ID: sh85091979ReasonatorScholiaStatistics

                      Circuit construction for execution of conditional statements using least significant bitHow are two different registers being used as “control”?How exactly is the stated composite state of the two registers being produced using the $R_zz$ controlled rotations?Efficiently performing controlled rotations in HHLWould this quantum algorithm implementation work?How to prepare a superposed states of odd integers from $1$ to $sqrtN$?Why is this implementation of the order finding algorithm not working?Circuit construction for Hamiltonian simulationHow can I invert the least significant bit of a certain term of a superposed state?Implementing an oracleImplementing a controlled sum operation

                      Magento 2 “No Payment Methods” in Admin New OrderHow to integrate Paypal Express Checkout with the Magento APIMagento 1.5 - Sales > Order > edit order and shipping methods disappearAuto Invoice Check/Money Order Payment methodAdd more simple payment methods?Shipping methods not showingWhat should I do to change payment methods if changing the configuration has no effects?1.9 - No Payment Methods showing upMy Payment Methods not Showing for downloadable/virtual product when checkout?Magento2 API to access internal payment methodHow to call an existing payment methods in the registration form?