Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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 Keras CNN与一维数据_Python_Tensorflow_Keras_Cnn - Fatal编程技术网

Python Keras CNN与一维数据

Python Keras CNN与一维数据,python,tensorflow,keras,cnn,Python,Tensorflow,Keras,Cnn,我的数据的每个实例都是一个包含72个元素的数组。我试图构建一个1D cnn来进行分类,但我得到了以下错误: 检查目标时出错:预期密集_31有3维,但得到了形状为(3560,1)的数组 这是我的代码: training_features = np.load('features.npy') training_labels = np.load('labels.npy') training_features = training_features.reshape(-1, 72, 1) model =

我的数据的每个实例都是一个包含72个元素的数组。我试图构建一个1D cnn来进行分类,但我得到了以下错误: 检查目标时出错:预期密集_31有3维,但得到了形状为(3560,1)的数组

这是我的代码:

training_features = np.load('features.npy')
training_labels = np.load('labels.npy')
training_features = training_features.reshape(-1, 72, 1)

model = Sequential()
model.add(Conv1D(64, 3, activation='relu', input_shape=(72, 1)))
model.add(MaxPooling1D(2))
model.add(Conv1D(64, 3, activation='relu'))
model.add(MaxPooling1D(2))
model.add(Dense(64, activation='relu'))
model.add(Dense(28, activation='softmax'))

model.compile(Adam(lr=.0001), loss='categorical_crossentropy', metrics=['accuracy'])
model.fit(training_features, training_labels, batch_size=32, epochs=3, validation_split=0.1)

我是初学者。对不起,如果我理解得不好。

问题是,你从一个三维层开始,但在下面的任何层中都不会减少维度。
尝试添加
模型。在第一个密集层之前添加(flatte())

问题是,您从三维层开始,但在以下任何层中都不会降低维度。
尝试添加
模型。在第一个密集层之前添加(flatte())

检查输入是否正确。您可以共享两个*.npy文件(或者至少共享输入的形状)


希望这有帮助。谢谢

检查您的输入是否正确。您可以共享两个*.npy文件(或者至少共享输入的形状)


希望这有帮助。谢谢

谢谢你的回答!现在我得到了这个错误:检查目标时出错:预期稠密_2具有形状(28),但得到了具有形状(1)的数组。我的数据实际上不是图像。每个实例是由72个元素组成的数组。我应该如何配置输入形状?谢谢您的回答!现在我得到了这个错误:检查目标时出错:预期稠密_2具有形状(28),但得到了具有形状(1)的数组。我的数据实际上不是图像。每个实例是由72个元素组成的数组。我应该如何配置输入形状?谢谢您的帮助!training_功能的形状是(3560,72,1)。标签的形状是什么?training_标签的形状是(3560,)请使用
loss='sparse\u categorical\u crossentropy'
Hell是的,它很有效!非常感谢。你能告诉我我犯了什么错误吗?谢谢你的帮助!training_功能的形状是(3560,72,1)。标签的形状是什么?training_标签的形状是(3560,)请使用
loss='sparse\u categorical\u crossentropy'
Hell是的,它很有效!非常感谢。你能告诉我我犯了什么错误吗?
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv1D, Dense, MaxPooling1D, Flatten
from tensorflow.keras.optimizers import Adam

model = Sequential()
model.add(Conv1D(64, 3, activation='relu', input_shape=(72, 1)))
model.add(MaxPooling1D(2))
model.add(Conv1D(64, 3, activation='relu'))
model.add(MaxPooling1D(2))
model.add(Flatten())
model.add(Dense(64, activation='relu'))
model.add(Dense(28, activation='softmax'))

model.compile(Adam(lr=.0001), loss='categorical_crossentropy', metrics=['accuracy'])
#model.fit(training_features, training_labels, batch_size=32, epochs=3, validation_split=0.1)

model.summary()

Model: "sequential_4"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
conv1d_7 (Conv1D)            (None, 70, 64)            256       
_________________________________________________________________
max_pooling1d_6 (MaxPooling1 (None, 35, 64)            0         
_________________________________________________________________
conv1d_8 (Conv1D)            (None, 33, 64)            12352     
_________________________________________________________________
max_pooling1d_7 (MaxPooling1 (None, 16, 64)            0         
_________________________________________________________________
flatten (Flatten)            (None, 1024)              0         
_________________________________________________________________
dense_4 (Dense)              (None, 64)                65600     
_________________________________________________________________
dense_5 (Dense)              (None, 28)                1820      
=================================================================
Total params: 80,028
Trainable params: 80,028
Non-trainable params: 0
_________________________________________________________________