Skip to content

Commit ff670a0

Browse files
authored
Merge branch 'master' into ioFollowup2
2 parents 4d30d03 + 40f1f98 commit ff670a0

File tree

224 files changed

+26878
-17073
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

224 files changed

+26878
-17073
lines changed

.pylintrc

Lines changed: 389 additions & 43 deletions
Large diffs are not rendered by default.

CHANGELOG.md

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,128 @@
11
# Changelog
22

3+
## v1.34.0 (2019-07-18)
4+
5+
### Features
6+
7+
* Git integration for CodeCommit
8+
* deal with credentials for Git support for GitHub
9+
10+
### Bug fixes and other changes
11+
12+
* modify TODO on disabled Pylint check
13+
* enable consider-using-ternary Pylint check
14+
* enable chained-comparison Pylint check
15+
* enable too-many-public-methods Pylint check
16+
* enable consider-using-in Pylint check
17+
* set num_processes_per_host only if provided by user
18+
* fix attach for 1P algorithm estimators
19+
* enable ungrouped-imports Pylint check
20+
* enable wrong-import-order Pylint check
21+
* enable attribute-defined-outside-init Pylint check
22+
* enable consider-merging-isinstance Pylint check
23+
* enable inconsistent-return-statements Pylint check
24+
* enable simplifiable-if-expression pylint checks
25+
* fix list serialization for 1P algos
26+
* enable no-else-return and no-else-raise pylint checks
27+
* enable unidiomatic-typecheck pylint check
28+
29+
## v1.33.0 (2019-07-10)
30+
31+
### Features
32+
33+
* git support for hosting models
34+
* allow custom model name during deploy
35+
36+
### Bug fixes and other changes
37+
38+
* remove TODO comment on import-error Pylint check
39+
* enable wrong-import-position pylint check
40+
* Revert "change: enable wrong-import-position pylint check (#907)"
41+
* enable signature-differs pylint check
42+
* enable wrong-import-position pylint check
43+
* enable logging-not-lazy pylint check
44+
* reset default output path in Transformer.transform
45+
* Add ap-northeast-1 to Neo algorithms region map
46+
47+
## v1.32.2 (2019-07-08)
48+
49+
### Bug fixes and other changes
50+
51+
* enable logging-format-interpolation pylint check
52+
* remove superfluous parens per Pylint rule
53+
54+
### Documentation changes
55+
56+
* add pypi, rtd, black badges to readme
57+
58+
## v1.32.1 (2019-07-04)
59+
60+
### Bug fixes and other changes
61+
62+
* correct code per len-as-condition Pylint check
63+
* tighten pylint config and expand C and R exceptions
64+
* Update displaytime.sh
65+
* fix notebook tests
66+
* separate unit, local mode, and notebook tests in different buildspecs
67+
68+
### Documentation changes
69+
70+
* refactor the overview topic in the sphinx project
71+
72+
## v1.32.0 (2019-07-02)
73+
74+
### Features
75+
76+
* support Endpoint_type for TF transform
77+
78+
### Bug fixes and other changes
79+
80+
* fix git test in test_estimator.py
81+
* Add ap-northeast-1 to Neo algorithms region map
82+
83+
## v1.31.1 (2019-07-01)
84+
85+
### Bug fixes and other changes
86+
87+
* print build execution time
88+
* remove unnecessary failure case tests
89+
* build spec improvements.
90+
91+
## v1.31.0 (2019-06-27)
92+
93+
### Features
94+
95+
* use deep learning images
96+
97+
### Bug fixes and other changes
98+
99+
* Update buildspec.yml
100+
* allow only one integration test run per time
101+
* remove unnecessary P3 tests from TFS integration tests
102+
* add pytest.mark.local_mode annotation to broken tests
103+
104+
## v1.30.0 (2019-06-25)
105+
106+
### Features
107+
108+
* add TensorFlow 1.13 support
109+
* add git_config and git_clone, validate method
110+
111+
### Bug fixes and other changes
112+
113+
* add pytest.mark.local_mode annotation to broken tests
114+
115+
## v1.29.0 (2019-06-24)
116+
117+
### Features
118+
119+
* network isolation mode in training
120+
121+
### Bug fixes and other changes
122+
123+
* Integrate black into development process
124+
* moving not canary TFS tests to local mode
125+
3126
## v1.28.3 (2019-06-20)
4127

5128
### Bug fixes and other changes

README.rst

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,22 @@ SageMaker Python SDK
1414
:target: https://codecov.io/gh/aws/sagemaker-python-sdk
1515
:alt: CodeCov
1616

