From 8b437a13fd87cf33265ac480005b12c1e7d592a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9d=C3=A9ric=20Hurier=20=28Fmind=29?= Date: Thu, 25 Apr 2024 21:03:23 +0200 Subject: [PATCH] section 0 done --- docs/0. Overview/0.0. Course.md | 22 +++++++++++----------- docs/0. Overview/0.1. Projects.md | 12 ++++++------ docs/0. Overview/0.2. Datasets.md | 16 +++++++++------- docs/0. Overview/0.3. Platforms.md | 23 ++++++++++++++--------- docs/0. Overview/0.4. Mentoring.md | 8 ++++---- docs/0. Overview/0.5. Assistants.md | 8 ++++---- docs/0. Overview/0.6. Resources.md | 6 +++--- docs/0. Overview/index.md | 2 +- mkdocs.yml | 3 ++- pyproject.toml | 2 +- 10 files changed, 55 insertions(+), 47 deletions(-) diff --git a/docs/0. Overview/0.0. Course.md b/docs/0. Overview/0.0. Course.md index e62eedc..94dd6a9 100644 --- a/docs/0. Overview/0.0. Course.md +++ b/docs/0. Overview/0.0. Course.md @@ -4,7 +4,7 @@ Welcome to our comprehensive course designed to elevate your Python programming from basic notebooks to crafting a sophisticated, production-grade AI/ML codebase. Throughout this journey, you will learn: -- How to build and deploy production-worthy software artifacts. +- How to build and deploy production-grade software artifacts. - Transitioning from prototyping in notebooks to developing structured Python packages. - Enhancing code reliability and maintenance through linting and testing tools. - Streamlining repetitive tasks using automation, both locally and via CI/CD pipelines. @@ -12,9 +12,9 @@ Welcome to our comprehensive course designed to elevate your Python programming ## Is there a fee for this course? -We are delighted to offer this course at no cost, under the Creative Commons Attribution 4.0 International license. This means you can adapt, share, and even use the content for commercial purposes, provided you attribute the original authors. +We offer this course at no cost, under the [Creative Commons Attribution 4.0 International license](https://creativecommons.org/licenses/by/4.0/deed.en). This means you can adapt, share, and even use the content for commercial purposes, provided you attribute the original authors. -Additionally, for those seeking a deeper understanding, we provide extra support options, including personal mentoring sessions and access to online assistance. +Additionally, for those seeking a deeper understanding, we provide extra support options, including [personal mentoring sessions](./0.4. Mentoring.md) and access to [online assistance](./0.5. Assistants.md). ## Why enroll in this course? @@ -34,17 +34,17 @@ To get the most out of this course, you should have: The course is divided into six in-depth chapters, each focusing on different facets of coding and project management skills: -1. **Initialization**: Equip yourself with the necessary tools and platforms for your development environment. -2. **Prototyping**: Begin with notebooks to dive into data science projects and pinpoint viable solutions. -3. **Refactoring**: Transform your prototype into a neatly organized Python package, complete with scripts, configurations, and documentation. -4. **Validation**: Adopt practices like typing, linting, testing, and logging to refine code quality. -5. **Refinement**: Leverage advanced software development techniques and tools to polish your project. -6. **Collaboration**: Foster a productive team environment for effective contributions and communication. +1. **[Initializing](../../1. Initializing/)**: Equip yourself with the necessary tools and platforms for your development environment. +2. **[Prototyping](../../2. Prototyping/)**: Begin with notebooks to dive into data science projects and pinpoint viable solutions. +3. **[Refactoring](../../3. Refactoring/)**: Transform your prototype into a neatly organized Python package, complete with scripts, configurations, and documentation. +4. **[Validating](../../4. Validating/)**: Adopt practices like typing, linting, testing, and logging to refine code quality. +5. **[Refining](../../5. Refining/)**: Leverage advanced software development techniques and tools to polish your project. +6. **[Sharing](../../6. Sharing/)**: Foster a productive team environment for effective contributions and communication. ## What's beyond the scope of this course? -While this course provides a solid grounding in managing AI/ML projects, it does not delve into specific MLOps platforms like SageMaker, Vertex AI, Azure ML, or Databricks as online courses already cover these end-to-end platforms. Instead, this course focuses on core principles and practices that are universally applicable, whether you're working on-premise, cloud-based, or in a hybrid setting. +While this course provides a solid grounding in managing AI/ML projects, it does not delve into specific MLOps platforms like [SageMaker](https://aws.amazon.com/sagemaker/), [Vertex AI](https://cloud.google.com/vertex-ai/), [Azure ML](https://azure.microsoft.com/en-us/products/machine-learning), or [Databricks](https://www.databricks.com/) as vendor courses already cover these end-to-end platforms. Instead, this course focuses on core principles and practices that are universally applicable, whether you're working on-premise, cloud-based, or in a hybrid setting. ## How much time do you need to complete this course? -The time required to complete this course varies based on your prior experience and familiarity with the covered tools and practices. If you're already comfortable with tools like Git or VS Code, you may progress faster. The course philosophy encourages incremental improvement—"make it done, make it right, make it fast"—urging you to begin with a functional project version and steadily refine it for better quality and efficiency. \ No newline at end of file +The time required to complete this course varies based on your prior experience and familiarity with the covered tools and practices. If you're already comfortable with tools like [Git](https://git-scm.com/) or [VS Code](https://code.visualstudio.com/), you may progress faster. The course philosophy encourages incremental improvement following the "make it done, make it right, make it fast" mantra, encouraging you to begin with a functional project version and steadily refine it for better quality and efficiency. \ No newline at end of file diff --git a/docs/0. Overview/0.1. Projects.md b/docs/0. Overview/0.1. Projects.md index 9ad165c..1cc5acc 100644 --- a/docs/0. Overview/0.1. Projects.md +++ b/docs/0. Overview/0.1. Projects.md @@ -2,9 +2,9 @@ ## What is the default learning project? -The cornerstone project of this course involves a forecasting task using the Bike Sharing Dataset. The objective is to predict the number of bike rentals based on variables like date and time, weather conditions, and past rental data. +The cornerstone project of this course involves a forecasting task using the [Bike Sharing Demand dataset](https://www.kaggle.com/c/bike-sharing-demand). The objective is to predict the number of bike rentals based on variables like date and time, weather conditions, and past rental data. A [reference implementation](https://github.com/fmind/mlops-python-package) is provided to fallback on if needed. -Forecasting is a critical skill with wide-ranging applications in academia and industry, utilizing diverse machine learning techniques. This project introduces challenges such as managing data subsets to prevent data leakage, where future information could wrongly influence past predictions. Through tackling this project, you'll gain hands-on experience in structuring MLOps projects effectively, offering a solid foundation for your learning journey. +[Forecasting](https://en.wikipedia.org/wiki/Forecasting) is a critical skill with wide-ranging applications in academia and industry, utilizing diverse machine learning techniques. This project introduces challenges such as managing data subsets to prevent [data leakage](https://en.wikipedia.org/wiki/Leakage_(machine_learning)), where future information could wrongly influence past predictions. Through tackling this project, you'll gain hands-on experience in structuring MLOps projects effectively, offering a solid foundation for your learning journey. ## Is it possible to select a personal project instead? @@ -14,12 +14,12 @@ Absolutely! We encourage you to dive into a project that resonates with you pers Looking for inspiration? There are several online platforms offering data science challenges, complete with datasets and clearly defined objectives: -- **Kaggle**: A hub for data scientists worldwide, Kaggle provides the tools and community support needed to pursue your data science aspirations. -- **DrivenData**: Hosts competitions where data scientists can address significant societal challenges through innovative predictive modeling. -- **DataCamp**: Offers real-world data science competitions, allowing participants to hone their skills, win accolades, and present their solutions. +- **[Kaggle](https://www.kaggle.com/)**: A hub for data scientists worldwide, Kaggle provides the tools and community support needed to pursue your data science aspirations. +- **[DrivenData](https://www.drivendata.org/)**: Hosts competitions where data scientists can address significant societal challenges through innovative predictive modeling. +- **[DataCamp](https://www.datacamp.com/)**: Offers real-world data science competitions, allowing participants to hone their skills, win accolades, and present their solutions. ## Can you work on a Large Language Model (LLM) project? -Working on projects centered around Large Language Models (LLM) and generative AI does hold similarities with predictive ML projects, particularly in the areas of model management and code structuring. However, LLM projects also present distinct challenges. Evaluating LLMs can be more intricate, sometimes necessitating the use of external LLMs for thorough testing. Additionally, the training and fine-tuning of LLMs typically demand specific hardware, like high-memory GPUs, and adhere to different methodologies compared to conventional ML tasks. +Working on projects centered around [Large Language Models (LLM)](https://en.wikipedia.org/wiki/Large_language_model) and [Generative AI](https://en.wikipedia.org/wiki/Generative_artificial_intelligence) does hold similarities with predictive ML projects, particularly in the areas of model management and code structuring. However, LLM projects also present distinct challenges. Evaluating LLMs can be more intricate, sometimes necessitating the use of external LLMs for thorough testing. Additionally, the training and fine-tuning of LLMs typically demand specific hardware, like high-memory GPUs, and adhere to different methodologies compared to conventional ML tasks. Therefore, we recommend starting with a predictive ML project to get acquainted with fundamental MLOps practices. These core skills will then be easier to adapt and apply to LLM projects, easing the progression to these more specialized areas. \ No newline at end of file diff --git a/docs/0. Overview/0.2. Datasets.md b/docs/0. Overview/0.2. Datasets.md index ad9b49a..f683e89 100644 --- a/docs/0. Overview/0.2. Datasets.md +++ b/docs/0. Overview/0.2. Datasets.md @@ -2,18 +2,18 @@ ## What is a dataset? -A dataset is a meticulously organized collection of data, serving as the cornerstone for any AI or Machine Learning (ML) initiative. The structure of a dataset might vary, yet its pivotal role in shaping the scope, capabilities, and challenges of a project remains undisputed. Data preparation, involving substantial cleaning and exploration of raw data, often consumes the lion's share of a Machine Learning engineer's efforts, adhering to the adage that 80% of the work pertains to data processing, leaving only 20% for modeling. This preparation phase is crucial, setting the stage for the subsequent modeling efforts. +A [dataset](https://en.wikipedia.org/wiki/Data_set) is an organized collection of data, serving as the cornerstone for any AI or Machine Learning (ML) initiative. The structure of a dataset might vary, yet its pivotal role in shaping the scope, capabilities, and challenges of a project remains undisputed. Data preparation, involving substantial cleaning and exploration of raw data, often consumes the lion's share of a Machine Learning engineer's efforts, [adhering to the adage that 80% of the work pertains to data processing, leaving only 20% for modeling](https://www.kaggle.com/discussions/questions-and-answers/268748). Yet, this preparation phase is crucial, setting the stage for the subsequent modeling efforts. -**The impact of a dataset's quality and size on the outcomes of a model is profound, frequently surpassing the effects of model adjustments**. +**The impact of a dataset's quality and size on the outcomes of a model is profound, frequently surpassing the effects of model adjustments. This impact is embedded into the ["Garbage in, garbage out"](https://en.wikipedia.org/wiki/Garbage_in,_garbage_out) concept related to data science projects.** ## When is the dataset used? Datasets are integral throughout the AI/ML project lifecycle, playing pivotal roles in various stages: -- **Exploration**: This phase involves delving into the dataset to unearth insights, study variable relationships, and discern patterns that could influence future predictions. -- **Data Processing**: At this stage, the focus is on crafting features that encapsulate the predictive essence of the data and on partitioning the dataset effectively to gear up for the modeling phase. -- **Model Tuning**: Here, the objective is to refine the model's hyperparameters through strategies like cross-validation to bolster the model's generalization capability. -- **Model Evaluation**: This final step entails evaluating the model's performance on unseen data and identifying areas for potential improvement. +- **[Exploration](https://en.wikipedia.org/wiki/Data_exploration)**: This phase involves delving into the dataset to find insights, study variable relationships, and discern patterns that could influence future predictions. +- **[Data Processing](https://en.wikipedia.org/wiki/Data_processing)**: At this stage, the focus is on crafting features that encapsulate the predictive essence of the data and on partitioning the dataset effectively to gear up for the modeling phase. +- **[Model Tuning](https://en.wikipedia.org/wiki/Hyperparameter_optimization)**: Here, the objective is to refine the model's hyperparameters through strategies like cross-validation to bolster the model's generalization capability. +- **[Model Evaluation](https://en.wikipedia.org/wiki/Evaluation)**: This final step entails evaluating the model's performance on unseen data and identifying areas for potential improvement. ## What are the types of datasets? @@ -41,4 +41,6 @@ Positioned between structured and unstructured data, semi-structured data does n ## Which dataset should you use? -The decision on which dataset to use often boils down to a balance between familiarity and exploration of new data. A simple rule of thumb is to opt for the dataset you are most acquainted with. Regardless of the diversity in data types and applications, the core principles of MLOps are applicable across various domains. Therefore, starting with a well-understood dataset allows you to concentrate on honing your MLOps skills rather than untangling the complexities of an unfamiliar dataset. \ No newline at end of file +The decision on which dataset to use often boils down to a balance between familiarity and exploration of new data. A simple rule of thumb is to opt for the dataset you are most acquainted with. Regardless of the diversity in data types and applications, the core principles of MLOps are applicable across various domains. Therefore, starting with a well-understood dataset allows you to concentrate on honing your MLOps skills rather than untangling the complexities of an unfamiliar dataset. + +As mentioned in the [previous section](./0.1. Projects.md), the course uses the [Bike Sharing Demand dataset](https://www.kaggle.com/c/bike-sharing-demand/data) dataset by default. You are free to use any other datasets, either for personal or professional purposes. \ No newline at end of file diff --git a/docs/0. Overview/0.3. Platforms.md b/docs/0. Overview/0.3. Platforms.md index f270056..f64ebb4 100644 --- a/docs/0. Overview/0.3. Platforms.md +++ b/docs/0. Overview/0.3. Platforms.md @@ -2,14 +2,19 @@ ## What is an MLOps platform? -An MLOps platform is a comprehensive toolkit designed to facilitate the deployment, management, and operational efficiency of AI and Machine Learning (ML) projects in production environments. Essential components of an MLOps platform typically can encompass: +An [MLOps platform](https://aws.amazon.com/what-is/mlops/) is a comprehensive toolkit designed to facilitate the deployment, management, and operational efficiency of AI and Machine Learning (ML) projects in production environments. Essential components of an MLOps platform typically can encompass: -- **Storage Systems**: These are solutions like Amazon S3 or Google Cloud Storage that provide a secure space for storing datasets, models, and other essential artifacts. -- **Compute Engines**: Services such as Kubernetes or Databricks deliver the necessary computational power for training models and executing predictions. -- **Orchestrators**: Automation tools, including Apache Airflow, Metaflow, or Prefect, that streamline and manage workflows and data pipelines efficiently. -- **Model Registries**: Platforms such as MLflow, Neptune.ai, or Weights and Biases that offer functionalities for tracking, versioning, and managing models. +
+ ![CI/CD and automated ML pipeline.](https://cloud.google.com/static/architecture/images/mlops-continuous-delivery-and-automation-pipelines-in-machine-learning-4-ml-automation-ci-cd.svg) +
CI/CD and automated ML pipeline (source).
+
-The complexity and scale of an MLOps platform can greatly differ based on an organization's specific needs and the requirements of individual projects. While smaller teams might lean towards open-source options like MLflow for model lifecycle management and Airflow for orchestration due to their cost-effectiveness and versatility, larger enterprises may prefer comprehensive, fully-managed solutions such as Databricks or AWS SageMaker to accommodate extensive AI/ML deployments. +- **Storage Systems**: These are solutions like [Amazon S3](https://aws.amazon.com/s3/) or [Google Cloud Storage](https://cloud.google.com/storage) that provide a secure space for storing datasets, models, and other essential artifacts. +- **Compute Engines**: Services such as [Kubernetes](https://kubernetes.io/) or [Databricks](https://databricks.com/) deliver the necessary computational power for training models and executing predictions. +- **Orchestrators**: Automation tools, including [Apache Airflow](https://airflow.apache.org/), [Metaflow](https://metaflow.org/), or [Prefect](https://www.prefect.io/), that streamline and manage workflows and data pipelines efficiently. +- **Model Registries**: Platforms such as [MLflow](https://mlflow.org/), [Neptune.ai](https://neptune.ai/), or [Weights and Biases](https://wandb.ai/site) that offer functionalities for tracking, versioning, and managing models. + +The complexity and scale of an MLOps platform can greatly differ based on an organization's specific needs and the requirements of individual projects. While smaller teams might lean towards open-source options like [MLflow](https://mlflow.org/) for model lifecycle management and [Airflow for orchestration](https://airflow.apache.org/) due to their cost-effectiveness and versatility, larger enterprises may prefer comprehensive, fully-managed solutions such as [Databricks](https://databricks.com) or [AWS SageMaker](https://aws.amazon.com/sagemaker/) to accommodate extensive AI/ML deployments. ## Which MLOps platform is the best? @@ -27,8 +32,8 @@ Market offerings frequently highlight the ease and simplicity of their MLOps pla ## Is an MLOps platform required for this course? -Intentionally designed to be platform-agnostic, this course empowers you to apply its principles within any technological ecosystem you choose. Whether you're working with specific environment management systems, leveraging various libraries, or adapting to the workflow methodologies of tools like GitLab or Azure DevOps, the course material is versatile and can be tailored to align with your organization's preferences. +Intentionally designed to be platform-agnostic, this course empowers you to apply its principles within any technological ecosystem you choose. Whether you're working with specific environment management systems, leveraging various libraries, or adapting to the workflow methodologies of tools like [GitLab](https://about.gitlab.com/) or [Azure DevOps](https://azure.microsoft.com/en-us/products/devops), the course material is versatile and can be tailored to align with your organization's preferences. -## How does this course prepare me for using an MLOps platform? +## How does this course prepare you for using an MLOps platform? -Given the variety of artifacts MLOps platforms support—from Jupyter notebooks to stand-alone scripts and Python packages—adopting Python packages is advocated for its robustness and maintainability. This course provides you with the essential skills to seamlessly integrate such packages within the Python ecosystem. It covers the use of testing tools like pytest and coverage, and package management via repositories like PyPI or Docker Hub. Armed with this knowledge, you can confidently tackle other pivotal aspects of your projects, such as data and model management and orchestration, knowing your codebase is solid and dependable. \ No newline at end of file +Given the variety of artifacts MLOps platforms support, from Jupyter notebooks to Python packages, adopting Python packages is advocated for its robustness and maintainability. This course provides you with the essential skills to seamlessly integrate such packages within the Python ecosystem. It covers the use of testing tools like [pytest](https://docs.pytest.org/) and [coverage](https://coverage.readthedocs.io/), and package management via repositories like [PyPI](https://pypi.org/) or [Docker Hub](https://hub.docker.com/). Armed with this knowledge, you can confidently tackle other pivotal aspects of your projects, such as data and model management and orchestration, knowing your codebase is solid and dependable. \ No newline at end of file diff --git a/docs/0. Overview/0.4. Mentoring.md b/docs/0. Overview/0.4. Mentoring.md index e9fab6a..3e0c7f5 100644 --- a/docs/0. Overview/0.4. Mentoring.md +++ b/docs/0. Overview/0.4. Mentoring.md @@ -2,7 +2,7 @@ ## Can you receive mentoring during this course? -Mentoring forms a fundamental aspect of this course, provided directly by its originators, Médéric HURIER and Matthieu Jimenez. These mentors come equipped with extensive experience in the educational field. The mentoring program is flexible, catering to both individual learners and groups. You can tailor the frequency of mentorship sessions to match your preferences, from weekly engagements to several sessions per month. +Mentoring forms a fundamental aspect of this course, provided directly by its originators, [Médéric HURIER](https://www.fmind.dev/) and [Matthieu Jimenez](https://website.jimenez.lu/). These mentors come equipped with extensive experience in the educational field. The mentoring program is flexible, catering to both individual learners and groups. You can tailor the frequency of mentorship sessions to match your preferences, from weekly engagements to several sessions per month. ## What are the benefits of having a mentor? @@ -12,14 +12,14 @@ Mentors also play a pivotal role in motivation. The discipline and persistence r ## How much does mentoring cost? -The pricing for mentorship varies, depending on the size of the participant group and the duration of the sessions. To obtain a personalized quote, it’s best to contact the course creators directly. +The pricing for mentorship varies, depending on the size of the participant group and the duration of the sessions. To obtain a personalized quote, it’s best to contact the [course creators](https://fmind.dev) directly. ## Is company training available? -Company-specific training sessions are offered, designed to meet the unique needs of your organization. For a tailored training proposal, please reach out through the course’s main contact channel. +Company-specific training sessions are offered, designed to meet the unique needs of your organization. For a tailored training proposal, please reach out through the [course’s main contact channel](https://fmind.dev). ## Can you offer mentoring services using this course? You are more than welcome to leverage this course as a foundation for offering your own mentoring services. The course is designed with open-source principles in mind, aiming for broad accessibility. -However, if you opt to use this course material in your mentoring services, it’s imperative to properly acknowledge Médéric HURIER and Matthieu Jimenez as the original authors. Such attribution not only honors the intellectual property rights of the creators but also preserves the educational integrity of the course. \ No newline at end of file +However, if you opt to use this course material in your mentoring services, it’s imperative to properly acknowledge [Médéric HURIER](https://www.fmind.dev/) and [Matthieu Jimenez](https://website.jimenez.lu/) as the original authors. Such attribution not only honors the intellectual property rights of the creators but also preserves the educational integrity of the course. \ No newline at end of file diff --git a/docs/0. Overview/0.5. Assistants.md b/docs/0. Overview/0.5. Assistants.md index 4ee695e..4baae7e 100644 --- a/docs/0. Overview/0.5. Assistants.md +++ b/docs/0. Overview/0.5. Assistants.md @@ -1,14 +1,14 @@ # 0.5. Assistants -## What is the course assistant? +**WORK IN PROGRESS** -Included in this course is an OpenAI GPT-based assistant, specifically configured to support your learning journey by answering queries and tailoring the course content to your needs. This assistant functions similarly to ChatGPT but is uniquely customized to engage with the topics and materials of this course. +## What is the course assistant? -Please be aware that accessing this assistant is part of a subscription to ChatGPT services, which is priced at around $20 per month. +Included in this course is a Generative AI assistant, specifically configured to support your learning journey by answering queries and tailoring the course content to your needs. This assistant functions similarly to ChatGPT but is uniquely customized to engage with the topics and materials of this course. ## How does this assistant work? -The assistant utilizes OpenAI's GPT technology to offer real-time support and customized feedback. Upon receiving a query or request for assistance, it applies sophisticated natural language understanding to interpret your input accurately. It then consults its comprehensive database to fetch relevant information or examples, aiming to deliver the most precise and useful responses. +The assistant utilizes [OpenAI's GPT technology](https://openai.com/blog/introducing-gpts) to offer real-time support and customized feedback. Upon receiving a query or request for assistance, it applies sophisticated natural language understanding to interpret your input accurately. It then consults its comprehensive database to fetch relevant information or examples, aiming to deliver the most precise and useful responses. This tool is consistently updated to reflect the latest developments in AI and machine learning, ensuring it remains an effective resource throughout your MLOps educational journey. Whether you need further explanation on a topic, examples of MLOps applications, or feedback on your code, this assistant is prepared to assist. diff --git a/docs/0. Overview/0.6. Resources.md b/docs/0. Overview/0.6. Resources.md index eb4cf6e..5f74c24 100644 --- a/docs/0. Overview/0.6. Resources.md +++ b/docs/0. Overview/0.6. Resources.md @@ -2,12 +2,12 @@ ## Is there additional project resources? -This course is supplemented with a variety of resources aimed at enriching your MLOps learning journey. A key resource is the MLOps Python Package, designed to exemplify how to structure an MLOps codebase efficiently. This package incorporates the dataset featured in the course, providing a holistic view of what your end project could resemble. +This course is supplemented with a variety of resources aimed at enriching your MLOps learning journey. A key resource is the **[MLOps Python Package](https://github.com/fmind/mlops-python-package)**, designed to exemplify how to structure an MLOps codebase efficiently. This package incorporates the dataset featured in the course, providing a holistic view of what your end project could resemble. -For those seeking to deepen their knowledge in specific areas, the course creators have also contributed insights through personal blog posts. These articles explore subjects like setting up Visual Studio Code for MLOps activities or employing Pydantic for robust data validation. Such resources offer invaluable insights and actionable advice to enhance your understanding and skills. +For those seeking to deepen their knowledge in specific areas, the course creators have also contributed insights through [personal blog posts](https://fmind.medium.com/). These articles explore subjects like setting up [Visual Studio Code for MLOps activities](https://fmind.medium.com/how-to-configure-vs-code-for-ai-ml-and-mlops-development-in-python-%EF%B8%8F%EF%B8%8F-8582d8c6ea54) or [employing Pydantic for robust data validation](https://fmind.medium.com/make-your-mlops-code-base-solid-with-pydantic-and-pythons-abc-aeedfe9c3e65). Such resources offer additional insights and actionable advice to enhance your understanding and skills. ## Can you suggest a new project resource? The course adheres to an open-source ethos, warmly welcoming contributions that augment the educational value for all participants. Whether you've discovered an essential tool, library, or piece of literature that aligns with the course's aims, or you've developed your resources inspired by your coursework and are keen to share them, your contributions are greatly valued. -To propose a new project resource, please forward your suggestions to the course's repository. Your contributions not only aid your peers in their learning process but also play a crucial role in the continuous improvement and updating of the course materials to mirror the evolving landscape of MLOps best practices and innovations. \ No newline at end of file +To propose a new project resource, please forward your suggestions to the course's repository and [create an issue on GitHub](https://github.com/MLOps-University/mlops-coding-course/issues). Your contributions not only aid your peers in their learning process but also play a crucial role in the continuous improvement and updating of the course materials to mirror the evolving landscape of MLOps best practices and innovations. \ No newline at end of file diff --git a/docs/0. Overview/index.md b/docs/0. Overview/index.md index 9fd4bcc..0bf6721 100644 --- a/docs/0. Overview/index.md +++ b/docs/0. Overview/index.md @@ -9,5 +9,5 @@ In this overview, we'll guide you through the various components that make up th - **[0.2. Datasets](./0.2. Datasets.md)**: Offers a comprehensive look at various types of datasets, their importance throughout the AI/ML project lifecycle, and guidance on selecting the most suitable datasets. - **[0.3. Platforms](./0.3. Platforms.md)**: Discusses how to choose an MLOps platform that best fits organizational needs, highlighting the course's agnostic approach to specific platforms. - **[0.4. Mentoring](./0.4. Mentoring.md)**: Details the mentoring services provided by the course creators, emphasizing the benefits of personalized advice and support. -- **[0.5. Assistants](./0.5. Assistants.md)**: Introduces the specialized OpenAI GPT-based assistant tailored for this course, including tips on leveraging it effectively. +- **[0.5. Assistants](./0.5. Assistants.md)**: Introduces the specialized online assistant tailored for this course, including tips on leveraging it effectively. - **[0.6. Resources](./0.6. Resources.md)**: Clarifies the extra resources available to enhance the course content and explains how participants can contribute to the course's open-source materials. \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 2303e6d..3af8963 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -18,7 +18,7 @@ theme: name: material # favicon: images/favicon.ico palette: - primary: indigo + primary: blue-grey accent: blue scheme: default @@ -36,6 +36,7 @@ extra: # Extensions markdown_extensions: + - md_in_html - pymdownx.superfences: custom_fences: - name: mermaid diff --git a/pyproject.toml b/pyproject.toml index c437456..695b34f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ [tool.poetry] name = "mlops-coding-course" -version = "0.0.1" +version = "0.0.2" description = "Learn how to create, develop, and maintain an MLOps code base." package-mode = false repository = "https://github.com/MLOps-University/mlops-coding-course"