{"action":"created","issue":{"url":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/715","repository_url":"https://api.github.com/repos/PaddlePaddle/Paddle","labels_url":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/715/labels{/name}","comments_url":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/715/comments","events_url":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/715/events","html_url":"https://github.com/PaddlePaddle/Paddle/issues/715","id":193272163,"number":715,"title":"Questions regarding structure of Paddle","user":{"login":"KareemSalah","id":10436492,"avatar_url":"https://avatars.githubusercontent.com/u/10436492?v=3","gravatar_id":"","url":"https://api.github.com/users/KareemSalah","html_url":"https://github.com/KareemSalah","followers_url":"https://api.github.com/users/KareemSalah/followers","following_url":"https://api.github.com/users/KareemSalah/following{/other_user}","gists_url":"https://api.github.com/users/KareemSalah/gists{/gist_id}","starred_url":"https://api.github.com/users/KareemSalah/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KareemSalah/subscriptions","organizations_url":"https://api.github.com/users/KareemSalah/orgs","repos_url":"https://api.github.com/users/KareemSalah/repos","events_url":"https://api.github.com/users/KareemSalah/events{/privacy}","received_events_url":"https://api.github.com/users/KareemSalah/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"reyoung","id":728699,"avatar_url":"https://avatars.githubusercontent.com/u/728699?v=3","gravatar_id":"","url":"https://api.github.com/users/reyoung","html_url":"https://github.com/reyoung","followers_url":"https://api.github.com/users/reyoung/followers","following_url":"https://api.github.com/users/reyoung/following{/other_user}","gists_url":"https://api.github.com/users/reyoung/gists{/gist_id}","starred_url":"https://api.github.com/users/reyoung/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/reyoung/subscriptions","organizations_url":"https://api.github.com/users/reyoung/orgs","repos_url":"https://api.github.com/users/reyoung/repos","events_url":"https://api.github.com/users/reyoung/events{/privacy}","received_events_url":"https://api.github.com/users/reyoung/received_events","type":"User","site_admin":false},"assignees":[{"login":"reyoung","id":728699,"avatar_url":"https://avatars.githubusercontent.com/u/728699?v=3","gravatar_id":"","url":"https://api.github.com/users/reyoung","html_url":"https://github.com/reyoung","followers_url":"https://api.github.com/users/reyoung/followers","following_url":"https://api.github.com/users/reyoung/following{/other_user}","gists_url":"https://api.github.com/users/reyoung/gists{/gist_id}","starred_url":"https://api.github.com/users/reyoung/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/reyoung/subscriptions","organizations_url":"https://api.github.com/users/reyoung/orgs","repos_url":"https://api.github.com/users/reyoung/repos","events_url":"https://api.github.com/users/reyoung/events{/privacy}","received_events_url":"https://api.github.com/users/reyoung/received_events","type":"User","site_admin":false}],"milestone":null,"comments":5,"created_at":"2016-12-03T07:25:31Z","updated_at":"2016-12-09T08:18:17Z","closed_at":null,"body":"Hello,\r\nI was having some questions regarding the structure of Paddle core and it's Python API, I'm working on a project and I may contribute, the problem is .. I don't know where/who to ask those questions.\r\nSuggestions? #"},"comment":{"url":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/comments/265958542","html_url":"https://github.com/PaddlePaddle/Paddle/issues/715#issuecomment-265958542","issue_url":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/715","id":265958542,"user":{"login":"reyoung","id":728699,"avatar_url":"https://avatars.githubusercontent.com/u/728699?v=3","gravatar_id":"","url":"https://api.github.com/users/reyoung","html_url":"https://github.com/reyoung","followers_url":"https://api.github.com/users/reyoung/followers","following_url":"https://api.github.com/users/reyoung/following{/other_user}","gists_url":"https://api.github.com/users/reyoung/gists{/gist_id}","starred_url":"https://api.github.com/users/reyoung/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/reyoung/subscriptions","organizations_url":"https://api.github.com/users/reyoung/orgs","repos_url":"https://api.github.com/users/reyoung/repos","events_url":"https://api.github.com/users/reyoung/events{/privacy}","received_events_url":"https://api.github.com/users/reyoung/received_events","type":"User","site_admin":false},"created_at":"2016-12-09T08:18:17Z","updated_at":"2016-12-09T08:18:17Z","body":"So which language binding you want to develop?  Could we just expose a `C-API` for you, then just use other language invoke C-API? We notice that `swig` is not a standard way for every language and may be only provide C-API is better.\r\n\r\nAlso, could you provide which level of API you want to use mostly? We could adjust our priority.\r\n\r\nIn Paddle, maybe contain several levels here:\r\n\r\n```text\r\n+-----------------------------------+\r\n|    Trainer                        |\r\n+-----------------------------------+\r\n|    ParameterServer/Client         |\r\n+-----------------------------------+\r\n|    NeuralNetwork/GradientMachine  |\r\n+-----------------------------------+\r\n|    Layer                          |\r\n+-----------------------------------+\r\n|    Matrix&Vector                  |\r\n+-----------------------------------+\r\n```\r\n\r\n* Matrix & Vector: Can do operations for the matrix.\r\n* Layer:  Can do forward/backward for each layer in same CPU/GPU\r\n* NeuralNetwork: Can forward/backward for one neural network, with multiple CPU/GPU enabled.\r\n* ParameterServer/Client: Communication about multiple nodes.\r\n* Trainer:  API about Train one mini-batch, train one pass.\r\n\r\n\r\n"}}
{"actor":{"display_login":"reyoung"}}