【发布时间】:2017-12-20 14:03:16
【问题描述】:
我正在尝试使用 Keras 来构建我的第一个神经网络。我的经验为零,我似乎无法弄清楚为什么我的维度不正确。我无法从他们的文档中弄清楚这个错误在抱怨什么,甚至是什么层导致了它。
我的模型接受一个 32 字节的数字数组,并且应该在另一边给出一个布尔值。我想对输入字节数组进行一维卷积。
arr1 是 32 字节数组,arr2 是布尔数组。
inputData = np.array(arr1)
inputData = np.expand_dims(inputData, axis = 2)
labelData = np.array(arr2)
print inputData.shape
print labelData.shape
model = k.models.Sequential()
model.add(k.layers.convolutional.Convolution1D(32,2, input_shape = (32, 1)))
model.add(k.layers.Activation('relu'))
model.add(k.layers.convolutional.Convolution1D(32,2))
model.add(k.layers.Activation('relu'))
model.add(k.layers.convolutional.Convolution1D(32,2))
model.add(k.layers.Activation('relu'))
model.add(k.layers.convolutional.Convolution1D(32,2))
model.add(k.layers.Activation('relu'))
model.add(k.layers.core.Dense(32))
model.add(k.layers.Activation('sigmoid'))
model.compile(loss = 'binary_crossentropy',
optimizer = 'rmsprop',
metrics=['accuracy'])
model.fit(
inputData,labelData
)
形状打印的输出是 (1000, 32, 1) 和 (1000,)
我收到的错误是:
Traceback(最近一次调用最后一次):文件“cnn/init.py”,行 50,在 inputData,labelData 文件 "/home/steve/Documents/cnn/env/local/lib/python2.7/site-packages/keras/models.py", 第 863 行,合适 initial_epoch=initial_epoch)文件“/home/steve/Documents/cnn/env/local/lib/python2.7/site-packages/keras/engine/training.py”, 第 1358 行,合适 batch_size=batch_size) 文件 "/home/steve/Documents/cnn/env/local/lib/python2.7/site-packages/keras/engine/training.py", 第 1238 行,在 _standardize_user_data 中 exception_prefix='target') 文件 "/home/steve/Documents/cnn/env/local/lib/python2.7/site-packages/keras/engine/training.py", 第 128 行,在 _standardize_input_data 中 str(array.shape)) ValueError: 检查目标时出错:预期activation_5 有 3 个维度,但得到了形状为 (1000, 1) 的数组
【问题讨论】:
标签: python machine-learning neural-network keras convolution