I apologize if this is bad practice. I just want to make sure that this bug gets visibility, as it is a major blocker for our app and RTX30xx users.
Actual Behavior
The Anaconda package for Tensorflow 2.5 forces a requirement on Numpy>=1.20. This version of Numpy is fundamentally incompatible with Tensorflow 2.5 and makes it unusable for many training functions.
It is then not possible to downgrade the numpy version as Conda is unable to resolve the dependencies, leading to a massive list of incompatible packages.
>>> import tensorflow as tf
>>> model = tf.keras.Sequential()
>>> model.add(tf.keras.layers.LSTM(50, activation='relu', input_shape=(28, 28)))
Output:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\tensorflow\python\training\tracking\base.py", line 522, in _method_wrapper
result = method(self, *args, **kwargs)
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\tensorflow\python\keras\engine\sequential.py", line 213, in add
layer(x)
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\tensorflow\python\keras\layers\recurrent.py", line 668, in __call__
return super(RNN, self).__call__(inputs, **kwargs)
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\tensorflow\python\keras\engine\base_layer.py", line 969, in __call__
return self._functional_construction_call(inputs, args, kwargs,
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\tensorflow\python\keras\engine\base_layer.py", line 1107, in _functional_construction_call
outputs = self._keras_tensor_symbolic_call(
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\tensorflow\python\keras\engine\base_layer.py", line 840, in _keras_tensor_symbolic_call
return self._infer_output_signature(inputs, args, kwargs, input_masks)
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\tensorflow\python\keras\engine\base_layer.py", line 880, in _infer_output_signature
outputs = call_fn(inputs, *args, **kwargs)
inputs, initial_state, _ = self._process_inputs(inputs, initial_state, None)
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\tensorflow\python\keras\layers\recurrent.py", line 868, in _process_inputs
initial_state = self.get_initial_state(inputs)
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\tensorflow\python\keras\layers\recurrent.py", line 650, in get_initial_state
init_state = get_initial_state_fn(
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\tensorflow\python\keras\layers\recurrent.py", line 2516, in get_initial_state
return list(_generate_zero_filled_state_for_cell(
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\tensorflow\python\keras\layers\recurrent.py", line 2998, in _generate_zero_filled_state_for_cell
return _generate_zero_filled_state(batch_size, cell.state_size, dtype)
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\tensorflow\python\keras\layers\recurrent.py", line 3014, in _generate_zero_filled_state
return nest.map_structure(create_zeros, state_size)
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\tensorflow\python\util\nest.py", line 867, in map_structure
structure[0], [func(*x) for x in entries],
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\tensorflow\python\util\nest.py", line 867, in <listcomp>
structure[0], [func(*x) for x in entries],
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\tensorflow\python\keras\layers\recurrent.py", line 3011, in create_zeros
return array_ops.zeros(init_state_size, dtype=dtype)
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\tensorflow\python\util\dispatch.py", line 206, in wrapper
return target(*args, **kwargs)
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\tensorflow\python\ops\array_ops.py", line 2911, in wrapped
tensor = fun(*args, **kwargs)
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\tensorflow\python\ops\array_ops.py", line 2960, in zeros
output = _constant_if_small(zero, shape, dtype, name)
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\tensorflow\python\ops\array_ops.py", line 2896, in _constant_if_small
if np.prod(shape) < 1000:
File "<__array_function__ internals>", line 5, in prod
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\numpy\core\fromnumeric.py", line 3030, in prod
return _wrapreduction(a, np.multiply, 'prod', axis, dtype, out,
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\numpy\core\fromnumeric.py", line 87, in _wrapreduction
return ufunc.reduce(obj, axis, dtype, out, **passkwargs)
File "D:\miniconda3\envs\tensorflow_test\lib\site-packages\tensorflow\python\framework\ops.py", line 867, in __array__
raise NotImplementedError(
NotImplementedError: Cannot convert a symbolic Tensor (lstm/strided_slice:0) to a numpy array. This error may indicate that you're trying to pass a Tensor to a NumPy call, which is not supported
Attempt to downgrade numpy:
conda install numpy"<1.20"
I will spare you the full output of conflicts here as it is pages and pages.
This is a duplicate post from: https://github.com/ContinuumIO/anaconda-issues/issues/12604
I apologize if this is bad practice. I just want to make sure that this bug gets visibility, as it is a major blocker for our app and RTX30xx users.
Actual Behavior
The Anaconda package for Tensorflow 2.5 forces a requirement on Numpy>=1.20. This version of Numpy is fundamentally incompatible with Tensorflow 2.5 and makes it unusable for many training functions.
It is then not possible to downgrade the numpy version as Conda is unable to resolve the dependencies, leading to a massive list of incompatible packages.
See here for reference: https://github.com/tensorflow/tensorflow/issues/50204 https://stackoverflow.com/questions/58479556/notimplementederror-cannot-convert-a-symbolic-tensor-2nd-target0-to-a-numpy
Expected Behavior
Tensorflow should pin numpy at <1.20
Steps to Reproduce
Set up environment, activate and enter interpreter
Under Windows:
Build a toy model for testing:
Output:
Attempt to downgrade numpy:
I will spare you the full output of conflicts here as it is pages and pages.
Anaconda or Miniconda version:
Operating System:
Windows 10
conda info
conda list --show-channel-urls