{"id":2422,"date":"2021-08-05T13:30:46","date_gmt":"2021-08-05T21:30:46","guid":{"rendered":"https:\/\/live-cometml.pantheonsite.io\/blog\/debugging-your-machine-learning-models-with-comet-artifacts\/"},"modified":"2021-08-05T13:30:46","modified_gmt":"2021-08-05T21:30:46","slug":"debugging-your-machine-learning-models-with-comet-artifacts","status":"publish","type":"post","link":"https:\/\/www.comet.com\/site\/blog\/debugging-your-machine-learning-models-with-comet-artifacts\/","title":{"rendered":"Debugging Your Machine Learning Models with Comet Artifacts"},"content":{"rendered":"\n<p>In this post, we\u2019ll introduce <a href=\"https:\/\/www.comet.com\/site\/artifacts\/?utm_campaign=artifacts-storytelling&amp;utm_source=blog&amp;utm_medium=intro\">Comet Artifacts<\/a>, a new tool that provides Machine Learning teams with a convenient way to log, version, browse, and access data from all parts of their experimentation pipelines.<\/p>\n\n\n\n<p>This post is divided into four sections:\u00a0<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Challenge &#8211; We present the issues that PetCam, a fictional company, is having while trying to build a Pet Detection model.<\/li>\n<li>An Introduction to Artifacts as a Solution to PetCam&#8217;s problems<\/li>\n<li>Step-By-Step Guide: How PetCam can use Artifacts to debug their model<\/li>\n<li>Summary Discussion<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">You can try out the code for this example in this <a href=\"https:\/\/colab.research.google.com\/drive\/1eOL6mJGzM7F1hPd3Wu4VsLZp8SjMrLbp?usp=sharing\">Colab Notebook<\/a>.<\/h3>\n\n\n\n<h2 class=\"wp-block-heading\">1. The Challenge<\/h2>\n\n\n\n<p><em>PetCam is looking to build an app that identifies pets in photos. They build a\u00a0 classification model and tune a bunch of different hyperparameters, but are unable to meet their accuracy requirements.\u00a0<\/em><\/p>\n\n\n\n<p><em>To determine the root cause of this performance issue, PetCam creates a derivative dataset of the images that were difficult for all existing model versions.\u00a0<\/em><\/p>\n\n\n\n<p><em>How can PetCam iterate on both models and the derived datasets created by the models, in a way that\u2019s reproducible and managed without losing track of their work?<\/em><\/p>\n\n\n\n<p>In this scenario, we may want to track and reproduce the lineage of experiments, models, and datasets that are created iteratively over time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Artifacts as a Solution<\/h2>\n\n\n\n<p>We\u2019ve built Comet Artifacts to help Machine Learning teams solve the challenges like the one outlined above\u2014iterating on datasets and tracking pipelines in which data generated from one experiment is fed into another experiment.\u00a0<\/p>\n\n\n\n<p>This need to track the datasets used or created by an experiment or model arises frequently. In many cases, ML teams must:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Reuse data produced by intermediate or exploratory steps in their experimentation pipeline, and allow it to be tracked, versioned, consumed, and analyzed in a managed way\u00a0<\/li>\n<li>Track and reproduce complex multi-experiment scenarios, where the output of one model would be used in the input of another experiment<\/li>\n<li>Iterate on your datasets over time, track which model used which version of the dataset, and schedule model re-training<\/li>\n<\/ul>\n\n\n\n<p>Comet Artifacts enable us to more effectively and efficiently execute all of these tasks\u2014we\u2019ll explore how in the detailed guide in the section below.<\/p>\n\n\n\n<p>But before we jump into the example, let\u2019s start with a definition of an Artifact and an Artifact Version<\/p>\n\n\n\n<p><em>An Artifact Version is a snapshot of files &amp; assets, arranged in a folder-like logical structure. This snapshot can be tracked using metadata, a version number, tags and aliases. A Version tracks which experiments consumed it, and which experiment produced it.<\/em><\/p>\n\n\n\n<p><em>An Artifact is a collection of Artifact Versions. Each artifact has a name, description, tags, and metadata.<\/em><\/p>\n\n\n\n<p>With this important context covered, let\u2019s jump right in and put Comet Artifacts to the test!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. A Guide to Getting Started With Artifacts<\/h2>\n\n\n\n<p>Let\u2019s return to the PetCam&#8217;s use case. Despite trying many configurations, the team hasn\u2019t been able to build a model that achieves a suitable accuracy. In order to debug this, we\u2019d like to isolate the set of examples that all model configurations are struggling with. This \u201cdifficult\u201d dataset can then be used to inform future design decisions about the model. <br \/><br \/>Normally, we\u2019d have to save the predictions made from each model, and then run an analysis script to isolate the examples. This works well if we only want to do this once. But what happens if we want to try a new method for selecting the difficult examples? Or rerun this workflow with an updated model design and compare the difficult samples across runs? <br \/><br \/>The iterative nature of ML makes it necessary to compare workflows and data over time. Manually attempting to track this quickly becomes a significant pain point.\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/p>\n\n\n\n<p>For this example, we\u2019ll build a pipeline to train and evaluate our pet classification model on the <a href=\"https:\/\/www.robots.ox.ac.uk\/~vgg\/data\/pets\/\">Oxford IIIT Pets Dataset<\/a>, leveraging Comet Artifacts to better track, analyze, and reuse our data. To do this, we will:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fetch the raw data and apply some simple preprocessing<\/li>\n<li>Create an Artifact to track the data with Comet<\/li>\n<li>Train a model and log it as an Artifact<\/li>\n<li>Log test data prediction results as an Artifact in Comet<\/li>\n<li>Isolate \u201cdifficult\u201d samples in the test dataset<\/li>\n<li>Look at these examples and identify next steps<\/li>\n<\/ul>\n\n\n\n<p>Let\u2019s get started!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Data Preparation and Preprocessing<\/h3>\n\n\n\n<p>The first thing we\u2019re going to do is download the raw data, create an Artifact to track it, and the log the Artifact to Comet.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><a href=\"https:\/\/colab.research.google.com\/drive\/1eOL6mJGzM7F1hPd3Wu4VsLZp8SjMrLbp?authuser=1#scrollTo=VXxxBeEEI6ov\">Follow along in this Colab Notebook<\/a><\/p>\n<\/blockquote>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" class=\"wp-image-5605\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/Screen-Shot-2021-07-21-at-6.14.16-PM-1024x287-1.png\" alt=\"\" \/><\/figure>\n<\/div>\n\n\n\n<p class=\"has-text-align-center\"><a href=\"https:\/\/www.comet.com\/comet-artifacts#artifacts\"><em>Artifacts are available across your Workspace<\/em><\/a><\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<p>Artifacts are available across your workspace. This means that you can reuse the data across your projects and experiments.<\/p>\n\n\n\n<p>Let&#8217;s take a look at the raw data that we uploaded:<\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" class=\"wp-image-5656\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/Screen-Shot-2021-08-02-at-4.18.18-PM-1024x583.png\" alt=\"\" \/><\/figure>\n<\/div>\n\n\n\n<p class=\"has-text-align-center\"><a href=\"https:\/\/www.comet.com\/comet-artifacts\/artifacts\/pets-dataset\/1.0.0?utm_campaign=artifacts-storytelling&amp;utm_source=blog&amp;utm_medium=data-prep-caption\"><em>Previewing an Artifact<\/em><\/a><\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<p>You can search and preview assets within an Artifact right in the UI! An Artifact will provide information about the Experiment that created it, and can also preserve the directory structure of your data so that it is organized exactly as you expect it to be on your local machine. Artifacts also support previews for images, audio, text, JSON and CSV files. You also have the option to store metadata about the Artifact as a set of key value pairs.<\/p>\n\n\n\n<p>Let&#8217;s apply some simple preprocessing to our data and <a href=\"https:\/\/colab.research.google.com\/drive\/1eOL6mJGzM7F1hPd3Wu4VsLZp8SjMrLbp?authuser=1#scrollTo=cXXeEtZ5hfZQ\">update the Artifact<\/a> version for training.<\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" class=\"wp-image-5655\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/Screen-Shot-2021-08-02-at-4.10.07-PM-1024x455.png\" alt=\"\" \/><\/figure>\n<\/div>\n\n\n\n<p class=\"has-text-align-center\"><a href=\"https:\/\/www.comet.com\/comet-artifacts\/artifacts\/pets-dataset?utm_campaign=artifacts-storytelling&amp;utm_source=blog&amp;utm_medium=preprocessing-caption\"><em>Artifact Versions<\/em><\/a><\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<p>When updating an Artifact, the version is automatically incremented. You can reference Artifacts either through the version number or through a user provided alias. In our example we will use the alias &#8220;train-val-test-split&#8221; to reference this updated Artifact.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Model Training<\/h3>\n\n\n\n<p>Now that we have the data prepared and logged, let\u2019s move on to training our model. We\u2019ll run a sweep of a few hyperparameters and log the resulting models to a single Artifact.<\/p>\n\n\n\n<p>Our training job will download the Artifact and train a model based on the provided set of hyperparameters. You can track what Artifacts were produced and consumed by an experiment in the &#8220;Assets and Artifacts&#8221; tab in the Experiment View.<\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" class=\"wp-image-5659\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/Screen-Shot-2021-08-02-at-5.12.14-PM-1024x457.png\" alt=\"\" \/><\/figure>\n<\/div>\n\n\n\n<p class=\"has-text-align-center\"><a href=\"https:\/\/www.comet.com\/comet-artifacts\/artifacts-e2e-demo\/1b212873e20f4efdbc2a6d7429886af9?experiment-tab=artifacts&amp;utm_campaign=artifacts-storytelling&amp;utm_source=blog&amp;utm_medium=model-training-caption\"><em>Tracking Artifacts produced and consumed by an Experiment<\/em><\/a><\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<p>After training each configuration, lets log the model binary as an Artifact version. Since each version tracks the experiment that produced it, we can easily trace back our models to their hyperparameters.<\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" class=\"wp-image-5658\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/Screen-Shot-2021-08-02-at-5.02.18-PM-1024x587.png\" alt=\"\" \/><\/figure>\n<\/div>\n\n\n\n<p class=\"has-text-align-center\"><a href=\"https:\/\/www.comet.com\/comet-artifacts\/artifacts\/pets-model?utm_campaign=artifacts-storytelling&amp;utm_source=blog&amp;utm_medium=multiple-versions-caption\"><em>Logging Multiple Versions of a Model as an Artifact<\/em><\/a><\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Model Testing<\/h3>\n\n\n\n<p>So far, so good. For this example, let\u2019s <a href=\"https:\/\/colab.research.google.com\/drive\/1eOL6mJGzM7F1hPd3Wu4VsLZp8SjMrLbp?authuser=1#scrollTo=LxfEQ0OTtnqZ\">evaluate<\/a> these models against our test dataset. In addition to tracking the evaluation metrics for these models, let\u2019s also log the actual predictions as an Artifact. The Artifact version numbers for these predictions will follow that of the models used to make them.<\/p>\n\n\n\n<p>Since we&#8217;ve logged the predictions, we can now analyze them and gather insights about our modeling approach.<\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" class=\"wp-image-5661\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/Screen-Shot-2021-08-02-at-7.18.09-PM-1024x512.png\" alt=\"\" \/><\/figure>\n<\/div>\n\n\n\n<p class=\"has-text-align-center\"><a href=\"https:\/\/www.comet.com\/comet-artifacts\/artifacts\/pets-predictions\/4.0.0?utm_campaign=artifacts-storytelling&amp;utm_source=blog&amp;utm_medium=logged-predictions-caption\"><em>Logged Predictions<\/em><\/a><\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Isolating \u201cDifficult\u201d Data<\/h3>\n\n\n\n<p><a href=\"https:\/\/colab.research.google.com\/drive\/1eOL6mJGzM7F1hPd3Wu4VsLZp8SjMrLbp?authuser=1#scrollTo=xzHDDpAW0kKG\">Let\u2019s isolate the examples<\/a> in the test dataset that all of our models are having difficulty with. To do this we will<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Sort the top 100 worst predictions from each model based on the per example loss<\/li>\n<li>Find the common examples across models within these top 100 images<\/li>\n<\/ol>\n\n\n\n<p>We can now conduct further analysis on these examples. Let&#8217;s start by just looking at the samples.\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" class=\"wp-image-6152\" src=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/Screenshot-2021-08-05-at-17.44.29-719x1024.png\" alt=\"\" \/><\/figure>\n\n\n\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<p>&nbsp;<\/p>\n<\/div>\n\n\n\n<p>Common themes in this data are the orientation of the animals in the images, the variation in color amongst the same breed, and blurriness in the images. There are several things we could do to address these issues including increasing the number of layers needed to learn varied representations within the same breed, apply a random rotations and blurring to images so that the network can learn to deal with these types of images better.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>In this post we presented a guide on how to use Comet Artifacts to debug performance issues in an image classification model for Pet Cam. Using Artifacts we were able to break up our debugging process into discrete steps and log versions of our datasets, models and their respective predictions.<\/p>\n\n\n\n<p>Artifacts allow us to reuse this data across all parts of the experimentation pipeline while tracking the experiments that consume and produce them.<\/p>\n\n\n\n<p>We can now easily write operations that leverage this data and gather insights from any stage of the experimentation pipeline. In our Pet Cam use case, the examples we isolated allow us to make further decisions about what to do to improve our model while tracking our entire experimentation process.<\/p>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this post, we\u2019ll introduce Comet Artifacts, a new tool that provides Machine Learning teams with a convenient way to log, version, browse, and access data from all parts of their experimentation pipelines.<\/p>\n","protected":false},"author":1,"featured_media":2430,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"customer_name":"","customer_description":"","customer_industry":"","customer_technologies":"","customer_logo":"","footnotes":""},"categories":[8,9],"tags":[],"coauthors":[128],"class_list":["post-2422","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-comet-community-hub","category-product"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Debugging Your Machine Learning Models with Comet Artifacts - Comet<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.comet.com\/site\/blog\/debugging-your-machine-learning-models-with-comet-artifacts\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Debugging Your Machine Learning Models with Comet Artifacts\" \/>\n<meta property=\"og:description\" content=\"In this post, we\u2019ll introduce Comet Artifacts, a new tool that provides Machine Learning teams with a convenient way to log, version, browse, and access data from all parts of their experimentation pipelines.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.comet.com\/site\/blog\/debugging-your-machine-learning-models-with-comet-artifacts\/\" \/>\n<meta property=\"og:site_name\" content=\"Comet\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/cometdotml\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-05T21:30:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/comet-artifacts-Comet-ml-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1147\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Dhruv Nair\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Cometml\" \/>\n<meta name=\"twitter:site\" content=\"@Cometml\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dhruv Nair\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Debugging Your Machine Learning Models with Comet Artifacts - Comet","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.comet.com\/site\/blog\/debugging-your-machine-learning-models-with-comet-artifacts\/","og_locale":"en_US","og_type":"article","og_title":"Debugging Your Machine Learning Models with Comet Artifacts","og_description":"In this post, we\u2019ll introduce Comet Artifacts, a new tool that provides Machine Learning teams with a convenient way to log, version, browse, and access data from all parts of their experimentation pipelines.","og_url":"https:\/\/www.comet.com\/site\/blog\/debugging-your-machine-learning-models-with-comet-artifacts\/","og_site_name":"Comet","article_publisher":"https:\/\/www.facebook.com\/cometdotml","article_published_time":"2021-08-05T21:30:46+00:00","og_image":[{"width":1147,"height":675,"url":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/comet-artifacts-Comet-ml-1.png","type":"image\/png"}],"author":"Dhruv Nair","twitter_card":"summary_large_image","twitter_creator":"@Cometml","twitter_site":"@Cometml","twitter_misc":{"Written by":"Dhruv Nair","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.comet.com\/site\/blog\/debugging-your-machine-learning-models-with-comet-artifacts\/#article","isPartOf":{"@id":"https:\/\/www.comet.com\/site\/blog\/debugging-your-machine-learning-models-with-comet-artifacts\/"},"author":{"name":"engineering@atre.net","@id":"https:\/\/www.comet.com\/site\/#\/schema\/person\/550ac35e8e821db8064c5bd1f0a04e6b"},"headline":"Debugging Your Machine Learning Models with Comet Artifacts","datePublished":"2021-08-05T21:30:46+00:00","mainEntityOfPage":{"@id":"https:\/\/www.comet.com\/site\/blog\/debugging-your-machine-learning-models-with-comet-artifacts\/"},"wordCount":1418,"publisher":{"@id":"https:\/\/www.comet.com\/site\/#organization"},"image":{"@id":"https:\/\/www.comet.com\/site\/blog\/debugging-your-machine-learning-models-with-comet-artifacts\/#primaryimage"},"thumbnailUrl":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/comet-artifacts-Comet-ml-1.png","articleSection":["Comet Community Hub","Product"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.comet.com\/site\/blog\/debugging-your-machine-learning-models-with-comet-artifacts\/","url":"https:\/\/www.comet.com\/site\/blog\/debugging-your-machine-learning-models-with-comet-artifacts\/","name":"Debugging Your Machine Learning Models with Comet Artifacts - Comet","isPartOf":{"@id":"https:\/\/www.comet.com\/site\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.comet.com\/site\/blog\/debugging-your-machine-learning-models-with-comet-artifacts\/#primaryimage"},"image":{"@id":"https:\/\/www.comet.com\/site\/blog\/debugging-your-machine-learning-models-with-comet-artifacts\/#primaryimage"},"thumbnailUrl":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/comet-artifacts-Comet-ml-1.png","datePublished":"2021-08-05T21:30:46+00:00","breadcrumb":{"@id":"https:\/\/www.comet.com\/site\/blog\/debugging-your-machine-learning-models-with-comet-artifacts\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.comet.com\/site\/blog\/debugging-your-machine-learning-models-with-comet-artifacts\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.comet.com\/site\/blog\/debugging-your-machine-learning-models-with-comet-artifacts\/#primaryimage","url":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/comet-artifacts-Comet-ml-1.png","contentUrl":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2022\/06\/comet-artifacts-Comet-ml-1.png","width":1147,"height":675,"caption":"Comet Artifacts Projects Page Screenshot"},{"@type":"BreadcrumbList","@id":"https:\/\/www.comet.com\/site\/blog\/debugging-your-machine-learning-models-with-comet-artifacts\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.comet.com\/site\/"},{"@type":"ListItem","position":2,"name":"Debugging Your Machine Learning Models with Comet Artifacts"}]},{"@type":"WebSite","@id":"https:\/\/www.comet.com\/site\/#website","url":"https:\/\/www.comet.com\/site\/","name":"Comet","description":"Build Better Models Faster","publisher":{"@id":"https:\/\/www.comet.com\/site\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.comet.com\/site\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.comet.com\/site\/#organization","name":"Comet ML, Inc.","alternateName":"Comet","url":"https:\/\/www.comet.com\/site\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.comet.com\/site\/#\/schema\/logo\/image\/","url":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2025\/01\/logo_comet_square.png","contentUrl":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2025\/01\/logo_comet_square.png","width":310,"height":310,"caption":"Comet ML, Inc."},"image":{"@id":"https:\/\/www.comet.com\/site\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/cometdotml","https:\/\/x.com\/Cometml","https:\/\/www.youtube.com\/channel\/UCmN63HKvfXSCS-UwVwmK8Hw"]},{"@type":"Person","@id":"https:\/\/www.comet.com\/site\/#\/schema\/person\/550ac35e8e821db8064c5bd1f0a04e6b","name":"engineering@atre.net","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.comet.com\/site\/#\/schema\/person\/image\/027c18177377edf459980f0cfb83706c","url":"https:\/\/secure.gravatar.com\/avatar\/d002a459a297e0d1779329318029aee19868c312b3e1f3c9ec9b3e3add2740de?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d002a459a297e0d1779329318029aee19868c312b3e1f3c9ec9b3e3add2740de?s=96&d=mm&r=g","caption":"engineering@atre.net"},"sameAs":["https:\/\/live-cometml.pantheonsite.io"],"url":"https:\/\/www.comet.com\/site\/blog\/author\/engineeringatre-net\/"}]}},"_links":{"self":[{"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/posts\/2422","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/comments?post=2422"}],"version-history":[{"count":0,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/posts\/2422\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/media\/2430"}],"wp:attachment":[{"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/media?parent=2422"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/categories?post=2422"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/tags?post=2422"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/coauthors?post=2422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}