Python – tensorflow.math.betainc() 方法
TensorFlow 是由 Google 设计的开源Python库,用于开发机器学习模型和深度学习神经网络。 betainc()是 tensorflow 数学模块中用于计算正则化不完全 beta 积分I x (a,b) 的方法。
Regularized incomplete beta integral Ix(a,b) is defines as:
Ix(a,b) = B(x;a,b)/B(a,b)
where,
B(x;a,b) is incomplete beta function and is defined as:
B(x;a,b) = ?xo ta-1(1-t)b-1 dt
and B(a,b) is complete beta function.
Syntax: tensorflow.math.betainc( a, b, x, name)
Parameters:
- a: It’s a Tensor. Allowed types are float32 and float64.
- b: It’s a Tensor of type same as a.
- x: It’s also a Tensor of type same as a.
- name: It’s an optional parameter that defines the name for the operation.
Return: Returns a tensor of type same as a.
示例 1:
Python3
# importing the library
import tensorflow as tf
# initializing the constant tensors
a = tf.constant([1,2,3,4,5], dtype = tf.float64)
b = tf.constant([1.5,2.7,3.4,4.9,5.6], dtype = tf.float64)
x = tf.constant( [1,1,1,1,1], dtype = tf.float64)
# printing the input tensors
print('Input a: ',a)
print('Input b: ',b)
print('Input x: ',x)
# calculating the regularized incomplete beta integral
ribi = tf.math.betainc(a,b,x)
# printing the result
print('regularized incomplete beta integral: ',ribi)
Python3
# importing the library
import tensorflow as tf
# initializing the constant tensors
a = tf.constant([1,2,3,4,5], dtype = tf.complex128)
b = tf.constant([1.5,2.7,3.4,4.9,5.6], dtype = tf.complex128)
x = tf.constant( [1,1,1,1,1], dtype = tf.complex128)
# printing the input tensors
print('Input a: ',a)
print('Input b: ',b)
print('Input x: ',x)
# calculating the regularized incomplete beta integral
ribi = tf.math.betainc(a,b,x)
输出:
Input a: tf.Tensor([1. 2. 3. 4. 5.], shape=(5,), dtype=float64)
Input b: tf.Tensor([1.5 2.7 3.4 4.9 5.6], shape=(5,), dtype=float64)
Input x: tf.Tensor([1. 1. 1. 1. 1.], shape=(5,), dtype=float64)
regularized incomplete beta integral: tf.Tensor([1. 1. 1. 1. 1.], shape=(5,), dtype=float64)
示例 2:此示例尝试使用不允许的 dtype 张量评估正则化不完全 beta 积分。这将引发 NotFoundError。
Python3
# importing the library
import tensorflow as tf
# initializing the constant tensors
a = tf.constant([1,2,3,4,5], dtype = tf.complex128)
b = tf.constant([1.5,2.7,3.4,4.9,5.6], dtype = tf.complex128)
x = tf.constant( [1,1,1,1,1], dtype = tf.complex128)
# printing the input tensors
print('Input a: ',a)
print('Input b: ',b)
print('Input x: ',x)
# calculating the regularized incomplete beta integral
ribi = tf.math.betainc(a,b,x)
输出:
Input a: tf.Tensor([1.+0.j 2.+0.j 3.+0.j 4.+0.j 5.+0.j], shape=(5,), dtype=complex128)
Input b: tf.Tensor([1.5+0.j 2.7+0.j 3.4+0.j 4.9+0.j 5.6+0.j], shape=(5,), dtype=complex128)
Input x: tf.Tensor([1.+0.j 1.+0.j 1.+0.j 1.+0.j 1.+0.j], shape=(5,), dtype=complex128)
NotFoundError Traceback (most recent call last)
in ()
1 # calculating the regularized incomplete beta integral
----> 2 ribi = tf.math.betainc(a,b,x)
2 frames
/usr/local/lib/python3.6/dist-packages/six.py in raise_from(value, from_value)
NotFoundError: Could not find valid device for node.
Node:{{node Betainc}}
All kernels registered for op Betainc :
device='XLA_CPU_JIT'; T in [DT_FLOAT, DT_DOUBLE]
device='XLA_GPU_JIT'; T in [DT_FLOAT, DT_DOUBLE]
device='XLA_CPU'; T in [DT_FLOAT, DT_DOUBLE]
device='XLA_GPU'; T in [DT_FLOAT, DT_DOUBLE]
device='GPU'; T in [DT_DOUBLE]
device='GPU'; T in [DT_FLOAT]
device='CPU'; T in [DT_DOUBLE]
device='CPU'; T in [DT_FLOAT]