精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

使用PyTorch進行知識蒸餾的代碼示例

人工智能 機器學習
隨著機器學習模型的復雜性和能力不斷增加。提高大型復雜模型在小數據集性能的一種有效技術是知識蒸餾,它包括訓練一個更小、更有效的模型來模仿一個更大的“教師”模型的行為。

隨著機器學習模型的復雜性和能力不斷增加。提高大型復雜模型在小數據集性能的一種有效技術是知識蒸餾,它包括訓練一個更小、更有效的模型來模仿一個更大的“教師”模型的行為。

在本文中,我們將探索知識蒸餾的概念,以及如何在PyTorch中實現它。我們將看到如何使用它將一個龐大、笨重的模型壓縮成一個更小、更高效的模型,并且仍然保留原始模型的準確性和性能。

我們首先定義知識蒸餾要解決的問題。

我們訓練了一個大型深度神經網絡來執行復雜的任務,比如圖像分類或機器翻譯。這個模型可能有數千層和數百萬個參數,這使得它很難部署在現實應用程序、邊緣設備等中。并且這個超大的模型還需要大量的計算資源來運行,這使得它在一些資源受限的平臺上無法工作。

解決這個問題的一種方法是使用知識蒸餾將大模型壓縮成較小的模型。這個過程包括訓練一個較小的模型來模仿給定任務中大型模型的行為。

我們將使用來自Kaggle的胸部x光數據集進行肺炎分類來進行知識蒸餾的示例。我們使用的數據集被組織成3個文件夾(train, test, val),并包含每個圖像類別的子文件夾(Pneumonia/Normal)。共有5,863張x射線圖像(JPEG)和2個類別(肺炎/正常)。

比較一下這兩個類的圖片:

圖片

數據的加載和預處理與我們是否使用知識蒸餾或特定模型無關,代碼片段可能如下所示:

transforms_train = transforms.Compose([
transforms.Resize((224, 224)),
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406],
[0.229, 0.224, 0.225])])

transforms_test = transforms.Compose([
transforms.Resize((224, 224)),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406],
[0.229, 0.224, 0.225])])

train_data = ImageFolder(root=train_dir, transform=transforms_train)
test_data = ImageFolder(root=test_dir, transform=transforms_test)

train_loader = DataLoader(train_data, batch_size=32, shuffle=True)
test_loader = DataLoader(test_data, batch_size=32, shuffle=True)

教師模型

在這個背景中教師模型我們使用Resnet-18并且在這個數據集上進行了微調。

import torch
import torch.nn as nn
import torchvision

class TeacherNet(nn.Module):
def __init__(self):
super().__init__()
self.model = torchvision.models.resnet18(pretrained=True)
for params in self.model.parameters():
params.requires_grad_ = False

n_filters = self.model.fc.in_features
self.model.fc = nn.Linear(n_filters, 2)

def forward(self, x):
x = self.model(x)
return x

微調訓練的代碼如下

 def train(model, train_loader, test_loader, optimizer, criterion, device):
dataloaders = {'train': train_loader, 'val': test_loader}

for epoch in range(30):
print('Epoch {}/{}'.format(epoch, num_epochs - 1))
print('-' * 10)

for phase in ['train', 'val']:
if phase == 'train':
model.train()
else:
model.eval()

running_loss = 0.0
running_corrects = 0

for inputs, labels in tqdm.tqdm(dataloaders[phase]):
inputs = inputs.to(device)
labels = labels.to(device)

optimizer.zero_grad()

with torch.set_grad_enabled(phase == 'train'):
outputs = model(inputs)
loss = criterion(outputs, labels)

_, preds = torch.max(outputs, 1)

if phase == 'train':
loss.backward()
optimizer.step()

running_loss += loss.item() * inputs.size(0)
running_corrects += torch.sum(preds == labels.data)

epoch_loss = running_loss / len(dataloaders[phase].dataset)
epoch_acc = running_corrects.double() / len(dataloaders[phase].dataset)

print('{} Loss: {:.4f} Acc: {:.4f}'.format(phase, epoch_loss, epoch_acc))

