Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.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/8/python-3.x/18.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 我在使用cnn对超过10000个班级进行分类时遇到了一个问题。我怎样才能解决它? 这是我使用conv1d的模型_Python_Python 3.x_Tensorflow_Keras_Deep Learning - Fatal编程技术网

Python 我在使用cnn对超过10000个班级进行分类时遇到了一个问题。我怎样才能解决它? 这是我使用conv1d的模型

Python 我在使用cnn对超过10000个班级进行分类时遇到了一个问题。我怎样才能解决它? 这是我使用conv1d的模型,python,python-3.x,tensorflow,keras,deep-learning,Python,Python 3.x,Tensorflow,Keras,Deep Learning,该模型有5000个类,因此,如何使用tensorflow或keras创建层 如果我增加历代,我的系统将被加载并挂起。这里我使用了adam优化器和均方误差损失函数,所以我得到了非常低的精度。我怎样才能修好它 ''' 纪元=3 批量大小=35 model = Sequential() print(x_train.shape[1],1) model.add(Conv1D(16, 3, padding='same', activation

该模型有5000个类,因此,如何使用tensorflow或keras创建层 如果我增加历代,我的系统将被加载并挂起。这里我使用了adam优化器和均方误差损失函数,所以我得到了非常低的精度。我怎样才能修好它 ''' 纪元=3 批量大小=35

model = Sequential()
print(x_train.shape[1],1)
                                
model.add(Conv1D(16, 3, padding='same', activation='relu', input_shape=(128,1)))#x.shape[1:])) # Input shape: (96, 96, 1)
model.add(MaxPooling1D(pool_size=1))
                              
model.add(Conv1D(32, 3, padding='same', activation='relu'))
model.add(MaxPooling1D(pool_size=1))
model.add(Dropout(0.25))                            
model.add(Conv1D(64, 3, padding='same', activation='relu'))
model.add(MaxPooling1D(pool_size=1))                             
model.add(Conv1D(128, 3, padding='same', activation='relu'))
model.add(MaxPooling1D(pool_size=1))                             
model.add(Conv1D(256, 3, padding='same', activation='relu'))
model.add(MaxPooling1D(pool_size=1))                             
# Convert all values to 1D array
model.add(Flatten())                             
model.add(Dense(512, activation='relu'))
model.add(Dropout(0.2))
model.add(Dense(5823))


##checkpointer = ModelCheckpoint(filepath='checkpoint1.hdf5', verbose=1, save_best_only=True)

# Complie Model
model.compile(optimizer='adam', loss='mean_squared_error', metrics=['accuracy'])
history=model.fit(x_train, y_train_binary,
          batch_size=batch_size,
          epochs=epochs,
          verbose=1,
          validation_data=(x_test, y_test_binary))

''

您必须使用类似于
softmax
的功能激活最后一层(muli分类的最佳选择)。正如评论中所说,最好使用损失函数
categorical\u crossentropy
在您的情况下,如果您的标签是一个热编码的(如果不使用)。

您好,请告诉我输入的大小好吗?这是什么类型的数据,你想预测什么?在你的数据上写下更多的细节。一个建议是删除所有打印语句,并使用model.summary()获取模型层以及每个层中带有输入和输出数据形状的参数数量。model.summary()将非常有用。至于损失函数,使用分类交叉熵进行多类分类。对于5000多个类,请确保您有足够的数据来获得适当的精度。我是从图像中提取数据的。数据集有128列,最后一层尝试了16000行SI作为softmax,损失函数作为分类交叉熵。在这种情况下,我得到的损失较少,但准确性没有提高。如果我试图增加层大小和批量大小系统出现问题,我认为问题来自
y\u train\u binary
y\u test\u binary
,请提供更多信息并编辑您的问题