Tensorflow question (MaxPool3d, MaxPool3D, MaxPooling3D)!)

Hi all,
I am trying to run an image against an existing model created with Python 3.7 / Tensorflow 2.7
(https://github.com/pboutinaud/SHIVA_PVS). There seems to be some confusion between MaxPool3d (in torch), MaxPool3D (in keras) and possibly MaxPooling3d.

I get this error and can not seem to solve it.

tensorflow.python.framework.errors_impl.InvalidArgumentError: No OpKernel was registered to support Op ‘MaxPool3D’ used by {{node model/Enc_Max_D7/MaxPool3D}} with these attrs: [ksize=[1, 2, 2, 2, 1], padding=“VALID”, T=DT_HALF, data_format=“NDHWC”, strides=[1, 2, 2, 2, 1]]
Registered devices: [CPU]
Registered kernels:
device=‘CPU’; T in [DT_FLOAT]

If anybody has any ideas on how to troubleshoot this I would be very grateful!


On the CPU, you can try using data type float32. Thank you.

Hi Roger, welcome to the forum!

I didn’t understand some details,

Are you converting the model from PT to TF? or is the model already converted?
or did you train the model from scratch?

Hi all,
Thank you for your replies!
According to the developer, “the MaxPool3D layer is not correctly implemented for the CPU version of tensorflow 2.7, I couldn’t find an easy way to fix that and I am currently waiting for tensorflow to fix that problem in a future version.”

Can you try with the latest version TF2.10 and let us know if the issue still continues? Thank you!