当您的输入不包含图像时,您如何在 keras 中 flow_from_directory?
How do you flow_from_directory in keras when your input does not consist in images?
是否有适用于非图像数据的等效于 flow_from_directory
的方法?更准确地说,我将我的数据保存为一个由 numpy 数组组成的 pickle 文件。数据已经是我训练网络所需的格式;有没有办法通过读取 pickle 文件的每一行向量来拟合我的模型?或者,将我的行向量保存为单个 pickle 文件(或其他格式)并拟合一个一个读取它们的模型?
是的,你可以在 keras 中使用 Generators
来解决这个问题。
def Generator(File_address, Batch_Size):
while True:
pickle_data = []
with (open("myfile", "rb")) as openfile: #Read pickle file. this is a sample. you can use your way to read the pickle file.
while True:
pickle_data.append(pickle.load(File_address))
for B in range(0, len(pickle_data), Batch_Size):
X = pickle_data[B:B+Batch_Size]
Y = Labels[B:B+Batch_Size] #Define your labels
yield X, Y #Returning data for training.
现在您可以使用发电机了:
train_gen = Generator('Address_to_pickle_file', Batch_Size)
Model.fit(train_gen, epochs=epoch, steps_per_epoch=Number_of_sampels//Batch_Size)
希望这对您有用。
祝你好运。
是否有适用于非图像数据的等效于 flow_from_directory
的方法?更准确地说,我将我的数据保存为一个由 numpy 数组组成的 pickle 文件。数据已经是我训练网络所需的格式;有没有办法通过读取 pickle 文件的每一行向量来拟合我的模型?或者,将我的行向量保存为单个 pickle 文件(或其他格式)并拟合一个一个读取它们的模型?
是的,你可以在 keras 中使用 Generators
来解决这个问题。
def Generator(File_address, Batch_Size):
while True:
pickle_data = []
with (open("myfile", "rb")) as openfile: #Read pickle file. this is a sample. you can use your way to read the pickle file.
while True:
pickle_data.append(pickle.load(File_address))
for B in range(0, len(pickle_data), Batch_Size):
X = pickle_data[B:B+Batch_Size]
Y = Labels[B:B+Batch_Size] #Define your labels
yield X, Y #Returning data for training.
现在您可以使用发电机了:
train_gen = Generator('Address_to_pickle_file', Batch_Size)
Model.fit(train_gen, epochs=epoch, steps_per_epoch=Number_of_sampels//Batch_Size)
希望这对您有用。 祝你好运。