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)
(Выводит "tensors: [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, который выводит данные. Чтобы оператор выполнился, необходимо передать созданный оператор методу run объекта tf.compat.v1.Session или использовать оператор как управляющую зависимость для выполняемых операций, указав 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)
(Выводит "tensors: [0 1 2 ... 7 8 9] {2: [0 2 4 ... 14 16 18]}" в sys.stdout)
Примечание: В блокнотах Jupyter и Colab функция 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