? tf.add()
の代わりに+
を使用してグラフを構成すると、計算グラフではどのような違いがありますか?TensorFlow演算子のオーバーロード</p> <pre><code>tf.add(x, y) </code></pre> <p>とTensorFlowで</p> <pre><code>x + y </code></pre> <p>の違いは何
さらに一般的には、+
または他の演算でテンソルがオーバーロードされていますか?
? tf.add()
の代わりに+
を使用してグラフを構成すると、計算グラフではどのような違いがありますか?TensorFlow演算子のオーバーロード</p> <pre><code>tf.add(x, y) </code></pre> <p>とTensorFlowで</p> <pre><code>x + y </code></pre> <p>の違いは何
さらに一般的には、+
または他の演算でテンソルがオーバーロードされていますか?
x
又はy
の少なくとも一方がtf.Tensor
オブジェクトである場合、式tf.add(x, y)
とx + y
は等価です。 tf.add()
を使用する主な理由は、作成された演算子に明示的なname
キーワード引数を指定することです。これは、オーバーロード演算子バージョンでは不可能です。
なおx
もy
でもない場合tf.Tensor
—彼らは—が、その後x + y
がTensorFlow OPを作成しませんnumpyの配列がある場合たとえば。 tf.add()
は常にTensorFlow演算を作成し、引数をtf.Tensor
オブジェクトに変換します。したがって、テンソルとNumPy配列の両方を受け入れるライブラリ関数を作成する場合は、tf.add()
を使用することをお勧めします。
以下の演算子はTensorFlow PythonのAPIにオーバーロードされている:
__neg__
(単項-
)__abs__
(abs()
)__invert__
(単項~
)__add__
(バイナリ+
)__sub__
(バイナリ-
)__mul__
(バイナリ要素単位*
)__div__
(パイソン2バイナリ/
)__floordiv__
(パイソン3におけるバイナリ//
)__truediv__
(パイソン3におけるバイナリ/
)__mod__
(バイナリ%
)__pow__
(バイナリ**
)__and__
(バイナリ&
)__or__
(バイナリ|
)__xor__
(バイナリ^
)__lt__
(バイナリ<
)__le__
(バイナリ<=
)__gt__
(バイナリ>
)__ge__
(バイナリ>=
)
テンソルスカラー比較で '=='演算子を使用するとどうなりますか? –