Pytorch 分類問題

train loss 不斷下降捍壤,test loss不斷下降续誉,說明網(wǎng)絡仍在學習;

train loss 不斷下降,test loss趨于不變扛吞,說明網(wǎng)絡過擬合;

train loss 趨于不變,test loss不斷下降荆责,說明數(shù)據(jù)集100%有問題;

train loss 趨于不變滥比,test loss趨于不變,說明學習遇到瓶頸做院,需要減小學習率或批量數(shù)目;

train loss 不斷上升盲泛,test loss不斷上升,說明網(wǎng)絡結構設計不當键耕,訓練超參數(shù)設置不當寺滚,數(shù)據(jù)集經(jīng)過清洗等問題。


今天跑程序屈雄,首先數(shù)據(jù)集選擇BPSK QPSK 8QAM 16QAM村视,測試集每種調(diào)制方式190個,驗證集每種調(diào)制方式10個

第一次訓練

首先用ResNet18酒奶,測試得到的結果

Accuracy of? BPSK : 20 %

Accuracy of? QPSK : 10 %

Accuracy of? 8QAM : 70 %

Accuracy of 16QAM : 20 %

分析蚁孔,有可能的原因是數(shù)據(jù)集是存在頻率為0的時候的圖像,也許頻率為零初的噪聲干擾了效果

第二次訓練

生成了一個VGG11模型惋嚎,保存在VGG11_Cyclic_BPSK_QPSK_8QAM_16QAM.pkl杠氢,結果為

Accuracy of? BPSK : 40 %

Accuracy of? QPSK : 40 %

Accuracy of? 8QAM : 30 %

Accuracy of 16QAM : 30 %

平均的正確率為35%

這個結果還可以提升,提升的方式有:

1. 增加iteration次數(shù)

2. 改變學習速率

3. 增加VGGNet的層數(shù)

首先看第一種情況另伍,讓iteration有10次鼻百,那么訓練階段的loss function最后是0.013,此時得到的模型為VGG11_Cyclic_BPSK_QPSK_8QAM_16QAM.pkl摆尝,得到的結果

Accuracy of? BPSK : 50 %

Accuracy of? QPSK : 50 %

Accuracy of? 8QAM : 10 %

Accuracy of 16QAM :? 0 %

平均正確率為27%温艇,降了,

batch size變?yōu)?结榄,那么正確率

Accuracy of? BPSK : 20 %

Accuracy of? QPSK : 40 %

Accuracy of? 8QAM :? 0 %

Accuracy of 16QAM : 10 %

那么是不是可以在學習的過程中降低學習速率中贝。

需要在不同的loss function的情況下,有不同的learning rate臼朗,這是因為

接下來在訓練數(shù)據(jù)的時候邻寿,發(fā)現(xiàn)loss function的值在不斷降低蝎土,一直能降到小于0.01,直到第500個數(shù)據(jù)绣否,loss function又會升到2以上誊涯。這是由于每一類的數(shù)據(jù)一共有500個,這說明數(shù)據(jù)不打亂數(shù)據(jù)的話蒜撮,分類器的loss function會受影響暴构。模型保存為VGG11_Cyclic_BPSK_QPSK_8QAM_16QAM_3.pkl

[10, 950] loss: 0.048

('Learning rate is', 1e-06)

[10,? 1000] loss: 1.798

('Learning rate is', 1e-05)

[10,? 1050] loss: 2.041

('Learning rate is', 1e-05)

[10,? 1100] loss: 1.369

('Learning rate is', 1e-05)

[10,? 1150] loss: 1.073

('Learning rate is', 1e-05)

[10,? 1200] loss: 0.836

('Learning rate is', 1e-05)

[10,? 1250] loss: 0.572

('Learning rate is', 1e-06)

[10,? 1300] loss: 0.315

('Learning rate is', 1e-06)

[10,? 1350] loss: 0.154

('Learning rate is', 1e-06)

[10,? 1400] loss: 0.086

('Learning rate is', 1e-06)

[10,? 1450] loss: 0.056

('Learning rate is', 1e-06)

[10,? 1500] loss: 2.172

('Learning rate is', 1e-05)

[10,? 1550] loss: 1.758

('Learning rate is', 1e-05)

[10,? 1600] loss: 1.339

('Learning rate is', 1e-05)

[10,? 1650] loss: 1.118

('Learning rate is', 1e-05)

[10,? 1700] loss: 0.873

('Learning rate is', 1e-05)

[10,? 1750] loss: 0.629

