This is an automated email from the ASF dual-hosted git repository.

pingsutw pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/submarine.git


The following commit(s) were added to refs/heads/master by this push:
     new 63e5f5c  SUBMARINE-1071. Fix pysubmarine test of tensorflow2
63e5f5c is described below

commit 63e5f5c199841bd7cfb3b103252ae93cd3ebbde1
Author: featherchen <[email protected]>
AuthorDate: Tue Nov 2 16:54:41 2021 +0800

    SUBMARINE-1071. Fix pysubmarine test of tensorflow2
    
    ### What is this PR for?
    <!-- A few sentences describing the overall goals of the pull request's 
commits.
    First time? Check out the contributing guide - 
https://submarine.apache.org/contribution/contributions.html
    -->
    Due to package version problem, we need to downgrade tensorflow-estimator 
to 2.6.0 and upgrade numpy to 1.19.2.
    Also I have refactored the workflow of python-sdk test to make it more 
clear.
    
    ### What type of PR is it?
    Bug Fix
    
    ### Todos
    * [x] - Fix test
    
    ### What is the Jira issue?
    <!-- * Open an issue on Jira 
https://issues.apache.org/jira/browse/SUBMARINE/
    * Put link here, and add [SUBMARINE-*Jira number*] in PR title, eg. 
`SUBMARINE-23. PR title`
    -->
    
https://issues.apache.org/jira/projects/SUBMARINE/issues/SUBMARINE-1071?filter=allopenissues
    ### How should this be tested?
    <!--
    * First time? Setup Travis CI as described on 
https://submarine.apache.org/contribution/contributions.html#continuous-integration
    * Strongly recommended: add automated unit tests for any new or changed 
behavior
    * Outline any manual steps to test the PR here.
    -->
    By Github action
    ### Screenshots (if appropriate)
    
    ### Questions:
    * Do the license files need updating? No
    * Are there breaking changes for older versions? No
    * Does this need new documentation? No
    
    Author: featherchen <[email protected]>
    
    Signed-off-by: Kevin <[email protected]>
    
    Closes #792 from featherchen/SUBMARINE-1071 and squashes the following 
commits:
    
    68fb4606 [featherchen] change job name
    7d231ae8 [featherchen] refactor
    3df75c20 [featherchen] refactor
    2d4dc795 [featherchen] refactor
    25c77769 [featherchen] refactor
    e231e510 [featherchen] add -e
    e1348d56 [featherchen] echo
    01afc4ce [featherchen] refactor python workflow of CI/CD
    c556f434 [featherchen] refactor python workflow of CI/CD
    0108c249 [featherchen] refactor python workflow of CI/CD
    bdc7545c [featherchen] refactor python workflow of CI/CD
    e342e00b [featherchen] refactor python workflow of CI/CD
    bb316cda [featherchen] refactor python workflow of CI/CD
    a9f307b7 [featherchen] refactor python workflow of CI/CD
    042ae7c4 [featherchen] downgrade tensorflow-estimator to 2.6.0
    4185c5e5 [featherchen] downgrade tensorflow-estimator to 2.6.0
    1ad8e8be [featherchen] downgrade tensorflow-estimator to 2.6.0
---
 .github/workflows/python.yml                       | 34 ++++++++++++++--------
 submarine-sdk/pysubmarine/setup.py                 | 11 +++++--
 .../ml/tensorflow/model/test_base_tf_model.py      |  4 +--
 .../tests/ml/tensorflow/model/test_ccpm.py         |  4 +--
 .../tests/ml/tensorflow/model/test_deepfm.py       |  5 ++--
 .../tests/ml/tensorflow/model/test_fm.py           |  4 +--
 .../tests/ml/tensorflow/model/test_nfm.py          |  4 +--
 .../tests/ml/tensorflow/test_optimizer.py          |  4 +--
 .../ml/tensorflow_v2/model/test_base_tf_model.py   |  4 +--
 .../tests/ml/tensorflow_v2/model/test_ccpm.py      |  4 +--
 .../tests/ml/tensorflow_v2/model/test_deepfm.py    |  4 +--
 .../tests/ml/tensorflow_v2/model/test_fm.py        |  5 ++--
 .../tests/ml/tensorflow_v2/model/test_nfm.py       |  4 +--
 .../tests/ml/tensorflow_v2/test_optimizer.py       |  5 ++--
 14 files changed, 57 insertions(+), 39 deletions(-)

diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml
index f5b6b64..137e200 100644
--- a/.github/workflows/python.yml
+++ b/.github/workflows/python.yml
@@ -19,13 +19,26 @@ name: python-sdk
 on: [push, pull_request]
 
 jobs:
+  check-style:
+    runs-on: ubuntu-latest
+    timeout-minutes: 30
+    steps:
+      - uses: actions/checkout@v2
+      - name: Install dependencies
+        run: |
+          pip install --upgrade pip  
+          pip install -r ./dev-support/style-check/python/lint-requirements.txt
+          pip install -r ./dev-support/style-check/python/mypy-requirements.txt
+      - name: Check python sdk code style
+        run: ./dev-support/style-check/python/lint.sh
+
   unit:
     runs-on: ubuntu-latest
     timeout-minutes: 30
     strategy:
       matrix:
         python-version: [3.6, 3.7]
-        tf-version: [1.14.0, 1.15.0, 2.6.0]
+        tf-version: [1.15.0, 2.6.0]
       fail-fast: false
     steps:
       - uses: actions/checkout@v2
@@ -33,19 +46,16 @@ jobs:
         uses: actions/setup-python@v2
         with:
           python-version: ${{ matrix.python-version }}
-      - name: Install dependencies
+      - name: Install requirements
         run: |
-          pip install --upgrade pip
-          pip install --no-cache-dir tensorflow==${{ matrix.tf-version }}
-          pip install --no-cache-dir torch==1.5.0
-          pip install --no-cache-dir tensorflow-addons
-          pip install --no-cache-dir tf_slim
-          pip install --no-cache-dir ./submarine-sdk/pysubmarine/.
+          pip install --upgrade pip  
           pip install -r 
./submarine-sdk/pysubmarine/github-actions/test-requirements.txt
-          pip install -r ./dev-support/style-check/python/lint-requirements.txt
-          pip install -r ./dev-support/style-check/python/mypy-requirements.txt
-      - name: Check python sdk code style
-        run: ./dev-support/style-check/python/lint.sh
+      - name: Install pysubmarine with tf1 and pytorch
+        if: matrix.tf-version == '1.15.0'
+        run: pip install --no-cache-dir -e 
./submarine-sdk/pysubmarine/.[tf,pytorch]
+      - name: Install pysubmarine with tf2 and pytorch
+        if: matrix.tf-version == '2.6.0'
+        run: pip install --no-cache-dir -e 
./submarine-sdk/pysubmarine/.[tf2,pytorch]
       - name: Run unit test
         run: pytest --cov=submarine -vs -m "not e2e"
 
