Bilinear CNN与 Randomly Wired Neural Network
生活随笔
收集整理的這篇文章主要介紹了
Bilinear CNN与 Randomly Wired Neural Network
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近主要學習了兩篇論文以及相關的代碼。
1、Bilinear CNN
這篇論文主要是在細粒度分類上應用的,在全連接層之前,在所有的卷積計算完成之后,進行的Bilinear計算,關鍵的代碼如下:
?
def forward(self, X):"""Forward pass of the network.Args:X, torch.autograd.Variable of shape N*3*448*448.Returns:Score, torch.autograd.Variable of shape N*200."""N = X.size()[0]assert X.size() == (N, 3, 448, 448)X = self.features(X)assert X.size() == (N, 512, 28, 28)X = X.view(N, 512, 28**2)X = torch.bmm(X, torch.transpose(X, 1, 2)) / (28**2) # Bilinearassert X.size() == (N, 512, 512)X = X.view(N, 512**2)X = torch.sqrt(X + 1e-5)X = torch.nn.functional.normalize(X)X = self.fc(X)assert X.size() == (N, 200)return X?
這個地方和判斷卷積核提取的特征的相似度判別,求取的相似矩陣有很大的相似之處。
2、?Randomly Wired Neural Network
將隨機圖應用到神經網絡的構建之中,講道理,構建的網絡其實和DenseNet這種有很大的相似性。具體的過程,寄到筆記本上了。
?
轉載于:https://www.cnblogs.com/yanxingang/p/10689547.html
總結
以上是生活随笔為你收集整理的Bilinear CNN与 Randomly Wired Neural Network的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手把手教你摆地摊之摆摊卖什么
- 下一篇: python中glob的用途