<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      PyTorch教程之Autograd

      在PyTorch中,autograd是所有神經網絡的核心內容,為Tensor所有操作提供自動求導方法。

      它是一個按運行方式定義的框架,這意味著backprop是由代碼的運行方式定義的。

       一、Variable

      autograd.Variable 是autograd中最核心的類。 它包裝了一個Tensor,并且?guī)缀踔С炙性谄渖隙x的操作。一旦完成了你的運算,你可以調用 .backward()來自動計算出所有的梯度。

      Variable有三個屬性:data,grad以及creator。

      訪問原始的tensor使用屬性.data;  關于這一Variable的梯度則集中于 .grad;  .creator反映了創(chuàng)建者,標識了是否由用戶使用.Variable直接創(chuàng)建(None)。

       

      還有一個對autograd的實現(xiàn)非常重要的類——Function。Variable 和Function數(shù)是相互關聯(lián)的,并建立一個非循環(huán)圖,從而編碼完整的計算過程。每個變量都有一個.grad_fn屬性引用創(chuàng)建變量的函數(shù)(除了用戶創(chuàng)建的變量,它們的grad_fn是None)。

      import torch
      from torch.autograd import Variable

      創(chuàng)建變量x:

      x = Variable(torch.ones(2, 2), requires_grad=True)
      print(x)

       輸出結果:

      Variable containing:
       1  1
       1  1
      [torch.FloatTensor of size 2x2]
       

      在x基礎上進行運算:

      y = x + 2 
      print(y)

      輸出結果:

      Variable containing:
       3  3
       3  3
      [torch.FloatTensor of size 2x2]

      查看x的grad_fn:

      print(x.grad_fn)

      輸出結果:

      None

      查看y的grad_fn:

      print(y.grad_fn)

      輸出結果

      <torch.autograd.function.AddConstantBackward object at 0x7f603f6ab318>
      

      可以看到y(tǒng)是作為運算的結果產生的,所以y有grad_fn,而x是直接創(chuàng)建的,所以x沒有grad_fn。

       在y基礎上進行運算: 

      z = y * y * 3
      out = z.mean()
      print(z, out)

      輸出結果:

      Variable containing:
       27  27
       27  27
      [torch.FloatTensor of size 2x2]
       Variable containing:
       27
      [torch.FloatTensor of size 1]

      二、Gradients

      如果Variable是一個標量(例如它包含一個單元素數(shù)據(jù)),你無需對backward()指定任何參數(shù).

      out.backward()等價于out.backward(torch.Tensor([1.0])).

      out.backward()
      print(x.grad)

      輸出結果:

      Variable containing:
       4.5000  4.5000
       4.5000  4.5000
      [torch.FloatTensor of size 2x2]

      如果它有更多的元素(矢量),你需要指定一個和tensor的形狀匹配的grad_output參數(shù)(y在指定方向投影對x的導數(shù))

      x = torch.randn(3)
      x = Variable(x, requires_grad=True)
      
      y = x * 2
      while y.data.norm() < 1000:
          y = y * 2
      
      print(y)

      輸出結果:

      Variable containing:
      -1296.5227
        499.0783
        778.8971
      [torch.FloatTensor of size 3]

      不傳入參數(shù):

       

      y.backward()
      print(x.grad)

       

      輸出結果:

      RuntimeError: grad can be implicitly created only for scalar outputs
      None

      傳入參數(shù):

      gradients = torch.FloatTensor([0.1, 1.0, 0.0001])
      y.backward(gradients)
      print(x.grad)

      輸出結果:

      Variable containing:
        102.4000
       1024.0000
          0.1024
      [torch.FloatTensor of size 3]

      簡單測試一下不同參數(shù)的效果:

      參數(shù)1:[1,1,1]

       

      x=torch.FloatTensor([1,2,3])
      x = Variable(x, requires_grad=True)
      y = x * x
      print(y)
      
      gradients = torch.FloatTensor([1,1,1])
      y.backward(gradients)  
      print(x.grad)

       輸出結果:

      Variable containing:
       1
       4
       9
      [torch.FloatTensor of size 3]
      Variable containing:
       2
       4
       6
      [torch.FloatTensor of size 3]

       參數(shù)2:[3,2,1] 

      x=torch.FloatTensor([1,2,3])
      x = Variable(x, requires_grad=True)
      y = x * x
      print(y)
      
      gradients = torch.FloatTensor([3,2,1])
      y.backward(gradients)  
      print(x.grad)

       輸出結果:

      Variable containing:
       1
       4
       9
      [torch.FloatTensor of size 3]
      Variable containing:
       6
       8
       6
      [torch.FloatTensor of size 3]

       



      posted @ 2017-09-13 10:36  雪球球  閱讀(11971)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 欧美牲交videossexeso欧美| 久久涩综合一区二区三区| 熟妇啊轻点灬大JI巴太粗| 中国亚洲女人69内射少妇| 99久久久无码国产麻豆| 国产一区二区三区黄色大片| 国产精品自在欧美一区| 中文字幕精品亚洲二区| 色五月丁香五月综合五月4438| 亚洲偷自拍国综合| 国偷自产一区二区免费视频| 99国产精品永久免费视频| 精品国产亚洲午夜精品a| 国产一区二区高清不卡| 国产综合av一区二区三区| 国产精品视频露脸| 麻豆久久天天躁夜夜狠狠躁| 免费高潮了好湿h视频| 临夏县| 欧美成人h亚洲综合在线观看| 美女一区二区三区亚洲麻豆| 又爽又黄又无遮挡的激情视频| 久久香蕉欧美精品| 亚洲av无码片在线播放| 美日韩不卡一区二区三区| 久久亚洲精品中文字幕馆| 午夜精品久久久久久久爽| 欧美日本精品一本二本三区| 亚洲欧美中文日韩V在线观看 | 精品黑人一区二区三区| 在线观看精品日本一区二| 亚洲中文字幕一区二区| 国产日韩精品视频无码| 99在线精品视频观看免费| 色综合一本到久久亚洲91| h动态图男女啪啪27报gif| 啪啪av一区二区三区| 亚洲精品一区二区三区大| 久久天天躁夜夜躁狠狠| 国产盗摄xxxx视频xxxx| 撕开奶罩揉吮奶头视频|