PyTorch is an open-source framework available with a Python programming language. Tensor is a multidimensional array that is used to store the data. To use a tensor, we have to import the torch module. To create a tensor, the method used is tensor().

**Syntax:**

Where the data is a multi-dimensional array.

**Torch.isposinf()**

Isposinf() in PyTorch returns True for the elements if the element is positive infinity. Otherwise, it returns False. It takes one parameter.

**Syntax:**

**Parameter:**

tensor_object is a tensor.

**Return:**

It will return a boolean tensor with respect to the actual tensor.

**Representation:**

Negative Infinity - float('-inf')

Not a number - float('nan’)

**Example 1:**

In this example, we will create a tensor with one dimension that has 5 elements and check if these 5 elements are positive infinite or not.

import torch

#create a tensor

data1 = torch.tensor([12,34,56,1, float('inf')])

#display

print("Actual Tensor: ")

print(data1)

print("Check for Positive Infinite")

print(torch.isposinf(data1))

**Output:**

tensor([12., 34., 56., 1., inf])

Check for Positive Infinite

tensor([False, False, False, False, True])

**Working:**

- Twelve (12) is not infinity, so it is finite (False)
- Thirty-four (34) is not infinity, so it is finite (False)
- Fifty-six (56) is not infinity, so it is finite (False)
- One (1) is not infinity, so it is finite (False)
- The inf is positive infinity (True)

**Example 2:**

In this example, we will create a tensor with one dimension that has 5 elements and check if these 5 elements are positive infinite or not.

import torch

#create a tensor

data1 = torch.tensor([float('-inf'),34,56,float('nan'), float('inf')])

#display

print("Actual Tensor: ")

print(data1)

print("Check for Positive Infinite")

print(torch.isposinf(data1))

**Output:**

tensor([-inf, 34., 56., nan, inf])

Check for Positive Infinite

tensor([False, False, False, False, True])

**Working:**

- The -inf is negative infinity, so it is not positive infinite (False).
- Thirty-four (34) is neither infinity nor nan, so it is Finite (False).
- Fifty-six (56) is neither infinity nor nan, so it is Finite (False).
- The nan is not a number, so it is not finite and not Infinity (False).
- The inf is positive infinity (True).

**Example 3:**

In this example, we will create a tensor with two dimensions that has 5 elements in each row and check if these 5 elements are positive infinite or not.

import torch

#create a 2D tensor

data1=torch.tensor([[float('-inf'),34,56,float('nan'), float('inf')],[float('-inf'),100,-4,float('nan'), float('inf')]])

#display

print("Actual Tensor: ")

print(data1)

print("Check for Positive Infinite")

print(torch.isposinf(data1))

**Output:**

tensor([[-inf, 34., 56., nan, inf],

[-inf, 100., -4., nan, inf]])

Check for Positive Infinite

tensor([[False, False, False, False, True],

[False, False, False, False, True]])

**Working:**

- The -inf is negative infinity, so it is not positive infinite (False). The -inf is negative infinity, so it is not positive infinite (False).
- Thirty-four (34) is neither infinity nor nan, so it is Finite (False). One-hundred (100) is neither infinity nor nan, so it is Finite (False).
- Fifty-six (56) is neither infinity nor nan, so it is Finite (False). Negative four (-4) is neither infinity nor nan, so it is Finite (False).
- The nan is not a number, so it is not infinite (False). The nan is not a number, so it is not infinite (False).
- The inf is positive infinity (True). The inf is positive infinity (True).

**Work with CPU**

If you want to run an isposinf() function on the CPU, we have to create a tensor with a cpu() function. This will run on a CPU machine.

When we create a tensor, this time, we can use the cpu() function.

**Syntax:**

**Example 1:**

In this example, we will create a tensor with one dimension that has 5 elements on the cpu and check if these 5 elements are positive infinite or not.

import torch

#create a tensor

data1 = torch.tensor([12,34,56,1, float('inf')]).cpu()

#display

print("Actual Tensor: ")

print(data1)

print("Check for Positive Infinite")

print(torch.isposinf(data1))

**Output:**

tensor([12., 34., 56., 1., inf])

Check for Positive Infinite

tensor([False, False, False, False, True])

**Working:**

- Twelve (12) is not infinity, so it is finite (False).
- Thirty-four (34) is not infinity, so it is finite (False).
- Fifty-six (56) is not infinity, so it is finite (False).
- One (1) is not infinity, so it is finite (False).
- The inf is positive infinity (True).

**Example 2:**

In this example, we will create a tensor with one dimension that has 5 elements on the cpu and check if these 5 elements are positive infinite or not.

import torch

#create a tensor

data1 = torch.tensor([float('-inf'),34,56,float('nan'), float('inf')]).cpu()

#display

print("Actual Tensor: ")

print(data1)

print("Check for Positive Infinite")

print(torch.isposinf(data1))

**Output:**

tensor([-inf, 34., 56., nan, inf])

Check for Positive Infinite

tensor([False, False, False, False, True])

**Working:**

- The -inf is negative infinity, so it is not positive infinite (False).
- Thirty-four (34) is neither infinity nor nan, so it is Finite (False).
- Fifty-six (56) is neither infinity nor nan, so it is Finite (False).
- The nan is not a number, so it is not finite and not Infinity (False).
- The inf is positive infinity (True).

**Example 3:**

In this example, we will create a tensor with two dimensions that has 5 elements in each row and check if these 5 elements are positive infinite or not.

import torch

#create a 2D tensor

data1=torch.tensor([[float('-inf'),34,56,float('nan'), float('inf')],[float('-inf'),100,-4,float('nan'), float('inf')]]).cpu()

#display

print("Actual Tensor: ")

print(data1)

print("Check for Positive Infinite")

print(torch.isposinf(data1))

**Output:**

tensor([[-inf, 34., 56., nan, inf],

[-inf, 100., -4., nan, inf]])

Check for Positive Infinite

tensor([[False, False, False, False, True],

[False, False, False, False, True]])

**Working:**

- The -inf is negative infinity, so it is not positive infinite (False). The -inf is negative infinity, so it is not positive infinite (False).
- Thirty-four (34) is neither infinity nor nan, so it is Finite (False). One-hundred (100) is neither infinity nor nan, so it is Finite (False).
- Fifty-six (56) is neither infinity nor nan, so it is Finite (False). Negative four (-4) is neither infinity nor nan, so it is Finite (False).
- The nan is not a number, so it is not infinite (False). The nan is not a number, so it is not infinite (False).
- The inf is positive infinity (True). The inf is positive infinity (True).

**Conclusion**

In this PyTorch lesson, we discussed about the isposinf() function. It returns False for the elements if the element is not positive infinity. Otherwise, it returns True.