Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python CNN中的Conv2D输出形状太小_Python_Keras_Cnn - Fatal编程技术网

Python CNN中的Conv2D输出形状太小

Python CNN中的Conv2D输出形状太小,python,keras,cnn,Python,Keras,Cnn,第一个Conv2D层中的输入形状应该是(1001001),而输出是(None,9898200)。我知道200和None决定了什么,但我不确定98作为参数。 除此之外,我还随机选择了200个作为我的模型在Conv2D中的过滤器数量。如何为我的模型确定合适数量的过滤器。它是基于反复试验吗?请帮忙。谢谢 from keras.models import Sequential from keras.layers import Dense, Activation, Flatten, Dropout fro

第一个Conv2D层中的输入形状应该是(1001001),而输出是(None,9898200)。我知道200和None决定了什么,但我不确定98作为参数。 除此之外,我还随机选择了200个作为我的模型在Conv2D中的过滤器数量。如何为我的模型确定合适数量的过滤器。它是基于反复试验吗?请帮忙。谢谢

from keras.models import Sequential
from keras.layers import Dense, Activation, Flatten, Dropout
from keras.layers import Conv2D, MaxPooling2D
from keras.callbacks import ModelCheckpoint

print(data.shape[1:])
model = Sequential()
model.add(Conv2D(200, (3,3), input_shape = data.shape[1:]))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size = (2,2)))

model.add(Conv2D(100,(3,3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2,2)))

model.add(Flatten())
model.add(Dropout(0.5))
model.add(Dense(50, activation = 'relu'))
model.add(Dense(2, activation = 'softmax'))

model.compile(loss = 'categorical_crossentropy', optimizer = 'adam', metrics = ['accuracy'])
model.summary()
(1001001) 型号:“顺序_3”


图层(类型)输出形状参数# conv2d_5(conv2d)(无,98,98,200)2000


激活_5(激活)(无、98、98、200)0


最大池2D池5(最大池2(无、49、49、200)0


conv2d_6(conv2d)(无、47、47、100)180100


激活_6(激活)(无、47、47、100)0


最大池2D池6(最大池2(无、23、23、100)0


展平3(展平)(无,52900)0


辍学3(辍学)(无,52900)0


致密_5(致密)(无,50)2645050


致密_6(致密)(无,2)102 总参数:2827252 可培训参数:2827252 不可训练参数:0


padding=“same”
作为参数添加到
conv2d
中,输出维度将与输入维度相同

默认设置为
padding=“valid”
,由于您使用3x3过滤器,步长为1,因此最终得到98x98维度,因为3x3过滤器可以容纳100x100 98次。

padding=“same”
作为参数添加到
conv2d
中,输出维度将与输入维度相同


默认设置为
padding=“valid”
由于您使用的是3x3过滤器,步长为1,因此最终得到的尺寸为98x98,因为您的3x3过滤器可以容纳100x100 98次。

很有意义!非常感谢您如果我的答案对您有帮助,如果您能“接受”我的答案就太好了:D很有意义!非常感谢您如果我的答案对您有帮助,如果您能“接受”m就太好了y回答:D