Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.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 Kfold交叉验证值错误:形状(无,1)和(无,3)不兼容_Python_Tensorflow_Keras_K Fold - Fatal编程技术网

Python Kfold交叉验证值错误:形状(无,1)和(无,3)不兼容

Python Kfold交叉验证值错误:形状(无,1)和(无,3)不兼容,python,tensorflow,keras,k-fold,Python,Tensorflow,Keras,K Fold,我正在对X光图像执行KFold交叉验证。 我有一个数据集的csv文件,其中基本上有一个名为“Label_1_Virus_category”的列,有3个值(正常值、细菌值、病毒值)中的一个。 所有图像都在Train And Test文件夹中(没有任何其他子文件夹) 因此,我需要在密集的模型层中有3个输出节点 df.info给出以下输出: ID object X_ray_image_name object Label

我正在对X光图像执行KFold交叉验证。 我有一个数据集的csv文件,其中基本上有一个名为“Label_1_Virus_category”的列,有3个值(正常值、细菌值、病毒值)中的一个。 所有图像都在Train And Test文件夹中(没有任何其他子文件夹) 因此,我需要在密集的模型层中有3个输出节点

df.info
给出以下输出:

ID                        object
X_ray_image_name          object
Label                     object
Dataset_type              object
Label_2_Virus_category    object
Label_1_Virus_category    object
dtype: object
所以我创建dataframe作为-

my_input_col = ['X_ray_image_name']
X = train_data[train_data['Dataset_type']=='TRAIN'][my_input_col]
print(X.shape)
my_out_col = ['Label_1_Virus_category']
Y = train_data[train_data['Dataset_type']=='TRAIN'][my_out_col]
错误-

---> 34         history = model.fit(train_data_generator, epochs=20, batch_size=batch_size, callbacks=callbacks_list, validation_data=valid_data_generator)

ValueError: Shapes (None, 1) and (None, 3) are incompatible  
我的
列车数据\u生成器
有效数据\u生成器
是-

train_data_generator = idg.flow_from_dataframe(training_data, directory = image_dir,
                        x_col = "X_ray_image_name", y_col = "Label_1_Virus_category",
                        class_mode = "raw", shuffle = True)
valid_data_generator  = idg.flow_from_dataframe(validation_data, directory = image_dir,
                        x_col = "X_ray_image_name", y_col = "Label_1_Virus_category",
                        class_mode = "raw", shuffle = True)
如果我将最终致密层中的单位从3改为1,那么这个问题就解决了,但我觉得这是错误的

多谢各位