向Tensorflow数据集添加高斯噪波

vyswwuz2  于 2022-11-25  发布在  其他
关注(0)|答案(1)|浏览(121)

我有一个CSVDataset,大约有600万行。为了回答这个问题,我创建了一个TensorSliceDataset,如下所示:

import tensorflow as tf
import numpy as np

datasetz = tf.data.Dataset.from_tensor_slices((np.random.randn(10, 5), np.random.randn(10,1)))
datasetz = datasetz.map(lambda x, y: (x, x))
datasetz

# <MapDataset element_spec=(TensorSpec(shape=(5,), dtype=tf.float64, name=None), TensorSpec(shape=(5,), dtype=tf.float64, name=None))>

我正在尝试制作一个去噪自动编码器。为此,我需要向我的数据集添加一些噪声。如果datasetnumpy.ndarray,我可以按以下方式添加噪声:-

corruption_level = 0.3
datasetz = datasetz + (np.random.randn(10, 5) * corruption_level)

但是我不知道如何处理CSVDataset对象。

o4tp2gmn

o4tp2gmn1#

这将为每行添加随机噪声:

datasetz = tf.data.Dataset.from_tensor_slices((np.random.randn(10, 5), np.random.randn(10,1)))
datasetz = datasetz.map(lambda x, y: (x+corruption_level*tf.random.uniform(shape=(5,), dtype=tf.float64), y))
datasetz

相关问题