2.7 Работа с документацией
MXNet: Из-за ограниченного объёма книга не может описать каждую функцию и класс MXNet. Документация API, другие учебные материалы и примеры содержат множество сведений, выходящих за рамки этой книги. В этом разделе приведены некоторые рекомендации по работе с API MXNet.
PyTorch: Из-за ограниченного объёма книга не может описать каждую функцию и класс PyTorch. Документация API, другие учебные материалы и примеры содержат множество сведений, выходящих за рамки этой книги. В этом разделе приведены некоторые рекомендации по работе с API PyTorch.
TensorFlow: Из-за ограниченного объёма книга не может описать каждую функцию и класс TensorFlow. Документация API, другие учебные материалы и примеры содержат множество сведений, выходящих за рамки этой книги. В этом разделе приведены некоторые рекомендации по работе с API TensorFlow.
2.7.1 Поиск всех функций и классов модуля
Чтобы узнать, какие функции и классы можно вызывать в модуле, используют функцию dir.
Например, мы можем получить список всех атрибутов модуля генерации случайных чисел:
MXNet:
from mxnet import np
print(dir(np.random))
PyTorch:
import torch
print(dir(torch.distributions))
TensorFlow:
import tensorflow as tf
print(dir(tf.random))
PaddlePaddle:
import warnings
warnings.filterwarnings(action='ignore')
import paddle
print(dir(paddle.distribution))
Обычно можно не обращать внимания на функции, имена которых начинаются и заканчиваются на «__» (двойное подчёркивание): это специальные объекты Python.
Также можно пропустить функции, имена которых начинаются с одиночного «_»: обычно это внутренние функции.
По оставшимся именам функций и атрибутов можно предположить, что этот модуль предоставляет различные методы генерации случайных чисел, в том числе выборку из равномерного (uniform), нормального (normal) и мультиномиального (multinomial) распределений.
2.7.2 Поиск применения конкретных функций и классов
Более подробное описание того, как использовать заданную функцию или класс, можно получить с помощью функции help.
Например, посмотрим, как использовать функцию ones для создания тензоров.
MXNet:
help(np.ones)
PyTorch:
help(torch.ones)
TensorFlow:
help(tf.ones)
PaddlePaddle:
help(paddle.ones)
Из документации видно, что функция ones создаёт новый тензор заданной формы и задаёт значения всех его элементов равными 1.
Далее проверим это описание на небольшом примере:
MXNet:
np.ones(4)
PyTorch:
torch.ones(4)
TensorFlow:
tf.ones(4)
PaddlePaddle:
paddle.ones([4], dtype='float32')
В Jupyter Notebook можно использовать символ ?, чтобы открыть документацию в другом окне браузера.
Например, команда list? выведет почти то же, что и help(list), но в новом окне браузера.
Кроме того, если написать два знака вопроса, как в list??, будет показан код Python, реализующий эту функцию.
Резюме
- Официальная документация содержит множество описаний и примеров, выходящих за рамки этой книги.
- Документацию по API можно получить, вызвав функции
dirиhelp, или в Jupyter Notebook с помощью?и??.
Упражнения
- Найдите документацию по любой функции или классу в фреймворке глубокого обучения. Попробуйте найти её на официальном сайте этого фреймворка.
MXNet: Обсуждение
PyTorch: Обсуждение
TensorFlow: Обсуждение
PaddlePaddle: Обсуждение