Что означает «переменная» в python? Это стандартная функция? - PullRequest
0 голосов
/ 03 августа 2020

У меня есть код python, который я должен прочитать и понять.

В одной строке я нахожу

 img = Variable(torch.from_numpy(img.transpose(2, 0, 1)[np.newaxis,:,:,:]).cuda().float(), volatile=True)

что это за Variable я вижу? Когда я использую IDE для поиска определения, в нем говорится: «Не найдено определения для переменной», что заставляет меня подозревать, что это стандартная функция в python. Я, очевидно, не могу погуглить "Переменная" для python, потому что я получу бесчисленное количество определений того, что переменная находится в python.

Кто-нибудь видел такую ​​строку раньше? Где переменная используется как функция? т

1 Ответ

3 голосов
/ 03 августа 2020

Variable не является встроенным классом. Он находится в модуле torch.autograd

Переменная обертывает тензор. Он поддерживает почти все API, определенные Tensor. Variable также предоставляет обратный метод для выполнения обратного распространения ошибки. Например, для обратного распространения функции потерь для обучения параметра модели x мы используем переменную потерю, чтобы сохранить значение, вычисленное функцией потерь. Затем мы вызываем loss.backward, который вычисляет градиенты ∂loss / ∂x для всех обучаемых параметров. PyTorch сохранит результаты градиента в соответствующей переменной x.

Source

...