horn-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Edward J. Yoon (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (HORN-4) Designing Programming APIs
Date Thu, 29 Oct 2015 05:02:27 GMT

    [ https://issues.apache.org/jira/browse/HORN-4?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14979811#comment-14979811
] 

Edward J. Yoon edited comment on HORN-4 at 10/29/15 5:02 AM:
-------------------------------------------------------------

Related thread is on dev@ list: http://mail-archives.apache.org/mod_mbox/incubator-horn-dev/201510.mbox/%3CCAOAU8A-XQW1SKxapDKFtUW2su%3Dg9EAVTAV%2BROq2U3jpr4yahJg%40mail.gmail.com%3E


was (Author: udanax):
Related thread is on dev@ list: http://mail-archives.apache.org/mod_mbox/incubator-horn-dev/201510.mbox/browser

> Designing Programming APIs
> --------------------------
>
>                 Key: HORN-4
>                 URL: https://issues.apache.org/jira/browse/HORN-4
>             Project: Apache Horn
>          Issue Type: Sub-task
>          Components: api
>            Reporter: Edward J. Yoon
>
> As described in original proposal, we will have neuron-centric programming interface
(or we can support multiple programming paradigms e.g., layer-centric). Regarding languages,
we're going to be supporting a number of languages such as Java, Python, Scala.
> At the moment, I'll focus only on Java-based neuron-centric in this ticket. 
> Below is my rough sketch. I suggest that we provides two methods: upward and downward.
The reason of separating into two methods is to provide more intuitive programming model and
reduce user-side code complexity. The up or downward can be determined by message type internally,
and basically each neuron can be activated only when the messages are delivered. 
> {code}
> public interface NeuronInterface<M extends Writable> {
>   /**
>    * This method is called when the messages are propagated from the lower
>    * layer. It can be used to determine if the neuron would activate, or fire.
>    * 
>    * @param messages
>    * @throws IOException
>    */
>   public void upward(Iterable<M> messages) throws IOException;
>   /**
>    * This method is called when the errors are propagated from the upper layer.
>    * It can be used to calculate the error of each neuron and change the
>    * weights.
>    * 
>    * @param messages
>    * @throws IOException
>    */
>   public void downward(Iterable<M> messages) throws IOException;
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message