17+
.. image:: https://img.shields.io/pypi/v/sagemaker.svg
18+
:target: https://pypi.python.org/pypi/sagemaker
19+
:alt: Latest Version
20+
21+
.. image:: https://img.shields.io/pypi/pyversions/sagemaker.svg
22+
:target: https://pypi.python.org/pypi/sagemaker
23+
:alt: Supported Python Versions
24+
25+
.. image:: https://img.shields.io/badge/code_style-black-000000.svg
26+
:target: https://github.com/python/black
27+
:alt: Code style: black
28+
29+
.. image:: https://readthedocs.org/projects/sagemaker/badge/?version=stable
30+
:target: https://sagemaker.readthedocs.io/en/stable/
31+
:alt: Documentation Status
32+
1733
SageMaker Python SDK is an open source library for training and deploying machine learning models on Amazon SageMaker.
1834

1935
With the SDK, you can train and deploy models using popular deep learning frameworks **Apache MXNet** and **TensorFlow**.
@@ -157,9 +173,9 @@ MXNet SageMaker Estimators
157173

158174
By using MXNet SageMaker Estimators, you can train and host MXNet models on Amazon SageMaker.
159175

160-
Supported versions of MXNet: ``0.12.1``, ``1.0.0``, ``1.1.0``, ``1.2.1``, ``1.3.0``, ``1.4.0``.
176+
Supported versions of MXNet: ``0.12.1``, ``1.0.0``, ``1.1.0``, ``1.2.1``, ``1.3.0``, ``1.4.0``, ``1.4.1``.
161177

162-
Supported versions of MXNet for Elastic Inference: ``1.3.0``, ``1.4.0``.
178+
Supported versions of MXNet for Elastic Inference: ``1.3.0``, ``1.4.0``, ``1.4.1``.
163179

164180
We recommend that you use the latest supported version, because that's where we focus most of our development efforts.
165181

@@ -173,7 +189,7 @@ TensorFlow SageMaker Estimators
173189

174190
By using TensorFlow SageMaker Estimators, you can train and host TensorFlow models on Amazon SageMaker.
175191

176-
Supported versions of TensorFlow: ``1.4.1``, ``1.5.0``, ``1.6.0``, ``1.7.0``, ``1.8.0``, ``1.9.0``, ``1.10.0``, ``1.11.0``, ``1.12.0``.
192+
Supported versions of TensorFlow: ``1.4.1``, ``1.5.0``, ``1.6.0``, ``1.7.0``, ``1.8.0``, ``1.9.0``, ``1.10.0``, ``1.11.0``, ``1.12.0``, ``1.13.1``.
177193

178194
Supported versions of TensorFlow for Elastic Inference: ``1.11.0``, ``1.12.0``.
179195

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.28.4.dev0
1+
1.34.1.dev0

buildspec-localmodetests.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
version: 0.2
2+
3+
phases:
4+
pre_build:
5+
commands:
6+
- start-dockerd
7+
8+
build:
9+
commands:
10+
- IGNORE_COVERAGE=-
11+
12+
# local mode tests
13+
- start_time=`date +%s`
14+
- |
15+
if has-matching-changes "tests/" "src/*.py" "setup.py" "setup.cfg" "buildspec.yml"; then
16+
tox -e py36 -- tests/integ -m local_mode --durations 50
17+
fi
18+
- ./ci-scripts/displaytime.sh 'py36 local mode' $start_time
19+
20+
- start_time=`date +%s`
21+
- |
22+
if has-matching-changes "tests/" "src/*.py" "setup.py" "setup.cfg" "buildspec.yml"; then
23+
tox -e py27 -- tests/integ -m local_mode --durations 50
24+
fi
25+
- ./ci-scripts/displaytime.sh 'py27 local mode' $start_time

buildspec-notebooktests.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
version: 0.2
2+
3+
phases:
4+
build:
5+
commands:
6+
# run notebook test
7+
- echo "running notebook test"
8+
- start_time=`date +%s`
9+
- |
10+
if has-matching-changes "src/*.py" "setup.py" "setup.cfg" "tests/scripts/run-notebook-test.sh"; then
11+
./tests/scripts/run-notebook-test.sh
12+
fi
13+
- ./ci-scripts/displaytime.sh 'notebook test' $start_time

buildspec-release.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ phases:
99
# run linters
1010
- tox -e flake8,pylint
1111

12+
# run format verification
13+
- tox -e black-check
14+
1215
# run package and docbuild checks
1316
- tox -e twine
1417
- tox -e sphinx

