In this Python tutorial, we will discuss the error “**module ‘TensorFlow’ has no attribute ‘log’**“. And we’ll also cover the following topics:

- Attributeerror module ‘tensorflow’ has no attribute ‘log’
- Attributeerror module ‘tensorflow’ has no attribute ‘logging’ bert
- Attributeerror module ‘tensorflow.Keras.backend’ has no attribute ‘logsumexp’
- Attributeerror module ‘tensorflow._api.v2.train’ has no attribute ‘
**loggingtensorhook**‘

## Attributeerror module ‘tensorflow’ has no attribute ‘log’

- In this section, we will discuss the error AttributeError:”module ‘Tensorflow’ has no attribute
**‘session’**in Python. - To perform this task first we will import the TensorFlow library with the tf alias where
represents the TensorFlow and is used for numerical computation problems.*tf* - Next, we will create a variable in the form of tensors and assign a
**tf.constant()**function. In Python, this function takes a constant value that represents the value that does not modify and it also initialized an object like an array or list. - Several elementary mathematical operations are supported by the tensorflow.math module. The Tensorflow function
**tf.log()**[alias**tf.math.log**] supports the natural logarithmic function. It anticipates input in the form of floating point values or complex numbers in the**a+bi**format. - If there are several elements in the input, an element-wise logarithm is computed. The input type is tensor.

Example:

```
import tensorflow as tf
new_tens = tf.constant([-2.3, -5.3, 1.7, 1.4, 9], dtype = tf.float32)
result= tf.log(new_tens)
with tf.Session() as val:
new_output=val.run(result)
print(new_output)
```

In this example, we created a tensor and then used the **tf.log() **function to compute the log values.

Here is the Screenshot of the following given code.

The solution to this error.

In this example, we will use the concept of **tf.math.log()** function and it will compute the natural logarithm of x element-wise.

Let’s have a look at the syntax and understand the working of **tf.math.log() **function

```
tf.math.log(
x, name=None
)
```

- It consists of a few parameters
**x**: This parameter is an input tensor and it must be of the following types float32, float 64, and complex 128.**name**: This parameter specifies the name of the operation.

```
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
new_tens = tf.constant([-2.3, -5.3, 1.7, 1.4, 9], dtype = tf.float32)
result= tf.math.log(new_tens)
with tf.compat.v1.Session() as val:
new_output=val.run(result)
print(new_output)
```

You can refer to the below Screenshot

As you can see in the Screenshot the log error has been solved.

Read: Attributeerror: module ‘tensorflow’ has no attribute ‘mul’

## Attributeerror module ‘tensorflow’ has no attribute ‘logging’ bert

- Here we will discuss how to solve the error module
**‘tensorflow’**has no attribute**‘logging’**bert. - To do this task we will use the
**tf.logging()**function but this method is only available in the 1.x version and we have to find the values of the log. For this first, we have created a tensor by using the**tf.constant()**function and we have assigned the datatype within this function.

**Example**:

```
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
new_tens = tf.constant([-2.3, -5.3, 1.7, 1.4, 9], dtype = tf.float32)
result= tf.logging(new_tens)
with tf.compat.v1.Session() as val:
new_output=val.run(result)
print(new_output)
```

Here is the implementation of the following given code

Read: TensorFlow Natural Language Processing

## Attributeerror module ‘tensorflow.Keras.backend’ has no attribute ‘logsumexp’

- To determine the log sum exp of a Tensor’s elements over all of its dimensions, use the
**tf.logSumExp()**function. The input items are reduced along the axes’ dimensions. - The reduced dimensions are kept with a length of 1 if the parameter
**“keepDims”**is true; otherwise, the rank of the tensor is decreased by 1. It returns a Tensor with a single element and all reduced dimensions if the axis parameter has no entries.

**Example**:

```
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
new_tens = tf.constant([2,3,4,5,6,7], dtype = tf.int32)
result= tf.logsumexp(new_tens)
with tf.compat.v1.Session() as val:
new_output=val.run(result)
print(new_output)
```

Here is the Screenshot of the following given code

The solution to this error.

Here we will use the concept of** tf.math.reduce_logsumexp()** function and it will compute the log sum exp of values across dimensions of an input tensor.

**Syntax**:

```
tf.math.reduce_logsumexp(
input_tensor, axis=None, keepdims=False, name=None
)
```

- It consists of a few parameters
**input_tensor**: It is a numeric tensor to reduce.**axis**: By default, it takes none value and It specifies the reduced dimensions. The range [**-rank(input tensor), rank(input tensor)**] should contain its value. If a value is not provided, all dimensions are reduced.**keepdims**: False is the default value for it. If it is set to True, the reduced dimension with length 1 will be kept.**name**: This is an optional parameter and it specifies the name of the operation.

```
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
new_tens = tf.constant([2.3,3.4,4.7,5.1,6.3,7.9], dtype = tf.float32)
result= tf.math.reduce_logsumexp(new_tens)
with tf.compat.v1.Session() as val:
new_output=val.run(result)
print(new_output)
```

Here is the Output of the following given code.

This is how we can solve the attributeerror module tensorflow.Keras_backend has no attribute logsumexp.

Read: TensorFlow feed_dict + 9 Examples

## Attributeerror module ‘tensorflow._api.v2.train’ has no attribute ‘loggingtensorhook’

- Since accessing tensors by names is not supported, establish a custom callback
**(LoggingTensorCallback)**where you manually record and output the logged tensors in order to replicate the behavior of the LoggingTensorHook. - The logging frequency can also be used inside the custom callback. The weights will be printed every two steps in the example below. There are more operations that can be used, such as logging every N seconds.

**Example**:

```
new_tens = {"probabilities": "softmax_tensor"}
new_logging_hook = tf.train.LoggingTensorHook(tensors=new_tens, every_n_iter=50)
print(new_logging_hook)
```

You can refer to the below Screenshot

The Solution to this error.

In this example, we will use the concept of the **tf.estimator.LoggingTensorHook()** function and it will print the input tensor every N local steps and every N seconds.

**Syntax**:

```
tf.estimator.LoggingTensorHook(
tensors, every_n_iter=None, every_n_secs=None, at_end=False, formatter=None
)
```

- It consists of a few parameters
**tensors**: iterable of tensors and tensor names, or a dict that converts string-valued tags to tensors and tensor names.**every_n_iter**: Every N local step that are taken on the current worker, int, print the values of the tensors.**every_n_secs**: It will Print the tensor values every N seconds as an int or float. There should be exactly one of every n iter and every n secs available.**at_end**: bool indicating whether to print the tensor values at the conclusion of the run.**formatter**: By default it takes none value and it will print all the tensors.

** Example**:

```
new_tens = {"probabilities": "softmax_tensor"}
new_logging_hook = tf.estimator.LoggingTensorHook(tensors=new_tens, every_n_iter=50)
print(new_logging_hook)
```

Here is the Screenshot of the following given code

As you can see in the Screenshot we have solved the loggingtensorhook error.

You may also like to read the following TensorFlow tutorials.

- TensorFlow Sparse Tensor
- TensorFlow cross-entropy loss
- Tensorflow embedding_lookup
- TensorFlow Get Variable
- Python TensorFlow Placeholder

In this Python tutorial, we have discussed the error “**module ‘TensorFlow’ has no attribute ‘log’**“. And we have also covered the following topics:

- Attributeerror module ‘tensorflow’ has no attribute ‘log’
- Attributeerror module ‘tensorflow’ has no attribute ‘logging’ bert
- Attributeerror module ‘tensorflow.Keras.backend’ has no attribute ‘logsumexp’
- Attributeerror module ‘tensorflow._api.v2.train’ has no attribute ‘
**loggingtensorhook**‘

I am Bijay Kumar, a Microsoft MVP in SharePoint. Apart from SharePoint, I started working on Python, Machine learning, and artificial intelligence for the last 5 years. During this time I got expertise in various Python libraries also like Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc… for various clients in the United States, Canada, the United Kingdom, Australia, New Zealand, etc. Check out my profile.