Skip to content

Commit b96c8f6

Browse files
authored
Merge branch 'master' into doc_clarify_1.0.9
2 parents 5a788dd + 3dd4d5a commit b96c8f6

File tree

12 files changed

+81
-13
lines changed

12 files changed

+81
-13
lines changed

CHANGELOG.md

+12
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# Changelog
22

3+
## v2.49.1 (2021-07-19)
4+
5+
### Bug Fixes and Other Changes
6+
7+
* Set flag when debugger is disabled
8+
* KMS Key fix for kwargs
9+
* Update BiasConfig to accept multiple facet params
10+
11+
### Documentation Changes
12+
13+
* Update huggingface estimator documentation
14+
315
## v2.49.0 (2021-07-15)
416

517
### Features

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.49.1.dev0
1+
2.49.2.dev0

doc/_static/aws-ux-shortbread/index.js

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

doc/_static/aws-ux-shortbread/init.js

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
(function (w) {
2+
w.URLSearchParams = w.URLSearchParams || function (searchString) {
3+
var self = this;
4+
self.searchString = searchString;
5+
self.get = function (name) {
6+
var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(self.searchString);
7+
if (results === null) {
8+
return null;
9+
}
10+
else {
11+
return decodeURI(results[1]) || 0;
12+
}
13+
};
14+
}
15+
})(window);
16+
17+
const queryString = window.location.search;
18+
const urlParams = new URLSearchParams(queryString);
19+
const lang = urlParams.get('lang')
20+
window.onload = function () {
21+
var domainName = window.location.hostname;
22+
23+
// remove an instance of shortbread if already exists
24+
var existingShortbreadEl = document.getElementById("awsccc-sb-ux-c");
25+
existingShortbreadEl && existingShortbreadEl.remove();
26+
27+
var shortbread = AWSCShortbread({
28+
domain: domainName,
29+
language: lang,
30+
//queryGeolocation: function (geolocatedIn) { geolocatedIn("EU") },
31+
});
32+
33+
shortbread.checkForCookieConsent();
34+
}

doc/conf.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,12 @@
6868

6969
htmlhelp_basename = "%sdoc" % project
7070

71-
html_js_files = ["https://a0.awsstatic.com/s_code/js/1.0/awshome_s_code.js", "js/analytics.js"]
71+
# For Adobe Analytics
72+
html_js_files = [
73+
"https://a0.awsstatic.com/s_code/js/3.0/awshome_s_code.js",
74+
"aws-ux-shortbread/index.js",
75+
"aws-ux-shortbread/init.js",
76+
]
7277

7378
html_context = {"css_files": ["_static/theme_overrides.css"]}
7479

