Replies: 6 comments 18 replies
-
I'm Viet Yen Nguyen, CTO of @hypefactors. Typical use cases for us:
Wishlist:
I have a general desire regarding back pressuring GPU loads when under heavy load (e.g. memory, computational). So that OOMs or other resource contention problems are avoided. But I think it's out of scope of DJL, and is probably more related to hardware/software/engine interaction. |
Beta Was this translation helpful? Give feedback.
-
We do have customer doing exactly as you described. The issue with this solution is that user has to use |
Beta Was this translation helpful? Give feedback.
-
Not yet. But I'll include it in the options when we tackle the next model. For (processing) code that will run 24/7, we kinda prefer doing that in the JVM space due to static typing and benefiting from the existing code quality assurance infrastructure we have there. So today, that means we maintain two versions of the same processing code, in Python and Scala. This workaround isn't ideal, but is the best known trade-off for us at the time. |
Beta Was this translation helpful? Give feedback.
-
my 2 cents:
|
Beta Was this translation helpful? Give feedback.
-
Hi,
I'm very happy with JavaCPP and the PyTorch presets. We use them in
research projects involving tabular data where data pipelines are involved
and have to come from Java. A few notes:
Plus
- It's the only library that allows Java fine-tuning of pre-trained
networks, whereas most other libraries can only load existing weights for
inference, or train without loading pre-trained weights. Very crucial for a
lot of deep learning research use-cases.
- Integration with OpenCV presets works flawlessly thanks to JavaCPP's
Pointer APIs. This is huge for efficiency and convenience in applying
transforms in Java.
- One of the closest PyTorch-like API in Java I have seen.
Minus
- Long-term maintenance. Since it is mostly maintained by one person,
there's a risk for us to use it in larger projects if this is ever dropped.
Related to this, the release versions are also tied to the latest torch
(newest updates in javacpp are designed for newest torch).
- Torchscript is a bit of a pain because it doesn't work for things like
CLIP which has a ton of control flows, but that is more of an issue with
torch and c++ torchlib I guess.
…On Wed, May 11, 2022 at 2:33 PM jxtps ***@***.***> wrote:
I'm using JavaCPP PyTorch for inference in Java, still doing the training
in Python. We're still in development so have yet to actually deploy in
production, but so far it works great!
While the "close to the C++ metal" experience has a bit of a learning
curve, it provides fantastic control of precisely what happens to which
tensor when. This makes it possible to leverage the GPU for various
pre/post-processing tasks "around" the network, allowing me to not have to
go back to python when I need to make minor interface changes.
Specific example: at first I was creating wrappers models in python before
exporting the actual model. Now I do that glue work in Java, which makes
for a much more flexible development experience. There's always a bit of
glue code necessary, and this enables a nicer separation between the ML
training & inference.
—
Reply to this email directly, view it on GitHub
<#1593 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABRFTEYOF52FZSOIYK7L353VJP4RBANCNFSM5UAR33QA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Thanks for everyone's input, we do have a community meeting next Wednesday. Please feel free to bring these topic there for more discussion. |
Beta Was this translation helpful? Give feedback.
-
Time: 9:00AM-10:00AM PT
This is part of a series of biweekly online community meetings to discuss DJL development, events, and projects. The agenda and conference information are located below. If you have a project to share, are working on part of DJL, would like to raise a discussion about DJL development, or want to discuss anything else, leave a comment on this discussion to add it to the agenda.
Instructions on joining the meeting
Agenda
Introductions and Updates
Please say: name, company/organization/school, what are you working on with DJL
Scheduled Items
What improvements are you most hoping for in DJL?
Beta Was this translation helpful? Give feedback.
All reactions