tf.print
| Просмотреть исходный код на GitHub |
Вывести указанные входные данные.
tf.print(
*inputs, **kwargs
)
Оператор TensorFlow, который выводит указанные входные данные в желаемый поток вывода или уровень ведения журнала. Входные данные могут быть плотными или разреженными тензорами, примитивными Python-объектами, структурами данных, содержащими тензоры, и выводимыми Python-объектами. Выводимые тензоры будут рекурсивно показывать первые и последние элементы каждого измерения для обобщения.
Пример:
Использование с одним входом:
tensor = tf.range(10) tf.print(tensor, output_stream=sys.stderr)
(Это выводит "[0 1 2 ... 7 8 9]" в sys.stderr)
Использование с несколькими входами:
tensor = tf.range(10)
tf.print("tensors:", tensor, {2: tensor * 2}, output_stream=sys.stdout)
(Это выводит "тензоры: [0 1 2 ... 7 8 9] {2: [0 2 4 ... 14 16 18]}" в sys.stdout)
Изменение разделителя ввода:
tensor_a = tf.range(2) tensor_b = tensor_a * 2 tf.print(tensor_a, tensor_b, output_stream=sys.stderr, sep=',')
(Это выводит "[0 1],[0 2]" в sys.stderr)
Использование в tf.function:
@tf.function
def f():
tensor = tf.range(10)
tf.print(tensor, output_stream=sys.stderr)
return tensor
range_tensor = f()
(Это выводит "[0 1 2 ... 7 8 9]" в sys.stderr)
@compatibility(TF 1.x Графы и сессии) В графах, созданных вручную за пределами tf.function, этот метод возвращает созданный оператор TF, который выводит данные. Чтобы убедиться, что оператор выполняется, пользователи должны передать созданный оператор методу tf.compat.v1.Session's run, или использовать оператор в качестве зависимости управления для выполняемых операций, указав with tf.compat.v1.control_dependencies([print_op]). @end_compatibility
Использование в TF 1.x графах:
sess = tf.compat.v1.Session()
with sess.as_default():
tensor = tf.range(10)
print_op = tf.print("tensors:", tensor, {2: tensor * 2},
output_stream=sys.stdout)
with tf.control_dependencies([print_op]):
tripled_tensor = tensor * 3
sess.run(tripled_tensor)
(Это выводит "тензоры: [0 1 2 ... 7 8 9] {2: [0 2 4 ... 14 16 18]}" в sys.stdout)
Примечание: В Jupyter-тетрадках и colabs tf.print выводит данные в ячейки вывода тетрадки. Он не будет записывать данные в журналы консоли ядра тетрадки.
| Аргументы | |
|---|---|
*inputs | Позиционные аргументы, которые являются входными данными для вывода. Входные данные в выводимом выходе будут разделены пробелами. Входные данные могут быть примитивами Python, тензорами, структурами данных, такими как словари и списки, которые могут содержать тензоры (при этом структуры данных могут быть вложены произвольным образом), и выводимые Python-объекты. |
output_stream | Поток вывода, уровень ведения журнала или файл для вывода. По умолчанию используется sys.stderr, но также поддерживаются sys.stdout, tf.compat.v1.logging.info, tf.compat.v1.logging.warning, tf.compat.v1.logging.error, absl.logging.info, absl.logging.warning и absl.logging.error. Для вывода в файл передайте строку, начинающуюся с "file://", за которой следует путь к файлу, например, "file:///tmp/foo.out". |
summarize | Первые и последние summarize элементы внутри каждого измерения печатаются рекурсивно для каждого тензора. Если None, то первые 3 и последние 3 элемента каждого измерения будут выведены для каждого тензора. Если установлено в -1, будут выведены все элементы каждого тензора. |
sep | Строка, используемая для разделения входных данных. По умолчанию это " ". |
end | Конечный символ, который добавляется в конец выводимой строки. По умолчанию это символ новой строки. |
name | Имя операции (необязательно). |
| Возвращает | |
|---|---|
None при выполнении в режиме eager. Во время трассировки графа возвращает оператор TF, который выводит указанные входные данные в указанный поток вывода или уровень ведения журнала. Этот оператор будет автоматически выполняться, за исключением графов и сессий в tf.compat.v1. |
| Возбуждает | |
|---|---|
ValueError | Если указан неподдерживаемый поток вывода. |
Совместимость с Python 2
В Python 2.7 убедитесь, что вы импортировали следующее: from __future__ import print_function
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/print