Update tensorflow-federated to match tensorflow-macos==2.7.0 and tensorflow-metal==0.3.0

I was able to use tensorflow-federated==0.19.0 with tensorflow-macos==2.5.0 and tensorflow-metal==0.2.0 on an Intel-based MacBook Pro with GPU.

Now tensorflow-macos==2.7.0 and tensorflow-metal==0.3.0 has been upgrade to tf 2.7 and tensorflow-federated==0.19.0 still depends on tf 2.5.

Is there any roadmap to update tensorflow-federated to tf 2.7 ?

I can force the installation with:

SYSTEM_VERSION_COMPAT=0 pip install tensorflow-macos==2.7.0 tensorflow-metal==0.3.0 
SYSTEM_VERSION_COMPAT=0 pip install tensorflow-federated==0.19.0

and got 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.7.0 requires tensorflow-estimator<2.8,~=2.7.0rc0, but you have tensorflow-estimator 2.5.0 which is incompatible.

It appears to me that my tff examples will still work. But it would be really nice to have an update on tensorflow-federated with dependency on tensorflow-estimator>=2.7.0

tensorflow-federated==0.20.0 seems to work with tensorflow-metal==0.4.0 fine again

SYSTEM_VERSION_COMPAT=0 pip install tensorflow-macos==2.8.0 tensorflow-metal==0.4.0;
SYSTEM_VERSION_COMPAT=0 pip install tensorflow-federated==0.20.0

I have closed the related issue

I have a trouble installing tensorflow-federated. I matched version(tensorflow-metal==0.4.0, tensorflow-macos==2.8.0, tensorflow-federated==0.20.0) like you, but didn’t install. Could you advice to me?

@Dongheon_Lee

…Could you advice to me?

Are you also installing the tensorflow-federated and tensorflow-metal on an Intel based MacBook Pro? Please be aware, some of the old AMD GPUs is not supported by metal plugin.

Please following the step by step instruction for Intel Based MacBook Pro from https://github.com/yingding/tf-every-day/tree/main/04IntelMetal

From my experience you will need exactly python@3.8 and it doesn’t work on python@3.9 even that apple doc said so. My MacOSX is 12.3, it has also worked on MacOSX 12.2.1.

For a M1 based MBP, you will need to follow the steps from Tensorflow Plugin - Metal - Apple Developer, I haven’t tested that yet. My M1 Max MBP will be delivered unfortunately in 3 months.

Did you test MBP intel? Actually, my device is MBP M1 Max. If our environments are same, the problem is M1 chip. (M1 Max, MacOSX 12.3, Python 3.8, tensorflow-metal==0.4.0, tensorflow-macos==2.8.0)

yeah, there is still an open issue with tensorflow federated on M1 https://github.com/tensorflow/federated/issues/1254

I thought it might already be solved. It seems to have a tf-federated nightly version with tf-2.6 for M1 as workarround https://github.com/tensorflow/federated/issues/1254#issuecomment-962461866

@Bhack Can you give us some info regarding to the tensorflow federated support on M1 chip from this issue https://github.com/tensorflow/federated/issues/1254#issuecomment-962461866
Thanks a lot.

I didn’t solve that. When you get a MPB, try this issue.

Please refer to https://github.com/tensorflow/federated/issues/1254#issuecomment-1304635335
Finally, it works on my M1 although the solution is a little hacky.