本文主要是pytorch中variable變數的一些用法。
import torch
from torch.autograd import variable
tensor = torch.floattensor([[1, 2], [3, 4]])
# 定義variable, requires_grad用來指定是否需要計算梯度
variable = variable(tensor, requires_grad = true)
print tensor
print variable
1 2
3 4
[torch.floattensor of size 2x2]
variable containing:
1 2
3 4
[torch.floattensor of size 2x2]
# 計算x^2的均值
tensor_mean = torch.mean(tensor * tensor)
variable_mean = torch.mean(variable * variable)
print tensor_mean
print variable_mean
7.5
variable containing:
7.5000
[torch.floattensor of size 1]
# variable進行反向傳播
# 梯度計算如下:
# variable_mean = 1/4 * sum(variable * variable)
# d(variable_mean)/d(variable) = 1/4 * 2 * variable = 1/2 * variable
variable_mean.backward()
# 輸出variable中的梯度
print variable.grad
variable containing:
0.5000 1.0000
1.5000 2.0000
[torch.floattensor of size 2x2]
# *表示逐元素點乘,不是矩陣乘法
print tensor * tensor
print variable * variable
1 4
9 16
[torch.floattensor of size 2x2]
variable containing:
1 4
9 16
[torch.floattensor of size 2x2]
# 輸出variable中的data, data是tensor
print variable.data
1 2
3 4
[torch.floattensor of size 2x2]
關於var的用法
1 var 是在全域性範圍內有效,可以多次宣告 2 var與const let的區別 let 跟 var 的作用差不多,但有著非常重要的區別。最明顯的區別是,let 宣告的範圍是塊作用域,而 var 宣告的範圍是函式作用域。const let是es6及其以上版本的關鍵字 es6命名規範 常量 con...
二 基本用法
1 css語法 選擇器style head 2 css應用方式 也稱為css引用方式,有三種方式 內部樣式 行內樣式 外部樣式 2.1 內部樣式 2.2 行內樣式 2.3 外部樣式 使用單獨的css檔案定義,然後在頁面中使用 link標籤 或 import指令 引入 rel stylesheet t...
Pytorch(二)基本API及使用
初始化tensor,tensor的變換,隨機初始化乙個tensor,上下文管理器torch.no grad 不進行梯度傳播。乘法中的廣播機制 對於兩個tensor,肯定是維度少的那個是broadcast矩陣。比如最後乙個,比如常見,乙個維度是 10,3,4 的矩陣,乘以乙個 4,5 的矩陣,其實是後...