這是一個標準的微調訓練步驟,訓練后我們可以看到該模型在測試集上達到了91%的準確性,這也就是我們沒有選擇更大模型的原因,因為作為測試91的準確率已經足夠作為基類模型來使用了。

我們知道模型有1170萬個參數,因此不一定能夠適應邊緣設備或其他特定場景。

學生模型

我們的學生是一個更淺的CNN,只有幾層和大約100k個參數。

class StudentNet(nn.Module):
def __init__(self):
super().__init__()
self.layer1 = nn.Sequential(
nn.Conv2d(3, 4, kernel_size=3, padding=1),
nn.BatchNorm2d(4),
nn.ReLU(),
nn.MaxPool2d(kernel_size=2, stride=2)
)
self.fc = nn.Linear(4 * 112 * 112, 2)

def forward(self, x):
out = self.layer1(x)
out = out.view(out.size(0), -1)
out = self.fc(out)
return out

看代碼就非常的簡單,對吧。

如果我可以簡單地訓練這個更小的神經網絡,我為什么還要費心進行知識蒸餾呢?我們最后會附上我們通過超參數調整等手段從頭訓練這個網絡的結果最為對比。

但是現在我們繼續我們的知識蒸餾的步驟

知識蒸餾訓練

訓練的基本步驟是不變的,但是區別是如何計算最終的訓練損失,我們將使用教師模型損失,學生模型的損失和蒸餾損失一起來計算最終的損失。

class DistillationLoss:
def __init__(self):
self.student_loss = nn.CrossEntropyLoss()
self.distillation_loss = nn.KLDivLoss()
self.temperature = 1
self.alpha = 0.25

def __call__(self, student_logits, student_target_loss, teacher_logits):
distillation_loss = self.distillation_loss(F.log_softmax(student_logits / self.temperature, dim=1),
F.softmax(teacher_logits / self.temperature, dim=1))

loss = (1 - self.alpha) * student_target_loss + self.alpha * distillation_loss
return loss

損失函數是下面兩個東西的加權和:

  • 分類損失,稱為student_target_loss
  • 蒸餾損失,學生對數和教師對數之間的交叉熵損失

圖片

簡單的講,我們的教師模型需要教導學生如何“思考”的,這就是指的是它的不確定性;例如,如果教師模型的最終輸出概率是[0.53,0.47],我們希望學生也得到同樣類似結果,這些預測之間的差異就是蒸餾損失。

為了控制損失,還有有兩個主要參數:

  • 蒸餾損失的權重:0意味著我們只考慮蒸餾損失,反之亦然。
  • 溫度:衡量教師預測的不確定性。

在上面的要點中,alpha和temperature的值都是根據我們嘗試過一些組合得到的最佳結果的值。

結果對比

這是這個實驗的表格摘要。

圖片

我們可以清楚地看到使用更小(99.14%),更淺的CNN所獲得的巨大好處:與無蒸餾訓練相比,準確率提升了10點,并且比Resnet-18快11倍!也就是說,我們的小模型真的從大模型中學到了有用的東西。


責任編輯:華軒 來源: DeepHub IMBA
相關推薦

2023-10-20 16:14:43

2024-01-30 01:12:37

自然語言時間序列預測Pytorch

2023-05-05 00:16:08

深度學習圖像分割Pytorch

2023-02-19 15:26:51

深度學習數據集

2025-02-27 10:41:53

2023-08-15 16:20:42

Pandas數據分析

2020-05-14 10:00:06

Python數據技術

2022-10-30 15:00:40

小樣本學習數據集機器學習

2024-07-19 08:00:00

深度學習知識蒸餾

2011-08-23 15:32:43

Oracle rege正則表達式

2024-07-17 11:46:10

2024-12-02 01:10:04

神經網絡自然語言DNN

2023-06-06 15:42:13

Optuna開源

2009-11-13 14:22:11

ADO.NET Dat

2024-01-25 10:19:10

2024-11-04 14:42:12

2024-06-11 00:00:01

用ReactGraphQLCRUD

2025-10-30 02:25:00

大型語言模型CoD注入蒸餾

2024-12-04 09:15:00

AI模型

2021-03-19 17:59:30

深度學習音頻程序
點贊
收藏