src/sagemaker/debugger/__init__.py

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
from sagemaker.debugger.debugger import ( # noqa: F401
1717
CollectionConfig,
18+
DEBUGGER_FLAG,
1819
DebuggerHookConfig,
1920
framework_name,
2021
get_default_profiler_rule,

src/sagemaker/debugger/debugger.py

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
from sagemaker.utils import build_dict
3333

3434
framework_name = "debugger"
35+
DEBUGGER_FLAG = "USE_SMDEBUG"
3536

3637

3738
def get_rule_container_image_uri(region):

src/sagemaker/estimator.py

+6
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
from sagemaker.analytics import TrainingJobAnalytics
3030
from sagemaker.debugger import TensorBoardOutputConfig # noqa: F401 # pylint: disable=unused-import
3131
from sagemaker.debugger import (
32+
DEBUGGER_FLAG,
3233
DebuggerHookConfig,
3334
FrameworkProfile,
3435
get_default_profiler_rule,
@@ -2269,6 +2270,11 @@ def _validate_and_set_debugger_configs(self):
22692270
)
22702271
self.debugger_hook_config = False
22712272

2273+
if self.debugger_hook_config is False:
2274+
if self.environment is None:
2275+
self.environment = {}
2276+
self.environment[DEBUGGER_FLAG] = "0"
2277+
22722278
def _stage_user_code_in_s3(self):
22732279
"""Upload the user training script to s3 and return the location.
22742280

src/sagemaker/huggingface/estimator.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,10 @@ def __init__(
7070
``image_uri`` is provided. The current supported version is ``4.6.1``.
7171
tensorflow_version (str): TensorFlow version you want to use for
7272
executing your model training code. Defaults to ``None``. Required unless
73-
``pytorch_version`` is provided. The current supported version is ``1.6.0``.
73+
``pytorch_version`` is provided. The current supported version is ``2.4.1``.
7474
pytorch_version (str): PyTorch version you want to use for
7575
executing your model training code. Defaults to ``None``. Required unless
76-
``tensorflow_version`` is provided. The current supported version is ``2.4.1``.
76+
``tensorflow_version`` is provided. The current supported versions are ``1.7.1`` and ``1.6.0``.
7777
source_dir (str): Path (absolute, relative or an S3 URI) to a directory
7878
with any other training source code dependencies aside from the entry
7979
point file (default: None). If ``source_dir`` is an S3 URI, it must

src/sagemaker/workflow/step_collections.py

+11-8
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,8 @@ def __init__(
112112
if "entry_point" in kwargs:
113113
repack_model = True
114114
entry_point = kwargs.pop("entry_point", None)
115-
source_dir = kwargs.get("source_dir")
116-
dependencies = kwargs.get("dependencies")
115+
source_dir = kwargs.pop("source_dir", None)
116+
dependencies = kwargs.pop("dependencies", None)
117117
kwargs = dict(**kwargs, output_kms_key=kwargs.pop("model_kms_key", None))
118118

119119
repack_model_step = _RepackModelStep(
@@ -130,13 +130,10 @@ def __init__(
130130
steps.append(repack_model_step)
131131
model_data = repack_model_step.properties.ModelArtifacts.S3ModelArtifacts
132132

133-
# remove kwargs consumed by model repacking step
134-
kwargs.pop("entry_point", None)
135-
kwargs.pop("source_dir", None)
136-
kwargs.pop("dependencies", None)
137-
kwargs.pop("output_kms_key", None)
133+
# remove kwargs consumed by model repacking step
134+
kwargs.pop("output_kms_key", None)
138135

139-
if model is not None:
136+
elif model is not None:
140137
if isinstance(model, PipelineModel):
141138
self.model_list = model.models
142139
self.container_def_list = model.pipeline_container_def(inference_instances[0])
@@ -156,7 +153,9 @@ def __init__(
156153
entry_point = model_entity.entry_point
157154
source_dir = model_entity.source_dir
158155
dependencies = model_entity.dependencies
156+
kwargs = dict(**kwargs, output_kms_key=model_entity.model_kms_key)
159157
name = model_entity.name or model_entity._framework_name
158+
160159
repack_model_step = _RepackModelStep(
161160
name=f"{name}RepackModel",
162161
depends_on=depends_on,
@@ -166,12 +165,16 @@ def __init__(
166165
entry_point=entry_point,
167166
source_dir=source_dir,
168167
dependencies=dependencies,
168+
**kwargs,
169169
)
170170
steps.append(repack_model_step)
171171
model_entity.model_data = (
172172
repack_model_step.properties.ModelArtifacts.S3ModelArtifacts
173173
)
174174

175+
# remove kwargs consumed by model repacking step
176+
kwargs.pop("output_kms_key", None)
177+
175178
register_model_step = _RegisterModelStep(
176179
name=name,
177180
estimator=estimator,

tests/integ/test_debugger.py

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import pytest
1919

2020
from sagemaker.debugger.debugger import (
21+
DEBUGGER_FLAG,
2122
DebuggerHookConfig,
2223
Rule,
2324
rule_configs,
@@ -748,6 +749,7 @@ def test_mxnet_with_debugger_hook_config_disabled(
748749
job_description = mx.latest_training_job.describe()
749750

750751
assert job_description.get("DebugHookConfig") is None
752+
assert job_description.get("Environment", {}).get(DEBUGGER_FLAG) == "0"
751753

752754

753755
def _get_rule_evaluation_statuses(job_description):

tests/unit/sagemaker/workflow/test_steps.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
patch,
2424
)
2525

26-
from sagemaker.debugger import ProfilerConfig
26+
from sagemaker.debugger import DEBUGGER_FLAG, ProfilerConfig
2727
from sagemaker.estimator import Estimator
2828
from sagemaker.tensorflow import TensorFlow
2929
from sagemaker.inputs import TrainingInput, TransformInput, CreateModelInput
@@ -275,6 +275,7 @@ def test_training_step_tensorflow(sagemaker_session):
275275
"sagemaker_distributed_dataparallel_custom_mpi_options": '""',
276276
},
277277
"ProfilerConfig": {"S3OutputPath": "s3://my-bucket/"},
278+
"Environment": {DEBUGGER_FLAG: "0"},
278279
},
279280
"CacheConfig": {"Enabled": True, "ExpireAfter": "PT1H"},
280281
}

0 commit comments

Comments
 (0)