Hacker News new | past | comments | ask | show | jobs | submit login
Machine and Deep Learning with OCaml Natively (ocaml.xyz)
123 points by xvilka on Oct 30, 2019 | hide | past | favorite | 14 comments



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


You can also do it with F# (which is derived from OCaml): https://notebooks.azure.com/lost/projects/gradient-samples/h...

Though the binding is not fully typed.


This project is also pretty interesting (also F#) : https://github.com/fsprojects/fsharp-ai-tools/blob/master/RE...


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?


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.


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'm guessing at least the sponsors of the OCaml software foundation: https://ocaml-sf.org/sponsors/


Plus Facebook with their Flow[1], Infer[2][3], Airbus with their BinCAT[4], and Frama-C[5].

[1] https://github.com/facebook/flow

[2] https://fbinfer.com/

[3] https://github.com/facebook/infer

[4] https://github.com/airbus-seclab/bincat

[5] http://frama-c.com/


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.


I know that Ahrefs and OneGraph use it for production.


Enrolled in an OCaml course once. Dropped that like a sack of potatoes.


Maybe Reason is more of your liking?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: