我正在准备训练和测试数据,这些数据将用于我使用VGG16的面部表情识别模型。经过一些研究,我已经知道所需的数据格式应该是(大小,2242243)。到目前为止,我得到了:
X_train_ (26859, 2304, 3)
y_train (26859,)
X_test (1044, 2304, 3)
y_test (1044,)
但当我试图通过
X_train.reshape((26859, 224, 224, 3))
我得到
ValueError: cannot reshape array of size 185649408 into shape (26859,224,224,3)
我认为我的y_训练和y_测试都很好,但我应该如何处理X_训练和X_测试以运行训练?我离目标很远吗
要解决此问题,应首先使用
reshape
函数将数据转换为具有形状(26859, 48, 48, 3)
的张量,如下所示:之后,由于VGG16网络接受形状为
(size, 224, 224, 3)
的张量,因此应该使用零填充向训练和测试图像的边界插入额外的零,以增加它们的宽度和高度对输入张量进行零填充的可用函数之一是
tf.keras.layers.ZeroPadding2D
。它是一个额外的层,将零填充应用于输入张量有关ZeroPadding2D层的更多信息,请参阅其文档tf.keras.layers.ZeroPadding2D API DOC
相关问题 更多 >
编程相关推荐