Coder Social home page Coder Social logo

RANN.L1 remote dependency about rann HOT 11 OPEN

combiz avatar combiz commented on August 28, 2024
RANN.L1 remote dependency

from rann.

Comments (11)

combiz avatar combiz commented on August 28, 2024 1

remotes::install_github("jefferis/RANN@master-L1") works ok locally for me. The issues arise with packages like roxygen2/pak/pkgdepends which seem to expect the R package name and repo name to match (e.g. #31 (comment)). e.g.

devtools::install_github("r-lib/pkgdepends")
pd <- new_pkg_deps("MacoskoLab/liger")
pd$solve()
pd$draw()
Error: Cannot install packages:
  x Cannot install `MacoskoLab/liger`.
    - Cannot install dependency jefferis/RANN@master-L1

from rann.

combiz avatar combiz commented on August 28, 2024

tl;dr
Would be useful if the RANN.L1 package, currently stored in a branch of RANN, could be copied to its own separate repo at jefferislab/RANN.L1 to match the convention of account/packagename expected by various dev packages in R. Would help to avoid issues like the below (produced by r-lib/pkgdepends): -

 x Cannot install `MacoskoLab/liger`.
    - Cannot install dependency jefferis/RANN@master-L1

Thanks!

from rann.

jefferis avatar jefferis commented on August 28, 2024

@krlmlr you had a strategy for this I think?

from rann.

krlmlr avatar krlmlr commented on August 28, 2024

In #30, I suggested to re-unify the codebases so that L1 is available from {RANN}. Would that work?

from rann.

combiz avatar combiz commented on August 28, 2024

If the master branch of a new repo at jefferis/RANN.L1 could have the contents of the jefferis/RANN@master-L1 branch it would provide a quick fix.

from rann.

jefferis avatar jefferis commented on August 28, 2024

Can we give @krlmlr the option to try and get things working in one package. Having two repos would be a retrograde step when we are trying to rationalise two separate packages.

from rann.

combiz avatar combiz commented on August 28, 2024

Sounds like an optimal solution, thanks!

from rann.

krlmlr avatar krlmlr commented on August 28, 2024

@combiz: For me, remotes::install_github("jefferis/RANN@master-L1") works, and so should the Remotes: entry in the package you're referring to. Perhaps the installation failure has a different reason? Could you point me to the failing CI run?

from rann.

hughrmacmillan avatar hughrmacmillan commented on August 28, 2024

Hi friends... thank you for you RANN (and RANN.L1)! I'm curious about use of Lp for p = [ .... drum roll .... ] 1/2.

It looks possible to hotwire the RANN tarball library by commenting out / uncommenting in at that spot in ANN.h and running R CMD SHLIB ... but that would be a first for me, and I ran across this thread and thought I'd ask if "rationalising" (as @jefferis put it) RANN to run ANN with different p value options was in the cards. Thanks again for your contributions! Cheers!

from rann.

jefferis avatar jefferis commented on August 28, 2024

See the ANN manual for metrics that are supported out of the box. Not including 1/2 https://www.cs.umd.edu/~mount/ANN/Files/1.1.2/ANNmanual_1.1.pdf
A1245F2A-A595-4353-946E-C7FF8A5B8B8E

from rann.

hughrmacmillan avatar hughrmacmillan commented on August 28, 2024

Right. Yes, I'd seen this ... there's no triangle inequality and hence no "metric" with 0 < p < 1 but the quantities from these "fractional" p distances can still be used to define neighborhoods around query points for ANN search. There's some literature on such fractional distances helping with the curse of dimensionality story in the 20-50 dimension range, hence my curiosity. Cheers!

from rann.

Related Issues (17)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.