【问题标题】:Tensorflow finfo (numeric limits)Tensorflow finfo(数值限制)
【发布时间】:2019-01-04 22:43:20
【问题描述】:

如何在 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 的直接接口,但我似乎找不到它。

【问题讨论】:

标签: python tensorflow pytorch


【解决方案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()可以玩。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-16
    • 2018-06-28
    • 1970-01-01
    • 2018-06-18
    • 2016-12-01
    • 1970-01-01
    • 2019-03-29
    • 1970-01-01
    相关资源
    最近更新 更多