Я читаю в CSV-файле с пандами и даю имена столбцов, хранящиеся в colname
colnames=['file', 'label']
# Read data from file
data = pd.read_csv('./Hand_Annotations_2.csv',names=colnames, header=None)
# Preview the first 5 lines of the loaded data
data.head()
Затем я использую ImageDataGenerator()
и flow_fromdataframe()
для получения пакетов данных
train_generator=datagen.flow_from_dataframe(dataframe=data,
directory=None,
x_col=colnames[0],
y_col=colnames[1],
class_indices=IDmap,
class_mode="categorical", target_size=(224,224), batch_size=32)
Но я получаю сообщение об ошибке, как показано ниже:
TypeError: Если значения столбца class_mode = "категорический", y_col = "label" должны иметь тип string, list или tuple.
Но мой y_col
- это строка.Я получаю ту же ошибку, если просто ввести "label"
.Кажется, он также работает с x_col
.
Может кто-нибудь указать мне на мою ошибку?
Спасибо
Решение
читать csv с помощью dtype, например, str:
data = pd.read_csv('./Hand_Annotations_2.csv',dtype=str,names=colnames, header=None)