Chỉ cần tìm kiếm giá trị tương đương của np.std() trong TensorFlow để tính toán độ lệch chuẩn của một tensor.Tương đương với np.std() trong TensorFlow là gì?
14
A
Trả lời
22
Để lấy giá trị trung bình và phương sai chỉ cần sử dụng tf.nn.moments
.
mean, var = tf.nn.moments(x, axes=[1])
Để biết thêm về tf.nn.moments
params thấy docs
3
Bạn cũng có thể sử dụng reduce_std
trong đoạn mã sau chuyển thể từ Keras:
#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
Tôi đang sử dụng tf1.4, tf.nn.moments không cung cấp cho tôi một kết quả chính xác vì một số lý do ... Tôi đã thử phiên bản của bạn và nó hoạt động trong lần thử đầu tiên :) +1 –
Các vấn đề liên quan
- 1. Python tương đương với Perlbrew là gì?
- 2. WPF tương đương với ControlPaint.Light là gì?
- 3. Tương đương Response.Redirect trong Silverlight là gì?
- 4. Tương đương "sys.stdout.write()" trong Ruby là gì?
- 5. JVM tương đương trong C# là gì?
- 6. Tương đương System.TimeZoneInfo.IsDaylightSavingTime trong NodaTime là gì?
- 7. Tương đương với | = trong Visual Basic là gì?
- 8. Tương đương với lớp Java BigDecimal trong C# là gì?
- 9. Tương đương với foldr, foldl trong Emacs Lisp là gì?
- 10. Tương đương với Linux mkdir -p trong Windows là gì?
- 11. Tương đương với InnerText trong LINQ-to-XML là gì?
- 12. Tương đương với Math.abs() trong Mục tiêu-C là gì?
- 13. Clojure tương đương với Overriding "bằng" trong java là gì?
- 14. tương đương với = ~ của ruby trong php là gì?
- 15. Tương đương với ActionSheetIOS trong Android là gì?
- 16. Tương đương với System.nanoTime() trong .NET là gì?
- 17. Tương đương với REGEXP_SUBSTR trong mysql là gì?
- 18. Tương đương với việc truyền DefaultCredentials trong WCF là gì?
- 19. Tương đương với HttpServiceHost trong ASP.NET WebAPI là gì?
- 20. Tương đương với SecureString trong WinRT là gì?
- 21. Tương đương với LinkedHashSet (Java) trong C# là gì?
- 22. Tương đương với "none" trong các mẫu django là gì?
- 23. Tương đương với JPA trong .NET là gì?
- 24. Tương đương với bigint trong C# là gì?
- 25. Tương đương với mới/xóa C++ trong C là gì?
- 26. Tương đương với C++ cho AutoResetEvent trong Linux là gì?
- 27. Tương đương với InfiniteIterator của PHP trong .NET là gì?
- 28. Tương đương với "npm install --save" trong Sợi là gì?
- 29. Tương đương với Assembly.GetEntryAssembly() trong .NET Core là gì?
- 30. Tương đương với Thread.SetApartmentState trong C++ là gì?
Làm thế nào tôi có thể đạt được trong C++ API này? –
Tôi chỉ thấy tài liệu về giá trị trung bình trong API C++: https://www.tensorflow.org/api_docs/cc/class/tensorflow/ops/mean Tôi nghĩ bạn sẽ phải tự tính toán phương sai. sum [(x- u)^2] Bạn có thể khai thác mã nguồn python để biết cách chúng gọi kết thúc sau để xem cách tính toán phương sai hiệu quả hơn. – Steven