{
  "id": 102729,
  "title": "Pytorch vs. Fastai",
  "url": "/competitions/aptos2019-blindness-detection/discussion/102729",
  "author_name": "",
  "post_date": "2019-08-04T12:36:01.414103100Z",
  "votes": 1,
  "comment_count": 4,
  "views": 0,
  "content": "<p>There has already been a post in discussion on pytorch vs tensorflow, pytorch is growing faster than tensorflow for its flexibility and easiness for debugging, etc. </p>\n\n<p>But how about pytorch vs. fastai? Fastai is a library built upon pytorch, and it incorporates some best practices so fastiai models often out-perform pytorch and keras with shorter training time. As you can see in some public kernels, fastai code are also shorter because it wraps many useful functionalities.</p>\n\n<p>However, fastai seems to be less flexible than pytorch(which is where pytorch beats keras) when you need to do something the library don't provide. E.g. I intend to read hdf5 file, as shown in <a href=\"https://www.kaggle.com/nomadista/large-training-speed-boost\">https://www.kaggle.com/nomadista/large-training-speed-boost</a>, with fastai to accelerate training, however it requires fastai custom itemlist but I've found that some fastai users have failed to do so despite lots of time working on it. The time blackhole really sucks.</p>\n\n<p>What do you think of the two?</p>",
  "messages": [
    {
      "id": "591896",
      "postDate": "08/04/2019 12:36:01",
      "content": "<p>There has already been a post in discussion on pytorch vs tensorflow, pytorch is growing faster than tensorflow for its flexibility and easiness for debugging, etc. </p>\n\n<p>But how about pytorch vs. fastai? Fastai is a library built upon pytorch, and it incorporates some best practices so fastiai models often out-perform pytorch and keras with shorter training time. As you can see in some public kernels, fastai code are also shorter because it wraps many useful functionalities.</p>\n\n<p>However, fastai seems to be less flexible than pytorch(which is where pytorch beats keras) when you need to do something the library don't provide. E.g. I intend to read hdf5 file, as shown in <a href=\"https://www.kaggle.com/nomadista/large-training-speed-boost\">https://www.kaggle.com/nomadista/large-training-speed-boost</a>, with fastai to accelerate training, however it requires fastai custom itemlist but I've found that some fastai users have failed to do so despite lots of time working on it. The time blackhole really sucks.</p>\n\n<p>What do you think of the two?</p>",
      "rawMarkdown": "There has already been a post in discussion on pytorch vs tensorflow, pytorch is growing faster than tensorflow for its flexibility and easiness for debugging, etc. \n\nBut how about pytorch vs. fastai? Fastai is a library built upon pytorch, and it incorporates some best practices so fastiai models often out-perform pytorch and keras with shorter training time. As you can see in some public kernels, fastai code are also shorter because it wraps many useful functionalities.\n\nHowever, fastai seems to be less flexible than pytorch(which is where pytorch beats keras) when you need to do something the library don't provide. E.g. I intend to read hdf5 file, as shown in https://www.kaggle.com/nomadista/large-training-speed-boost, with fastai to accelerate training, however it requires fastai custom itemlist but I've found that some fastai users have failed to do so despite lots of time working on it. The time blackhole really sucks.\n\nWhat do you think of the two?",
      "votes": null
    },
    {
      "id": "591898",
      "postDate": "08/04/2019 12:40:10",
      "content": "<p>Another problem with fastai is that their documentations are more loosely written. All pytorch functions clearly explains every argument, but fastai often just gives one short sentence for each argument and even ignores many of them. </p>",
      "rawMarkdown": "Another problem with fastai is that their documentations are more loosely written. All pytorch functions clearly explains every argument, but fastai often just gives one short sentence for each argument and even ignores many of them.",
      "votes": null
    },
    {
      "id": "591975",
      "postDate": "08/04/2019 15:25:11",
      "content": "<p>I personally prefer pt over fast.ai because I have more control and understand what I'm doing. It may seem daunting at first to create a whole pipeline wtih pytorch(everything from dataloading/processing to the training loop) but a lot of that can be copied/adapted from public kernels.</p>",
      "rawMarkdown": "I personally prefer pt over fast.ai because I have more control and understand what I'm doing. It may seem daunting at first to create a whole pipeline wtih pytorch(everything from dataloading/processing to the training loop) but a lot of that can be copied/adapted from public kernels.",
      "votes": null
    },
    {
      "id": "592183",
      "postDate": "08/05/2019 01:27:59",
      "content": "<p>Totally agree with you, I am new to fastai, though it is easy to use however a lot of things are out of my control. And the doc is really simple to refer</p>",
      "rawMarkdown": "Totally agree with you, I am new to fastai, though it is easy to use however a lot of things are out of my control. And the doc is really simple to refer",
      "votes": null
    },
    {
      "id": "592396",
      "postDate": "08/05/2019 08:23:29",
      "content": "<p>I like fastai for simplicity of code - easy to write and debug. It helps me focus more on solving the problem and build a quick solution. On the other hand, when I want to make changes to default functions, I find it difficult to go over documentation and perform changes (e.g. TTA). So, I would prefer to build a quick solution using fastai and PyTroch for complex solution.</p>",
      "rawMarkdown": "I like fastai for simplicity of code - easy to write and debug. It helps me focus more on solving the problem and build a quick solution. On the other hand, when I want to make changes to default functions, I find it difficult to go over documentation and perform changes (e.g. TTA). So, I would prefer to build a quick solution using fastai and PyTroch for complex solution.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 591898,
      "author_name": "homoalways",
      "author_url": "",
      "post_date": "08/04/2019 12:40:10",
      "content": "<p>Another problem with fastai is that their documentations are more loosely written. All pytorch functions clearly explains every argument, but fastai often just gives one short sentence for each argument and even ignores many of them. </p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 591975,
      "author_name": "sidhanthholalkere",
      "author_url": "",
      "post_date": "08/04/2019 15:25:11",
      "content": "<p>I personally prefer pt over fast.ai because I have more control and understand what I'm doing. It may seem daunting at first to create a whole pipeline wtih pytorch(everything from dataloading/processing to the training loop) but a lot of that can be copied/adapted from public kernels.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 592183,
      "author_name": "leixiang",
      "author_url": "",
      "post_date": "08/05/2019 01:27:59",
      "content": "<p>Totally agree with you, I am new to fastai, though it is easy to use however a lot of things are out of my control. And the doc is really simple to refer</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 592396,
      "author_name": "harshthaker",
      "author_url": "",
      "post_date": "08/05/2019 08:23:29",
      "content": "<p>I like fastai for simplicity of code - easy to write and debug. It helps me focus more on solving the problem and build a quick solution. On the other hand, when I want to make changes to default functions, I find it difficult to go over documentation and perform changes (e.g. TTA). So, I would prefer to build a quick solution using fastai and PyTroch for complex solution.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "591896": "There has already been a post in discussion on pytorch vs tensorflow, pytorch is growing faster than tensorflow for its flexibility and easiness for debugging, etc. \n\nBut how about pytorch vs. fastai? Fastai is a library built upon pytorch, and it incorporates some best practices so fastiai models often out-perform pytorch and keras with shorter training time. As you can see in some public kernels, fastai code are also shorter because it wraps many useful functionalities.\n\nHowever, fastai seems to be less flexible than pytorch(which is where pytorch beats keras) when you need to do something the library don't provide. E.g. I intend to read hdf5 file, as shown in https://www.kaggle.com/nomadista/large-training-speed-boost, with fastai to accelerate training, however it requires fastai custom itemlist but I've found that some fastai users have failed to do so despite lots of time working on it. The time blackhole really sucks.\n\nWhat do you think of the two?",
    "591898": "Another problem with fastai is that their documentations are more loosely written. All pytorch functions clearly explains every argument, but fastai often just gives one short sentence for each argument and even ignores many of them.",
    "591975": "I personally prefer pt over fast.ai because I have more control and understand what I'm doing. It may seem daunting at first to create a whole pipeline wtih pytorch(everything from dataloading/processing to the training loop) but a lot of that can be copied/adapted from public kernels.",
    "592183": "Totally agree with you, I am new to fastai, though it is easy to use however a lot of things are out of my control. And the doc is really simple to refer",
    "592396": "I like fastai for simplicity of code - easy to write and debug. It helps me focus more on solving the problem and build a quick solution. On the other hand, when I want to make changes to default functions, I find it difficult to go over documentation and perform changes (e.g. TTA). So, I would prefer to build a quick solution using fastai and PyTroch for complex solution."
  },
  "source": "meta"
}