diff --git a/submarine-sdk/pysubmarine/setup.py 
b/submarine-sdk/pysubmarine/setup.py
index eb2a687..1935c01 100644
--- a/submarine-sdk/pysubmarine/setup.py
+++ b/submarine-sdk/pysubmarine/setup.py
@@ -28,7 +28,7 @@ setup(
     packages=find_packages(exclude=["tests", "tests.*"]),
     install_requires=[
         "six>=1.10.0",
-        "numpy==1.18.5",
+        "numpy==1.19.2",
         "pandas",
         "sqlalchemy>=1.4.0",
         "sqlparse",
@@ -42,8 +42,13 @@ setup(
         "boto3>=1.17.58",
     ],
     extras_require={
-        "tf": ["tensorflow>=1.14.0,<2.0.0"],
-        "tf2": ["tensorflow==2.6.0", "tf_slim==1.1.0", 
"tensorflow-addons==0.14.0"],
+        "tf": ["tensorflow==1.15.0"],
+        "tf2": [
+            "tensorflow==2.6.0",
+            "tf_slim==1.1.0",
+            "tensorflow-addons==0.14.0",
+            "tensorflow-estimator==2.6.0",
+        ],
         "pytorch": ["torch>=1.5.0", "torchvision>=0.6.0"],
     },
     classifiers=[
diff --git 
a/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/test_base_tf_model.py 
b/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/test_base_tf_model.py
index 8bf7915..17978e2 100644
--- a/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/test_base_tf_model.py
+++ b/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/test_base_tf_model.py
@@ -16,11 +16,11 @@
 import pytest
 import tensorflow as tf
 
-from submarine.ml.tensorflow.model.base_tf_model import BaseTFModel
-
 
 @pytest.mark.skipif(tf.__version__ >= "2.0.0", reason="requires tf1")
 def test_create_base_tf_model():
+    from submarine.ml.tensorflow.model.base_tf_model import BaseTFModel
+
     params = {"learning rate": 0.05}
     with pytest.raises(AssertionError, match="Does not define any input 
parameters"):
         BaseTFModel(params)
diff --git a/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/test_ccpm.py 
b/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/test_ccpm.py
index bc0fa87..b3422c1 100644
--- a/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/test_ccpm.py
+++ b/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/test_ccpm.py
@@ -16,11 +16,11 @@
 import pytest
 import tensorflow as tf
 
-from submarine.ml.tensorflow.model import CCPM
-
 
 @pytest.mark.skipif(tf.__version__ >= "2.0.0", reason="requires tf1")
 def test_run_ccpm(get_model_param):
+    from submarine.ml.tensorflow.model import CCPM
+
     params = get_model_param
 
     model = CCPM(model_params=params)
diff --git a/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/test_deepfm.py 
b/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/test_deepfm.py
index 2a6bd8d..e9aff62 100644
--- a/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/test_deepfm.py
+++ b/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/test_deepfm.py
@@ -16,11 +16,12 @@
 import pytest
 import tensorflow as tf
 
-from submarine.ml.tensorflow.model import DeepFM
-
 
 @pytest.mark.skipif(tf.__version__ >= "2.0.0", reason="requires tf1")
 def test_run_deepfm(get_model_param):
+
+    from submarine.ml.tensorflow.model import DeepFM
+
     params = get_model_param
 
     model = DeepFM(model_params=params)
diff --git a/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/test_fm.py 
b/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/test_fm.py
index fb5abb8..200c0a7 100644
--- a/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/test_fm.py
+++ b/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/test_fm.py
@@ -16,11 +16,11 @@
 import pytest
 import tensorflow as tf
 
-from submarine.ml.tensorflow.model import FM
-
 
 @pytest.mark.skipif(tf.__version__ >= "2.0.0", reason="requires tf1")
 def test_run_fm(get_model_param):
+    from submarine.ml.tensorflow.model import FM
+
     params = get_model_param
 
     model = FM(model_params=params)
diff --git a/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/test_nfm.py 
b/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/test_nfm.py
index 5000810..980aa44 100644
--- a/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/test_nfm.py
+++ b/submarine-sdk/pysubmarine/tests/ml/tensorflow/model/test_nfm.py
@@ -16,11 +16,11 @@
 import pytest
 import tensorflow as tf
 
-from submarine.ml.tensorflow.model import NFM
-
 
 @pytest.mark.skipif(tf.__version__ >= "2.0.0", reason="requires tf1")
 def test_run_nfm(get_model_param):
+    from submarine.ml.tensorflow.model import NFM
+
     params = get_model_param
 
     model = NFM(model_params=params)
diff --git a/submarine-sdk/pysubmarine/tests/ml/tensorflow/test_optimizer.py 
b/submarine-sdk/pysubmarine/tests/ml/tensorflow/test_optimizer.py
index 776ed49..4841dcd 100644
--- a/submarine-sdk/pysubmarine/tests/ml/tensorflow/test_optimizer.py
+++ b/submarine-sdk/pysubmarine/tests/ml/tensorflow/test_optimizer.py
@@ -16,11 +16,11 @@
 import pytest
 import tensorflow as tf
 
-from submarine.ml.tensorflow.optimizer import get_optimizer
-
 
 @pytest.mark.skipif(tf.__version__ >= "2.0.0", reason="requires tf1")
 def test_get_optimizer():
+    from submarine.ml.tensorflow.optimizer import get_optimizer
+
     optimizer_keys = ["adam", "adagrad", "momentum", "ftrl"]
     invalid_optimizer_keys = ["adddam"]
 
diff --git 
a/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/test_base_tf_model.py 
b/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/test_base_tf_model.py
index e706abb..74556ac 100644
--- 
a/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/test_base_tf_model.py
+++ 
b/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/test_base_tf_model.py
@@ -16,11 +16,11 @@
 import pytest
 import tensorflow as tf
 
-from submarine.ml.tensorflow_v2.model.base_tf_model import BaseTFModel
-
 
 @pytest.mark.skipif(tf.__version__ < "2.0.0", reason="requires tf2")
 def test_create_base_tf_model():
+    from submarine.ml.tensorflow_v2.model.base_tf_model import BaseTFModel
+
     params = {"learning rate": 0.05}
     with pytest.raises(AssertionError, match="Does not define any input 
parameters"):
         BaseTFModel(params)
diff --git 
a/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/test_ccpm.py 
b/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/test_ccpm.py
index 858b6bb..99d78df 100644
--- a/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/test_ccpm.py
+++ b/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/test_ccpm.py
@@ -16,11 +16,11 @@
 import pytest
 import tensorflow as tf
 
-from submarine.ml.tensorflow_v2.model import CCPM
-
 
 @pytest.mark.skipif(tf.__version__ < "2.0.0", reason="requires tf2")
 def test_run_ccpm(get_model_param):
+    from submarine.ml.tensorflow_v2.model import CCPM
+
     params = get_model_param
 
     model = CCPM(model_params=params)
diff --git 
a/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/test_deepfm.py 
b/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/test_deepfm.py
index c6f2d4d..bcaecf2 100644
--- a/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/test_deepfm.py
+++ b/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/test_deepfm.py
@@ -16,11 +16,11 @@
 import pytest
 import tensorflow as tf
 
-from submarine.ml.tensorflow_v2.model import DeepFM
-
 
 @pytest.mark.skipif(tf.__version__ < "2.0.0", reason="requires tf2")
 def test_run_deepfm(get_model_param):
+    from submarine.ml.tensorflow_v2.model import DeepFM
+
     params = get_model_param
 
     model = DeepFM(model_params=params)
diff --git a/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/test_fm.py 
b/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/test_fm.py
index 1d95304..e8e5717 100644
--- a/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/test_fm.py
+++ b/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/test_fm.py
@@ -16,11 +16,12 @@
 import pytest
 import tensorflow as tf
 
-from submarine.ml.tensorflow_v2.model import FM
-
 
 @pytest.mark.skipif(tf.__version__ < "2.0.0", reason="requires tf2")
 def test_run_fm(get_model_param):
+
+    from submarine.ml.tensorflow_v2.model import FM
+
     params = get_model_param
 
     model = FM(model_params=params)
diff --git a/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/test_nfm.py 
b/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/test_nfm.py
index 9de05f3..301c255 100644
--- a/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/test_nfm.py
+++ b/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/model/test_nfm.py
@@ -16,11 +16,11 @@
 import pytest
 import tensorflow as tf
 
-from submarine.ml.tensorflow_v2.model import NFM
-
 
 @pytest.mark.skipif(tf.__version__ < "2.0.0", reason="requires tf2")
 def test_run_nfm(get_model_param):
+    from submarine.ml.tensorflow_v2.model import NFM
+
     params = get_model_param
 
     model = NFM(model_params=params)
diff --git a/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/test_optimizer.py 
b/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/test_optimizer.py
index 1ef8fa1..e539812 100644
--- a/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/test_optimizer.py
+++ b/submarine-sdk/pysubmarine/tests/ml/tensorflow_v2/test_optimizer.py
@@ -16,11 +16,12 @@
 import pytest
 import tensorflow as tf
 
-from submarine.ml.tensorflow_v2.optimizer import get_optimizer
-
 
 @pytest.mark.skipif(tf.__version__ < "2.0.0", reason="requires tf2")
 def test_get_optimizer():
+
+    from submarine.ml.tensorflow_v2.optimizer import get_optimizer
+
     optimizer_keys = ["adam", "adagrad", "momentum", "ftrl"]
     invalid_optimizer_keys = ["adddam"]
 

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to