{"action":"created","issue":{"url":"https://api.github.com/repos/mvitez/thnets/issues/11","repository_url":"https://api.github.com/repos/mvitez/thnets","labels_url":"https://api.github.com/repos/mvitez/thnets/issues/11/labels{/name}","comments_url":"https://api.github.com/repos/mvitez/thnets/issues/11/comments","events_url":"https://api.github.com/repos/mvitez/thnets/issues/11/events","html_url":"https://github.com/mvitez/thnets/issues/11","id":194497115,"number":11,"title":"What are the difference of SpatialConvolution, SpatialConvolutionMM, and SpatialConvolutionVirtualMM?","user":{"login":"austingg","id":3223849,"avatar_url":"https://avatars.githubusercontent.com/u/3223849?v=3","gravatar_id":"","url":"https://api.github.com/users/austingg","html_url":"https://github.com/austingg","followers_url":"https://api.github.com/users/austingg/followers","following_url":"https://api.github.com/users/austingg/following{/other_user}","gists_url":"https://api.github.com/users/austingg/gists{/gist_id}","starred_url":"https://api.github.com/users/austingg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/austingg/subscriptions","organizations_url":"https://api.github.com/users/austingg/orgs","repos_url":"https://api.github.com/users/austingg/repos","events_url":"https://api.github.com/users/austingg/events{/privacy}","received_events_url":"https://api.github.com/users/austingg/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-12-09T02:17:41Z","updated_at":"2016-12-09T08:55:02Z","closed_at":null,"body":"There are three types function to compute convolution? what are the diferences?"},"comment":{"url":"https://api.github.com/repos/mvitez/thnets/issues/comments/265964482","html_url":"https://github.com/mvitez/thnets/issues/11#issuecomment-265964482","issue_url":"https://api.github.com/repos/mvitez/thnets/issues/11","id":265964482,"user":{"login":"mvitez","id":7524531,"avatar_url":"https://avatars.githubusercontent.com/u/7524531?v=3","gravatar_id":"","url":"https://api.github.com/users/mvitez","html_url":"https://github.com/mvitez","followers_url":"https://api.github.com/users/mvitez/followers","following_url":"https://api.github.com/users/mvitez/following{/other_user}","gists_url":"https://api.github.com/users/mvitez/gists{/gist_id}","starred_url":"https://api.github.com/users/mvitez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mvitez/subscriptions","organizations_url":"https://api.github.com/users/mvitez/orgs","repos_url":"https://api.github.com/users/mvitez/repos","events_url":"https://api.github.com/users/mvitez/events{/privacy}","received_events_url":"https://api.github.com/users/mvitez/received_events","type":"User","site_admin":false},"created_at":"2016-12-09T08:55:02Z","updated_at":"2016-12-09T08:55:02Z","body":"SpatialConvolution computes the convolution directly, as by definition of convolution.\r\nSpatialConvolutionMM uses the im2col algorithm by creating a Toeplitz matrix and using a matrix-by-matrix multiplication, for which we have a very fast implementation in OpenBLAS. This is the way Torch calculates convolutions. The advantage is a greater speed, but the Toeplitz matrix can become very big, so this algorithm takes a lot of memory to run.\r\nSpatialConvolutionVirtualMM does the same as before, but instead of calculating the Toeplitz matrix at the beginning, it calculates it on the fly as required by the matrix-by-matrix multiplication routine. It is faster than the previous, but mostly it does not take all the memory of the previous algorithm."}}
{"actor":{"display_login":"mvitez"}}