问题标签 [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.
python - Tensorflow Dataset.from_tensor_slices 耗时太长
我有以下代码:
该文件"data.npy"
为 3.3 GB。使用 numpy 读取文件需要几秒钟,但创建 tensorflow 数据集对象的下一行需要很长时间才能执行。这是为什么?它在引擎盖下做什么?
tensorflow - 在Tensorflow的estimator中,model_fn被多次调用时是如何工作的?
以上是 Tensorflow 的Estimator使用的 model_fn 示例。
正如教程中提到的,这个 model_fn 可以在不同的上下文中调用(训练、预测、评估)。但是,我有点困惑,因为每次调用model_fn,而不是重用现有的图,它似乎创建一个新的图(或在图中创建新的节点)
例如,我首先在 TRAIN 模式下调用 model_fn,然后在 PREDICT 模式下调用 model_fn。如何确保 PREDICT 重用训练值的权重?
tensorflow - tf.data 中的 tf.SparseFeature 等价物
我目前正在研究的神经网络接受稀疏张量作为输入。我正在从 TFRecord 读取我的数据,如下所示:
它的工作原理就像一个魅力,但我正在查看tf.data
对于很多任务来说看起来更方便的 API,我不确定如何像使用and那样读取tf.SparseTensor
对象。任何想法?tf.RecordReader
tf.parse_example()
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 键?
编辑:如果有人可以建议一种在迭代器和网络输入之间添加占位符的方法,那么我可以尝试通过评估“准确性”张量来运行图表,同时将数据提供给占位符并完全忽略迭代器。
machine-learning - 为什么在每个 epoch 开始时训练损失会增加?
我正在训练一个线性回归模型。我使用 tf.contrib.data 来准备数据集,将其打乱并分批提供:
以下是我们的训练损失:
非常奇怪的是,在每个 epoch(迭代 = 100k)开始时,我们在训练损失中都有一个脉冲。如果训练过程继续进行,我们会在接下来的 epoch 开始时看到相同的模式。
tensorflow - 使用 Dataset API 生成平衡的小批量
我对新的数据集 API(tensorflow 1.4rc1)有疑问。我有一个不平衡的数据集 wrt 标签0
和1
. 我的目标是在预处理期间创建平衡的小批量。
假设我有两个过滤数据集:
有没有办法组合这两个数据集,使得结果数据集看起来像ds = [0, 1, 0, 1, 0, 1]
:
像这样的东西:
我目前的做法是:
但我觉得有一种更优雅的方式。
提前致谢!
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 提供相同的数据?
tensorflow - Tensorflow,无图读取tfrecord
我尝试用 Tensorflow 编写一个良好的结构化神经网络模型。但是我遇到了一个关于将 tfrecord 中的数据输入图表的问题。代码如下,它挂在下面的函数上,我怎样才能让它工作?
图像,标签 = network.load_tfrecord_data(1)
此功能无法从我的数据文件 .tfrecords 中获取特征(图像)和标签?
任何想法将不胜感激?
tensorflow - Tensorflow Dataset API 如何订购 list_files?
我正在使用 Dataset APIlist_files
来获取source
目录和target
目录中的文件列表,例如:
源目录和目标目录内容具有相同的顺序文件名,但扩展名不同(例如,源 0001.ext1 <-> 目标 0001.ext2)。
但由于 list_files 无论如何都没有排序,因此压缩数据集包含源和目标之间的不匹配。
如何在新的数据集 API 中解决这个问题?
tensorflow - Tensorflow - 数据集 API 中的字符串处理
我.txt
在 format 目录中有文件<text>\t<label>
。我正在使用TextLineDataset
API 来使用这些文本记录:
我想对 raw_text 功能进行一些字符串清理/处理。当我尝试运行时 line_split.values[0].strip().lower()
,我收到以下错误:
AttributeError:“张量”对象没有属性“条带”