diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..3b6b78a --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,18 @@ +version: 2 +updates: +- package-ecosystem: pip + directory: "/" + schedule: + interval: daily + time: "20:00" + open-pull-requests-limit: 10 + ignore: + - dependency-name: black + versions: + - 21.4b0 + - dependency-name: mxnet + versions: + - 1.8.0 + - dependency-name: mypy + versions: + - "0.800" diff --git a/.github/workflows/ci-pytest-linux.yaml b/.github/workflows/ci-pytest-linux.yaml index 2c78e19..e5af69c 100644 --- a/.github/workflows/ci-pytest-linux.yaml +++ b/.github/workflows/ci-pytest-linux.yaml @@ -33,6 +33,7 @@ jobs: run: | poetry run pip install -U pip poetry run pip install -U torch torchvision + poetry run pip install tensorflow tensorflow-datasets mxnet poetry install --no-interaction - name: Install Dependencies with Comet.ml @@ -40,6 +41,7 @@ jobs: run: | poetry run pip install -U pip poetry run pip install -U torch torchvision + poetry run pip install tensorflow tensorflow-datasets mxnet poetry install --no-interaction --extras comet - name: Lint with flake8 diff --git a/.github/workflows/ci-pytest-mac.yaml b/.github/workflows/ci-pytest-mac.yaml index 73ec092..d0cfaa8 100644 --- a/.github/workflows/ci-pytest-mac.yaml +++ b/.github/workflows/ci-pytest-mac.yaml @@ -33,6 +33,7 @@ jobs: run: | poetry run pip install -U pip poetry run pip install -U torch torchvision + poetry run pip install tensorflow tensorflow-datasets mxnet poetry install --no-interaction - name: Install Dependencies with Comet.ml @@ -40,6 +41,7 @@ jobs: run: | poetry run pip install -U pip poetry run pip install -U torch torchvision + poetry run pip install tensorflow tensorflow-datasets mxnet poetry install --no-interaction --extras comet - name: Lint with flake8 diff --git a/.github/workflows/ci-pytest-win.yaml b/.github/workflows/ci-pytest-win.yaml deleted file mode 100644 index f62d6af..0000000 --- a/.github/workflows/ci-pytest-win.yaml +++ /dev/null @@ -1,81 +0,0 @@ -name: CI Windows - -on: - push: - pull_request: - -jobs: - pytest: - - runs-on: windows-2019 - strategy: - matrix: - comet: [true, false] - python-version: [3.7, 3.8, 3.9] - - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v1 - with: - python-version: ${{ matrix.python-version }} - - - name: Install Poetry - run: | - curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python - - shell: bash - - - name: Add path for Poetry - run: echo "$HOME/.poetry/bin" >> $GITHUB_PATH - shell: bash - - - name: Install Dependencies - if: "matrix.comet == false" - run: | - echo "$env:USERPROFILE\.poetry\bin" >> $GITHUB_PATH - poetry run pip install -U pip - poetry run pip install -U torch==1.8.1+cpu torchvision==0.9.1+cpu -f https://download.pytorch.org/whl/torch_stable.html - poetry install --no-interaction - shell: bash - - - name: Install Dependencies with Comet.ml - if: "matrix.comet == true" - run: | - echo "$env:USERPROFILE\.poetry\bin" >> $GITHUB_PATH - poetry run pip install -U pip - poetry run pip install -U torch==1.8.1+cpu torchvision==0.9.1+cpu -f https://download.pytorch.org/whl/torch_stable.html - poetry install --no-interaction --extras comet - shell: bash - - - name: Lint with flake8 - run: | - echo "$env:USERPROFILE\.poetry\bin" >> $GITHUB_PATH - # Pythonの構文エラーもしくは未定義の名前があればビルドを停止 - poetry run flake8 enchanter/ --count --select=E9,F63,F7,F82,E203 --show-source --statistics - # exit-zeroはすべてのエラーを警告として扱う。 - poetry run flake8 enchanter/ --count --exit-zero --max-complexity=22 --max-line-length=120 --statistics - shell: bash - - - name: Check code style with Black - run : | - poetry run black --check --diff . - echo "$env:USERPROFILE\.poetry\bin" >> $GITHUB_PATH - shell: bash - - - name: Test with pytest - run: | - echo "$env:USERPROFILE\.poetry\bin" >> $GITHUB_PATH - poetry run pytest --durations=10 tests/ - shell: bash - - - name: Test when using Comet - if: "matrix.comet == true" - env: - COMET_API_KEY: ${{ secrets.COMET_API_KEY }} - run: | - poetry run pytest --durations=10 tests/tasks/classification_with_comet.py - poetry run pytest --durations=10 tests/tasks/regression_with_comet.py - poetry run pytest --durations=10 tests/utils/comet_support.py - shell: bash diff --git a/docker/Aarch64.Dockerfile b/docker/Aarch64.Dockerfile new file mode 100644 index 0000000..832671a --- /dev/null +++ b/docker/Aarch64.Dockerfile @@ -0,0 +1,11 @@ +FROM khirotaka0122/torch:1.8.0-aarch64-py3.8.8 + +SHELL ["/bin/bash", "-c"] + +WORKDIR /enchanter-build +COPY enchanter/ /enchanter-build/enchanter/ +COPY README.md pyproject.toml /enchanter-build/ + +RUN poetry install --no-interaction --no-ansi + +WORKDIR /workspace diff --git a/enchanter/__init__.py b/enchanter/__init__.py index d6d2ba2..076354a 100644 --- a/enchanter/__init__.py +++ b/enchanter/__init__.py @@ -1,4 +1,4 @@ -__version__ = "0.9.0a0" +__version__ = "0.9.0b0" __author__ = "Hirotaka Kawashima" __author_email__ = "khirotaka@vivaldi.net" __license__ = "Apache-2.0" diff --git a/enchanter/addons/layers/dense_interpolation.py b/enchanter/addons/layers/dense_interpolation.py index deab175..1150561 100644 --- a/enchanter/addons/layers/dense_interpolation.py +++ b/enchanter/addons/layers/dense_interpolation.py @@ -9,7 +9,7 @@ import numpy as np from torch import tensor, bmm -from torch.tensor import Tensor +from torch import Tensor from torch.nn import Module diff --git a/enchanter/addons/layers/mlp.py b/enchanter/addons/layers/mlp.py index 84ec16a..e5354b9 100644 --- a/enchanter/addons/layers/mlp.py +++ b/enchanter/addons/layers/mlp.py @@ -9,7 +9,7 @@ from typing import List, Callable, Union from torch import relu -from torch.tensor import Tensor +from torch import Tensor from torch.nn import Module, ModuleList, Linear, Sequential, Conv1d, ReLU diff --git a/enchanter/addons/layers/se_layer.py b/enchanter/addons/layers/se_layer.py index a6842d7..581fd4e 100644 --- a/enchanter/addons/layers/se_layer.py +++ b/enchanter/addons/layers/se_layer.py @@ -1,4 +1,4 @@ -from torch.tensor import Tensor +from torch import Tensor from torch import nn diff --git a/enchanter/engine/runner.py b/enchanter/engine/runner.py index 3b7847c..e7cf915 100644 --- a/enchanter/engine/runner.py +++ b/enchanter/engine/runner.py @@ -21,7 +21,7 @@ import torch from torch.nn import Module -from torch.tensor import Tensor +from torch import Tensor from torch.cuda import is_available, amp from torch.optim.optimizer import Optimizer from torch.utils.data import DataLoader, SubsetRandomSampler diff --git a/enchanter/preprocessing/signal/functions.py b/enchanter/preprocessing/signal/functions.py index 64833a7..d014fbb 100644 --- a/enchanter/preprocessing/signal/functions.py +++ b/enchanter/preprocessing/signal/functions.py @@ -147,6 +147,7 @@ def adjust_sequences( ``fill=["ffill" or int or float]`` dtype: Specify the data type of NumPy. The data type of the output series is determined based on this value. + ``dtype`` must be a float. Examples: >>> import numpy as np diff --git a/enchanter/tasks/regression.py b/enchanter/tasks/regression.py index 1ae4451..603b3b5 100644 --- a/enchanter/tasks/regression.py +++ b/enchanter/tasks/regression.py @@ -12,7 +12,7 @@ import numpy as np from sklearn.metrics import r2_score import torch -from torch.nn.modules import Module +from torch.nn import Module from torch.nn.modules.loss import _Loss from torch.optim.optimizer import Optimizer from torch.cuda.amp import GradScaler, autocast diff --git a/pyproject.toml b/pyproject.toml index 5162170..d27c012 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "enchanter" -version = "0.9.0a0" +version = "0.9.0b0" description = "Enchanter is a library for machine learning tasks for comet.ml users." authors = ["Hirotaka Kawashima "] license = "Apache-2.0" @@ -24,12 +24,9 @@ netron = { version = "^4.5", optional = true } comet_ml = { version = "^3.1.3", optional = true } [tool.poetry.dev-dependencies] -mxnet = "1.7.0.post2" pytest = "^6.0" flake8 = "^3.8" black = "^20.8b1" -tensorflow = { version = "^2.3.0", allow-prereleases = true } -tensorflow-datasets = "^4.0" sphinx-material = "^0.0.32" sphinx-copybutton = "^0.3" sphinx-autoapi = "^1.5" diff --git a/tests/preprocessing/signal/test_functions.py b/tests/preprocessing/signal/test_functions.py index c406fc7..5ab6e41 100644 --- a/tests/preprocessing/signal/test_functions.py +++ b/tests/preprocessing/signal/test_functions.py @@ -63,8 +63,8 @@ def test_adjust_sequences_4(): np.random.randn(100, 5), ] - new = signal.adjust_sequences(x, dtype=np.int64) - assert new.dtype == np.int64 + new = signal.adjust_sequences(x, dtype=np.float32) + assert new.dtype == np.float32 def test_adjust_sequences_5():