Hi,
  We've made cortex public:

                 https://github.com/thinktopic/cortex

Fork away, and we hope that this contributes to a growing ML community in 
Clojure.  Thoughts, ideas, feedback are welcome!

Cheers,
Jeff

On Saturday, October 8, 2016 at 6:00:21 PM UTC-6, je...@thinktopic.com 
wrote:
>
> 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> 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