Comments (8)
No, we don't specifically support anything like that.
(We support the reverse using the ExecutableReasoner.)
However, you could write custom code to do this (but it would probably be a decent amount of work).
The Term representations themselves are easy, but there is other infrastructure you would have to tap into.
(Like how Reasoners are not meant to be run outside of an InferenceApplication.)
The easiest option would probably be to use an off-the-shelf ADMM library.
(I'm going to close the issue, but we can keep talking about it.)
from psl.
Hi Eriq,
Thanks for your reply. Are there any ADMM libraries that you know of and would recommend for such a task?
Best,
Matt
from psl.
What language do you want to use?
@dickensc Do you have any suggestions?
from psl.
Any of Python/C++/Java would be okay, I have no particular preference
from psl.
Hello, ADMM is a high-level framework that will have typically have specialized implementations.
This is because the variable updates require solving subproblems that are combinations of your objective and constraints.
For this reason, you may find ADMM based solvers for specific classes of optimization problems but it is more common to implement the high-level ADMM algorithm yourself and use solvers for the subproblems.
Here is an example of this pattern in action: https://www.cvxpy.org/examples/applications/consensus_opt.html
I also recommend using CVX and its implementations in other languages in general.
Here is a reference with details on ADMM and common modeling strategies:
https://stanford.edu/~boyd/papers/pdf/admm_distr_stats.pdf
from psl.
That's very helpful, thank you both!
from psl.
Would the situation change if I wanted to run ADMM with my own set of ground rules? Say I want to do grounding differently from the way it is done in PSL but still want to use the ADMM inference on my set of rules. Is there a way to do that easily, or do I have to create the ground rules from ground up in the code and bypass the grounding steps?
from psl.
from psl.
Related Issues (20)
- PSL Standalone Evaluators HOT 1
- (Actual) Ranking Evaluator
- Dynamic Documentation of Options
- Unary Relationship Prediction HOT 7
- JSON PSL/Runtime Config HOT 5
- Lazy Grounding Can Miss Some Groundings HOT 1
- Make Weights Float HOT 1
- PSL Runtime HOT 1
- More Integrated Python Inferface HOT 3
- Too Long Postgres Index Names HOT 1
- Per-Predicate Evaluators
- org.h2.jdbcSQLException: General error: "java.lang.NullPointerException" HOT 2
- Grounding Only Predicate Semantics Poorly Defined for Arithemtic Rules
- Truth Values Outside of [0, 1] Sneaking In HOT 1
- Fatal error because of using Log4J 1.X dependencies without adding them as direct dependency HOT 7
- Refactoring and merging PSL-VMI feature HOT 3
- Version `2.3.0` creates an uber-jar which causes class file duplicates HOT 9
- Some questions about the data for weight learning. HOT 2
- No Native Library when Running using CLI HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from psl.