Cannot import multi_gpu_model from keras.utils - python

I have tensorflow-gpu 1.2.1 and keras on ubuntu 16.04.
I am not able to perform:
from kears.utils import multi_gpu_model
Has anyone had success with multi_gpu_model as described in their documentation's FAQ section?
I have a 4 GPU machine with 4 GeForce GTX 1080 Ti cards and want to use all of them.
Here's the error I get:
import keras.utils.multi_gpu_model
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-7-0174878249b1> in <module>()
----> 1 import keras.utils.multi_gpu_model
2
ModuleNotFoundError: No module named 'keras.utils.multi_gpu_model'
I can import keras and keras.utils successfully.

pip uninstall keras
pip install keras==2.2.4
this helped me ...
working on keras hrnetv2

for Tensorflow 2.7.0 this works:
from tensorflow.python.keras.utils.multi_gpu_utils import multi_gpu_model

This function was added on October 11, and there have been no Keras releases that include it. Currently the last Keras release is 2.0.8 released on Aug 25, 2017.
Your only options are to wait until a release is made, or to use a Keras
version directly from git master.

To close this issue: I installed the latest version of Keras from github and got the multi_gpu_model module working as expected.
pip install git+git://github.com/fchollet/keras.git --upgrade

You could reinstall tensorflow-estimator and keras like this:
pip uninstall tensorflow-estimator
pip install tensorflow-estimator
pip uninstall keras
pip install keras
I was able to resolve the issue by this.

Related

Tensorflow and Keras Installation Problems JupyterLab / Anaconda (Debian)

I've been trying to install keras and tensorflow for Jupyter-lab (python).
I first tried with pip, but the notebook stopped functioning everytime I imported keras.
After some research on different feeds, I decided to uninstall it with pip and try to reinstall it with anaconda3.
Then, there was a path issue installing tensorflow with the conda command. So I researched more and wrote this in the terminal :
export PATH="/home/myname/anaconda3/bin:$PATH"
I created another environment and could install tensorflow with (same for keras) :
conda activate myenv
conda install tensorflow
I came back on the local JupyterLab and imported keras. But it couldn't find the module named keras. I tried again with pip :
!pip install keras
import keras
And got the same :
Requirement already satisfied: keras in /home/myname/.conda/envs/myenv/lib/python3.9/site-packages (2.9.0)
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
Input In [6], in <cell line: 10>()
---> 10 import keras
ModuleNotFoundError: No module named 'keras'
Is it a path problem ? How can I solve it ? I don't understand how it can find it, but not import it correctly.
Thank you for your help !
After creating the virtual environment(myenv) in conda, open a new jupyter notebook in the same environment and you need to install TensorFlow in that environmnet using the below code:
!pip install tensorflow
import tensorflow as tf
tf.__version__
Now you can access the Keras from TensorFlow as below:
from tensorflow import keras
keras.__version__

cannot import name 'normalization' from 'tensorflow.python.keras.layers'

I am trying to use tensorflow_rankings, but cannot import it due to the above error. I am using tensorflow 2.8.0 and tensorflow_rankings 0.5.0, which seem to be the latest stable builds. They are what get automatically installed from
pip install tensorflow
pip install tensorflow_ranking
I am on Python 3.8.10, Windows 11.
The TF 2.8.0 docs show there is a Normalization layer in tf.keras.layers. The error seems to come from:
from tensorflow.python.keras.layers import normalization as keras_norm
in
from tensorflow_estimator.python.estimator.canned.dnn import dnn_logit_fn_builder
Any advice?
Seems my installation of TF was corrupted. A full uninstall and reinstall fixed it.

Tensorflow works but Keras is failed

I have successfully install tensorflow-gpu and used it happily before,
but due to some reasons I didn't touch TF or Keras for a long time,
and then I got this error.
The error message is like this:
import keras
from keras.layers import Dense
Traceback (most recent call last):
File "", line 1, in
ModuleNotFoundError: No module named 'keras.layers'
Note:
I used Anaconda to install this stuff.
But I'm sure it was not installed successfully
even if I checked the whether the package exists in anaconda prompt
However, when I tried to import tensorflow itself it is OK:
tf.__version__
'1.13.1'
The tensorflow is a gpu version.
These are the versions of the dependencies:
CUDA : 10.0
cudnn : 7.4
I have uninstall the tensorflow-gpu many times...
Can someone help? Thanks!
Latest version of Tensorflow ~ 2.6.0 has in built Keras api.
!pip install tensorflow
import tensorflow as tf
from tensorflow.keras.layers import Dense

