Estoy creando un modelo de aprendizaje de transferencia en el modelo preentrenado MobileNetv2 en Google Collab. Hasta ayer, todo estuvo bien. Pero hoy, al ejecutar

#Create the base model(feature_extractor) from the pre-trained model MobileNet V2
_URL = "https://tfhub.dev/google/tf2-preview/mobilenet_v2/feature_vector/2"
feature_extractor = hub.KerasLayer(_URL, input_shape=(_TARGET_SIZE, _TARGET_SIZE,3))

Recibo el error:


---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-29-663d4cbb70df> in <module>()
      2 _TARGET_SIZE = 224
      3 _URL = "https://tfhub.dev/google/tf2-preview/mobilenet_v2/feature_vector/2"
----> 4 feature_extractor = hub.KerasLayer(_URL, input_shape=(_TARGET_SIZE, _TARGET_SIZE,3))
      5 #print(feature_extractor._layers)


/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/ops/resource_variable_ops.py in _variable_handle_from_shape_and_dtype(shape, dtype, shared_name, name, graph_mode, initial_value)
    165     handle_data = cpp_shape_inference_pb2.CppShapeInferenceResult.HandleData()
    166     handle_data.is_set = True
--> 167     handle_data.shape_and_type.append(
    168         cpp_shape_inference_pb2.CppShapeInferenceResult.HandleShapeAndType(
    169             shape=shape.as_proto(), dtype=dtype.as_datatype_enum))

AttributeError: 'google.protobuf.pyext._message.RepeatedCompositeCo' object has no attribute 'append'

¿Alguna idea de por qué sucede esto? ¿Necesito ingresar al archivo /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/ops/resource_variable_ops.py y hacer algunos cambios? Creo que está relacionado con algún problema de actualización. ¿Alguna ayuda sobre cómo abordarlo?

6
Pe Dro 11 oct. 2019 a las 17:23

3 respuestas

La mejor respuesta

Si funcionaba bien hasta ayer y no cambió nada, compruebe dos cosas: la versión de TF, si ha cambiado bc recientemente, configuraron la versión de TF 'predeterminada' a 1.15.rc desde 1.14.

Si eso es lo mismo, guarde este archivo y cierre todas las ventanas de Colab, incluso su Chrome o cualquier navegador que esté utilizando, luego abra nuevamente e intente ejecutar el archivo.

EDITAR: Como dije anteriormente, debe ser debido a la versión TF. Regrese al que usaba cuando el modelo estaba funcionando. Como mencionó en sus comentarios a continuación, estaba funcionando en la versión ‘dev20191010 ', por lo que volver a solucionarlo solucionará su problema.

2
Rishabh Sahrawat 11 oct. 2019 a las 15:05

Intente abrir 'New Python 3 notebook' desde el archivo y escriba el código allí, eso resolvió mi problema.

0
Progga Ilma 28 ene. 2020 a las 06:10

Tuve el mismo error con tensorflow (versión 2.2.0-dev20200128) y lo arreglé actualizando protobuf (como se explica en este problema):

pip install -U protobuf=3.8.0

O si está usando Notebook (como el cuaderno de Google Colab) intente esto:

!pip install -U protobuf=3.8.0
0
Masoud Maleki 28 ene. 2020 a las 11:38
58343293