1.對全連線層做批量歸一化
位置:全連線層中的仿射變換和啟用函式之間。
2.對卷積層做批量歸⼀化
位置:卷積計算之後、應⽤啟用函式之前。
3.**時的批量歸⼀化
訓練:以batch為單位,對每個batch計算均值和方差。
**:用移動平均估算整個訓練資料集的樣本均值和方差。
殘差塊(residual block)
恒等對映:
左邊:f(x)=x
右邊:f(x)-x=0 (易於捕捉恒等對映的細微波動)
resnet模型
卷積(64,7x7,3)
批量一體化
最大池化(3x3,2)
殘差塊x4 (通過步幅為2的殘差塊在每個模組之間減小高和寬)
優化方法目標:訓練集損失函式值
深度學習目標:測試集損失函式值(泛化性)
優化在深度學習中的挑戰:區域性最小值;鞍點;梯度消失
jensen 不等式:
性質:無區域性極小值;與凸集的關係;二階條件
簡介實現:
def
train_pytorch_ch7
(optimizer_fn, optimizer_hyperparams, features, labels,
batch_size=
10, num_epochs=2)
:# 初始化模型
net = nn.sequential(
nn.linear(features.shape[-1
],1)
) loss = nn.mseloss(
) optimizer = optimizer_fn(net.parameters(),
**optimizer_hyperparams)
defeval_loss()
:return loss(net(features)
.view(-1
), labels)
.item()/
2 ls =
[eval_loss()]
data_iter = torch.utils.data.dataloader(
torch.utils.data.tensordataset(features, labels)
, batch_size, shuffle=
true
)for _ in
range
(num_epochs)
: start = time.time(
)for batch_i,
(x, y)
inenumerate
(data_iter)
:# 除以2是為了和train_ch7保持一致, 因為squared_loss中除了2
l = loss(net(x)
.view(-1
), y)/2
optimizer.zero_grad(
) l.backward(
) optimizer.step()if
(batch_i +1)
* batch_size %
100==0:
))# 列印結果和作圖
print
('loss: %f, %f sec per epoch'
%(ls[-1
], time.time(
)- start)
) d2l.set_figsize(
) d2l.plt.plot(np.linspace(
0, num_epochs,
len(ls)
), ls)
d2l.plt.xlabel(
'epoch'
) d2l.plt.ylabel(
'loss'
)
目標檢測演算法通常會在輸入影象中取樣大量的區域,然後判斷這些區域中是否包含我們感興趣的目標,並調整區域邊緣從而更準確地**目標的真實邊界框(ground-truth bounding box)。不同的模型使用的區域取樣方法可能不同。
交並比:我們可以用兩個邊界框的畫素集合的jaccard係數衡量這兩個邊界框的相似度。當衡量兩個邊界框的相似度時,我們通常將jaccard係數稱為交並比(intersection over union,iou),即兩個邊界框相交面積與相並面積之比。交並比的取值範圍在0和1之間:0表示兩個邊界框無重合畫素,1表示兩個邊界框相等。
輸出**邊界框:在模型**階段,我們先為影象生成多個錨框,並為這些錨框一一**類別和偏移量。隨後,我們根據錨框及其**偏移量得到**邊界框。當錨框數量較多時,同乙個目標上可能會輸出較多相似的**邊界框。為了使結果更加簡潔,我們可以移除相似的**邊界框。常用的方法叫作非極大值抑制(non-maximum suppression,nms)。
首先,我們初始化合成影象,例如將其初始化成內容影象。該合成影象是樣式遷移過程中唯一需要更新的變數,即樣式遷移所需迭代的模型引數。然後,我們選擇乙個預訓練的卷積神經網路來抽取影象的特徵,其中的模型引數在訓練中無須更新。深度卷積神經網路憑藉多個層逐級抽取影象的特徵。我們可以選擇其中某些層的輸出作為內容特徵或樣式特徵。
pytorch 深度學習
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 ...
深度學習 安裝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 ...