Hey,
  I'm glad this came up.  We were initially thinking we'd wait until the 
API and design had stabilized before releasing Cortex, but there is enough 
of value now that I think Kovas is right.  We should release it.

Cortex has been a collaboration between ThinkTopic and Mike Anderson, and 
it's design is somewhat similar to Torch.  (Neural network layers that 
implement protocols for forward computation and backward propagation of 
gradients along with a set of optimizers.)  Although we are already using 
Cortex models in production, it's definitely still a library in flux.  We 
had arrived at a pretty good set of base abstractions in pure Clojure using 
core.matrix, but then when we decided to add gpu support we realized we had 
to refactor things a bit.  The CuDNN and CuBLAS libraries from Nvidia 
provide a lot of useful functionality, but they also come with their own 
abstractions for matrix computation, neural network layers, optimizers, 
etc.  To take advantage of the GPU effectively we also need to be able to 
sequence and interleave tasks using streams, which requires a variety of 
design changes unless we want to maintain separate implementations of 
almost everything for both the CPU and the GPU.  You can build and run 
networks now, but we are still exploring how this should all come together.

So, as long as you keep in mind that things will change, it would be great 
to have you all join the conversation and help experiment with abstractions 
and apis.  

Give us a couple days to do some house keeping, and then we'll open source 
it.

-Jeff


On Thursday, October 6, 2016 at 8:08:41 PM UTC-6, kovasb wrote:
>
> On Thu, Oct 6, 2016 at 9:20 PM, Mikera <mike.r.an...@gmail.com 
> <javascript:>> wrote:
>
>> Hi Dragan,
>>
>> We have things working quite well (including stuff like cuDNN integration 
>> for convolution networks on the GPU). We also have all of the standard 
>> stuff (many different layer types, dropout, noise function, regularisation 
>> etc.). However I think it still needs a bunch of work before we stabilise 
>> on the core API.
>>
>  
>
>> Things I'm paricularly keen to have nailed down in particular before we 
>> go public:
>>
>
> FWIW it sounds like you've achieved a huge amount already. 
>
> There are many people in the Clojure community who can come up with a DAG 
> abstraction. There are very, very few who have the skill and time to assess 
> and integrate the various native libs necessary to achieve the fundamental 
> operations in a clojure-friendly way. 
>
> If people build on the 'wrong' api, thats a good problem to have. The 
> field is so in flux anyway. The problem can also be mitigated through 
> minimalism in what is released in the beginning. 
>
> In any case, looking forward to hopefully seeing this stuff one day. 
>
>
>
>  
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to