问题标签 [tensorflow-datasets]

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.

0 投票
0 回答
349 浏览

tensorflow - 使用 tensorflow StagingArea 和数据集 api 时出错

尝试将 tensorflow 暂存区与数据集 api 结合起来。

完成几个 100 步后出现以下错误。

堆栈跟踪:

文件“timit_trainer.py”,第 5 行,在 timit_trainer.train() 文件“/mnt/sdc/nlp/workspace/hci/nlp/mapc/core/model/model.py”,第 43 行,训练 hparams=self .hyper_params # HParams 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/contrib/learn/python/learn/learn_runner.py”,第 218 行,运行中返回 _execute_schedule(experiment, schedule) 文件“ /usr/local/lib/python3.5/dist-packages/tensorflow/contrib/learn/python/learn/learn_runner.py”,第 46 行,_execute_schedule 返回任务()文件“/usr/local/lib/python3. 5/dist-packages/tensorflow/contrib/learn/python/learn/experiment.py”,第 625 行,在 train_and_evaluate self.train(delay_secs=0) 文件“/usr/local/lib/python3.5/dist-packages /tensorflow/contrib/learn/python/learn/experiment.py”,第 367 行,在 train hooks=self._train_monitors + extra_hooks) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/contrib/learn/python/learn/experiment.py”,第 807 行,在 _call_train hooks=hooks ) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/estimator/estimator.py”,第 302 行,在 train loss = self._train_model(input_fn, hooks, Saving_listeners) 文件“/usr /local/lib/python3.5/dist-packages/tensorflow/python/estimator/estimator.py”,第 783 行,在 _train_model _中,loss = mon_sess.run([estimator_spec.train_op,estimator_spec.loss]) 文件“/ usr/local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session.py”,第 521 行,在运行 run_metadata=run_metadata) 文件“/usr/local/lib/python3.5/dist-packages /tensorflow/python/training/monitored_session.py",第 892 行,运行中 run_metadata=run_metadata) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session.py”,第 967 行,运行中 raise Six.reraise(*original_exc_info)文件“/usr/local/lib/python3.5/dist-packages/six.py”,第 693 行,在 reraise raise value 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/ training/monitored_session.py”,第 952 行,运行中返回 self._sess.run(*args, **kwargs) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session .py”,第 1032 行,运行中 run_metadata=run_metadata)) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/contrib/learn/python/learn/monitors.py”,第 1196 行,在after_run 诱导停止 = m.step_end(self._last_step, 结果) 文件 "/usr/local/lib/python3.5/dist-packages/tensorflow/contrib/learn/python/learn/monitors.py”,第 356 行,在 step_end 返回 self.every_n_step_end(step, output) 文件“/usr/local /lib/python3.5/dist-packages/tensorflow/contrib/learn/python/learn/monitors.py”,第 694 行,在 every_n_step_end validation_outputs = self._evaluate_estimator() 文件“/usr/local/lib/python3.5 /dist-packages/tensorflow/contrib/learn/python/learn/monitors.py”,第 665 行,在 _evaluate_estimator name=self.name) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/ python/estimator/estimator.py”,第 355 行,在评估名称=名称)文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/estimator/estimator.py”,第 839 行,在_evaluate_model config=self._session_config) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/evaluation.py”,第 206 行,在 _evaluate_once session.run(eval_ops, feed_dict) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python /training/monitored_session.py”,第 521 行,运行中 run_metadata=run_metadata) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session.py”,第 892 行,运行中run_metadata=run_metadata) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session.py”,第 967 行,在运行 raise Six.reraise(*original_exc_info) 文件“/usr/ local/lib/python3.5/dist-packages/six.py”,第 693 行,在 reraise raise value 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session.py ",第 952 行,在运行中返回 self._sess。运行(*args,**kwargs)文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session.py”,第 1024 行,运行中 run_metadata=run_metadata)文件“/usr /local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session.py”,第 827 行,运行中返回 self._sess.run(*args, **kwargs) 文件“/usr/local/ lib/python3.5/dist-packages/tensorflow/python/client/session.py”,第 889 行,在运行 run_metadata_ptr) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/client /session.py”,第 1105 行,在 _run self._graph、fetches、feed_dict_tensor、feed_handles=feed_handles) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py”中,第 414 行,在5/dist-packages/tensorflow/python/training/monitored_session.py”,第 1024 行,在运行 run_metadata=run_metadata) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session .py”,第 827 行,在运行中返回 self._sess.run(*args, **kwargs) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py” ,第 889 行,在运行 run_metadata_ptr) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py”,第 1105 行,在 _run self._graph、fetches、feed_dict_tensor、feed_handles =feed_handles) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py”,第 414 行,在5/dist-packages/tensorflow/python/training/monitored_session.py”,第 1024 行,在运行 run_metadata=run_metadata) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/monitored_session .py”,第 827 行,在运行中返回 self._sess.run(*args, **kwargs) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py” ,第 889 行,在运行 run_metadata_ptr) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py”,第 1105 行,在 _run self._graph、fetches、feed_dict_tensor、feed_handles =feed_handles) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py”,第 414 行,在5/dist-packages/tensorflow/python/training/monitored_session.py”,第 827 行,运行中返回 self._sess.run(*args, **kwargs) 文件“/usr/local/lib/python3.5/dist -packages/tensorflow/python/client/session.py”,第 889 行,在运行 run_metadata_ptr)文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py”,行1105,在_run self._graph,fetches,feed_dict_tensor,feed_handles=feed_handles)文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py”,第414行,在5/dist-packages/tensorflow/python/training/monitored_session.py”,第 827 行,运行中返回 self._sess.run(*args, **kwargs) 文件“/usr/local/lib/python3.5/dist -packages/tensorflow/python/client/session.py”,第 889 行,在运行 run_metadata_ptr)文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py”,行1105,在_run self._graph,fetches,feed_dict_tensor,feed_handles=feed_handles)文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py”,第414行,在5/dist-packages/tensorflow/python/client/session.py”,第 1105 行,在 _run self._graph、fetches、feed_dict_tensor、feed_handles=feed_handles) 文件“/usr/local/lib/python3.5/dist-packages /tensorflow/python/client/session.py”,第 414 行,在5/dist-packages/tensorflow/python/client/session.py”,第 1105 行,在 _run self._graph、fetches、feed_dict_tensor、feed_handles=feed_handles) 文件“/usr/local/lib/python3.5/dist-packages /tensorflow/python/client/session.py”,第 414 行,在init self._fetch_mapper = _FetchMapper.for_fetch(fetches) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py”,第 236 行,在 for_fetch 返回 _DictFetchMapper(fetch) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py”,第 374 行,在init 中获取 fetches.values()] 文件“/usr/local/lib/ python3.5/dist-packages/tensorflow/python/client/session.py”,第 374 行,在 fetches.values()] 文件中获取“/usr/local/lib/python3.5/dist-packages/tensorflow /python/client/session.py”,第 234 行,在 for_fetch 返回 _ListFetchMapper(fetch) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py”,第 341 行, 在初始化 self._mappers = [_FetchMapper.for_fetch(fetch) for fetches] 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py”,第 341 行,在 self. _mappers = [_FetchMapper.for_fetch(fetch) for fetches] 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py”,第 234 行,在 for_fetch return _ListFetchMapper(获取)文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py”,第 341 行,在init self._mappers = [_FetchMapper.for_fetch(fetch) for fetches] 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py”,第 341 行,在 self. _mappers = [_FetchMapper.for_fetch(fetch) for fetches] 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py”,第 242 行,在 for_fetch return _ElementFetchMapper( fetches,contraction_fn) 文件“/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py”,第 278 行,在init 'Tensor. (%s)' % (fetch, str(e))) ValueError: Fetch 参数不能被解释为张量。(操作名称:“StagingArea_put”

代码:

def read(self, category: DatasetCategory, devices: list, proc_device: str, shuffle=False):

0 投票
0 回答
732 浏览

python-3.x - 具有 RGB 值的自定义图像的 Tensorflow CNN

我遵循了使用 MNIST 数据集创建 CNN 的教程,并且了解其中的大部分内容。然后我尝试将其转换为我自己的具有 RGB 值的自定义图像。但是在代码的某些部分有问题,因为我不完全理解会发生什么以及接下来如何进行。我知道我必须将频道更改为 3,但不知道其余的辅助功能是否正确?当我初始化所有内容时,我也不明白如何训练它。因为batch_x, batch_y = iterator.get_next() 我无法使用feed_dict,并且不怎么训练这个?在 MNIST 数据上可以设置 dropout,但是我现在如何指定呢?据我了解,我没有在真实数据上训练它知道吗?当我创建和测试验证数据时,如何以与 MNIST 数据相同的方式计算结果?

代码如下所示:

0 投票
1 回答
2387 浏览

tensorflow - TensorFlow:`tf.data.Dataset.from_generator()` 不适用于 Python 3.x 上的字符串

我需要遍历大量图像文件并将数据提供给 tensorflow。我Dataset通过生成器函数创建了一个 back,该生成器函数将文件路径名生成为字符串,然后使用map. 但它失败了,因为生成字符串值不起作用,如下所示。是否有解决方法或解决方法?

