2017-11-25 13 views
2

TensorFlowでは、ほとんどのプログラミング言語とは異なり、配列の形状は型の一部とはみなされません。欠点は、誤って誤った形のデータを誤って入力した場合、間違った答えが返ってくる可能性があるということです。 Slightly different shape converges to wrong number - why?はデバッグを困難にします。TensorFlowシェイプチェッカ

TFのシェイプチェッカーはありますか?つまり、グラフ(サンプルfeed_dictが必要な場合)を分析し、形状の不一致があればアラームを発することができる関数またはプログラムですか?

答えて

3

Tensorflowは、Tensorflowプレースホルダを宣言するときに指定するシェイプ引数であるシェイプチェッカーのメカニズムを提供します。デフォルトでは、テンソルは形状に対して[None、None]をとります。しかし、たとえば、プレースホルダを宣言しているときにシェイプを指定すると、ユーザーが間違った/矛盾したシェイプのデータを入力するたびにシェイプエラーが発生します。例えば が、私はXという名前のプレースホルダを宣言し、あまりにもその形状の引数を指定しなかったと言うことができます:

X=tf.placeholder(dtype=tf.float32, shape=[None,256]) 

、これはXの行数が変わることができることを意味しますが機能の数は、常に今256可能となります、私は誤って形状のデータをフィードすると1000行と20のフィーチャを言う場合、形状エラーが発生します。また

、このリンクをチェック:https://www.tensorflow.org/api_docs/python/tf/placeholder