tensorflow - 无法将原型文件构建到描述符池中

Tob*_*ful 4 python artificial-intelligence keras tensorflow resnet

我安装了 anaconda,创建了一个全新的环境并通过 pip 安装了tensorflow。然后我尝试了这个:

import tensorflow as tf

tf.keras.applications.ResNet152V2(
    include_top=True,
    weights="imagenet",
    input_tensor=None,
    input_shape=None,
    pooling=None,
    classes=1000,
    classifier_activation="softmax",
)
Run Code Online (Sandbox Code Playgroud)

我直接得到:

TypeError: Couldn't build proto file into descriptor pool!
Invalid proto descriptor for file "tensorflow/python/framework/cpp_shape_inference.proto":
  tensorflow.CppShapeInferenceResult.HandleShapeAndType.specialized_type: ".tensorflow.SpecializedType" is not defined.
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

小智 8

该代码在 Google_colab 上运行良好

import tensorflow as tf
tf.keras.applications.resnet_v2.ResNet152V2(
    include_top=True, weights='imagenet', input_tensor=None,
    input_shape=None, pooling=None, classes=1000,
    classifier_activation='softmax'
)
Run Code Online (Sandbox Code Playgroud)

输出

Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/resnet/resnet152v2_weights_tf_dim_ordering_tf_kernels.h5
242753536/242745792 [==============================] - 3s 0us/step
242761728/242745792 [==============================] - 3s 0us/step
<keras.engine.functional.Functional at 0x7faf1736c210>
Run Code Online (Sandbox Code Playgroud)

问题在于 Protobuf 安装

pip uninstall protobuf
pip install --no-binary protobuf protobuf
Run Code Online (Sandbox Code Playgroud)