I have the same problem: Adam optimizer would not work. Although SGD works, it does not actually optimize anything, i.e. loss does not improve over epochs.
Intel iMac 27 (2020, AMD Radeon Pro 5500 XT)
[MPSGraph adamUpdateWithLearningRateTensor:beta1Tensor:beta2Tensor:epsilonTensor:beta1PowerTensor:beta2PowerTensor:valuesTensor:momentumTensor:velocityTensor:gradientTensor:name:]: unrecognized selector sent to instance 0x60002836b9c0
Versions are as following:
tensorflow-macos: tensorflow_macos-2.8.0-cp38-cp38-macosx_11_0_x86_64
tensor flow-metal: tensorflow_metal-0.4.0-cp38-cp38-macosx_11_0_x86_64
python: 3.8
macOS: 12.3
I have also tried to roll back tensorflow-macos to 2.7 and tensorflow-metal to 0.3.0, as well as mix&match them. Nothing worked.
Meanwhile, my M1 MacBook Pro works without any problem with the following:
tensorflow-macos: tensorflow_macos-2.8.0-cp39-cp39-macosx_11_0_arm64
tensorflow-metal: tensorflow_metal-0.4.0-cp39-cp39-macosx_11_0_arm64
python: 3.9
macOS: 12.3
Since intel Mac does not have cp39 version for tensorflow-metal, I have no way to test if it is a Python problem or a macOS 12.3 problem.
Hope Apple solves this soon.