真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

pytorch怎樣實(shí)現(xiàn)特征圖可視化

pytorch怎樣實(shí)現(xiàn)特征圖可視化,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到師宗網(wǎng)站設(shè)計(jì)與師宗網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋師宗地區(qū)。

是不是要這樣的效果
pytorch怎樣實(shí)現(xiàn)特征圖可視化
pytorch怎樣實(shí)現(xiàn)特征圖可視化
技術(shù)要點(diǎn) 1.選擇一層網(wǎng)絡(luò),將圖片的tensor放進(jìn)去 2.將網(wǎng)絡(luò)的輸出plt.imshow

代碼可直接復(fù)制使用,需要改的就是你的圖片位置

import torchfrom torchvision import models, transformsfrom PIL import Imageimport matplotlib.pyplot as pltimport numpy as npimport scipy.misc
plt.rcParams['font.sans-serif']=['STSong']import torchvision.models as models
model = models.alexnet(pretrained=True)#1.模型查看# print(model)#可以看出網(wǎng)絡(luò)一共有3層,兩個(gè)Sequential()+avgpool# model_features = list(model.children())# print(model_features[0][3])#取第0層Sequential()中的第四層# for index,layer in enumerate(model_features[0]):#     print(layer)#2. 導(dǎo)入數(shù)據(jù)# 以RGB格式打開圖像# Pytorch DataLoader就是使用PIL所讀取的圖像格式# 建議就用這種方法讀取圖像,當(dāng)讀入灰度圖像時(shí)convert('')def get_image_info(image_dir):image_info = Image.open(image_dir).convert('RGB')#是一幅圖片# 數(shù)據(jù)預(yù)處理方法image_transform = transforms.Compose([transforms.Resize(256),transforms.CenterCrop(224),transforms.ToTensor(),transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])])image_info = image_transform(image_info)#torch.Size([3, 224, 224])image_info = image_info.unsqueeze(0)#torch.Size([1, 3, 224, 224])因?yàn)閙odel的輸入要求是4維,所以變成4維return image_info#變成tensor數(shù)據(jù)#2. 獲取第k層的特征圖'''
args:
k:定義提取第幾層的feature map
x:圖片的tensor
model_layer:是一個(gè)Sequential()特征層
'''def get_k_layer_feature_map(model_layer, k, x):with torch.no_grad():for index, layer in enumerate(model_layer):#model的第一個(gè)Sequential()是有多層,所以遍歷x = layer(x)#torch.Size([1, 64, 55, 55])生成了64個(gè)通道if k == index:return x#  可視化特征圖def show_feature_map(feature_map):#feature_map=torch.Size([1, 64, 55, 55]),feature_map[0].shape=torch.Size([64, 55, 55]) # feature_map[2].shape     out of boundsfeature_map = feature_map.squeeze(0)#壓縮成torch.Size([64, 55, 55])feature_map_num = feature_map.shape[0]#返回通道數(shù)row_num = np.ceil(np.sqrt(feature_map_num))#8plt.figure()for index in range(1, feature_map_num + 1):#通過(guò)遍歷的方式,將64個(gè)通道的tensor拿出plt.subplot(row_num, row_num, index)plt.imshow(feature_map[index - 1], cmap='gray')#feature_map[0].shape=torch.Size([55, 55])plt.axis('off')scipy.misc.imsave( 'feature_map_save//'+str(index) + ".png", feature_map[index - 1])plt.show()if __name__ ==  '__main__':image_dir = r"car_logol.png"# 定義提取第幾層的feature mapk = 0image_info = get_image_info(image_dir)model = models.alexnet(pretrained=True)model_layer= list(model.children())model_layer=model_layer[0]#這里選擇model的第一個(gè)Sequential()feature_map = get_k_layer_feature_map(model_layer, k, image_info)show_feature_map(feature_map)

彩色圖顯示

#在show_feature_map函數(shù)中加上一句,tensor數(shù)據(jù)變成Img的操作image_PIL=transforms.ToPILImage()(feature_map[index - 1])

pytorch怎樣實(shí)現(xiàn)特征圖可視化

如果對(duì)于matplotlib不熟練
matplotlib繪制多個(gè)子圖(漢字標(biāo)題,XY軸標(biāo)簽)& PIL.Image 11行讀取文件夾中照片

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。


文章題目:pytorch怎樣實(shí)現(xiàn)特征圖可視化
文章來(lái)源:http://weahome.cn/article/pedhde.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部