{"action":"created","issue":{"url":"https://api.github.com/repos/Microsoft/CNTK/issues/584","repository_url":"https://api.github.com/repos/Microsoft/CNTK","labels_url":"https://api.github.com/repos/Microsoft/CNTK/issues/584/labels{/name}","comments_url":"https://api.github.com/repos/Microsoft/CNTK/issues/584/comments","events_url":"https://api.github.com/repos/Microsoft/CNTK/issues/584/events","html_url":"https://github.com/Microsoft/CNTK/issues/584","id":160114747,"number":584,"title":"network do not learn anything.","user":{"login":"wrluo","id":18323370,"avatar_url":"https://avatars.githubusercontent.com/u/18323370?v=3","gravatar_id":"","url":"https://api.github.com/users/wrluo","html_url":"https://github.com/wrluo","followers_url":"https://api.github.com/users/wrluo/followers","following_url":"https://api.github.com/users/wrluo/following{/other_user}","gists_url":"https://api.github.com/users/wrluo/gists{/gist_id}","starred_url":"https://api.github.com/users/wrluo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wrluo/subscriptions","organizations_url":"https://api.github.com/users/wrluo/orgs","repos_url":"https://api.github.com/users/wrluo/repos","events_url":"https://api.github.com/users/wrluo/events{/privacy}","received_events_url":"https://api.github.com/users/wrluo/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-06-14T07:30:14Z","updated_at":"2016-06-14T21:47:23Z","closed_at":null,"body":"I have my own defined loss function which is\r\n\r\n**loss = Times(labels, activation)**\r\n\r\nCan I put the above loss function in NDL file directly and set\r\n\r\n**CriterionNodes(loss)**?\r\n\r\nIn my project, it seems that learnable parameter do not change at all no matter how many epochs I take."},"comment":{"url":"https://api.github.com/repos/Microsoft/CNTK/issues/comments/226026269","html_url":"https://github.com/Microsoft/CNTK/issues/584#issuecomment-226026269","issue_url":"https://api.github.com/repos/Microsoft/CNTK/issues/584","id":226026269,"user":{"login":"frankseide","id":16671126,"avatar_url":"https://avatars.githubusercontent.com/u/16671126?v=3","gravatar_id":"","url":"https://api.github.com/users/frankseide","html_url":"https://github.com/frankseide","followers_url":"https://api.github.com/users/frankseide/followers","following_url":"https://api.github.com/users/frankseide/following{/other_user}","gists_url":"https://api.github.com/users/frankseide/gists{/gist_id}","starred_url":"https://api.github.com/users/frankseide/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frankseide/subscriptions","organizations_url":"https://api.github.com/users/frankseide/orgs","repos_url":"https://api.github.com/users/frankseide/repos","events_url":"https://api.github.com/users/frankseide/events{/privacy}","received_events_url":"https://api.github.com/users/frankseide/received_events","type":"User","site_admin":false},"created_at":"2016-06-14T21:47:23Z","updated_at":"2016-06-14T21:47:23Z","body":"Yes. To be precise, the following should work:\r\n\r\n    loss = TransposeTimes (labels, activations)\r\n    criterionNodes = (loss)\r\n\r\nor you just say\r\n\r\n    loss = TransposeTimes (labels, activations, tag=\"criterion\")\r\n\r\nIn case your input is a sequence, this will give you a sequence of per-sample criterion values. Those will automatically be summed up by CNTK across all sequences and samples in each minibatch.\r\n\r\nFor example, the same loss-function pattern is used in the sequence-to-sequence example:\r\n\r\n    ce   = Pass (ReduceLogSum (z) - TransposeTimes (labelSequence,          z),  tag='criterion')\r\n    errs = Pass (BS.Constants.One - TransposeTimes (labelSequence, Hardmax (z)), tag='evaluation')\r\n\r\n(Where `Pass()` just wraps a dummy node around the value. You won't need that if you say `tag=\"criterion\"` in the `TransposeTimes()` operation.)"}}
{"actor":{"display_login":"frankseide"}}