Skip to main content

Automated Deep Learning Package

Project description


MIT licensed

Automated Deep Learning Projects (AutoDL-Projects) is an open source, lightweight, but useful project for everyone. This project implemented several neural architecture search (NAS) and hyper-parameter optimization (HPO) algorithms. 中文介绍见README_CN.md

Who should consider using AutoDL-Projects

  • Beginners who want to try different AutoDL algorithms
  • Engineers who want to try AutoDL to investigate whether AutoDL works on your projects
  • Researchers who want to easily implement and experiement new AutoDL algorithms.

Why should we use AutoDL-Projects

  • Simple library dependencies
  • All algorithms are in the same codebase
  • Active maintenance

AutoDL-Projects Capabilities

At this moment, this project provides the following algorithms and scripts to run them. Please see the details in the link provided in the description column.

Type ABBRV Algorithms Description
NAS TAS Network Pruning via Transformable Architecture Search NeurIPS-2019-TAS.md
DARTS DARTS: Differentiable Architecture Search ICLR-2019-DARTS.md
GDAS Searching for A Robust Neural Architecture in Four GPU Hours CVPR-2019-GDAS.md
SETN One-Shot Neural Architecture Search via Self-Evaluated Template Network ICCV-2019-SETN.md
NAS-Bench-201 NAS-Bench-201: Extending the Scope of Reproducible Neural Architecture Search NAS-Bench-201.md
NATS-Bench NATS-Bench: Benchmarking NAS Algorithms for Architecture Topology and Size NATS-Bench.md
... ENAS / REA / REINFORCE / BOHB Please check the original papers NAS-Bench-201.md NATS-Bench.md
HPO HPO-CG Hyperparameter optimization with approximate gradient coming soon
Basic ResNet Deep Learning-based Image Classification BASELINE.md

Requirements and Preparation

First of all, please use python setup.py install to install xautodl library.

Please install Python>=3.6 and PyTorch>=1.5.0. (You could use lower versions of Python and PyTorch, but may have bugs). Some visualization codes may require opencv.

CIFAR and ImageNet should be downloaded and extracted into $TORCH_HOME. Some methods use knowledge distillation (KD), which require pre-trained models. Please download these models from Google Drive (or train by yourself) and save into .latent-data.

Please use

git clone --recurse-submodules git@github.com:D-X-Y/AutoDL-Projects.git XAutoDL
git clone --recurse-submodules https://github.com/D-X-Y/AutoDL-Projects.git XAutoDL

to download this repo with submodules.

Citation

If you find that this project helps your research, please consider citing the related paper:

@inproceedings{dong2021autohas,
  title     = {{AutoHAS}: Efficient Hyperparameter and Architecture Search},
  author    = {Dong, Xuanyi and Tan, Mingxing and Yu, Adams Wei and Peng, Daiyi and Gabrys, Bogdan and Le, Quoc V},
  booktitle = {2nd Workshop on Neural Architecture Search at International Conference on Learning Representations (ICLR)},
  year      = {2021}
}
@article{dong2021nats,
  title   = {{NATS-Bench}: Benchmarking NAS Algorithms for Architecture Topology and Size},
  author  = {Dong, Xuanyi and Liu, Lu and Musial, Katarzyna and Gabrys, Bogdan},
  doi     = {10.1109/TPAMI.2021.3054824},
  journal = {IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI)},
  year    = {2021},
  note    = {\mbox{doi}:\url{10.1109/TPAMI.2021.3054824}}
}
@inproceedings{dong2020nasbench201,
  title     = {{NAS-Bench-201}: Extending the Scope of Reproducible Neural Architecture Search},
  author    = {Dong, Xuanyi and Yang, Yi},
  booktitle = {International Conference on Learning Representations (ICLR)},
  url       = {https://openreview.net/forum?id=HJxyZkBKDr},
  year      = {2020}
}
@inproceedings{dong2019tas,
  title     = {Network Pruning via Transformable Architecture Search},
  author    = {Dong, Xuanyi and Yang, Yi},
  booktitle = {Neural Information Processing Systems (NeurIPS)},
  pages     = {760--771},
  year      = {2019}
}
@inproceedings{dong2019one,
  title     = {One-Shot Neural Architecture Search via Self-Evaluated Template Network},
  author    = {Dong, Xuanyi and Yang, Yi},
  booktitle = {Proceedings of the IEEE International Conference on Computer Vision (ICCV)},
  pages     = {3681--3690},
  year      = {2019}
}
@inproceedings{dong2019search,
  title     = {Searching for A Robust Neural Architecture in Four GPU Hours},
  author    = {Dong, Xuanyi and Yang, Yi},
  booktitle = {Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
  pages     = {1761--1770},
  year      = {2019}
}

Others

If you want to contribute to this repo, please see CONTRIBUTING.md. Besides, please follow CODE-OF-CONDUCT.md.

We use black for Python code formatter. Please use black . -l 88.

License

The entire codebase is under the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xautodl-0.9.9.tar.gz (128.0 kB view details)

Uploaded Source

Built Distributions

xautodl-0.9.9-py3.8.egg (518.3 kB view details)

Uploaded Source

xautodl-0.9.9-py3-none-any.whl (210.2 kB view details)

Uploaded Python 3

File details

Details for the file xautodl-0.9.9.tar.gz.

File metadata

  • Download URL: xautodl-0.9.9.tar.gz
  • Upload date:
  • Size: 128.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.8

File hashes

Hashes for xautodl-0.9.9.tar.gz
Algorithm Hash digest
SHA256 39ac43e881ad24da685ac554da14a5e386feb81ab33d05d1792b083e70830826
MD5 72239e5b248de6c28d20540f71c8a085
BLAKE2b-256 7ed53daf2773fbb3b04fc3a912851dd9190b02dbf3c995b21ce2aaa2277d72e4

See more details on using hashes here.

File details

Details for the file xautodl-0.9.9-py3.8.egg.

File metadata

  • Download URL: xautodl-0.9.9-py3.8.egg
  • Upload date:
  • Size: 518.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.8

File hashes

Hashes for xautodl-0.9.9-py3.8.egg
Algorithm Hash digest
SHA256 7163e8f7a34adb378b9bf32a546746f3305f55d4e286bc84c8e66754cfd65db9
MD5 eeea3dec355e8ca7bdca34390b2affc7
BLAKE2b-256 8aa4a71bd44314748f60ec3d026146f7d78c4d275aed7360c83a89056d1feb73

See more details on using hashes here.

File details

Details for the file xautodl-0.9.9-py3-none-any.whl.

File metadata

  • Download URL: xautodl-0.9.9-py3-none-any.whl
  • Upload date:
  • Size: 210.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.8

File hashes

Hashes for xautodl-0.9.9-py3-none-any.whl
Algorithm Hash digest
SHA256 434302f888b01e27dd9d20059f8369bd25ff826560f0847e7c06f2691c817dd9
MD5 e65bab2c44e144db3de482bb7d8e967a
BLAKE2b-256 7a771f97a968c84eff3a57ac936ab9aacbabc3255fa23b94996d5c8b56c9c9c0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page