No module names 'Keras'

I am absolutely new to the development of deep learning and currently, I am just preparing my system to start with some basic tutorials.
I followed the Tutorial on this Blog to prepare the environment for the development of deep leaning projects.
I was successful to do the steps mentioned in the tutorial expect the last one. I Installed tensorflow-gpu using the command pip install tensorflow-gpu in the Python 3.7 Anaconda.
PROBLEM: As per the tutorial, I should try to execute the following commands to check if everything went OK with the installation:
>>> import tensorflow
>>> import keras
The first command was exectued without any issue but the second command (i.e. import keras) is throwing error:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module names 'keras'
You installed tensorflow, thats why you can import keras from tensorflow
from tensorflow import keras
Or you install keras separately with:
pip install keras
and then import it with:
import keras
You can import keras by pip (command for use).
pip install keras
After completion of above command you can check whether Keras install or not in your system by
pip list | grep -i keras
Output on console
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
Keras (2.2.4)
Keras-Applications (1.0.7)
Keras-Preprocessing (1.0.9)

TensorFlow, "'module' object has no attribute 'placeholder'"

I've been trying to use tensorflow for two days now installing and reinstalling it over and over again in python2.7 and 3.4. No matter what I do, I get this error message when trying to use tensorflow.placeholder()
It's very boilerplate code:
tf_in = tf.placeholder("float", [None, A]) # Features
No matter what I do I always get the trace back:
Traceback (most recent call last):
File "/home/willim/PycharmProjects/tensorflow/tensorflow.py", line 2, in <module>
import tensorflow as tf
File "/home/willim/PycharmProjects/tensorflow/tensorflow.py", line 53, in <module>
tf_in = tf.placeholder("float", [None, A]) # Features
AttributeError: 'module' object has no attribute 'placeholder'
Anyone know how I can fix this?
If you have this error after an upgrade to TensorFlow 2.0, you can still use 1.X API by replacing:
import tensorflow as tf
by
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
Solution: Do not use "tensorflow" as your filename.
Notice that you use tensorflow.py as your filename. And I guess you write code like:
import tensorflow as tf
Then you are actually importing the script file "tensorflow.py" that is under your current working directory, rather than the "real" tensorflow module from Google.
Here is the order in which a module will be searched when importing:
The directory containing the input script (or the current directory when no file is specified).
PYTHONPATH (a list of directory names,
with the same syntax as the shell variable PATH).
The installation-dependent default.
It happened to me too. I had tensorflow and it was working pretty well, but when I install tensorflow-gpu along side the previous tensorflow this error arose then I did these 3 steps and it started working with no problem:
I removed tensorflow-gpu, tensorflow, tensorflow-base packages from Anaconda. Using.
conda remove tensorflow-gpu tensorflow tensorflow-base
re-installed tensorflow. Using
conda install tensorflow
Instead of tf.placeholder(shape=[None, 2], dtype=tf.float32) use something like
tf.compat.v1.placeholder(shape=[None, 2], dtype=tf.float32) if you don't want to disable v2 completely.
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
works.
I am using Python 3.7 and tensorflow 2.0.
It appears that .placeholder() , .reset_default_graph() , and others were removed with version 2. I ran into this issue using Docker image: tensorflow/tensorflow:latest-gpu-py3 which automatically pulls the latest version. I was working in 1.13.1 and was 'upgraded to 2' automatically and started getting the error messages. I fixed this by being more specific with my image: tensorflow/tensorflow:1.13.1-gpu-py3.
More info can be found here: https://www.tensorflow.org/alpha/guide/effective_tf2
Avoid using the below striked out statement in tensorflow=2.0
i̶m̶p̶o̶r̶t̶ ̶t̶e̶n̶s̶o̶r̶f̶l̶o̶w̶ ̶a̶s̶ ̶t̶f̶ ̶x̶ ̶=̶ ̶t̶f̶.̶p̶l̶a̶c̶e̶h̶o̶l̶d̶e̶r̶(̶s̶h̶a̶p̶e̶=̶[̶N̶o̶n̶e̶,̶ ̶2̶]̶,̶ ̶d̶t̶y̶p̶e̶=̶t̶f̶.̶f̶l̶o̶a̶t̶3̶2̶)̶
You can disable the v2 behavior by using the following code
This one is perfectly working for me.
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
x = tf.placeholder(shape=[None, 2], dtype=tf.float32)
I also got the same error. May be because of the version of tensorflow.
After installing tensorflow 1.4.0, I got relief from the error.
pip install tensorflow==1.4.0
If you are using TensorFlow 2.0, then some code developed for tf 1.x may not code work. Either you can follow the link : https://www.tensorflow.org/guide/migrate
or you can install a previous version of tf by
pip3 install tensorflow==version
Import the old version of tensorflow instead of the new version
[https://inneka.com/ml/tf/tensorflow-module-object-has-no-attribute-placeholder/][1]
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
You need to use the keras model with tensorflow 2, as here
import tensorflow as tf
from tensorflow.python.keras.layers import Input, Embedding, Dot, Reshape, Dense
from tensorflow.python.keras.models import Model
Recent version 2.0 does not support placeholder.
I uninstalled 2.0 using command: conda remove tensorflow.
then I installed 1.15.0 using command: conda install -c conda-forge tensorflow=1.15.0.
1.15 is latest in version 1 series. You can change as per you wish and requirement.
For seeing all version, use command: conda search tensorflow.
It worked for Anaconda3 in Windows.
Try this:
pip install tensorflow==1.14
or this (if you have GPU):
pip install tensorflow-gpu==1.14
Please take a look at the Migrate your TensorFlow 1 code to TensorFlow 2.
These codes:
import tensorflow as tf
tf_in = tf.placeholder("float", [None, A]) # Features
need to be migrated in TensorFlow 2 as below:
import tensorflow as tf
import tensorflow.compat.v1 as v1
tf_in = vi.placeholder("float", [None, A]) # Features
If you get this on tensorflow 2.0.0+, it's very likely because the code isn't compatible with the newer version of tensorflow.
To fix this, run the tf_upgrade_v2 script.
tf_upgrade_v2 --infile=YOUR_SCRIPT.py --outfile=YOUR_SCRIPT.py
Faced same issue on Ubuntu 16LTS when tensor flow was installed over existing python installation.
Workaround:
1.)Uninstall tensorflow from pip and pip3
sudo pip uninstall tensorflow
sudo pip3 uninstall tensorflow
2.)Uninstall python & python3
sudo apt-get remove python-dev python3-dev python-pip python3-pip
3.)Install only a single version of python(I used python 3)
sudo apt-get install python3-dev python3-pip
4.)Install tensorflow to python3
sudo pip3 install --upgrade pip
for non GPU tensorflow, run this command
sudo pip3 install --upgrade tensorflow
for GPU tensorflow, run below command
sudo pip3 install --upgrade tensorflow-gpu
Suggest not to install GPU and vanilla version of tensorflow
The error shows up because we are using tensorflow version 2 and the command is from version 1. So if we use:
tf.compat.v1.summary.(method_name)
It'll work
Because you cant use placeholder in tensflow2.0version, so you need to use tensflow1*, or you need to change your code to fix tensflow2.0
I had the same problem before after tried to upgrade tensorflow, I solved it by reinstalling Tensorflow and Keras.
pip uninstall tensorflow
pip uninstall keras
Then:
pip install tensorflow
pip install keras
The problem is with TensorFlow version; the one you are running is 2.0 or something above 1.5, while placeholder can only work with 1.4.
So simply uninstall TensorFlow, then install it again with version 1.4 and everything will work.
It may be the typo if you incorrectly wrote the placeholder word.
In my case I misspelled it as placehoder and got the error like this:
AttributeError: 'module' object has no attribute 'placehoder'

Categories

Resources