私はTensorFlowのニューラルネットワークでいくつかの実験を行っています。最新バージョンのリリースノートでは、今後DataSetは入力データを提供するために推奨されるAPIです。DataSetは入力値の範囲を正規化します
一般に、外界から数値を取得するときは、値の範囲を正規化する必要があります。長さ、質量、速度、日付または時間のような生の数字を差し込むと、その結果生じる問題は悪条件になります。値のダイナミックレンジをチェックし、範囲(0,1)または(-1,1)に正規化する必要があります。
これはもちろん、生のPythonで行うことができます。しかし、DataSetは、多数のデータ変換機能を提供し、その結果コードを維持するのが簡単になるだけでなく、実行速度が向上するという理論上、その使用を奨励します。これは、正規化のための組み込み機能もなければならないことを示唆しています。
しかし、https://www.tensorflow.org/programmers_guide/datasetsのドキュメントを見ても、そのようなことは言及されていません。何か不足していますか?これを行うための推奨される方法は何ですか?
データセット全体または各要素内で正規化しようとしていますか?各要素の内部は 'dataset.map'を使って簡単にできるはずですが、値が取ることができる最大値と最小値をあらかじめ知っていなければ、データセット全体で簡単に行うことはできません。 – Sunreef
@Sunreefそうです、実際に発生するすべての値を調べる前にそれを行う方法を知る方法がないため、データセット全体に渡っていなければなりません。 – rwallace
@nwallace Tensorflowの遅延読み込みでは、データセット全体を繰り返し処理し、最大値と最小値を抽出し、次にこの情報を2番目のステップで使用する前処理ステップを追加しない限り、すべての値にアクセスできるかどうかはわかりませんトレーニングのとき。しかし、通常のNumpyを使ってこれらの値を取得する方が良いでしょう。 – Sunreef