- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
出于测试目的,我想为 tf.dataset 中的每个样本附加一个 id。只需向上计数就足够了。
我的数据集的类型为 FlatMapDataset fwiw。
for entry in img_ds:
print(entry.shape)
(128, 128, 3)
(128, 128, 3)
(128, 128, 3)
(128, 128, 3)
...
我尝试的是有一个映射函数,在其内部定义一个计数器并向上计数:
@staticmethod
def map_to_id(img):
try:
ExperimentalPipeline.map_to_id.id_counter += 1
except AttributeError:
ExperimentalPipeline.map_to_id.id_counter = 0
return img, ExperimentalPipeline.map_to_id.id_counter
然后使用 tf.data 中的 Dataset.map
将 id 附加到每个样本:
img_ds = img_ds.map(ExperimentalPipeline.map_to_id)
不幸的是,这不起作用,每个样本的 id 为零:
for i, id in img_ds:
print(f"{i.shape}, {id}")
(128, 128, 3), 0
(128, 128, 3), 0
(128, 128, 3), 0
(128, 128, 3), 0
...
我还注意到我的 map_to_id
函数仅被调用一次。
@staticmethod
def map_to_id(img):
print("enter map_to_id")
try:
ExperimentalPipeline.map_to_id.id_counter += 1
except AttributeError:
print("caught exception")
ExperimentalPipeline.map_to_id.id_counter = np.random.randint(1000)
return img, ExperimentalPipeline.map_to_id.id_counter
enter map_to_id
caught exception
(128, 128, 3), 889
(128, 128, 3), 889
(128, 128, 3), 889
(128, 128, 3), 889
我想我不明白 Dataset.map
应该如何工作。我认为它会获取正在调用的数据集中的每个样本,并以该样本作为参数调用提供的函数。
有人可以帮我解决这个问题吗?
最佳答案
TensorFlow 将运行一次 map
函数,将该函数编译为 TensorFlow 操作。然后这些操作(而不是原始的 python 函数)将应用于数据集的每个元素。如果你想为每个元素运行原始的 python 函数,你可以使用 py_function相反。
在这种特定情况下,您想要附加元素 ID,可以使用 Dataset.enumerate实现您的目标:
img_ds = img_ds.enumerate()
关于python - 将 tf.dataset 中的每个样本映射到 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60365843/
如果我用 dataset.batch(n).prefetch(m), 将预提取m个批次或m个 sample ? 最佳答案 Dataset.prefetch(m) 转换预取其直接输入的m元素。在这种情况
根据 TensorFlow documentation 、tf.contrib.data.Dataset 类的 prefetch 和 map 方法,都有一个名为 buffer_size 的参数. 对于
我正在使用 Flink 0.10.1 的 DataSet API 编写应用程序。我可以在 Flink 中使用单个运算符获取多个收集器吗? 我想做的是如下所示: val lines = env.read
为了使用 Google Colabs TPU,我需要一个 tf.dataset.Dataset .那么如何在这样的数据集上使用数据增强? 更具体地说,到目前为止我的代码是: def get_datas
我有一个包含 2 个相关数据表(主数据表和详细信息)的数据集。我想将与我的过滤器匹配的数据(例如主数据列 A =“XXX”)复制到另一个数据集。 现在我发现这个过程需要很长时间(1k 条记录大约需要一
我正在使用 .pvd文件同时加载多个文件到 Paraviw。对于具有单个数据集的时间序列,该文件看起来像这样: 我想指定要与 a.*.vtu 一起加载的其他文件(
我听说 Google 主办(或将举办)一场网络分类竞赛,他们提供了一个大型(170k+ 文档)网站数据集,这些网站被分为多个类别(体育、计算机、科学等),我尝试环顾四周在他们的 2009 年到 201
谁能给我解释一下 DataSet.Copy() vs Dataset.Clone()也让我知道一些我们可以使用这些的场景 最佳答案 Clone 将创建一个新的空数据集,其架构(表和列)与旧数据集相同。
dataset = dataset.batch(50) dataset = dataset.prefetch(buffer_size=1) 是预取 1 个批次还是 1 个元素? 根据 tensorfl
在 Delphi 中,与 Dataset.Next 相比,使用 Dataset.Prior 是否会降低性能? 背景: 我有一个在数据集中搜索特定记录的例程。我从数据集中的最后一条记录开始,然后使用 D
我正在使用 Spark(2.0) 开发 Spark SQL,并使用 Java API 读取 CSV。 CSV 文件中有一个双引号、逗号分隔的列。例如:“Express Air,Delivery Tru
为什么要使用DataSet.BeginInit 和DataSet.EndInit? 我已经经历了official msdn documentation ,它说 Begins the initializ
我正在尝试向新的数据集 X 添加一个位于不同数据集 Y 中的数据表。如果我直接添加它,我会得到以下错误: DataTable already belongs to another DataSet. 我
我有一个表示为形状为 (num_features, num_examples) 的 NumPy 矩阵的数据集,我希望将其转换为 TensorFlow 类型 tf.Dataset。 我正在努力理解这两种
这是 question 的转发在 ai.stackexchange 中询问。由于该论坛没有太多吸引力,我想我可以在这里尝试一下机会。 我有一个特定对象的不同尺寸的图像数据集。该物体的一些图像也处于不同
我有两个数据集: main_ds = tf.data.Dataset.from_tensor_slices(list(range(1000, 1100))) backgroud_ds = tf.dat
拥有Dataset单列 json 字符串: +--------------------+ | value| +--------------------+ |{"Contex
我正在尝试解决 Azure 数据工厂中的以下场景: 我在 Azure Blob 存储中有大量文件夹。每个文件夹包含不同数量的 parquet 格式的文件。文件夹名称包含生成该文件夹中包含的数据的日期,
我正在尝试解决 Azure 数据工厂中的以下场景: 我在 Azure Blob 存储中有大量文件夹。每个文件夹包含不同数量的 parquet 格式的文件。文件夹名称包含生成该文件夹中包含的数据的日期,
我有一个顺序数据集,我可以从中创建窗口来训练 RNN。在某些情况下,我想扔掉某些 window 。但是,当我使用 dataset.window 和 dataset.filter 时,管道内部会出现一些
我是一名优秀的程序员,十分优秀!