У меня есть скрипт с нейронными сетями, вот пример инициализации
import torch
from torchvision.models.detection import fasterrcnn_resnet50_fpn
from torchvision.models.detection import FasterRCNN_ResNet50_FPN_Weights
class Detector():
....
def _initialize_detector(self):
"""Initialize object detection model."""
model = fasterrcnn_resnet50_fpn(weights=FasterRCNN_ResNet50_FPN_Weights.DEFAULT)
model.to(device).eval()
return model
он работает нормально, но когда я создаю задачу сельдерея
@celery_app.task
def video_detect_task(
video_file: str,
bvh_filename: str,
):
"""Celery task for video_detect_task module.
:param video_path: path to input video file
:param bvh_filename: path to save bvh file
"""
task_id = current_task.request.id
try:
model = Detector.load(Config())
frames_num = get_video_duration(video_file)
logger.info('frames: ',extra = {'number ':frames_num})
skeleton_name, _ = os.path.splitext(os.path.basename(bvh_filename))
skeleton_full_path = os.path.dirname(bvh_filename) + "/" + skeleton_name
save_character_path = ".".join([skeleton_full_path, 'bvh'])
status = model.process(
video_file=video_file,
bvh_file_name=save_character_path
)
тогда код не работает, он даже не может загрузить модель по журналам. Я вижу это:
22.5%-12-22 00:10:27,496: WARNING/ForkPoolWorker-2]
22.5%-12-22 00:10:27,496: WARNING/ForkPoolWorker-2]
22.6%-12-22 00:10:27,497: WARNING/ForkPoolWorker-2]
22.7%-12-22 00:10:27,497: WARNING/ForkPoolWorker-2]
22.8%-12-22 00:10:27,497: WARNING/ForkPoolWorker-2]
Спасибо!
НО когда я это сделаю
torch.set_num_threads(1)
Запуск задачи сельдерея тоже работает нормально, только долго. Все вычисления выполняются на процессоре.
Я думаю, что это какая-то проблема с многопроцессорностью Celery и Troech
Я запускаю celery с помощью этой команды
command: ["celery", "-A", "video_detect_task.tasks.celery_app.celery_app", "worker", "-Q", "video_detect_task_queue", "--loglevel=info"]
Подробнее здесь: https://stackoverflow.com/questions/793 ... processing
Задачи Celery и многопроцессорность Torch ⇐ Python
Программы на Python
1735210392
Anonymous
У меня есть скрипт с нейронными сетями, вот пример инициализации
import torch
from torchvision.models.detection import fasterrcnn_resnet50_fpn
from torchvision.models.detection import FasterRCNN_ResNet50_FPN_Weights
class Detector():
....
def _initialize_detector(self):
"""Initialize object detection model."""
model = fasterrcnn_resnet50_fpn(weights=FasterRCNN_ResNet50_FPN_Weights.DEFAULT)
model.to(device).eval()
return model
он работает нормально, но когда я создаю задачу сельдерея
@celery_app.task
def video_detect_task(
video_file: str,
bvh_filename: str,
):
"""Celery task for video_detect_task module.
:param video_path: path to input video file
:param bvh_filename: path to save bvh file
"""
task_id = current_task.request.id
try:
model = Detector.load(Config())
frames_num = get_video_duration(video_file)
logger.info('frames: ',extra = {'number ':frames_num})
skeleton_name, _ = os.path.splitext(os.path.basename(bvh_filename))
skeleton_full_path = os.path.dirname(bvh_filename) + "/" + skeleton_name
save_character_path = ".".join([skeleton_full_path, 'bvh'])
status = model.process(
video_file=video_file,
bvh_file_name=save_character_path
)
тогда код не работает, он даже не может загрузить модель по журналам. Я вижу это:
22.5%-12-22 00:10:27,496: WARNING/ForkPoolWorker-2]
22.5%-12-22 00:10:27,496: WARNING/ForkPoolWorker-2]
22.6%-12-22 00:10:27,497: WARNING/ForkPoolWorker-2]
22.7%-12-22 00:10:27,497: WARNING/ForkPoolWorker-2]
22.8%-12-22 00:10:27,497: WARNING/ForkPoolWorker-2]
Спасибо!
НО когда я это сделаю
torch.set_num_threads(1)
Запуск задачи сельдерея тоже работает нормально, только долго. Все вычисления выполняются на процессоре.
Я думаю, что это какая-то проблема с многопроцессорностью Celery и Troech
Я запускаю celery с помощью этой команды
command: ["celery", "-A", "video_detect_task.tasks.celery_app.celery_app", "worker", "-Q", "video_detect_task_queue", "--loglevel=info"]
Подробнее здесь: [url]https://stackoverflow.com/questions/79309281/celery-tasks-and-torch-multiprocessing[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия