问题标签 [tf.data.dataset]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何在 .map 函数中访问张量形状?
我有多个长度的音频数据集,我想在 5 秒的窗口中裁剪所有音频(这意味着 240000 个元素和 48000 个采样率)。因此,在加载 .tfrecord 后,我正在执行以下操作:
它返回一个具有音频长度的张量。如果这个长度小于 240000,我想重复音频内容,直到它是 240000。所以我正在处理所有音频,具有以下tf.data.Dataset.map()
功能:
因为这就是将我最短的音频填充到所需长度的方法。
但是为了提高效率,我只想对需要它的元素进行操作:
但我无法访问 shape 属性,因为它是动态的并且在音频中有所不同。我试过使用tf.shape(audio)
, audio.shape
, audio.get_shape()
,但我得到None
了像形状这样的值,这不允许我进行比较。
是否有可能做到这一点?
python - 在转换期间从 tensorflow 对象中提取 numpy 值
我正在尝试使用 tensorflow 获取词嵌入,并且我已经使用我的语料库创建了相邻的工作列表。
我的词汇中唯一单词的数量为 8000,相邻单词列表的数量约为 160 万
由于数据非常大,我正在尝试将单词列表批量写入 TFRecords 文件。
定义批次
##############################
tensorflow - 如何在 tf.data.Dataset 对象上使用序列/生成器将部分数据放入内存?
我正在 Google Colab 上使用 Keras 进行图像分类。我使用 tf.keras.preprocessing.image_dataset_from_directory() 函数(https://www.tensorflow.org/api_docs/python/tf/keras/preprocessing/image_dataset_from_directory)加载图像,该函数返回一个 tf.data.Dataset 对象:
我发现当数据包含数千张图像时,model.fit() 将在训练多个批次后使用所有内存(我使用的是 Google Colab,并且可以看到 RAM 使用量在第一个 epoch 期间增长)。然后我尝试使用 Keras 序列,这是将部分数据加载到 RAM 中的建议解决方案(https://www.tensorflow.org/api_docs/python/tf/keras/utils/Sequence):
我用以下方法训练模型:
history = model.fit(DatasetGenerator(train_ds), ...)
问题是getitem ()必须返回一批带索引的数据。但是,我使用的 list() 函数必须将整个数据集放入 RAM,因此当 DatasetGenerator 对象实例化时会达到内存限制(tf.data.Dataset 对象不支持使用 [] 进行索引)。
我的问题:
- 有没有办法实现getitem () (从数据集对象中获取特定批次)而不将整个对象放入内存?
- 如果第 1 项是不可能的,是否有任何解决方法?
提前致谢!
tensorflow2.0 - Tensorflow 2 - AttributeError:'_NestedVariant'对象没有属性'batch'
在“Hands on machine learning with scikit-learn and tensorflow 2.0”一书的第 17 章中,他们使用 tf.data.Dataset 和 window() 方法将顺序数据集拆分为多个窗口:
要将顺序数据集切割成多个窗口,他们使用以下方法:
但是当我执行上面的那一行时,我收到以下错误:
为什么会这样?请帮忙。你可以在这里找到对应的笔记本
tensorflow - 如何在地图函数中访问张量形状
我需要访问图像形状以执行增强管道,尽管通过访问时image.shape[0] and image.shape[1]
我无法执行增强,因为它输出我的张量具有形状 None。
相关问题:如何访问 .map 中的张量形状?
感谢是否有人可以提供帮助。
映射函数
python - 如何通过 tf.data.Dataset API 为生成的批次添加时间步长维度
我想为我的批处理生成添加时间步长维度。
目前我正在做
并获得批量大小(32, feature_vector_length)
我想将 time_step_dimention 添加到我的批次中(batch_size,time_stemp,feature_vector_length)
如何使用圆顶tf.data
?
generator - 你能交错来自多个文件的 tf.data 数据集吗?
我目前有一个数据集,该数据集分为三种不同的 npy 文件类型:一种包含所有作为浮点数的 x var,一种包含所有作为 int 的 x var,另一种包含所有 y 标签。
为了遍历所有文件,我从像这样的生成器创建了一个 tf.data 数据集
我的问题是如果交错这个过程是否会更快,如果是这样,我可以用这三个单独的文件来做到这一点,还是必须将它们全部附加到一个文件中?需要注意的一点是,每个 npy 文件都可以加载到内存中,但是会有超过 10,000 个 npy 文件,所以我无法将所有文件加载到内存中。
提前感谢您的任何想法!
tensorflow - tf.data WindowDataset flat_map 给出 'dict' 对象没有属性 'batch' 错误
我正在尝试批量类型(batch_size, time_steps, my_data)
为什么在flat_map
一步我得到 AttributeError: 'dict' object has no attribute 'batch'
知道是什么问题吗?以及如何解决?
tensorflow - tf.keras.backend.function 用于转换 tf.data.dataset 中的嵌入
我正在尝试使用神经网络的输出来转换 tf.data.dataset 中的数据。具体来说,我正在使用Delta-Encoder来操作 tf.data 管道内的嵌入。但是,在这样做时,我收到以下错误:
我已经搜索了数据集管道页面和堆栈溢出,但我找不到可以解决我的问题的东西。在下面的代码中,我使用了自动编码器,因为它会产生相同的错误,并且代码更简洁。
有问题的部分似乎在
[[x,]] = tf.py_function(Auto_Func, [x], [tf.float32])
里面
tf_auto_transform
。
上面的代码产生以下错误:
我试图通过运行 tf_auto_transform 函数的注释掉部分来消除错误,但错误仍然存在。
旁注:虽然 Delta 编码器论文确实有代码,但它是用 tf 1.x 编写的。我正在尝试将 tf 2.x 与 tf 功能 API 一起使用。谢谢您的帮助!