Why do I need pre-trained weights in transfer learning? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) 2019 Moderator Election Q&A - Questionnaire 2019 Community Moderator Election ResultsRight way to Fine Tune - Train a fully connected layer as a separate stepWhy is vanishing gradient a problem?What is the different between Fine-tuning and Transfer-learning?Fine tuning accuracy lower than Raw Transfer Learning AccuracyType of images used to train a neural networkWhere to find pre-trained models for transfer learningDifficulty in choosing Hyperparameters for my CNNHow to properly mean-center my dataWhy is the GoogLeNet retrained model size less compared to others?Does it make sense to train a convolutional neural network on lo-res, use on hi-res pictures?

The following signatures were invalid: EXPKEYSIG 1397BC53640DB551

What can I do if my MacBook isn’t charging but already ran out?

Can I throw a longsword at someone?

What's the point in a preamp?

Using "nakedly" instead of "with nothing on"

How can I make names more distinctive without making them longer?

Limit for e and 1/e

Notation for two qubit composite product state

Single author papers against my advisor's will?

Two different pronunciation of "понял"

New Order #5: where Fibonacci and Beatty meet at Wythoff

How do you clear the ApexPages.getMessages() collection in a test?

When is phishing education going too far?

What do you call the holes in a flute?

How should I respond to a player wanting to catch a sword between their hands?

Simulating Exploding Dice

Determine whether f is a function, an injection, a surjection

Cold is to Refrigerator as warm is to?

Is above average number of years spent on PhD considered a red flag in future academia or industry positions?

Passing functions in C++

Stop battery usage [Ubuntu 18]

How do I automatically answer y in bash script?

Do working physicists consider Newtonian mechanics to be "falsified"?

Who can trigger ship-wide alerts in Star Trek?



Why do I need pre-trained weights in transfer learning?



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
2019 Moderator Election Q&A - Questionnaire
2019 Community Moderator Election ResultsRight way to Fine Tune - Train a fully connected layer as a separate stepWhy is vanishing gradient a problem?What is the different between Fine-tuning and Transfer-learning?Fine tuning accuracy lower than Raw Transfer Learning AccuracyType of images used to train a neural networkWhere to find pre-trained models for transfer learningDifficulty in choosing Hyperparameters for my CNNHow to properly mean-center my dataWhy is the GoogLeNet retrained model size less compared to others?Does it make sense to train a convolutional neural network on lo-res, use on hi-res pictures?










2












$begingroup$


I am using a Mask-RCNN. I first chose the resnet50 backbone then downloaded COCO pre-trained weights.



Why do I need pre-trained weights for transfer learning?



The transfer learning approach is to train a base network and then copy its first layers of the target. My base network is resnet50 and I copied the first layers to Mask RCNN. So, why do I need pre-trained weights, for example, coco pre-trained weights?



I understand that I copy layers and pre-trained weights from resnet.



Thanks in advance.










share|improve this question











