• Stars
    star
    1,135
  • Rank 41,034 (Top 0.9 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 4 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Automated Deep Learning without ANY human intervention. 1'st Solution for AutoDL challenge@NeurIPS.

English | 简体中文

HitCount GitHub All Releases GitHub issues GitHub closed issues GitHub forks GitHub stars GitHub release (latest by date) GitHub license img img

img

AutoDL Challenge@NeurIPS 冠军方案,竞赛细节参见 AutoDL Competition

1. AutoDL是什么?

AutoDL聚焦于自动进行任意模态(图像、视频、语音、文本、表格数据)多标签分类的通用算法,可以用一套标准算法流解决现实世界的复杂分类问题,解决调数据、特征、模型、超参等烦恼,最短10秒就可以做出性能优异的分类器。本工程在不同领域的24个离线数据集、15个线上数据集都获得了极为优异的成绩。AutoDL拥有以下特性:

全自动:全自动深度学习/机器学习框架,全流程无需人工干预。数据、特征、模型的所有细节都已调节至最佳,统一解决了资源受限、数据倾斜、小数据、特征工程、模型选型、网络结构优化、超参搜索等问题。只需要准备数据,开始AutoDL,然后喝一杯咖啡

🌌 通用性:支持任意模态,包括图像、视频、音频、文本和结构化表格数据,支持任意多标签分类问题,包括二分类、多分类、多标签分类。它在不同领域都获得了极其优异的成绩,如行人识别、行人动作识别、人脸识别、声纹识别、音乐分类、口音分类、语言分类、情感分类、邮件分类、新闻分类、广告优化、推荐系统、搜索引擎、精准营销等等。

👍 效果出色:AutoDL竞赛获得压倒性优势的冠军方案,包含对传统机器学习模型和最新深度学习模型支持。模型库包括从LR/SVM/LGB/CGB/XGB到ResNet*/MC3/DNN/ThinResnet*/TextCNN/RCNN/GRU/BERT等优选出的冠军模型。

极速/实时:最快只需十秒即可获得极具竞争力的模型性能。结果实时刷新(秒级),无需等待即可获得模型实时效果反馈。

2. 目录

3. 效果

  • 预赛榜单(DeepWisdom总分第一,平均排名1.2,在5个数据集中取得了4项第一) img

  • 决赛榜单(DeepWisdom总分第一,平均排名1.8,在10个数据集中取得了7项第一) img

4. AutoDL竞赛使用说明

  1. 基础环境

    python>=3.5
    CUDA 10
    cuDNN 7.5
  2. clone仓库

    cd <path_to_your_directory>
    git clone https://github.com/DeepWisdom/AutoDL.git
    
  3. 预训练模型准备 下载模型 speech_model.h5 放至 AutoDL_sample_code_submission/at_speech/pretrained_models/ 目录。

  4. 可选:使用与竞赛同步的docker环境

    • CPU
    cd path/to/autodl/
    docker run -it -v "$(pwd):/app/codalab" -p 8888:8888 evariste/autodl:cpu-latest
    
    • GPU
    nvidia-docker run -it -v "$(pwd):/app/codalab" -p 8888:8888 evariste/autodl:gpu-latest
    
  5. 数据集准备:使用 AutoDL_sample_data 中样例数据集,或批量下载竞赛公开数据集。

  6. 进行本地测试

    python run_local_test.py
    

本地测试完整使用。 python run_local_test.py -dataset_dir='AutoDL_sample_data/miniciao' -code_dir='AutoDL_sample_code_submission' 您可在 AutoDL_scoring_output/ 目录中查看实时学习曲线反馈的HTML页面。

细节可参考 AutoDL Challenge official starting_kit.

4.1. 使用效果示例(横轴为对数时间轴,纵轴为AUC)

img

可以看出,在五个不同模态的数据集下,AutoDL算法流都获得了极为出色的全时期效果,可以在极短的时间内达到极高的精度。

5. 安装

本仓库在 Python 3.6+, PyTorch 1.3.1 和 TensorFlow 1.15上测试.

你应该在虚拟环境 中安装autodl。 如果对虚拟环境不熟悉,请看 用户指导.

用合适的Python版本创建虚拟环境,然后激活它。

5.1 windows10 安装过程

5.1.1 安装 cuda 10.0 和 cudnn v7.6.2.24

5.1.2 安装 Miniconda3-4.5.4-Windows-x86_64.exe

5.1.3 安装 visualcppbuildtools_full.exe

5.1.4 创建 start_env.bat 文件

  • 将其移动到安装的 Miniconda3 同级目录下
cmd.exe "/K" .\Miniconda3\Scripts\activate.bat .\Miniconda3

5.1.5 双击 start_env.bat 安装 autodl-gpu

conda install pytorch==1.3.1
conda install torchvision -c pytorch
pip install autodl-gpu

5.2 Linux安装

pip install autodl-gpu

6. 快速上手

6.1. 快速上手之AutoDL本地效果测试

指导参见 快速上手之AutoDL本地效果测试,样例代码参见 examples/run_local_test.py

6.2. 快速上手之图像分类

参见 快速上手之图像分类,样例代码参见 examples/run_image_classification_example.py

6.3. 快速上手之视频分类

指导参见 快速上手之视频分类,样例代码参见examples/run_video_classification_example.py

6.4. 快速上手之音频分类

指导参见 快速上手之音频分类,样例代码参见examples/run_speech_classification_example.py

6.5. 快速上手之文本分类

指导参见 快速上手之文本分类,样例代码参见examples/run_text_classification_example.py

6.6. 快速上手之表格分类

指导参见 快速上手之表格分类,样例代码参见examples/run_tabular_classification_example.py.

7. 可用数据集

7.1. (可选) 下载数据集

python download_public_datasets.py

7.2. 公共数据集信息

# Name Type Domain Size Source Data (w/o test labels) Test labels
1 Munster Image HWR 18 MB MNIST munster.data munster.solution
2 City Image Objects 128 MB Cifar-10 city.data city.solution
3 Chucky Image Objects 128 MB Cifar-100 chucky.data chucky.solution
4 Pedro Image People 377 MB PA-100K pedro.data pedro.solution
5 Decal Image Aerial 73 MB NWPU VHR-10 decal.data decal.solution
6 Hammer Image Medical 111 MB Ham10000 hammer.data hammer.solution
7 Kreatur Video Action 469 MB KTH kreatur.data kreatur.solution
8 Kreatur3 Video Action 588 MB KTH kreatur3.data kreatur3.solution
9 Kraut Video Action 1.9 GB KTH kraut.data kraut.solution
10 Katze Video Action 1.9 GB KTH katze.data katze.solution
11 data01 Speech Speaker 1.8 GB -- data01.data data01.solution
12 data02 Speech Emotion 53 MB -- data02.data data02.solution
13 data03 Speech Accent 1.8 GB -- data03.data data03.solution
14 data04 Speech Genre 469 MB -- data04.data data04.solution
15 data05 Speech Language 208 MB -- data05.data data05.solution
16 O1 Text Comments 828 KB -- O1.data O1.solution
17 O2 Text Emotion 25 MB -- O2.data O2.solution
18 O3 Text News 88 MB -- O3.data O3.solution
19 O4 Text Spam 87 MB -- O4.data O4.solution
20 O5 Text News 14 MB -- O5.data O5.solution
21 Adult Tabular Census 2 MB Adult adult.data adult.solution
22 Dilbert Tabular -- 162 MB -- dilbert.data dilbert.solution
23 Digits Tabular HWR 137 MB MNIST digits.data digits.solution
24 Madeline Tabular -- 2.6 MB -- madeline.data madeline.solution

8. 贡献代码

❤️ 请毫不犹豫参加贡献 Open an issue 或提交 PRs。

9. 加入社区

AutoDL社区

10. 开源协议

Apache License 2.0