Описание тега autograd
Autograd может автоматически различать собственный код Python и Numpy, а также используется платформой глубокого обучения PyTorch. Он может обрабатывать большое количество функций Python, включая циклы, if, рекурсию и замыкания, а также может принимать производные от производных от производных. Основное предполагаемое приложение Autograd - оптимизация на основе градиента.
1
ответ
Как обернуть функции PyTorch и реализовать автоград?
Я работаю над учебником PyTorch по определению новых функций автограда. Функция автограда, которую я хочу реализовать - это оболочка torch.nn.functional.max_pool1d, Вот что у меня так далеко: import numpy as np import torch import torch.nn as nn imp…
08 фев '19 в 06:16
0
ответов
pyTorch может вернуться назад дважды без установки retain_graph=True
Как указано в уроке по PyTorch, если вы даже хотите выполнить обратную часть в некоторой части графика дважды, вам нужно передать retain_graph = True во время первого прохода. Однако я обнаружил, что следующий фрагмент кода на самом деле работает бе…
23 сен '18 в 06:02
0
ответов
Autograd.grad выпускает GIL?
Выпускается ли Python Global Interpreter Lock (GIL) при вычислении градиента с помощью autograd.grad ? Мне интересно, могу ли я использовать multiprocessing.dummy (многопоточность) вместо multiprocessing (многопроцессный) для параллельного вычислени…
10 дек '18 в 19:08
2
ответа
PyTorch Autograd - Grad может быть неявно создан только для скалярных выходных данных
Я использую autograd инструмент в PyTorchи я оказался в ситуации, когда мне нужно получить доступ к значениям в 1D-тензоре с помощью целочисленного индекса. Что-то вроде этого: def basic_fun(x_cloned): res = [] for i in range(len(x)): res.append(x_c…
13 сен '18 в 15:49
0
ответов
Ошибка типа Python: не работает приведение и изменение типов данных
Я написал модель машинного обучения, в которой производные рассчитываются с использованием библиотеки автограда. import autograd.numpy as np from autograd import grad # take gradient # import tangent # Prepare the data input = np.array(list(range(10…
02 фев '18 в 19:00
0
ответов
CUDNN Ошибка в backprop для больших партий
Я реализовал комбинацию MLP, RNN, CNN. С размером пакета 420, кажется, все работает нормально (иначе я не получаю никаких ошибок). Однако, как только я увеличиваю партию до 840, я получаю следующую ошибку: Traceback (most recent call last): File "tr…
24 июл '17 в 09:31
1
ответ
Улучшить производительность автограда Якобиана
Мне интересно, как следующий код может быть быстрее. На данный момент это кажется неоправданно медленным, и я подозреваю, что я неправильно использую API Autograd. Результат, который я ожидаю, - это каждый элемент timeline оценивается по якобиану f,…
02 фев '19 в 00:37
0
ответов
Штраф за градиент активации
Вот простая нейронная сеть, где я пытаюсь наказать норму градиентов активации: class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.conv1 = nn.Conv2d(3, 32, kernel_size=5) self.conv2 = nn.Conv2d(32, 64, kernel_size=5) self.pool…
16 фев '19 в 19:57
1
ответ
PyTorch - Перезаписанные переменные остаются в графе?
Мне интересно, хранятся ли в вычислительном графе PyTorch тензорные средства PyTorch, в которых переменные Python перезаписываются? Итак, вот небольшой пример, где у меня есть модель RNN, где скрытые состояния (и некоторые другие переменные) сбрасыв…
11 окт '18 в 08:40
0
ответов
TypeError при нахождении градиента скаляра в автограде
Возможно, это очевидно, но я не могу заставить автограда работать над поиском градиентов для скаляра. Приведенный ниже код выдает "*** TypeError: ufunc 'xlogy', не поддерживаемый для типов ввода, ..." Что не так с типом переменной p? import autograd…
26 апр '18 в 18:25
0
ответов
Добавить вместе массив NumPy и ArrayBox
Я пытаюсь использовать автоматическое дифференцирование в Python для функции стоимости. У меня возникли некоторые трудности, так как я не могу принять разницу между массивом NumPy и autograd ArrayBox; ошибка ValueError: setting an array element with…
26 май '18 в 13:24
1
ответ
Как использовать пакеты AutoGrad?
Я пытаюсь сделать простую вещь: использовать автоград для получения градиентов и сделать градиентный спуск: import tangent def model(x): return a*x + b def loss(x,y): return (y-model(x))**2.0 После получения потерь для пары ввода-вывода я хочу получ…
02 фев '18 в 13:07
0
ответов
Обновление определенных векторных элементов в PyTorch
У меня есть большой вектор, который я хотел бы обновить. Я обновлю его, добавив смещение для определенных элементов в векторе. Я указываю вектор индексов, которые я хочу обновить (вызвать индексный вектор ix), и для каждого индекса я указываю значен…
15 ноя '18 в 14:39
0
ответов
Медленное обучение против Tensorflow и внезапное снижение производительности на данных поезда
Я пишу реализацию PyTorch Logic Tensor Networks для семантической интерпретации изображений, в которой есть код Tensorflow с открытым исходным кодом. Мне удалось собрать сеть, и она может тренироваться. Я считаю, что правильно копирую гиперпараметры…
10 июн '18 в 13:21
1
ответ
Autograd Pytorch завершается с ошибкой "RuntimeError: дифференцированный ввод недоступен" после сбора входных данных
Pytorch версия 0.3.1 РЕДАКТИРОВАТЬ: я переписываю этот вопрос, чтобы быть проще, так как я сузил ошибку. У меня есть несколько переменных: x = ag.Variable(torch.ones(1, 1), requires_grad = True) y = ag.Variable(torch.ones(1, 1), requires_grad = True…
16 май '18 в 01:20
1
ответ
Самый эффективный способ уменьшить-суммировать массив numpy (с помощью autograd)
У меня есть два массива: index = [2,1,0,0,1,1,1,2] values = [1,2,3,4,5,4,3,2] Я хотел бы произвести: [sum(v for i,v in zip(index, values) if i == ui) for i in sorted(set(index))] наиболее эффективным способом. мои значения вычисляются через автоград…
19 июн '18 в 23:33
0
ответов
Назначение переменных на месте с помощью pytorch
Будучи (плохим) программистом с хорошими практиками, я пытаюсь написать общую "якобианскую" функцию в pytorch, которую я могу использовать для своего проекта. #!/usr/bin/env python3 import numpy as np import torch import torch.autograd as ag def ful…
13 май '18 в 21:04
3
ответа
Операции на месте с PyTorch
Мне было интересно, как работать с операциями на месте в PyTorch. Как я помню, использование операции на месте с autograd всегда было проблематичным. И на самом деле я удивлен, что этот код ниже работает, хотя я не проверял его, я думаю, что этот ко…
13 авг '18 в 08:30
1
ответ
Вычисление градиента tSNE с использованием автограда
Я пытаюсь реализовать алгоритм tSNE в Python. Я использую пакет autograd для вычисления градиентов вместо обычно используемого аналитического градиента. Но я не могу рассчитать градиенты по мере необходимости. Я новичок в ML и пробую свои силы с aut…
12 сен '17 в 23:14
1
ответ
Мини-тренинг для вводов переменных размеров
У меня есть список LongTensors и еще один список меток. Я новичок в PyTorch и RNN, поэтому я не совсем понимаю, как реализовать обучение по мини-пакетам для данных, которые у меня есть. Эти данные гораздо больше, но я хочу, чтобы они были простыми, …
14 фев '18 в 21:23