buildspec-unittests.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
version: 0.2
2+
3+
phases:
4+
build:
5+
commands:
6+
# run linters
7+
- TOX_PARALLEL_NO_SPINNER=1
8+
- PY_COLORS=0
9+
- start_time=`date +%s`
10+
- tox -e flake8,pylint,twine,black-check --parallel all
11+
- ./ci-scripts/displaytime.sh 'flake8,pylint,twine,black-check' $start_time
12+
13+
- start_time=`date +%s`
14+
- tox -e sphinx
15+
- ./ci-scripts/displaytime.sh 'sphinx' $start_time
16+
17+
# run unit tests
18+
- start_time=`date +%s`
19+
- AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_SESSION_TOKEN=
20+
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI= AWS_DEFAULT_REGION=
21+
tox -e py36,py27 --parallel all -- tests/unit
22+
- ./ci-scripts/displaytime.sh 'py36,py27 unit' $start_time

buildspec.yml

Lines changed: 21 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,32 @@
11
version: 0.2
22

33
phases:
4-
pre_build:
5-
commands:
6-
- start-dockerd
7-
84
build:
95
commands:
10-
# run linters
11-
- tox -e flake8,pylint
12-
13-
# run package and docbuild checks
14-
- tox -e twine
15-
- tox -e sphinx
6+
- IGNORE_COVERAGE=-
167

17-
# run unit tests
18-
- AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_SESSION_TOKEN=
19-
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI= AWS_DEFAULT_REGION=
20-
tox -e py36,py27 -- tests/unit
21-
22-
# run notebook test
8+
# run integration tests
9+
- start_time=`date +%s`
2310
- |
24-
if has-matching-changes "src/*.py" "setup.py" "setup.cfg" "buildspec.yml"; then
25-
echo "running notebook test"
26-
./tests/scripts/run-notebook-test.sh
27-
else
28-
echo "skipping notebook test"
29-
fi
11+
if has-matching-changes "tests/" "src/*.py" "setup.py" "setup.cfg" "buildspec.yml"; then
12+
python3 -u ci-scripts/queue_build.py
13+
fi
14+
- ./ci-scripts/displaytime.sh 'build queue' $start_time
3015

31-
# run integration tests
16+
- start_time=`date +%s`
3217
- |
3318
if has-matching-changes "tests/" "src/*.py" "setup.py" "setup.cfg" "buildspec.yml"; then
34-
IGNORE_COVERAGE=- tox -e py36,py27 -- tests/integ -n 24 --boxed --reruns 2
35-
else
36-
echo "skipping integration tests"
19+
tox -e py36 -- tests/integ -m "not local_mode" -n 48 --reruns 3 --reruns-delay 5 --durations 50
20+
fi
21+
- ./ci-scripts/displaytime.sh 'py36 tests/integ' $start_time
22+
23+
post_build:
24+
finally:
25+
- |
26+
if [ -d "ci-lock" ]; then
27+
FILENAME=$(ls ci-lock/ || true)
28+
ACCOUNT=$(aws sts get-caller-identity --output text | awk '{print $1}')
29+
S3_BUCKET_DIR=s3://sagemaker-us-west-2-${ACCOUNT}/ci-lock/
30+
aws s3 rm ${S3_BUCKET_DIR}${FILENAME}
3731
fi
32+

ci-scripts/displaytime.sh

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#!/usr/bin/env bash
2+
# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
#
4+
# Licensed under the Apache License, Version 2.0 (the "License"). You
5+
# may not use this file except in compliance with the License. A copy of
6+
# the License is located at
7+
#
8+
# http://aws.amazon.com/apache2.0/
9+
#
10+
# or in the "license" file accompanying this file. This file is
11+
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
12+
# ANY KIND, either express or implied. See the License for the specific
13+
# language governing permissions and limitations under the License.
14+
15+
set -euo pipefail
16+
17+
echo =================== $1 execution time ===================
18+
19+
start_time=$2
20+
end_time=`date +%s`
21+
total_time=$(expr $end_time - $start_time + 1)
22+
hours=$((total_time/60/60%24))
23+
minutes=$((total_time/60%60))
24+
secs=$((total_time%60))
25+
26+
(( $hours > 0 )) && printf '%d hours ' $hours
27+
(( $minutes > 0 )) && printf '%d minutes ' $minutes
28+
(( $hours > 0 || $minutes > 0 )) && printf 'and '
29+
printf '%d seconds\n\n' $secs

0 commit comments

Comments
 (0)