Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Hugo Granström
    @HugoGranstrom
    But this may not feel as neat as having it all in the same package... 🤔
    Mamy Ratsimbazafy
    @mratsim
    na, nothing much. For now I've finished on the low-level stuff
    implementing the Lux compiler would take lots of time. I've been very impressed by the result of a new project by ETH Zurich https://github.com/spcl/dace
    but doing it in Nim requires a graph library that works at compile-time
    however it neatly addresses some problems that I may be stuck with for distributed computing
    on a more impactful thing, I was otherwise thinking on implementing at least a simple random forest and/or some OneHotEncoding so that we can at least do the "Titanic" playground competition from Kaggle fully in Arraymancer and obtain OK results
    Hugo Granström
    @HugoGranstrom
    Alright then! 👍 As there are no obstacles it should just be a matter of starting to implement things 😅
    Once Lux is done it will be really cool!
    I'm so amazed by how much you can abstract away from the user and still make the code run so much faster
    Machine learning algorithms are cool as well and one of Arraymancers primary focuses if I understand it correctly?
    Is there any point in implementing it all from scratch (apart from that you actually learn how it works) or is porting for example SciKit's random forest implementation acceptable?😅
    Mamy Ratsimbazafy
    @mratsim
    porting is OK
    yes ML algo are a primary focus because I don't know much about physics (besides being trained as a mechanical engineer so I do know about DE and used multiple FE simulations, including Nastran, Patran, Ansys Fluent for airplane design and many other computational dynamics tool for melted iron and steel but that was only as a user)
    Mamy Ratsimbazafy
    @mratsim
    one thing I will definitely not implement from scratch is gradient boosted trees given the work that is being done in XGBoost and LightGBM
    another reason of learning from scratch is that you can be much faster than Python if the low-level tooling match the problem https://github.com/mratsim/Arraymancer/pull/384#issuecomment-536682906.
    note that I didn't reimplement from scratch, just reused linear algebra components from Lapack
    Vindaar
    @Vindaar

    because I don't know much about physics

    What are you thinking of here? I do know a thing or two of course. I can maybe help.

    Vindaar
    @Vindaar
    regarding implementing from scratch: for me as a - still sort of - beginner I often struggle to find the proper algorithms that I should implement. For many areas there's so many different ones with pros and cons one the one hand or the "algorithms" are not actually what's usually done implementation wise, because there's always a bunch of things, which for some people are obvious things to do, efficiency wise.
    And to be honest I'm pretty slow at converting math to code without running into a huge number of numerical problems, at least.
    Hugo Granström
    @HugoGranstrom
    Oh perhaps it could be worthwhile at least trying to combine doing it from scratch and getting "heavy inspiration" from SciKit
    With the physics things I should also be able to lend a helping hand 🖐️ And I agree that some things are really hard to understand hoe to implement from theory
    Looking at how others have implemented things really is the thing that had taught me the most
    Hugo Granström
    @HugoGranstrom
    Getting a working implementation is the most important first step in my opinion and then we can always switch the algorithm if we find a faster one in the future and hopefully we will be able to maintain the same function calls for the users
    Vindaar
    @Vindaar

    Getting a working implementation is the most important first step

    I agree

    Mamy Ratsimbazafy
    @mratsim

    And to be honest I'm pretty slow at converting math to code without running into a huge number of numerical problems, at least.

    Reproducing papers is almost impossible

    I don't try it whether in Machine Learning or Cryptography or blockchain
    I look into the implementations
    multithreading is even worse
    Vindaar
    @Vindaar
    that makes me feel a little better about myself ;)
    Hugo Granström
    @HugoGranstrom
    @Barroff https://gitter.im/SciNim/community if you want to hear the juicest gossip about science in Nim 😉
    matrixbot
    @matrixbot
    BarrOff Thank you, I will join soon