home.social

#multiprocessing — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #multiprocessing, aggregated by home.social.

  1. Нейросети, генетика и десктоп: как я построил микрофреймворк для обучения AI-агентов с неблокирующим GUI

    Микрофреймворк для параллельного обучения AI-агентов в средах Gymnasium с графическим интерфейсом на wxPython. Решает классическую проблему «зависшего GUI» при длительном обучении нейросетей: вычисления вынесены в отдельные процессы-сервисы, а интерфейс остаётся полностью отзывчивым. Поддерживает плагинную систему для добавления новых сред, визуализацию прогресса (графики Matplotlib), генетический алгоритм обучения (нейроэволюцию через DEAP) и сборку в один .exe через PyInstaller с автоматическим CI/CD.

    habr.com/ru/articles/1030208/

    #python #нейросети #генетический_алгоритм #нейроэволюция #pytorch #wxpython #multiprocessing #микрофреймворк #desktop_приложение #gui

  2. Нейросети, генетика и десктоп: как я построил микрофреймворк для обучения AI-агентов с неблокирующим GUI

    Микрофреймворк для параллельного обучения AI-агентов в средах Gymnasium с графическим интерфейсом на wxPython. Решает классическую проблему «зависшего GUI» при длительном обучении нейросетей: вычисления вынесены в отдельные процессы-сервисы, а интерфейс остаётся полностью отзывчивым. Поддерживает плагинную систему для добавления новых сред, визуализацию прогресса (графики Matplotlib), генетический алгоритм обучения (нейроэволюцию через DEAP) и сборку в один .exe через PyInstaller с автоматическим CI/CD.

    habr.com/ru/articles/1030208/

    #python #нейросети #генетический_алгоритм #нейроэволюция #pytorch #wxpython #multiprocessing #микрофреймворк #desktop_приложение #gui

  3. Нейросети, генетика и десктоп: как я построил микрофреймворк для обучения AI-агентов с неблокирующим GUI

    Микрофреймворк для параллельного обучения AI-агентов в средах Gymnasium с графическим интерфейсом на wxPython. Решает классическую проблему «зависшего GUI» при длительном обучении нейросетей: вычисления вынесены в отдельные процессы-сервисы, а интерфейс остаётся полностью отзывчивым. Поддерживает плагинную систему для добавления новых сред, визуализацию прогресса (графики Matplotlib), генетический алгоритм обучения (нейроэволюцию через DEAP) и сборку в один .exe через PyInstaller с автоматическим CI/CD.

    habr.com/ru/articles/1030208/

    #python #нейросети #генетический_алгоритм #нейроэволюция #pytorch #wxpython #multiprocessing #микрофреймворк #desktop_приложение #gui

  4. Нейросети, генетика и десктоп: как я построил микрофреймворк для обучения AI-агентов с неблокирующим GUI

    Микрофреймворк для параллельного обучения AI-агентов в средах Gymnasium с графическим интерфейсом на wxPython. Решает классическую проблему «зависшего GUI» при длительном обучении нейросетей: вычисления вынесены в отдельные процессы-сервисы, а интерфейс остаётся полностью отзывчивым. Поддерживает плагинную систему для добавления новых сред, визуализацию прогресса (графики Matplotlib), генетический алгоритм обучения (нейроэволюцию через DEAP) и сборку в один .exe через PyInstaller с автоматическим CI/CD.

    habr.com/ru/articles/1030208/

    #python #нейросети #генетический_алгоритм #нейроэволюция #pytorch #wxpython #multiprocessing #микрофреймворк #desktop_приложение #gui

  5. Разбор threading vs multiprocessing vs asyncio в Python

    При работе с Python да и другими языками программирования часто возникает необходимость ускорения выполнения кода, масштабирования обработки данных или работы с большим количеством сетевых запросов. Именно в Python для решения этих задач существуют три базовых метода. Это: threading, multiprocessing и asyncio. На первый взгляд – механизмы схожие. Но при детальном разборе ясно, что они решают принципиально разные задачи, опираются на разные модели исполнения и обладают своими ограничениями. В статье расскажу об особенностях каждого метода – будет интересно и познавательно.

    habr.com/ru/articles/991478/

    #threading #multiprocessing #asyncio #Python #параллельность #конкурентность #CPUbound #event_loop #многопоточность

  6. There was something interesting going on on one of my systems:

    If a certain function in was called as a separate process with the library, then the sort_values function of would just hang (and therefore the process would never produce the output I was waiting for). Called from the main process was OK.

    The solution was to change the sorting algorithm by the `kind="stable"` parameter. Weird.

  7. I've been working on a #space #visualization tool for our operators. It basically needs to always know, and be ready to plot, where every single one of 60k+ objects is down to millidegree/meter/second resolution just in case the sensor suddenly slews there

    My own constraint is that it has to be 1) a single 2) #python executable because otherwise I'm not interested

    Earlier this year, I found a great 30x faster technique for determining which #satellites are above the horizon. (In fact, it's far more general than that, but that's all the help it gives me to this problem.)

    I also realized I could spawn a #multiprocessing child to do lookahead on data and then pass a huge #numpy array to my graphing process. (Investigated ~9 different ways, chose the best)

    But there I was stuck.

    At any given moment, there are ~4500 space objects above the horizon (at our latitude). Putting 4500 points with little persistence trails and labels and then updating all that at 1Hz let alone the 10Hz I'd like was taking too long, even using the amazing #pyqtgraph

    So there I was stuck. Until this week.

  8. kitfucoda.medium.com/concurren

    Concurrency and parallelism are often confused in async programming discussions. Go's goroutines highlighted the difference: concurrency is doing many things at once, while parallelism is doing many things at the same time.

    AsyncIO handles concurrency well for I/O, but CPU-bound tasks need parallelism. Python uses AsyncIO for concurrency, and ProcessPoolExecutor for parallelism, distributing work across CPU cores.

    Process communication is harder than thread communication. AsyncIO's task cancellation differs from ProcessPoolExecutor's, requiring workarounds like event objects for reliable cancellation and shutdown.

    Essentially, ProcessPoolExecutor enables parallelism for CPU-bound tasks, scaling them across multiple cores, while AsyncIO handles I/O concurrently.

    #python #asyncio #concurrency #parallelism #multiprocessing #opentowork #getfedihired #fedihire #opentowork

  9. Параллельные вычисления, конкурентность и асинхронное программирование в Python: обзор для начинающих

    Однопоточные приложения на Python ограничены в производительности: они выполняют задачи последовательно и не используют преимущества многоядерных процессоров. Кроме того, такие программы не справляются с обработкой множества операций одновременно, особенно если речь идет о задачах, связанных с вводом-выводом, например сетевыми запросами или чтением файлов. Производительность можно значительно улучшить, внедрив в код параллельные вычисления, конкурентность или асинхронное программирование. Для этого Python предлагает такие инструменты, как multiprocessing, threading и asyncio.

    habr.com/ru/companies/skillfac

    #python #multiprocessing #asyncio #threading

  10. История эволюции веб-сервиса: от примера из доки до космолета

    5k RPS, 5ms Latency и 100 экспериментов одновременно. История о том, как наша команда перестраивала веб-сервис для сплитования трафика в высокопроизводительную систему. С какими ограничениями Cpython и Gil столкнулись на пути, как обходили "узкие места" и оптимизировали сервис до микросекунд. В общем, всё о том, как мы построили "космолет" на Python и взлетели! Ну и, конечно же, ответ на вопрос: "Почему не Go? ".

    habr.com/ru/companies/okko/art

    #python #multiprocessing #performance #okko #ab_testing

  11. I used to love #Python, but dealing with the honestly kind of scary #multiprocessing library was a reminder of the #GIL #threading situation really hurts working with #parallelism. 😰🫠

    I've started learning #Kotlin after honestly really enjoying the threading library it provides. It's so's easy to work with when you understand it! 😀 (I would prefer to stay away from some of the #Java conventions after working with them for so long. 👍) #JVM #programming
    f.kawa-kun.com/display/881761a…

  12. Ускорение Python в 2 раза с помощью multiprocessing, async и MapReduce

    Python действительно может считаться относительно медленным языком программирования по сравнению с некоторыми другими языками, такими как C++ или Java. Однако, существуют различные библиотеки и инструменты, которые позволяют ускорить выполнение счетных задач в Python. Рассмотрим как можно ускорить анализ данных в 2 раза!

    habr.com/ru/articles/825206/

    #python3 #python #asyncio #async/await #multiprocessing #mapreduce

  13. Article: 10 times faster, running cases in parallel

    In this article, we explore running optimization model cases in parallel. Specifically, we use the Python multiprocessing and mpi4py libraries to fully use the many CPU cores/threads in modern computers.

    Our goals are to:
    - Illustrate how to apply the multiprocessing and mpi4py libraries to running optimization model cases in parallel.
    - Measure the performance of running cases in parallel compared with serially.
    - Compare the performance of an old 4 core / 4 thread CPU with a new 20 core / 28 thread CPU, using the HiGHS solver.

    solvermax.com/blog/10-times-fa
    #Python #pyomo #orms #optimization #modelling #HiGHS #multiprocessing #mpi4py

  14. 1) Multi-threading: by using `cpu_cores() - 1` workers as pipelines to solve sudokus, it was easy to the workload

  15. Oh wow #pyhton threading lib is sooo nice. I used the #multiprocessing lib a while back and found it cumbersome. Parallelism in my existing Artifactory calls will be a snap with this one. I update metadata on docker manifests with quality gate data, deployment operator and deployment approver. When I did this we had less than related 20 images. We now have 60+ and it’s time to boost the efficiency a bit. This will be easy. I haven’t had to do much unit testing around threading so this should be fun

  16. This year's programming revelation for me was the #multiprocessing library #ray. Now that I've discovered how easily you can adapt existing code to make it scale up to any number of nodes, I can never go back to Python's built-in multiprocessing, especially considering all the limitations that have suddenly evaporated in a ray :mind_blown: Also, the interface is so dead simple, I can't believe it. #python #programming #DataScience #bigdata #scalability #parallelization #interfaces #ux