CIFAR10数据集上的简单CNN

简历
在CIFAR10小图像数据集上训练一个简单的深度CNN。

在CIFAR10小图像数据集中训练一个简单的深度CNN。

它在25次测试中下降到0.65,在50次测试后下降到0.55,尽管在这一点上它仍然是欠拟合的。

如果进行数据扩充,您可以尝试在卷积和密集层中增加过滤器的数量。

图书馆(keras)#参数  --------------------------------------------------------------batch_size<-32时代<-50data_augmentation<-#数据准备  --------------------------------------------------------更多信息请参见?dataset_cifar10cifar10<-dataset_cifar10()
加载Tensorflow 2.9.1版本
#测试和训练输入中的特征尺度RGB值x_train<-cifar10火车x/255x_test<-cifar10测验x/255y_train<-cifar10火车yy_test<-cifar10测验y#定义模型  ----------------------------------------------------------#初始化顺序模型模型<-keras_model_sequential()如果(data_augmentation) {data_augmentationkeras_model_sequential()% > %layer_random_flip“水平”% > %layer_random_rotation0.2模型<-模型% > %data_augmentation()模型<-模型% > %#开始隐藏二维卷积层,被提供32x32像素的图像layer_conv_2d过滤器=16kernel_size =c3.3.),填充=“相同”input_shape =c32323.% > %layer_activation_leaky_relu0.1% > %#第二隐藏层layer_conv_2d过滤器=32kernel_size =c3.3.))% > %layer_activation_leaky_relu0.1% > %#使用最大池layer_max_pooling_2dpool_size =c22))% > %layer_dropout0.25% > %# 2额外的隐藏2D卷积层layer_conv_2d过滤器=32kernel_size =c3.3.),填充=“相同”% > %layer_activation_leaky_relu0.1% > %layer_conv_2d过滤器=64kernel_size =c3.3.))% > %layer_activation_leaky_relu0.1% > %#再次使用最大池layer_max_pooling_2dpool_size =c22))% > %layer_dropout0.25% > %#压平最大过滤输出到特征向量#和饲料到致密层layer_flatten()% > %layer_dense256% > %layer_activation_leaky_relu0.1% > %layer_dropout0.5% > %#从密集层的输出投影到10单位输出层layer_dense10
在layer_conv_2d(警告。,过滤器=64,kernel_size =c(3.,3.)): partial argument match of 'filter' to 'filters'
在layer_conv_2d(警告。,过滤器=32,kernel_size =c(3.,3.),填充= "same"): partial argument match of 'filter' to 'filters'
在layer_conv_2d(警告。,过滤器=32,kernel_size =c(3.,3.)): partial argument match of 'filter' to 'filters'
在layer_conv_2d(警告。,过滤器=16,kernel_size =c(3.,3.),填充= "same", : partial argument match of 'filter' to 'filters'
选择<-optimizer_adamaxlearning_rate =learning_rate_schedule_exponential_decayinitial_learning_rate =5 e - 3decay_rate =0.96decay_steps =1500楼梯=真正的))模型% > %编译损失=loss_sparse_categorical_crossentropyfrom_logits =真正的),优化器=选择,指标=“准确性”#培训  ----------------------------------------------------------------模型% > %适合x_train y_train,batch_size =batch_size,时代=时代,validation_data =列表(x_test y_test),洗牌=真正的模型% > %评估(x_test y_test)
损耗精度0.6197287 0.8200000