私は、通常のNumPyを使用して構築されたかなり単純なデータの読み取りとフィードパイプラインを持つTensorFlowの深い学習ワークフローを持っています。 TensorFlowには、データをロードしてデータパイプラインを構築するための多数の関数が用意されています。私はこれらの目標がどのようなシナリオであるのだろうと思います。非常に大規模な実世界のデータセット、およびhigh-level TensorFlow API付きで構築された さまざまなTensorFlowデータ読み込みイディオムが適用されるシナリオは何ですか?
- 学習:2つがあるようです。
things like input functionsのドキュメントの多くは、後者で独占的にターゲットに思えますが"reading" as opposed to "feeding"(例えば、このようなtf.train.shuffle_batch
などの機能が、tf.one_hot
ようにも簡単なヘルパー)を使用する利点は、元には適用されているようです。
標準のPythonを使って簡単に読み込めるファイルを扱っていて、一度にメモリに効率的にロードできるファイルは、np.array
を使って簡単にうまく動作します。 (私がそれらを疲れている程度にはかなり遅いパイプラインを読む)か、不適切なAPI(私が主に "低レベル" APIを使用するということを考えると、 "高レベル"のAPI)。
私はすでにTensorFlow(低レベルの学習APIではない)を使用しており、NumPy配列を供給することが私のニーズを満たしているとすれば、どちらの代替アプローチも気にする必要はありません。これらのアプローチの意図された目標が私のものと異なると言うのは公正でしょうか?
また、さまざまなTensorFlowデータ読み込み慣用句やそれらを適用するシナリオをより良い要因とする別の分類法がありますか?
非常に役に立ちます。さまざまなアプローチにリンクできますか?たとえば、 "StageOp/Dataset"オペレーションが実際のAPIの点で "キュー"とどのように違うのか分かりません。また、私はすでに "本物の" TensorFlowを使用している場合、 "高レベル"のAPIアプローチは実際には関連していないと考えています。 – orome
私がキューに書いたチュートリアルの[スライド](https://github.com/yaroslavvb/stuff/blob/master/queues_talk/slides.pdf)ですが、他にもいくつかあります。データセットはhttps://github.com/tensorflow/tensorflow/blob/master/tensorflow/docs_src/programmers_guide/datasets.mdで紹介されています。 StageOpは公式のAPI /ソースコメントに記載されています –
私は既存のフィードベースのコードをデータセットにマップする方法について、[フォローアップの質問を投稿しました](https://stackoverflow.com/q/45399907/656912)です。このフォームをどのようにして行うのかは明らかではありません。特に、私が行っているロギングと分析のためです。 – orome