{"action":"created","issue":{"url":"https://api.github.com/repos/fchollet/keras/issues/754","labels_url":"https://api.github.com/repos/fchollet/keras/issues/754/labels{/name}","comments_url":"https://api.github.com/repos/fchollet/keras/issues/754/comments","events_url":"https://api.github.com/repos/fchollet/keras/issues/754/events","html_url":"https://github.com/fchollet/keras/issues/754","id":109144670,"number":754,"title":"Keras: near-future directions","user":{"login":"fchollet","id":710255,"avatar_url":"https://avatars.githubusercontent.com/u/710255?v=3","gravatar_id":"","url":"https://api.github.com/users/fchollet","html_url":"https://github.com/fchollet","followers_url":"https://api.github.com/users/fchollet/followers","following_url":"https://api.github.com/users/fchollet/following{/other_user}","gists_url":"https://api.github.com/users/fchollet/gists{/gist_id}","starred_url":"https://api.github.com/users/fchollet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fchollet/subscriptions","organizations_url":"https://api.github.com/users/fchollet/orgs","repos_url":"https://api.github.com/users/fchollet/repos","events_url":"https://api.github.com/users/fchollet/events{/privacy}","received_events_url":"https://api.github.com/users/fchollet/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":28,"created_at":"2015-09-30T17:50:31Z","updated_at":"2015-10-05T03:29:32Z","closed_at":null,"body":"Here are a few things I think would be valuable to add to Keras in the near future.\r\n\r\nThese are mere suggestions. You are welcome to discuss them, contest them, add your own ideas... I would like the development of Keras to be increasingly driven by the community. I don't want to be a bottleneck of development.\r\n\r\nI won't be writing code myself, but I will happily give feedback and advice to any contributor who wants to tackle some of these features. I will also keep reviewing and merging PRs. \r\n\r\nHere's a list of features. Their focus is on simplicity and user experience.\r\n\r\n- Automatic tensor shape inference. We should be able to add layers to a Sequential mode or a Graph model without having to worry about input shapes.\r\n- Introduction of `Input` layers as part of the above, to define expected input data dimensions.\r\n- Ability to re-initialize layer weights without re-compiling a model.\r\n- New API for the Graph container. [Some thoughts here](https://github.com/fchollet/keras/issues/620#issuecomment-144483091). As part of this change I believe we should get rid of the `add_input` and `add_output` methods, which are cumbersome. A single `add` method should suffice.\r\n- Thorough checking of assumptions made about user-provided constructor arguments throughout the codebase, and raising helpful and clear error messages when some assumptions aren't respected. Ideally no error will ever be raised by Theano, because we will be catching everything on the Keras side. This will make debugging of Keras models much faster and easier.\r\n- Abstracting all references to Theano functionality to a Keras backend. This will allow us to implement non-Theano backends in the near future (for instance, based on Nervana's [Neon](https://github.com/NervanaSystems/neon) library), that could be readily plugged into Keras in a seamless way. This will allow Keras to keep up with new advances in symbolic tensor libraries (Neon, CGT, etc...)"},"comment":{"url":"https://api.github.com/repos/fchollet/keras/issues/comments/145420158","html_url":"https://github.com/fchollet/keras/issues/754#issuecomment-145420158","issue_url":"https://api.github.com/repos/fchollet/keras/issues/754","id":145420158,"user":{"login":"fchollet","id":710255,"avatar_url":"https://avatars.githubusercontent.com/u/710255?v=3","gravatar_id":"","url":"https://api.github.com/users/fchollet","html_url":"https://github.com/fchollet","followers_url":"https://api.github.com/users/fchollet/followers","following_url":"https://api.github.com/users/fchollet/following{/other_user}","gists_url":"https://api.github.com/users/fchollet/gists{/gist_id}","starred_url":"https://api.github.com/users/fchollet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fchollet/subscriptions","organizations_url":"https://api.github.com/users/fchollet/orgs","repos_url":"https://api.github.com/users/fchollet/repos","events_url":"https://api.github.com/users/fchollet/events{/privacy}","received_events_url":"https://api.github.com/users/fchollet/received_events","type":"User","site_admin":false},"created_at":"2015-10-05T03:29:31Z","updated_at":"2015-10-05T03:29:31Z","body":"> Yes, that's true but assume training and prediction take place in different sessions.\r\n\r\nAs long as you have a compiled model with the same architecture living in each session, you will be fine. But if you don't, the model re-initialization feature we will add is not going to help you anyway."}}