Python 记住一张图片需要多少个参数

Python 记住一张图片需要多少个参数,python,validation,parameters,keras,classification,Python,Validation,Parameters,Keras,Classification,因此,我使用Keras(后端Tensorflow)并试图找到一个网络来解决cifar10分类问题。 我做了一个简单的网。我得到了几乎100%的准确率,在我看来,这意味着它完全是过度拟合。 我的网络有337834个可训练参数,我有35000个大小为(32,32,3)(RGB)的训练图像。 我的问题是“记住”一幅图像需要多少个参数。 一个参数是否足以记住一幅图像,还是需要32*32*3,那么一幅图像的每个值都需要一个参数 我的另一个问题是:使用验证拆分是否正确地完成了验证 多谢各位 import k

因此,我使用Keras(后端Tensorflow)并试图找到一个网络来解决cifar10分类问题。 我做了一个简单的网。我得到了几乎100%的准确率,在我看来,这意味着它完全是过度拟合。 我的网络有337834个可训练参数,我有35000个大小为(32,32,3)(RGB)的训练图像。 我的问题是“记住”一幅图像需要多少个参数。 一个参数是否足以记住一幅图像,还是需要32*32*3,那么一幅图像的每个值都需要一个参数

我的另一个问题是:使用验证拆分是否正确地完成了验证

多谢各位

import keras
from keras.layers import *

#Preprocessing__________________________________________________________________________________________________________

traindata = keras.preprocessing.image.ImageDataGenerator(
    rescale=1. / 255,  validation_split=0.7)

input = traindata.flow_from_directory('Cifar10/cifar/train',
                                      target_size=(32, 32), color_mode='rgb', batch_size=50,
                                      subset='validation')
#_______________________________________________________________________________________________________________________



#Building Model_________________________________________________________________________________________________________

model = keras.Sequential()
model.add(Deconv2D(filters=32, kernel_size=3, strides=1, input_shape=(32, 32, 3),activation='relu',padding='same'))
model.add(Deconv2D(filters=32, kernel_size=3, strides=1, activation='relu', padding='same'))
model.add(Flatten())
model.add(Dense(units=10, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='rmsprop', metrics=['accuracy'])
print(model.summary())
#_______________________________________________________________________________________________________________________


#Training_______________________________________________________________________________________________________________

model.fit_generator(input, epochs=100, validation_data=input,
                    callbacks=[keras.callbacks.TensorBoard(write_images=True, log_dir='./'),
                               keras.callbacks.ModelCheckpoint('temp/Cifar10 .h5', save_best_only=True)],
                    validation_steps=100)
摘要产出
我刚刚意识到我犯了一个非常愚蠢的错误。我用Deconv2D代替Conv2D。问题是一样的。
Layer (type)                 Output Shape              Param #   
=================================================================
conv2d_transpose_1 (Conv2DTr (None, 32, 32, 32)        896       
_________________________________________________________________
conv2d_transpose_2 (Conv2DTr (None, 32, 32, 32)        9248      
_________________________________________________________________
flatten_1 (Flatten)          (None, 32768)             0         
_________________________________________________________________
dense_1 (Dense)              (None, 10)                327690    
=================================================================
Total params: 337,834
Trainable params: 337,834
Non-trainable params: 0