如何在tensorflow Python API中访问类似numpy.finfo
(或torch.finfo
)的内容?我想查找诸如给定类型的最小增量或最大有限值之类的东西(例如tf.float32
)。一些属性可以直接访问;
tf.float32.max
>> -3.4028235e+38
tf.float32.min
>> -3.4028235e+38
但是epsilon
,infinity
或类似的东西呢?
我希望可以使用一个直接的c ++ std::numeric_limits
接口,但是我似乎找不到它。
答案 0 :(得分:1)
您始终可以通过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()
。