2017-05-26 6 views
0

私はTensorFlowを学ぶためにドキュメントを読んできましたが、次の機能とその目的をいつ使用するかについては苦労しました。入力は順序でなければならないので、使用されているRNNでtf.transposeがなぜ重要なのですか?

tf.split():

tf.split() 
tf.reshape() 
tf.transpose() 

私の推測では、これまでのことです。

シェイプを互換性のあるものにするためにtf.reshape()が使用されています(シェイプが正しくないのは、一般的な問題/私にとって間違いの傾向があります)。私はこれまでnumpyを使っていました。おそらくtf.reshape()に固執するでしょう。私は2つの違いがあるかどうかはわかりません。

tf.transpose()は、私の理解から行と列を入れ替えます。私がtf.transpose()を使わなければ、私の損失は落ちません。パラメータの値が正しくない場合、損失は減少しません。 tf.transpose()を使用している私の目的は、私の損失が減り、私の予測がより正確になるようにすることです。

私はtf.transpose()を使用しているので、これは大変迷惑です。なぜそれが重要な要素なのか理解していないからです。私はそれが正しく使用されていない場合、入力とラベルが間違った位置にある可能性があると仮定しています。モデルが学べないようにする。これが真実ならば、tf.transpose()を使用して試行錯誤を経てパラメータ値を計算することに頼らないようにするにはどうすればよいですか?

答えて

2

質問

  1. のはなぜtf.transpose()が必要なのでしょうか?
  2. 目的は何ですかtf.transpose()

回答

  1. のはなぜtf.transpose()が必要なのでしょうか?最初からソリューションを必要とするようにコードを記述しない限り、なぜそれが必要なのか想像できません。たとえば、学生1人につき50の統計情報を持つ120の生徒記録があり、それを使って3つのクラスを取るチャンスと線形結合を試みたいとします。私は、c = Rのx M

R =レコード、形状を有する行列[120x50] M =誘導マトリックスもしそうであれば

ようにそれを述べるだろう。それは[50x3]の形をしています c =すべての学生が3つのコースの1つを取るチャンス、[120x3]の形の行列

今、m [50x3]を作るのではなく、 [3x50]、乗算の前に転置する必要があります。

  1. の目的は何ですかtf.transpose()

時には、上記のように行と列を入れ替えるだけでよい場合もあります。 Wikipediaには素晴らしいページがあります。転置関数は、連想性や逆関数との関連性など、行列演算関数にとって優れた特性を持っています。

概要

私は私が今まで私が書いたいかなるCNNに tf.transpose を使用していたとは思いません。

関連する問題