欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決Alexnet訓(xùn)練模型在每個(gè)epoch中準(zhǔn)確率和loss都會(huì)一升一降問題

 更新時(shí)間:2020年06月17日 10:15:05   作者:菜田的守望者  
這篇文章主要介紹了解決Alexnet訓(xùn)練模型在每個(gè)epoch中準(zhǔn)確率和loss都會(huì)一升一降問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

遇到的問題

當(dāng)時(shí)自己在使用Alexnet訓(xùn)練圖像分類問題時(shí),會(huì)出現(xiàn)損失在一個(gè)epoch中增加,換做下一個(gè)epoch時(shí)loss會(huì)驟然降低,一開始這個(gè)問題沒有一點(diǎn)頭緒,我數(shù)據(jù)也打亂了,使用的是tf.train.shuffle_batch

在capacity中設(shè)置一個(gè)值,比如是1000吧,每次取一千個(gè)數(shù)據(jù)后將這一千個(gè)數(shù)據(jù)打亂,本次使用的數(shù)據(jù)集就是每個(gè)種類1000多,而我加載數(shù)據(jù)時(shí)是一類一類加載的,這就造成了每一批次的開始可以跟前一類數(shù)據(jù)做打亂處理,但是在中間數(shù)據(jù)并不能達(dá)到充分的shuffle

解決問題

在加載數(shù)據(jù)集的時(shí)候用numpy中的shuffle將數(shù)據(jù)集充分的打亂后在讀入tfrecord中,之后讀取的時(shí)候使用tf.tain.shuffle_batch和使用tf.train.batch就沒有區(qū)別了。另外capacity這個(gè)數(shù)值不益設(shè)置過大,會(huì)對(duì)自己的電腦造成壓力。

補(bǔ)充知識(shí):MATLAB中使用AlexNet、VGG、GoogLeNet進(jìn)行遷移學(xué)習(xí)

直接貼代碼,具體用法見注釋:

clc;clear;

net = alexnet; %加載在ImageNet上預(yù)訓(xùn)練的網(wǎng)絡(luò)模型
imageInputSize = [227 227 3];
%加載圖像
allImages = imageDatastore('.\data227Alexnet',...
 'IncludeSubfolders',true,...
 'LabelSource','foldernames');
 %劃分訓(xùn)練集和驗(yàn)證集
 [training_set,validation_set] = splitEachLabel(allImages,0.7,'randomized');
 %由于原始網(wǎng)絡(luò)全連接層1000個(gè)輸出,顯然不適用于我們的分類任務(wù),因此在這里替換
layersTransfer = net.Layers(1:end-3);
categories(training_set.Labels)
numClasses = numel(categories(training_set.Labels));
%新的網(wǎng)絡(luò)
layers = [
 layersTransfer
 fullyConnectedLayer(numClasses,'Name', 'fc','WeightLearnRateFactor',1,'BiasLearnRateFactor',1)
 softmaxLayer('Name', 'softmax')
 classificationLayer('Name', 'classOutput')];

lgraph = layerGraph(layers);
plot(lgraph)
%對(duì)數(shù)據(jù)集進(jìn)行擴(kuò)增
augmented_training_set = augmentedImageSource(imageInputSize,training_set);

opts = trainingOptions('adam', ...
 'MiniBatchSize', 32,... % mini batch size, limited by GPU RAM, default 100 on Titan, 500 on P6000
 'InitialLearnRate', 1e-4,... % fixed learning rate
 'LearnRateSchedule','piecewise',...
 'LearnRateDropFactor',0.25,...
 'LearnRateDropPeriod',10,...
 'L2Regularization', 1e-4,... constraint
 'MaxEpochs',20,..
 'ExecutionEnvironment', 'gpu',...
 'ValidationData', validation_set,...
 'ValidationFrequency',80,...
 'ValidationPatience',8,...
 'Plots', 'training-progress')

net = trainNetwork(augmented_training_set, lgraph, opts);

save Alex_Public_32.mat net

[predLabels,predScores] = classify(net, validation_set);
plotconfusion(validation_set.Labels, predLabels)
PerItemAccuracy = mean(predLabels == validation_set.Labels);
title(['overall per image accuracy ',num2str(round(100*PerItemAccuracy)),'%'])

