我的任务是头影测量地标定位。 我的图像路径和坐标显示在此数据框中。
文件名 | X1 | Y1 |
---|---|---|
/Images_data/binary0006.png | 89 | 80 |
/Images_data/binary0008.png | 37 | 70 |
/Images_data/binary0007.png | 50 | 76 |
/Images_data/binary0003.png | 55 | 92 |
/Images_data/binary0005.png | 91 | 64 |
/Images_data/binary0004.png | 100 | 76 |
如何准备用于 model.fit 训练的数据集? 我尝试使用 ImageDataGenerator 创建用于训练的图像数据集。
train_ds = tf.keras.preprocessing.image_dataset_from_directory(
data_dir,
label_mode=None,
validation_split=0.2,
subset="training",
seed=123,
image_size=(img_height, img_width),
batch_size=batch_size)
但现在我陷入困境,因为我不知道如何将坐标与图像匹配。
使用
flow_from_dataframe
的ImageDataGenerator
方法。
import pandas as pd
data_dir = "images/"
df = pd.read_csv("dataframe.csv")
df = df.sample(frac=1, random_state=9)
print(df)
from tensorflow.keras.preprocessing.image import ImageDataGenerator
datagen = ImageDataGenerator(
rescale=1./255,
)
from tensorflow.keras.preprocessing.image import ImageDataGenerator
img_height, img_width = 100, 100
batch_size = 32
train_generator = datagen.flow_from_dataframe(
dataframe=df,
directory=data_dir,
x_col="x_col",
y_col=["X1", "Y1"],
target_size=(img_height, img_width),
batch_size=batch_size,
class_mode="raw",
shuffle=True,
seed=9,
subset="training"
)
这里,x_col设置为“x_col”来指定包含文件路径的列,y_col设置为[“X1”,“Y1”]来指定包含坐标的列。 class_mode 设置为“raw”以指示标签是连续值。
现在,您可以在 model.fit 函数中使用 train_generator 了:
model.fit(train_generator, epochs=num_epochs, ...)