14 comments

[ 3.1 ms ] story [ 42.9 ms ] thread
There is also a number of other related projects:

- Deep Learning with OCaml[1] blog post from Jane Street

- Reinforcement Learning with OCaml[2] blog post from Jane Street

- Transfer Learning with OCaml[3] blog post from Jane Street

- An example of object-detection convolutional neural network (Mask R-CNN) with Owl library[4]

- Currently, the integration with ONNX[5] is being worked on in Owl

- Other proposed projects[6] that might need your help

[1] https://blog.janestreet.com/deep-learning-experiments-in-oca...

[2] https://blog.janestreet.com/playing-atari-games-with-ocaml-a...

[3] https://blog.janestreet.com/of-pythons-and-camels/

[4] https://github.com/owlbarn/owl_mask_rcnn

[5] https://github.com/owlbarn/owl_onnx

[6] https://ocaml.xyz/project/proposal.html

As someone who also wrote my own deep learning library from scratch in a less-known language (Nim: https://github.com/mratsim/Arraymancer), I must say this looks very nice.

I especially like the syntax for declaring neural networks.

One thing I'm unclear of is the slicing. get_fancy seems quite complex compared to Numpy and it seems to return a copy instead of allowing in-place modification of a slice?

I really like this but I wish they included some performance numbers. How does training and inference speed compare to TensorFlow or PyTorch?
Is OCaml typically used in production at a lot of places (other than Jane Street)?
I know that Ahrefs and OneGraph use it for production.
I work at Bloomberg in derivatives. C++ is our backbone but there is definitely a lot of OCaml in production. To tell it all we have BLAN, an OCaml-ish language that you (as our customer) can use to structure (exotic) derivative contracts and get them priced in DLIB.
Enrolled in an OCaml course once. Dropped that like a sack of potatoes.
Maybe Reason is more of your liking?
Machine learning needs a lot of data exploration, and data reflection. Problem with languages like OCaml is that, they are a bottleneck in that exploration where you have to think more about the language rather than the question you are trying to ask the data.
I don’t think that’s true once you’re comfortable with the language.