相关疑难解决方法(0)

我如何结合两个 keras 生成器功能

我正在尝试在 Keras 中实现一个 Siamese 网络,并且我想使用 Keras 图像数据生成器将图像转换应用于 2 个输入图像。根据文档中的示例- https://keras.io/preprocessing/image/,我尝试像这样实现它-

datagen_args = dict(rotation_range=10,
                    width_shift_range=0.1,
                    height_shift_range=0.1,
                    horizontal_flip=True)

in_gen1 = ImageDataGenerator(**datagen_args)
in_gen2 = ImageDataGenerator(**datagen_args)

train_generator = zip(in_gen1, in_gen2)

model.fit(train_generator.flow([pair_df[:, 0,::],pair_df[:, 1,::]],
                          y_train,batch_size=16), epochs, verbose = 1)
Run Code Online (Sandbox Code Playgroud)

但是这段代码抛出了这个错误:

类型错误 : zip 参数 #1 必须支持迭代

我已经尝试itertools.izip按照Keras - Generator for large dataset of Images and Masks 中的建议使用但这会引发相同的错误。

我该如何解决?

编辑:如果有人感兴趣,这终于奏效了-

datagen_args = dict(
    featurewise_center=False,
    rotation_range=10,
    width_shift_range=0.1,
    height_shift_range=0.1,
    horizontal_flip=True)

in_gen1 = ImageDataGenerator(**datagen_args)
in_gen2 = ImageDataGenerator(**datagen_args)

in_gen1 = in_gen1.flow(pair_df[:, 0,::], y_train, batch_size …
Run Code Online (Sandbox Code Playgroud)

python computer-vision neural-network keras

5
推荐指数
1
解决办法
5552
查看次数

将多个 Keras TimeseriesGenerator 对象合并或附加到一个对象中

我正在尝试制作一个 LSTM 模型。数据来自包含多个股票值的 csv 文件。

我无法使用文件中出现的所有行来创建序列,因为每个序列仅在其自己的股票上下文中相关,因此我需要为每个股票选择行并根据该行创建序列。

我有这样的事情:

for stock in stocks:

    stock_df = df.loc[(df['symbol'] == stock)].copy()
    target = stock_df.pop('price')

    x = np.array(stock_df.values)
    y = np.array(target.values)

    sequence = TimeseriesGenerator(x, y, length = 4, sampling_rate = 1, batch_size = 1)
Run Code Online (Sandbox Code Playgroud)

这工作得很好,但是我想将每个序列合并成一个更大的序列,我将使用它进行训练,并且包含所有股票的数据。

无法使用追加或合并,因为该函数返回一个生成器对象,而不是一个 numpy 数组。

python lstm keras tensorflow

5
推荐指数
1
解决办法
2383
查看次数