|
261 / 36 / 7
Регистрация: 03.02.2025
Сообщений: 123
|
|||||||||||
Не работает multiprocessing23.06.2025, 02:57. Показов 2017. Ответов 11
Метки нет (Все метки)
Здравствуйте. Есть такой простой код с multiprocessing на один процесс.
Видео для примера можно взять отсюда https://disk.yandex.ru/i/gtXCiLbzv5vbmg
0
|
|||||||||||
| 23.06.2025, 02:57 | |
|
Ответы с готовыми решениями:
11
Multiprocessing Queue vs multiprocessing.Manager Queue Код с multiprocessing и очередью Queue после компиляции через pyinstaller работает неправильно Multiprocessing |
|
868 / 527 / 148
Регистрация: 03.02.2013
Сообщений: 1,845
|
||
| 23.06.2025, 03:10 | ||
|
на 39-й строчке возник вопрос
Добавлено через 1 минуту Создайте ОДНУ очередь и ОДИН процесс заранее
1
|
||
|
261 / 36 / 7
Регистрация: 03.02.2025
Сообщений: 123
|
||
| 23.06.2025, 03:15 [ТС] | ||
|
Ну мне нужно что бы каждый кадыр обрабатывался в отдельном процессе. У меня на процессоре 16 потоков. Хочу что бы программа загружала все 16 потоков.
0
|
||
|
868 / 527 / 148
Регистрация: 03.02.2013
Сообщений: 1,845
|
||||||
| 23.06.2025, 03:16 | ||||||
0
|
||||||
|
5515 / 2868 / 571
Регистрация: 07.11.2019
Сообщений: 4,758
|
|
| 23.06.2025, 07:03 | |
|
Eduard1977, с циклами for при попиксельной обработке изображений у вас и 100500 процессов будут работать медленно.
Используйте функции Opencv и все будет быстро.
2
|
|
|
261 / 36 / 7
Регистрация: 03.02.2025
Сообщений: 123
|
|||||||
| 23.06.2025, 23:11 [ТС] | |||||||
|
Здравствуйте.
abit, ваш код почему то выдаёт одну картинку (похоже что эта первая картинка). Проигрывания видео не происходит. Но строки информационные показывают.
0
|
|||||||
|
261 / 36 / 7
Регистрация: 03.02.2025
Сообщений: 123
|
||||||
| 25.06.2025, 01:07 [ТС] | ||||||
|
Здравствуйте. Попробую описать что мне нужно от программы, может кто поможет.
Надо создать программу которая использует мультипроцессорность. У меня 16 потоков на процессоре. Я хочу их все загрузить. Программа делает следующее. Она открывает видеофайл, обрабатывает его и записывает на диск. Обрабатывание если не использовать Opencv может занимать много времени из-за этого нужно использовать мультипроцессорность. Обработку видео я хочу делать в отдельных процессах. Следующим образом. Программа берёт первый фрейм и обрабатывает его в первом процессе. Сразу же берт второй фрем и обрабатывает во втором процессе и т.д. до 16 процесса. После этого программа ждёт пока все процессы обработают свои фреймы. После сохраняет все обработанные фреймы на диск, например в MP4. Дальше снова читает видео фреймы с видеофайла. Берет 17 фрейм запускает обработку на первом процессе и т. д. до 32 фрейма который будет запущен на 16 процессе. После обработки сохраняет на диске. И так до конца видеофайла. Добавлено через 8 минут Вот программу которую нужно переделать. Функция neg это и есть обработка кадров. Просьба оставить ей без изменения.
0
|
||||||
|
593 / 230 / 72
Регистрация: 13.05.2020
Сообщений: 412
|
||||||
| 27.06.2025, 11:45 | ||||||
|
Eduard1977, попробуйте вот этот код:
1
|
||||||
|
261 / 36 / 7
Регистрация: 03.02.2025
Сообщений: 123
|
||||||||||||||||
| 28.06.2025, 02:50 [ТС] | ||||||||||||||||
|
Tanya2007, Спасибо. Буду разбираться с кодом. А что это за ошибка появляется когда завершается программа? Не знаешь?
Tanya2007, когда я всё таки подключил свою функцию neg то ошибок стало больше, но они появляются в конце программы. Я кажется догадываюсь из за чего эти ошибки. Что бы не было ошибок надо что бы в видеофайле фреймов было ровно кратно 16 (потому что у меня 16 потоков в процессоре, на других процессорах другое число). А когда количество фреймов другое то в конце мы получаем пустые кадры которых не существуют.
Только что пытался подсовывать видео кратное 16 фреймов. Не помогло, всё равно ошибки. Добавлено через 18 минут Короче, я создал видеофайл в 16 фреймов. И когда обрабатываешь этот видеофайл то информация приходит как будто 32 фрейма. Имеется ввиду строки Время работы: 0:00:00 их 32 штуки. А должно быть только 16 штук. Где то ошибка.
Открыл видео на 1200 фреймов, а строк "Время работы: 0:00:00.001002" количество 1216 штук. Из за этого в конце программы ошибки. Не соответствие, программа пытается прочитать не существующие фреймы.
0
|
||||||||||||||||
|
261 / 36 / 7
Регистрация: 03.02.2025
Сообщений: 123
|
||||||
| 28.06.2025, 23:40 [ТС] | ||||||
|
Tanya2007, привет. Я добавил проверки в код, тереь работает без ошибок. Но не знаю я правелно сделал проверки или можно было ещё лучше написать код. Проверки на строках 9 -11 и 35 -37 и 87 -90.
0
|
||||||
|
593 / 230 / 72
Регистрация: 13.05.2020
Сообщений: 412
|
|
| 30.06.2025, 10:15 | |
|
Eduard1977, Моя ошибка в строке
imgs = [None] * number_cores. В коде не учла, что если кадры закончились, то в пул передается массив с элементами None. Чтобы ошибка ушла, вместо строки imgs = [None] * number_cores, напишите imgs = [].И вместо imgs[i] = img, напишите imgs.append(img). В остальном мой код остается прежним.
1
|
|
|
261 / 36 / 7
Регистрация: 03.02.2025
Сообщений: 123
|
|
| 30.06.2025, 23:24 [ТС] | |
|
Tanya2007, Привет. После последнего исправления твоего кода он начал работать правильно. Спасибо за помощь.
0
|
|
| 30.06.2025, 23:24 | |
|
Помогаю со студенческими работами здесь
12
Multiprocessing mysql Multiprocessing vs multithreding Multiprocessing и тормозящий поток Запись в файл multiprocessing Многопоточность в Python, thread или multiprocessing Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|