I am trying to implement a model whose output is the same as its input. It's a simple part of an extensive model, I deleted complicated parts. I wrote a generator dataloader for generating random numbers.
def random_generator():
tf.random.set_seed(43)
while True:
yield tf.random.uniform((3,), 0, 1, dtype=tf.dtypes.float32, seed=32)
random_dataset = tf.data.Dataset.from_generator(
random_generator,
output_types=tf.float32,
output_shapes=(3,)
)
I need to use the same dataloader for input and output, but I'll get different inputs and outputs as I zip it.
dataloader = tf.data.Dataset.zip((random_dataset, random_dataset))
model.fit(dataloader, epochs=200, batch_size=32)
Is there any way to copy the dataset or generate random arrays of numbers so that it produces the same result in the second call?