Как вывести путь обратного распространения градиента потерь через вычислительный граф PyTorch - PullRequest
0 голосов
/ 28 марта 2020

Я реализовал новую функцию потерь в PyTorch.

#model_1 needs to be trained
outputs = model_1(input)
loss = myloss(outputs,labels)

#output is how much to resize an image
#label give the image file index
#Below I am explaining myloss() function
org_file_name = pic_ + str(labels[0]) + ".png"
new_image = compress(org_image,outputs)
accuracy_loss = run_pretrained_yolov3(org_image, new_image)

#next two lines are modifying the same DAG
prev_loss = torch.mean((outputs-labels)**2)
new_loss = (accuracy_loss/prev_loss.item())*prev_loss
new_loss.backward()

Может кто-нибудь PLZ помочь мне с предложением как я могу узнать, как обратное распространение градиента потерь через вычислительный граф?

[то есть, фактически, внутри функции myloss () я использовал какую-то другую предварительно обученную модель, примененную в режиме тестирования, чтобы получить разницу или значение окончательной потери.] Теперь я хочу знать, является ли мой new_loss.grad обратным распространением через model1 или сначала через yolov3 потом через model1? Предварительно обученный yolov3 используется только в режиме тестирования.

Я пробовал тензорную доску, она не предоставляет мне такую ​​возможность. Любые предложения будут очень полезны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...