Fastai: A Layered API for Deep Learning

被引:508
|
作者
Howard, Jeremy [1 ,2 ]
Gugger, Sylvain [1 ]
机构
[1] Fastai, San Francisco, CA 94117 USA
[2] Univ San Francisco, Data Sci Inst, San Francisco, CA 94117 USA
关键词
deep learning; data processing pipelines;
D O I
10.3390/info11020108
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
fastai is a deep learning library which provides practitioners with high-level components that can quickly and easily provide state-of-the-art results in standard deep learning domains, and provides researchers with low-level components that can be mixed and matched to build new approaches. It aims to do both things without substantial compromises in ease of use, flexibility, or performance. This is possible thanks to a carefully layered architecture, which expresses common underlying patterns of many deep learning and data processing techniques in terms of decoupled abstractions. These abstractions can be expressed concisely and clearly by leveraging the dynamism of the underlying Python language and the flexibility of the PyTorch library. fastai includes: a new type dispatch system for Python along with a semantic type hierarchy for tensors; a GPU-optimized computer vision library which can be extended in pure Python; an optimizer which refactors out the common functionality of modern optimizers into two basic pieces, allowing optimization algorithms to be implemented in 4-5 lines of code; a novel 2-way callback system that can access any part of the data, model, or optimizer and change it at any point during training; a new data block API; and much more. We used this library to successfully create a complete deep learning course, which we were able to write more quickly than using previous approaches, and the code was more clear. The library is already in wide use in research, industry, and teaching.
引用
下载
收藏
页数:26
相关论文
共 50 条
  • [1] Deep API Learning
    Gu, Xiaodong
    Zhang, Hongyu
    Zhang, Dongmei
    Kim, Sunghun
    FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2016, : 631 - 642
  • [2] Deep API Learning Revisited
    Martin, James
    Guo, Jin L. C.
    30TH IEEE/ACM INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2022), 2022, : 321 - 330
  • [3] Deep API Learning Revisited
    Martin, James
    Guo, Jin L.C.
    IEEE International Conference on Program Comprehension, 2022, 2022-March : 321 - 330
  • [4] Demystifying API misuses in deep learning applications
    Deheng Yang
    Kui Liu
    Yan Lei
    Li Li
    Huan Xie
    Chunyan Liu
    Zhenyu Wang
    Xiaoguang Mao
    Tegawendé F. Bissyandé
    Empirical Software Engineering, 2024, 29
  • [5] Demystifying API misuses in deep learning applications
    Yang, Deheng
    Liu, Kui
    Lei, Yan
    Li, Li
    Xie, Huan
    Liu, Chunyan
    Wang, Zhenyu
    Mao, Xiaoguang
    Bissyande, Tegawende F.
    EMPIRICAL SOFTWARE ENGINEERING, 2024, 29 (02)
  • [6] DeepDir: a deep learning approach for API directive detection
    Jingxuan ZHANG
    He JIANG
    Shuai LU
    Ge LI
    Xin CHEN
    Science China(Information Sciences), 2021, 64 (09) : 238 - 240
  • [7] DeepDir: a deep learning approach for API directive detection
    Jingxuan Zhang
    He Jiang
    Shuai Lu
    Ge Li
    Xin Chen
    Science China Information Sciences, 2021, 64
  • [8] A Combinatorial Strategy for API Completion: Deep Learning and Heuristics
    Liu, Yi
    Yin, Yiming
    Deng, Jia
    Li, Weimin
    Peng, Zhichao
    ELECTRONICS, 2024, 13 (18)
  • [9] DeepDir: a deep learning approach for API directive detection
    Zhang, Jingxuan
    Jiang, He
    Lu, Shuai
    Li, Ge
    Chen, Xin
    SCIENCE CHINA-INFORMATION SCIENCES, 2021, 64 (09)
  • [10] API Misuse Bug Detection Based on Deep Learning
    Wang X.
    Chen C.
    Zhao Y.-F.
    Peng X.
    Zhao W.-Y.
    Ruan Jian Xue Bao/Journal of Software, 2019, 30 (05): : 1342 - 1358