Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does Rubix ML support multi-dimensional output? #241

Open
epoxa opened this issue Aug 14, 2022 · 4 comments
Open

Does Rubix ML support multi-dimensional output? #241

epoxa opened this issue Aug 14, 2022 · 4 comments
Labels
question Further information is requested

Comments

@epoxa
Copy link

epoxa commented Aug 14, 2022

I would like to utilize MLPRegressor to predict multi-dimensional continuous vectors (arrays). Is it possible?
As I see train and partial methods require Labeled datasets, so what should I use as labels?
Thanks.

@epoxa epoxa changed the title Does Rubix ML support multi-dimentional output? Does Rubix ML support multi-dimensional output? Aug 15, 2022
@DrDub
Copy link
Contributor

DrDub commented Sep 5, 2022

You are correct. From the classifiers we have, the NeuralNet should trivially support multiple outputs for regression but it is currently capt at one in \Rubix\ML\NeuralNet\Layers\Continuous

Even if that capt is removed, Rubix\ML\Datasets\Labeled as you mention cannot take multi values. Allowing for the labels to be arrays will need changes in Continuous back and gradient but once you get gradient, the rest of the code will stay the same. Feel like trying it yourself? Would love to hear whether it works or if you find any further issues.

@DrDub
Copy link
Contributor

DrDub commented Sep 7, 2022

Actually, I needed this for reinforcement learning and programmed it myself. Give it a try: https://github.com/Textualization/ML/blob/rl/src/NeuralNet/Layers/MultiContinuous.php

@andrewdalpino
Copy link
Member

andrewdalpino commented Sep 14, 2022

We could allow a new "list" datatype in the Dataset object to accommodate multi-label problems. We could also implement a new "MultiOutput" layer.

@andrewdalpino andrewdalpino added the enhancement New feature or request label Sep 30, 2022
@DrDub
Copy link
Contributor

DrDub commented Dec 29, 2022

We could allow a new "list" datatype in the Dataset object to accommodate multi-label problems. We could also implement a new "MultiOutput" layer.

Well, I did implement that MultiOuput layer already. It is in my fork. But without a Dataset extension, it can only be accessed by fiddling with the neural network directly.

@andrewdalpino andrewdalpino added question Further information is requested and removed enhancement New feature or request labels May 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants