如何在 tensorflow Python API 中访问类似numpy.finfo(或torch.finfo) 的内容?我想查找给定类型的最小增量或最大有限值 (例如tf.float32)。某些属性可直接访问;
numpy.finfo
torch.finfo
tf.float32
tf.float32.max >> -3.4028235e+38 tf.float32.min >> -3.4028235e+38
但是epsilon,infinity或者类似的情况怎么样?
epsilon
infinity
我希望有一个简单的 C++ 接口std::numeric_limits,但我似乎找不到它。
std::numeric_limits
您可以随时通过 PyTorch 检查这一点。应该与 TF 中的相同。
import torch print(torch.finfo(torch.float16).eps) #0.0009765625 print(torch.finfo(torch.float32).eps) #1.1920928955078125e-07 print(torch.finfo(torch.float64).eps) #2.220446049250313e-16 print(torch.finfo(torch.double).eps) #2.220446049250313e-16
否则这将是keras epsilon方式:
import tensorflow as tf tf.keras.backend.epsilon() #1e-07
还有set_epsilon()你可以玩的。
set_epsilon()