knime_5.2.1\plugins\org.knime.dl.python_5.2.0.v202310301554\py\DLPythonNetwork.py", line 53, in <module> from pandas.util.testing import network ModuleNotFoundError: No module named 'pandas.util.testing'

I tried to used KNIME with conda environment. I tested the workflow from this tutorial with the workflow.

I install a new conda env containing:
tensorboard 2.10.0 py38haa95532_0
tensorboard-data-server 0.6.1 py38haa95532_0
tensorboard-plugin-wit 1.8.1 py38haa95532_0
tensorflow 2.10.0 mkl_py38ha5c4042_0
tensorflow-base 2.10.0 mkl_py38h6a7f48e_0
tensorflow-estimator 2.10.0 py38haa95532_0
keras 2.10.0 py38haa95532_0
keras-preprocessing 1.1.2 pyhd3eb1b0_0
pandas 2.0.3 pypi_0 pypi

When running, it threw an error:

knime_5.2.1\plugins\org.knime.dl.python_5.2.0.v202310301554\py\DLPythonNetwork.py", line 53, in <module>
    from pandas.util.testing import network
ModuleNotFoundError: No module named 'pandas.util.testing'

I tried to read the solution in this discussion. However, I think that the solution did not solve the problem because keras code are using old version of pandas. I would like to update the code to match with later version of pandas. Please help me to solve it. Thank you very much.

Update1: Install pandas version 1.5.3
It threw a new error:

.conda\envs\py38_knime\lib\site-packages\keras\src\engine\keras_tensor.py", line 270, in __hash__
    raise TypeError(
TypeError: Tensors are unhashable (this tensor: KerasTensor(type_spec=TensorSpec(shape=(None, 4), dtype=tf.float32, name='input_1'), name='input_1', description="created by layer 'input_1'")). Instead, use tensor.ref() as the key.

Like this disscussion.

Update 2: Install keras-2.0.0 with tensorflow-2.2.0 protobuf-3.20.0 numpy-1.19.5
Error:

py38_knime\lib\site-packages\keras\backend\tensorflow_backend.py", line 349, in placeholder
    x = tf.placeholder(dtype, shape=shape, name=name)
AttributeError: module 'tensorflow' has no attribute 'placeholder'

I tried some solutions but none of them worked. sol1, sol2, sol3.

I would like to know the reason why your code still uses a stupid version of tensorflow (tf1)?

In Tensorflow 2.0, there is no placeholder. You need to update your TF1.x code to TF2.0 code and then run it on your cluster. Please take a look at the official doc on converting your TF1.x code to TF2.0.

How can install tensorflow version <=2.0.0 in python 38?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.