2017-08-07 7 views
0

入力トレーニングデータをdata_norm = tf.nn.l2_normalize(data, 0)で正規化しています。正規化に使用される平均と標準を抽出/保存するテンソルフローがありますか?

データの形は[None, 4]です。各列は機能です。それは次のようになります。

data = [[-3., 0.2, 1.6, 0.5], 
     [3.6, 1.5, -1.9, 0.71], 
     ...] 

私はトレーニングセット内の指定された正規化は、テストはがあまりにも、正規化されなければならない設定が、訓練からstdmeanを使用してはを設定することを理解しています。 (これは、NNの実際の使用中にも当てはまると仮定します。つまり、NNに入る前にトレーニングセットmean,stdを使用して正規化する必要があります)。

mean,stdを正規化に使用する方法はありますか?トレーニングデータの正規化に使用されている標準と同じ平均を使用してテストセットを正規化できますか? 私は重量などを保存する方法を知っていますsaver.save(sess, "checkpoints/" + save_id)。保存/ロードする方法はありますか?このような意味ですか?

答えて

1

tf.nn.l2_normalize入力データのreal_time平均を使用すると、この関数を使用してトレーニングデータmeanまたはstdを使用することはできません。 l2_normalize_docs

output_l2_normalize = input/sqrt(max(sum(input**2), epsilon)) 

注:入力データを正規化しようとしているので、あなたがグローバル(トレーニングデータセット)meanを事前に計算し、stdと正規化する独自の機能を書き込むことができます。

+0

通常の平均値とは対照的に、 "real_time" は何を意味するのですか? – sandboxj

+1

は、関数の入力データから実行時に計算され、他の定数からは復元されません。あなたはそれを通常の平均と見なすこともできます。 –

0

documentationより:

DIM = 0と1-Dテンソルについて、計算

output = x/sqrt(max(sum(x**2), epsilon)) 

イプシロンは、1E-12、または-12〜10にデフォルト設定されています。

したがって、この同じ機能をテストデータに適用できます。

HTH!

乾杯、

-maashu

関連する問題