('Learning rate is', 1e-06)

[10,? 1800] loss: 0.362

('Learning rate is', 1e-06)

[10,? 1850] loss: 0.179

('Learning rate is', 1e-06)

[10,? 1900] loss: 0.100

('Learning rate is', 1e-06)

[10,? 1950] loss: 0.058

('Learning rate is', 1e-06)

所以接下來我打亂數(shù)據(jù)來看,打亂數(shù)據(jù)的方法是

trainloader = torch.utils.data.DataLoader(train_loader, batch_size=define_batch_size, shuffle=False)

里段磨,shuffle=True

現(xiàn)在出現(xiàn)的情況是取逾,同一種調(diào)制方式的圖片剛剛訓練好,或者過擬合了苹支,又被新的其他類別的信號給破壞了砾隅。


梯度下降,紅色的箭頭示意超出最優(yōu)點的梯度

第三次訓練

shuffle設置為True以后债蜜,發(fā)現(xiàn)training loss趨于不變

[1, 50] loss: 1.392

('Learning rate is', 1e-05)

[1,? 100] loss: 1.412

('Learning rate is', 1e-05)

[1,? 150] loss: 1.412

('Learning rate is', 1e-05)

[1,? 200] loss: 1.409

('Learning rate is', 1e-05)

[1,? 250] loss: 1.391

('Learning rate is', 1e-05)

[1,? 300] loss: 1.413

('Learning rate is', 1e-05)

[1,? 350] loss: 1.395

('Learning rate is', 1e-05)

[1,? 400] loss: 1.424

('Learning rate is', 1e-05)

[1,? 450] loss: 1.406

('Learning rate is', 1e-05)

[1,? 500] loss: 1.371

('Learning rate is', 1e-05)

[1,? 550] loss: 1.391

('Learning rate is', 1e-05)

[1,? 600] loss: 1.411

('Learning rate is', 1e-05)

[1,? 650] loss: 1.409

('Learning rate is', 1e-05)

[1,? 700] loss: 1.377

('Learning rate is', 1e-05)

[1,? 750] loss: 1.396

('Learning rate is', 1e-05)

[1,? 800] loss: 1.403

('Learning rate is', 1e-05)

[1,? 850] loss: 1.402

('Learning rate is', 1e-05)

[1,? 900] loss: 1.387

('Learning rate is', 1e-05)

[1,? 950] loss: 1.389

('Learning rate is', 1e-05)

[1,? 1000] loss: 1.394

('Learning rate is', 1e-05)

[1,? 1050] loss: 1.385

('Learning rate is', 1e-05)

[1,? 1100] loss: 1.349

('Learning rate is', 1e-05)

[1,? 1150] loss: 1.384

('Learning rate is', 1e-05)

[1,? 1200] loss: 1.393

('Learning rate is', 1e-05)

[1,? 1250] loss: 1.394

('Learning rate is', 1e-05)

[1,? 1300] loss: 1.385

('Learning rate is', 1e-05)

[1,? 1350] loss: 1.386

('Learning rate is', 1e-05)

[1,? 1400] loss: 1.388

('Learning rate is', 1e-05)

[1,? 1450] loss: 1.387

('Learning rate is', 1e-05)

[1,? 1500] loss: 1.375

('Learning rate is', 1e-05)

[1,? 1550] loss: 1.392

('Learning rate is', 1e-05)

[1,? 1600] loss: 1.411

('Learning rate is', 1e-05)

[1,? 1650] loss: 1.389

('Learning rate is', 1e-05)

[1,? 1700] loss: 1.388

('Learning rate is', 1e-05)

[1,? 1750] loss: 1.385

('Learning rate is', 1e-05)

[1,? 1800] loss: 1.400

('Learning rate is', 1e-05)

[1,? 1850] loss: 1.390

('Learning rate is', 1e-05)

[1,? 1900] loss: 1.408

('Learning rate is', 1e-05)

[1,? 1950] loss: 1.375

('Learning rate is', 1e-05)

看來learning rate調(diào)小一些

這一次learning rate調(diào)整的時候是這樣晴埂,首先在loss高于0.8的時候,learning rate是1e-7寻定,loss介于0.8到0.02之間的時候是1e-8儒洛,但是這次loss降到0.9到1之間的時候就降不下去了,這說明loss在小于1的時候狼速,學習速率還要再降一降琅锻。

這次得到的模型保存為

VGG11_Cyclic_BPSK_QPSK_8QAM_16QAM_4.pkl

Accuracy of BPSK : 40 %

Accuracy of? QPSK : 30 %

Accuracy of? 8QAM : 10 %

Accuracy of 16QAM : 40 %

第四次訓練

這次選擇的是ResNet50,設定是:

loss>1, learning rate=1e-7

0.7<loss<1, learning rate=1e-9

0.1<loss<0.7, learning rate=1e-12

loss<0.1, learning rate=1e-14

這次loss function開始在0.5左右徘徊唐含,比VGGNet效果好浅浮,既然loss function在0.5左右徘徊,

[10, 1450] loss: 0.481

('Learning rate is', 1e-12)

[10,? 1500] loss: 0.541

('Learning rate is', 1e-12)

[10,? 1550] loss: 0.501

('Learning rate is', 1e-12)

[10,? 1600] loss: 0.576

('Learning rate is', 1e-12)

[10,? 1650] loss: 0.543

('Learning rate is', 1e-12)

[10,? 1700] loss: 0.473

('Learning rate is', 1e-12)

[10,? 1750] loss: 0.562

('Learning rate is', 1e-12)

[10,? 1800] loss: 0.579

('Learning rate is', 1e-12)

[10,? 1850] loss: 0.504

('Learning rate is', 1e-12)

[10,? 1900] loss: 0.490

('Learning rate is', 1e-12)

[10,? 1950] loss: 0.451

('Learning rate is', 1e-12)

那么就要在0.5左右再設置一個門限捷枯,當loss 低于0.5的時候滚秩,learning rate還要再降,而且0.7有點低淮捆,可以設定為0.8郁油,保存的模型是


現(xiàn)在的設定是

######################################################################

# Define the learning rate

change_learning_rate_mark1 = 2.2

learning_rate1 = 1e-4

change_learning_rate_mark2 = 2.0

learning_rate2 = 9e-5

change_learning_rate_mark3 = 1.8

learning_rate3 = 8e-5

change_learning_rate_mark4 = 1.6

learning_rate4 = 7e-5

change_learning_rate_mark5 = 1.4

learning_rate5 = 6e-5

change_learning_rate_mark6 = 1.2

learning_rate6 = 5e-5

change_learning_rate_mark7 = 1

learning_rate7 = 4e-5

change_learning_rate_mark8 = 0.8

learning_rate8 = 3e-5

change_learning_rate_mark9 = 0.6

learning_rate9 = 2e-5

change_learning_rate_mark10 = 0.4

learning_rate10 = 1e-5

change_learning_rate_mark11 = 0.2

learning_rate11 = 9e-6

change_learning_rate_mark12 = 0.08

learning_rate12 = 8e-6

learning_rate13 = 7e-6

stop_loss_function = 0.001

# ==========================================================

最后loss function到了0.3左右

('Learning rate is', 9e-06)

[10,? 1600] loss: 0.374

('Learning rate is', 9e-06)

[10,? 1650] loss: 0.451

('Learning rate is', 1e-05)

[10,? 1700] loss: 0.478

('Learning rate is', 1e-05)

[10,? 1750] loss: 0.417

('Learning rate is', 1e-05)

[10,? 1800] loss: 0.344

('Learning rate is', 9e-06)

[10,? 1850] loss: 0.301

('Learning rate is', 9e-06)

[10,? 1900] loss: 0.354

('Learning rate is', 9e-06)

[10,? 1950] loss: 0.317

('Learning rate is', 9e-06)

Finished Training

得到結果

Accuracy of BPSK : 47 %

Accuracy of? QPSK : 38 %

Accuracy of? 8QAM : 42 %

Accuracy of 16QAM : 52 %

第五次訓練

接下來試一試ResNet152,這次的learning rate按照x^{-2}來遞減

######################################################################

# Define the learning rate

change_learning_rate_mark1 =2.2

learning_rate1 =1e-3

change_learning_rate_mark2 =2.0

learning_rate2 =5e-4

change_learning_rate_mark3 =1.8

learning_rate3 =1.1e-4

change_learning_rate_mark4 =1.6

learning_rate4 =0.0625e-5

change_learning_rate_mark5 =1.4

learning_rate5 =0.04e-5

change_learning_rate_mark6 =1.2

learning_rate6 =0.0278e-5

change_learning_rate_mark7 =1

learning_rate7 =0.0204e-5

change_learning_rate_mark8 =0.8

learning_rate8 =0.0156e-5

change_learning_rate_mark9 =0.6

learning_rate9 =0.0123e-5

change_learning_rate_mark10 =0.4

learning_rate10 =1e-7

