Я хочу изучить TensorFlow в течение длительного времени, поэтому я хочу прочитать его исходный код, но в начале. Например:Вызов-stacktrace исходного кода TensorFlow?
Я не могу найти более глубокий уровень функции.
Где функция Shape
?
Я хочу изучить TensorFlow в течение длительного времени, поэтому я хочу прочитать его исходный код, но в начале. Например:Вызов-stacktrace исходного кода TensorFlow?
Я не могу найти более глубокий уровень функции.
Где функция Shape
?
Выведенный фрагмент кода представляет собой автоматически сгенерированную часть кода, которая добавляетоперации к графе. Строка "Shape"
в аргументах _op_def_lib.apply_op()
определяет тип операции узла. Стандартные типы операций регистрируются в исходном коде C++ в каталоге tensorflow/core/ops/
исходного кода TensorFlow. В частности, операция "Shape"
зарегистрирована в tensorflow/core/ops/array_ops.cc
. Эти регистрации используются для определения типов входных данных, входящих и исходящих данных из каждой операции, и обертки Python генерируются из этих регистраций.
Первый раз при запуске подграф, содержащий этот узел (т.е. при вызове tf.Session.run()
), TensorFlow будет искать подходящий ядро , реализующий операцию на конкретном устройстве. (Например, часто используются отдельные ядра для реализации операций с процессорами и графическими процессорами.) Стандартные реализации ядра регистрируются в исходном коде C++ в каталоге tensorflow/core/kernels/
исходного кода TensorFlow. В частности, ядра "Shape"
зарегистрированы в tensorflow/core/kernels/shape_ops.cc
. Регистрация ядра называет класс, реализующий ядро, которое должно быть подклассом tensorflow::OpKernel
, и в этом случае это класс tensorflow::ShapeOp
. Конструктор вызывается, когда подграф запускается в первый раз, и метод Compute()
вызывается каждый раз, когда выполняется операция.
Спасибо. Пожалуйста, скажите мне, где я могу найти этот файл C++ на моей локальной машине? Еще раз спасибо. Я ищу всю файловую систему и не могу найти их. Так как читать исходный код на C++? –
Это зависит от того, как вы настроили установку TensorFlow. Если вы установили из источника, они будут находиться в том месте, где вы клонировали [TensorFlow git repository] (https://github.com/tensorflow/tensorflow). Если вы установили из пакета PIP, исходные файлы, вероятно, не будут находиться на вашем локальном компьютере. – mrry