测试代码如下所示。它可以与from_tensor_slices或首先将文件名列表放入张量中正常工作。但是,任何一种解决方法都会耗尽 GPU 内存。

0 投票
1 回答
1362 浏览

tensorflow - TensorFlow - TF 记录太大而无法一次加载到 np 数组中

我正在尝试按照TensorFlow 指南站点中教程中的步骤训练 AlexNet CNN 模型。但是,本教程使用以下代码加载训练数据

对我来说,我编写了一个脚本来将我的数据集示例写入 TFRecord 文件,然后在训练期间,尝试将这些记录读回并将其输入 alexnet 网络。请参见下面的代码:

我的主要问题是,在将我的数据集(227x227x3)中的所有 39209 图像恢复为 np 数组时,我可以将其提供给我的 TF 估计器。我的电脑内存不足。

有没有一种方法可以分批从我的 TF 记录中获取我的图像和标签,并将其分批提供给我的 TF.Estimator,而不必像本教程中指定的那样将它们全部加载到 np 数组中

0 投票
1 回答
3776 浏览

python-3.x - 使用数据集 api 在 TensorFlow 中进行数据增强的正确方法?

因此,我一直在使用 TensorFlow 数据集 API 来加载图像和分割掩码(用于语义分割项目),我希望能够生成成批的图像和掩码,每个图像都随机经过任何亮度变化,对比度变化,裁剪,饱和度变化等预处理功能的组合。所以,我批次中的第一张图像可能没有预处理,第二张可能有饱和度变化,第三张可能有亮度和饱和度等等。

我尝试了以下方法:

但是由此返回的所有批次都应用了相同的转换,而不是不同的组合,我的猜测是 random.randint 仍然存在,并且实际上并没有为每个批次运行,如果是这样,我该如何解决这个问题以获得所需的结果? 有关我打算如何使用它的示例(我觉得这与问题无关,但人们可能仍想知道)可以在这里找到

0 投票
2 回答
1267 浏览

tensorflow - 张量流数据集顺序未定义?

如果我使用 tf.data.Dataset 数据集中的多个元素来构建图表,然后稍后评估图表,则数据集中元素的顺序似乎是未定义的。例如,以下代码片段

将产生如下输出:

构建图然后评估

[3 0 1 4 2]

评估每个元素

0 1 2 3 4

此外,每次运行都会产生不同的“构建图然后评估”。我希望“构建图然后评估”像“评估每个元素”一样被订购。谁能解释为什么会这样?

0 投票
1 回答
374 浏览

python - TensorFlow Dataset API 评估输出形状需要 10 多分钟

我正在使用Python 3.5、低镜头MicroSoft Celeb1M数据集、Tensorflow 1.4,并且我想在图像分类任务上使用新的 Dataset API。

我需要构建一个具有这种形式的数据集(一):它包含(N*k + 1)图像、N不同类k的数量以及每个类的样本数。目标是在类别中对正确类别中的最后一张图像进行分类N,每个类别都由k样本表示。

