Why do I need pre-trained weights in transfer learning?2019 Community Moderator ElectionRight 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?

Is it possible to do 50 km distance without any previous training?

Could a US political party gain complete control over the government by removing checks & balances?

How old can references or sources in a thesis be?

Can Medicine checks be used, with decent rolls, to completely mitigate the risk of death from ongoing damage?

DOS, create pipe for stdin/stdout of command.com(or 4dos.com) in C or Batch?

Why is an old chain unsafe?

How is it possible for user's password to be changed after storage was encrypted? (on OS X, Android)

Is it possible to make sharp wind that can cut stuff from afar?

A function which translates a sentence to title-case

Is Social Media Science Fiction?

XeLaTeX and pdfLaTeX ignore hyphenation

What typically incentivizes a professor to change jobs to a lower ranking university?

Copenhagen passport control - US citizen

N.B. ligature in Latex

How did the USSR manage to innovate in an environment characterized by government censorship and high bureaucracy?

least quadratic residue under GRH: an EXPLICIT bound

What defenses are there against being summoned by the Gate spell?

The magic money tree problem

Why is this code 6.5x slower with optimizations enabled?

Patience, young "Padovan"

Non-Jewish family in an Orthodox Jewish Wedding

Motorized valve interfering with button?

Do airline pilots ever risk not hearing communication directed to them specifically, from traffic controllers?

Draw simple lines in Inkscape



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



2019 Community Moderator ElectionRight 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

      695425




      695425










      asked Mar 31 at 22:20









      BadumBadum

      487




      487




















          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.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%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

                  569319




                  569319





















                      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

                          15010




                          15010










                          answered Apr 1 at 2:37









                          Pedro Henrique MonfortePedro Henrique Monforte

                          3378




                          3378



























                              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