Installation of TFDS on apple silicon fails

Hi, I have installed tensorflow-macos on an apple-silicon machine, but I am unable to correctly install tensorflow-datasets.

Here what I am doing:

conda create -n myenv python=3.10 -c conda-forge
conda activate myenv
conda install -c apple tensorflow-deps
python -m pip install tensorflow-macos
python -m pip install tensorflow-metal
python -m pip install tensorflow-datasets

Here I run into an error:

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. tensorflow-macos 2.11.0 requires protobuf<3.20,>=3.9.2, but you have protobuf 3.20.3 which is incompatible. Successfully installed click-8.1.3 dm-tree-0.1.8 etils-1.0.0 googleapis-common-protos-1.58.0 importlib_resources-5.12.0 promise-2.3 protobuf-3.20.3 psutil-5.9.4 tensorflow-datasets-4.8.3 tensorflow-metadata-1.12.0 toml-0.10.2 tqdm-4.64.1 zipp-3.15.0

I am also trying to install KerasCV with Custom Ops from source and I run into the same dependency error on protobuf.

It seems that one of the dependencies of tensorflow-datasets and KerasCV requires protobuf 3.20, which in turn is not compatible with my version of tensorflow-macos. If I try to downgrade protobuf to version 3.19.4 I get:

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. googleapis-common-protos 1.58.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.19.4 which is incompatible.

Here some information about the package versions:

tensorflow-datasets    4.8.3          pypi_0  pypi
tensorflow-deps      2.10.0            0  apple
tensorflow-estimator   2.11.0          pypi_0  pypi
tensorflow-macos     2.11.0          pypi_0  pypi
tensorflow-metadata    1.12.0          pypi_0  pypi
tensorflow-metal     0.7.1          pypi_0  pypi

Has anyone been able to create an environment with the correct dependencies?

Replies

Please try conda install tensorflow-datasets instead of pip install.

  • This also does not work. Conda does not recognize the already installed version of tensorflow and installs a second one. After conda install tensorflow-datasets `conda list | grep 'tensorflow*' returns:

    tensorflow        2.8.0      cpu_py39h2839aeb_0  conda-forge tensorflow-base      2.8.0      cpu_py39hcf13c84_0  conda-forge ... tensorflow-macos     2.11.0          pypi_0  pypi ...

    It is not possible to use tensorflow afterward.

  • this does not work as a second version of tensorflow will be installed (not tensorflow-macos) breaking the environment

  • Hallo, this does not work as a second version of tensorflow (not tensorflow-macos) will be installed, breaking the environment.

Add a Comment