Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[refactor] Separate categorical encoding as a method #404

Open
wants to merge 27 commits into
base: development
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
d498677
[feat] Support statistics print by adding results manager object (#334)
nabenabe0928 Nov 21, 2021
4d28006
[doc] Add the workflow of the Auto-Pytorch (#285)
nabenabe0928 Nov 22, 2021
54ee98e
Update README.md with link for master branch
ravinkohli Nov 22, 2021
6992609
[feat] Add an object that realizes the perf over time viz (#331)
nabenabe0928 Dec 1, 2021
0ae9cbf
Cleanup of simple_imputer (#346)
eddiebergman Dec 1, 2021
fd001a6
[feat] Add the option to save a figure in plot setting params (#351)
nabenabe0928 Dec 6, 2021
aa927a3
Update workflow files (#363)
eddiebergman Dec 20, 2021
62e9764
[ADD] fit pipeline honoring API constraints with tests (#348)
ravinkohli Dec 20, 2021
e3aeb55
[ADD] Docker publish workflow (#357)
ravinkohli Dec 21, 2021
f612f46
fix error after merge
ravinkohli Dec 21, 2021
c0fb82e
Fix 361 (#367)
ravinkohli Jan 24, 2022
6554702
[ADD] Test evaluator (#368)
ravinkohli Jan 25, 2022
224aa44
[fix] Hotfix debug no training in simple intensifier (#370)
nabenabe0928 Jan 27, 2022
bd4fabf
[fix] Change int to np.int32 for the ndarray dtype specification (#371)
nabenabe0928 Jan 31, 2022
466bc18
[ADD] variance thresholding (#373)
ravinkohli Feb 9, 2022
2601421
[ADD] scalers from autosklearn (#372)
ravinkohli Feb 9, 2022
ba9c86a
[FIX] Remove redundant categorical imputation (#375)
ravinkohli Feb 9, 2022
bf264d6
[feat] Add coalescer (#376)
nabenabe0928 Feb 9, 2022
b5c1757
Fix: keyword arguments to submit (#384)
eddiebergman Feb 18, 2022
4a0c773
[FIX] Datamanager in memory (#382)
ravinkohli Feb 23, 2022
2306c45
[feat] Add new task inference for APT (#386)
nabenabe0928 Feb 23, 2022
dafd480
[fix] Update the SMAC version (#388)
nabenabe0928 Feb 25, 2022
a679b09
[ADD] dataset compression (#387)
ravinkohli Feb 25, 2022
1b8e76a
[refactor] Fix SparseMatrixType --> spmatrix and add ispandas (#397)
nabenabe0928 Mar 2, 2022
048656e
[ADD] feature preprocessors from autosklearn (#378)
ravinkohli Mar 3, 2022
d8437e2
[refactor] Separate categorical encoding as a method
nabenabe0928 Mar 3, 2022
7e40b0a
[fix] Fix a mypy error
nabenabe0928 Mar 3, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 33 additions & 4 deletions .github/workflows/dist.yml
Original file line number Diff line number Diff line change
@@ -1,33 +1,62 @@
name: dist-check

on: [push, pull_request]
on:
# Manually triggerable in github
workflow_dispatch:

# When a push occurs on either of these branches
push:
branches:
- master
- development

# When a push occurs on a PR that targets these branches
pull_request:
branches:
- master
- development

schedule:
# Every day at 7AM UTC
- cron: '0 07 * * *'

jobs:

dist:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Checkout
uses: actions/checkout@v2
with:
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: 3.8

- name: Build dist
run: |
python setup.py sdist

- name: Twine check
run: |
pip install twine
last_dist=$(ls -t dist/autoPyTorch-*.tar.gz | head -n 1)
twine_output=`twine check "$last_dist"`
if [[ "$twine_output" != "Checking $last_dist: PASSED" ]]; then echo $twine_output && exit 1;fi

- name: Install dist
run: |
last_dist=$(ls -t dist/autoPyTorch-*.tar.gz | head -n 1)
pip install $last_dist

- name: PEP 561 Compliance
run: |
pip install mypy
cd .. # required to use the installed version of autosklearn
if ! python -c "import autoPyTorch"; then exit 1; fi

cd .. # required to use the installed version of autoPyTorch

# Note this doesn't perform mypy checks, those are handled in pre-commit.yaml
# This only checks if autoPyTorch exports type information
if ! mypy -c "import autoPyTorch"; then exit 1; fi
80 changes: 80 additions & 0 deletions .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: Publish Docker image

on:
push:
# Push to `master` or `development`
branches:
- master
- development
- add_docker-publish
workflow_dispatch:

jobs:
push_to_registries:
name: Push Docker image to multiple registries
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- name: Check out the repo
uses: actions/checkout@v2

- name: Extract branch name
shell: bash
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
id: extract_branch

- name: Log in to Docker Hub
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Log in to the Container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: |
automlorg/autopytorch
ghcr.io/${{ github.repository }}

- name: Build and push Docker images
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: .
push: true
tags: ${{ steps.extract_branch.outputs.branch }}

- name: Docker Login
run: docker login ghcr.io -u $GITHUB_ACTOR -p $GITHUB_TOKEN
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

- name: Pull Docker image
run: docker pull ghcr.io/$GITHUB_REPOSITORY/autoPyTorch:$BRANCH
env:
BRANCH: ${{ steps.extract_branch.outputs.branch }}

- name: Run image
run: docker run -i -d --name unittester -v $GITHUB_WORKSPACE:/workspace -w /workspace ghcr.io/$GITHUB_REPOSITORY/autoPyTorch:$BRANCH
env:
BRANCH: ${{ steps.extract_branch.outputs.branch }}

- name: Auto-PyTorch loaded
run: docker exec -i unittester python3 -c 'import autoPyTorch; print(f"Auto-PyTorch imported from {autoPyTorch.__file__}")'

- name: Run unit testing
run: docker exec -i unittester python3 -m pytest -v test
27 changes: 25 additions & 2 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -1,36 +1,59 @@
name: Docs
on: [pull_request, push]

on:
# Allow to manually trigger through github API
# Wont trigger the push to github pages where the documentation is located
workflow_dispatch:

# Triggers with push to these branches
push:
branches:
- master
- development

# Triggers with push to a pr aimed at these branches
pull_request:
branches:
- master
- development

jobs:
build-and-deploy:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Checkout
uses: actions/checkout@v2
with:
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: 3.8

- name: Install dependencies
run: |
pip install -e .[docs,examples]

- name: Make docs
run: |
cd docs
make html

- name: Pull latest gh-pages
if: (contains(github.ref, 'develop') || contains(github.ref, 'master')) && github.event_name == 'push'
run: |
cd ..
git clone https://github.com/automl/Auto-PyTorch.git --branch gh-pages --single-branch gh-pages

- name: Copy new doc into gh-pages
if: (contains(github.ref, 'develop') || contains(github.ref, 'master')) && github.event_name == 'push'
run: |
branch_name=${GITHUB_REF##*/}
cd ../gh-pages
rm -rf $branch_name
cp -r ../Auto-PyTorch/docs/build/html $branch_name

- name: Push to gh-pages
if: (contains(github.ref, 'develop') || contains(github.ref, 'master')) && github.event_name == 'push'
run: |
Expand Down
8 changes: 5 additions & 3 deletions .github/workflows/long_regression_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ on:
#- cron: '0 07 * * 2'
- cron: '0 07 * * *'


jobs:
ubuntu:

ubuntu:
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
python-version: [3.8]
fail-fast: false

steps:
- uses: actions/checkout@v2
Expand All @@ -26,10 +26,12 @@ jobs:
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}

- name: Install test dependencies
run: |
python -m pip install --upgrade pip
pip install -e .[test]

- name: Run tests
run: |
python -m pytest --durations=200 cicd/test_preselected_configs.py -vs
30 changes: 26 additions & 4 deletions .github/workflows/pre-commit.yaml
Original file line number Diff line number Diff line change
@@ -1,22 +1,44 @@
name: pre-commit

on: [push, pull_request]
on:
# Allow to manually trigger through github API
workflow_dispatch:

# Triggers with push to these branches
push:
branches:
- master
- development

# Triggers with push to a pr aimed at these branches
pull_request:
branches:
- master
- development

jobs:

run-all-files:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: Checkout
uses: actions/checkout@v2

- name: Setup Python 3.7
uses: actions/setup-python@v2
with:
python-version: 3.7

- name: Init Submodules
run: |
git submodule update --init --recursive

- name: Install pre-commit
run: |
pip install pre-commit
pre-commit install

- name: Run pre-commit
run: |
pre-commit run --all-files
Loading