Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.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 当图像的尺寸为(2048*1536)时,在序列模型的第一层中应该采用什么输入形状_Python_Keras_Deep Learning_Dataset - Fatal编程技术网

Python 当图像的尺寸为(2048*1536)时,在序列模型的第一层中应该采用什么输入形状

Python 当图像的尺寸为(2048*1536)时,在序列模型的第一层中应该采用什么输入形状,python,keras,deep-learning,dataset,Python,Keras,Deep Learning,Dataset,我有一个图像数据集,每个图像的维数为=(20481536)。在ImageDataGenerator中,我从目录中获取数据时使用了相同的目标大小,即(20481536),但在制作顺序模型第一层时,我应该使用什么输入形状??它将与(20481536)相同,或者我可以采用任何类似(224224)的随机形状。您可能应该通过生成大小为3145728(2048*1536)的向量来展平输入数据。如果数据位于numpy数组中,则可以使用np.flant()() 然后,您的第一层可以具有与此向量相同的形状。我将首

我有一个图像数据集,每个图像的维数为=(20481536)。在ImageDataGenerator中,我从目录中获取数据时使用了相同的目标大小,即(20481536),但在制作顺序模型第一层时,我应该使用什么输入形状??它将与(20481536)相同,或者我可以采用任何类似(224224)的随机形状。

您可能应该通过生成大小为3145728(2048*1536)的向量来展平输入数据。如果数据位于numpy数组中,则可以使用
np.flant()
()


然后,您的第一层可以具有与此向量相同的形状。

我将首先使用
cv2.resize()
调整图像的大小。你真的需要从这么大的图像中获得所有的信息吗

例如,对于顺序模型,如下所示:

model=models.Sequential()
添加(layers.Conv2D(32,(3,3),activation='relu',input_shape=(高度、宽度、ndim)))
…

其中,
height
width
表示您的输入图像尺寸,对于灰度图像,
ndim=1
,对于彩色图像,
ndim=3

第一层(即输入)应该是数据集中的特征数。关于图像,每个像素被视为一个特征。因此,在您的情况下,图像尺寸为(20481536),您需要将其展平以获得像素总数(即特征)。如果是灰度图像,则为(2048*1536*1);如果是彩色图像,则为(2048*1536*3)

此外,在顺序模型创建过程中,您使用来自TensorFlow/KerasAPI的以下代码,它将考虑您的输入层大小

tf.keras.models.Sequential([tf.keras.layers.Flatten(),
                       tf.keras.layers.Dense(128,activation=tf.nn.relu) #1st hidden layer
                       tf.keras.layers.Dense(128,activation=tf.nn.relu) #2nd hidden layer
                       tf.keras.layers.Dense(2,activation=tf.nn.softmax)])#output layer

不,我不需要图像的所有信息,但是如果在任何情况下,我需要这样一个大图像的所有信息,那么我应该给出与目标大小相同的输入形状吗?好的,如果图像中需要超小的对象,那么你可能需要一个大图像和一个真正的深模型。但是,我会尝试不同的大小调整形状,如
(200150)
(100,75)
-错误和尝试。-请使用
model.summary()
查看您的模型。图层将显示图像在每个图层上的大小。然后想一想图像中对你很重要的信息:从这么小的图像中仍然可以检索到信息吗?对于这些问题,我使用keras预训练模型,那么我如何在其中检查它???好的,我会试试这个