{"id":4145,"date":"2022-10-20T13:39:43","date_gmt":"2022-10-20T21:39:43","guid":{"rendered":"https:\/\/live-cometml.pantheonsite.io\/?p=4145"},"modified":"2025-04-24T17:16:59","modified_gmt":"2025-04-24T17:16:59","slug":"us-comet-registry-to-track-your-machine-learning-models","status":"publish","type":"post","link":"https:\/\/www.comet.com\/site\/blog\/us-comet-registry-to-track-your-machine-learning-models\/","title":{"rendered":"How to Use the Comet Registry to Track Your Machine Learning Models"},"content":{"rendered":"\n<div class=\"ir is it iu iv\">\n<p id=\"4ed4\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">Recently I have been enjoying using&nbsp;<a class=\"au ll\" href=\"https:\/\/www.comet.com\/\" target=\"_blank\" rel=\"noopener ugc nofollow\">Comet<\/a>&nbsp;for my experiments and I am always surprised by the new features I discover. Today I would like to talk to you about the possibility provided by Comet to keep track of the Machine Learning model to send into production.<\/p>\n<p id=\"d553\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">Suppose we run many different experiments to solve a certain problem. After several tests, we understand that the X model is the best and we want to choose it as the production model. Well, Comet allows us to do this thanks to the functionality provided by the&nbsp;<strong class=\"bm mh\">Registry<\/strong>.<\/p>\n<p id=\"7459\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\"><strong class=\"bm mh\">A Comet Registry is a place that stores all the registered models.<\/strong>&nbsp;A registered model is a model saved in a Comet project. There are at least two advantages of registering models in Comet:<\/p>\n<ul class=\"\">\n<li id=\"1df7\" class=\"mi mj iy bm b lo lp lr ls lu mk ly ml mc mm mg mn mo mp mq ga\" data-selectable-paragraph=\"\">Keep track of all the stages of our project;<\/li>\n<li id=\"4c73\" class=\"mi mj iy bm b lo mr lr ms lu mt ly mu mc mv mg mn mo mp mq ga\" data-selectable-paragraph=\"\">Use the Registry as secure storage.<\/li>\n<\/ul>\n<p id=\"6c52\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">To make a model available in the Comet Registry, firstly we need to register it. We can follow two strategies to register a model:<\/p>\n<ul class=\"\">\n<li id=\"0bc5\" class=\"mi mj iy bm b lo lp lr ls lu mk ly ml mc mm mg mn mo mp mq ga\" data-selectable-paragraph=\"\">Use&nbsp;<code class=\"fp mw mx my mz b\">experiment.log_model(name, file_name)<\/code>&nbsp;\u2014 this method of the&nbsp;<code class=\"fp mw mx my mz b\">Experiment()<\/code>&nbsp;class logs the model as an artifact and then, manually, we need to add it to the Registry.<\/li>\n<li id=\"b586\" class=\"mi mj iy bm b lo mr lr ms lu mt ly mu mc mv mg mn mo mp mq ga\" data-selectable-paragraph=\"\">Use&nbsp;<code class=\"fp mw mx my mz b\">experiment.register_model(MODEL_NAME)<\/code>&nbsp;\u2014 this method of&nbsp;<code class=\"fp mw mx my mz b\">Experiment()<\/code>&nbsp;class registers the full experiment and adds it to the Registry.<\/li>\n<\/ul>\n<p id=\"eb44\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">In this article, I will describe how to add a model to the Registry through the&nbsp;<code class=\"fp mw mx my mz b\">log_model()<\/code>&nbsp;method. The article is organized as follows:<\/p>\n<ul class=\"\">\n<li id=\"a6c9\" class=\"mi mj iy bm b lo lp lr ls lu mk ly ml mc mm mg mn mo mp mq ga\" data-selectable-paragraph=\"\">Setup of the scenario<\/li>\n<li id=\"f0e0\" class=\"mi mj iy bm b lo mr lr ms lu mt ly mu mc mv mg mn mo mp mq ga\" data-selectable-paragraph=\"\">Log the models in Comet<\/li>\n<li id=\"af39\" class=\"mi mj iy bm b lo mr lr ms lu mt ly mu mc mv mg mn mo mp mq ga\" data-selectable-paragraph=\"\">Register the models in Comet<\/li>\n<\/ul>\n<h2 id=\"17a0\" class=\"na nb iy bm nc nd ne nf ng nh ni nj nk kn nl ko nm kq nn kr no kt np ku nq nr ga\">Setup of the Scenario<\/h2>\n<p id=\"22ee\" class=\"pw-post-body-paragraph lm ln iy bm b lo ns ki lq lr nt kl lt lu nu lw lx ly nv ma mb mc nw me mf mg ir ga\" data-selectable-paragraph=\"\">In this example, we will model the same dataset with two different Machine Learning models, and we will use Comet to select the best one. As a sample dataset, we will use the classical&nbsp;<a class=\"au ll\" href=\"https:\/\/scikit-learn.org\/stable\/modules\/generated\/sklearn.datasets.load_diabetes.html\" target=\"_blank\" rel=\"noopener ugc nofollow\">diabetes dataset<\/a>&nbsp;provided by the scikit-learn Python package.<\/p>\n<p id=\"80c7\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">Firstly, we import the dataset:<\/p>\n<pre class=\"kx ky kz la gx nx bs ny\">from sklearn.datasets\nimport load_diabetes\ndiabetes_dataset = load_diabetes()\nX = diabetes_dataset.data\ny = diabetes_dataset.target<\/pre>\n<p id=\"de6a\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">Then, we split it into training and test sets, through the train_test_split() function provided by scikit-learn:<\/p>\n<pre class=\"kx ky kz la gx nx bs ny\"><span id=\"e002\" class=\"ga nz nb iy mz b dm oa ob l oc\" data-selectable-paragraph=\"\">from sklearn.model_selection\nimport train_test_split\n<\/span><span id=\"39bd\" class=\"ga nz nb iy mz b dm od oe of og oh ob l oc\" data-selectable-paragraph=\"\">X_train, X_test, y_train, y_test = train_test_split(X,\n                                                    y,\n                                                    test_size=0.20,\n                                                    random_state=42)<\/span><\/pre>\n<h2 id=\"34c8\" class=\"na nb iy bm nc nd ne nf ng nh ni nj nk kn nl ko nm kq nn kr no kt np ku nq nr ga\">Log the Models<\/h2>\n<p id=\"d7f5\" class=\"pw-post-body-paragraph lm ln iy bm b lo ns ki lq lr nt kl lt lu nu lw lx ly nv ma mb mc nw me mf mg ir ga\" data-selectable-paragraph=\"\">Now we define a function, named&nbsp;<code class=\"fp mw mx my mz b\">run_experiment()<\/code>, that receives the name and the model object as input:<\/p>\n<pre class=\"kx ky kz la gx nx bs ny\"><span id=\"b763\" class=\"ga nz nb iy mz b dm oa ob l oc\" data-selectable-paragraph=\"\">import numpy as np\nimport pickle\nfrom comet_ml import Experiment\nfrom sklearn.linear_model import LinearRegression, LogisticRegression\nfrom sklearn import metrics\n<\/span><span id=\"cfeb\" class=\"ga nz nb iy mz b dm od oe of og oh ob l oc\" data-selectable-paragraph=\"\">def <strong class=\"mz ji\">run_experiment<\/strong>(name, model):\n    experiment = Experiment(api_key=\"MY_API_KEY\",\n                            project_name=\"MY_PROJECT_NAME\",\n                            workspace=\"MY_WORKSPACE\")\n\n    model.fit(X_train,y_train)\n    file_name = name + '.pkl'\n    with open(file_name, 'wb') as file:\n        pickle.dump(model, file)<\/span><span id=\"8c7c\" class=\"ga nz nb iy mz b dm od oe of og oh ob l oc\" data-selectable-paragraph=\"\">\n    y_pred = model.predict(X_test)\n\n    RMSE = np.sqrt(metrics.mean_squared_error(y_test, y_pred))\n    experiment.log_metric(\"RMSE\", RMSE)\n    experiment.log_model(name, file_name)<\/span><\/pre>\n<p id=\"03b9\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">The previous function performs the following operations:<\/p>\n<ul class=\"\">\n<li id=\"dc43\" class=\"mi mj iy bm b lo lp lr ls lu mk ly ml mc mm mg mn mo mp mq ga\" data-selectable-paragraph=\"\">Create a new experiment<\/li>\n<li id=\"fe40\" class=\"mi mj iy bm b lo mr lr ms lu mt ly mu mc mv mg mn mo mp mq ga\" data-selectable-paragraph=\"\">Fit the model<\/li>\n<li id=\"bcef\" class=\"mi mj iy bm b lo mr lr ms lu mt ly mu mc mv mg mn mo mp mq ga\" data-selectable-paragraph=\"\">Dump the model to a file through the pickle package<\/li>\n<li id=\"532b\" class=\"mi mj iy bm b lo mr lr ms lu mt ly mu mc mv mg mn mo mp mq ga\" data-selectable-paragraph=\"\">Calculate the Root Mean Squared Error (RMSE)<\/li>\n<li id=\"2f4e\" class=\"mi mj iy bm b lo mr lr ms lu mt ly mu mc mv mg mn mo mp mq ga\" data-selectable-paragraph=\"\">Log the RMSE value and the model in Comet<\/li>\n<\/ul>\n<p id=\"aa3f\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">Note that we have used the&nbsp;<code class=\"fp mw mx my mz b\">log_model()<\/code>&nbsp;method to log the model in Comet. In this case, we have logged only the model. If we wanted to log the whole experiment, we would have to use the&nbsp;<code class=\"fp mw mx my mz b\">register_model()<\/code>&nbsp;method.<\/p>\n<p id=\"43cd\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">Finally, we call the defined function to run two experiments, as follows:<\/p>\n<pre class=\"kx ky kz la gx nx bs ny\"><span id=\"3f95\" class=\"ga nz nb iy mz b dm oa ob l oc\" data-selectable-paragraph=\"\">model = LinearRegression()\nrun_experiment('LinearRegression', model)\n<\/span><span id=\"1930\" class=\"ga nz nb iy mz b dm od oe of og oh ob l oc\" data-selectable-paragraph=\"\">\nmodel = LogisticRegression()\nrun_experiment('LogisticRegression', model)<\/span><\/pre>\n<p id=\"583d\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">We have built a Linear Regression model and a Logistic Regression model. We run the code and access the results directly in Comet.<\/p>\n<p id=\"5846\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\"><strong class=\"bm mh\">Which of the two will perform better? Let\u2019s find out together!<\/strong><\/p>\n<p id=\"3ee1\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">We can compare the output of the two experiments directly in the Comet dashboard. We can select both the experiments and then compare the respective RMSE:<\/p>\n<figure class=\"kx ky kz la gx lb gl gm paragraph-image\">\n<div class=\"lc ld do le ce lf\" tabindex=\"0\" role=\"button\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"ce lg lh c aligncenter\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/max\/900\/1*v-TJJfzUUh4sH4jyFe6sjA.gif\" alt=\"\" width=\"600\" height=\"205\"><\/figure><div class=\"gl gm oi\"><picture><source srcset=\"https:\/\/miro.medium.com\/max\/640\/1*v-TJJfzUUh4sH4jyFe6sjA.gif 640w, https:\/\/miro.medium.com\/max\/720\/1*v-TJJfzUUh4sH4jyFe6sjA.gif 720w, https:\/\/miro.medium.com\/max\/750\/1*v-TJJfzUUh4sH4jyFe6sjA.gif 750w, https:\/\/miro.medium.com\/max\/786\/1*v-TJJfzUUh4sH4jyFe6sjA.gif 786w, https:\/\/miro.medium.com\/max\/828\/1*v-TJJfzUUh4sH4jyFe6sjA.gif 828w, https:\/\/miro.medium.com\/max\/1100\/1*v-TJJfzUUh4sH4jyFe6sjA.gif 1100w, https:\/\/miro.medium.com\/max\/1200\/1*v-TJJfzUUh4sH4jyFe6sjA.gif 1200w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 600px\" data-testid=\"og\"><\/picture><\/div>\n<\/div>\n<\/figure>\n<p style=\"text-align: center;\" data-selectable-paragraph=\"\">Video by Author<\/p>\n<p id=\"1992\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">The second experiment (that corresponds to the Linear Regression) outperforms the first one.<\/p>\n<\/div>\n\n\n\n<div class=\"ir is it iu iv\">\n<p id=\"bfa8\" class=\"or os iy bm ot ou ov ow ox oy oz mg cn\" data-selectable-paragraph=\"\"><strong>Want to see more of Comet in action? Check out working sessions, demo videos, and more on our&nbsp;<a class=\"au ll\" href=\"https:\/\/www.youtube.com\/channel\/UCmN63HKvfXSCS-UwVwmK8Hw\" target=\"_blank\" rel=\"noopener ugc nofollow\">YouTube channel.<\/a><\/strong><\/p>\n<\/div>\n\n\n\n<div class=\"ir is it iu iv\">\n<h2 id=\"587b\" class=\"na nb iy bm nc nd pa nf ng nh pb nj nk kn pc ko nm kq pd kr no kt pe ku nq nr ga\">Register the Models<\/h2>\n<p id=\"0fe2\" class=\"pw-post-body-paragraph lm ln iy bm b lo ns ki lq lr nt kl lt lu nu lw lx ly nv ma mb mc nw me mf mg ir ga\" data-selectable-paragraph=\"\">Under the Experiment section we have two experiments, one for the Linear Regression and the other for the Logistic Regression, as shown in the following figure:<\/p>\n<figure class=\"kx ky kz la gx lb gl gm paragraph-image\">\n<div class=\"lc ld do le ce lf\" tabindex=\"0\" role=\"button\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"ce lg lh c aligncenter\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/max\/1050\/1*z06JyV9c2U0STeR8t4T51g.png\" alt=\"\" width=\"700\" height=\"170\"><\/figure><div class=\"gl gm pf\"><picture><source srcset=\"https:\/\/miro.medium.com\/max\/640\/1*z06JyV9c2U0STeR8t4T51g.png 640w, https:\/\/miro.medium.com\/max\/720\/1*z06JyV9c2U0STeR8t4T51g.png 720w, https:\/\/miro.medium.com\/max\/750\/1*z06JyV9c2U0STeR8t4T51g.png 750w, https:\/\/miro.medium.com\/max\/786\/1*z06JyV9c2U0STeR8t4T51g.png 786w, https:\/\/miro.medium.com\/max\/828\/1*z06JyV9c2U0STeR8t4T51g.png 828w, https:\/\/miro.medium.com\/max\/1100\/1*z06JyV9c2U0STeR8t4T51g.png 1100w, https:\/\/miro.medium.com\/max\/1400\/1*z06JyV9c2U0STeR8t4T51g.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\" data-testid=\"og\"><\/picture><\/div>\n<\/div>\n<\/figure>\n<p style=\"text-align: center;\" data-selectable-paragraph=\"\">Image by Author<\/p>\n<p id=\"0761\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">We click on the first experiment, and we select the Assets &amp; Artifacts tab.<\/p>\n<p id=\"a1d5\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">Under the&nbsp;<em class=\"pg\">models<\/em>&nbsp;directory, we can find the specific model file, as shown in the following figure:<\/p>\n<figure class=\"kx ky kz la gx lb gl gm paragraph-image\">\n<div class=\"lc ld do le ce lf\" tabindex=\"0\" role=\"button\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"ce lg lh c aligncenter\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/max\/1050\/1*G1sJRGv7pmurV_j7Hniz5w.png\" alt=\"\" width=\"700\" height=\"355\"><\/figure><div class=\"gl gm ph\"><picture><source srcset=\"https:\/\/miro.medium.com\/max\/640\/1*G1sJRGv7pmurV_j7Hniz5w.png 640w, https:\/\/miro.medium.com\/max\/720\/1*G1sJRGv7pmurV_j7Hniz5w.png 720w, https:\/\/miro.medium.com\/max\/750\/1*G1sJRGv7pmurV_j7Hniz5w.png 750w, https:\/\/miro.medium.com\/max\/786\/1*G1sJRGv7pmurV_j7Hniz5w.png 786w, https:\/\/miro.medium.com\/max\/828\/1*G1sJRGv7pmurV_j7Hniz5w.png 828w, https:\/\/miro.medium.com\/max\/1100\/1*G1sJRGv7pmurV_j7Hniz5w.png 1100w, https:\/\/miro.medium.com\/max\/1400\/1*G1sJRGv7pmurV_j7Hniz5w.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\" data-testid=\"og\"><\/picture><\/div>\n<\/div>\n<\/figure>\n<p style=\"text-align: center;\" data-selectable-paragraph=\"\">Image by Author<\/p>\n<p id=\"605c\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">We can download the model if we want. On the right part of the screen, there is a button, named&nbsp;<strong class=\"bm mh\">Register<\/strong>. We can click it to add the model to the Registry. The following window opens:<\/p>\n<figure class=\"kx ky kz la gx lb gl gm paragraph-image\">\n<div class=\"lc ld do le ce lf\" tabindex=\"0\" role=\"button\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"ce lg lh c aligncenter\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/max\/1050\/1*7w3lVbMyMLRYdy-ll6Xyvw.png\" alt=\"\" width=\"510\" height=\"541\"><\/figure><div class=\"gl gm pi\"><picture><source srcset=\"https:\/\/miro.medium.com\/max\/640\/1*7w3lVbMyMLRYdy-ll6Xyvw.png 640w, https:\/\/miro.medium.com\/max\/720\/1*7w3lVbMyMLRYdy-ll6Xyvw.png 720w, https:\/\/miro.medium.com\/max\/750\/1*7w3lVbMyMLRYdy-ll6Xyvw.png 750w, https:\/\/miro.medium.com\/max\/786\/1*7w3lVbMyMLRYdy-ll6Xyvw.png 786w, https:\/\/miro.medium.com\/max\/828\/1*7w3lVbMyMLRYdy-ll6Xyvw.png 828w, https:\/\/miro.medium.com\/max\/1100\/1*7w3lVbMyMLRYdy-ll6Xyvw.png 1100w, https:\/\/miro.medium.com\/max\/1400\/1*7w3lVbMyMLRYdy-ll6Xyvw.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\" data-testid=\"og\"><\/picture><\/div>\n<\/div>\n<\/figure>\n<p style=\"text-align: center;\" data-selectable-paragraph=\"\">Image by Author<\/p>\n<p id=\"d28b\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">We can add the model to an existing Registry or we can register a new model. In our case, we register a new model.<\/p>\n<p id=\"a5a0\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">We can repeat the same procedure for the second experiment, but when we need to add the model to the Registry, we save it to the existing model, i.e. the previous one. In this case, we need to change the model version, e.g. 1.0.1.<\/p>\n<p id=\"b419\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">We can now access the Model Registry from the Comet main dashboard. We need to exit the current project. We should have a view similar to the following one:<\/p>\n<figure class=\"kx ky kz la gx lb gl gm paragraph-image\">\n<div class=\"lc ld do le ce lf\" tabindex=\"0\" role=\"button\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"ce lg lh c aligncenter\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/max\/1050\/1*TC-bZPRbMKIA_jBvO8KgPA.png\" alt=\"\" width=\"499\" height=\"620\"><\/figure><div class=\"gl gm pj\"><picture><source srcset=\"https:\/\/miro.medium.com\/max\/640\/1*TC-bZPRbMKIA_jBvO8KgPA.png 640w, https:\/\/miro.medium.com\/max\/720\/1*TC-bZPRbMKIA_jBvO8KgPA.png 720w, https:\/\/miro.medium.com\/max\/750\/1*TC-bZPRbMKIA_jBvO8KgPA.png 750w, https:\/\/miro.medium.com\/max\/786\/1*TC-bZPRbMKIA_jBvO8KgPA.png 786w, https:\/\/miro.medium.com\/max\/828\/1*TC-bZPRbMKIA_jBvO8KgPA.png 828w, https:\/\/miro.medium.com\/max\/1100\/1*TC-bZPRbMKIA_jBvO8KgPA.png 1100w, https:\/\/miro.medium.com\/max\/1400\/1*TC-bZPRbMKIA_jBvO8KgPA.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\" data-testid=\"og\"><\/picture><\/div>\n<\/div>\n<\/figure>\n<p style=\"text-align: center;\" data-selectable-paragraph=\"\">Image by Author<\/p>\n<p id=\"8c6b\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">We click the View model button. We have the two models:<\/p>\n<figure class=\"kx ky kz la gx lb gl gm paragraph-image\">\n<div class=\"lc ld do le ce lf\" tabindex=\"0\" role=\"button\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"ce lg lh c aligncenter\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/max\/1050\/1*HDcuQAO-mkPg7u6RUXAUIw.png\" alt=\"\" width=\"700\" height=\"295\"><\/figure><div class=\"gl gm pk\"><picture><source srcset=\"https:\/\/miro.medium.com\/max\/640\/1*HDcuQAO-mkPg7u6RUXAUIw.png 640w, https:\/\/miro.medium.com\/max\/720\/1*HDcuQAO-mkPg7u6RUXAUIw.png 720w, https:\/\/miro.medium.com\/max\/750\/1*HDcuQAO-mkPg7u6RUXAUIw.png 750w, https:\/\/miro.medium.com\/max\/786\/1*HDcuQAO-mkPg7u6RUXAUIw.png 786w, https:\/\/miro.medium.com\/max\/828\/1*HDcuQAO-mkPg7u6RUXAUIw.png 828w, https:\/\/miro.medium.com\/max\/1100\/1*HDcuQAO-mkPg7u6RUXAUIw.png 1100w, https:\/\/miro.medium.com\/max\/1400\/1*HDcuQAO-mkPg7u6RUXAUIw.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\" data-testid=\"og\"><\/picture><\/div>\n<\/div>\n<\/figure>\n<p style=\"text-align: center;\" data-selectable-paragraph=\"\">Image by Author<\/p>\n<p id=\"8cb7\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">We can now set the stage of version 1.0.1, which corresponds to the linear regression, to production by clicking the arrow on the left, as shown in the following short video:<\/p>\n<figure class=\"kx ky kz la gx lb gl gm paragraph-image\">\n<figure><img loading=\"lazy\" decoding=\"async\" class=\"ce lg lh c aligncenter\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/max\/900\/1*YhgAYFw_iZRyqCE1foqKcQ.gif\" alt=\"\" width=\"600\" height=\"276\"><\/figure><div class=\"gl gm oi\"><picture><source srcset=\"https:\/\/miro.medium.com\/max\/640\/1*YhgAYFw_iZRyqCE1foqKcQ.gif 640w, https:\/\/miro.medium.com\/max\/720\/1*YhgAYFw_iZRyqCE1foqKcQ.gif 720w, https:\/\/miro.medium.com\/max\/750\/1*YhgAYFw_iZRyqCE1foqKcQ.gif 750w, https:\/\/miro.medium.com\/max\/786\/1*YhgAYFw_iZRyqCE1foqKcQ.gif 786w, https:\/\/miro.medium.com\/max\/828\/1*YhgAYFw_iZRyqCE1foqKcQ.gif 828w, https:\/\/miro.medium.com\/max\/1100\/1*YhgAYFw_iZRyqCE1foqKcQ.gif 1100w, https:\/\/miro.medium.com\/max\/1200\/1*YhgAYFw_iZRyqCE1foqKcQ.gif 1200w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 600px\" data-testid=\"og\"><\/picture><\/div>\n<\/figure>\n<p style=\"text-align: center;\">Video by Author<\/p>\n<h2 id=\"03e2\" class=\"na nb iy bm nc nd ne nf ng nh ni nj nk kn nl ko nm kq nn kr no kt np ku nq nr ga\">Summary<\/h2>\n<p id=\"4add\" class=\"pw-post-body-paragraph lm ln iy bm b lo ns ki lq lr nt kl lt lu nu lw lx ly nv ma mb mc nw me mf mg ir ga\" data-selectable-paragraph=\"\">Congratulations! You have just learned how to use the Comet Registry to keep track of your best Machine Learning Model!<\/p>\n<p id=\"9de7\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">The use of the Comet Registry can help you to maintain your code well organized and ordered.<\/p>\n<p id=\"6441\" class=\"pw-post-body-paragraph lm ln iy bm b lo lp ki lq lr ls kl lt lu lv lw lx ly lz ma mb mc md me mf mg ir ga\" data-selectable-paragraph=\"\">If you want to learn more about Comet, you can read my previous articles:<\/p>\n<div class=\"pl pm gt gv pn po\">\n<div class=\"pp o fr\">\n<div class=\"pq o da dx en pr\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Recently I have been enjoying using&nbsp;Comet&nbsp;for my experiments and I am always surprised by the new features I discover. Today I would like to talk to you about the possibility provided by Comet to keep track of the Machine Learning model to send into production. Suppose we run many different experiments to solve a certain [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"customer_name":"","customer_description":"","customer_industry":"","customer_technologies":"","customer_logo":"","footnotes":""},"categories":[6,9],"tags":[],"coauthors":[132],"class_list":["post-4145","post","type-post","status-publish","format-standard","hentry","category-machine-learning","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>How to Use the Comet Registry to Track Your Machine Learning Models<\/title>\n<meta name=\"description\" content=\"The Comet registry is a place that stores all the registered models. Learn how to use it to track machine learning models.\" \/>\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\/us-comet-registry-to-track-your-machine-learning-models\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Use the Comet Registry to Track Your Machine Learning Models\" \/>\n<meta property=\"og:description\" content=\"The Comet registry is a place that stores all the registered models. Learn how to use it to track machine learning models.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.comet.com\/site\/blog\/us-comet-registry-to-track-your-machine-learning-models\/\" \/>\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=\"2022-10-20T21:39:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-24T17:16:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/miro.medium.com\/max\/900\/1*v-TJJfzUUh4sH4jyFe6sjA.gif\" \/>\n<meta name=\"author\" content=\"Angelica Lo Duca\" \/>\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=\"Angelica Lo Duca\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Use the Comet Registry to Track Your Machine Learning Models","description":"The Comet registry is a place that stores all the registered models. Learn how to use it to track machine learning models.","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\/us-comet-registry-to-track-your-machine-learning-models\/","og_locale":"en_US","og_type":"article","og_title":"How to Use the Comet Registry to Track Your Machine Learning Models","og_description":"The Comet registry is a place that stores all the registered models. Learn how to use it to track machine learning models.","og_url":"https:\/\/www.comet.com\/site\/blog\/us-comet-registry-to-track-your-machine-learning-models\/","og_site_name":"Comet","article_publisher":"https:\/\/www.facebook.com\/cometdotml","article_published_time":"2022-10-20T21:39:43+00:00","article_modified_time":"2025-04-24T17:16:59+00:00","og_image":[{"url":"https:\/\/miro.medium.com\/max\/900\/1*v-TJJfzUUh4sH4jyFe6sjA.gif","type":"","width":"","height":""}],"author":"Angelica Lo Duca","twitter_card":"summary_large_image","twitter_creator":"@Cometml","twitter_site":"@Cometml","twitter_misc":{"Written by":"Angelica Lo Duca","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.comet.com\/site\/blog\/us-comet-registry-to-track-your-machine-learning-models\/#article","isPartOf":{"@id":"https:\/\/www.comet.com\/site\/blog\/us-comet-registry-to-track-your-machine-learning-models\/"},"author":{"name":"Team Comet Digital","@id":"https:\/\/www.comet.com\/site\/#\/schema\/person\/6266601170c60a7a82b3e0043fbe8ddf"},"headline":"How to Use the Comet Registry to Track Your Machine Learning Models","datePublished":"2022-10-20T21:39:43+00:00","dateModified":"2025-04-24T17:16:59+00:00","mainEntityOfPage":{"@id":"https:\/\/www.comet.com\/site\/blog\/us-comet-registry-to-track-your-machine-learning-models\/"},"wordCount":859,"publisher":{"@id":"https:\/\/www.comet.com\/site\/#organization"},"image":{"@id":"https:\/\/www.comet.com\/site\/blog\/us-comet-registry-to-track-your-machine-learning-models\/#primaryimage"},"thumbnailUrl":"https:\/\/miro.medium.com\/max\/900\/1*v-TJJfzUUh4sH4jyFe6sjA.gif","articleSection":["Machine Learning","Product"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.comet.com\/site\/blog\/us-comet-registry-to-track-your-machine-learning-models\/","url":"https:\/\/www.comet.com\/site\/blog\/us-comet-registry-to-track-your-machine-learning-models\/","name":"How to Use the Comet Registry to Track Your Machine Learning Models","isPartOf":{"@id":"https:\/\/www.comet.com\/site\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.comet.com\/site\/blog\/us-comet-registry-to-track-your-machine-learning-models\/#primaryimage"},"image":{"@id":"https:\/\/www.comet.com\/site\/blog\/us-comet-registry-to-track-your-machine-learning-models\/#primaryimage"},"thumbnailUrl":"https:\/\/miro.medium.com\/max\/900\/1*v-TJJfzUUh4sH4jyFe6sjA.gif","datePublished":"2022-10-20T21:39:43+00:00","dateModified":"2025-04-24T17:16:59+00:00","description":"The Comet registry is a place that stores all the registered models. Learn how to use it to track machine learning models.","breadcrumb":{"@id":"https:\/\/www.comet.com\/site\/blog\/us-comet-registry-to-track-your-machine-learning-models\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.comet.com\/site\/blog\/us-comet-registry-to-track-your-machine-learning-models\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.comet.com\/site\/blog\/us-comet-registry-to-track-your-machine-learning-models\/#primaryimage","url":"https:\/\/miro.medium.com\/max\/900\/1*v-TJJfzUUh4sH4jyFe6sjA.gif","contentUrl":"https:\/\/miro.medium.com\/max\/900\/1*v-TJJfzUUh4sH4jyFe6sjA.gif"},{"@type":"BreadcrumbList","@id":"https:\/\/www.comet.com\/site\/blog\/us-comet-registry-to-track-your-machine-learning-models\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.comet.com\/site\/"},{"@type":"ListItem","position":2,"name":"How to Use the Comet Registry to Track Your Machine Learning Models"}]},{"@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\/6266601170c60a7a82b3e0043fbe8ddf","name":"Team Comet Digital","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.comet.com\/site\/#\/schema\/person\/image\/4f0c0a8cc7c0e87c636ff6a420a6647c","url":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2023\/08\/Screen-Shot-2023-08-12-at-8.58.50-AM-96x96.png","contentUrl":"https:\/\/www.comet.com\/site\/wp-content\/uploads\/2023\/08\/Screen-Shot-2023-08-12-at-8.58.50-AM-96x96.png","caption":"Team Comet Digital"},"sameAs":["https:\/\/www.comet.ml\/"],"url":"https:\/\/www.comet.com\/site\/blog\/author\/teamcometdigital\/"}]}},"_links":{"self":[{"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/posts\/4145","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\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/comments?post=4145"}],"version-history":[{"count":1,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/posts\/4145\/revisions"}],"predecessor-version":[{"id":15668,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/posts\/4145\/revisions\/15668"}],"wp:attachment":[{"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/media?parent=4145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/categories?post=4145"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/tags?post=4145"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.comet.com\/site\/wp-json\/wp\/v2\/coauthors?post=4145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}