$endgroup$
















    2












    $begingroup$


    I am using a Mask-RCNN. I first chose the resnet50 backbone then downloaded COCO pre-trained weights.



    Why do I need pre-trained weights for transfer learning?



    The transfer learning approach is to train a base network and then copy its first layers of the target. My base network is resnet50 and I copied the first layers to Mask RCNN. So, why do I need pre-trained weights, for example, coco pre-trained weights?



    I understand that I copy layers and pre-trained weights from resnet.



    Thanks in advance.










    share|improve this question











    $endgroup$














      2












      2








      2





      $begingroup$


      I am using a Mask-RCNN. I first chose the resnet50 backbone then downloaded COCO pre-trained weights.



      Why do I need pre-trained weights for transfer learning?



      The transfer learning approach is to train a base network and then copy its first layers of the target. My base network is resnet50 and I copied the first layers to Mask RCNN. So, why do I need pre-trained weights, for example, coco pre-trained weights?



      I understand that I copy layers and pre-trained weights from resnet.



      Thanks in advance.










      share|improve this question











      $endgroup$




      I am using a Mask-RCNN. I first chose the resnet50 backbone then downloaded COCO pre-trained weights.



      Why do I need pre-trained weights for transfer learning?



      The transfer learning approach is to train a base network and then copy its first layers of the target. My base network is resnet50 and I copied the first layers to Mask RCNN. So, why do I need pre-trained weights, for example, coco pre-trained weights?



      I understand that I copy layers and pre-trained weights from resnet.



      Thanks in advance.







      deep-learning cnn transfer-learning






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Apr 1 at 4:11









      Ethan

      697625




      697625










      asked Mar 31 at 22:20









      BadumBadum

      537




      537




















          2 Answers
          2






          active

          oldest

          votes


















          2












          $begingroup$

          When you are calling a pre-trained model (resnet50 in your case) for performing transfer learning, only the model's architecture is actually called.
          This architecture is practically useless to perform any sort of computational operation on the data and predicting any output unless trained. For that, you will need the weights (variables understood by the model on some previous dataset).



          Weights are more like mathematical coefficients which take the input and performs the computation on the input to generate a required output. They are more like the coefficient in a linear algebra problem. This is the actual reason why it is required to call the weights for the model.



          Even if you are not calling any weights in you model, you can make your model trainable and train the same to generate your own weights that fit your data properly rather than fine-tuning your model. Read more about the same here






          share|improve this answer









          $endgroup$




















            1












            $begingroup$

            You need pre-trained weights for it to be Transfer Learning.



            Copying layer structures is not transfer learning, it is just structuring a network inspired/copied from others.



            The transfer learning consists of using pre-trained layers to construct a different network that migth have similarities in the first layers. That is usually useful for Deep Learning.



            So the reasons for using Transfer Learning are:



            • You want to analyse something different in a dataset that was used to train another network


            • You want to perform classification in a class that was used to train a certain network but was not annotated before


            • You want to train a network for a problem similar to the other one and don't have time or computational power to retrain all layers






            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%2f48317%2fwhy-do-i-need-pre-trained-weights-in-transfer-learning%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









              2












              $begingroup$

              When you are calling a pre-trained model (resnet50 in your case) for performing transfer learning, only the model's architecture is actually called.
              This architecture is practically useless to perform any sort of computational operation on the data and predicting any output unless trained. For that, you will need the weights (variables understood by the model on some previous dataset).



              Weights are more like mathematical coefficients which take the input and performs the computation on the input to generate a required output. They are more like the coefficient in a linear algebra problem. This is the actual reason why it is required to call the weights for the model.



              Even if you are not calling any weights in you model, you can make your model trainable and train the same to generate your own weights that fit your data properly rather than fine-tuning your model. Read more about the same here






              share|improve this answer









              $endgroup$

















                2












                $begingroup$

                When you are calling a pre-trained model (resnet50 in your case) for performing transfer learning, only the model's architecture is actually called.
                This architecture is practically useless to perform any sort of computational operation on the data and predicting any output unless trained. For that, you will need the weights (variables understood by the model on some previous dataset).



                Weights are more like mathematical coefficients which take the input and performs the computation on the input to generate a required output. They are more like the coefficient in a linear algebra problem. This is the actual reason why it is required to call the weights for the model.



                Even if you are not calling any weights in you model, you can make your model trainable and train the same to generate your own weights that fit your data properly rather than fine-tuning your model. Read more about the same here






                share|improve this answer









                $endgroup$















                  2












                  2








                  2





                  $begingroup$

                  When you are calling a pre-trained model (resnet50 in your case) for performing transfer learning, only the model's architecture is actually called.
                  This architecture is practically useless to perform any sort of computational operation on the data and predicting any output unless trained. For that, you will need the weights (variables understood by the model on some previous dataset).



                  Weights are more like mathematical coefficients which take the input and performs the computation on the input to generate a required output. They are more like the coefficient in a linear algebra problem. This is the actual reason why it is required to call the weights for the model.



                  Even if you are not calling any weights in you model, you can make your model trainable and train the same to generate your own weights that fit your data properly rather than fine-tuning your model. Read more about the same here






                  share|improve this answer









                  $endgroup$



                  When you are calling a pre-trained model (resnet50 in your case) for performing transfer learning, only the model's architecture is actually called.
                  This architecture is practically useless to perform any sort of computational operation on the data and predicting any output unless trained. For that, you will need the weights (variables understood by the model on some previous dataset).



                  Weights are more like mathematical coefficients which take the input and performs the computation on the input to generate a required output. They are more like the coefficient in a linear algebra problem. This is the actual reason why it is required to call the weights for the model.



                  Even if you are not calling any weights in you model, you can make your model trainable and train the same to generate your own weights that fit your data properly rather than fine-tuning your model. Read more about the same here







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Apr 1 at 10:32









                  thanatozthanatoz

                  605421




                  605421





















                      1












                      $begingroup$

                      You need pre-trained weights for it to be Transfer Learning.



                      Copying layer structures is not transfer learning, it is just structuring a network inspired/copied from others.



                      The transfer learning consists of using pre-trained layers to construct a different network that migth have similarities in the first layers. That is usually useful for Deep Learning.



                      So the reasons for using Transfer Learning are:



                      • You want to analyse something different in a dataset that was used to train another network


                      • You want to perform classification in a class that was used to train a certain network but was not annotated before


                      • You want to train a network for a problem similar to the other one and don't have time or computational power to retrain all layers






                      share|improve this answer











                      $endgroup$

















                        1












                        $begingroup$

                        You need pre-trained weights for it to be Transfer Learning.



                        Copying layer structures is not transfer learning, it is just structuring a network inspired/copied from others.



                        The transfer learning consists of using pre-trained layers to construct a different network that migth have similarities in the first layers. That is usually useful for Deep Learning.



                        So the reasons for using Transfer Learning are:



                        • You want to analyse something different in a dataset that was used to train another network


                        • You want to perform classification in a class that was used to train a certain network but was not annotated before


                        • You want to train a network for a problem similar to the other one and don't have time or computational power to retrain all layers






                        share|improve this answer











                        $endgroup$















                          1












                          1








                          1





                          $begingroup$

                          You need pre-trained weights for it to be Transfer Learning.



                          Copying layer structures is not transfer learning, it is just structuring a network inspired/copied from others.



                          The transfer learning consists of using pre-trained layers to construct a different network that migth have similarities in the first layers. That is usually useful for Deep Learning.



                          So the reasons for using Transfer Learning are:



                          • You want to analyse something different in a dataset that was used to train another network


                          • You want to perform classification in a class that was used to train a certain network but was not annotated before


                          • You want to train a network for a problem similar to the other one and don't have time or computational power to retrain all layers






                          share|improve this answer











                          $endgroup$



                          You need pre-trained weights for it to be Transfer Learning.



                          Copying layer structures is not transfer learning, it is just structuring a network inspired/copied from others.



                          The transfer learning consists of using pre-trained layers to construct a different network that migth have similarities in the first layers. That is usually useful for Deep Learning.



                          So the reasons for using Transfer Learning are:



                          • You want to analyse something different in a dataset that was used to train another network


                          • You want to perform classification in a class that was used to train a certain network but was not annotated before


                          • You want to train a network for a problem similar to the other one and don't have time or computational power to retrain all layers







                          share|improve this answer














                          share|improve this answer



                          share|improve this answer








                          edited Apr 1 at 12:17









                          Blenzus

                          16410




                          16410










                          answered Apr 1 at 2:37









                          Pedro Henrique MonfortePedro Henrique Monforte

                          456113




                          456113



























                              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%2f48317%2fwhy-do-i-need-pre-trained-weights-in-transfer-learning%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