{"action":"created","issue":{"url":"https://api.github.com/repos/deeplearning4j/rl4j/issues/36","repository_url":"https://api.github.com/repos/deeplearning4j/rl4j","labels_url":"https://api.github.com/repos/deeplearning4j/rl4j/issues/36/labels{/name}","comments_url":"https://api.github.com/repos/deeplearning4j/rl4j/issues/36/comments","events_url":"https://api.github.com/repos/deeplearning4j/rl4j/issues/36/events","html_url":"https://github.com/deeplearning4j/rl4j/issues/36","id":229085900,"number":36,"title":"Async learning w/ history processor is broken ","user":{"login":"howard-abrams","id":4482426,"avatar_url":"https://avatars2.githubusercontent.com/u/4482426?v=4","gravatar_id":"","url":"https://api.github.com/users/howard-abrams","html_url":"https://github.com/howard-abrams","followers_url":"https://api.github.com/users/howard-abrams/followers","following_url":"https://api.github.com/users/howard-abrams/following{/other_user}","gists_url":"https://api.github.com/users/howard-abrams/gists{/gist_id}","starred_url":"https://api.github.com/users/howard-abrams/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/howard-abrams/subscriptions","organizations_url":"https://api.github.com/users/howard-abrams/orgs","repos_url":"https://api.github.com/users/howard-abrams/repos","events_url":"https://api.github.com/users/howard-abrams/events{/privacy}","received_events_url":"https://api.github.com/users/howard-abrams/received_events","type":"User","site_admin":false},"labels":[{"id":416577605,"url":"https://api.github.com/repos/deeplearning4j/rl4j/labels/bug","name":"bug","color":"ee0701","default":true}],"state":"closed","locked":false,"assignee":{"login":"saudet","id":3328023,"avatar_url":"https://avatars1.githubusercontent.com/u/3328023?v=4","gravatar_id":"","url":"https://api.github.com/users/saudet","html_url":"https://github.com/saudet","followers_url":"https://api.github.com/users/saudet/followers","following_url":"https://api.github.com/users/saudet/following{/other_user}","gists_url":"https://api.github.com/users/saudet/gists{/gist_id}","starred_url":"https://api.github.com/users/saudet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saudet/subscriptions","organizations_url":"https://api.github.com/users/saudet/orgs","repos_url":"https://api.github.com/users/saudet/repos","events_url":"https://api.github.com/users/saudet/events{/privacy}","received_events_url":"https://api.github.com/users/saudet/received_events","type":"User","site_admin":false},"assignees":[{"login":"saudet","id":3328023,"avatar_url":"https://avatars1.githubusercontent.com/u/3328023?v=4","gravatar_id":"","url":"https://api.github.com/users/saudet","html_url":"https://github.com/saudet","followers_url":"https://api.github.com/users/saudet/followers","following_url":"https://api.github.com/users/saudet/following{/other_user}","gists_url":"https://api.github.com/users/saudet/gists{/gist_id}","starred_url":"https://api.github.com/users/saudet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saudet/subscriptions","organizations_url":"https://api.github.com/users/saudet/orgs","repos_url":"https://api.github.com/users/saudet/repos","events_url":"https://api.github.com/users/saudet/events{/privacy}","received_events_url":"https://api.github.com/users/saudet/received_events","type":"User","site_admin":false}],"milestone":null,"comments":16,"created_at":"2017-05-16T16:02:11Z","updated_at":"2017-07-22T22:48:26Z","closed_at":"2017-07-07T13:22:53Z","body":"When attempting to use A3CDiscreteConv or AsyncNStepQLearningDiscreteConv with a history processor, the history processor is ignored and therefore the input data won't match the shape of the network input and you'll get an error like this:\r\n\r\n`org.deeplearning4j.exception.DL4JInvalidInputException: Cannot do forward pass in Convolution layer (layer name = 0, layer index = 1): input array depth does not match CNN layer configuration (data input depth = 240, [minibatch,inputDepth,height,width]=[1, 240, 320, 3]; expected input depth = 1)\r\n`\r\n\r\nThe cause is rooted in a few places, the most glaring is that the history processor is never set on the \"AsyncThreadDiscrete\" class in both A3CDiscreteConv and AsyncNStepQLearningDiscreteConv:\r\n\r\n``` \r\n    public AsyncThread newThread(int i) {\r\n        AsyncThread at = super.newThread(i);\r\n        at.setHistoryProcessor(hpconf);\r\n        return super.newThread(i);\r\n    }\r\n```\r\n(notice \"at\" is not returned, but instead another new thread :( )\r\n\r\nBut even after fixing that, the code in AsyncThreadDiscrete doesn't properly use the history processor.  I've attempted to fix it myself, and I can get the code to not crash, but the learning didn't seem to be converging (although that could be because I was trying A3C with only 2 threads).\r\n\r\nI'm happy to submit a PR for this, but would probably need some pointers as to the intentions of the code AsyncThreadDiscrete.trainSubEpoch.\r\n"},"comment":{"url":"https://api.github.com/repos/deeplearning4j/rl4j/issues/comments/317215291","html_url":"https://github.com/deeplearning4j/rl4j/issues/36#issuecomment-317215291","issue_url":"https://api.github.com/repos/deeplearning4j/rl4j/issues/36","id":317215291,"user":{"login":"saudet","id":3328023,"avatar_url":"https://avatars1.githubusercontent.com/u/3328023?v=4","gravatar_id":"","url":"https://api.github.com/users/saudet","html_url":"https://github.com/saudet","followers_url":"https://api.github.com/users/saudet/followers","following_url":"https://api.github.com/users/saudet/following{/other_user}","gists_url":"https://api.github.com/users/saudet/gists{/gist_id}","starred_url":"https://api.github.com/users/saudet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saudet/subscriptions","organizations_url":"https://api.github.com/users/saudet/orgs","repos_url":"https://api.github.com/users/saudet/repos","events_url":"https://api.github.com/users/saudet/events{/privacy}","received_events_url":"https://api.github.com/users/saudet/received_events","type":"User","site_admin":false},"created_at":"2017-07-22T22:48:26Z","updated_at":"2017-07-22T22:48:26Z","body":"Yes, sounds like a bug in ND4J. Please open an issue about that over there,\nexplaining how to reproduce with that concat operation without RL4J. Thanks!\n"}}
{"actor":{"display_login":"saudet"}}