Skip to content

Dependency Conflict: Incompatibility between modern TensorFlow (for new GPUs) and Flower's Protobuf requirement #5866

@xwh0625

Description

@xwh0625

Type

Feature

Description

Hello Flower Team and Community,

I am working on upgrading a research project that uses Flower for federated learning and a VAE model for anomaly detection. My goal is to run this on a modern hardware setup (NVIDIA RTX 50-series GPU) within a WSL2 environment.

I have encountered a critical dependency conflict that I hope you can provide some guidance on.

The core problem is a fundamental incompatibility between the dependencies of modern TensorFlow and Flower:

TensorFlow Requirement: To get support for my new GPU, I must use a recent version of TensorFlow (e.g., tensorflow>=2.16). These versions have a strict requirement for a new version of Protobuf (protobuf>=5.28.0).

Flower Requirement: I've found that even recent versions of Flower (e.g., flwr==1.9.0) have a strict requirement for an older version of Protobuf (protobuf<5.0.0,>=4.21.6).

This creates a deadlock where no single version of protobuf can satisfy both packages, making it impossible to use them together in a single Python environment. The installation fails with the following conflict:

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 2.20.0 requires protobuf>=5.28.0, but you have protobuf 4.25.8 which is incompatible.
My question is:

Is the Flower team aware of this incompatibility with the Protobuf > 5.x ecosystem required by modern deep learning frameworks? Is there a recommended solution or an official workaround to use Flower with the latest versions of TensorFlow? Are there any plans to release a new version of Flower that supports protobuf>=5.x in the near future?

Any advice or information on a potential timeline would be greatly appreciated. This would be a great help to researchers and developers who want to combine the power of Flower with the latest GPU hardware.

Thank you for your great work on this project!

Planned Implementation

No response

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions