PyTorch基本用法 二 Variable

2021-08-20 10:27:04 字數 1624 閱讀 4444

本文主要是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 的矩陣,其實是後...