{"action":"created","issue":{"url":"https://api.github.com/repos/benanne/Lasagne/issues/135","labels_url":"https://api.github.com/repos/benanne/Lasagne/issues/135/labels{/name}","comments_url":"https://api.github.com/repos/benanne/Lasagne/issues/135/comments","events_url":"https://api.github.com/repos/benanne/Lasagne/issues/135/events","html_url":"https://github.com/benanne/Lasagne/pull/135","id":57563807,"number":135,"title":"Weight Norm Constraints","user":{"login":"ebattenberg","id":1377402,"avatar_url":"https://avatars.githubusercontent.com/u/1377402?v=3","gravatar_id":"","url":"https://api.github.com/users/ebattenberg","html_url":"https://github.com/ebattenberg","followers_url":"https://api.github.com/users/ebattenberg/followers","following_url":"https://api.github.com/users/ebattenberg/following{/other_user}","gists_url":"https://api.github.com/users/ebattenberg/gists{/gist_id}","starred_url":"https://api.github.com/users/ebattenberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ebattenberg/subscriptions","organizations_url":"https://api.github.com/users/ebattenberg/orgs","repos_url":"https://api.github.com/users/ebattenberg/repos","events_url":"https://api.github.com/users/ebattenberg/events{/privacy}","received_events_url":"https://api.github.com/users/ebattenberg/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-02-13T06:18:43Z","updated_at":"2015-02-13T20:52:28Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/benanne/Lasagne/pulls/135","html_url":"https://github.com/benanne/Lasagne/pull/135","diff_url":"https://github.com/benanne/Lasagne/pull/135.diff","patch_url":"https://github.com/benanne/Lasagne/pull/135.patch"},"body":"Here's an attempt at weight norm constraints as we discussed in #84.  I also did a little PEP8 cleanup in update.py (mostly line lengths stuff).\r\n\r\nUnless I totally overlooked an easy assumption, it seems like we have to handle all the different types of parameter dimensionalities differently (not quite as clean as in the default Uniform initializer).  So, it makes assumptions about the mean of the dimensions in a 2D and 4D parameter array.  \r\n\r\nLet me know what you guys think.  I'll add better docs later.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/benanne/Lasagne/issues/comments/74324845","html_url":"https://github.com/benanne/Lasagne/pull/135#issuecomment-74324845","issue_url":"https://api.github.com/repos/benanne/Lasagne/issues/135","id":74324845,"user":{"login":"benanne","id":43829,"avatar_url":"https://avatars.githubusercontent.com/u/43829?v=3","gravatar_id":"","url":"https://api.github.com/users/benanne","html_url":"https://github.com/benanne","followers_url":"https://api.github.com/users/benanne/followers","following_url":"https://api.github.com/users/benanne/following{/other_user}","gists_url":"https://api.github.com/users/benanne/gists{/gist_id}","starred_url":"https://api.github.com/users/benanne/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benanne/subscriptions","organizations_url":"https://api.github.com/users/benanne/orgs","repos_url":"https://api.github.com/users/benanne/repos","events_url":"https://api.github.com/users/benanne/events{/privacy}","received_events_url":"https://api.github.com/users/benanne/received_events","type":"User","site_admin":false},"created_at":"2015-02-13T20:52:28Z","updated_at":"2015-02-13T20:52:28Z","body":"> Do you mean to make it a parameter of the function?\r\nYes, sorry for the confusion. This is a function, not a class, my bad :)\r\n\r\n> Yeah, what I meant by \"I'll add better docs later\" is that I'll update the docstring once we've agreed on the implementation and interface. :)\r\nLooks like I missed that, sorry again!\r\n\r\n> Me neither. Are there any other cases we want it to work with here? A 1D convolution is a tensor3? I guess there could be element-wise constraints on a vector of biases.\r\nIt should be doable to support Conv1D, 2D and 3D in one go because the dimensionality is always going to be bc012... so you can assume that axis 2 and beyond are going to be spatial dimensions.\r\n\r\n> What about adding min constraints?\r\nAre min constraints useful? Have they been used in literature?"}}