{"action":"created","comment":{"url":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/comments/134461375","pull_request_review_id":57753344,"id":134461375,"diff_hunk":"@@ -1190,6 +1190,224 @@ void GpuMatrix::avgPoolBackward(Matrix& outGrad,\n                       outGrad.getStride());\n }\n \n+void GpuMatrix::maxPool3DForward(Matrix& inputMat,\n+                                 size_t imgSizeD,\n+                                 size_t imgSizeH,\n+                                 size_t imgSizeW,\n+                                 size_t channels,\n+                                 size_t sizeZ,\n+                                 size_t sizeY,\n+                                 size_t sizeX,\n+                                 size_t strideD,\n+                                 size_t strideH,\n+                                 size_t strideW,\n+                                 size_t outputD,\n+                                 size_t outputH,\n+                                 size_t outputW,\n+                                 size_t paddingD,\n+                                 size_t paddingH,\n+                                 size_t paddingW) {\n+  CHECK(inputMat.useGpu_ == true) << \"Matrix type are not equal\";\n+\n+  real* inputData = inputMat.getData();\n+  size_t num = inputMat.getHeight();\n+  size_t width = imgSizeW;\n+  size_t height = imgSizeH;\n+  size_t depth = imgSizeD;\n+  CHECK(depth * height * width * channels == inputMat.getWidth());\n+  CHECK(height_ == inputMat.getHeight());\n+  CHECK(width_ == outputD * outputH * outputW * channels);\n+\n+  hl_maxpool3D_forward(num,\n+                       inputData,\n+                       channels,\n+                       depth,\n+                       height,\n+                       width,\n+                       outputD,\n+                       outputH,\n+                       outputW,\n+                       sizeZ,\n+                       sizeY,\n+                       sizeX,\n+                       strideD,\n+                       strideH,\n+                       strideW,\n+                       paddingD,\n+                       paddingH,\n+                       paddingW,\n+                       data_,\n+                       getStride());\n+}\n+\n+void GpuMatrix::maxPool3DBackward(Matrix& inputMat,\n+                                  size_t imgSizeD,\n+                                  size_t imgSizeH,\n+                                  size_t imgSizeW,\n+                                  Matrix& outGrad,\n+                                  Matrix& outV,\n+                                  size_t sizeZ,\n+                                  size_t sizeY,\n+                                  size_t sizeX,\n+                                  size_t strideD,\n+                                  size_t strideH,\n+                                  size_t strideW,\n+                                  size_t outputD,\n+                                  size_t outputH,\n+                                  size_t outputW,\n+                                  real scaleTargets,\n+                                  real scaleOutput,\n+                                  size_t paddingD,\n+                                  size_t paddingH,\n+                                  size_t paddingW) {\n+  CHECK(inputMat.useGpu_ == true && outGrad.useGpu_ == true &&\n+        outV.useGpu_ == true)","path":"paddle/math/Matrix.cpp","position":75,"original_position":75,"commit_id":"2377d719473543da3a6129de3c6c32667bdb9f18","original_commit_id":"2377d719473543da3a6129de3c6c32667bdb9f18","user":{"login":"qingqing01","id":7845005,"avatar_url":"https://avatars0.githubusercontent.com/u/7845005?v=4","gravatar_id":"","url":"https://api.github.com/users/qingqing01","html_url":"https://github.com/qingqing01","followers_url":"https://api.github.com/users/qingqing01/followers","following_url":"https://api.github.com/users/qingqing01/following{/other_user}","gists_url":"https://api.github.com/users/qingqing01/gists{/gist_id}","starred_url":"https://api.github.com/users/qingqing01/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/qingqing01/subscriptions","organizations_url":"https://api.github.com/users/qingqing01/orgs","repos_url":"https://api.github.com/users/qingqing01/repos","events_url":"https://api.github.com/users/qingqing01/events{/privacy}","received_events_url":"https://api.github.com/users/qingqing01/received_events","type":"User","site_admin":false},"body":"```\r\nCHECK(inputMat.useGpu_  && outGrad.useGpu_  && outV.useGpu_)\r\n```","created_at":"2017-08-22T12:12:48Z","updated_at":"2017-08-22T12:58:16Z","html_url":"https://github.com/PaddlePaddle/Paddle/pull/3504#discussion_r134461375","pull_request_url":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/3504","_links":{"self":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/comments/134461375"},"html":{"href":"https://github.com/PaddlePaddle/Paddle/pull/3504#discussion_r134461375"},"pull_request":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/3504"}}},"pull_request":{"url":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/3504","id":135778256,"html_url":"https://github.com/PaddlePaddle/Paddle/pull/3504","diff_url":"https://github.com/PaddlePaddle/Paddle/pull/3504.diff","patch_url":"https://github.com/PaddlePaddle/Paddle/pull/3504.patch","issue_url":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/3504","number":3504,"state":"open","locked":false,"title":"Add 3DPoolingLayer","user":{"login":"chengduoZH","id":30176695,"avatar_url":"https://avatars2.githubusercontent.com/u/30176695?v=4","gravatar_id":"","url":"https://api.github.com/users/chengduoZH","html_url":"https://github.com/chengduoZH","followers_url":"https://api.github.com/users/chengduoZH/followers","following_url":"https://api.github.com/users/chengduoZH/following{/other_user}","gists_url":"https://api.github.com/users/chengduoZH/gists{/gist_id}","starred_url":"https://api.github.com/users/chengduoZH/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chengduoZH/subscriptions","organizations_url":"https://api.github.com/users/chengduoZH/orgs","repos_url":"https://api.github.com/users/chengduoZH/repos","events_url":"https://api.github.com/users/chengduoZH/events{/privacy}","received_events_url":"https://api.github.com/users/chengduoZH/received_events","type":"User","site_admin":false},"body":"fix https://github.com/PaddlePaddle/Paddle/issues/438\r\nAdd 3DPoolingLayer.\r\n\r\n* [x] CPU implementation. \r\n* [x] GPU implementation.\r\n* [x] Add unit test.","created_at":"2017-08-15T10:55:42Z","updated_at":"2017-08-22T12:58:16Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ea5aa3a4a2f26df17bf9fc8d4bd0d3bd7b62fbcd","assignee":null,"assignees":[],"requested_reviewers":[{"login":"hedaoyuan","id":21339431,"avatar_url":"https://avatars3.githubusercontent.com/u/21339431?v=4","gravatar_id":"","url":"https://api.github.com/users/hedaoyuan","html_url":"https://github.com/hedaoyuan","followers_url":"https://api.github.com/users/hedaoyuan/followers","following_url":"https://api.github.com/users/hedaoyuan/following{/other_user}","gists_url":"https://api.github.com/users/hedaoyuan/gists{/gist_id}","starred_url":"https://api.github.com/users/hedaoyuan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hedaoyuan/subscriptions","organizations_url":"https://api.github.com/users/hedaoyuan/orgs","repos_url":"https://api.github.com/users/hedaoyuan/repos","events_url":"https://api.github.com/users/hedaoyuan/events{/privacy}","received_events_url":"https://api.github.com/users/hedaoyuan/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/3504/commits","review_comments_url":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/3504/comments","review_comment_url":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/comments{/number}","comments_url":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/3504/comments","statuses_url":"https://api.github.com/repos/PaddlePaddle/Paddle/statuses/2377d719473543da3a6129de3c6c32667bdb9f18","head":{"label":"chengduoZH:Add_3DPooling","ref":"Add_3DPooling","sha":"2377d719473543da3a6129de3c6c32667bdb9f18","user":{"login":"chengduoZH","id":30176695,"avatar_url":"https://avatars2.githubusercontent.com/u/30176695?v=4","gravatar_id":"","url":"https://api.github.com/users/chengduoZH","html_url":"https://github.com/chengduoZH","followers_url":"https://api.github.com/users/chengduoZH/followers","following_url":"https://api.github.com/users/chengduoZH/following{/other_user}","gists_url":"https://api.github.com/users/chengduoZH/gists{/gist_id}","starred_url":"https://api.github.com/users/chengduoZH/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chengduoZH/subscriptions","organizations_url":"https://api.github.com/users/chengduoZH/orgs","repos_url":"https://api.github.com/users/chengduoZH/repos","events_url":"https://api.github.com/users/chengduoZH/events{/privacy}","received_events_url":"https://api.github.com/users/chengduoZH/received_events","type":"User","site_admin":false},"repo":{"id":99756501,"name":"Paddle","full_name":"chengduoZH/Paddle","owner":{"login":"chengduoZH","id":30176695,"avatar_url":"https://avatars2.githubusercontent.com/u/30176695?v=4","gravatar_id":"","url":"https://api.github.com/users/chengduoZH","html_url":"https://github.com/chengduoZH","followers_url":"https://api.github.com/users/chengduoZH/followers","following_url":"https://api.github.com/users/chengduoZH/following{/other_user}","gists_url":"https://api.github.com/users/chengduoZH/gists{/gist_id}","starred_url":"https://api.github.com/users/chengduoZH/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chengduoZH/subscriptions","organizations_url":"https://api.github.com/users/chengduoZH/orgs","repos_url":"https://api.github.com/users/chengduoZH/repos","events_url":"https://api.github.com/users/chengduoZH/events{/privacy}","received_events_url":"https://api.github.com/users/chengduoZH/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/chengduoZH/Paddle","description":"PArallel Distributed Deep LEarning","fork":true,"url":"https://api.github.com/repos/chengduoZH/Paddle","forks_url":"https://api.github.com/repos/chengduoZH/Paddle/forks","keys_url":"https://api.github.com/repos/chengduoZH/Paddle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/chengduoZH/Paddle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/chengduoZH/Paddle/teams","hooks_url":"https://api.github.com/repos/chengduoZH/Paddle/hooks","issue_events_url":"https://api.github.com/repos/chengduoZH/Paddle/issues/events{/number}","events_url":"https://api.github.com/repos/chengduoZH/Paddle/events","assignees_url":"https://api.github.com/repos/chengduoZH/Paddle/assignees{/user}","branches_url":"https://api.github.com/repos/chengduoZH/Paddle/branches{/branch}","tags_url":"https://api.github.com/repos/chengduoZH/Paddle/tags","blobs_url":"https://api.github.com/repos/chengduoZH/Paddle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/chengduoZH/Paddle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/chengduoZH/Paddle/git/refs{/sha}","trees_url":"https://api.github.com/repos/chengduoZH/Paddle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/chengduoZH/Paddle/statuses/{sha}","languages_url":"https://api.github.com/repos/chengduoZH/Paddle/languages","stargazers_url":"https://api.github.com/repos/chengduoZH/Paddle/stargazers","contributors_url":"https://api.github.com/repos/chengduoZH/Paddle/contributors","subscribers_url":"https://api.github.com/repos/chengduoZH/Paddle/subscribers","subscription_url":"https://api.github.com/repos/chengduoZH/Paddle/subscription","commits_url":"https://api.github.com/repos/chengduoZH/Paddle/commits{/sha}","git_commits_url":"https://api.github.com/repos/chengduoZH/Paddle/git/commits{/sha}","comments_url":"https://api.github.com/repos/chengduoZH/Paddle/comments{/number}","issue_comment_url":"https://api.github.com/repos/chengduoZH/Paddle/issues/comments{/number}","contents_url":"https://api.github.com/repos/chengduoZH/Paddle/contents/{+path}","compare_url":"https://api.github.com/repos/chengduoZH/Paddle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/chengduoZH/Paddle/merges","archive_url":"https://api.github.com/repos/chengduoZH/Paddle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/chengduoZH/Paddle/downloads","issues_url":"https://api.github.com/repos/chengduoZH/Paddle/issues{/number}","pulls_url":"https://api.github.com/repos/chengduoZH/Paddle/pulls{/number}","milestones_url":"https://api.github.com/repos/chengduoZH/Paddle/milestones{/number}","notifications_url":"https://api.github.com/repos/chengduoZH/Paddle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/chengduoZH/Paddle/labels{/name}","releases_url":"https://api.github.com/repos/chengduoZH/Paddle/releases{/id}","deployments_url":"https://api.github.com/repos/chengduoZH/Paddle/deployments","created_at":"2017-08-09T02:26:38Z","updated_at":"2017-08-09T02:26:43Z","pushed_at":"2017-08-22T08:33:47Z","git_url":"git://github.com/chengduoZH/Paddle.git","ssh_url":"git@github.com:chengduoZH/Paddle.git","clone_url":"https://github.com/chengduoZH/Paddle.git","svn_url":"https://github.com/chengduoZH/Paddle","homepage":"http://www.paddlepaddle.org/","size":44142,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"PaddlePaddle:develop","ref":"develop","sha":"b7a6cc9cc3aac01faa0a41616e987353aa98f52b","user":{"login":"PaddlePaddle","id":23534030,"avatar_url":"https://avatars3.githubusercontent.com/u/23534030?v=4","gravatar_id":"","url":"https://api.github.com/users/PaddlePaddle","html_url":"https://github.com/PaddlePaddle","followers_url":"https://api.github.com/users/PaddlePaddle/followers","following_url":"https://api.github.com/users/PaddlePaddle/following{/other_user}","gists_url":"https://api.github.com/users/PaddlePaddle/gists{/gist_id}","starred_url":"https://api.github.com/users/PaddlePaddle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PaddlePaddle/subscriptions","organizations_url":"https://api.github.com/users/PaddlePaddle/orgs","repos_url":"https://api.github.com/users/PaddlePaddle/repos","events_url":"https://api.github.com/users/PaddlePaddle/events{/privacy}","received_events_url":"https://api.github.com/users/PaddlePaddle/received_events","type":"Organization","site_admin":false},"repo":{"id":65711522,"name":"Paddle","full_name":"PaddlePaddle/Paddle","owner":{"login":"PaddlePaddle","id":23534030,"avatar_url":"https://avatars3.githubusercontent.com/u/23534030?v=4","gravatar_id":"","url":"https://api.github.com/users/PaddlePaddle","html_url":"https://github.com/PaddlePaddle","followers_url":"https://api.github.com/users/PaddlePaddle/followers","following_url":"https://api.github.com/users/PaddlePaddle/following{/other_user}","gists_url":"https://api.github.com/users/PaddlePaddle/gists{/gist_id}","starred_url":"https://api.github.com/users/PaddlePaddle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/PaddlePaddle/subscriptions","organizations_url":"https://api.github.com/users/PaddlePaddle/orgs","repos_url":"https://api.github.com/users/PaddlePaddle/repos","events_url":"https://api.github.com/users/PaddlePaddle/events{/privacy}","received_events_url":"https://api.github.com/users/PaddlePaddle/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/PaddlePaddle/Paddle","description":"PArallel Distributed Deep LEarning","fork":false,"url":"https://api.github.com/repos/PaddlePaddle/Paddle","forks_url":"https://api.github.com/repos/PaddlePaddle/Paddle/forks","keys_url":"https://api.github.com/repos/PaddlePaddle/Paddle/keys{/key_id}","collaborators_url":"https://api.github.com/repos/PaddlePaddle/Paddle/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/PaddlePaddle/Paddle/teams","hooks_url":"https://api.github.com/repos/PaddlePaddle/Paddle/hooks","issue_events_url":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/events{/number}","events_url":"https://api.github.com/repos/PaddlePaddle/Paddle/events","assignees_url":"https://api.github.com/repos/PaddlePaddle/Paddle/assignees{/user}","branches_url":"https://api.github.com/repos/PaddlePaddle/Paddle/branches{/branch}","tags_url":"https://api.github.com/repos/PaddlePaddle/Paddle/tags","blobs_url":"https://api.github.com/repos/PaddlePaddle/Paddle/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/PaddlePaddle/Paddle/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/PaddlePaddle/Paddle/git/refs{/sha}","trees_url":"https://api.github.com/repos/PaddlePaddle/Paddle/git/trees{/sha}","statuses_url":"https://api.github.com/repos/PaddlePaddle/Paddle/statuses/{sha}","languages_url":"https://api.github.com/repos/PaddlePaddle/Paddle/languages","stargazers_url":"https://api.github.com/repos/PaddlePaddle/Paddle/stargazers","contributors_url":"https://api.github.com/repos/PaddlePaddle/Paddle/contributors","subscribers_url":"https://api.github.com/repos/PaddlePaddle/Paddle/subscribers","subscription_url":"https://api.github.com/repos/PaddlePaddle/Paddle/subscription","commits_url":"https://api.github.com/repos/PaddlePaddle/Paddle/commits{/sha}","git_commits_url":"https://api.github.com/repos/PaddlePaddle/Paddle/git/commits{/sha}","comments_url":"https://api.github.com/repos/PaddlePaddle/Paddle/comments{/number}","issue_comment_url":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/comments{/number}","contents_url":"https://api.github.com/repos/PaddlePaddle/Paddle/contents/{+path}","compare_url":"https://api.github.com/repos/PaddlePaddle/Paddle/compare/{base}...{head}","merges_url":"https://api.github.com/repos/PaddlePaddle/Paddle/merges","archive_url":"https://api.github.com/repos/PaddlePaddle/Paddle/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/PaddlePaddle/Paddle/downloads","issues_url":"https://api.github.com/repos/PaddlePaddle/Paddle/issues{/number}","pulls_url":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls{/number}","milestones_url":"https://api.github.com/repos/PaddlePaddle/Paddle/milestones{/number}","notifications_url":"https://api.github.com/repos/PaddlePaddle/Paddle/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/PaddlePaddle/Paddle/labels{/name}","releases_url":"https://api.github.com/repos/PaddlePaddle/Paddle/releases{/id}","deployments_url":"https://api.github.com/repos/PaddlePaddle/Paddle/deployments","created_at":"2016-08-15T06:59:08Z","updated_at":"2017-08-22T08:58:33Z","pushed_at":"2017-08-22T11:12:28Z","git_url":"git://github.com/PaddlePaddle/Paddle.git","ssh_url":"git@github.com:PaddlePaddle/Paddle.git","clone_url":"https://github.com/PaddlePaddle/Paddle.git","svn_url":"https://github.com/PaddlePaddle/Paddle","homepage":"http://www.paddlepaddle.org/","size":45341,"stargazers_count":5309,"watchers_count":5309,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":1410,"mirror_url":null,"open_issues_count":483,"forks":1410,"open_issues":483,"watchers":5309,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/3504"},"html":{"href":"https://github.com/PaddlePaddle/Paddle/pull/3504"},"issue":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/3504"},"comments":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/issues/3504/comments"},"review_comments":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/3504/comments"},"review_comment":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/pulls/3504/commits"},"statuses":{"href":"https://api.github.com/repos/PaddlePaddle/Paddle/statuses/2377d719473543da3a6129de3c6c32667bdb9f18"}}}}
{"actor":{"display_login":"qingqing01"}}