change_learning_rate_mark11 =0.2

learning_rate11 =0.0083e-6

change_learning_rate_mark12 =0.08

learning_rate12 =0.0069e-6

learning_rate13 =0.0059e-6

stop_loss_function =0.001

# ==========================================================

在0.8的地方還是降不下去了攀痊,所以loss改成x^{-4}來遞減桐腌,得到的結果

[10, 1450] loss: 1.561

('Learning rate is', 8.4999e-08)

[10,? 1500] loss: 1.543

('Learning rate is', 8.4999e-08)

[10,? 1550] loss: 1.589

('Learning rate is', 8.4999e-08)

[10,? 1600] loss: 1.472

('Learning rate is', 3.8147e-08)

[10,? 1650] loss: 1.574

('Learning rate is', 8.4999e-08)

[10,? 1700] loss: 1.755

('Learning rate is', 6.4e-07)

[10,? 1750] loss: 1.410

('Learning rate is', 3.8147e-08)

[10,? 1800] loss: 1.533

('Learning rate is', 8.4999e-08)

[10,? 1850] loss: 1.497

('Learning rate is', 3.8147e-08)

[10,? 1900] loss: 1.544

('Learning rate is', 8.4999e-08)

[10,? 1950] loss: 1.472

('Learning rate is', 3.8147e-08)

Finished Training

模型保存為ResNet50_Cyclic_BPSK_QPSK_8QAM_16QAM3.pkl

第六次訓練,這次選擇的是ResNet152苟径,設定為

######################################################################

# Define the learning rate

change_learning_rate_mark1 =2

learning_rate1 =1e-2

change_learning_rate_mark2 =1.5

learning_rate2 =1.5625e-3

change_learning_rate_mark3 =1.0

learning_rate3 =1.3717e-4

change_learning_rate_mark4 =0.5

learning_rate4 =2.4414e-5

change_learning_rate_mark5 =0.1

learning_rate5 =6.4e-6

change_learning_rate_mark6 =0.05

learning_rate6 =2.1433e-6

change_learning_rate_mark7 =0.01

learning_rate7 =8.4999e-7

change_learning_rate_mark8 =0.005

learning_rate8 =3.8147e-7

change_learning_rate_mark9 =0.001

learning_rate9 =1.8817e-7

change_learning_rate_mark10 =0.0005

learning_rate10 =1e-7

change_learning_rate_mark11 =0.0001

learning_rate11 =5.6447e-8

change_learning_rate_mark12 =0.00005

learning_rate12 =3.34909e-8

learning_rate13 =2.0718e-8

stop_loss_function =0.001

# ==========================================================

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末案站,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子棘街,更是在濱河造成了極大的恐慌蟆盐,老刑警劉巖承边,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異石挂,居然都是意外死亡博助,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門痹愚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來富岳,“玉大人,你說我怎么就攤上這事拯腮〗咽剑” “怎么了?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵疾瓮,是天一觀的道長脖镀。 經(jīng)常有香客問我,道長狼电,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任弦蹂,我火速辦了婚禮肩碟,結果婚禮上,老公的妹妹穿的比我還像新娘凸椿。我一直安慰自己削祈,他們只是感情好,可當我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布脑漫。 她就那樣靜靜地躺著髓抑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪优幸。 梳的紋絲不亂的頭發(fā)上吨拍,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天,我揣著相機與錄音网杆,去河邊找鬼羹饰。 笑死,一個胖子當著我的面吹牛碳却,可吹牛的內(nèi)容都是我干的队秩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼昼浦,長吁一口氣:“原來是場噩夢啊……” “哼馍资!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起关噪,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤鸟蟹,失蹤者是張志新(化名)和其女友劉穎乌妙,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體戏锹,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡冠胯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了锦针。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荠察。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖奈搜,靈堂內(nèi)的尸體忽然破棺而出悉盆,到底是詐尸還是另有隱情,我是刑警寧澤馋吗,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布焕盟,位于F島的核電站,受9級特大地震影響宏粤,放射性物質(zhì)發(fā)生泄漏脚翘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一绍哎、第九天 我趴在偏房一處隱蔽的房頂上張望来农。 院中可真熱鬧,春花似錦崇堰、人聲如沸沃于。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽繁莹。三九已至,卻和暖如春特幔,著一層夾襖步出監(jiān)牢的瞬間咨演,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工敬辣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留雪标,地道東北人。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓溉跃,卻偏偏與公主長得像村刨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子撰茎,可洞房花燭夜當晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容