【发布时间】:2021-12-25 06:46:03
【问题描述】:
我对 CNN 和 python 还很陌生,我正在尝试对包含 3 个类的图像进行分类。每当我尝试训练我的模型时,我都会收到错误:TypeError:无法将 0.6 转换为 dtype int64 的 EagerTensor。我不完全确定该怎么做或如何解决它,希望能提供任何帮助。
代码如下:
train_gen=ImageDataGenerator(rescale=1./255)
validation_gen=ImageDataGenerator(rescale=1./255)
train_generator=train_gen.flow_from_dataframe(
train_df,
"/Users/danieladegborioye/Documents/school/FIFTH YEAR/ENGR 418 Applied Machine learning /Lego_dataset_1/training/",
x_col='filename',
y_col='category',
target_size=(150,150),
class_mode="categorical",
batch_size=32
)
validation_generator=validation_gen.flow_from_dataframe(
validate_df,
"/Users/danieladegborioye/Documents/school/FIFTH YEAR/ENGR 418 Applied Machine learning /Lego_dataset_1/training/",
x_col='filename',
y_col='category',
target_size=(150,150),
class_mode="categorical",
batch_size=32
)
epochs=10
batch_size=10
history=modell.fit(
train_generator,
epochs=epochs,
validation_data=validation_generator,
validation_steps=total_validate/batch_size,
steps_per_epoch=total_train/batch_size,
callbacks=callbacks
)
【问题讨论】:
-
不确定是什么问题,但我建议您确保类别列中的值是字符串。使用 train_df['category']=train_df['category'].astype(str)
标签: python tensorflow conv-neural-network classification image-classification