215 похожих чатов

Более технический вопрос. Сейчас перенес код на сервер и то,

что исправно работало на одном GPU стало вылетать с ошибками при использовании DDP. Источник более-менее локализовал в следующей части кода:

batch_size = img.shape[0]
euclidean_s = torch.zeros([batch_size, 1]).to(device=img.device)

heatmap = self.extract_heatmap_posenet_fast(img, pose_dnn=self.pose_dnn, device=img.device)
heatmap_src = self.extract_heatmap_posenet_fast(img_src, pose_dnn=self.pose_dnn, device=img_src.device)

heatmap_s = heatmap.split(1, 0)
heatmap_src_s = heatmap_src.split(1, 0)

for idx, (heatmap, heatmap_src) in enumerate(zip(heatmap_s, heatmap_src_s)):
euclidean = sum(((heatmap - heatmap_src)**2).reshape(17 * 64 * 64))
euclidean_s[idx] = euclidean
Мне кажется, что рассинхронизация происходит из-за всех этих split/stack. Можно ли как-то проще и правильнее применить извлечение евклидовой нормы к батчу?

4 ответов

13 просмотров

С какой ошибкой ?

to divice - на какой девайс? Ты в ддп работаешь

Старайся на gpu не использовать мат операции которые не входят в либу торча. sum питоновский, и с торчом дружит, все будет ок. Это просто как совет. Когда нибудь наткнешься на говно

sksk58- Автор вопроса
Vadim Shatov
Старайся на gpu не использовать мат операции котор...

спасибо, попробовал решить через torch.sum - в принципе работает на одной видеокарте, сейчас пойду на сервере запускать.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта