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

[New Integration]: Fast.ai #2941

Open
1 task done
NoelJacob opened this issue Sep 19, 2022 · 6 comments
Open
1 task done

[New Integration]: Fast.ai #2941

NoelJacob opened this issue Sep 19, 2022 · 6 comments
Assignees
Labels
enhancement New feature or request hacktoberfest Contirubte to MindsDB and participate in Hacktoberfest. help wanted Extra attention is needed integration New idea for the supported db integrations

Comments

@NoelJacob
Copy link

NoelJacob commented Sep 19, 2022

Is there an existing integration?

  • I have searched the existing integrations.

Use Case

Fast.ai 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 cutting-edge models.

It is a framework on top of PyTorch and so native PyTorch components can also be used.

Motivation

You can use it for quick prototyping and for neck-to-neck Kaggle contests. It aims to do both things without substantial compromises in ease of use, flexibility, or performance. 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…

API Structure

flowchart BT
    classDef stroke stroke-dasharray: 20;
    subgraph a[Application]
        direction TB
        a1(Vision) & a2(Text) & a3(Tabular) & a4(Collab)
    end
    subgraph b[High Level API]
        direction TB
        b1(Learner) & b2(DataBlock)
    end
    subgraph c[Mid Level API]
        direction TB
        c1(Callbacks) & c2(Generic Optimizer) & c3(General Metric) & c4(Data Core)
    end
    subgraph d[Low Level API]
        direction TB
        d1(Pipeline) & d2(Reversible Transforms) & d3(OO Tensors) & d4(Optimized Ops)
    end 
    d --> c --> b --> a
    class a,b,c,d stroke

Fastai is organized around two main design goals: to be approachable and rapidly productive, while also being deeply hackable and configurable. This is possible thanks to a carefully layered architecture. It is built on top of a hierarchy of lower-level APIs which provide composable building blocks. This way, a user wanting to rewrite part of the high-level API or add particular behavior to suit their needs does not have to learn how to use the lowest level.

Thanks for going through the issue. If you like the idea, then kindly upvote by reacting with a 👍 emoji below.

Implementation

No response

Anything else?

No response

@NoelJacob NoelJacob added enhancement New feature or request integration New idea for the supported db integrations labels Sep 19, 2022
@ZoranPandovski ZoranPandovski added this to Ideas 💡 in ML Frameworks Contest Sep 19, 2022
@NoelJacob NoelJacob changed the title Fast.ai Integration [New Integration]: Fast.ai Integration Sep 24, 2022
@NoelJacob NoelJacob changed the title [New Integration]: Fast.ai Integration [New Integration]: Fast.ai Sep 24, 2022
@ZoranPandovski ZoranPandovski removed this from Ideas 💡 in ML Frameworks Contest Oct 14, 2022
@ZoranPandovski ZoranPandovski added help wanted Extra attention is needed hacktoberfest Contirubte to MindsDB and participate in Hacktoberfest. labels Oct 14, 2022
@2SpaceMasterRace
Copy link

2SpaceMasterRace commented Oct 2, 2023

Hi @NoelJacob I'd love to work on this issue plus I have some decent experience doing ML integrations

do you mind if I could be assigned to this issue?

@NoelJacob
Copy link
Author

Yup take it @2SpaceMasterRace

@martyna-mindsdb
Copy link
Contributor

@2SpaceMasterRace
Are you still working on it?

@2SpaceMasterRace
Copy link

Hi @martyna-mindsdb sorry yeah I'm still working on it got caught up with some uni work

will create a pull request by the end of this week

@2SpaceMasterRace
Copy link

sorry for the pretty noob question @martyna-mindsdb @NoelJacob

I've managed to implement image classification, image segmentation, text sentiment, recommendation system, and tabular model from fastai's docs. Will this do or do I integrate all of fastai's functionality? I just implemented this given how other ML handlers were implemented such as huggingface

@martyna-mindsdb martyna-mindsdb added this to In progress in Community Contributors Oct 26, 2023
@martyna-mindsdb
Copy link
Contributor

@2SpaceMasterRace
Please link your PR to this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request hacktoberfest Contirubte to MindsDB and participate in Hacktoberfest. help wanted Extra attention is needed integration New idea for the supported db integrations
Projects
Hacktoberfest 2022
Awaiting triage
Development

No branches or pull requests

4 participants