tensorflow2.0 - 如何将保存的模型从 NCHW 转换为 NHWC?

标签 tensorflow2.0 tf.keras

我在 GPU 上训练了我的 NCHW 模型并保存了最佳状态。
我现在想对 CPU 进行推断,它显然只支持 NHWC(我得到了一个错误提及)。
我是否必须使用 NHWC 重新训练我的模型,或者有没有办法转换我的模型?

最佳答案

我处于同样的情况,在尝试运行时看到这样的错误 model.predict在只有 CPU 可用的实例上的 GPU 训练模型上:

tensorflow.python.framework.errors_impl.InvalidArgumentError: Default MaxPoolingOp only supports NHWC on device type CPU
我最终发现,在 Intel CPU 上,只要启用 MKL,就可以成功地将模型应用于 NCHW 格式的数据。使用 pip,可以安装启用 MKL 的 tensorflow:
pip install intel-tensorflow
您可以使用以下命令检查它是否已启用(在 tensorflow 2.3 中):
tf.python._pywrap_util_port.IsMklEnabled()

关于tensorflow2.0 - 如何将保存的模型从 NCHW 转换为 NHWC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63682625/

相关文章:

python - 如何使用 tf.keras.Model 保存和恢复模式的权重 - TensorFlow 2.0 - 子类化 API

python - 无法在带有 BigSur 的 Mac M1 上使用 keras 模型

python-3.x - Keras 中使用 YOLOv3 进行对象检测 - ValueError : If your data is in the form of symbolic tensors

python - TF2 中的 tf.print 未打印到输出

python-3.x - tensorflow api 2.0 张量对象仅在启用急切执行时才可迭代。要迭代此张量,请使用 tf.map_fn

python - 对于自定义 Python 代码,是否有替代 tf.py_function() 的方法?

python - keras Tensorflow中InputLayer的输入形状是什么?

tensorflow - PREFETCH 样本后 TFRecord 读取管道速度减慢

python - Tensorflow 性能(版本 1 与 2 和 CPU 与 GPU)

python - Keras - 没有停止和恢复训练的好方法?