Register
Login
Resources
Docs Blog Datasets Glossary Case Studies Tutorials & Webinars
Product
Data Engine LLMs Platform Enterprise
Pricing Explore
Connect to our Discord channel

#482 Update upload callback to platform

Merged
Ghost merged 1 commits into Deci-AI:master from deci-ai:feature/SG-337-update_upload_callback
@@ -26,17 +26,9 @@ class DeciPlatformSGLogger(BaseSGLogger):
         if _imported_deci_lab_failure is not None:
         if _imported_deci_lab_failure is not None:
             raise _imported_deci_lab_failure
             raise _imported_deci_lab_failure
 
 
-        auth_token = os.getenv("DECI_PLATFORM_TOKEN")
-        if auth_token is None:
-            raise ValueError(
-                'The environment variable "DECI_PLATFORM_TOKEN" is required in order to use '
-                "DeciPlatformSGLogger. Please set it with your own credentials "
-                "(available in https://console.deci.ai/settings)"
-            )
-
         super().__init__(**kwargs)
         super().__init__(**kwargs)
         self.platform_client = DeciPlatformClient()
         self.platform_client = DeciPlatformClient()
-        self.platform_client.login(token=auth_token)
+        self.platform_client.login(token=os.getenv("DECI_PLATFORM_TOKEN"))
         self.platform_client.register_experiment(name=kwargs["experiment_name"])
         self.platform_client.register_experiment(name=kwargs["experiment_name"])
         self.checkpoints_dir_path = kwargs["checkpoints_dir_path"]
         self.checkpoints_dir_path = kwargs["checkpoints_dir_path"]
 
 
Discard
@@ -4,6 +4,7 @@ Deci-lab model export example.
 The main purpose of this code is to demonstrate how to upload the model to the platform, optimize and download it
 The main purpose of this code is to demonstrate how to upload the model to the platform, optimize and download it
  after training is complete, using DeciPlatformCallback.
  after training is complete, using DeciPlatformCallback.
 """
 """
+import os
 from super_gradients.training import models
 from super_gradients.training import models
 
 
 from super_gradients import Trainer
 from super_gradients import Trainer
@@ -24,8 +25,7 @@ def main(architecture_name: str):
     # Empty on purpose so that it can be fit to the trainer use case
     # Empty on purpose so that it can be fit to the trainer use case
     checkpoint_dir = ""
     checkpoint_dir = ""
 
 