MATLAB中訓(xùn)練神經(jīng)網(wǎng)絡(luò)一個(gè)非常大的優(yōu)勢就是訓(xùn)練過程中各項(xiàng)指標(biāo)的可視化,并且最終也會(huì)生成一個(gè)混淆矩陣顯示驗(yàn)證集的結(jié)果。

以上這篇解決Alexnet訓(xùn)練模型在每個(gè)epoch中準(zhǔn)確率和loss都會(huì)一升一降問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python實(shí)現(xiàn)pptx批量向PPT中插入圖片

    python實(shí)現(xiàn)pptx批量向PPT中插入圖片

    大家好,本篇文章主要講的是python實(shí)現(xiàn)pptx批量向PPT中插入圖片,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-02-02
  • pycharm中選中一個(gè)單詞替換所有重復(fù)單詞的實(shí)現(xiàn)方法

    pycharm中選中一個(gè)單詞替換所有重復(fù)單詞的實(shí)現(xiàn)方法

    這篇文章主要介紹了pycharm中選中一個(gè)單詞替換所有重復(fù)單詞的實(shí)現(xiàn)方法,類似于sublime 里的ctrl+D功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-11-11
  • python中的變量如何開辟內(nèi)存

    python中的變量如何開辟內(nèi)存

    python中的變量如何開辟內(nèi)存?今天小編就為大家介紹一下python中變量開辟內(nèi)存的方法。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python ftplib模塊使用代碼實(shí)例

    python ftplib模塊使用代碼實(shí)例

    這篇文章主要介紹了python ftplib模塊使用代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • python標(biāo)準(zhǔn)庫sys和OS的函數(shù)使用方法與實(shí)例詳解

    python標(biāo)準(zhǔn)庫sys和OS的函數(shù)使用方法與實(shí)例詳解

    這篇文章主要介紹了python標(biāo)準(zhǔn)庫sys和OS的函數(shù)使用方法與實(shí)例詳解,需要的朋友可以參考下
    2020-02-02
  • python str()如何將參數(shù)轉(zhuǎn)換為字符串類型

    python str()如何將參數(shù)轉(zhuǎn)換為字符串類型

    這篇文章主要介紹了python str()如何將參數(shù)轉(zhuǎn)換為字符串類型的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • python常用的時(shí)間模塊之datetime模塊示例詳解

    python常用的時(shí)間模塊之datetime模塊示例詳解

    這篇文章主要介紹了python常用的時(shí)間模塊之datetime模塊,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • 用python寫的一個(gè)wordpress的采集程序

    用python寫的一個(gè)wordpress的采集程序

    在學(xué)習(xí)python的過程中,經(jīng)過不斷的嘗試及努力,終于完成了第一個(gè)像樣的python程序,雖然還有很多需要優(yōu)化的地方,但是目前基本上實(shí)現(xiàn)了我所要求的功能,需要的朋友可以參考下
    2016-02-02
  • Python3多線程詳解

    Python3多線程詳解

    使用多線程,可以同時(shí)進(jìn)行多項(xiàng)任務(wù),可以使用戶界面更友好,還可以后臺(tái)執(zhí)行某些用時(shí)長的任務(wù),同時(shí)具有易于通信的優(yōu)點(diǎn)。python3中多線程的實(shí)現(xiàn)使用了threading模塊,它允許同一進(jìn)程中運(yùn)行多個(gè)線程,本文介紹的非常詳細(xì),,需要的朋友可以參考下
    2023-05-05
  • 從局部變量和全局變量開始全面解析Python中變量的作用域

    從局部變量和全局變量開始全面解析Python中變量的作用域

    無論是以類為基礎(chǔ)的面相對(duì)象編程,還是單純函數(shù)內(nèi)部變量的定義,變量的作用域始終是Python學(xué)習(xí)中一個(gè)必須理解掌握的環(huán)節(jié),下面我們從局部變量和全局變量開始全面解析Python中變量的作用域,需要的朋友可以參考下
    2016-06-06

最新評(píng)論