chochain / tensorForth

Forth does tensors, in CUDA.
MIT License
27 stars 2 forks source link

Python API? #3

Open rog77 opened 1 year ago

rog77 commented 1 year ago

Can I please ask: is there an easy/simple way to expose the functionality of this software such that it can be controlled via python?

I realise this might appear to be counterintuitive to the work you have done, but I have a good reason for asking...

I would hope to be able to use your work alongside this project, which has a certain degree of crossover: https://github.com/hcchengithub/peforth/issues/8

Thanks in advance for any answers!

chochain commented 1 year ago

rog77: Python has a pretty straight forward API to interface with C/C++. Though haven't don't it before, I think it won't take too much work and is on my TODO list now. Also, thank you for the introduction, I've check out peforth and projects H.C. Chen has. Very interesting!

rog77 commented 1 year ago

That certainly sounds positive, if you feel it is something you might consider doing, I would ask HC Ceng about integrating it into peforth.

It seems to me that you both have similar interests, and that the ability to use your code interactively from his debuger, or load words in, that take advantage of preexisting python objects/tensorflow/jax/ect would be quite interesting when taken together.

There are a couple of other Forth/Ml related projects I have my eye on, that I feel could make remarkable use of a combination of TensorForth & Peforth.

Thanks for getting back to me!

chochain commented 1 year ago

rog77: Sharing is the essence. It's even better that we have some common interests. I do agree with your point of adding a Python interface to enable accessibility and possibly broader exposure, too. Actually, I think it might even save me some time on data loader and plot integration. Thank you. Please do whichever you feel comfortable with. I'm all for it!

rog77 commented 1 year ago

I am pleased that you have found common ground with HC Ceng, and I look forward to seeing what you come up with :-)

If it isn't too impertinent, I would like to draw your attention to a couple of other projects that you might find interesting:

Differentiable Forth Interpreter (and paper) https://github.com/uclnlp/d4

Genetic algorithms in Forth (just the paper, code available online) https://deepai.org/publication/genetic-algorithms-in-forth

It seems to me that both of these projects could be realised in Tensor Forth (utilising PeForth to generate data from other sources) - combined with your work they might be used to discover efficient algorithms in forth, with forth, so it could be turtles all the way down...

It is my feeling that this could lead to some interesting applications in ML/Robotics.

Once again I am sorry for being impertinent, and realise this falls well outside the scope of a github issue, but I would be interested to hear your thoughts.

Thank you again for taking the time to engage with me.

chochain commented 1 year ago

rog77: Thank you again for bringing d4 and genetic algo to my attention. Yes, they are on my watch list and one of the reasons I have chosen Forth. In fact, morphing/self-modifying code (virus) was one of my past interests. 8-)