Can confirm that this issue still exists (with TF version 2.7.0).
GPU acceleration lacks of M1 GPU support, getting this message when trying to run a trained model on GPU:
NotFoundError: No registered 'AddN' OpKernel for 'GPU' devices compatible with node {{node StatefulPartitionedCall/MultiLevelMatMulCropAndResize/MultiLevelRoIAlign/ArithmeticOptimizer/AddOpsRewrite_add_8}}
(OpKernel was found, but attributes didn't match) Requested Attributes: N=3, T=DT_INT32, _XlaHasReferenceVars=false, _grappler_ArithmeticOptimizer_AddOpsRewriteStage=true, _device="/job:localhost/replica:0/task:0/device:GPU:0"
. Registered: device='XLA_CPU_JIT'; T in [DT_FLOAT, DT_DOUBLE, DT_INT32, DT_UINT8, DT_INT16, DT_INT8, DT_COMPLEX64, DT_INT64, DT_QINT8, DT_QUINT8, DT_QINT32, DT_BFLOAT16, DT_UINT16, DT_COMPLEX128, DT_HALF, DT_UINT32, DT_UINT64, DT_VARIANT]
device='GPU'; T in [DT_FLOAT]
device='CPU'; T in [DT_UINT64]
device='CPU'; T in [DT_INT64]
device='CPU'; T in [DT_UINT32]
device='CPU'; T in [DT_UINT16]
device='CPU'; T in [DT_INT16]
device='CPU'; T in [DT_UINT8]
device='CPU'; T in [DT_INT8]
device='CPU'; T in [DT_INT32]
device='CPU'; T in [DT_HALF]
device='CPU'; T in [DT_BFLOAT16]
device='CPU'; T in [DT_FLOAT]
device='CPU'; T in [DT_DOUBLE]
device='CPU'; T in [DT_COMPLEX64]
device='CPU'; T in [DT_COMPLEX128]
device='CPU'; T in [DT_VARIANT]
[[StatefulPartitionedCall/MultiLevelMatMulCropAndResize/MultiLevelRoIAlign/ArithmeticOptimizer/AddOpsRewrite_add_8]] [Op:__inference_restored_function_body_26361]
On CPU, everything works perfect. Seems that not all operations used in the F-RCNN model are implemented in tensorflow-metal. So training will also be impossible even if you are able to install TFOD API. I have no experience, if the SSD models affected as well.
Very frustrating.
Topic:
App & System Services
SubTopic:
Core OS
Tags: