GithubHelp home page GithubHelp logo

Manage inference packages about pystruct HOT 19 OPEN

pystruct avatar pystruct commented on August 20, 2024
Manage inference packages

from pystruct.

Comments (19)

zaxtax avatar zaxtax commented on August 20, 2024

I'm for all of these except for scripts to fetch other solvers, unless its a build step.

from pystruct.

vene avatar vene commented on August 20, 2024

also TODO: cython wrappers for libDAI

from pystruct.

amueller avatar amueller commented on August 20, 2024

I added a small script to filter out not-installed inference methods in the meantime. @fgregg sent a PR to pyqpbo to make it installable via pip, I'm having a look right now.

Btw, I also implemented message passing in #13. It needs some heavy benchmarking, probably cythonizing.
Not sure if I should go with pointer pushing or typed memory views....

from pystruct.

fgregg avatar fgregg commented on August 20, 2024

So, @vene has been working on dai do we also need to include opengm? https://github.com/pystruct/pystruct/blob/master/pystruct/inference/inference_methods.py

from pystruct.

fgregg avatar fgregg commented on August 20, 2024

Also, we may want to not require that the user download all these methods. We could recommend one in the requirement.txt file, and the have the rest of the methods in requirement-test.txt file.

from pystruct.

amueller avatar amueller commented on August 20, 2024

Totally. This was my intention in writing the helper function for the tests.
I think we stick with ad3 and recommend the rest.

It would be nice to have opengm pip installable. we should ask @DerThorsten about it.
All pystruct/opengm code is in inference_ogm, so if we can install Thorsten's branch via pip, we are golden.

from pystruct.

amueller avatar amueller commented on August 20, 2024

opengm has a much broader and up-to-date collection of algorithms than libdai and also already includes python bindings.
That kind of begs the question why we want dai wrappers ;) But I guess LibDAI is pretty established while OpenGM is quite new - actually OpenGM can use LibDAI btw!

from pystruct.

fgregg avatar fgregg commented on August 20, 2024

So, should the default method be ad3 instead of lp?

On Mon, Jul 15, 2013 at 3:47 PM, Andreas Mueller
[email protected]:

opengm has a much broader and up-to-date collection of algorithms than
libdai and also already includes python bindings.
That kind of begs the question why we want dai wrappers ;) But I guess
LibDAI is pretty established while OpenGM is quite new - actually OpenGM
can use LibDAI btw!


Reply to this email directly or view it on GitHubhttps://github.com//issues/7#issuecomment-21002400
.

773.888.2718
2231 N. Monticello Ave
Chicago, IL 60647

from pystruct.

amueller avatar amueller commented on August 20, 2024

I think so. And I think @vene and @zaxtax agreed.

from pystruct.

amueller avatar amueller commented on August 20, 2024

I was wondering if we should check whether ad3 is installed and fall back on lp
or just assume ad3 is installed.

from pystruct.

fgregg avatar fgregg commented on August 20, 2024

I think we should make it a requirement unless we find that people are
having a hard time installing it. In the meantime, we may want to
centralize all these 'default settings' [1] to a config file.

64bc339

On Mon, Jul 15, 2013 at 3:57 PM, Andreas Mueller
[email protected]:

I was wondering if we should check whether ad3 is installed and fall back
on lp
or just assume ad3 is installed.


Reply to this email directly or view it on GitHubhttps://github.com//issues/7#issuecomment-21003144
.

773.888.2718
2231 N. Monticello Ave
Chicago, IL 60647

from pystruct.

amueller avatar amueller commented on August 20, 2024

On 07/15/2013 11:03 PM, Forest Gregg wrote:

I think we should make it a requirement unless we find that people are
having a hard time installing it.
Fine with me.
In the meantime, we may want to
centralize all these 'default settings' [1] to a config file.
We definitely need to centralize them.
I'm not sure I like the idea of a config file. Why not in the parent class?

I guess the main question is whether we want to allow the user to change
the default behavior.
I have absolutely no experience with that (aka sklearn doesn't do it).
It might make sense here.
That means we have to look for the config-file in user-space, right, like
~/.pystructrc
or something like that?

from pystruct.

zaxtax avatar zaxtax commented on August 20, 2024

Well numpy as a site.cfg file in their top directory, https://github.com/numpy/numpy/blob/master/site.cfg.example

from pystruct.

amueller avatar amueller commented on August 20, 2024

I don't see a benefit of having a config file instead of doing it in the source, if it is not in user-space.

from pystruct.

fgregg avatar fgregg commented on August 20, 2024

I think you are right, it makes more sense to set it in the StructuredModel
class.

Having a loose coupling with the inference methods make sense, since there
is so much fllux in the available libraries.

On Mon, Jul 15, 2013 at 4:09 PM, Andreas Mueller
[email protected]:

On 07/15/2013 11:03 PM, Forest Gregg wrote:

I think we should make it a requirement unless we find that people are
having a hard time installing it.
Fine with me.

In the meantime, we may want to
centralize all these 'default settings' [1] to a config file.
We definitely need to centralize them.
I'm not sure I like the idea of a config file. Why not in the parent class?

I guess the main question is whether we want to allow the user to change
the default behavior.
I have absolutely no experience with that (aka sklearn doesn't do it).
It might make sense here.
That means we have to look for the config-file in user-space, right, like
~/.pystructrc
or something like that?


Reply to this email directly or view it on GitHubhttps://github.com//issues/7#issuecomment-21003980
.

773.888.2718
2231 N. Monticello Ave
Chicago, IL 60647

from pystruct.

amueller avatar amueller commented on August 20, 2024

the numpy config seems to be for building, right?

from pystruct.

zaxtax avatar zaxtax commented on August 20, 2024

Right.

On Mon, Jul 15, 2013 at 2:17 PM, Andreas Mueller
[email protected]:

the numpy config seems to be for building, right?


Reply to this email directly or view it on GitHubhttps://github.com//issues/7#issuecomment-21004542
.

from pystruct.

amueller avatar amueller commented on August 20, 2024

How about we try to do it in the base class and if

  • it is annoying to implement or
  • we find it annoying to overwrite it with our favorite every time

we introduce a config file?

from pystruct.

fgregg avatar fgregg commented on August 20, 2024

👍

from pystruct.

Related Issues (20)

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.