python - 从 tf.data 中仅提取 numpy 数组的一部分

标签 python numpy tensorflow deep-learning tensorflow-datasets

我有一个形状为 500,36,24,72 的 NumPy 数组。现在我想使用 tf.data 为问题创建数据管道。对于每次迭代,仅需要数组的子集,例如,首先在 [500,x:y,24,72] 上训练模型,其中仅采用第二维的子集。

ds1 = tf.data.Dataset.zip((tf.data.Dataset.from_tensor_slices(data))

对上述数据集应用过滤器似乎不起作用

ds2 = ds1.filter(lambda x: x[1:3][:][:])

最佳答案

使用tf.data.Dataset.map :

import numpy as np
import tensorflow as tf

data = np.random.random((500,36,24,72))
ds1 = tf.data.Dataset.zip((tf.data.Dataset.from_tensor_slices(data)))
ds2 = ds1.map(lambda x: x[1:3, ...])

关于python - 从 tf.data 中仅提取 numpy 数组的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73685542/

相关文章:

python - 从 NumPy、matplotlib 包导入 python 子模块有什么区别

python - 是否可以使用 Colboratory 安装tensorflow.serving

python - 在 OSX 上的 python 中获取挂载类型信息

python - 有人怎么知道何时将对象作为参数传递给函数

javascript - 通过 API 提取 Nerd 的 youtube 统计信息

python - 遍历列表,组合数量

python - 将百万和千位数的数字转换为字符串格式

python-3.x - MoviePy 错误 : The system cannot find the file specified

python - Tensorboard 标量绘图,横轴为纪元号

tensorflow - 什么是 TensorFlow 检查点元文件?