问题标签 [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:在我自己的图像上进行训练
我是 TensorFlow 的新手。我正在寻找图像识别方面的帮助,我可以在其中训练自己的图像数据集。
有没有训练新数据集的例子?
tensorflow - 缓存具有不同长度示例的数据集
我的数据集由 5-180 秒之间的音频片段组成。示例的数量足够小,可以将其缓存在内存中,而不是一遍又一遍地从磁盘读取。将数据存储在常量张量/变量中并使用tf.train.slice_input_producer
将允许我将数据集缓存在内存中,但它需要将所有数据存储在一个矩阵中。由于某些示例比其他示例长得多,因此该矩阵可能不必要地大,并且对于 RAM 来说可能太大。
我可以简单地为我的数据提供一个 numpy 数组列表,并使用 a 以非 tensforflow 方式进行整个输入读取-随机化-预处理feed_dict
,但我想知道是否有一种方法可以在不完全放弃 tensorflow 的情况下做到这一点输入读取-随机化-预处理部分。
谢谢!
python - 将队列拆分为训练/测试集
我从文件名队列开始设置我的管道,如下面的伪代码所示:
指向TFRecords
包含多个序列化tf.train.Example
图像。在 tensorflow 指南之后,一个函数读取一个示例:
用于批处理队列:
我正在寻找一种将数据随机拆分为训练和测试集的方法。我不想将训练集和测试集保存到不同的文件中,而是将图像随机分配给训练集或测试集,而与读取它们的文件无关。理想情况下,我想将输入管道拆分为训练和测试队列。
当我必须拆分一个巨大的数据集时,这是我通常在 numpy 中所做的
tensorflow - TensorFlow:tf.contrib.data API 中的“无法按值捕获有状态节点”
对于迁移学习,人们通常使用网络作为特征提取器来创建特征数据集,在该数据集上训练另一个分类器(例如 SVM)。
我想使用 Dataset API ( tf.contrib.data
) 和dataset.map()
:
为数据集创建迭代器时,这样做会失败。
这是真的,网络的内核和偏差是变量,因此是有状态的。对于这个特定的示例,它们不必是。
有没有办法让 Ops 和特别是tf.Variable
对象无状态?
由于我正在使用tf.layers
我不能简单地将它们创建为常量,并且设置trainable=False
也不会创建常量,但不会将变量添加到GraphKeys.TRAINABLE_VARIABLES
集合中。
tensorflow - Tensorflow:tf.contrib.data 中 dataset.map() 的类型不兼容
使用带有 的哈希表查找时tf.contrib.Dataset.map()
,它会失败并出现以下错误:
TypeError: In op 'hash_table_Lookup', input types ([tf.string, tf.string, tf.int32]) are not compatible with expected types ([tf.string_ref, tf.string, tf.int32])
重现代码:
它抱怨tf.string_ref
和tf.string
不兼容。
奇怪的是它需要 atf.string_ref
而不是 a tf.string
。有谁知道为什么会这样以及我能做些什么?
这些问题与table_ref
在tf.string_ref
这里有关。
python - 如何在 tf.estimator 的 input_fn 中使用 tf.data 的可初始化迭代器?
我想用 a 来管理我的培训,tf.estimator.Estimator
但在与tf.data
API 一起使用时遇到了一些麻烦。
我有这样的事情:
由于我不能将 amake_one_shot_iterator
用于我的用例,我的问题是它input_fn
包含一个应该在其中初始化的迭代器model_fn
(这里,我tf.train.Scaffold
用来初始化本地操作)。
另外,我知道我们不能只使用input_fn = iterator.get_next
其他操作,否则其他操作将不会添加到同一个图中。
初始化迭代器的推荐方法是什么?
tensorflow - Tensorflow 的数据集 API 中的内存管理
我的训练数据集太大而无法放入内存,因此我的代码一次只能从磁盘读取 1,000 条记录。现在我想使用 Tensorflow 的新Dataset API。数据集 API 是否允许我指定要保留在内存中的记录数,或者 Tensorflow 是否会自动管理内存以便我不必这样做?
python - 如何在 TensorFlow 中使用“group_by_window”函数
在 TensorFlow 的一组新输入管道函数中,可以使用“group_by_window”函数将记录集分组在一起。它在此处的文档中进行了描述:
https://www.tensorflow.org/api_docs/python/tf/contrib/data/Dataset#group_by_window
我不完全理解这里用于描述功能的解释,我倾向于通过示例来学习。我在互联网上的任何地方都找不到此功能的任何示例代码。有人可以提出这个函数的准系统和可运行的例子来展示它是如何工作的,以及赋予这个函数什么?
python - Numpy to TFrecords:有没有更简单的方法来处理来自 tfrecords 的批量输入?
我的问题是关于如何从多个(或分片)tfrecord 中获取批量输入。我已经阅读了示例https://github.com/tensorflow/models/blob/master/inception/inception/image_processing.py#L410。基本管道是以训练集为例,(1)首先生成一系列 tfrecord(例如,,,train-000-of-005
... train-001-of-005
),(2)从这些文件名中,生成一个列表并将它们输入tf.train.string_input_producer
到队列,(3)同时生成一个tf.RandomShuffleQueue
做其他事情,(4)tf.train.batch_join
用于生成批量输入。
我认为这很复杂,我不确定这个程序的逻辑。就我而言,我有一个.npy
文件列表,我想生成分片 tfrecords(多个单独的 tfrecords,而不仅仅是一个大文件)。这些.npy
文件中的每一个都包含不同数量的正样本和负样本(2 类)。一种基本方法是生成一个大型 tfrecord 文件。但文件太大(~20Gb
)。所以我求助于分片 tfrecords。有没有更简单的方法来做到这一点?谢谢。
python - 新添加的 api `tf.contrib.data` 的目的是什么
在这个 api 之前,我总是按照官方教程分几个步骤准备数据集:
1.将样本写入 tfrecord 文件
2.用阅读器将其作为字符串读取
3.将字符串解码为张量
4.batch
那么引入这个新api的目的是什么?它和基于队列的输入管道有什么区别?我应该选择哪一个?我也是pytorch用户,pytorch有dataset
api,是不是pytorch的“副本”?