Spec-Zone.ru › TensorFlow 2.9

tf.io.decode_json_example

Просмотреть исходный код на GitHub

Преобразует закодированные в JSON записи Example в бинарные строки протобуфера.

Просмотр псевдонимов

Псевдонимы для миграции

См. Руководство по миграции для получения дополнительной информации.

tf.compat.v1.decode_json_example, tf.compat.v1.io.decode_json_example

tf.io.decode_json_example(
    json_examples, name=None
)
Примечание: Это не операция для общего парсинга JSON.

Данная операция преобразует сериализованные в JSON tf.train.Example (возможно, созданные с помощью json_format.MessageToJson, следуя стандарту сопоставления JSON) в бинарно-сериализованный tf.train.Example (эквивалентный Example.SerializeToString()), подходящий для преобразования в тензоры с помощью tf.io.parse_example.

Вот пример прото tf.train.Example:

example = tf.train.Example(
  features=tf.train.Features(
      feature={
          "a": tf.train.Feature(
              int64_list=tf.train.Int64List(
                  value=[1, 1, 3]))}))

Вот он в формате JSON:

from google.protobuf import json_format
example_json = json_format.MessageToJson(example)
print(example_json)
{
  "features": {
    "feature": {
      "a": {
        "int64List": {
          "value": [
            "1",
            "1",
            "3"
          ]
        }
      }
    }
  }
}

Эта операция преобразует приведенную выше строку JSON в бинарный прото:

example_binary = tf.io.decode_json_example(example_json)
example_binary.numpy()
b'\n\x0f\n\r\n\x01a\x12\x08\x1a\x06\x08\x01\x08\x01\x08\x03'

Операция работает со строковыми тензорами произвольной формы:

tf.io.decode_json_example([
    [example_json, example_json],
    [example_json, example_json]]).shape.as_list()
[2, 2]

Полученная бинарная строка эквивалентна Example.SerializeToString() и может быть преобразована в тензоры с помощью tf.io.parse_example и родственных функций:

tf.io.parse_example(
  serialized=[example_binary.numpy(),
             example.SerializeToString()],
  features = {'a': tf.io.FixedLenFeature(shape=[3], dtype=tf.int64)})
{'a': <tf.Tensor: shape=(2, 3), dtype=int64, numpy=
 array([[1, 1, 3],
        [1, 1, 3]])>}
Аргументы
json_examples Строковый тензор, содержащий сериализованные в JSON tf.Example прото.
name Имя для операции.
Возвращаемые значения
Строковый тензор, содержащий бинарно-сериализованные tf.Example прото.
Исключения
tf.errors.InvalidArgumentError: Если JSON не удалось преобразовать в tf.Example.

© 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/versions/r2.9/api_docs/python/tf/io/decode_json_example

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API