Skip to content

Proposal for the initial API #3

Closed

Description

@pavanky

This library will sit on top of arrayfire. The default implementation will be C++, however C wrappers will be added on top so that the library can be used from other languages.

The optimization function and distance metrics need to be abstract out so the user has a choice of switching them out whenever possible.

Base classes

Classifiers

Dimensionality Reduction

Regression Analysis

Clustering

Optimization functions

Needs research

Activity

  1. pavanky commented on Jun 17, 2015

    @pavanky
    MemberAuthor

    @umar456 @pentschev @jramapuram Any suggestions about what can go in the first go would be greatly appreciated.

  2. pavanky commented on Jun 17, 2015

    @pavanky
    MemberAuthor

    In particular, additions to Regression and clustering would be nice.

  3. added this to the 1.0 milestone on Jun 17, 2015
  4. jramapuram commented on Jun 17, 2015

    @jramapuram
    Member

    I think it makes sense to start with the basics, go with:

    • Linear Regression
    • Logistic Regression (natural extension due to just a kernel swap)
    • k-Means
    • Standard Multi Layer Perceptron.

    And then take it from there! :)

    Personally I would like to maybe do some LSTM's & other RNN type models.
    However, for these we will need an optimizer. SGD & ADAM should be easy enough to implement

  5. jramapuram commented on Jun 17, 2015

    @jramapuram
    Member

    Btw for the suite of neural models it would be good to abstract a standard 'Layer' class. This will make the addition of conv layers/etc pretty easy.

  6. pavanky commented on Jun 17, 2015

    @pavanky
    MemberAuthor

    @jramapuram I was just running through the library design via github issues. I came up with this: #17 for the standard Layer class. It might change once the work actually begins.

  7. pavanky commented on Jun 17, 2015

    @pavanky
    MemberAuthor

    I will look into the optimization functions and update the list. Can you create an issue for base RNN class and / or LSTM and discuss what additional work should be done ?

  8. jramapuram commented on Jun 18, 2015

    @jramapuram
    Member

    Sure thing. For optimization I suggest paralleling something like keras's solution minus maybe the automatic differentiation that theano offers (thats pretty tough to implement I'd imagine).

  9. futurely commented on Jun 22, 2015

    @futurely

    @zxie has implemented a very elegant neural network library which maybe was based on the general flow graph described in the Stanford course Deep Learning for Natural Language Processing.

    A graph based neural network model can be built with Nodes which do the math with Ops. Currently only one model was implemented with nodes. The library also implements some NNet models without using the nodes.

    Caffe is also trying to manage the relationship of layers in a computation graph.

  10. unbornchikken commented on Jun 29, 2015

    @unbornchikken
    Member

    I have some experience with recurrent learning models, like RTLR and LSTM. Those coluld be used for tasks like speech recognition and realtime time series predictions, and so. Do you have plans for supporting such functionality aswell?

  11. jramapuram commented on Jun 29, 2015

    @jramapuram
    Member
  12. unbornchikken commented on Jun 29, 2015

    @unbornchikken
    Member

    Yeah, but that doesn't get icluded in this list above. Yet?

  13. UniqueFool commented on Jun 6, 2016

    @UniqueFool

    Caffe is also trying to manage the relationship of layers in a computation graph.

    FWIW, there is an increasing number of ML algorithms that are doing tree/graph processing to some extent, so that may be another useful thing to have in arrayfire-ml: graph processing utilities for some of the more common algorithms (e.g. breadth-first search implemented in OpenCL)

  14. pavanky commented on Jul 6, 2017

    @pavanky
    MemberAuthor

    Closing this because it is no longer relevant.

  15. removed this from the 1.0 milestone on Jul 6, 2017
  16. jasonhargrove commented on Jul 23, 2017

    @jasonhargrove

    Why is it no longer relevant?

  17. pavanky commented on Jul 23, 2017

    @pavanky
    MemberAuthor

    @jasonhargrove Using autograd for implementing neural networks. This involved changing the API. If you have any suggestions / questions, please follow up over here:
    #17

  18. tcandzq commented on May 4, 2019

    @tcandzq

    Hi,Could I join this project and develop some function in arrayfire-ml。Because write ml algorithm in C++ and GPU would interesting and challenging! Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions