Skip to content
Related Articles

Related Articles

Python – tensorflow.math.betainc() method

Improve Article
Save Article
  • Last Updated : 04 Jun, 2020
Improve Article
Save Article

TensorFlow is open-source python library designed by Google to develop Machine Learning models and deep learning  neural networks.  betainc() is method in tensorflow math module used to Compute the regularized incomplete beta integral Ix(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.
 

Example 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)


Output:

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)


Example 2: This example tries to evaluate regularized incomplete beta integral  with unallowed dtype tensor. This will raise 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)


Output:

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)

<ipython-input-16-904ce11d62af> in <module>()
      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]



My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!