-    auth_token = "YOUR_API_TOKEN_HERE"
-
+    os.environ["DECI_PLATFORM_TOKEN"] = "YOUR_API_TOKEN_HERE"  # You can also set your token as environment variable using the commandline or your IDE.
     trainer = Trainer(
     trainer = Trainer(
         f"lab_optimization_{architecture_name}_example",
         f"lab_optimization_{architecture_name}_example",
         model_checkpoints_location="local",
         model_checkpoints_location="local",
@@ -64,7 +64,6 @@ def main(architecture_name: str):
     phase_callbacks = [
     phase_callbacks = [
         ModelConversionCheckCallback(model_meta_data=model_meta_data, opset_version=11),
         ModelConversionCheckCallback(model_meta_data=model_meta_data, opset_version=11),
         DeciLabUploadCallback(
         DeciLabUploadCallback(
-            auth_token=auth_token,
             model_meta_data=model_meta_data,
             model_meta_data=model_meta_data,
             optimization_request_form=optimization_request_form,
             optimization_request_form=optimization_request_form,
             opset_version=11,
             opset_version=11,
@@ -84,7 +83,6 @@ def main(architecture_name: str):
         "criterion_params": {},
         "criterion_params": {},
         "train_metrics_list": [Accuracy(), Top5()],
         "train_metrics_list": [Accuracy(), Top5()],
         "valid_metrics_list": [Accuracy(), Top5()],
         "valid_metrics_list": [Accuracy(), Top5()],
-
         "metric_to_watch": "Accuracy",
         "metric_to_watch": "Accuracy",
         "greater_metric_to_watch_is_better": True,
         "greater_metric_to_watch_is_better": True,
         "phase_callbacks": phase_callbacks,
         "phase_callbacks": phase_callbacks,
@@ -92,8 +90,7 @@ def main(architecture_name: str):
 
 
     # RUN TRAINING. ONCE ALL EPOCHS ARE DONE THE OPTIMIZED MODEL FILE WILL BE LOCATED IN THE EXPERIMENT'S
     # RUN TRAINING. ONCE ALL EPOCHS ARE DONE THE OPTIMIZED MODEL FILE WILL BE LOCATED IN THE EXPERIMENT'S
     # CHECKPOINT DIRECTORY
     # CHECKPOINT DIRECTORY
-    trainer.train(model=model, training_params=train_params, train_loader=classification_test_dataloader(),
-                  valid_loader=classification_test_dataloader())
+    trainer.train(model=model, training_params=train_params, train_loader=classification_test_dataloader(), valid_loader=classification_test_dataloader())
 
 
 
 
 if __name__ == "__main__":
 if __name__ == "__main__":
Discard
@@ -228,10 +228,8 @@ class DeciLabUploadCallback(PhaseCallback):
 
 
     Attributes:
     Attributes:
 
 
-        email: (str) username for Deci platform.
         model_meta_data: (ModelMetadata) model's meta-data object.
         model_meta_data: (ModelMetadata) model's meta-data object.
         optimization_request_form: (dict) optimization request form object.
         optimization_request_form: (dict) optimization request form object.
-        password: (str) default=None, should only be used for testing.
         ckpt_name: (str) default="ckpt_best" refers to the filename of the checkpoint, inside the checkpoint directory.
         ckpt_name: (str) default="ckpt_best" refers to the filename of the checkpoint, inside the checkpoint directory.
 
 
         The following parameters may be passed as kwargs in order to control the conversion to onnx:
         The following parameters may be passed as kwargs in order to control the conversion to onnx:
@@ -242,16 +240,17 @@ class DeciLabUploadCallback(PhaseCallback):
         :param output_names
         :param output_names
     """
     """
 
 
-    def __init__(self, model_meta_data, optimization_request_form, auth_token: str = None, ckpt_name="ckpt_best.pth", **kwargs):
+    def __init__(self, model_meta_data, optimization_request_form, ckpt_name="ckpt_best.pth", **kwargs):
         super().__init__(phase=Phase.POST_TRAINING)
         super().__init__(phase=Phase.POST_TRAINING)
         if _imported_deci_lab_failure is not None:
         if _imported_deci_lab_failure is not None:
             raise _imported_deci_lab_failure
             raise _imported_deci_lab_failure
+
         self.model_meta_data = model_meta_data
         self.model_meta_data = model_meta_data
         self.optimization_request_form = optimization_request_form
         self.optimization_request_form = optimization_request_form
         self.conversion_kwargs = kwargs
         self.conversion_kwargs = kwargs
         self.ckpt_name = ckpt_name
         self.ckpt_name = ckpt_name
         self.platform_client = DeciPlatformClient("api.deci.ai", 443, https=True)
         self.platform_client = DeciPlatformClient("api.deci.ai", 443, https=True)
-        self.platform_client.login(token=auth_token)
+        self.platform_client.login(token=os.getenv("DECI_PLATFORM_TOKEN"))
 
 
     @staticmethod
     @staticmethod
     def log_optimization_failed():
     def log_optimization_failed():
Discard
@@ -36,9 +36,7 @@ class DeciLabUploadTest(unittest.TestCase):
         )
         )
 
 
         model_conversion_callback = ModelConversionCheckCallback(model_meta_data=model_meta_data)
         model_conversion_callback = ModelConversionCheckCallback(model_meta_data=model_meta_data)
-        deci_lab_callback = DeciLabUploadCallback(
-            email="trainer-tester@testcase.ai", model_meta_data=model_meta_data, optimization_request_form=optimization_request_form
-        )
+        deci_lab_callback = DeciLabUploadCallback(model_meta_data=model_meta_data, optimization_request_form=optimization_request_form)
 
 
         net = ResNet18(num_classes=5, arch_params={})
         net = ResNet18(num_classes=5, arch_params={})
         train_params = {
         train_params = {
Discard