成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

pytorch如何獲取層權(quán)重,對特定層注入hook,提取中間層輸出-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)pytorch如何獲取層權(quán)重,對特定層注入hook, 提取中間層輸出的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計制作、做網(wǎng)站與策劃設(shè)計,肅州網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:肅州等地區(qū)。肅州做網(wǎng)站價格咨詢:028-86922220

如下所示:

#獲取模型權(quán)重
for k, v in model_2.state_dict().iteritems():
 print("Layer {}".format(k))
 print(v)
#獲取模型權(quán)重
for layer in model_2.modules():
 if isinstance(layer, nn.Linear):
  print(layer.weight)
#將一個模型權(quán)重載入另一個模型
model = VGG(make_layers(cfg['E']), **kwargs)
if pretrained:
 load = torch.load('/home/huangqk/.torch/models/vgg19-dcbb9e9d.pth')
 load_state = {k: v for k, v in load.items() if k not in ['classifier.0.weight', 'classifier.0.bias', 'classifier.3.weight', 'classifier.3.bias', 'classifier.6.weight', 'classifier.6.bias']}
 model_state = model.state_dict()
 model_state.update(load_state)
 model.load_state_dict(model_state)
return model
# 對特定層注入hook
def hook_layers(model):
 def hook_function(module, inputs, outputs):
  recreate_image(inputs[0])

 print(model.features._modules)
 first_layer = list(model.features._modules.items())[0][1]
 first_layer.register_forward_hook(hook_function)
#獲取層
x = someinput
for l in vgg.features.modules():
 x = l(x)
modulelist = list(vgg.features.modules())
for l in modulelist[:5]:
 x = l(x)
keep = x
for l in modulelist[5:]:
 x = l(x)
# 提取vgg模型的中間層輸出
# coding:utf8
import torch
import torch.nn as nn
from torchvision.models import vgg16
from collections import namedtuple


class Vgg16(torch.nn.Module):
 def __init__(self):
  super(Vgg16, self).__init__()
  features = list(vgg16(pretrained=True).features)[:23]
  # features的第3,8,15,22層分別是: relu1_2,relu2_2,relu3_3,relu4_3
  self.features = nn.ModuleList(features).eval()

 def forward(self, x):
  results = []
  for ii, model in enumerate(self.features):
   x = model(x)
   if ii in {3, 8, 15, 22}:
    results.append(x)

  vgg_outputs = namedtuple("VggOutputs", ['relu1_2', 'relu2_2', 'relu3_3', 'relu4_3'])
  return vgg_outputs(*results)
pytorch的優(yōu)點

1.PyTorch是相當(dāng)簡潔且高效快速的框架;2.設(shè)計追求最少的封裝;3.設(shè)計符合人類思維,它讓用戶盡可能地專注于實現(xiàn)自己的想法;4.與google的Tensorflow類似,F(xiàn)AIR的支持足以確保PyTorch獲得持續(xù)的開發(fā)更新;5.PyTorch作者親自維護的論壇 供用戶交流和求教問題6.入門簡單

感謝各位的閱讀!關(guān)于“pytorch如何獲取層權(quán)重,對特定層注入hook, 提取中間層輸出”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

文章名稱:pytorch如何獲取層權(quán)重,對特定層注入hook,提取中間層輸出-創(chuàng)新互聯(lián)
文章分享:http://jinyejixie.com/article22/jgscc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站內(nèi)鏈電子商務(wù)網(wǎng)站導(dǎo)航、建站公司、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
育儿| 沐川县| 海口市| 罗甸县| 达州市| 纳雍县| 罗定市| 民权县| 郴州市| 克什克腾旗| 黑河市| 靖江市| 永济市| 海晏县| 鹿泉市| 双流县| 沙湾县| 九江县| 伊宁市| 肇庆市| 于田县| 东乌珠穆沁旗| 福鼎市| 南雄市| 和静县| 朔州市| 定远县| 吉安县| 鄂温| 桃园县| 北安市| 安远县| 海盐县| 西乌珠穆沁旗| 磐安县| 芜湖县| 伊宁县| 石屏县| 鹤壁市| 洪江市| 嘉善县|