{
  "id": 307984,
  "title": "Stagnation Concern For Tensorflow (Attn. TF Team)",
  "url": "/competitions/tensorflow-great-barrier-reef/discussion/307984",
  "author_name": "Darien Schettler",
  "post_date": "2022-02-16T15:07:44.524000",
  "votes": 37,
  "comment_count": 18,
  "views": 0,
  "content": "<p>Hi there. Quick congratulations to all the winners and a big thank you to the hosts for putting this together. Now that I have that out of the way…</p>\n<p>I wanted to raise a concern. Please note I raise this concern with all the respect in the world for everyone involved. </p>\n<hr>\n<p><strong>Almost every single top solution uses Pytorch.</strong></p>\n<hr>\n<p>Considering this competition is sponsored/hosted by Tensorflow, I thought this was a valid time to raise this concern. This should be a big wake-up call that Tensorflow is struggling to compete within this domain. And not just this domain, but similar domains like Instance Segmentation, Semantic Segmentation, etc. </p>\n<hr>\n<p>Here are some of the salient points I feel need a callout:</p>\n<ul>\n<li>The Object Detection API is not holding up (even the revamp) and is often more cumbersome than helpful.</li>\n<li>New model integration into popular repositories is slow (if it ever happens)</li>\n<li>While I was able to get EfficientDet working from the AutoML repo, the documentation around the Keras model (and in general) is relatively poor. Having made an excellent model and tool, I feel like there should be a greater effort to make it accessible and share that knowledge/tooling.</li>\n<li>There is no Keras for object-detection/segmentation/etc. similar to TIMM/MMDetection (notable mention to <a href=\"https://github.com/qubvel\" target=\"_blank\"><strong><em>qubvel</em></strong></a> -&gt; Pavel Yakubovskiy - for trying though)</li>\n<li>Keras <a href=\"https://keras.io/examples/\" target=\"_blank\"><strong>shares tutorials</strong></a> on Object Detection and other SOTA tasks, but the tutorials are generally POC/MVPs that won't hold up and generally don't contain weights/etc.<ul>\n<li>They are still incredibly valuable to show HOW to do something fundamentally though (good learning tools)</li></ul></li>\n<li>The TensorflowHub would be an excellent way for the Tensorflow/Google teams to directly share models with the general community… however… the only currently available model within any of the relevant domains is an EfficientDetLite model which is essentially just a port from the OD API Repo. Similar deficiencies w.r.t. image classification as well (pretty much just the tf.Keras.applications models are available…)</li>\n</ul>\n<hr>\n<p>I want to be clear. I enjoy using the TF library more than Pytorch. </p>\n<p>I've worked in many production environments and I think it's a lock when it comes to delivering enterprise-grade solutions with <strong><em>relatively</em></strong> cutting edge solutions (especially considering ease of integration with TFRecords, TPU, TF-TRT, and other ecosystem tools). And, to be fair, if TF wants to target production deployments and allow Pytorch to become the de facto solution for pushing boundaries and new model architectures, etc, that's their prerogative. </p>\n<p>However, <em>I think</em>, without some intentional actions to remedy this situation, TF will continue to wither in the eyes of the Research/Kaggle community. I really don't want this to happen. I want the TF ecosystem to flourish and continue to create a competitive counterpart to Pytorch to allow for <br>\nrival enhancement and fresh thinking.</p>\n<hr>\n<p>Anyway… thanks for listening, and I'm very curious to hear the opinions of others and the community in general! Once again, congratulations to everyone!</p>\n<hr>\n<blockquote>\n  <p><strong>UPDATE</strong></p>\n  <p>Here are some points called out in the comments that I feel support the discussion/concern raised above. I have not investigated all of the claims/assertions below, simply compiled them from the comments.</p>\n  <ul>\n  <li><strong>@steamedsheep</strong> <strong><em>(winner of this competition)</em></strong><ul>\n  <li>Implement yolov5 or yolox in tf, or at least augmentation and tricks.</li>\n  <li>Integrate sota model with exist framework</li>\n  <li>Spend more time to debug model then use torch</li>\n  <li>However with torch, you can run a yolov5 experiment in a very short time, even data augmentation and train parameter perform well by default.</li>\n  <li>Many engineers use tensorflow, but in competitions we favor quick impelmentation and better performance. Moreover, the deployment of torch now is much better then before.</li></ul></li>\n  <li><strong>@juliencs</strong><ul>\n  <li>I cannot understand why there couldn't be a Google-sponsored, full-time position (or even several frankly), to develop the equivalent of Timm in the Tensorflow world. I believe it would have incredible results in terms of expanding the number of people using TF, in comparison to the associated costs.</li>\n  <li>Right now, if researchers want to compare their findings to SOTA models, they pretty much have to code in PyTorch, because most/all SOTA models are in PyTorch and it's just simpler to use a unique framework for everything including benchmarking. </li>\n  <li>If there were equivalent TF implementations available in the same timeframe as they get available on Timm, this wouldn't be an issue anymore.</li></ul></li>\n  <li><strong>@init27</strong>  <ul>\n  <li>Most of the research implementations these days come in PyTorch code, its heavily preferred in the academic world</li>\n  <li>Timm, the INCREDIBLE framework by Ross Wrightman is the goto for image models, its in PyTorch</li>\n  <li>There are ports by the TF community and attempts at making such frameworks but these are still a bit behind</li>\n  <li>It's no question whenever you speak to wonderful people working on deploying edge models and models that require tight constraints, a lot of them would prefer the TF ecosystem, its amazing.</li>\n  <li>I think the wonderful Kaggle team has setup prizes to recongise TF + JAX ecosystem to encourage more people to use it. <a href=\"https://www.kaggle.com/general/296638\" target=\"_blank\"><strong>[link]</strong></a></li></ul></li>\n  <li><strong>@ashusma</strong> <strong><em>(implemented yolov5 in TF)</em></strong><ul>\n  <li>tf does not support indexing that make things much harder like mosaic is easy to implement in pytorch but not in tf</li>\n  <li>labeling anchors before feeding to model in fixed size that takes more memory whereas in pytorch bboxes are passed to model</li>\n  <li>dynamic shape is not supported</li>\n  <li>hard to debug the code</li></ul></li>\n  </ul>\n  <p>Tagging <a href=\"https://www.kaggle.com/wcukierski\" target=\"_blank\">@wcukierski</a> for visibility.</p>\n</blockquote>",
  "messages": [
    {
      "id": 1693276,
      "postDate": "2022-02-16T15:07:44.523Z",
      "content": "<p>Hi there. Quick congratulations to all the winners and a big thank you to the hosts for putting this together. Now that I have that out of the way…</p>\n<p>I wanted to raise a concern. Please note I raise this concern with all the respect in the world for everyone involved. </p>\n<hr>\n<p><strong>Almost every single top solution uses Pytorch.</strong></p>\n<hr>\n<p>Considering this competition is sponsored/hosted by Tensorflow, I thought this was a valid time to raise this concern. This should be a big wake-up call that Tensorflow is struggling to compete within this domain. And not just this domain, but similar domains like Instance Segmentation, Semantic Segmentation, etc. </p>\n<hr>\n<p>Here are some of the salient points I feel need a callout:</p>\n<ul>\n<li>The Object Detection API is not holding up (even the revamp) and is often more cumbersome than helpful.</li>\n<li>New model integration into popular repositories is slow (if it ever happens)</li>\n<li>While I was able to get EfficientDet working from the AutoML repo, the documentation around the Keras model (and in general) is relatively poor. Having made an excellent model and tool, I feel like there should be a greater effort to make it accessible and share that knowledge/tooling.</li>\n<li>There is no Keras for object-detection/segmentation/etc. similar to TIMM/MMDetection (notable mention to <a href=\"https://github.com/qubvel\" target=\"_blank\"><strong><em>qubvel</em></strong></a> -&gt; Pavel Yakubovskiy - for trying though)</li>\n<li>Keras <a href=\"https://keras.io/examples/\" target=\"_blank\"><strong>shares tutorials</strong></a> on Object Detection and other SOTA tasks, but the tutorials are generally POC/MVPs that won't hold up and generally don't contain weights/etc.<ul>\n<li>They are still incredibly valuable to show HOW to do something fundamentally though (good learning tools)</li></ul></li>\n<li>The TensorflowHub would be an excellent way for the Tensorflow/Google teams to directly share models with the general community… however… the only currently available model within any of the relevant domains is an EfficientDetLite model which is essentially just a port from the OD API Repo. Similar deficiencies w.r.t. image classification as well (pretty much just the tf.Keras.applications models are available…)</li>\n</ul>\n<hr>\n<p>I want to be clear. I enjoy using the TF library more than Pytorch. </p>\n<p>I've worked in many production environments and I think it's a lock when it comes to delivering enterprise-grade solutions with <strong><em>relatively</em></strong> cutting edge solutions (especially considering ease of integration with TFRecords, TPU, TF-TRT, and other ecosystem tools). And, to be fair, if TF wants to target production deployments and allow Pytorch to become the de facto solution for pushing boundaries and new model architectures, etc, that's their prerogative. </p>\n<p>However, <em>I think</em>, without some intentional actions to remedy this situation, TF will continue to wither in the eyes of the Research/Kaggle community. I really don't want this to happen. I want the TF ecosystem to flourish and continue to create a competitive counterpart to Pytorch to allow for <br>\nrival enhancement and fresh thinking.</p>\n<hr>\n<p>Anyway… thanks for listening, and I'm very curious to hear the opinions of others and the community in general! Once again, congratulations to everyone!</p>\n<hr>\n<blockquote>\n  <p><strong>UPDATE</strong></p>\n  <p>Here are some points called out in the comments that I feel support the discussion/concern raised above. I have not investigated all of the claims/assertions below, simply compiled them from the comments.</p>\n  <ul>\n  <li><strong>@steamedsheep</strong> <strong><em>(winner of this competition)</em></strong><ul>\n  <li>Implement yolov5 or yolox in tf, or at least augmentation and tricks.</li>\n  <li>Integrate sota model with exist framework</li>\n  <li>Spend more time to debug model then use torch</li>\n  <li>However with torch, you can run a yolov5 experiment in a very short time, even data augmentation and train parameter perform well by default.</li>\n  <li>Many engineers use tensorflow, but in competitions we favor quick impelmentation and better performance. Moreover, the deployment of torch now is much better then before.</li></ul></li>\n  <li><strong>@juliencs</strong><ul>\n  <li>I cannot understand why there couldn't be a Google-sponsored, full-time position (or even several frankly), to develop the equivalent of Timm in the Tensorflow world. I believe it would have incredible results in terms of expanding the number of people using TF, in comparison to the associated costs.</li>\n  <li>Right now, if researchers want to compare their findings to SOTA models, they pretty much have to code in PyTorch, because most/all SOTA models are in PyTorch and it's just simpler to use a unique framework for everything including benchmarking. </li>\n  <li>If there were equivalent TF implementations available in the same timeframe as they get available on Timm, this wouldn't be an issue anymore.</li></ul></li>\n  <li><strong>@init27</strong>  <ul>\n  <li>Most of the research implementations these days come in PyTorch code, its heavily preferred in the academic world</li>\n  <li>Timm, the INCREDIBLE framework by Ross Wrightman is the goto for image models, its in PyTorch</li>\n  <li>There are ports by the TF community and attempts at making such frameworks but these are still a bit behind</li>\n  <li>It's no question whenever you speak to wonderful people working on deploying edge models and models that require tight constraints, a lot of them would prefer the TF ecosystem, its amazing.</li>\n  <li>I think the wonderful Kaggle team has setup prizes to recongise TF + JAX ecosystem to encourage more people to use it. <a href=\"https://www.kaggle.com/general/296638\" target=\"_blank\"><strong>[link]</strong></a></li></ul></li>\n  <li><strong>@ashusma</strong> <strong><em>(implemented yolov5 in TF)</em></strong><ul>\n  <li>tf does not support indexing that make things much harder like mosaic is easy to implement in pytorch but not in tf</li>\n  <li>labeling anchors before feeding to model in fixed size that takes more memory whereas in pytorch bboxes are passed to model</li>\n  <li>dynamic shape is not supported</li>\n  <li>hard to debug the code</li></ul></li>\n  </ul>\n  <p>Tagging <a href=\"https://www.kaggle.com/wcukierski\" target=\"_blank\">@wcukierski</a> for visibility.</p>\n</blockquote>",
      "rawMarkdown": "Hi there. Quick congratulations to all the winners and a big thank you to the hosts for putting this together. Now that I have that out of the way...\n\nI wanted to raise a concern. Please note I raise this concern with all the respect in the world for everyone involved. \n\n---\n\n**Almost every single top solution uses Pytorch.**\n\n---\n\nConsidering this competition is sponsored/hosted by Tensorflow, I thought this was a valid time to raise this concern. This should be a big wake-up call that Tensorflow is struggling to compete within this domain. And not just this domain, but similar domains like Instance Segmentation, Semantic Segmentation, etc. \n\n---\n\nHere are some of the salient points I feel need a callout:\n* The Object Detection API is not holding up (even the revamp) and is often more cumbersome than helpful.\n* New model integration into popular repositories is slow (if it ever happens)\n* While I was able to get EfficientDet working from the AutoML repo, the documentation around the Keras model (and in general) is relatively poor. Having made an excellent model and tool, I feel like there should be a greater effort to make it accessible and share that knowledge/tooling.\n* There is no Keras for object-detection/segmentation/etc. similar to TIMM/MMDetection (notable mention to [***qubvel***](https://github.com/qubvel) -> Pavel Yakubovskiy - for trying though)\n* Keras [**shares tutorials**](https://keras.io/examples/) on Object Detection and other SOTA tasks, but the tutorials are generally POC/MVPs that won't hold up and generally don't contain weights/etc.\n  * They are still incredibly valuable to show HOW to do something fundamentally though (good learning tools)\n* The TensorflowHub would be an excellent way for the Tensorflow/Google teams to directly share models with the general community... however... the only currently available model within any of the relevant domains is an EfficientDetLite model which is essentially just a port from the OD API Repo. Similar deficiencies w.r.t. image classification as well (pretty much just the tf.Keras.applications models are available...)\n\n---\n\nI want to be clear. I enjoy using the TF library more than Pytorch. \n\nI've worked in many production environments and I think it's a lock when it comes to delivering enterprise-grade solutions with ***relatively*** cutting edge solutions (especially considering ease of integration with TFRecords, TPU, TF-TRT, and other ecosystem tools). And, to be fair, if TF wants to target production deployments and allow Pytorch to become the de facto solution for pushing boundaries and new model architectures, etc, that's their prerogative. \n\nHowever, *I think*, without some intentional actions to remedy this situation, TF will continue to wither in the eyes of the Research/Kaggle community. I really don't want this to happen. I want the TF ecosystem to flourish and continue to create a competitive counterpart to Pytorch to allow for \nrival enhancement and fresh thinking.\n\n---\n\nAnyway... thanks for listening, and I'm very curious to hear the opinions of others and the community in general! Once again, congratulations to everyone!\n\n---\n\n> **UPDATE**\n> \n> Here are some points called out in the comments that I feel support the discussion/concern raised above. I have not investigated all of the claims/assertions below, simply compiled them from the comments.\n>\n> \n> * **@steamedsheep** ***(winner of this competition)***\n>   * Implement yolov5 or yolox in tf, or at least augmentation and tricks.\n>   * Integrate sota model with exist framework\n>   * Spend more time to debug model then use torch\n>   * However with torch, you can run a yolov5 experiment in a very short time, even data augmentation and train parameter perform well by default.\n>   * Many engineers use tensorflow, but in competitions we favor quick impelmentation and better performance. Moreover, the deployment of torch now is much better then before.\n> * **@juliencs**\n>   * I cannot understand why there couldn't be a Google-sponsored, full-time position (or even several frankly), to develop the equivalent of Timm in the Tensorflow world. I believe it would have incredible results in terms of expanding the number of people using TF, in comparison to the associated costs.\n>   * Right now, if researchers want to compare their findings to SOTA models, they pretty much have to code in PyTorch, because most/all SOTA models are in PyTorch and it's just simpler to use a unique framework for everything including benchmarking. \n>   * If there were equivalent TF implementations available in the same timeframe as they get available on Timm, this wouldn't be an issue anymore.\n> * **@init27**  \n>   * Most of the research implementations these days come in PyTorch code, its heavily preferred in the academic world\n>   * Timm, the INCREDIBLE framework by Ross Wrightman is the goto for image models, its in PyTorch\n>   * There are ports by the TF community and attempts at making such frameworks but these are still a bit behind\n>   * It's no question whenever you speak to wonderful people working on deploying edge models and models that require tight constraints, a lot of them would prefer the TF ecosystem, its amazing.\n>   * I think the wonderful Kaggle team has setup prizes to recongise TF + JAX ecosystem to encourage more people to use it. [**[link]**](https://www.kaggle.com/general/296638)\n> * **@ashusma** ***(implemented yolov5 in TF)***\n>   * tf does not support indexing that make things much harder like mosaic is easy to implement in pytorch but not in tf\n>   * labeling anchors before feeding to model in fixed size that takes more memory whereas in pytorch bboxes are passed to model\n>   * dynamic shape is not supported\n>   * hard to debug the code\n>\n> Tagging @wcukierski for visibility.",
      "votes": 36
    },
    {
      "id": 1693398,
      "postDate": "2022-02-16T16:43:41.993Z",
      "content": "<p>Nice feedback! Thanks for typing it up. We will do our best to make sure this is seen internally.</p>",
      "rawMarkdown": "Nice feedback! Thanks for typing it up. We will do our best to make sure this is seen internally.",
      "votes": 8
    },
    {
      "id": 1694439,
      "postDate": "2022-02-17T12:35:18.603Z",
      "content": "<p>i have implemented yolov5 in tensorflow <a href=\"https://www.kaggle.com/ashusma/yolov5-in-tensorflow-gpu\" target=\"_blank\">https://www.kaggle.com/ashusma/yolov5-in-tensorflow-gpu</a> and there are few points i would like to point out that are missing in tensorflow that make implementation more hard than pytorch.</p>\n<p>tf does not support indexing that make things much harder like mosaic is easy to implement in pytorch but not in tf, <br>\nlabeling anchors before feeding to model in fixed size that takes more memory whereas in pytorch bboxes are passed to model <br>\ndynamic shape is not supported<br>\nhard to debug the code</p>",
      "rawMarkdown": "i have implemented yolov5 in tensorflow https://www.kaggle.com/ashusma/yolov5-in-tensorflow-gpu and there are few points i would like to point out that are missing in tensorflow that make implementation more hard than pytorch.\n\ntf does not support indexing that make things much harder like mosaic is easy to implement in pytorch but not in tf, \nlabeling anchors before feeding to model in fixed size that takes more memory whereas in pytorch bboxes are passed to model \ndynamic shape is not supported\nhard to debug the code\n",
      "votes": 1
    },
    {
      "id": 1694277,
      "postDate": "2022-02-17T10:03:21.703Z",
      "content": "<p>Our team has a submission use tf2 trained model and scored 0.694 at private leaderboard, which takes 3.5hours to finish. We are curious about other team's tf model performance. <br>\nI think there are some difficultly if  a team want to reach a high place with tf2:<br>\n1). Implement yolov5 or yolox in tf, or at least augmentation and tricks.<br>\n2). Integrate sota model with exist framework<br>\n3). Spend more time to debug model then use torch <br>\nHowever with torch, you can run a yolov5 experiment in a very short time, even data augmentation and train parameter perform well by default.</p>",
      "rawMarkdown": "Our team has a submission use tf2 trained model and scored 0.694 at private leaderboard, which takes 3.5hours to finish. We are curious about other team's tf model performance. \nI think there are some difficultly if  a team want to reach a high place with tf2:\n1). Implement yolov5 or yolox in tf, or at least augmentation and tricks.\n2). Integrate sota model with exist framework\n3). Spend more time to debug model then use torch \nHowever with torch, you can run a yolov5 experiment in a very short time, even data augmentation and train parameter perform well by default.",
      "votes": 2,
      "replies": [
        {
          "id": 1694329,
          "postDate": "2022-02-17T10:53:35.053Z",
          "content": "<p>If I may add to the points by <a href=\"https://www.kaggle.com/steamedsheep\" target=\"_blank\">@steamedsheep</a>, apart from runtime speedups, there is also a little less cognitive load for many people when working with PyTorch, one can also bring ideas to life faster in PyTorch IMO</p>",
          "rawMarkdown": "If I may add to the points by @steamedsheep, apart from runtime speedups, there is also a little less cognitive load for many people when working with PyTorch, one can also bring ideas to life faster in PyTorch IMO",
          "votes": 1
        },
        {
          "id": 1694420,
          "postDate": "2022-02-17T12:19:40.877Z",
          "content": "<p>From the link above, it feels a bit like comparing apples and organges.  Tensorflow supports inference deployment (ie, production), wheras PyTorch doesn't really.</p>",
          "rawMarkdown": "From the link above, it feels a bit like comparing apples and organges.  Tensorflow supports inference deployment (ie, production), wheras PyTorch doesn't really."
        },
        {
          "id": 1694560,
          "postDate": "2022-02-17T14:16:22.843Z",
          "content": "<p>Hmmm, yeah, many engineers use tensorflow, but in competitions we favor quick impelmentation and better performance. Moreover, the deployment of torch now is much better then before.</p>",
          "rawMarkdown": "Hmmm, yeah, many engineers use tensorflow, but in competitions we favor quick impelmentation and better performance. Moreover, the deployment of torch now is much better then before.",
          "votes": 2
        }
      ]
    },
    {
      "id": 1694233,
      "postDate": "2022-02-17T09:26:52.090Z",
      "content": "<p>Completely agreed on all OP points.</p>\n<p>I cannot understand why there couldn't be a Google-sponsored, full-time position (or even several frankly), to develop the equivalent of Timm in the Tensorflow world. I believe it would have incredible results in terms of expanding the number of people using TF, in comparison to the associated costs.</p>\n<p>Right now, if researchers want to compare their findings to SOTA models, they pretty much have to code in PyTorch, because most/all SOTA models are in PyTorch and it's just simpler to use a unique framework for everything including benchmarking. If there were equivalent TF implementations available in the same timeframe as they get available on Timm, this wouldn't be an issue anymore.</p>",
      "rawMarkdown": "Completely agreed on all OP points.\n\nI cannot understand why there couldn't be a Google-sponsored, full-time position (or even several frankly), to develop the equivalent of Timm in the Tensorflow world. I believe it would have incredible results in terms of expanding the number of people using TF, in comparison to the associated costs.\n\nRight now, if researchers want to compare their findings to SOTA models, they pretty much have to code in PyTorch, because most/all SOTA models are in PyTorch and it's just simpler to use a unique framework for everything including benchmarking. If there were equivalent TF implementations available in the same timeframe as they get available on Timm, this wouldn't be an issue anymore.",
      "votes": 2,
      "replies": [
        {
          "id": 1694304,
          "postDate": "2022-02-17T10:33:39.077Z",
          "content": "<p>Google should hosts competitions on Kaggle to contribute to <a href=\"https://github.com/martinsbruveris/tensorflow-image-models\" target=\"_blank\">https://github.com/martinsbruveris/tensorflow-image-models</a></p>",
          "rawMarkdown": "Google should hosts competitions on Kaggle to contribute to https://github.com/martinsbruveris/tensorflow-image-models"
        },
        {
          "id": 1694583,
          "postDate": "2022-02-17T14:53:50.783Z",
          "content": "<p><a href=\"https://www.kaggle.com/juliencs\" target=\"_blank\">@juliencs</a> -&gt; <strong>1000% agree</strong></p>",
          "rawMarkdown": "@juliencs -> **1000% agree**",
          "votes": -1
        }
      ]
    },
    {
      "id": 1693500,
      "postDate": "2022-02-16T17:44:54.307Z",
      "content": "<p>I share equal respect for all frameworks in the work. </p>\n<p>I think there are a few reasons behind this, which might be obvious to all, that account for PyTorch :</p>\n<ul>\n<li>Most of the research implementations these days come in PyTorch code, its heavily preferred in the academic world</li>\n<li>Timm, the INCREDIBLE framework by Ross Wrightman is the goto for image models, its in PyTorch</li>\n<li>There are <a href=\"https://github.com/martinsbruveris/tensorflow-image-models\" target=\"_blank\">ports</a> by the TF community and attempts at making such frameworks but these are still a bit behind</li>\n</ul>\n<p>It's no question whenever you speak to wonderful people working on deploying edge models and models that require tight constraints, a lot of them would prefer the TF ecosystem, its amazing. </p>\n<p><a href=\"https://www.kaggle.com/dschettler8845\" target=\"_blank\">@dschettler8845</a> to your point:</p>\n<blockquote>\n  <p>I want the TF ecosystem to flourish and continue to create a competitive counterpart to Pytorch to allow for <br>\n  rival enhancement and fresh thinking.</p>\n</blockquote>\n<p>I think the wonderful Kaggle team has setup prizes to recongise TF + JAX ecosystem to encourage more people to use it. </p>\n<p>I'm a PyTorch fan but I hope the TF world sees more traction on Kaggle too</p>",
      "rawMarkdown": "I share equal respect for all frameworks in the work. \n\nI think there are a few reasons behind this, which might be obvious to all, that account for PyTorch :\n\n- Most of the research implementations these days come in PyTorch code, its heavily preferred in the academic world\n- Timm, the INCREDIBLE framework by Ross Wrightman is the goto for image models, its in PyTorch\n- There are [ports](https://github.com/martinsbruveris/tensorflow-image-models) by the TF community and attempts at making such frameworks but these are still a bit behind\n\nIt's no question whenever you speak to wonderful people working on deploying edge models and models that require tight constraints, a lot of them would prefer the TF ecosystem, its amazing. \n\n@dschettler8845 to your point:\n\n> I want the TF ecosystem to flourish and continue to create a competitive counterpart to Pytorch to allow for \nrival enhancement and fresh thinking.\n\nI think the wonderful Kaggle team has setup prizes to recongise TF + JAX ecosystem to encourage more people to use it. \n\nI'm a PyTorch fan but I hope the TF world sees more traction on Kaggle too",
      "votes": 2,
      "replies": [
        {
          "id": 1694315,
          "postDate": "2022-02-17T10:44:16.190Z",
          "rawMarkdown": "",
          "isDeleted": true
        }
      ]
    },
    {
      "id": 1694321,
      "postDate": "2022-02-17T10:45:59.653Z",
      "content": "<p><a href=\"https://viso.ai/deep-learning/pytorch-vs-tensorflow/#:~:text=The%20memory%20usage%20during%20the,5%20GB%20for%20PyTorch\" target=\"_blank\">https://viso.ai/deep-learning/pytorch-vs-tensorflow/#:~:text=The%20memory%20usage%20during%20the,5%20GB%20for%20PyTorch</a>.</p>\n<p>I found the article to be generally enlightening, I hope it's accurate.  </p>\n<p>TF runs on almost all available execution platforms (CPU, GPU, TPU, Mobile, etc.).  C++, JavaScript, Python, C#, Ruby, and Swift support.  This broad platform support is likely where production capability comes in, but also naturally weighs down the ability to rapidly evolve to more cutting edge stuff (a new idea will need to support all those regimes)</p>\n<p>PyTorch just has Python (C++ impl) to worry about, a language which is rather ideal for Kaggle like problems.  </p>\n<p>Also, the open source community has embraced PyTorch.  For problem domains like prototyping new ideas, it's very difficult to compete with open source.</p>\n<p><strong>Would the experts generally agree with the below? Any quibbles?</strong></p>\n<p>(from the article)</p>\n<p>Differences of PyTorch vs. TensorFlow – Summary<br>\nTensorFlow and PyTorch implementations show equal accuracy. However, the training time of TensorFlow is substantially higher, but the memory usage was lower.</p>\n<p>PyTorch allows quicker prototyping than TensorFlow, but TensorFlow may be a better option if custom features are needed in the neural network.</p>\n<p>TensorFlow treats the neural network as a static object; if you want to change the behavior of your model, you have to start from scratch. With PyTorch, the neural network can be tweaked on the fly at run-time, making it easier to optimize the model.</p>\n<p>Another major difference lies in how developers go about debugging. Effective debugging with TensorFlow requires a special debugger tool that enables you to examine how the network nodes are doing their calculations at each step. PyTorch can be debugged using one of the many widely available Python debugging tools.</p>\n<p>Both PyTorch and TensorFlow provide ways to speed up model development and reduce amounts of boilerplate code. However, the core difference between PyTorch and TensorFlow is that PyTorch is more “pythonic” and based on an object-oriented approach. At the same time, TensorFlow provides more options to choose from, resulting in generally higher flexibility.</p>",
      "rawMarkdown": "https://viso.ai/deep-learning/pytorch-vs-tensorflow/#:~:text=The%20memory%20usage%20during%20the,5%20GB%20for%20PyTorch.\n\nI found the article to be generally enlightening, I hope it's accurate.  \n\nTF runs on almost all available execution platforms (CPU, GPU, TPU, Mobile, etc.).  C++, JavaScript, Python, C#, Ruby, and Swift support.  This broad platform support is likely where production capability comes in, but also naturally weighs down the ability to rapidly evolve to more cutting edge stuff (a new idea will need to support all those regimes)\n\nPyTorch just has Python (C++ impl) to worry about, a language which is rather ideal for Kaggle like problems.  \n\nAlso, the open source community has embraced PyTorch.  For problem domains like prototyping new ideas, it's very difficult to compete with open source.\n\n\n**Would the experts generally agree with the below? Any quibbles?**\n\n(from the article)\n\nDifferences of PyTorch vs. TensorFlow – Summary\nTensorFlow and PyTorch implementations show equal accuracy. However, the training time of TensorFlow is substantially higher, but the memory usage was lower.\n\nPyTorch allows quicker prototyping than TensorFlow, but TensorFlow may be a better option if custom features are needed in the neural network.\n\nTensorFlow treats the neural network as a static object; if you want to change the behavior of your model, you have to start from scratch. With PyTorch, the neural network can be tweaked on the fly at run-time, making it easier to optimize the model.\n\nAnother major difference lies in how developers go about debugging. Effective debugging with TensorFlow requires a special debugger tool that enables you to examine how the network nodes are doing their calculations at each step. PyTorch can be debugged using one of the many widely available Python debugging tools.\n\nBoth PyTorch and TensorFlow provide ways to speed up model development and reduce amounts of boilerplate code. However, the core difference between PyTorch and TensorFlow is that PyTorch is more “pythonic” and based on an object-oriented approach. At the same time, TensorFlow provides more options to choose from, resulting in generally higher flexibility.\n\n",
      "replies": [
        {
          "id": 1694355,
          "postDate": "2022-02-17T11:12:05.570Z",
          "content": "<p>Does Google actually have a competitive reason to support one framework over the other?</p>\n<p>To be frank, I think a better strategy would be for google to focusing on developing better tools to convert PyTorch models into production.  Porting over anything missing in PyTorch would be good as well (eg, TensorBoard, but perhaps a bit more resilient)</p>\n<p>ML as a field is evolving too quickly, PyTorch is probably the better way for training innovative new models, and splitting the effort here I'm not sure is helping things.</p>\n<p>From the article:</p>\n<p><code>Computation speed is where TensorFlow is delaying behind when compared to its competitors. It has less usability in comparison to other frameworks.</code></p>",
          "rawMarkdown": "Does Google actually have a competitive reason to support one framework over the other?\n\nTo be frank, I think a better strategy would be for google to focusing on developing better tools to convert PyTorch models into production.  Porting over anything missing in PyTorch would be good as well (eg, TensorBoard, but perhaps a bit more resilient)\n\nML as a field is evolving too quickly, PyTorch is probably the better way for training innovative new models, and splitting the effort here I'm not sure is helping things.\n\nFrom the article:\n\n`Computation speed is where TensorFlow is delaying behind when compared to its competitors. It has less usability in comparison to other frameworks.`"
        },
        {
          "id": 1694382,
          "postDate": "2022-02-17T11:40:34.217Z",
          "content": "<p>PyTorch paper</p>\n<p><a href=\"https://arxiv.org/pdf/1912.01703.pdf\" target=\"_blank\">https://arxiv.org/pdf/1912.01703.pdf</a></p>\n<p>21 authors, 11 from Facebook and the rest is one off (Nvidia, google, Twitter are notables)</p>",
          "rawMarkdown": "PyTorch paper\n\nhttps://arxiv.org/pdf/1912.01703.pdf\n\n21 authors, 11 from Facebook and the rest is one off (Nvidia, google, Twitter are notables)\n\n"
        },
        {
          "id": 1694404,
          "postDate": "2022-02-17T12:08:40.623Z",
          "content": "<p>fwiw, trends show a clear shift towards PyTorch, which looks even more extreme when it goes up against Keras.  In late 2019, Keras/PyTorch were roughly equal (37%), while the last observed data point was 58% PyTorch to 4% for Keras.</p>\n<p><a href=\"https://trends.google.com/trends/explore?date=today%205-y&amp;geo=CA&amp;q=keras,pytorch,tensorflow\" target=\"_blank\">https://trends.google.com/trends/explore?date=today%205-y&amp;geo=CA&amp;q=keras,pytorch,tensorflow</a></p>",
          "rawMarkdown": "fwiw, trends show a clear shift towards PyTorch, which looks even more extreme when it goes up against Keras.  In late 2019, Keras/PyTorch were roughly equal (37%), while the last observed data point was 58% PyTorch to 4% for Keras.\n\nhttps://trends.google.com/trends/explore?date=today%205-y&geo=CA&q=keras,pytorch,tensorflow\n\n"
        },
        {
          "id": 1694462,
          "postDate": "2022-02-17T12:48:51.880Z",
          "content": "<p>Tensorflow is from Google</p>",
          "rawMarkdown": "Tensorflow is from Google",
          "votes": 1
        },
        {
          "id": 1694524,
          "postDate": "2022-02-17T13:47:56.153Z",
          "content": "<p>hmm, let me try that.  </p>\n<p>Tensorflow is from Google Brain Team</p>\n<p>Anyways, silliness aside, it's unclear how supporting pytorch would impact pnl, how folks make decisions in the real world.</p>\n<p>And while we're on the topic, another thing to look at is jax based stuff.  Migrating there might be the way to go</p>",
          "rawMarkdown": "hmm, let me try that.  \n\nTensorflow is from Google Brain Team\n\nAnyways, silliness aside, it's unclear how supporting pytorch would impact pnl, how folks make decisions in the real world.\n\nAnd while we're on the topic, another thing to look at is jax based stuff.  Migrating there might be the way to go"
        }
      ]
    },
    {
      "id": 1694302,
      "postDate": "2022-02-17T10:30:12.647Z",
      "rawMarkdown": "",
      "isDeleted": true
    }
  ],
  "comments": [
    {
      "id": 1693398,
      "author_name": "Will Cukierski",
      "author_url": "",
      "post_date": "2022-02-16T16:43:41.993000",
      "content": "<p>Nice feedback! Thanks for typing it up. We will do our best to make sure this is seen internally.</p>",
      "votes": 8,
      "replies": []
    },
    {
      "id": 1694439,
      "author_name": "Agastya Kumar",
      "author_url": "",
      "post_date": "2022-02-17T12:35:18.603000",
      "content": "<p>i have implemented yolov5 in tensorflow <a href=\"https://www.kaggle.com/ashusma/yolov5-in-tensorflow-gpu\" target=\"_blank\">https://www.kaggle.com/ashusma/yolov5-in-tensorflow-gpu</a> and there are few points i would like to point out that are missing in tensorflow that make implementation more hard than pytorch.</p>\n<p>tf does not support indexing that make things much harder like mosaic is easy to implement in pytorch but not in tf, <br>\nlabeling anchors before feeding to model in fixed size that takes more memory whereas in pytorch bboxes are passed to model <br>\ndynamic shape is not supported<br>\nhard to debug the code</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 1694277,
      "author_name": "sheep",
      "author_url": "",
      "post_date": "2022-02-17T10:03:21.703000",
      "content": "<p>Our team has a submission use tf2 trained model and scored 0.694 at private leaderboard, which takes 3.5hours to finish. We are curious about other team's tf model performance. <br>\nI think there are some difficultly if  a team want to reach a high place with tf2:<br>\n1). Implement yolov5 or yolox in tf, or at least augmentation and tricks.<br>\n2). Integrate sota model with exist framework<br>\n3). Spend more time to debug model then use torch <br>\nHowever with torch, you can run a yolov5 experiment in a very short time, even data augmentation and train parameter perform well by default.</p>",
      "votes": 2,
      "replies": [
        {
          "id": 1694329,
          "author_name": "Sanyam Bhutani",
          "author_url": "",
          "post_date": "2022-02-17T10:53:35.053000",
          "content": "<p>If I may add to the points by <a href=\"https://www.kaggle.com/steamedsheep\" target=\"_blank\">@steamedsheep</a>, apart from runtime speedups, there is also a little less cognitive load for many people when working with PyTorch, one can also bring ideas to life faster in PyTorch IMO</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1694420,
          "author_name": "@kaggleqrdl",
          "author_url": "",
          "post_date": "2022-02-17T12:19:40.877000",
          "content": "<p>From the link above, it feels a bit like comparing apples and organges.  Tensorflow supports inference deployment (ie, production), wheras PyTorch doesn't really.</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1694560,
          "author_name": "sheep",
          "author_url": "",
          "post_date": "2022-02-17T14:16:22.843000",
          "content": "<p>Hmmm, yeah, many engineers use tensorflow, but in competitions we favor quick impelmentation and better performance. Moreover, the deployment of torch now is much better then before.</p>",
          "votes": 2,
          "replies": []
        }
      ]
    },
    {
      "id": 1694233,
      "author_name": "juliencs",
      "author_url": "",
      "post_date": "2022-02-17T09:26:52.090000",
      "content": "<p>Completely agreed on all OP points.</p>\n<p>I cannot understand why there couldn't be a Google-sponsored, full-time position (or even several frankly), to develop the equivalent of Timm in the Tensorflow world. I believe it would have incredible results in terms of expanding the number of people using TF, in comparison to the associated costs.</p>\n<p>Right now, if researchers want to compare their findings to SOTA models, they pretty much have to code in PyTorch, because most/all SOTA models are in PyTorch and it's just simpler to use a unique framework for everything including benchmarking. If there were equivalent TF implementations available in the same timeframe as they get available on Timm, this wouldn't be an issue anymore.</p>",
      "votes": 2,
      "replies": [
        {
          "id": 1694304,
          "author_name": "@kaggleqrdl",
          "author_url": "",
          "post_date": "2022-02-17T10:33:39.077000",
          "content": "<p>Google should hosts competitions on Kaggle to contribute to <a href=\"https://github.com/martinsbruveris/tensorflow-image-models\" target=\"_blank\">https://github.com/martinsbruveris/tensorflow-image-models</a></p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1694583,
          "author_name": "Darien Schettler",
          "author_url": "",
          "post_date": "2022-02-17T14:53:50.783000",
          "content": "<p><a href=\"https://www.kaggle.com/juliencs\" target=\"_blank\">@juliencs</a> -&gt; <strong>1000% agree</strong></p>",
          "votes": -1,
          "replies": []
        }
      ]
    },
    {
      "id": 1693500,
      "author_name": "Sanyam Bhutani",
      "author_url": "",
      "post_date": "2022-02-16T17:44:54.307000",
      "content": "<p>I share equal respect for all frameworks in the work. </p>\n<p>I think there are a few reasons behind this, which might be obvious to all, that account for PyTorch :</p>\n<ul>\n<li>Most of the research implementations these days come in PyTorch code, its heavily preferred in the academic world</li>\n<li>Timm, the INCREDIBLE framework by Ross Wrightman is the goto for image models, its in PyTorch</li>\n<li>There are <a href=\"https://github.com/martinsbruveris/tensorflow-image-models\" target=\"_blank\">ports</a> by the TF community and attempts at making such frameworks but these are still a bit behind</li>\n</ul>\n<p>It's no question whenever you speak to wonderful people working on deploying edge models and models that require tight constraints, a lot of them would prefer the TF ecosystem, its amazing. </p>\n<p><a href=\"https://www.kaggle.com/dschettler8845\" target=\"_blank\">@dschettler8845</a> to your point:</p>\n<blockquote>\n  <p>I want the TF ecosystem to flourish and continue to create a competitive counterpart to Pytorch to allow for <br>\n  rival enhancement and fresh thinking.</p>\n</blockquote>\n<p>I think the wonderful Kaggle team has setup prizes to recongise TF + JAX ecosystem to encourage more people to use it. </p>\n<p>I'm a PyTorch fan but I hope the TF world sees more traction on Kaggle too</p>",
      "votes": 2,
      "replies": [
        {
          "id": 1694315,
          "author_name": "",
          "author_url": "",
          "post_date": "2022-02-17T10:44:16.190000",
          "content": "",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1694321,
      "author_name": "@kaggleqrdl",
      "author_url": "",
      "post_date": "2022-02-17T10:45:59.653000",
      "content": "<p><a href=\"https://viso.ai/deep-learning/pytorch-vs-tensorflow/#:~:text=The%20memory%20usage%20during%20the,5%20GB%20for%20PyTorch\" target=\"_blank\">https://viso.ai/deep-learning/pytorch-vs-tensorflow/#:~:text=The%20memory%20usage%20during%20the,5%20GB%20for%20PyTorch</a>.</p>\n<p>I found the article to be generally enlightening, I hope it's accurate.  </p>\n<p>TF runs on almost all available execution platforms (CPU, GPU, TPU, Mobile, etc.).  C++, JavaScript, Python, C#, Ruby, and Swift support.  This broad platform support is likely where production capability comes in, but also naturally weighs down the ability to rapidly evolve to more cutting edge stuff (a new idea will need to support all those regimes)</p>\n<p>PyTorch just has Python (C++ impl) to worry about, a language which is rather ideal for Kaggle like problems.  </p>\n<p>Also, the open source community has embraced PyTorch.  For problem domains like prototyping new ideas, it's very difficult to compete with open source.</p>\n<p><strong>Would the experts generally agree with the below? Any quibbles?</strong></p>\n<p>(from the article)</p>\n<p>Differences of PyTorch vs. TensorFlow – Summary<br>\nTensorFlow and PyTorch implementations show equal accuracy. However, the training time of TensorFlow is substantially higher, but the memory usage was lower.</p>\n<p>PyTorch allows quicker prototyping than TensorFlow, but TensorFlow may be a better option if custom features are needed in the neural network.</p>\n<p>TensorFlow treats the neural network as a static object; if you want to change the behavior of your model, you have to start from scratch. With PyTorch, the neural network can be tweaked on the fly at run-time, making it easier to optimize the model.</p>\n<p>Another major difference lies in how developers go about debugging. Effective debugging with TensorFlow requires a special debugger tool that enables you to examine how the network nodes are doing their calculations at each step. PyTorch can be debugged using one of the many widely available Python debugging tools.</p>\n<p>Both PyTorch and TensorFlow provide ways to speed up model development and reduce amounts of boilerplate code. However, the core difference between PyTorch and TensorFlow is that PyTorch is more “pythonic” and based on an object-oriented approach. At the same time, TensorFlow provides more options to choose from, resulting in generally higher flexibility.</p>",
      "votes": 0,
      "replies": [
        {
          "id": 1694355,
          "author_name": "@kaggleqrdl",
          "author_url": "",
          "post_date": "2022-02-17T11:12:05.570000",
          "content": "<p>Does Google actually have a competitive reason to support one framework over the other?</p>\n<p>To be frank, I think a better strategy would be for google to focusing on developing better tools to convert PyTorch models into production.  Porting over anything missing in PyTorch would be good as well (eg, TensorBoard, but perhaps a bit more resilient)</p>\n<p>ML as a field is evolving too quickly, PyTorch is probably the better way for training innovative new models, and splitting the effort here I'm not sure is helping things.</p>\n<p>From the article:</p>\n<p><code>Computation speed is where TensorFlow is delaying behind when compared to its competitors. It has less usability in comparison to other frameworks.</code></p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1694382,
          "author_name": "@kaggleqrdl",
          "author_url": "",
          "post_date": "2022-02-17T11:40:34.217000",
          "content": "<p>PyTorch paper</p>\n<p><a href=\"https://arxiv.org/pdf/1912.01703.pdf\" target=\"_blank\">https://arxiv.org/pdf/1912.01703.pdf</a></p>\n<p>21 authors, 11 from Facebook and the rest is one off (Nvidia, google, Twitter are notables)</p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1694404,
          "author_name": "@kaggleqrdl",
          "author_url": "",
          "post_date": "2022-02-17T12:08:40.623000",
          "content": "<p>fwiw, trends show a clear shift towards PyTorch, which looks even more extreme when it goes up against Keras.  In late 2019, Keras/PyTorch were roughly equal (37%), while the last observed data point was 58% PyTorch to 4% for Keras.</p>\n<p><a href=\"https://trends.google.com/trends/explore?date=today%205-y&amp;geo=CA&amp;q=keras,pytorch,tensorflow\" target=\"_blank\">https://trends.google.com/trends/explore?date=today%205-y&amp;geo=CA&amp;q=keras,pytorch,tensorflow</a></p>",
          "votes": 0,
          "replies": []
        },
        {
          "id": 1694462,
          "author_name": "Psi",
          "author_url": "",
          "post_date": "2022-02-17T12:48:51.880000",
          "content": "<p>Tensorflow is from Google</p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1694524,
          "author_name": "@kaggleqrdl",
          "author_url": "",
          "post_date": "2022-02-17T13:47:56.153000",
          "content": "<p>hmm, let me try that.  </p>\n<p>Tensorflow is from Google Brain Team</p>\n<p>Anyways, silliness aside, it's unclear how supporting pytorch would impact pnl, how folks make decisions in the real world.</p>\n<p>And while we're on the topic, another thing to look at is jax based stuff.  Migrating there might be the way to go</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 1694302,
      "author_name": "",
      "author_url": "",
      "post_date": "2022-02-17T10:30:12.647000",
      "content": "",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "1693276": "Hi there. Quick congratulations to all the winners and a big thank you to the hosts for putting this together. Now that I have that out of the way...\n\nI wanted to raise a concern. Please note I raise this concern with all the respect in the world for everyone involved. \n\n---\n\n**Almost every single top solution uses Pytorch.**\n\n---\n\nConsidering this competition is sponsored/hosted by Tensorflow, I thought this was a valid time to raise this concern. This should be a big wake-up call that Tensorflow is struggling to compete within this domain. And not just this domain, but similar domains like Instance Segmentation, Semantic Segmentation, etc. \n\n---\n\nHere are some of the salient points I feel need a callout:\n* The Object Detection API is not holding up (even the revamp) and is often more cumbersome than helpful.\n* New model integration into popular repositories is slow (if it ever happens)\n* While I was able to get EfficientDet working from the AutoML repo, the documentation around the Keras model (and in general) is relatively poor. Having made an excellent model and tool, I feel like there should be a greater effort to make it accessible and share that knowledge/tooling.\n* There is no Keras for object-detection/segmentation/etc. similar to TIMM/MMDetection (notable mention to [***qubvel***](https://github.com/qubvel) -> Pavel Yakubovskiy - for trying though)\n* Keras [**shares tutorials**](https://keras.io/examples/) on Object Detection and other SOTA tasks, but the tutorials are generally POC/MVPs that won't hold up and generally don't contain weights/etc.\n  * They are still incredibly valuable to show HOW to do something fundamentally though (good learning tools)\n* The TensorflowHub would be an excellent way for the Tensorflow/Google teams to directly share models with the general community... however... the only currently available model within any of the relevant domains is an EfficientDetLite model which is essentially just a port from the OD API Repo. Similar deficiencies w.r.t. image classification as well (pretty much just the tf.Keras.applications models are available...)\n\n---\n\nI want to be clear. I enjoy using the TF library more than Pytorch. \n\nI've worked in many production environments and I think it's a lock when it comes to delivering enterprise-grade solutions with ***relatively*** cutting edge solutions (especially considering ease of integration with TFRecords, TPU, TF-TRT, and other ecosystem tools). And, to be fair, if TF wants to target production deployments and allow Pytorch to become the de facto solution for pushing boundaries and new model architectures, etc, that's their prerogative. \n\nHowever, *I think*, without some intentional actions to remedy this situation, TF will continue to wither in the eyes of the Research/Kaggle community. I really don't want this to happen. I want the TF ecosystem to flourish and continue to create a competitive counterpart to Pytorch to allow for \nrival enhancement and fresh thinking.\n\n---\n\nAnyway... thanks for listening, and I'm very curious to hear the opinions of others and the community in general! Once again, congratulations to everyone!\n\n---\n\n> **UPDATE**\n> \n> Here are some points called out in the comments that I feel support the discussion/concern raised above. I have not investigated all of the claims/assertions below, simply compiled them from the comments.\n>\n> \n> * **@steamedsheep** ***(winner of this competition)***\n>   * Implement yolov5 or yolox in tf, or at least augmentation and tricks.\n>   * Integrate sota model with exist framework\n>   * Spend more time to debug model then use torch\n>   * However with torch, you can run a yolov5 experiment in a very short time, even data augmentation and train parameter perform well by default.\n>   * Many engineers use tensorflow, but in competitions we favor quick impelmentation and better performance. Moreover, the deployment of torch now is much better then before.\n> * **@juliencs**\n>   * I cannot understand why there couldn't be a Google-sponsored, full-time position (or even several frankly), to develop the equivalent of Timm in the Tensorflow world. I believe it would have incredible results in terms of expanding the number of people using TF, in comparison to the associated costs.\n>   * Right now, if researchers want to compare their findings to SOTA models, they pretty much have to code in PyTorch, because most/all SOTA models are in PyTorch and it's just simpler to use a unique framework for everything including benchmarking. \n>   * If there were equivalent TF implementations available in the same timeframe as they get available on Timm, this wouldn't be an issue anymore.\n> * **@init27**  \n>   * Most of the research implementations these days come in PyTorch code, its heavily preferred in the academic world\n>   * Timm, the INCREDIBLE framework by Ross Wrightman is the goto for image models, its in PyTorch\n>   * There are ports by the TF community and attempts at making such frameworks but these are still a bit behind\n>   * It's no question whenever you speak to wonderful people working on deploying edge models and models that require tight constraints, a lot of them would prefer the TF ecosystem, its amazing.\n>   * I think the wonderful Kaggle team has setup prizes to recongise TF + JAX ecosystem to encourage more people to use it. [**[link]**](https://www.kaggle.com/general/296638)\n> * **@ashusma** ***(implemented yolov5 in TF)***\n>   * tf does not support indexing that make things much harder like mosaic is easy to implement in pytorch but not in tf\n>   * labeling anchors before feeding to model in fixed size that takes more memory whereas in pytorch bboxes are passed to model\n>   * dynamic shape is not supported\n>   * hard to debug the code\n>\n> Tagging @wcukierski for visibility.",
    "1693398": "Nice feedback! Thanks for typing it up. We will do our best to make sure this is seen internally.",
    "1694439": "i have implemented yolov5 in tensorflow https://www.kaggle.com/ashusma/yolov5-in-tensorflow-gpu and there are few points i would like to point out that are missing in tensorflow that make implementation more hard than pytorch.\n\ntf does not support indexing that make things much harder like mosaic is easy to implement in pytorch but not in tf, \nlabeling anchors before feeding to model in fixed size that takes more memory whereas in pytorch bboxes are passed to model \ndynamic shape is not supported\nhard to debug the code\n",
    "1694277": "Our team has a submission use tf2 trained model and scored 0.694 at private leaderboard, which takes 3.5hours to finish. We are curious about other team's tf model performance. \nI think there are some difficultly if  a team want to reach a high place with tf2:\n1). Implement yolov5 or yolox in tf, or at least augmentation and tricks.\n2). Integrate sota model with exist framework\n3). Spend more time to debug model then use torch \nHowever with torch, you can run a yolov5 experiment in a very short time, even data augmentation and train parameter perform well by default.",
    "1694233": "Completely agreed on all OP points.\n\nI cannot understand why there couldn't be a Google-sponsored, full-time position (or even several frankly), to develop the equivalent of Timm in the Tensorflow world. I believe it would have incredible results in terms of expanding the number of people using TF, in comparison to the associated costs.\n\nRight now, if researchers want to compare their findings to SOTA models, they pretty much have to code in PyTorch, because most/all SOTA models are in PyTorch and it's just simpler to use a unique framework for everything including benchmarking. If there were equivalent TF implementations available in the same timeframe as they get available on Timm, this wouldn't be an issue anymore.",
    "1693500": "I share equal respect for all frameworks in the work. \n\nI think there are a few reasons behind this, which might be obvious to all, that account for PyTorch :\n\n- Most of the research implementations these days come in PyTorch code, its heavily preferred in the academic world\n- Timm, the INCREDIBLE framework by Ross Wrightman is the goto for image models, its in PyTorch\n- There are [ports](https://github.com/martinsbruveris/tensorflow-image-models) by the TF community and attempts at making such frameworks but these are still a bit behind\n\nIt's no question whenever you speak to wonderful people working on deploying edge models and models that require tight constraints, a lot of them would prefer the TF ecosystem, its amazing. \n\n@dschettler8845 to your point:\n\n> I want the TF ecosystem to flourish and continue to create a competitive counterpart to Pytorch to allow for \nrival enhancement and fresh thinking.\n\nI think the wonderful Kaggle team has setup prizes to recongise TF + JAX ecosystem to encourage more people to use it. \n\nI'm a PyTorch fan but I hope the TF world sees more traction on Kaggle too",
    "1694321": "https://viso.ai/deep-learning/pytorch-vs-tensorflow/#:~:text=The%20memory%20usage%20during%20the,5%20GB%20for%20PyTorch.\n\nI found the article to be generally enlightening, I hope it's accurate.  \n\nTF runs on almost all available execution platforms (CPU, GPU, TPU, Mobile, etc.).  C++, JavaScript, Python, C#, Ruby, and Swift support.  This broad platform support is likely where production capability comes in, but also naturally weighs down the ability to rapidly evolve to more cutting edge stuff (a new idea will need to support all those regimes)\n\nPyTorch just has Python (C++ impl) to worry about, a language which is rather ideal for Kaggle like problems.  \n\nAlso, the open source community has embraced PyTorch.  For problem domains like prototyping new ideas, it's very difficult to compete with open source.\n\n\n**Would the experts generally agree with the below? Any quibbles?**\n\n(from the article)\n\nDifferences of PyTorch vs. TensorFlow – Summary\nTensorFlow and PyTorch implementations show equal accuracy. However, the training time of TensorFlow is substantially higher, but the memory usage was lower.\n\nPyTorch allows quicker prototyping than TensorFlow, but TensorFlow may be a better option if custom features are needed in the neural network.\n\nTensorFlow treats the neural network as a static object; if you want to change the behavior of your model, you have to start from scratch. With PyTorch, the neural network can be tweaked on the fly at run-time, making it easier to optimize the model.\n\nAnother major difference lies in how developers go about debugging. Effective debugging with TensorFlow requires a special debugger tool that enables you to examine how the network nodes are doing their calculations at each step. PyTorch can be debugged using one of the many widely available Python debugging tools.\n\nBoth PyTorch and TensorFlow provide ways to speed up model development and reduce amounts of boilerplate code. However, the core difference between PyTorch and TensorFlow is that PyTorch is more “pythonic” and based on an object-oriented approach. At the same time, TensorFlow provides more options to choose from, resulting in generally higher flexibility.\n\n",
    "1694302": ""
  }
}