pytorch 深度學習

2021-10-05 01:49:37 字數 1990 閱讀 4314

pytorch深度學習實踐

訓練集、開發集(模型評估)、測試集。

f (x

)=wx

+b

f(x)=wx+b

f(x)=w

x+bloss —— 乙個樣本

cost (mean square error) —— training set

區域性最優,不一定全域性最優。

鞍點:梯度為0,但無法繼續迭代。

w =w

−α∂c

ost∂

ww = w - \alpha\frac

w=w−α∂

w∂co

st​sgd:w=w

−α∂l

oss∂

ww = w - \alpha\frac

w=w−α∂

w∂lo

ss​mini-batch:介於cost和loss之間。

tensor:data 和 grad

w.data

w.grad.data:數值計算,不構建計算圖。

w.grad.item():取出數值。

w.grad.data.zero():清零。

torch.nn.linear(1,1) 包括 weight 和 bias。

y =w

tx+b

y=w^tx+b

y=wtx+

bnet.parameters()

print(list(net.parameters()))

print(list(net.named_parameters()))

print(net.layer.weight.item())

print(net.layer.bias)

dataset

design model using nn.module

construct loss and optimizer

training cycle: forward, backward, update

輸出不再是估計值,而是概率。

非線性的啟用函式(sigmoid)。

mini-batch:n個samples向量化計算。

多層:加入非線性函式。

torch.utils.data.dataset()

torch.utils.data.dataloader(xx, batch_size, shuffle, num_workers)

softmax:多個輸出的概率分布。

最後一層softmax,其他層非線性。

nn.crossentropyloss()

feature extration: convolution、subsampling

classification: fully connected

convolution: 影象rgb三個通道,每個通道配乙個卷積核,然後相加,變為乙個通道。patch: 3 * width * height。

n通道,m個filter(n個卷積核),相加,拼接,變為m個通道。

maxpooling: 挑選最大值,通道數不變。

input—(conv—relu—pooling)—linear—output

1*1conv降低運算量。

有序列關係的資料。

h t=

tanh

(wih

xt+b

ih+w

hhht

−1+b

ih

)h_t=tanh(w_x_t+b_+w_h_+b_)

ht​=ta

nh(w

ih​x

t​+b

ih​+

whh​

ht−1

​+bi

h​)torch.nn.rnncell()

torch.nn.rnn()

one-hot vs embedding

x—embed—rnn cell—linear—o

lstm

gru

深度學習 安裝pytorch

1 官網 2 cmd中執行 注意 直接複製run this command 裡面的安裝 注意 把pip3的3刪除 第一步 pip install i 第二步 pip install torchvision 注意 第一步和第二步可以合併為pip install i torchvision 3 安裝技巧...

PyTorch 深度學習 筆記

方差 偏差 線性回歸來確定兩種或兩種以上變數間相互依賴的定量關係。線性回歸對於輸入x和輸出y有乙個對映 類似ax b 而我們是訓練a b這兩個引數。以下 使用pytorch建立乙個線性的模型來對其進行擬合,即訓練過程。def linear ex x np.random.rand 256 noise ...

pytorch 深度學習框架

定義網路 net net 定義資料 資料預處理,1.轉為tensor,2.歸一化 transform transforms.compose transforms.totensor transforms.normalize 0.5 0.5 0.5 0.5 0.5 0.5 訓練集 trainset to...