Replies: 1 comment 3 replies
-
|
Well, if we can figure out a way to get say 10 people to donate $100 per month, that gives me $1000 per month, which is enough money that I can start taking one full day to work on JavaCPP and PyTorch per month, sure, that's totally possible.. It's also very easy for anyone to do that with GitHub too: https://github.com/sponsors/bytedeco The thing is though, although $100 is not a lot of money, I don't see where we can even get such a small amount money. The way I see it, at this point in time, Java is legacy technology, and there is just simply no market at all! |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi @saudet
I've been coding with javacpp-pytorch for over four years now, and I'm truly grateful for this project. It has reignited my passion for creation and programming. My long-standing dream has always been to make deep learning models more accessible to the Java and Scala ecosystems. A decade ago, I was a code contributor for DeepLearning4j/Skymind in China. Back then, I was full of enthusiasm working towards this vision. However, when Skymind's founder failed to secure further venture capital, the framework was ultimately abandoned, which was disheartening.
Around five years ago, I attempted to bring TensorFlow and Keras into Java, but I found their implementations incomplete - many API interfaces were missing, forcing me to abandon the effort midway. This was frustrating, but I never gave up on the idea that I'd try again when opportunity arose.
Then I discovered PyTorch, an exceptional deep learning framework. I'm deeply impressed by its elegant design and believe PyTorch is destined to become the de facto standard, dominating 90% of deep learning algorithm scenarios - which is already happening today. Graph neural networks and reinforcement learning frameworks are now built on PyTorch as their foundation. With this urgency, I resumed my quest to bring PyTorch to Java and Scala platforms.
That's when I found javacpp-pytorch. I started experimenting with it and even developed a recommendation system Scala model library using this framework. Later, I joined Sbrunk's Storch project in Europe. I must admit that Storch significantly simplified javacpp-pytorch's usage. This inspired me to attempt transplanting the entire Python AI ecosystem to Java/Scala platforms. I've since integrated tools like NumPy, scikit-learn, pickle, HDF5, TensorBoard, OpenCV, FFmpeg, and librosa. I envision a thriving community of Java/Scala practitioners adopting PyTorch through this framework.
Over the past two years of using javacpp-pytorch, I've written approximately 80,000 lines of code for the Storch AI ecosystem and submitted around 50+ issues to javacpp-parents. Now, I realize I'm functioning more as a software tester for javacpp-pytorch than a developer. I genuinely admire and love this project. When I submit issues, it's not to cause trouble but to help javacpp-pytorch become stronger and more feature-complete with the Python version. Currently, javacpp-pytorch can handle about 80% of algorithmic programming scenarios, except for distributed training of large models - which is where most of my recent issues focus.
I currently have no commercial background, but if I did in the future, I'd gladly invest more money and donations into javacpp. If possible, please share donation channels. I'm willing to donate $100 periodically, likely monthly, and would encourage others/companies using javacpp-pytorch and Storch to contribute as well.
saudet, I know you've done tremendous behind-the-scenes work, and I'm deeply grateful for your dedication. I believe we'll become good friends with shared values. If there's anything I can do to contribute to javacpp-pytorch within my capabilities, I'd be honored to assist. Right now, you can consider me a software engineering tester - I'll thoroughly evaluate javacpp-pytorch's real-world performance and provide feedback.
Currently, the only major missing piece is distributed large-scale model training. Recent feedback suggests Gloo still has issues, while NCCL and MPI implementations haven't been completed yet. Please don't see me as a troublemaker - I'd love to modify the code myself, but I'm not proficient in editing javacpp's native DLL files.
My greatest strength lies in applying and testing javacpp-pytorch. Let's work together to make its Java/Scala implementations even better. I'm really looking forward to seeing Gloo, NCCL, and MPI fully functional in javacpp-pytorch 1.5.13. Let's make it happen together - your efforts are truly appreciated.
Best regards,
muller
Beta Was this translation helpful? Give feedback.
All reactions