From 278743dc3d8c1622ff4717a060beb1f6ec885a83 Mon Sep 17 00:00:00 2001 From: mrdbourke Date: Sat, 13 Apr 2024 09:15:49 +1000 Subject: [PATCH] update docs and dog vision v2 --- docs/index.md | 2 +- mkdocs.yml | 2 +- .../end-to-end-dog-vision-v2.ipynb | 36 +++++++++---------- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/docs/index.md b/docs/index.md index 21a005b1d..9c3f85f50 100644 --- a/docs/index.md +++ b/docs/index.md @@ -15,4 +15,4 @@ Best, [Daniel Bourke](https://www.mrdbourke.com) -Last update: 04 April 2024 \ No newline at end of file +Last update: 13 April 2024 \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 28941ce6e..d4d8e1020 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -11,7 +11,7 @@ nav: - Introduction to pandas: "introduction-to-pandas.ipynb" - Introduction to Matplotlib: "introduction-to-matplotlib.ipynb" - Introduction to Scikit-Learn: "introduction-to-scikit-learn.ipynb" - - Introduction to TensorFlow: "end-to-end-dog-vision-v2.ipynb" + - Introduction to TensorFlow, Deep Learning and Transfer Learning: "end-to-end-dog-vision-v2.ipynb" - Communicating your work: "communicating-your-work.md" plugins: diff --git a/section-4-unstructured-data-projects/end-to-end-dog-vision-v2.ipynb b/section-4-unstructured-data-projects/end-to-end-dog-vision-v2.ipynb index cc175fcb4..b68c4892e 100644 --- a/section-4-unstructured-data-projects/end-to-end-dog-vision-v2.ipynb +++ b/section-4-unstructured-data-projects/end-to-end-dog-vision-v2.ipynb @@ -160,11 +160,11 @@ "\n", "Most of the modern forms of artifical intelligence (AI) applications you see, are powered by deep learning.\n", "\n", - "Two of main types of AI are predictive and generative.\n", + "Two of the most useful types of AI are predictive and generative.\n", "\n", - "Predictive AI learns the relationship between data and labels such as photos of dog and their breeds.\n", + "Predictive AI learns the relationship between data and labels such as photos of dog and their breeds ([supervised learning](https://en.wikipedia.org/wiki/Supervised_learning)). So that when it sees a new photo of a dog, it can predict its breed based on what its learned.\n", "\n", - "Generative AI generates something new given an input such as creating new text given input text.\n", + "[Generative AI](https://en.wikipedia.org/wiki/Generative_artificial_intelligence) generates something new given an input such as creating new text given input text. \n", "\n", "Some examples of Predictive AI problems include:\n", "* Tesla's [self-driving cars use deep learning](https://www.tesla.com/AI) use object detection models to power their computer vision systems.\n", @@ -220,7 +220,7 @@ "id": "Mr8xFrmA0qeG" }, "source": [ - "## Getting setup\n", + "## 1. Getting setup\n", "\n", "This notebook is designed to run in [Google Colab](https://colab.research.google.com/), an online Jupyter Notebook that provides free access to GPUs (Graphics Processing Units, we'll hear more on these later).\n", "\n", @@ -338,7 +338,7 @@ "id": "PDvfRmUqx0C5" }, "source": [ - "## Getting Data\n", + "## 2. Getting Data\n", "\n", "All machine learning (and deep learning) projects start with data.\n", "\n", @@ -687,7 +687,7 @@ "id": "3fRbMSbBU67C" }, "source": [ - "## Exploring the data\n", + "## 3. Exploring the data\n", "\n", "Once you've got a dataset, before building a model, it's wise to explore it for a bit to see what kind of data you're working with.\n", "\n", @@ -1398,7 +1398,7 @@ "id": "MKFFgTxdaq9l" }, "source": [ - "## Exploring the Images folder\n", + "### Exploring the Images folder\n", "\n", "We've explored the `Annotations` folder, now let's check out our `Images` folder.\n", "\n", @@ -2851,7 +2851,7 @@ "id": "WYwlNwfjdMEp" }, "source": [ - "## TK - Creating training and test data split directories\n", + "## TK - 4. Creating training and test data split directories\n", "\n", "After exploring the data, one of the next best things you can do is create experimental data splits.\n", "\n", @@ -3966,7 +3966,7 @@ "id": "TUlSbEnIh-PO" }, "source": [ - "## TK - Turning datasets into TensorFlow Dataset(s)\n", + "## TK - 5. Turning datasets into TensorFlow Dataset(s)\n", "\n", "Alright, we've spent a bunch of time getting our dog images into different folders.\n", "\n", @@ -4587,7 +4587,7 @@ "id": "teWeV33en5Cq" }, "source": [ - "## TK - Creating a neural network with TensorFlow\n", + "## TK - 6. Creating a neural network with TensorFlow\n", "\n", "We've spent lots of time preparing the data.\n", "\n", @@ -7581,7 +7581,7 @@ "id": "QVPLT6dsvXvN" }, "source": [ - "## TK - Model 0 - Train a model on 10% of the training data\n", + "## TK - 7. Model 0 - Train a model on 10% of the training data\n", "\n", "We've seen our model make a couple of predictions on our data.\n", "\n", @@ -8123,7 +8123,7 @@ "id": "YdDhrasey9QX" }, "source": [ - "## TK - Putting it all together: create, compile, fit\n", + "## TK - 8. Putting it all together: create, compile, fit\n", "\n", "Let's practice what we've done so far to train our first neural network.\n", "\n", @@ -8508,7 +8508,7 @@ "id": "Ycprd6gfi7_I" }, "source": [ - "## TK - Model 1 - Train a model on 100% of the training data\n", + "## TK - 9. Model 1 - Train a model on 100% of the training data\n", "\n", "Time to step it up a notch!\n", "\n", @@ -8703,7 +8703,7 @@ "id": "4_6cy_dQTxeY" }, "source": [ - "## TK - Make and evaluate predictions of the best model\n", + "## TK - 10. Make and evaluate predictions of the best model\n", "\n", "Now we've trained a model, it's time to make predictions with it!\n", "\n", @@ -9023,7 +9023,7 @@ "id": "nJmQ9KFhzcda" }, "source": [ - "## TK - Visualizing predictions from our best trained model\n", + "### TK - Visualizing predictions from our best trained model\n", "\n", "We could sit there looking at single image predictions of dogs all day.\n", "\n", @@ -10728,7 +10728,7 @@ "id": "dXOCxxOJPeDL" }, "source": [ - "## TK - Save and load the best model\n", + "## TK - 11. Save and load the best model\n", "\n", "We've covered a lot of ground from loading data to training and evaluating a model.\n", "\n", @@ -10856,7 +10856,7 @@ "id": "dkW_gkAmQUJB" }, "source": [ - "## TK - Make predictions on custom images with the best model\n", + "## TK - 12. Make predictions on custom images with the best model\n", "\n", "Now what fun would it be if we only made predictions on the test dataset?\n", "\n", @@ -11546,7 +11546,7 @@ "id": "BXhsZtsUiF3J" }, "source": [ - "## TK - Key Takeaways\n", + "## TK - 13. Key Takeaways\n", "\n", "* **Data, data, data!** In any machine learning problem, getting a dataset and preparing it so that it is in a usable format will likely be the first and often most important step (hence why we spent so much time getting the data ready). It will also be an ongoing process, as although we've worked with thousands of dog images, our models could still be improved. And as we saw going from training with 10% of the data to 100% of the data, one of the best ways to improve a model is with more data. Explore your data early and often.\n", "* **When starting out, use transfer learning where possible.** For most new problems, you should generally look to see if a pretrained model exists and see if you can adapt it to your use case. Ask yourself: What format is my data in? What are my ideal inputs and outputs? Is there a pretrained model for my use case?\n",