Tensorflow finfo(数字限制)

时间:2019-01-04 22:43:20

标签: tensorflow

如何在tensorflow Python API中访问类似numpy.finfo(或torch.finfo)的内容?我想查找诸如给定类型的最小增量或最大有限值之类的东西(例如tf.float32)。一些属性可以直接访问;

tf.float32.max
>> -3.4028235e+38
tf.float32.min
>> -3.4028235e+38

但是epsiloninfinity或类似的东西呢?

我希望可以使用一个直接的c ++ std::numeric_limits接口,但是我似乎找不到它。

1 个答案:

答案 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()