51CTO技術棧公眾號

成人妇女淫片aaaa视频| 亚洲欧美在线x视频| 久久精品在线免费视频| a毛片在线免费观看| 国产精品magnet| 精品久久久久久久久久久久包黑料 | 999成人网| 日韩精品一区二| 女人另类性混交zo| 免费在线午夜视频| 国产精品一区二区三区四区| 555www成人网| 久久国产高清视频| 欧美亚洲国产日韩| 欧美日韩精品三区| 国产精品免费入口| 超碰在线免费播放| 91亚洲男人天堂| 成人两性免费视频| 中文字幕黄色片| 影音先锋成人在线电影| 日韩www在线| 超碰91在线播放| 综合另类专区| 亚洲主播在线观看| 五月天色一区| 污视频网站在线播放| 国产综合成人久久大片91| 4388成人网| 国内偷拍精品视频| 精品一区二区三区中文字幕老牛| 欧美成人r级一区二区三区| 黄色三级视频在线| 国产不卡网站| 亚洲va国产va欧美va观看| 在线观看日韩片| 久久av少妇| 99久久精品国产一区| 亚洲最大av网站| 又污又黄的网站| 天堂精品中文字幕在线| 国内成人精品一区| 九九热国产精品视频| 99久久精品网| 日韩在线欧美在线国产在线| 37p粉嫩大胆色噜噜噜| 国产精品流白浆在线观看| 欧美一级在线观看| 亚洲激情在线看| jizzjizz少妇亚洲水多| 91久久精品一区二区| heyzo国产| 九色porny自拍视频在线播放| 亚洲黄色小视频| 国产人妻人伦精品| 在线不卡日本v二区707| 亚洲人成7777| 做爰高潮hd色即是空| 色影院视频在线| 欧美国产日本视频| 色婷婷精品国产一区二区三区| 青青草在线播放| 久久久久久久久久看片| 欧美另类高清视频在线| 嫩草影院一区二区| www..com久久爱| 欧美精品一区二区三区四区五区| 四虎精品成人影院观看地址| 国产成人精选| 欧美色大人视频| 成 人 黄 色 小说网站 s色| 婷婷激情成人| 日韩视频在线观看一区二区| 日韩女优在线视频| 思热99re视热频这里只精品| 亚洲毛片在线免费观看| 亚洲欧美va天堂人熟伦| 国产精品毛片一区二区在线看| 日韩在线视频中文字幕| 波多野结衣亚洲一区二区| 久久视频在线| 九九热在线精品视频| 日韩av片在线播放| 日韩和的一区二区| 91天堂在线视频| 国内爆初菊对白视频| 91免费视频网| 中文字幕黄色大片| 蜜乳av一区| 色综合久久88色综合天天6| 亚洲综合欧美激情| 波多野结衣在线一区二区| 亚洲精品视频播放| 中文字幕观看av| 亚洲另类黄色| 国产精品视频自在线| 精品女同一区二区三区| 久久品道一品道久久精品| 一本一本a久久| brazzers在线观看| 欧美三级日韩在线| 黄色性视频网站| 成人直播大秀| 韩国三级日本三级少妇99| 国产乡下妇女三片| 丁香婷婷综合五月| 亚洲精品永久www嫩草| 成年人国产在线观看| 欧美午夜电影网| 好男人香蕉影院| 91精品国产乱码久久久久久久| 久久久久久久一区二区三区| 中文字幕+乱码+中文字幕明步 | 午夜欧美精品| 国产经典一区二区| 人妻夜夜爽天天爽| 亚洲青青青在线视频| 国产一区视频免费观看| 成人免费在线电影网| 色一情一乱一区二区| 在线观看免费国产视频| 国产综合一区二区| 日本精品一区| 成人影院在线视频| 日韩欧美成人午夜| 黄色录像免费观看| 日本成人在线一区| 欧美 日韩 国产在线| 欧美日韩在线视频免费观看| 欧美揉bbbbb揉bbbbb| 美女100%无挡| 亚洲少妇一区| 国产精品亚洲综合| 在线三级中文| 欧美二区在线观看| 亚洲天堂精品一区| 首页国产欧美日韩丝袜| 蜜桃成人免费视频| 忘忧草在线日韩www影院| 日韩精品一区二区三区在线播放 | 好吊日免费视频| 在线观看视频免费一区二区三区| 亚洲伊人久久综合| 国产在线69| 欧美剧情电影在线观看完整版免费励志电影 | 一级欧美视频| 色伦专区97中文字幕| 波多野结衣大片| 国产人伦精品一区二区| 日本老熟妇毛茸茸| 精品理论电影| 国产精品视频公开费视频| 成人午夜影视| 欧美色图第一页| 少妇一级黄色片| 久久精品久久99精品久久| 亚洲免费久久| 99国内精品久久久久| 日韩在线观看免费全| 国产精品女同一区二区| 亚洲精品国产无天堂网2021 | 免费看日本毛片| 欧美日韩一本| 国产suv精品一区二区| 福利视频在线导航| 欧美精品免费视频| 黄色一级视频免费观看| proumb性欧美在线观看| 欧美在线观看www| 国产一区二区三区四区二区 | 成人在线观看你懂的| 极品国产人妖chinesets亚洲人妖 激情亚洲另类图片区小说区 | 久久久久久久久一区二区| 五月天国产在线| 国产亚洲欧洲在线| 特黄视频免费看| 日本一区二区在线不卡| www.51色.com| 国产一区二区三区久久| 亚洲成色www久久网站| 成人97精品毛片免费看| 久久久久久国产| 欧美18xxxxx| 欧美丰满一区二区免费视频| 精品久久免费视频| 国产日韩欧美综合在线| 日韩不卡的av| 久久一二三四| 熟女熟妇伦久久影院毛片一区二区| 色播一区二区| 国产成人精品亚洲精品| 呦呦在线视频| 亚洲一区二区精品| www.蜜桃av.com| 色狠狠av一区二区三区| 久久精品黄色片| 久久久久9999亚洲精品| 亚洲这里只有精品| 亚洲国产欧美国产综合一区| 日韩一区国产在线观看| a看欧美黄色女同性恋| 国产精品第2页| 9999在线视频| 精品国产一区二区在线| 视频在线观看你懂的| 91精品欧美一区二区三区综合在| 久久久久亚洲av片无码| 国产 欧美在线| 美女网站免费观看视频| 亚洲国产国产亚洲一二三| 亚洲三区在线| 最新精品国偷自产在线| 亚洲a一级视频| 影音成人av| 欧美尤物巨大精品爽| 菠萝菠萝蜜在线视频免费观看| 亚洲毛片在线看| 日本黄色免费视频| 91精品国产一区二区三区香蕉| 伊人手机在线视频| 亚洲一区在线看| 91人妻一区二区三区蜜臀| 欧美激情自拍偷拍| 老牛影视av老牛影视av| 成人美女视频在线观看18| 欧美视频亚洲图片| 麻豆一区二区在线| 北条麻妃视频在线| 欧美一级视频| 国产一区二区网| 欧美日韩中文| 久久久久久久免费视频| 99免费精品| 亚洲最新在线| 日韩欧美一区二区三区在线视频| 欧美大香线蕉线伊人久久国产精品 | 色综合久久中文综合久久97| 日韩特黄一级片| 亚洲一级在线观看| 欧美精品xxxxx| 曰韩精品一区二区| 日韩黄色免费观看| 亚洲卡通欧美制服中文| 亚洲天堂黄色片| 亚洲精品欧美激情| 欧美日韩中文字幕在线观看 | 国产成人亚洲精品自产在线| 亚洲成人av免费| 亚洲一区二区91| 亚洲成年人影院| 日韩欧美不卡视频| 精品久久久久久久久中文字幕 | 日韩一级精品| 国产成人无码a区在线观看视频| 狠狠综合久久| 黄色一级在线视频| 一本色道精品久久一区二区三区 | 亚洲第一综合| 日韩中文字幕高清在线观看| 伊人色综合影院| 综合激情网站| 日韩a级在线观看| 亚洲一区二区毛片| 国产视频在线视频| 免费精品视频最新在线| 99re精彩视频| 久久成人免费网| 亚洲av综合色区无码另类小说| 国产成人在线视频免费播放| 国产一级免费片| 国产色爱av资源综合区| 亚洲综合久久av一区二区三区| 亚洲精品成a人| 女人十八岁毛片| 欧美日韩一区视频| www.av日韩| 日韩精品视频三区| 98在线视频| 久久这里只有精品视频首页| 91jq激情在线观看| 国产精品情侣自拍| 精品中文字幕一区二区三区| 国产伦精品一区二区三毛| 国产一区日韩| 91视频成人免费| 久久高清一区| www.久久com| 久久婷婷成人综合色| 91麻豆免费视频网站| 午夜精品福利在线| 伊人久久成人网| 亚洲国产日韩欧美在线99| 成人在线二区| 8x拔播拔播x8国产精品| 91精品麻豆| 欧美日韩精品久久| 欧美精品1区| 另类小说第一页| 高清在线成人网| 91精品人妻一区二区三区| 亚洲激情自拍偷拍| 久久一区二区三区视频| 91精品国产乱| 视频二区在线| 久久久久国产精品一区| 日本欧美韩国| 久久亚洲免费| 天天天综合网| 日本少妇高潮喷水视频| 韩国女主播成人在线观看| 亚洲成av人片在线观看无| 91原创在线视频| 国产亚洲精品码| 欧美日韩亚洲综合在线| 日本不卡视频一区二区| 久久亚洲精品成人| 中国色在线日|韩| 动漫一区二区在线| 欧美日韩在线二区| 欧美日韩亚洲第一| 国产成人精品一区二区三区四区| 国产美女免费无遮挡| 亚洲成人av资源| 国产毛片久久久久| 色狠狠av一区二区三区香蕉蜜桃| av电影在线地址| 91综合免费在线| 不卡一区2区| 人体内射精一区二区三区 | 日本美女久久久| 久久综合色鬼综合色| 久久国产免费观看| 欧美特级限制片免费在线观看| 国产模特av私拍大尺度| 色青青草原桃花久久综合 | 欧美日韩免费看| 少妇精品高潮欲妇又嫩中文字幕 | 精品伦精品一区二区三区视频密桃| 亚洲成av人综合在线观看| 国产精品久久久久久69| 国产亚洲欧美日韩一区二区| 青青青免费在线视频| 国产麻豆乱码精品一区二区三区| 国产精品88久久久久久| 国产男女无遮挡| 久久影院午夜片一区| 福利一区二区三区四区| 精品奇米国产一区二区三区| 午夜视频成人| 日韩美女免费视频| 亚洲人成网亚洲欧洲无码| 东北少妇不带套对白| 成人精品视频一区二区三区| 色婷婷粉嫩av| 在线视频欧美精品| 在线观看麻豆蜜桃| 国产精品美女免费看| 国产精品久久久久久影院8一贰佰 国产精品久久久久久麻豆一区软件 | 懂色av一区二区三区免费看| 日本一级二级视频| 欧美精品一级二级| 在线观看wwwxxxx| 福利视频一区二区三区| 国产日韩欧美一区在线| 一区二区免费在线观看视频| 欧美日韩一区二区免费在线观看| 亚洲av无码国产综合专区 | 91福利在线尤物| 欧美日韩精品免费看| 久久久久久穴| 久久久精品少妇| 欧美一级日韩免费不卡| 高清在线视频不卡| 精品欧美国产| 国产一区二区三区的电影| 欧美a在线播放| 91精品国产综合久久福利软件| 国产高潮在线| 久久精品第九区免费观看| 久久精品三级| 国产精品高清无码在线观看| 欧美视频一区二区三区…| 成人在线观看黄色| 亚洲va欧美va在线观看| 亚洲中字黄色| 日日操免费视频| 亚洲国语精品自产拍在线观看| 91av亚洲| 免费观看国产视频在线| 成人avav影音| 久久永久免费视频| 九九久久综合网站| 日韩成人午夜| 香蕉网在线视频| 欧美午夜宅男影院在线观看| av网站在线看| 久久久久久久久久久一区| 国产成人午夜高潮毛片| 天天插天天操天天干| 日韩电影大片中文字幕|