生活随笔
收集整理的這篇文章主要介紹了
【Kaggle-MNIST之路】CNN再添加一个层卷积(八)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
簡述
- 基于之前的框架
- 【Kaggle-MNIST之路】自定義程序結構(七)
- 得分:0.9914
- 排名:900+
代碼
import torch
.nn
as nn
import torch
class CNN(nn
.Module
):def __init__(self
):super(CNN
, self
).__init__
()self
.N
= 1self
.layer1
= nn
.Sequential
(nn
.Conv2d
(in_channels
=1,out_channels
=32,kernel_size
=3, stride
=1, ),nn
.ReLU
(),nn
.BatchNorm2d
(32),nn
.Conv2d
(in_channels
=32,out_channels
=32,kernel_size
=3, stride
=1, ),nn
.ReLU
(),nn
.BatchNorm2d
(32),nn
.Conv2d
(in_channels
=32,out_channels
=32,kernel_size
=5, stride
=2, padding
=2,),nn
.ReLU
(),nn
.BatchNorm2d
(32),nn
.Dropout
(0.4),)self
.layer2
= nn
.Sequential
(nn
.Conv2d
(in_channels
=32,out_channels
=64,kernel_size
=3, stride
=1, ),nn
.ReLU
(),nn
.BatchNorm2d
(64),nn
.Conv2d
(in_channels
=64,out_channels
=64,kernel_size
=3, stride
=1, ),nn
.ReLU
(),nn
.BatchNorm2d
(64),nn
.Conv2d
(in_channels
=64,out_channels
=64,kernel_size
=5, stride
=2, padding
=2,),nn
.ReLU
(),nn
.BatchNorm2d
(64),nn
.Dropout
(0.4),)self
.layer3
= nn
.Sequential
(nn
.Conv2d
(in_channels
=64,out_channels
=128,kernel_size
=4, stride
=1, ),nn
.ReLU
(),nn
.BatchNorm2d
(128),)self
.layer4
= nn
.Linear
(128 * self
.N
, 10)def forward(self
, x
):con
= torch
.Tensor
()for i
in range(self
.N
):temp
= x
.clone
()temp
= self
.layer1
(temp
)temp
= self
.layer2
(temp
)temp
= self
.layer3
(temp
)con
= torch
.cat
((con
, temp
), dim
=1) con
= con
.view
(con
.size
(0), -1)con
= self
.layer4
(con
)return con
總結
以上是生活随笔為你收集整理的【Kaggle-MNIST之路】CNN再添加一个层卷积(八)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。