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
stsgd:w=w
−α∂l
oss∂
ww = w - \alpha\frac
w=w−α∂
w∂lo
ssmini-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
ihx
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...