tf.print
Выводит указанные входные данные.
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
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) |
Использование совместимости в графах TF 1.x:
В графах, созданных вручную вне tf.function, этот метод возвращает созданный оператор TF, который выводит данные. Чтобы убедиться в выполнении оператора, пользователям необходимо передать произведённый оператор в метод tf.compat.v1.Session's run, или использовать оператор в качестве зависимости контроля для выполненных операторов, указав with tf.compat.v1.control_dependencies([print_op]).
tf.compat.v1.disable_v2_behavior() # for TF1 compatibility only
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 при выполнении с немедленным вычислением. Во время трассировки графика возвращает оператор TF, который выводит указанные входные данные в указанный поток вывода или уровень ведения журнала. Этот оператор будет выполняться автоматически, за исключением графов и сессий tf.compat.v1. |
| Возбуждает | |
|---|---|
ValueError | Если указан неподдерживаемый поток вывода. |
© 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/print