CIFAR-10のトレインニング・その一
データセットの紹介
CIFAR-10は10類の物のデータセットである。
CIFARの完全の名前は知らないけど「なぜあいつのホムページにはこういうのは全然見つかなかったの?」、とりあえず、CIFARはカナダのリサーチセンターです。
CIFARのホムページはこっち:CIFARの公式サイト
CIFAR-10またCIFAR-100は全てこいつ作り出した公開データセットですし、CIFAR-100の難しさが全く違いのレベルだ。
そして、初心者によって、CIFAR-10はCIFAR-100より適当な入門挑戦だと思います。
ニューラルネットワークの建造
基本タイプはCNNを選んでください、続いてのは、具体的なパラメーター、例はこちらです。
def Build_IINN(n_class):
dim_x = [1, None, None, 3]
dim_y = [1, n_class]
# configure the convolution layers
n_conv = 8
conv_config = [None] * n_conv
for i in range(n_conv):
conv_config[i] = new_conv_config(3, 3, i%2+1, i%2+1, 8<<(i//2))
# configure the fully connectied layers
n_fc = 3
fc_config = [None] * n_fc
for i in range(n_fc):
fc_config[i] = new_fc_config(16 << i)
# configure the special module : feedback attention
n_att = 3
att_config = [None] * n_att
for i in range(n_att):
att_config[i] = new_fc_config(64 >> i)
return IINN(dim_x, dim_y, conv_config, fc_config, att_config)
研究のため、一応batch normを利用しない。
トレインニングは300エポックでした。結果は悪いです。
TRAINING STAGE#1:
TRAIN = 1.00000 0.99968 0.99954 0.99922 0.99824 0.99698 0.98404
TEST = 0.66570 0.66420 0.66380 0.66330 0.66300 0.65990 0.65810