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