{"id":8392,"date":"2019-10-30T15:31:14","date_gmt":"2019-10-30T06:31:14","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=8392"},"modified":"2020-05-28T10:03:33","modified_gmt":"2020-05-28T01:03:33","slug":"pytorch%ec%9d%98-tensor-%ec%97%b0%ec%82%b0-%ec%a0%95%eb%a6%ac","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=8392","title":{"rendered":"PyTorch\uc758 Tensor \uc5f0\uc0b0 \ud035 \ub808\ud37c\ub7f0\uc2a4"},"content":{"rendered":"<p>\uc774 \uae00\uc740 PyTorch\ub97c \uc774\uc6a9\ud55c \ub525\ub7ec\ub2dd \uac1c\ubc1c \uc2dc\uc5d0 Tensor \uc5f0\uc0b0\uc5d0 \ub300\ud55c \ub0b4\uc6a9\uc744 \ube60\ub974\uac8c \ucc38\uc870\ud558\uae30 \uc704\ud574 \uc815\ub9ac\ud55c \uae00\uc785\ub2c8\ub2e4.<\/p>\n<h4>#1. \ub09c\uc218\uac12\uc73c\ub85c \uad6c\uc131\ub41c 2&#215;3 \ud150\uc11c \uc0dd\uc131<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx = torch.rand(2,3)\r\nprint(x)\r\n<\/pre>\n<h4>#2. \uc815\uaddc\ubd84\ud3ec \ub09c\uc218\uac12\uc73c\ub85c \uad6c\uc131\ub41c 2&#215;3 \ud150\uc11c \uc0dd\uc131<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx = torch.randn(2,3)\r\nprint(x)\r\n<\/pre>\n<h4>#3. [0,10) \uae4c\uc9c0\uc758 \uc815\uc218\ud615 \ub09c\uc218\uac12\uc73c\ub85c \uad6c\uc131\ub41c 2&#215;3 \ud150\uc11c \uc0dd\uc131<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx = torch.randint(0,10,size=(2,3))\r\nprint(x)\r\n<\/pre>\n<h4>#4. 0\uc73c\ub85c \ucc44\uc6cc\uc9c4 2&#215;3 \ud150\uc11c \uc0dd\uc131<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx = torch.zeros(2,3)\r\nprint(x)\r\n<\/pre>\n<h4>#5. \ub2e4\ub978 \ud150\uc11c\uc758 \ud615\uc0c1\uacfc \ub3d9\uc77c\ud55c Zero \ud150\uc11c \uc0dd\uc131\ud558\uae30<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nref = torch.rand(2,3)\r\nx = torch.zeros_like(ref)\r\nprint(x)\r\n<\/pre>\n<h4>#6. 1\ub85c \ucc44\uc6cc\uc9c4 2&#215;3 \ud150\uc11c \uc0dd\uc131\ud558\uae30<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx = torch.ones(2,3)\r\nprint(x)\r\n<\/pre>\n<h4>#7. \ub2e4\ub978 \ud150\uc11c\uc758 \ud615\uc0c1\uacfc \ub3d9\uc77c\ud55c 1\uac12\uc73c\ub85c \uad6c\uc131\ub41c \ud150\uc11c \uc0dd\uc131\ud558\uae30<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nref = torch.rand(2,3)\r\nx = torch.ones_like(ref)\r\nprint(x)\r\n<\/pre>\n<h4>#8. \ud150\uc11c\uc758 \ud0c0\uc785 \uc5bb\uae30<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx = torch.rand(2,3)\r\nprint(x.type()) # torch.FloatTensor\r\nprint(type(x)) # <class 'torch.Tensor'>\r\n<\/pre>\n<h4>#9. \uc694\uc18c\uac12\uc744 \uc815\uc218\ud615 \uac12\uc73c\ub85c \ubcc0\ud658\ud55c \ud150\uc11c \uc0dd\uc131\ud558\uae30<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx = torch.rand(2,3) + 1.5\r\nint_x = x.type(dtype=torch.IntTensor)\r\nprint(int_x)\r\n<\/pre>\n<h4>#10. \ub118\ud30c\uc774 \ubc30\uc5f4\ub85c\ubd80\ud130 \ud150\uc11c \ub9cc\ub4e4\uae30, \ud150\uc11c\ub85c\ubd80\ud130 \ub118\ud30c\uc774 \ubc30\uc5f4 \ub9cc\ub4e4\uae30<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\nimport numpy as np\r\n\r\nx1 = np.ndarray(shape=(2,3), dtype=int, buffer=np.array([1,2,3,4,5,6]))\r\nx2 = torch.from_numpy(x1)\r\nprint(x2, x2.type())\r\n\r\nx3 = x2.numpy()\r\nprint(x3)\r\n<\/pre>\n<h4>#11. \uc694\uc18c\uac12 \ubc30\uc5f4\uc744 \ud1b5\ud574 \uc2e4\uc218\ud615 \ud150\uc11c \ub9cc\ub4e4\uae30<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx = torch.FloatTensor([[1,2,3],[4,5,6]])\r\nprint(x)\r\n<\/pre>\n<h4>#12. \ud150\uc11c\ub97c GPU\uc5d0, \ub610\ub294 CPU\ub85c \uc62e\uae30\uae30<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx = torch.FloatTensor([[1,2,3],[4,5,6]])\r\n\r\ncpu = torch.device('cpu')\r\ngpu = torch.device('cuda')\r\n\r\nif torch.cuda.is_available():\r\n    x_gpu = x.to(gpu)\r\n    print(x_gpu)\r\n\r\nx_cpu = x_gpu.to(cpu)\r\nprint(x_cpu)\r\n<\/pre>\n<h4>#13. \ud150\uc11c\uc758 \ud06c\uae30<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx = torch.FloatTensor(2,3,4,4)\r\nprint(x.size()) # torch.Size([2, 3, 4, 4])\r\nprint(x.size()[1:2]) torch.Size([3])\r\n<\/pre>\n<h4>#14. \ud150\uc11c\uc758 \uc694\uc18c\uac12 \uc811\uadfc<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx = torch.randn(4,3)\r\nprint(x)\r\n''' output:\r\ntensor([[ 0.1477,  0.4707, -0.7333],\r\n        [ 0.8718,  0.1213,  0.6299],\r\n        [ 0.2991,  1.1437, -0.7631],\r\n        [ 1.3319,  0.8322, -2.4153]])\r\n'''\r\n\r\nprint(x[1:3,:])\r\n''' output:\r\ntensor([[ 0.8718,  0.1213,  0.6299],\r\n        [ 0.2991,  1.1437, -0.7631]])\r\n'''\r\n<\/pre>\n<h4>#15. \uc778\ub371\uc2a4\uac12\uc73c\ub85c \uc9c0\uc815\ub41c \uc694\uc18c\uac12\uc73c\ub85c \uad6c\uc131\ub41c \uc0c8\ub85c\uc6b4 \ud150\uc11c \uc0dd\uc131\ud558\uae30(\uac12 \ubcf5\uc0ac\ub428)<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx = torch.randn(4,3)\r\nprint(x)\r\n'''output:\r\ntensor([[-0.1728,  0.0887, -0.0186],\r\n        [ 0.9492, -0.0452,  0.5660],\r\n        [-0.4184, -0.2162,  1.0297],\r\n        [-0.5110,  0.2452,  1.0734]])\r\n'''\r\n\r\nselected = torch.index_select(x,dim=1,index=torch.LongTensor([0,2]))\r\nprint(selected)\r\n'''output:\r\ntensor([[-0.1728, -0.0186],\r\n        [ 0.9492,  0.5660],\r\n        [-0.4184,  1.0297],\r\n        [-0.5110,  1.0734]])\r\n'''\r\n<\/pre>\n<h4>#16. \ub9c8\uc2a4\ud06c \ud150\uc11c\ub85c \uc0c8\ub85c\uc6b4 \ud150\uc11c \uc0dd\uc131\ud558\uae30<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx = torch.randn(2,3)\r\nprint(x)\r\n'''output:\r\ntensor([[ 0.1622,  1.1205, -0.4761],\r\n        [ 0.9225,  0.2151,  0.2192]])\r\n'''\r\n\r\nmask = torch.BoolTensor([[False, False, True],[False,True,False]])\r\nout = torch.masked_select(x, mask)\r\nprint(out)\r\n'''output:\r\ntensor([-0.4761,  0.2151])\r\n'''\r\n<\/pre>\n<h4>#17. 2\uac1c\uc758 \ud150\uc11c \uacb0\ud569\ud558\uae30<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx = torch.FloatTensor([[1,2,3],[4,5,6]])\r\ny = torch.FloatTensor([[-1,-2,-3],[-4,-5,-6]])\r\n\r\nz1 = torch.cat([x,y], dim=0)\r\nprint(z1)\r\n'''\r\ntensor([[ 1.,  2.,  3.],\r\n        [ 4.,  5.,  6.],\r\n        [-1., -2., -3.],\r\n        [-4., -5., -6.]])\r\n'''\r\n\r\nz2 = torch.cat([x,y], dim=1)\r\nprint(z2)\r\n'''\r\ntensor([[ 1.,  2.,  3., -1., -2., -3.],\r\n        [ 4.,  5.,  6., -4., -5., -6.]])\r\n'''\r\n<\/pre>\n<h4>#18. 2\uac1c\uc758 \ud150\uc11c \uacb0\ud569\ud558\uae30(stack \ud568\uc218)<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx = torch.FloatTensor([[1,2,3],[4,5,6]])\r\nx_stack = torch.stack([x,x,x,x],dim=0)\r\nprint(x_stack)\r\n'''\r\ntensor([[[1., 2., 3.],\r\n         [4., 5., 6.]],\r\n\r\n        [[1., 2., 3.],\r\n         [4., 5., 6.]],\r\n\r\n        [[1., 2., 3.],\r\n         [4., 5., 6.]],\r\n\r\n        [[1., 2., 3.],\r\n         [4., 5., 6.]]])\r\n'''\r\n\r\ny_stack = torch.stack([x,x,x,x],dim=1)\r\nprint(y_stack)\r\n'''\r\ntensor([[[1., 2., 3.],\r\n         [1., 2., 3.],\r\n         [1., 2., 3.],\r\n         [1., 2., 3.]],\r\n\r\n        [[4., 5., 6.],\r\n         [4., 5., 6.],\r\n         [4., 5., 6.],\r\n         [4., 5., 6.]]])\r\n'''\r\n<\/pre>\n<h4>#19. \ud558\ub098\uc758 \ud150\uc11c\ub97c n\uac1c\ub85c \ubd84\ud574\ud558\uae30<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nz1 = torch.FloatTensor([\r\n    [ 1.,  2.,  3.],\r\n    [ 4.,  5.,  6.],\r\n    [-1., -2., -3.],\r\n    [-4., -5., -6.]\r\n])\r\nx_1,x_2 = torch.chunk(z1,2,dim=0)\r\nprint(x_1,x_2,sep='\\n')\r\n'''\r\ntensor([[1., 2., 3.],\r\n        [4., 5., 6.]])\r\ntensor([[-1., -2., -3.],\r\n        [-4., -5., -6.]])\r\n'''\r\n\r\ny_1,y_2 = torch.chunk(z1,2,dim=1)\r\nprint(y_1,y_2,sep='\\n')\r\n'''\r\ntensor([[ 1.,  2.],\r\n        [ 4.,  5.],\r\n        [-1., -2.],\r\n        [-4., -5.]])\r\ntensor([[ 3.],\r\n        [ 6.],\r\n        [-3.],\r\n        [-6.]])\r\n'''\r\n<\/pre>\n<h4>#20. \ud558\ub098\uc758 \ud150\uc11c\ub97c \ubd84\ub9ac\ud558\uae30<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nz1 = torch.FloatTensor([\r\n    [ 1.,  2.,  3.],\r\n    [ 4.,  5.,  6.],\r\n    [-1., -2., -3.],\r\n    [-4., -5., -6.]\r\n])\r\nx1,x2 = torch.split(z1,2,dim=0)\r\nprint(x1,x2,sep='\\n')\r\n'''\r\ntensor([[1., 2., 3.],\r\n        [4., 5., 6.]])\r\ntensor([[-1., -2., -3.],\r\n        [-4., -5., -6.]])\r\n'''\r\n\r\ny1,y2 = torch.split(z1,2,dim=1)\r\nprint(y1,y2,sep='\\n')\r\n'''\r\ntensor([[ 1.,  2.],\r\n        [ 4.,  5.],\r\n        [-1., -2.],\r\n        [-4., -5.]])\r\ntensor([[ 3.],\r\n        [ 6.],\r\n        [-3.],\r\n        [-6.]])\r\n'''\r\n\r\ny = torch.split(z1,2,dim=1)\r\nfor i in y:\r\n    print(i)\r\n'''\r\ntensor([[ 1.,  2.],\r\n        [ 4.,  5.],\r\n        [-1., -2.],\r\n        [-4., -5.]])\r\ntensor([[ 3.],\r\n        [ 6.],\r\n        [-3.],\r\n        [-6.]])\r\n'''\r\n<\/pre>\n<h4>#21. 1\uac1c \uc694\uc18c\ub97c \uac16\ub294 \ucd95 \uc81c\uac70<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx1 = torch.FloatTensor(10,1,3,1,4)\r\nx2 = torch.squeeze(x1)\r\nprint(x1.size(),x2.size()) # torch.Size([10, 1, 3, 1, 4]) torch.Size([10, 3, 4])\r\n<\/pre>\n<h4>#22. unsqueeze \uc5f0\uc0b0<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx1 = torch.FloatTensor(10,3,4)\r\nx2 = torch.unsqueeze(x1, dim=0)\r\nprint(x1.size(),x2.size()) # torch.Size([10, 3, 4]) torch.Size([1, 10, 3, 4])\r\n\r\nx3 = torch.unsqueeze(x1, dim=1)\r\nprint(x1.size(),x3.size()) # torch.Size([10, 3, 4]) torch.Size([10, 1, 3, 4])\r\n<\/pre>\n<h4>#23. \ub2e4\uc591\ud55c \ubd84\ud3ec\ub97c \uac16\ub294 \ud150\uc11c \ub9cc\ub4e4\uae30<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\nimport torch.nn.init as init\r\n\r\nx1 = init.uniform_(torch.FloatTensor(3,4),a=0,b=9)\r\nprint(x1)\r\n\r\nx2 = init.normal_(torch.FloatTensor(3,4),std=0.2)\r\nprint(x2)\r\n\r\nx3 = init.constant_(torch.FloatTensor(3,4),3.1415926)\r\nprint(x3)\r\n<\/pre>\n<h4>#24. \ud150\uc11c\uac04\uc758 \ud569<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx1 = torch.FloatTensor([[1,2,3],[4,5,6]])\r\nx2 = torch.FloatTensor([[1,2,3],[4,5,6]])\r\n\r\nadd1 = torch.add(x1,x2)\r\nprint(add1)\r\n\r\nadd2 = x1+x2\r\nprint(add2)\r\n<\/pre>\n<h4>#25. \ud150\uc11c\uc758 \ube0c\ub85c\ub4dc\ucf00\uc2a4\ud2b8 \ud569<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx1 = torch.FloatTensor([[1,2,3],[4,5,6]])\r\nx2 = x1 + 10\r\nprint(x2)\r\n<\/pre>\n<h4>#26. \ud150\uc11c \uc694\uc18c\uac04\uc758 \uacf1<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx1 = torch.FloatTensor([[1,2,3],[4,5,6]])\r\nx2 = torch.FloatTensor([[1,2,3],[4,5,6]])\r\n\r\nx3 = torch.mul(x1,x2)\r\nprint(x3)\r\n'''\r\ntensor([[ 1.,  4.,  9.],\r\n        [16., 25., 36.]])\r\n'''\r\n\r\nx4 = x1*x2\r\nprint(x4)\r\n'''\r\ntensor([[ 1.,  4.,  9.],\r\n        [16., 25., 36.]])\r\n'''\r\n<\/pre>\n<h4>#27. \ud150\uc11c \uc694\uc18c\uac04\uc758 \ub098\ub204\uae30<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx1 = torch.FloatTensor([[1,2,3],[4,5,6]])\r\nx2 = torch.FloatTensor([[1,2,3],[4,5,6]])\r\n\r\nx3 = torch.div(x1,x2)\r\nprint(x3)\r\n'''\r\ntensor([[1., 1., 1.],\r\n        [1., 1., 1.]])\r\n'''\r\n\r\nx4 = x1\/x2\r\nprint(x4)\r\n'''\r\ntensor([[1., 1., 1.],\r\n        [1., 1., 1.]])\r\n'''\r\n<\/pre>\n<h4>#28. \ud150\uc11c \uc694\uc18c\uc758 \uc81c\uacf1<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx1 = torch.FloatTensor([[1,2,3],[4,5,6]])\r\n\r\nx2 = torch.pow(x1,2)\r\nprint(x2)\r\n'''\r\ntensor([[ 1.,  4.,  9.],\r\n        [16., 25., 36.]])\r\n'''\r\n\r\nx3 = x1**2\r\nprint(x3)\r\n'''\r\ntensor([[ 1.,  4.,  9.],\r\n        [16., 25., 36.]])\r\n'''\r\n<\/pre>\n<h4>#29. \ud150\uc11c \uc694\uc18c\uc758 \uc9c0\uc218 \uc5f0\uc0b0<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx1 = torch.FloatTensor([[1,2,3],[4,5,6]])\r\nx2 = torch.exp(x1)\r\nprint(x2)\r\n<\/pre>\n<h4>#30. \ud150\uc11c \uc694\uc18c\uc758 \ub85c\uadf8 \uc5f0\uc0b0<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx1 = torch.FloatTensor([[1,2,3],[4,5,6]])\r\nx2 = torch.log(x1)\r\nprint(x2)\r\n<\/pre>\n<h4>#31. \ud589\ub82c\uacf1<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx1 = torch.FloatTensor([[1,2,3],[4,5,6]])\r\nx2 = torch.FloatTensor([[1,2,3],[4,5,6],[7,8,9]])\r\nx3 = torch.mm(x1,x2)\r\nprint(x3)\r\n'''\r\ntensor([[30., 36., 42.],\r\n        [66., 81., 96.]])\r\n'''\r\n<\/pre>\n<h4>#32. \ubc30\uce58 \ud589\ub82c\uacf1 \uc5f0\uc0b0(\ub9e8 \uc55e\uc5d0 batch \ucc28\uc6d0\uc740 \uc720\uc9c0\ud558\uba74\uc11c \ub4a4\uc5d0 \uc694\uc18c\ub4e4\uc758 \ud589\ub82c\uacf1)<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx1 = torch.FloatTensor([\r\n    [[1,2,3],[4,5,6]],\r\n    [[1,2,3],[4,5,6]],\r\n])\r\nx2 = torch.FloatTensor([\r\n    [[1,2,3],[4,5,6],[7,8,9]],\r\n    [[1,2,3],[4,5,6],[7,8,9]],\r\n])\r\nx3 = torch.bmm(x1,x2)\r\nprint(x3)\r\n'''\r\ntensor([[[30., 36., 42.],\r\n         [66., 81., 96.]],\r\n\r\n        [[30., 36., 42.],\r\n         [66., 81., 96.]]])\r\n'''\r\n<\/pre>\n<h4>#33. \ubca1\ud130\uc758 \ub0b4\uc801<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx1 = torch.tensor([1,2,3,4])\r\nx2 = torch.tensor([2,3,4,5])\r\nx3 = torch.dot(x1,x2)\r\nprint(x3) # tensor(40)\r\n<\/pre>\n<h4>#34. \ud150\uc11c\uc758 \uc804\uce58<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nx1 = torch.tensor([[1,2,3],[4,5,6],[7,8,9]])\r\nprint(x1)\r\nx2 = x1.t()\r\nprint(x2)\r\n<\/pre>\n<h4>#35. \ud150\uc11c\uc758 \ub0b4\ubd80 \ucc28\uc6d0 \uac04 \ubc14\uafc8<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nhwc_img_data = torch.rand(100, 64, 32, 3)\r\nprint(hwc_img_data.size()) # torch.Size([100, 64, 32, 3])\r\nchw_img_data = hwc_img_data.transpose(1,2)\r\nprint(chw_img_data.size()) # torch.Size([100, 32, 64, 3])\r\nchw_img_data = chw_img_data.transpose(1,3)\r\nprint(chw_img_data.size()) # torch.Size([100, 3, 64, 32])\r\n<\/pre>\n<h4>#36. \ubca1\ud130\uc758 \ub0b4\uc801, \ud589\ub82c\uacfc \ubca1\ud130\uc758 \uacf1, \ud589\ub82c\uac04 \uacf1<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n\r\nm = torch.randn(100,10)\r\nv = torch.randn(10)\r\n\r\nd = torch.matmul(v,v) # = torch.dot, \ubca1\ud130\uc758 \ub0b4\uc801\r\nprint(d)\r\n\r\nv2 = torch.matmul(m,v) # = torch.mv, \ud589\ub82c\uacfc \ubca1\ud130\uc758 \uacf1\r\nprint(v2)\r\n\r\nm2 = torch.matmul(m.t(), m) # = torch.mm, \ud589\ub82c \uacf1\r\nprint(m2)\r\n<\/pre>\n<h4>#37. \ub2e4\ud56d\ubd84\ud3ec \ud655\ub960\uac12 \uae30\ubc18\uc758 \uc0d8\ud50c\ub9c1<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n \r\nx1 = torch.FloatTensor(\r\n    [\r\n        [1,2,3,4,5,6,7,8,9],\r\n        [9,8,7,6,5,4,3,2,1],\r\n        [1,2,3,4,5,6,7,8,9],\r\n        [9,8,7,6,5,4,3,2,1]\r\n    ]\r\n)\r\ni = torch.multinomial(x1.exp(), 1)\r\nprint(i)\r\n'''\r\noutput:\r\ntensor([[8],\r\n        [0],\r\n        [7],\r\n        [1]])\r\n'''\r\n<\/pre>\n<p>torch.multinomial \ud568\uc218\ub294 2\uac1c\uc758 \uc778\uc790\ub97c \ubc1b\ub294\ub370, \uccab\ubc88\uc9f8 \uc778\uc790\ub294 \ud655\ub960\ub85c \ud574\uc11d\ub420 \uc218 \uc788\ub294 \ud150\uc11c\uc774\uace0 \ub450\ubc88\uc9f8\ub294 \uc0d8\ud50c\ub9c1\ud560 \uac1c\uc218\uc774\ub2e4. \uccab\ubc88\uc9f8 \uc778\uc790\ub294 \ud655\ub960\ub85c \ud574\uc11d\ud560 \uc218 \uc788\uc9c0\ub9cc, \uc815\uaddc\ud654\ub420 \ud544\uc694\ub294 \uc5c6\ub2e4. \uc5ec\uae30\uc11c \uc815\uaddc\ud654\ub780 \ub354\ud574\uc11c 1\uc774 \ub418\uc5b4\uc57c \ud55c\ub2e4\ub294 \uc758\ubbf8\uc774\ub2e4. \uacb0\uacfc\uc5d0\uc11c \ubcf4\uba74 \uc54c \uc218 \uc788\ub4ef\uc774 \uc0d8\ud50c\ub9c1\ub41c \uac12\uc758 \uc778\ub371\uc2a4 \uac12\uc774 \ubc18\ud658\ub41c\ub2e4.<\/p>\n<h4>#38. \uc0c1\uc704 n\uac1c \uac00\uc838\uc624\uae30<\/h4>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nimport torch\r\n \r\nx = torch.rand(10)\r\nprint(x) # tensor([0.9097, 0.3766, 0.6321, 0.0760, 0.0137, 0.1760, 0.0655, 0.7696, 0.5172, 0.4140])\r\n\r\nscores, indices = torch.topk(x, 3)\r\n\r\nfor i in range(0,3):\r\n    print(indices[i].item(), scores[i].item())\r\n'''output:\r\n0 0.909696102142334\r\n7 0.769554853439331\r\n2 0.6320836544036865\r\n'''\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\uc774 \uae00\uc740 PyTorch\ub97c \uc774\uc6a9\ud55c \ub525\ub7ec\ub2dd \uac1c\ubc1c \uc2dc\uc5d0 Tensor \uc5f0\uc0b0\uc5d0 \ub300\ud55c \ub0b4\uc6a9\uc744 \ube60\ub974\uac8c \ucc38\uc870\ud558\uae30 \uc704\ud574 \uc815\ub9ac\ud55c \uae00\uc785\ub2c8\ub2e4. #1. \ub09c\uc218\uac12\uc73c\ub85c \uad6c\uc131\ub41c 2&#215;3 \ud150\uc11c \uc0dd\uc131 import torch x = torch.rand(2,3) print(x) #2. \uc815\uaddc\ubd84\ud3ec \ub09c\uc218\uac12\uc73c\ub85c \uad6c\uc131\ub41c 2&#215;3 \ud150\uc11c \uc0dd\uc131 import torch x = torch.randn(2,3) print(x) #3. [0,10) \uae4c\uc9c0\uc758 \uc815\uc218\ud615 \ub09c\uc218\uac12\uc73c\ub85c \uad6c\uc131\ub41c 2&#215;3 \ud150\uc11c \uc0dd\uc131 import torch x = torch.randint(0,10,size=(2,3)) &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=8392\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;PyTorch\uc758 Tensor \uc5f0\uc0b0 \ud035 \ub808\ud37c\ub7f0\uc2a4&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[131,132],"tags":[],"class_list":["post-8392","post","type-post","status-publish","format-standard","hentry","category-python","category-deep-machine-learning"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/8392","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8392"}],"version-history":[{"count":13,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/8392\/revisions"}],"predecessor-version":[{"id":9361,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/8392\/revisions\/9361"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8392"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8392"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8392"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}