python - 负维度大小由 1 减去 2 导致的 'conv2d_2/convolution' (op: 'Conv2D') 输入形状:[?,174,1,40], [2,2,40,16]
问题描述
%store -r x_train
%store -r x_test
%store -r y_train
%store -r y_test
%store -r yy
%store -r le
import numpy as np
import keras
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation, Flatten
from keras.layers import Convolution2D, Conv2D, MaxPooling2D,
GlobalAveragePooling2D
from keras.optimizers import Adam
from keras.utils import np_utils
from sklearn import metric
num_rows = 40
num_columns = 174
num_channels = 1
x_train = x_train.reshape(x_train.shape[0],num_rows , num_columns,
num_channels)
x_test = x_test.reshape(x_test.shape[0], num_rows,
num_columns,num_channels )
num_labels = yy.shape[1]
filter_size = 2
model = Sequential()
model.add(Conv2D(filters=16, kernel_size=2,
activation='relu',input_shape=(40,174,1)))
model.add(MaxPooling2D(pool_size=2))
model.add(Dropout(0.2))
model.add(Conv2D(filters=32, kernel_size=2, activation='relu'))
model.add(MaxPooling2D(pool_size=2))
model.add(Dropout(0.2))
model.add(Conv2D(filters=64, kernel_size=2, activation='relu'))
model.add(MaxPooling2D(pool_size=2))
model.add(Dropout(0.2))
model.add(Conv2D(filters=128, kernel_size=2, activation='relu'))
model.add(MaxPooling2D(pool_size=2))
model.add(Dropout(0.2))
model.add(GlobalAveragePooling2D())
model.add(Dense(num_labels, activation='softmax'))
这是完整的代码。当我尝试创建 CNN 模型时,我遇到了这个错误。
InvalidArgumentError Traceback (most recent call
last)
~/arshin/home/arshin/envs/aiml/lib/python3.6/site-
packages/tensorflow/python/framework/ops.py in _create_c_op(graph,
node_def, inputs, control_inputs)
1566 try:
-> 1567 c_op = c_api.TF_FinishOperation(op_desc)
1568 except errors.InvalidArgumentError as e:
InvalidArgumentError: Negative dimension size caused by subtracting 2
from 1 for 'conv2d_1/convolution' (op: 'Conv2D') with input shapes:
[?,174,1,40], [2,2,40,16].
代码不包含错误。为什么会发生这种情况.......这是因为 tensorflow 版本还是什么.. 我尝试了很多东西,但我无法纠正错误。这段代码有什么问题..
解决方案
推荐阅读
- visual-studio-code - 检查选择的最后一行的值 - vscode-api
- javascript - 如何使用 javascript map() 方法展平 d3.nest?
- python - 如何使用多处理加载大型视频数据集?
- ios - 有效处理多个 Apple Watch 并发症的数据调用的最佳方法?
- javascript - 从 jquery 代码中调用 vue v-model
- excel - VBA“If then”语句在列中查找特定值,如果为真,则另一列中的值将被更改
- javascript - 在异步代码完成执行后触发的电子 webview 的自定义事件
- powerbi - 如何通过 Power BI 参数将数字作为文本传递?
- javascript - 将 SSO 与使用 create-react-app 创建的应用集成
- c# - 如何使用 IndexOf 获取字符串中的两个单独部分