为此,我在硬盘上有 16 000 条 tfrecord,每个大约 20 MB。每个 TFRecord 包含一个类的图像,大约 50-100 个图像。

我想随机选择N文件,然后随机选择k每个文件中的图像,混合它们,然后选择最终图像在N类中进行分类,与样本不同。为此,我在“本机”Python 代码和 Tensorflow Dataset API 方法之间进行了混合。

问题是我写的解决方案需要很长时间才能完成。这是我为创建这样的数据集而编写的工作代码。对于这个例子,我只从硬盘驱动器中取出 20 个文件。

耗时太长的步骤是迭代器初始化。在我的完整代码中,它由批处理情节组成,大约需要 15 分钟。我注意到这个问题很可能是由于评估episode.output_shapes:只在最后做 aprint(episode.output_shapes)也需要很长时间(但比初始化迭代器要少)。

此外,我在 Docker 中工作,当迭代器正在初始化时,我可以看到 CPU 在100 %整个步骤中都处于运行状态。

我想知道造成这种情况的原因是否是本机 Python 代码和 Tensorflow 操作之间的混合,这可能会导致 CPU 出现瓶颈。

我认为处理数据集 API 包括创建在 Tensorflow Graph 上创建Operation 节点tf.Session().run(),并且仅在执行.

有关更多信息,我尝试了:

3个小时后,它甚至没有结束。我停止了代码,这是 TraceBack(我编辑了一些重复的块,例如return self._as_variant_tensor()

所以我想知道为什么要初始化迭代器需要这么长时间:我无法找到关于初始化如何工作的太多信息,以及在创建 Graph 时究竟评估了什么。

我无法通过纯粹的方法来实现我想要的tf.data.Dataset,但我还没有尝试过这些tf.data.Dataset.flat_map()/interleave()方法(在这个线程中使用过)。

0 投票
2 回答
1409 浏览

python - 使用 Datasets 使用 Numpy 数组

我正在尝试在图表中使用 Numpy 数组,使用数据集输入数据。

我已经通读了这个,但不太明白我应该如何在数据集中提供占位符数组。

如果我们举一个简单的例子,我会从:

然后我尝试修改它以使用数据集,如下所示:

如果我运行它,我会得到“InvalidArgumentError:您必须为占位符张量提供一个值......”

直到 for 循环的代码模仿了这里的示例,但我不明白如何在不为每次调用 sess3.run(c) 的情况下使用占位符 a 和 b [这将是昂贵的] 的情况下使用占位符。我怀疑我必须以某种方式使用迭代器,但我不明白如何。

更新

在选择示例时,我似乎过于简单化了。我真正想做的是在训练神经网络或类似网络时使用数据集。

对于一个更明智的问题,我将如何使用数据集来提供下面的占位符(尽管想象 X 和 Y_true 更长......)。文档将我带到循环开始的地方,然后我不确定。

尝试以下只会给我一个 InvalidArgumentError

0 投票
3 回答
5805 浏览

image-processing - 如何将 EMNIST 数据加载到 Tensorflow

在我看过的所有关于 tensorflow 的教程中,他们都使用了 MNIST 数据集,我已经理解了建模,但是如何将这个数据集加载到 tensorflow 中呢? https://www.nist.gov/itl/iad/image-group/emnist-dataset

0 投票
1 回答
278 浏览

python - 从 tfrecords 导入数据时,批处理后标签的顺序错误

从 tfrecords 文件导入数据时出现问题。tfrecords 中的每个样本都包含一个长度为 100 的特征向量和一个长度为 13 的 one-hot 标签向量。我使用下面的代码从 tfrecords 导入数据,参考官方指南https://www.tensorflow.org/程序员指南/数据集

问题是标签的顺序在批处理后变得错误。如果我删除代码“data = data.batch”,一切正常。

我认为一个可能的原因是特征和标签是独立批处理的。所以我尝试在批处理后解析示例,但收到错误“输入序列化必须是标量”。如果您知道如何处理此问题,请帮助我,非常感谢!