tf.make_tensor_proto
Создаёт TensorProto.
tf.make_tensor_proto(
values, dtype=None, shape=None, verify_shape=False, allow_broadcast=False
)
В TensorFlow 2.0 представление тензоров в виде протобуферов больше не должно быть распространённой практикой. Тем не менее эта вспомогательная функция по-прежнему полезна для создания протобуферов запросов TF Serving:
request = tensorflow_serving.apis.predict_pb2.PredictRequest() request.model_spec.name = "my_model" request.model_spec.signature_name = "serving_default" request.inputs["images"].CopyFrom(tf.make_tensor_proto(X_new))
make_tensor_proto принимает в качестве «values» скалярное значение Python, список Python, массив numpy ndarray или скалярное значение numpy.
Если «values» — это скалярное значение Python или список Python, функция make_tensor_proto сначала преобразует его в массив numpy ndarray. Если dtype равен None, при преобразовании выполняется попытка определить подходящий тип данных numpy. В противном случае результирующий массив numpy будет иметь тип данных, совместимый с заданным dtype.
В любом из описанных выше случаев массив numpy ndarray (переданный вызывающим кодом или созданный автоматически) должен иметь тип, совместимый с dtype.
Затем make_tensor_proto преобразует массив numpy в протобуфер тензора.
Если «shape» равен None, результирующий протобуфер тензора точно соответствует массиву numpy.
В противном случае «shape» задаёт форму тензора, и массив numpy не может содержать больше элементов, чем допускает указанная в «shape» форма.
| Аргументы | |
|---|---|
values | Значения для добавления в TensorProto. |
dtype | Необязательное значение DataType из tensor_pb2. |
shape | Список целых чисел, представляющих размеры тензора. |
verify_shape | Логическое значение, включающее проверку формы значений. |
allow_broadcast | Логическое значение, разрешающее broadcasting скалярных значений и векторов длины 1. Не может быть true, если verify_shape равно true. |
| Возвращает | |
|---|---|
Объект TensorProto. В зависимости от типа данные могут содержаться в атрибуте «tensor_content», который напрямую не подходит для использования в программах Python. Чтобы получить доступ к значениям, преобразуйте протобуфер обратно в массив numpy ndarray с помощью tf.make_ndarray(proto). Если |
| Вызывает исключения | |
|---|---|
TypeError | если переданы неподдерживаемые типы. |
ValueError | если аргументы имеют недопустимые значения или если verify_shape равно True, а форма значений не совпадает с формой, заданной аргументом. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/make_tensor_proto