#python #google-api-python-client #google-cloud-automl #streamlit
#python #google-api-python-client #google-cloud-automl #streamlit
Вопрос:
Я обучил модель с помощью Google cloud auto ml. Затем я приступил к созданию приложения с использованием streamlit, которое может делать прогнозы, используя клиентский код python, предоставленный Google AutoML. Но я получаю сообщение об ошибке ValueError: Protocol message FieldDescriptorProto has no "proto3_optional" field
.
Ниже приведен фрагмент кода
uploaded_file = st.file_uploader("Choose an image...", type="jpg")
if uploaded_file is not None:
image = Image.open(uploaded_file)
st.image(image, caption='Uploaded Image.', use_column_width=True)
st.write("")
st.write("Classifying...")
from google.cloud import automl_v1beta1
from google.cloud import service_pb2
from google.cloud import vision
from google.cloud.vision import types
import base64
from google.cloud import automl
def list_model_evaluations(project_id, model_id):
from google.cloud import automl
project_id = "xxxx"
model_id = "xxxx"
client = automl.AutoMlClient()
model_full_id = client.model_path(project_id, "us-central1", model_id)
print("List of model evaluations:")
for evaluation in client.list_model_evaluations(parent=model_full_id, filter=""):
print("Model evaluation name: {}".format(evaluation.name))
print(
"Model annotation spec id: {}".format(
evaluation.annotation_spec_id
)
)
print("Create Time: {}".format(evaluation.create_time))
print(
"Evaluation example count: {}".format(
evaluation.evaluated_example_count
)
)
print(
"Classification model evaluation metrics: {}".format(
evaluation.classification_evaluation_metrics
)
)
Помощь будет высоко оценена.
Комментарии:
1. Здравствуйте, вместо изображения вы можете отредактировать свой вопрос, чтобы включить код и ошибку в виде текста? Проще скопировать / вставить, чтобы воспроизвести проблему
Ответ №1:
Возможно, у вас есть некоторая несовместимость зависимостей, которая кажется довольно распространенной в protobuf. Я полагаю, у вас есть что-то вроде ‘protobuf == xx.yy.zz’ в вашем requirements.txt файл (или любой другой файл зависимостей, который у вас есть) — не могли бы вы, пожалуйста, поменять его только на ‘protobuf’.