Open In App

Python – tensorflow.math.betainc() method

Improve
Improve
Like Article
Like
Save
Share
Report

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]




Last Updated : 04 Jun, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads