экспорт модели tenorforf со списком в качестве входных и выходных для SignatureDefs - PullRequest
0 голосов
/ 08 апреля 2020

Ввод и вывод в виде списка для экспорта модели тензорного потока выдает ошибку

AttributeError: у объекта 'list' нет атрибута 'dtype' для следующего кода

from tensorflow.python.saved_model import builder
from tensorflow.python.saved_model.signature_def_utils import predict_signature_def
from tensorflow.python.saved_model import tag_constants

model_version = '1'
export_dir = 'export/Servo/' + model_version
# Build the Protocol Buffer SavedModel at 'export_dir'
builder = builder.SavedModelBuilder(export_dir)
# Create prediction signature to be used by TensorFlow Serving Predict API
signature = predict_signature_def(
    inputs={"inputs": new_model_full.input}, outputs={"score": [new_model_full.output]})

Моя модель принимает 2 входа и возвращает 2 выхода. Из прочтения я понимаю, что ввод / вывод в виде списка не принимается. Как мне изменить то же самое, чтобы список мог быть включен во ввод и вывод

вот подробности журнала ошибок

AttributeError Traceback (последний вызов последнего) в () 10 # Создать подпись прогноза, которая будет использоваться API-интерфейсом прогноза обслуживания TensorFlow. 11 signature =gnast_signature_def (---> 12 inputs = {"inputs": new_model_full.input [0]}, output = {"score": [new_model_full.output [0 ]]}) 13 из keras импортировать бэкэнд как K 14

~ / anaconda3 / envs / tenorflow_p36 / lib / python3 .6 / site-packages / tenorsflow_core / python / сохраненный_модель / signature_def_utils_impl.py вgnett_signature_def ( входы, выходы) 201 для ключа, тензор в input.items ()} 202 signature_outputs = {ключ: utils.build_tensor_info (тензор) -> 203 для ключа, тензор в output.items ()} 204 205 signature_def = build_signature_def (

~ / anaconda3 / envs /ensorflow_p36 / lib / python3 .6 / site-packages / tenorflow_core / python / save_model / signature_def_utils_impl.py в (.0) 201 ключе, тензор в input.items () } 202 signature_outputs = {ключ: utils.build_tensor_info (тензор) -> 203 для ключа, тензор в output.items ()} 204 205 signature_def = build_signature_def (

~ / anaconda3 / envs / тензор потока_p36 / lib / python3 .6 / site-packages /ensorflow_core / python / util / deprecation.py в new_fun c (* args, ** kwargs) 322 «в будущей версии», если дата не указана («после% s»% дата), 323 инструкции) -> 324 возвращение удовольствия c (* аргументы, ** кварги) 325 возвращение tf_decorator.make_decorator (326 удовольствия c, new_fun c, «не рекомендуется»,

~ / anaconda3 / envs / tenorflow_p36 / lib / python3 .6 / site-packages / tenorflow_core / python / save_model / utils_impl.py в build_tensor_info (тензор) 65, если context.executing_eagerly (): 66 вызывает RuntimeError («build_tensor_info не является» поддерживается в режиме Eager. ") ---> 67 возвращаем build_tensor_info_internal (тензор) 68 69

~ / anaconda3 / envs / tenorsflow_p36 / lib / python3 .6 /utils_impl.py в build_tensor_info_internal (тензор) 75 76 тензор_в fo = meta_graph_pb2.TensorInfo (---> 77 dtype = dtypes.as_dtype (тензор.dtype) .as_datatype_enum, 78 тензор_shape = тензор.get_shape (). as_proto ()) 79 если isinstance (тензор, sparse_tensor.Sparse *

AttributeError: у объекта 'list' нет атрибута 'dtype'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...