python fast dtw multi-core freeze_support error - PullRequest
0 голосов
/ 15 апреля 2019

когда я вызываю "pool.apply (engine, args = (Remder_stream, Streams_total, 12,

Remder_duration, templates, templates_classes)" я сталкиваюсь с ошибкой во время выполнения "Была предпринята попытка запуститьновый процесс до того, как текущий процесс завершит свою фазу начальной загрузки.

Это, вероятно, означает, что вы не используете fork для запуска своих дочерних процессов, и вы забыли использовать правильную идиому в основном модуле: if name == ' main ': freeze_support () ... Строка freeze_support () может быть опущена, если программа не будет заморожена для создания исполняемого файла. "

```python
 def engine(stream_reminder, total_streams, stream_id, duration_reminder, templates, templates_classes):
        stream = get_stream_data(stream_id)
        if stream != "":
            optimized_stream, timestamps = optimize_stream(stream)
            if len(stream_reminder) != 0:
                optimized_stream = np.concatenate((stream_reminder, optimized_stream), axis=None)
                timestamps = np.concatenate((duration_reminder, timestamps), axis=None)
            stream_cuts, stream_reminder, stream_durations, duration_reminder = cut_stream(optimized_stream, 13, 125,
                                                                                           timestamps)
            if len(stream_cuts) > 0:
                submit_stream_cuts(stream_id, stream_cuts, stream_durations)
                total_streams = total_streams + stream_cuts
                print(len(total_streams))
                for i in range(len(stream_cuts)):
                    stream_cut_result = classifiy_stroke(templates,stream_cuts[i], templates_classes)
                    submit_stroke_result(stream_cut_result,stream_cuts[i])

    print(len(total_streams))
    threading.Timer(2.0, engine, [stream_reminder, total_streams, stream_id, duration_reminder, templates, templates_classes]).start()
```

reminder_stream = []
streams_total = []
reminder_duration = []

templates, templates_classes = get_stroke_templates()
for i in range(len(templates)):
    templates[i] = filter_stream(templates[i], False, False)
import multiprocessing as mp
pool = mp.Pool(mp.cpu_count())

results = [pool.apply(engine, args=(reminder_stream, streams_total ,12, reminder_duration,templates, templates_classes))]
pool.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...