- PyTorch 教程
- PyTorch - 主頁
- PyTorch - 簡介
- PyTorch - 安裝
- 神經網路的數學構建模組
- PyTorch - 神經網路基礎
- 機器學習的通用工作流
- 機器學習與深度學習
- 實現第一個神經網路
- 神經網路到功能模組
- PyTorch - 術語
- PyTorch - 載入資料
- PyTorch - 線性迴歸
- PyTorch - 卷積神經網路
- PyTorch - 迴圈神經網路
- PyTorch - 資料集
- PyTorch - 卷積簡介
- 從頭開始訓練一個卷積
- PyTorch - 卷積中的特徵提取
- PyTorch - 卷積的視覺化
- 卷積中的序列處理
- PyTorch - 詞嵌入
- PyTorch - 遞迴神經網路
- PyTorch 有用資源
- PyTorch - 快速指南
- PyTorch - 有用資源
- PyTorch - 討論
PyTorch - 卷積中的特徵提取
卷積神經網路包括一個主要特徵,提取。以下步驟用於實現卷積神經網路的特徵提取。
步驟 1
匯入相應的模型以使用“PyTorch”建立特徵提取模型。
import torch import torch.nn as nn from torchvision import models
步驟 2
建立一個功能提取器類,可以根據需要隨時呼叫。
class Feature_extractor(nn.module):
def forward(self, input):
self.feature = input.clone()
return input
new_net = nn.Sequential().cuda() # the new network
target_layers = [conv_1, conv_2, conv_4] # layers you want to extract`
i = 1
for layer in list(cnn):
if isinstance(layer,nn.Conv2d):
name = "conv_"+str(i)
art_net.add_module(name,layer)
if name in target_layers:
new_net.add_module("extractor_"+str(i),Feature_extractor())
i+=1
if isinstance(layer,nn.ReLU):
name = "relu_"+str(i)
new_net.add_module(name,layer)
if isinstance(layer,nn.MaxPool2d):
name = "pool_"+str(i)
new_net.add_module(name,layer)
new_net.forward(your_image)
print (new_net.extractor_3.feature)
廣告