Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
891fff2
New refactor code. Initial push
franchuterivera Jan 22, 2021
2e7b462
Allow specifying the network type in include (#78)
franchuterivera Jan 28, 2021
ddc0f3d
Search space update (#80)
ravinkohli Feb 1, 2021
1a9cd71
Make sure the performance of pipeline is at least 0.8
franchuterivera Feb 2, 2021
00313c8
Early stop fixes
franchuterivera Feb 2, 2021
36e7db6
Network Cleanup (#81)
bastiscode Feb 2, 2021
4bf86b0
Merge pull request #82 from franchuterivera/refactor_development_netw…
ravinkohli Feb 2, 2021
f1307d8
First documentation
franchuterivera Feb 2, 2021
c200550
Default to ubuntu-18.04
franchuterivera Feb 2, 2021
086ffc7
Comment enhancements
franchuterivera Feb 2, 2021
c38b42e
Merge pull request #83 from franchuterivera/refactor_development_docs
ravinkohli Feb 2, 2021
d33388b
Feature preprocessors, Loss strategies (#86)
ravinkohli Feb 9, 2021
96dceb8
Validate the input to autopytorch
franchuterivera Feb 9, 2021
dd873ab
Bug fixes after rebase
franchuterivera Feb 9, 2021
d5bfd42
Move to new scikit learn
franchuterivera Feb 10, 2021
04bfd98
Remove dangerous convert dtype
franchuterivera Feb 10, 2021
5f2b3a1
Try to remove random float error again and make data pickable
franchuterivera Feb 10, 2021
e5a0136
Tets pickle on versions higher than 3.6
franchuterivera Feb 10, 2021
0606d34
Tets pickle on versions higher than 3.6
franchuterivera Feb 10, 2021
a717d60
Comment fixes
franchuterivera Feb 10, 2021
b48b952
Merge pull request #89 from franchuterivera/InputValidator
ravinkohli Feb 15, 2021
dce6a5c
Adding tabular regression pipeline (#85)
bastiscode Feb 18, 2021
c9d096a
Make sure the performance of pipeline is at least 0.8
franchuterivera Feb 2, 2021
085c1d5
Early stop fixes
franchuterivera Feb 2, 2021
8325ea9
Network Cleanup (#81)
bastiscode Feb 2, 2021
822b339
First documentation
franchuterivera Feb 2, 2021
162d6b8
Default to ubuntu-18.04
franchuterivera Feb 2, 2021
ea20d7e
Comment enhancements
franchuterivera Feb 2, 2021
364222a
Feature preprocessors, Loss strategies (#86)
ravinkohli Feb 9, 2021
f02c2ab
Validate the input to autopytorch
franchuterivera Feb 9, 2021
92c2cdb
Bug fixes after rebase
franchuterivera Feb 9, 2021
0a666f2
Move to new scikit learn
franchuterivera Feb 10, 2021
014a01f
Remove dangerous convert dtype
franchuterivera Feb 10, 2021
42b12f4
Try to remove random float error again and make data pickable
franchuterivera Feb 10, 2021
7d2272c
Tets pickle on versions higher than 3.6
franchuterivera Feb 10, 2021
e28e7d7
Tets pickle on versions higher than 3.6
franchuterivera Feb 10, 2021
00c51d9
Comment fixes
franchuterivera Feb 10, 2021
6d9da10
[REFACTORING]: no change in the functionalities, inputs, returns
nabenabe0928 Feb 19, 2021
bea1d3e
Modified an error message
nabenabe0928 Feb 19, 2021
a0e8a80
[Test error fix]: Fixed the error caused by flake8
nabenabe0928 Feb 22, 2021
782eaa0
[Test error fix]: Fixed the error caused by flake8
nabenabe0928 Feb 22, 2021
00aaaef
merged to refactor dev
nabenabe0928 Feb 22, 2021
e7ff3f1
FIX weighted loss issue (#94)
ravinkohli Feb 22, 2021
43bd4a3
Logger enhancements
franchuterivera Feb 2, 2021
2f5e53a
show_models
franchuterivera Feb 2, 2021
bd8259e
Move to spawn
franchuterivera Feb 18, 2021
6c026c7
Adding missing logger line
franchuterivera Feb 18, 2021
e336373
Feedback from comments
franchuterivera Feb 19, 2021
5adc607
Merge pull request #84 from franchuterivera/refactor_development_logg…
ravinkohli Feb 22, 2021
cbc7e09
ADD_109
franchuterivera Feb 23, 2021
9dd447f
No print allow
franchuterivera Feb 23, 2021
eb95578
[PR response]: deleted unneeded changes from merge and fixed the doc-…
nabenabe0928 Feb 23, 2021
8398188
fixed the for loop in type_check based on samuel's review
nabenabe0928 Feb 26, 2021
edbbb29
deleted blank space pointed out by flake8
nabenabe0928 Feb 26, 2021
1602933
Try no autouse
franchuterivera Mar 1, 2021
ffc1620
handle nans in categorical columns (#118)
ravinkohli Mar 1, 2021
55ec853
Merge pull request #112 from franchuterivera/refactor_development_ADD…
ravinkohli Mar 1, 2021
6da24a8
Embedding layer (#91)
ravinkohli Mar 4, 2021
5d63668
Fixes to address automlbenchmark problems
franchuterivera Mar 6, 2021
c95fbf3
Fix trajectory file output
franchuterivera Mar 8, 2021
a3d40ac
Merge pull request #126 from franchuterivera/refactor_development_ben…
ravinkohli Mar 8, 2021
eac426d
modified the doc-string in TransformSubset in base_dataset.py
nabenabe0928 Mar 9, 2021
b5d1c8b
change config_id to config_id+1 (#129)
ravinkohli Mar 10, 2021
8440695
Merge pull request #105 from nabenabe0928/refactoring-base-dataset
ravinkohli Mar 10, 2021
a10ab29
move to a minimization problem (#113)
franchuterivera Mar 11, 2021
5c6ce0b
FIX_123 (#133)
franchuterivera Mar 11, 2021
ef6acf2
Adds more examples to customise AutoPyTorch. (#124)
ravinkohli Mar 16, 2021
db70a43
[Feat] Better traditional pipeline cutoff time (#141)
franchuterivera Mar 19, 2021
7bcde56
Hyperparameter Search Space updates now with constant and include abi…
ravinkohli Mar 29, 2021
68fc77f
[Bug] Fix random halt problems on traditional pipelines (#147)
franchuterivera Mar 29, 2021
45076ee
Run history traditional (#121)
ravinkohli Apr 13, 2021
5fef094
[FIX] Enables backend to track the num run (#162)
franchuterivera Apr 14, 2021
a4e08e2
[Doc] First push of the developer documentation (#127)
franchuterivera Apr 15, 2021
fae72a4
Refactoring base dataset splitting functions (#106)
nabenabe0928 Apr 28, 2021
9f4b855
[Fix] Refactor development reproducibility (#172)
franchuterivera May 3, 2021
94df1e3
[ADD] Extra visualization example (#189)
franchuterivera May 7, 2021
3191642
[Fix] docs links (#201)
franchuterivera May 7, 2021
8447e91
[Refactor] Use the backend implementation from automl common (#185)
franchuterivera May 11, 2021
ac2dd99
[DOC] Adds documentation to the abstract evaluator (#160)
franchuterivera May 12, 2021
ee07c7e
[FIX] Update Readme (#208)
franchuterivera May 12, 2021
4493270
Reduce run time of the test (#205)
ravinkohli May 17, 2021
8962612
[refactor] Getting dataset properties from the dataset object (#164)
ravinkohli May 18, 2021
aa01330
Change ubuntu version in docs workflow (#237)
ravinkohli May 25, 2021
097cb99
Add dist check worflow (#238)
ravinkohli May 27, 2021
1e08fc9
[feature] Greedy Portfolio (#200)
ravinkohli May 31, 2021
855c57e
[ADD] Forkserver as default multiprocessing strategy (#223)
franchuterivera Jun 1, 2021
f9fe056
[ADD] Get incumbent config (#175)
ravinkohli Jun 1, 2021
9e7d3e2
[ADD] Coverage calculation (#224)
franchuterivera Jun 2, 2021
9a847e2
[ADD] Pytest schedule (#234)
ravinkohli Jun 10, 2021
1818445
[fix] Dropout bug fix (#247)
ravinkohli Jun 10, 2021
5af1994
Early stop on metric
franchuterivera Jun 10, 2021
90f4d6c
Enable long run regression
franchuterivera Jun 10, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .binder/apt.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
build-essential
swig
43 changes: 43 additions & 0 deletions .binder/postBuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#!/bin/bash

set -e

python -m pip install .[docs,examples]

# Taken from https://github.com/scikit-learn/scikit-learn/blob/22cd233e1932457947e9994285dc7fd4e93881e4/.binder/postBuild
# under BSD3 license, copyright the scikit-learn contributors

# This script is called in a binder context. When this script is called, we are
# inside a git checkout of the automl/Auto-PyTorch repo. This script
# generates notebooks from the Auto-PyTorch python examples.

if [[ ! -f /.dockerenv ]]; then
echo "This script was written for repo2docker and is supposed to run inside a docker container."
echo "Exiting because this script can delete data if run outside of a docker container."
exit 1
fi

# Copy content we need from the Auto-PyTorch repo
TMP_CONTENT_DIR=/tmp/Auto-PyTorch
mkdir -p $TMP_CONTENT_DIR
cp -r examples .binder $TMP_CONTENT_DIR
# delete everything in current directory including dot files and dot folders
find . -delete

# Generate notebooks and remove other files from examples folder
GENERATED_NOTEBOOKS_DIR=examples
cp -r $TMP_CONTENT_DIR/examples $GENERATED_NOTEBOOKS_DIR

find $GENERATED_NOTEBOOKS_DIR -name 'example_*.py' -exec sphx_glr_python_to_jupyter.py '{}' +
# Keep __init__.py and custom_metrics.py
NON_NOTEBOOKS=$(find $GENERATED_NOTEBOOKS_DIR -type f | grep -v '\.ipynb' | grep -v 'init' | grep -v 'custom_metrics')
rm -f $NON_NOTEBOOKS

# Modify path to be consistent by the path given by sphinx-gallery
mkdir notebooks
mv $GENERATED_NOTEBOOKS_DIR notebooks/

# Put the .binder folder back (may be useful for debugging purposes)
mv $TMP_CONTENT_DIR/.binder .
# Final clean up
rm -rf $TMP_CONTENT_DIR
1 change: 1 addition & 0 deletions .binder/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
-r ../requirements.txt
42 changes: 42 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#see https://github.com/codecov/support/wiki/Codecov-Yaml
codecov:
notify:
require_ci_to_pass: yes

coverage:
precision: 2 # 2 = xx.xx%, 0 = xx%
round: nearest # how coverage is rounded: down/up/nearest
range: 10...90 # custom range of coverage colors from red -> yellow -> green
status:
# https://codecov.readme.io/v1.0/docs/commit-status
project:
default:
against: auto
target: 70% # specify the target coverage for each commit status
threshold: 50% # allow this little decrease on project
# https://github.com/codecov/support/wiki/Filtering-Branches
# branches: master
if_ci_failed: error
# https://github.com/codecov/support/wiki/Patch-Status
patch:
default:
against: auto
target: 30% # specify the target "X%" coverage to hit
threshold: 50% # allow this much decrease on patch
changes: false

parsers:
gcov:
branch_detection:
conditional: true
loop: true
macro: false
method: false
javascript:
enable_partials: false

comment:
layout: header, diff
require_changes: false
behavior: default # update if exists else create new
branches: *
27 changes: 27 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# .coveragerc to control coverage.py
[run]
branch = True
include = "autoPyTorch/*"

[report]
# Regexes for lines to exclude from consideration
exclude_lines =
# Have to re-enable the standard pragma
pragma: no cover

# Don't complain about missing debug-only code:
def __repr__
if self\.debug

# Don't complain if tests don't hit defensive assertion code:
raise AssertionError
raise NotImplementedError

# Don't complain if non-runnable code isn't run:
if 0:
if __name__ == .__main__.:

ignore_errors = True

[html]
directory = coverage_html_report
7 changes: 7 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[flake8]
max-line-length = 120
show-source = True
application-import-names = autoPyTorch
exclude =
venv
build
31 changes: 31 additions & 0 deletions .github/workflows/dist.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: dist-check

on: [push, pull_request]

jobs:
dist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- 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
44 changes: 44 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Docs
on: [pull_request, push]

jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install dependencies
run: |
git submodule update --init --recursive
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: |
last_commit=$(git log --pretty=format:"%an: %s")
cd ../gh-pages
branch_name=${GITHUB_REF##*/}
git add $branch_name/
git config --global user.name 'Github Actions'
git config --global user.email '[email protected]'
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}
git commit -am "$last_commit"
git push
35 changes: 35 additions & 0 deletions .github/workflows/long_regression_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Tests

on:
schedule:
# Every Truesday at 7AM UTC
# TODO teporary set to every day just for the PR
#- cron: '0 07 * * 2'
- cron: '0 07 * * *'


jobs:
ubuntu:

runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8]
fail-fast: false

steps:
- uses: actions/checkout@v2
with:
ref: development
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install test dependencies
run: |
git submodule update --init --recursive
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
23 changes: 23 additions & 0 deletions .github/workflows/pre-commit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: pre-commit

on: [push, pull_request]

jobs:
run-all-files:
runs-on: ubuntu-latest
steps:
- 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
55 changes: 55 additions & 0 deletions .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Tests

on: [push, pull_request]

jobs:
ubuntu:

runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.6, 3.7, 3.8]
include:
- python-version: 3.8
code-cov: true
fail-fast: false
max-parallel: 2

steps:
- uses: actions/checkout@v2
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install test dependencies
run: |
git submodule update --init --recursive
python -m pip install --upgrade pip
pip install -e .[test]
- name: Store repository status
id: status-before
run: |
echo "::set-output name=BEFORE::$(git status --porcelain -b)"
- name: Run tests
run: |
if [ ${{ matrix.code-cov }} ]; then
codecov='--cov=autoPyTorch --cov-report=xml --cov-config=.coveragerc';
fi
python -m pytest --forked --durations=20 --timeout=600 --timeout-method=signal -v $codecov test
- name: Check for files left behind by test
if: ${{ always() }}
run: |
before="${{ steps.status-before.outputs.BEFORE }}"
after="$(git status --porcelain -b)"
if [[ "$before" != "$after" ]]; then
echo "git status from before: $before"
echo "git status from after: $after"
echo "Not all generated files have been deleted!"
exit 1
fi
- name: Upload coverage
if: matrix.code-cov && always()
uses: codecov/codecov-action@v1
with:
fail_ci_if_error: true
verbose: true
34 changes: 34 additions & 0 deletions .github/workflows/scheduled_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Tests

on:
schedule:
# Every Monday at 7AM UTC
- cron: '0 07 * * 1'


jobs:
ubuntu:

runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8]
fail-fast: false
max-parallel: 2

steps:
- uses: actions/checkout@v2
with:
ref: development
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install test dependencies
run: |
git submodule update --init --recursive
python -m pip install --upgrade pip
pip install -e .[test]
- name: Run tests
run: |
python -m pytest --forked --durations=20 --timeout=600 --timeout-method=signal -v test
Loading