问题标签 [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 投票
2 回答
4049 浏览

python - Tensorflow Dataset.from_tensor_slices 耗时太长

我有以下代码:

该文件"data.npy"为 3.3 GB。使用 numpy 读取文件需要几秒钟,但创建 tensorflow 数据集对象的下一行需要很长时间才能执行。这是为什么?它在引擎盖下做什么?

0 投票
1 回答
1089 浏览

tensorflow - 在Tensorflow的estimator中,model_fn被多次调用时是如何工作的?

以上是 Tensorflow 的Estimator使用的 model_fn 示例。

正如教程中提到的,这个 model_fn 可以在不同的上下文中调用(训练、预测、评估)。但是,我有点困惑,因为每次调用model_fn,而不是重用现有的图,它似乎创建一个新的图(或在图中创建新的节点)

例如,我首先在 TRAIN 模式下调用 model_fn,然后在 PREDICT 模式下调用 model_fn。如何确保 PREDICT 重用训练值的权重?

0 投票
1 回答
374 浏览

tensorflow - tf.data 中的 tf.SparseFeature 等价物

我目前正在研究的神经网络接受稀疏张量作为输入。我正在从 TFRecord 读取我的数据,如下所示:

它的工作原理就像一个魅力,但我正在查看tf.data对于很多任务来说看起来更方便的 API,我不确定如何像使用and那样读取tf.SparseTensor对象。任何想法?tf.RecordReadertf.parse_example()

0 投票
4 回答
5355 浏览

python - 恢复使用迭代器的 TensorFlow 模型

我有一个使用迭代器训练我的网络的模型;遵循 Google 现在推荐的新数据集 API 管道模型。

我读取了 tfrecord 文件,向网络提供数据,进行了良好的训练,一切顺利,我在训练结束时保存了我的模型,以便稍后在其上运行推理。代码的简化版本如下:

我的问题主要是当我恢复模型时。如何将测试数据馈送到网络?

  • 当我使用 , 恢复我的迭代器testing_iterator = graph.get_operation_by_name("iterators/Iterator")next_testing_element = graph.get_operation_by_name("iterators/IteratorGetNext"),我收到以下错误: GetNext() failed because the iterator has not been initialized. Ensure that you have run the initializer operation for this iterator before getting the next element.
  • 所以我确实尝试使用以下方法初始化我的数据集testing_init_op = testing_iterator.make_initializer(testing_dataset)):我收到了这个错误:AttributeError: 'Operation' object has no attribute 'make_initializer'

另一个问题是,由于正在使用迭代器,因此无需在 training_model 中使用占位符,因为迭代器将数据直接提供给图形。但是这样,当我将数据提供给“准确性”操作时,如何恢复我在第三行到最后一行的 feed_dict 键?

编辑:如果有人可以建议一种在迭代器和网络输入之间添加占位符的方法,那么我可以尝试通过评估“准确性”张量来运行图表,同时将数据提供给占位符并完全忽略迭代器。

0 投票
2 回答
3864 浏览

machine-learning - 为什么在每个 epoch 开始时训练损失会增加?

我正在训练一个线性回归模型。我使用 tf.contrib.data 来准备数据集,将其打乱并分批提供:

以下是我们的训练损失: 训练损失

非常奇怪的是,在每个 epoch(迭代 = 100k)开始时,我们在训练损失中都有一个脉冲。如果训练过程继续进行,我们会在接下来的 epoch 开始时看到相同的模式。

0 投票
1 回答
3657 浏览

tensorflow - 使用 Dataset API 生成平衡的小批量

我对新的数据集 API(tensorflow 1.4rc1)有疑问。我有一个不平衡的数据集 wrt 标签01. 我的目标是在预处理期间创建平衡的小批量。

假设我有两个过滤数据集:

有没有办法组合这两个数据集,使得结果数据集看起来像ds = [0, 1, 0, 1, 0, 1]

像这样的东西:

我目前的做法是:

但我觉得有一种更优雅的方式。

提前致谢!

0 投票
1 回答
5559 浏览

tensorflow - 如何使用 Tensorflow 的 Dataset API 将数据移动到多个 GPU 塔

我们正在 Tensorflow 上运行多 GPU 作业,并评估从基于队列的模型(使用 string_input_producer 接口)到新的 Tensorflow 数据集 API 的迁移。后者似乎提供了一种同时在训练和验证之间切换的更简单方法。

下面的一段代码显示了我们是如何做到这一点的。

get_dataset 函数构建数据集,设置映射函数和批量大小。它还构建了一个迭代器,但不初始化它。迭代器的初始化发生在会话开始之前。

is_validating 布尔值在会话运行时提供,每隔几步我们通过 feed_dict 将 is_validating 传递为 True 以使用验证数据集

我的问题是:

假设我有 8 个 GPU,所以我们在 7 个 GPU 上运行训练。对于这 7 个 GPU 中的每一个,迭代器是否从同一点前进,从而为所有 7 个 GPU 提供相同的数据?

0 投票
1 回答
466 浏览

tensorflow - Tensorflow,无图读取tfrecord

我尝试用 Tensorflow 编写一个良好的结构化神经网络模型。但是我遇到了一个关于将 tfrecord 中的数据输入图表的问题。代码如下,它挂在下面的函数上,我怎样才能让它工作?

图像,标签 = network.load_tfrecord_data(1)

此功能无法从我的数据文件 .tfrecords 中获取特征(图像)和标签?

任何想法将不胜感激?

0 投票
2 回答
2011 浏览

tensorflow - Tensorflow Dataset API 如何订购 list_files?

我正在使用 Dataset APIlist_files来获取source目录和target目录中的文件列表,例如:

源目录和目标目录内容具有相同的顺序文件名,但扩展名不同(例如,源 0001.ext1 <-> 目标 0001.ext2)。

但由于 list_files 无论如何都没有排序,因此压缩数据集包含源和目标之间的不匹配。

如何在新的数据集 API 中解决这个问题?

0 投票
1 回答
4968 浏览

tensorflow - Tensorflow - 数据集 API 中的字符串处理

.txt在 format 目录中有文件<text>\t<label>。我正在使用TextLineDatasetAPI 来使用这些文本记录:

我想对 raw_text 功能进行一些字符串清理/处理。当我尝试运行时 line_split.values[0].strip().lower(),我收到以下错误:

AttributeError:“张量”对象没有属性“条带”