テンソルの標準偏差を計算するために、TensorFlowのnp.std()に相当するものを探してください。TensorFlowのnp.std()に相当するものは何ですか?
14
A
答えて
22
平均と分散を得るにはtf.nn.moments
を使用してください。
mean, var = tf.nn.moments(x, axes=[1])
より上のtf.nn.moments
のparamsはdocs
3
を参照してくださいまた、Kerasから適応し、次のコードでreduce_std
を使用することができます。
#coding=utf-8
import numpy as np
import tensorflow as tf
def reduce_var(x, axis=None, keepdims=False):
"""Variance of a tensor, alongside the specified axis.
# Arguments
x: A tensor or variable.
axis: An integer, the axis to compute the variance.
keepdims: A boolean, whether to keep the dimensions or not.
If `keepdims` is `False`, the rank of the tensor is reduced
by 1. If `keepdims` is `True`,
the reduced dimension is retained with length 1.
# Returns
A tensor with the variance of elements of `x`.
"""
m = tf.reduce_mean(x, axis=axis, keep_dims=True)
devs_squared = tf.square(x - m)
return tf.reduce_mean(devs_squared, axis=axis, keep_dims=keepdims)
def reduce_std(x, axis=None, keepdims=False):
"""Standard deviation of a tensor, alongside the specified axis.
# Arguments
x: A tensor or variable.
axis: An integer, the axis to compute the standard deviation.
keepdims: A boolean, whether to keep the dimensions or not.
If `keepdims` is `False`, the rank of the tensor is reduced
by 1. If `keepdims` is `True`,
the reduced dimension is retained with length 1.
# Returns
A tensor with the standard deviation of elements of `x`.
"""
return tf.sqrt(reduce_var(x, axis=axis, keepdims=keepdims))
if __name__ == '__main__':
x_np = np.arange(10).reshape(2, 5).astype(np.float32)
x_tf = tf.constant(x_np)
with tf.Session() as sess:
print(sess.run(reduce_std(x_tf, keepdims=True)))
print(sess.run(reduce_std(x_tf, axis=0, keepdims=True)))
print(sess.run(reduce_std(x_tf, axis=1, keepdims=True)))
print(np.std(x_np, keepdims=True))
print(np.std(x_np, axis=0, keepdims=True))
print(np.std(x_np, axis=1, keepdims=True))
+0
私はtf1.4を使用していますが、tf.nn.momentsは何らかの理由で正しい結果を得ていません...私はあなたのバージョンを試しました。 –
関連する問題
- 1. TensorflowのCUDNN convolutionBackwardFilterに相当するものは何ですか?
- 2. numpy.random.multivariate_normalに相当するTensorflowとは何ですか?
- 3. Elasticsearchの(mongodbの)$に相当するものは何ですか?
- 4. Javascriptの.sampleに相当するものは何ですか?
- 5. phpMyAdminのアスタリスク(*)に相当するものは何ですか?
- 6. Visual C++のMy.Resourcesに相当するものは何ですか?
- 7. Debugger.Launch()のJavaに相当するものは何ですか?
- 8. .NETのPHP InfiniteIteratorに相当するものは何ですか?
- 9. NOT INのHQLに相当するものは何ですか?
- 10. @Postconstructのejb-jar.xmlに相当するものは何ですか?
- 11. dojo.create()のjQueryに相当するものは何ですか?
- 12. .net coreのcontext.environment.addに相当するものは何ですか?
- 13. Go deferのルビに相当するものは何ですか?
- 14. ARRAYFORMULAのINDEXに相当するものは何ですか?
- 15. Python os.pathsepのRustに相当するものは何ですか?
- 16. Regexp :: AssembleのJavaに相当するものは何ですか?
- 17. phpのtop.locationに相当するものは何ですか?
- 18. .NETの "ByteBuffer.flip"& "ByteBuffer.slice"に相当するものは何ですか?
- 19. PHPのpreg_quoteに相当するものは何ですか?
- 20. Rubyのsubstrに相当するものは何ですか?
- 21. Rubyの "pythonic"に相当するものは何ですか?
- 22. iOSのC#ドロップダウンコンボボックスに相当するものは何ですか?
- 23. WinRTのSecureStringに相当するものは何ですか?
- 24. pythonのgetattrに相当するものは何ですか
- 25. AndroidのActionSheetIOSに相当するものは何ですか?
- 26. RDFlibのrdf:IDに相当するものは何ですか?
- 27. DjangoアプリケーションのHerokuに相当するものは何ですか?
- 28. LinuxのWSAEventに相当するものは何ですか?
- 29. OSX swiftのwebviewdidfinishloadに相当するものは何ですか?
- 30. Swift 3の "dispatch_apply"に相当するものは何ですか?
どのように私はCでこれを達成することができ++ APIを? –
私は、C++ APIの平均に関するドキュメントのみを表示しています:https://www.tensorflow.org/api_docs/cc/class/tensorflow/ops/mean自分で分散を計算しなければならないと思います。 sum [(x-u)^ 2]分散をより効率的に計算する方法を知るために、Pythonソースコードを掘り下げてバックエンドを呼び出す方法があります。 – Steven