Tensorflow and Keras Installation Problems JupyterLab / Anaconda (Debian) - python

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__

Related

tensorflow_hub import error (most likely due to a circular import) on Mac M1 and Jupyter Notebook

The environments are Mac M1 and miniforge Conda with python3.8. I have completed the following commands to install tensorflow and tensorflow_hub:
conda install -c apple tensorflow-deps
pip install tensorflow-macos
pip install tensorflow-metal
# tried all the conda commands here (https://anaconda.org/conda-forge/tensorflow-hub) and the following
pip install tensorflow_hub
When importing tensorflow_hub on Jupyter Notebook, I got the following error:
cannot import name 'LinearSDCA' from partially initialized module
'tensorflow_estimator.python.estimator.canned.linear' (most likely due to a circular import)
(/myenv/lib/python3.8/site-packages/tensorflow_estimator/python/estimator/canned/linear.py)
When importing tensorflow_hub using the terminal, the error message was:
E tensorflow/core/lib/monitoring/collection_registry.cc:77] Cannot register 2 metrics with the same name: /tensorflow/api/keras/optimizers
...Traceback...
self._metric = self._metric_methods[self._label_length].create(*args)
tensorflow.python.framework.errors_impl.AlreadyExistsError: Another metric with the same name already exists.
Currently, the version of my tensorflow_estimator is 2.6.0, and the one of tensorflow_hub is 0.12.0. I tried changing the version of tensorflow_estimator. However, the only version of tensorflow-macos that I was able to install without an error was 2.6.0, which requires tensorflow_estimator 2.6.0. Appreciate your time and any help you can offer.
Is keras 2.7 installed? If so, please downgrade it via pip install -U keras==2.6.0 since that's not compatible with TF 2.6. TF 2.6.2 fixed the upper bounds for some dependencies so that version should work for you out-of-the-box.

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)

import tensorflow as tf ImportError: No module named 'tensorflow' >>>

I have installed tensorflow through both pip and by anaconda. It still shows this error. i am using python version 3.5.
import tensorflow as tf
ImportError: No module named 'tensorflow'
If you are using Jupyter Notebook, you can check that the Tensorflow library has been properly installed in the (base) environement with the command !pip list directly in a notebook cell.
If it is not in the list, then install it using the command !pip install tensorflow directly in a cell of the notebook.

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