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

tensorflow - tf.decode_raw 和 tf.reshape 使用不同的图像大小

我正在使用以下代码生成 tfrecords 文件。

在上面的代码中,encoded_jpg有长度17904,并且图像的形状112*112*3不一致。

当我使用以下代码解析 tfrecords 时:

当我使用上面的代码时,出现以下错误:

我怎么能解决这个问题。图像类型为png, 和37632=112*112*3。谢谢!

0 投票
1 回答
2140 浏览

python - TensorFlow 数据集 API from_generator 序列结束错误

这是一个玩具代码,它复制了我在尝试使用生成器动态生成/提供训练数据时遇到的问题。

跟踪看起来像:

0 投票
2 回答
4151 浏览

tensorflow - 特征列嵌入查找

我一直在使用 tensorflow 中的数据集和 feature_columns(https://developers.googleblog.com/2017/11/introducing-tensorflow-feature-columns.html)。我看到它们具有分类特征和一种从分类特征创建嵌入特征的方法。但是在处理 nlp 任务时,我们如何创建单个嵌入查找?

例如:考虑文本分类任务。每个数据点都会有很多文本列,但它们不会是单独的类别。我们如何为所有这些列创建和使用单个嵌入查找?

下面是我当前如何使用嵌入功能的示例。我正在为每一列构建一个分类特征,并使用它来创建嵌入。问题在于,不同列的相同单词的嵌入可能不同。

0 投票
1 回答
515 浏览

python - Tensorflow 是否只使用一种热编码来存储标签?

我刚刚开始使用 Tensorflow,使用 Caffe 以高效的方式读取数据非常实用,但是使用 Tensorflow 我发现我必须自己编写数据加载过程,创建 TFRecords,批处理,多重威胁,处理这些线程等等。所以我从一个示例开始,即 inception v3,因为它们处理要读取数据的部分。我是 Tensorflow 的新手,对 Python 也比较陌生,所以我觉得我不明白这部分到底发生了什么(我的意思是,它会将标签的大小扩展到 label_index * no of files - 但是 - 为什么?它是否为标签创建了一种热编码?我们必须这样做吗?为什么它不扩展长度或文件,因为每个文件都有一个标签?谢谢。

整个代码在这里:https ://github.com/tensorflow/models/tree/master/research/inception

提到的部分位于 data/build_image_data.py 下,并从现有数据集构建图像数据集作为存储在文件夹下的图像(其中文件夹名称是标签):https ://github.com/tensorflow/models/blob/master/research/inception /inception/data/build_image_data.py

0 投票
1 回答
1764 浏览

python - 如何在 TensorFlow 会话中使用数据集进行训练

我喜欢使用 tensorflow 在我们自己的大型图像库(数百万张标记图像)上执行图像分类。我是 stackoverflow、python 和 tensorflow 的新手,自己学习了一些教程(mnist 等)并达到了重点,我能够从字典中准备一个 TensorFlow 数据集,包括图像的绝对路径和相应的标签。但是,我在 TensorFlow 会话中使用数据集时遇到了问题。这是我的(示例)代码:

按照教程和教程,我无法解决如何在 tensorflow 会话中使用(图像和标签)数据集进行训练的问题。我能够通过迭代打印出数据集,但无法将其用于学习。

我不明白如何按照第二个教程的要求在 train_data = tf.data.Dataset.from_tensor_slices((train_images_tensor, train_labels_tensor)) 操作中合并图像和标签后分别访问它们。我也不知道如何正确实现批处理。

我想在会话中做的基本上是这个(来自第二个教程):

如果有人能告诉我,如何分别访问数据集中的图像和标签并将其用于训练,我将非常感激。也将不胜感激在哪里以及如何进行批处理的提示。谢谢你。

0 投票
4 回答
15080 浏览

python - 如何在 tf.data.Dataset 中输入不同大小的列表列表

我有一长串整数列表(代表句子,每个都有不同的大小),我想使用 tf.data 库提供这些列表。每个列表(列表的列表)都有不同的长度,我得到一个错误,我可以在这里重现:

我得到的错误是:

有没有办法做到这一点?

编辑1:为了清楚起见,我不想填充列表的输入列表(它是一个包含超过一百万个元素的句子列表,长度不一)我想使用 tf.data 库来提供,在正确的方式,具有不同长度的列表列表。

0 投票
1 回答
279 浏览

tensorflow - 尽管 Dataset 上设置了多线程,但 TF 时间线仍显示串行执行

我对 Tensorflow 比较陌生,仍在努力理解如何提高性能。我使用 TF Timeline 工具检查了我的代码的执行,我惊讶地发现执行看起来像是串行的,如下图所示:

来自分析的屏幕截图

下面的代码是我用来设置数据输入的:

特别是,鉴于我已将工作线程的数量设置map为 13(与我的硬件一致)并且还设置了等于 3 倍批量大小的预取,我预计 CPU 将与 GPU 和 CPU/GPU 传输完全重叠时间。所以我的问题是:

  1. 为什么这看起来是连续的?我误读了我所看到的吗?
  2. 我使用数据集的方式有问题吗?我知道最终应该调整批处理大小和预取大小以获得最佳性能,但是如果我根本看不到 CPU 与 GPU 的并行使用,那又有什么意义呢?
0 投票
1 回答
85 浏览

python - 使用带有 Dataset 类的 TensorFlow 提升到正方形

我想编写一个神经网络来寻找没有预定义模型的 ax^2 分布。准确地说,它在 [-1,1] 中给出了一些点和它们的正方形来训练,然后它必须重现和预测类似的点,例如 [-10,10]。我或多或少地做到了——没有数据集。但后来我尝试修改它以使用数据集并学习如何使用它。现在,我成功让程序运行了,但是输出比以前更糟,主要是常数0。

以前的版本就像 [-1,1] 中的 x^2 具有线性延长,这更好..以前 的输出,蓝线现在是平的。目标是与红色相吻合..

在这里,评论是波兰语,对此感到抱歉。

我认为问题在于训练数据的输入 sess.run(optimizer, {X: sess.run(ds_x), Y: sess.run(ds_y)}) 或 ds_x、ds_y 的定义。这是我的第一个这样的程序。所以这是行的输出(在“sees”块中)

谢谢!

PS:我受到神经网络的极大启发来预测第n个平方

0 投票
1 回答
562 浏览

python - TensorFlow 数据集 API 解析错误

我正在使用 TensorFlow Dataset API 来解析 CSV 文件并运行逻辑回归。我正在按照此处的 TF 文档中的示例进行操作。

以下代码片段显示了我如何设置模型:

调用时lr.train(input_fn = lambda: input_fn(data_path, 1, 100))(注意:批量大小为 100)我收到错误

所以我假设这意味着其中一个tf.feature_column.numeric_column调用得到了一个它不喜欢的标量值。但是,我无法弄清楚为什么会这样。我已经设置batch_size为一个正整数,并且根据文档,默认情况下,产生的 NDarray 的形状tf.feature_column.numeric_column应该是1Xbatch_size。谁能解释为什么 TensorFlow 返回此错误?

我敢肯定这个问题有一个简单的答案,这会让我因为没有弄清楚而感到愚蠢,但是在花了一些时间之后,我仍然感到困惑。

0 投票
1 回答
410 浏览

tensorflow - 在 tf.data.Dataset api 中混合密集和稀疏张量

想象一下,我想训练模型,以最小化图像和查询之间的距离。一方面我有来自 CNN 的图像特征,另一方面我有从单词到嵌入向量的映射(例如 w2v):

在这里我想创建批处理,但我想为 cnn 特征创建密集批处理,为 w2v 创建稀疏批处理,因为显然它具有可变长度(并且我想使用safe_embeddings_lookup_sparse)。密集有批处理功能,稀疏有.apply(tf.contrib.data.dense_to_sparse_batch(..))功能,但如何同时使用它们?