{
  "id": 114214,
  "title": "Overview of fastai notebooks",
  "url": "/competitions/rsna-intracranial-hemorrhage-detection/discussion/114214",
  "author_name": "Jeremy Howard",
  "post_date": "2019-10-25T00:33:48.480000",
  "votes": 111,
  "comment_count": 9,
  "views": 0,
  "content": "<p>I've created 5 connected notebooks for this competition, and there's quite a lot in them, so I figured it might be helpful to create a little overview post to help you understand the flow. Here are the notebooks, in order:</p>\n\n<ol>\n<li><a href=\"https://www.kaggle.com/jhoward/creating-a-metadata-dataframe-fastai\">Creating a metadata DataFrame</a></li>\n<li><a href=\"https://www.kaggle.com/jhoward/some-dicom-gotchas-to-be-aware-of-fastai\">Some DICOM gotchas to be aware of</a></li>\n<li><a href=\"https://www.kaggle.com/jhoward/don-t-see-like-a-radiologist-fastai\">DON'T see like a radiologist</a></li>\n<li><a href=\"https://www.kaggle.com/jhoward/cleaning-the-data-for-rapid-prototyping-fastai\">Cleaning the data for rapid prototyping</a></li>\n<li><a href=\"https://www.kaggle.com/jhoward/from-prototyping-to-submission-fastai\">From prototyping to submission</a></li>\n</ol>\n\n<p>Here's how they all fit together, and what they cover:</p>\n\n<h2>Creating a metadata DataFrame</h2>\n\n<p>DICOM files each contain metadata (patient ID, slice width, etc) within each separate file. This is not convenient to work with, since it's slow and complicated to query and summarize this metadata. Also, standard tools like Pandas don't work with data in this form.</p>\n\n<p>Therefore, I like to convert DICOM files metadata into a Pandas data frame as a first step. This is largely automated by simply running:</p>\n\n<p><code>python\ndf = pd.DataFrame.from_dicoms(...)\n</code></p>\n\n<p>In this notebook, we also convert the labels into a more convenient form. As a result, we can then work with a single combined data frame containing all the labels and metadata in one place. This is particularly helpful because in future notebooks I show how to save plain JPEG files, which are faster and smaller, but don't have the metadata. So we'll use a combination of the data frame and JPEGs for our modeling.</p>\n\n<h2>Some DICOM gotchas to be aware of</h2>\n\n<p>This notebook is something of a guided tour of how to analyze the metadata created in the last notebook. The metadata even includes pixel distribution summaries. These turn out to be helpful when I show how to identify the source of some unusual data, and how to fix it.</p>\n\n<p>This notebook also briefly shows various ways to actually look at the images themselves.</p>\n\n<h2>DON'T see like a radiologist</h2>\n\n<p>In this notebook I show the thinking behind the unique <code>hist_scaled</code> method in fastai. In doing so, I try to provide some answer to the question: do computers need to use windowing?</p>\n\n<p>Because <code>hist_scaled</code> requires normalization parameters, I also show how to construct sensible parameters for the dataset, and how to store and re-use these to ensure consistent results.</p>\n\n<h2>Cleaning the data for rapid prototyping</h2>\n\n<p>I find it helps a <em>lot</em> if I can iterate rapidly. So that means we need a small, fast, but usable dataset. In this notebook we create just such a \"prototyping sample\" dataset, covering the following steps:</p>\n\n<ol>\n<li>Fix images with incorrect RescaleIntercept</li>\n<li>Remove some images if they have little useful information (e.g. they don't actually contain brain tissue)</li>\n<li>Resample this dataset to 2/1 split of with/without hemorrhage, so we have a smaller dataset for quick prototyping</li>\n<li>Crop the images to just contain the brain, and save the size of the crop in case it's important</li>\n<li>Do histogram rescaling and then save JPEG 256x256 px images</li>\n</ol>\n\n<h2>From prototyping to submission</h2>\n\n<p>Finally, I show how to take that prototyping sample, train a few epochs on it rapidly, using progressive resizing, and then finally create and submit predictions. This notebook also shows how to create a validation set that splits by patient, which is required to get meaningful validation results in this competition.</p>\n\n<p>I haven't had enough GPU hours to train this properly yet, but I'll be able to do that tomorrow. :)</p>\n\n<h3>PS</h3>\n\n<p>There's one more notebook you might be interested in. In the last notebook above I use fastai v2's new <em>Transform Pipeline</em> API for getting the data ready. Here's a notebook which explains how this API works: <a href=\"https://www.kaggle.com/jhoward/fastai-v2-pipeline-tutorial\">Tutorial: fastai v2 low level data APIs</a>.</p>",
  "messages": [
    {
      "id": 657185,
      "postDate": "2019-10-25T00:33:48.480Z",
      "content": "<p>I've created 5 connected notebooks for this competition, and there's quite a lot in them, so I figured it might be helpful to create a little overview post to help you understand the flow. Here are the notebooks, in order:</p>\n\n<ol>\n<li><a href=\"https://www.kaggle.com/jhoward/creating-a-metadata-dataframe-fastai\">Creating a metadata DataFrame</a></li>\n<li><a href=\"https://www.kaggle.com/jhoward/some-dicom-gotchas-to-be-aware-of-fastai\">Some DICOM gotchas to be aware of</a></li>\n<li><a href=\"https://www.kaggle.com/jhoward/don-t-see-like-a-radiologist-fastai\">DON'T see like a radiologist</a></li>\n<li><a href=\"https://www.kaggle.com/jhoward/cleaning-the-data-for-rapid-prototyping-fastai\">Cleaning the data for rapid prototyping</a></li>\n<li><a href=\"https://www.kaggle.com/jhoward/from-prototyping-to-submission-fastai\">From prototyping to submission</a></li>\n</ol>\n\n<p>Here's how they all fit together, and what they cover:</p>\n\n<h2>Creating a metadata DataFrame</h2>\n\n<p>DICOM files each contain metadata (patient ID, slice width, etc) within each separate file. This is not convenient to work with, since it's slow and complicated to query and summarize this metadata. Also, standard tools like Pandas don't work with data in this form.</p>\n\n<p>Therefore, I like to convert DICOM files metadata into a Pandas data frame as a first step. This is largely automated by simply running:</p>\n\n<p><code>python\ndf = pd.DataFrame.from_dicoms(...)\n</code></p>\n\n<p>In this notebook, we also convert the labels into a more convenient form. As a result, we can then work with a single combined data frame containing all the labels and metadata in one place. This is particularly helpful because in future notebooks I show how to save plain JPEG files, which are faster and smaller, but don't have the metadata. So we'll use a combination of the data frame and JPEGs for our modeling.</p>\n\n<h2>Some DICOM gotchas to be aware of</h2>\n\n<p>This notebook is something of a guided tour of how to analyze the metadata created in the last notebook. The metadata even includes pixel distribution summaries. These turn out to be helpful when I show how to identify the source of some unusual data, and how to fix it.</p>\n\n<p>This notebook also briefly shows various ways to actually look at the images themselves.</p>\n\n<h2>DON'T see like a radiologist</h2>\n\n<p>In this notebook I show the thinking behind the unique <code>hist_scaled</code> method in fastai. In doing so, I try to provide some answer to the question: do computers need to use windowing?</p>\n\n<p>Because <code>hist_scaled</code> requires normalization parameters, I also show how to construct sensible parameters for the dataset, and how to store and re-use these to ensure consistent results.</p>\n\n<h2>Cleaning the data for rapid prototyping</h2>\n\n<p>I find it helps a <em>lot</em> if I can iterate rapidly. So that means we need a small, fast, but usable dataset. In this notebook we create just such a \"prototyping sample\" dataset, covering the following steps:</p>\n\n<ol>\n<li>Fix images with incorrect RescaleIntercept</li>\n<li>Remove some images if they have little useful information (e.g. they don't actually contain brain tissue)</li>\n<li>Resample this dataset to 2/1 split of with/without hemorrhage, so we have a smaller dataset for quick prototyping</li>\n<li>Crop the images to just contain the brain, and save the size of the crop in case it's important</li>\n<li>Do histogram rescaling and then save JPEG 256x256 px images</li>\n</ol>\n\n<h2>From prototyping to submission</h2>\n\n<p>Finally, I show how to take that prototyping sample, train a few epochs on it rapidly, using progressive resizing, and then finally create and submit predictions. This notebook also shows how to create a validation set that splits by patient, which is required to get meaningful validation results in this competition.</p>\n\n<p>I haven't had enough GPU hours to train this properly yet, but I'll be able to do that tomorrow. :)</p>\n\n<h3>PS</h3>\n\n<p>There's one more notebook you might be interested in. In the last notebook above I use fastai v2's new <em>Transform Pipeline</em> API for getting the data ready. Here's a notebook which explains how this API works: <a href=\"https://www.kaggle.com/jhoward/fastai-v2-pipeline-tutorial\">Tutorial: fastai v2 low level data APIs</a>.</p>",
      "rawMarkdown": "I've created 5 connected notebooks for this competition, and there's quite a lot in them, so I figured it might be helpful to create a little overview post to help you understand the flow. Here are the notebooks, in order:\n\n1. [Creating a metadata DataFrame](https://www.kaggle.com/jhoward/creating-a-metadata-dataframe-fastai)\n1. [Some DICOM gotchas to be aware of](https://www.kaggle.com/jhoward/some-dicom-gotchas-to-be-aware-of-fastai)\n1. [DON'T see like a radiologist](https://www.kaggle.com/jhoward/don-t-see-like-a-radiologist-fastai)\n1. [Cleaning the data for rapid prototyping](https://www.kaggle.com/jhoward/cleaning-the-data-for-rapid-prototyping-fastai)\n1. [From prototyping to submission](https://www.kaggle.com/jhoward/from-prototyping-to-submission-fastai)\n\nHere's how they all fit together, and what they cover:\n\n## Creating a metadata DataFrame\n\nDICOM files each contain metadata (patient ID, slice width, etc) within each separate file. This is not convenient to work with, since it's slow and complicated to query and summarize this metadata. Also, standard tools like Pandas don't work with data in this form.\n\nTherefore, I like to convert DICOM files metadata into a Pandas data frame as a first step. This is largely automated by simply running:\n\n```python\ndf = pd.DataFrame.from_dicoms(...)\n```\n\nIn this notebook, we also convert the labels into a more convenient form. As a result, we can then work with a single combined data frame containing all the labels and metadata in one place. This is particularly helpful because in future notebooks I show how to save plain JPEG files, which are faster and smaller, but don't have the metadata. So we'll use a combination of the data frame and JPEGs for our modeling.\n\n## Some DICOM gotchas to be aware of\n\nThis notebook is something of a guided tour of how to analyze the metadata created in the last notebook. The metadata even includes pixel distribution summaries. These turn out to be helpful when I show how to identify the source of some unusual data, and how to fix it.\n\nThis notebook also briefly shows various ways to actually look at the images themselves.\n\n## DON'T see like a radiologist\n\nIn this notebook I show the thinking behind the unique `hist_scaled` method in fastai. In doing so, I try to provide some answer to the question: do computers need to use windowing?\n\nBecause `hist_scaled` requires normalization parameters, I also show how to construct sensible parameters for the dataset, and how to store and re-use these to ensure consistent results.\n\n## Cleaning the data for rapid prototyping\n\nI find it helps a *lot* if I can iterate rapidly. So that means we need a small, fast, but usable dataset. In this notebook we create just such a \"prototyping sample\" dataset, covering the following steps:\n\n1. Fix images with incorrect RescaleIntercept\n1. Remove some images if they have little useful information (e.g. they don't actually contain brain tissue)\n1. Resample this dataset to 2/1 split of with/without hemorrhage, so we have a smaller dataset for quick prototyping\n1. Crop the images to just contain the brain, and save the size of the crop in case it's important\n1. Do histogram rescaling and then save JPEG 256x256 px images\n\n## From prototyping to submission\n\nFinally, I show how to take that prototyping sample, train a few epochs on it rapidly, using progressive resizing, and then finally create and submit predictions. This notebook also shows how to create a validation set that splits by patient, which is required to get meaningful validation results in this competition.\n\nI haven't had enough GPU hours to train this properly yet, but I'll be able to do that tomorrow. :)\n\n### PS\n\nThere's one more notebook you might be interested in. In the last notebook above I use fastai v2's new *Transform Pipeline* API for getting the data ready. Here's a notebook which explains how this API works: [Tutorial: fastai v2 low level data APIs](https://www.kaggle.com/jhoward/fastai-v2-pipeline-tutorial).",
      "votes": 111
    },
    {
      "id": 659007,
      "postDate": "2019-10-26T23:00:43.323Z",
      "content": "<p>I just completed running this notebook to completion and submitted. It's getting a pretty reasonable result, especially considering it's just a resnet 50 and only one complete epoch is run (plus the sample pretraining). :)</p>\n\n<p>Hopefully it's a useful starting point for your experiements.</p>",
      "rawMarkdown": "I just completed running this notebook to completion and submitted. It's getting a pretty reasonable result, especially considering it's just a resnet 50 and only one complete epoch is run (plus the sample pretraining). :)\n\nHopefully it's a useful starting point for your experiements.",
      "votes": 6
    },
    {
      "id": 657402,
      "postDate": "2019-10-25T05:36:45.093Z",
      "content": "<p>Amazing Notebooks\nThanks for Sharing <a href=\"/jhoward\">@jhoward</a> </p>",
      "rawMarkdown": "\nAmazing Notebooks\nThanks for Sharing @jhoward ",
      "votes": 1
    },
    {
      "id": 2428804,
      "postDate": "2023-09-08T07:07:16.643Z",
      "content": "<p>Super useful notebooks 😃</p>\n<p>Thanks a lot for sharing <a href=\"https://www.kaggle.com/jhoward\" target=\"_blank\">@jhoward</a> !</p>",
      "rawMarkdown": "Super useful notebooks 😃\n\nThanks a lot for sharing @jhoward !"
    },
    {
      "id": 2213385,
      "postDate": "2023-04-07T14:42:13.830Z",
      "content": "<p>Amazing Notebooks<br>\nThanks for Sharing <a href=\"https://www.kaggle.com/jhoward\" target=\"_blank\">@jhoward</a></p>",
      "rawMarkdown": "Amazing Notebooks\nThanks for Sharing @jhoward"
    },
    {
      "id": 659204,
      "postDate": "2019-10-27T08:53:54.777Z",
      "content": "<p>hello everyone,\ncan you tell me how to download weights that i save locally on  my edited kaggle environment with commiting the kernel i am using 1.0.57 fastai and i am fairly new to it also filelink is not working (ipython)\nthanks\nand also can any one tell me how to do continue training in fastai\nthanks for reply</p>",
      "rawMarkdown": "hello everyone,\ncan you tell me how to download weights that i save locally on  my edited kaggle environment with commiting the kernel i am using 1.0.57 fastai and i am fairly new to it also filelink is not working (ipython)\nthanks\nand also can any one tell me how to do continue training in fastai\nthanks for reply",
      "replies": [
        {
          "id": 659338,
          "postDate": "2019-10-27T13:35:01.680Z",
          "content": "<p><code>learn.save(filename)</code> saves the weights. For help with fastai ask on the forums at <a href=\"https://forums.fast.ai\">https://forums.fast.ai</a></p>",
          "rawMarkdown": "`learn.save(filename)` saves the weights. For help with fastai ask on the forums at https://forums.fast.ai"
        }
      ]
    },
    {
      "id": 657419,
      "postDate": "2019-10-25T06:00:01.240Z",
      "content": "<p>Thanks for sharing - I am half way thru your beginner course - really excited about getting better at using fastai.   Have a fast model I am developing for the Clouds competition - IMO it's a really crappy data set as the truth is super noisy.  But I am liking what I am getting using fastai there.</p>\n\n<p>Going to stay away from V2 until I get V1 under my belt.  I do really love your stuff !!    Spending all my remaining time on Kaggle in the ASHRAE competition.  Plan to build a lglbm, catboost and fastai models.  Doing all my initial learning in catboost - I have two GPU on three of my four PC's - catboost uses GPU so sweet I may have hard time getting into the fastai model - I have had zero success so far trying to get both GPU running on any of the fastai lesson files.  </p>\n\n<p>So my Christmas wish - fastai V2 uses dual GPU with as little fuss as catboost.</p>\n\n<p>Anyway - keep up the good work - the world needs more AI thinkers like you.</p>",
      "rawMarkdown": "Thanks for sharing - I am half way thru your beginner course - really excited about getting better at using fastai.   Have a fast model I am developing for the Clouds competition - IMO it's a really crappy data set as the truth is super noisy.  But I am liking what I am getting using fastai there.\n\nGoing to stay away from V2 until I get V1 under my belt.  I do really love your stuff !!    Spending all my remaining time on Kaggle in the ASHRAE competition.  Plan to build a lglbm, catboost and fastai models.  Doing all my initial learning in catboost - I have two GPU on three of my four PC's - catboost uses GPU so sweet I may have hard time getting into the fastai model - I have had zero success so far trying to get both GPU running on any of the fastai lesson files.  \n\nSo my Christmas wish - fastai V2 uses dual GPU with as little fuss as catboost.\n\nAnyway - keep up the good work - the world needs more AI thinkers like you.\n                                                                                                                                                                                                                                                                                                                                                                                                                       "
    },
    {
      "id": 659250,
      "postDate": "2019-10-27T10:46:46.137Z",
      "content": "<p>Super! Thanks for sharing</p>",
      "rawMarkdown": "Super! Thanks for sharing"
    },
    {
      "id": 658186,
      "postDate": "2019-10-25T18:48:59.487Z",
      "content": "<p>Nice work! Thanks for sharing!</p>",
      "rawMarkdown": "Nice work! Thanks for sharing!"
    }
  ],
  "comments": [
    {
      "id": 659007,
      "author_name": "Jeremy Howard",
      "author_url": "",
      "post_date": "2019-10-26T23:00:43.323000",
      "content": "<p>I just completed running this notebook to completion and submitted. It's getting a pretty reasonable result, especially considering it's just a resnet 50 and only one complete epoch is run (plus the sample pretraining). :)</p>\n\n<p>Hopefully it's a useful starting point for your experiements.</p>",
      "votes": 6,
      "replies": []
    },
    {
      "id": 657402,
      "author_name": "Ailurophile",
      "author_url": "",
      "post_date": "2019-10-25T05:36:45.093000",
      "content": "<p>Amazing Notebooks\nThanks for Sharing <a href=\"/jhoward\">@jhoward</a> </p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 2428804,
      "author_name": "IgnacioRL",
      "author_url": "",
      "post_date": "2023-09-08T07:07:16.643000",
      "content": "<p>Super useful notebooks 😃</p>\n<p>Thanks a lot for sharing <a href=\"https://www.kaggle.com/jhoward\" target=\"_blank\">@jhoward</a> !</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 2213385,
      "author_name": "Tazria Helal",
      "author_url": "",
      "post_date": "2023-04-07T14:42:13.830000",
      "content": "<p>Amazing Notebooks<br>\nThanks for Sharing <a href=\"https://www.kaggle.com/jhoward\" target=\"_blank\">@jhoward</a></p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 659204,
      "author_name": "pranshu",
      "author_url": "",
      "post_date": "2019-10-27T08:53:54.777000",
      "content": "<p>hello everyone,\ncan you tell me how to download weights that i save locally on  my edited kaggle environment with commiting the kernel i am using 1.0.57 fastai and i am fairly new to it also filelink is not working (ipython)\nthanks\nand also can any one tell me how to do continue training in fastai\nthanks for reply</p>",
      "votes": 0,
      "replies": [
        {
          "id": 659338,
          "author_name": "Jeremy Howard",
          "author_url": "",
          "post_date": "2019-10-27T13:35:01.680000",
          "content": "<p><code>learn.save(filename)</code> saves the weights. For help with fastai ask on the forums at <a href=\"https://forums.fast.ai\">https://forums.fast.ai</a></p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 657419,
      "author_name": "PC Jimmmy",
      "author_url": "",
      "post_date": "2019-10-25T06:00:01.240000",
      "content": "<p>Thanks for sharing - I am half way thru your beginner course - really excited about getting better at using fastai.   Have a fast model I am developing for the Clouds competition - IMO it's a really crappy data set as the truth is super noisy.  But I am liking what I am getting using fastai there.</p>\n\n<p>Going to stay away from V2 until I get V1 under my belt.  I do really love your stuff !!    Spending all my remaining time on Kaggle in the ASHRAE competition.  Plan to build a lglbm, catboost and fastai models.  Doing all my initial learning in catboost - I have two GPU on three of my four PC's - catboost uses GPU so sweet I may have hard time getting into the fastai model - I have had zero success so far trying to get both GPU running on any of the fastai lesson files.  </p>\n\n<p>So my Christmas wish - fastai V2 uses dual GPU with as little fuss as catboost.</p>\n\n<p>Anyway - keep up the good work - the world needs more AI thinkers like you.</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 659250,
      "author_name": "Jean Claude de Villeres",
      "author_url": "",
      "post_date": "2019-10-27T10:46:46.137000",
      "content": "<p>Super! Thanks for sharing</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 658186,
      "author_name": "Agastya Kommanamanchi",
      "author_url": "",
      "post_date": "2019-10-25T18:48:59.487000",
      "content": "<p>Nice work! Thanks for sharing!</p>",
      "votes": 0,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "657185": "I've created 5 connected notebooks for this competition, and there's quite a lot in them, so I figured it might be helpful to create a little overview post to help you understand the flow. Here are the notebooks, in order:\n\n1. [Creating a metadata DataFrame](https://www.kaggle.com/jhoward/creating-a-metadata-dataframe-fastai)\n1. [Some DICOM gotchas to be aware of](https://www.kaggle.com/jhoward/some-dicom-gotchas-to-be-aware-of-fastai)\n1. [DON'T see like a radiologist](https://www.kaggle.com/jhoward/don-t-see-like-a-radiologist-fastai)\n1. [Cleaning the data for rapid prototyping](https://www.kaggle.com/jhoward/cleaning-the-data-for-rapid-prototyping-fastai)\n1. [From prototyping to submission](https://www.kaggle.com/jhoward/from-prototyping-to-submission-fastai)\n\nHere's how they all fit together, and what they cover:\n\n## Creating a metadata DataFrame\n\nDICOM files each contain metadata (patient ID, slice width, etc) within each separate file. This is not convenient to work with, since it's slow and complicated to query and summarize this metadata. Also, standard tools like Pandas don't work with data in this form.\n\nTherefore, I like to convert DICOM files metadata into a Pandas data frame as a first step. This is largely automated by simply running:\n\n```python\ndf = pd.DataFrame.from_dicoms(...)\n```\n\nIn this notebook, we also convert the labels into a more convenient form. As a result, we can then work with a single combined data frame containing all the labels and metadata in one place. This is particularly helpful because in future notebooks I show how to save plain JPEG files, which are faster and smaller, but don't have the metadata. So we'll use a combination of the data frame and JPEGs for our modeling.\n\n## Some DICOM gotchas to be aware of\n\nThis notebook is something of a guided tour of how to analyze the metadata created in the last notebook. The metadata even includes pixel distribution summaries. These turn out to be helpful when I show how to identify the source of some unusual data, and how to fix it.\n\nThis notebook also briefly shows various ways to actually look at the images themselves.\n\n## DON'T see like a radiologist\n\nIn this notebook I show the thinking behind the unique `hist_scaled` method in fastai. In doing so, I try to provide some answer to the question: do computers need to use windowing?\n\nBecause `hist_scaled` requires normalization parameters, I also show how to construct sensible parameters for the dataset, and how to store and re-use these to ensure consistent results.\n\n## Cleaning the data for rapid prototyping\n\nI find it helps a *lot* if I can iterate rapidly. So that means we need a small, fast, but usable dataset. In this notebook we create just such a \"prototyping sample\" dataset, covering the following steps:\n\n1. Fix images with incorrect RescaleIntercept\n1. Remove some images if they have little useful information (e.g. they don't actually contain brain tissue)\n1. Resample this dataset to 2/1 split of with/without hemorrhage, so we have a smaller dataset for quick prototyping\n1. Crop the images to just contain the brain, and save the size of the crop in case it's important\n1. Do histogram rescaling and then save JPEG 256x256 px images\n\n## From prototyping to submission\n\nFinally, I show how to take that prototyping sample, train a few epochs on it rapidly, using progressive resizing, and then finally create and submit predictions. This notebook also shows how to create a validation set that splits by patient, which is required to get meaningful validation results in this competition.\n\nI haven't had enough GPU hours to train this properly yet, but I'll be able to do that tomorrow. :)\n\n### PS\n\nThere's one more notebook you might be interested in. In the last notebook above I use fastai v2's new *Transform Pipeline* API for getting the data ready. Here's a notebook which explains how this API works: [Tutorial: fastai v2 low level data APIs](https://www.kaggle.com/jhoward/fastai-v2-pipeline-tutorial).",
    "659007": "I just completed running this notebook to completion and submitted. It's getting a pretty reasonable result, especially considering it's just a resnet 50 and only one complete epoch is run (plus the sample pretraining). :)\n\nHopefully it's a useful starting point for your experiements.",
    "657402": "\nAmazing Notebooks\nThanks for Sharing @jhoward ",
    "2428804": "Super useful notebooks 😃\n\nThanks a lot for sharing @jhoward !",
    "2213385": "Amazing Notebooks\nThanks for Sharing @jhoward",
    "659204": "hello everyone,\ncan you tell me how to download weights that i save locally on  my edited kaggle environment with commiting the kernel i am using 1.0.57 fastai and i am fairly new to it also filelink is not working (ipython)\nthanks\nand also can any one tell me how to do continue training in fastai\nthanks for reply",
    "657419": "Thanks for sharing - I am half way thru your beginner course - really excited about getting better at using fastai.   Have a fast model I am developing for the Clouds competition - IMO it's a really crappy data set as the truth is super noisy.  But I am liking what I am getting using fastai there.\n\nGoing to stay away from V2 until I get V1 under my belt.  I do really love your stuff !!    Spending all my remaining time on Kaggle in the ASHRAE competition.  Plan to build a lglbm, catboost and fastai models.  Doing all my initial learning in catboost - I have two GPU on three of my four PC's - catboost uses GPU so sweet I may have hard time getting into the fastai model - I have had zero success so far trying to get both GPU running on any of the fastai lesson files.  \n\nSo my Christmas wish - fastai V2 uses dual GPU with as little fuss as catboost.\n\nAnyway - keep up the good work - the world needs more AI thinkers like you.\n                                                                                                                                                                                                                                                                                                                                                                                                                       ",
    "659250": "Super! Thanks for sharing",
    "658186": "Nice work! Thanks for sharing!"
  }
}