You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Yes, since the Tracker class is the suggested way to create TrialComponent objects, it would be nice to be able to set tags when using Tracker.create(...). Currently, TrialComponent.create(...) supports setting tags but there is no way to pass it through to the Tracker.create(...) method.
Describe the solution you'd like
I would like to be able to call Tracker.create(..., tags=my_tags) and then for the tags to be passed to TrialComponent. e.g. TrialComponent.create(..., tags=my_tags)`
Example solution in tracker.py:
@classmethoddefcreate(
cls,
base_trial_component_name="TrialComponent",
display_name=None,
artifact_bucket=None,
artifact_prefix=None,
boto3_session=None,
tags=None,
sagemaker_boto_client=None,
):
"""Create a new ``Tracker`` by creating a new trial component. Note that `log_metric` will _not_ work when tracker is created this way. Examples .. code-block:: python from smexperiments import tracker my_tracker = tracker.Tracker.create() Args: base_trial_component_name: (str,optional). The name of the trial component resource that will be appended with a timestamp. Defaults to "TrialComponent". display_name: (str, optional). The display name of the trial component to track. artifact_bucket: (str, optional) The name of the S3 bucket to store artifacts to. artifact_prefix: (str, optional) The prefix to write artifacts to within ``artifact_bucket`` boto3_session: (boto3.Session, optional) The boto3.Session to use to interact with AWS services. If not specified a new default boto3 session will be created. sagemaker_boto_client: (boto3.Client, optional) The SageMaker AWS service client to use. If not specified a new client will be created from the specified ``boto3_session`` or default boto3.Session. Returns: Tracker: The tracker for the new trial component. """boto3_session=boto3_sessionor_utils.boto_session()
sagemaker_boto_client=sagemaker_boto_clientor_utils.sagemaker_client()
tc=trial_component.TrialComponent.create(
trial_component_name=_utils.name(base_trial_component_name),
display_name=display_name,
tags=tagssagemaker_boto_client=sagemaker_boto_client,
)
# metrics require the metrics agent running on training job hosts and in which case the load# method should be used because it loads the trial component associated with the currently# running training jobmetrics_writer=Nonereturncls(
tc,
metrics_writer,
_ArtifactUploader(tc.trial_component_name, artifact_bucket, artifact_prefix, boto3_session),
_LineageArtifactTracker(tc.trial_component_arn, sagemaker_boto_client),
)
Describe alternatives you've considered
Creating a TrialComponent manually with my required tags and then using the Tracker.load() method to load the TrialComponent.
Additional context
This feature is specifically useful for cases where access permissions will be limited according to resource tags.
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
Yes, since the Tracker class is the suggested way to create TrialComponent objects, it would be nice to be able to set tags when using
Tracker.create(...)
. Currently,TrialComponent.create(...)
supports setting tags but there is no way to pass it through to theTracker.create(...)
method.Describe the solution you'd like
I would like to be able to call
Tracker.create(..., tags=my_tags)
and then for the tags to be passed to TrialComponent. e.g. TrialComponent.create(..., tags=my_tags)`Example solution in tracker.py:
Describe alternatives you've considered
Creating a TrialComponent manually with my required tags and then using the
Tracker.load()
method to load the TrialComponent.Additional context
This feature is specifically useful for cases where access permissions will be limited according to resource tags.
The text was updated successfully, but these errors were encountered: