attributeerror: module tensorflow has no attribute contrib usually happens when different versions of the tf.contrib module don’t work together. Since this module isn’t part of TF 2.0, it isn’t available. It was a part of the Tensorflow 1.x series in the past.
In this tutorial we gonna fix this issue on how to solve attributeerror: module ‘tensorflow’ has no attribute ‘contrib’ in detailed tutorial.
How To Solve AttributeError: Module TensorFlow Has No Attribute Contrib?
There are different ways to solve this issue about attributeerror: module ‘tensorflow.compat.v1’ has no attribute ‘contrib’.
Time needed: 5 minutes
Steps on how to solve attributeerror module tensorflow has no attribute contrib.
- Step 1: Converting Tensorflow 1. x based code to Tensorflow 2. x version
It looks like a big job, but it’s really just a one-line command. We can hand over all of the code for tensorflow 1.x. The tf_upgrade_v2_script will fix all of these functions and syntaxes that don’t work together.
You could try the command below:
$tf_upgrade_v2 --intree code_1.x/ --outtree code_2.x/ --reportfile log.txt
Here, code_1.x is the code base for Tensorflow 1.x. The code_2.x is a code base that has been changed. The log.txt file will have information about mid-exceptions, etc.
- Step 2: Downgrading the TensorFlow Version
If we are allowed to, we can choose this option because it is the easiest. The version of the TensorFlow module on our server or system can be changed.
The real reason for this error was that the syntax-based code from Tensorflow 1.x was being run in a Tensorflow 2.x environment. If we change the environment, then this error will be easy to fix.
You can use pip, conda, or any other package manager to change the version of tensorflow.
This is the command for the pip package manager:
pip install tensorflow==1.2.1
Here, we can change the version of tensorflow based on how well it works with other programs.
- Step 3: Manually replacing incompatible code pieces
One of the hardest ways to fix this error is to do this. But it is still a way out. We already know that tf.contrib is not a compatible field.
Here are the following command below:
In this tutorial we have successfully discussed about the issue on how to solved the problem AttributeError: Module TensorFlow Has No Attribute Contrib, I hope this simple tutorial help you to solve your problem in installing libraries.
By the way if you encounter an error about importing libraries, I have here the list of articles made to solve your problem on how to fix error in libraries.
- ModuleNotFoundError: No Module Named Pycocotools
- ERROR: Error:0308010c:Digital Envelope Routines::Unsupported
- Only Size-1 Arrays Can Be Converted To Python Scalars
However, If you have any questions or suggestions about this tutorial AttributeError: Module TensorFlow Has No Attribute Contrib, Please feel to comment below, Thank You and God Bless!