Hlavní navigace

Blogy

  • Optimalizace async. parseru JSON v C++20

    Toto je dodatek k předchozímu článku o parsování JSON pomocí korutiny. Ačkoliv původním záměrem nebylo maximalizovat rychlost, ale spíš benefit asynchronního zpracování, tak diskutéři pod článkem mne donutili podívat se na možnosti optimalizace právě na rychlost. Co měřit? Posuzovat efektivitu algoritmu podle rychlosti je asi ta nejjednodušší metrika, ale k tomu jsem se původně nechtěl snižovat. Jedno číslo, které nemusí vyjadřovat skutečnou efektivitu…
    8. 5. 2024 14:32 (aktualizováno)
  • Asynchroní parsování JSONu v C++20

    Tento článek je ukázkou a malým cvičením na korutiny. Ukážeme si, jak napsat parser JSONu jako korutinu v C++20 Motivace Asynchronní parsování JSONu najde uplatnění zejména u programů, které komunikují po síťovém spojení nebo používají asynchronní vstupně výstupní operace. Jako příklad si můžeme uvést HTTP server, který přijme request od klienta ve formátu JSON. 
    4. 5. 2024 14:28 (aktualizováno)
  • Sdílení objektů mezi vlákny v C++20 (II)

    Tento článek je volným pokračování předchozího článku Sdílení objektů mezi vlákny jednoduše v C++20. Tentokrát se podíváme na jiné řešení, které má ambice se dostat do normy C++26 Synchronized_value na CppConu Krátké představení nového návrhu najdete ve videu Lightning Talk: Thread Safety With synchronized_value in C++ – Jørgen Fogh – CppCon 2023. Video stojí za shlédnutí, protože má něco přes 3 minuty, včetně upoutávky na CppCon 2024 na začátku videa
    25. 4. 2024 16:08
  • Segmentace MRI mozku - knihovna TASM

    Dnes to bude taková rychlá akce. Mým cílem je vytvořit nástroj na sémantickou segmentaci obrázků (jak jsem již několikrát dělal v předchozích článcích), ale s co možná nejmenším programátorským úsilím. Doposud jsem si vždy nějakou část modelu skládal vlastníma rukama z různých typů konvolučních bloků. Ale ono to může jít i jednodušeji.
    19. 4. 2024 0:00
  • Asynchronní cykly v C++20

    Pro podporu asynchroních cyklů C++20 byl navržen příkaz for co_await. Problém je, že nakonec se tento návrh do normy nedostal. Máme nějakou náhradu? for co_await Příkaz for asi nemusím představovat. Jeho použití pro procházení kontejnerů a rozsahů asi také ne. Kdyžtak pro zopakování /---pre std::vector<int> items={1,2,3,4}; for (int x: items) { std::cout << x << std::endl; } \---
    13. 4. 2024 14:14 (aktualizováno)
  • Segmentace MRI mozku - Transfer Learning

    V předchozích dvou článcích jsem vytvářel modely pro sémantickou segmentaci obrázků takzvaně „z čistého stolu“. Dělal jsem to proto, abych si lépe ověřil, jak modely fungují. Popravdě řečeno, takto se to dnes asi běžně nedělá. Obvykle autoři vychází z již existujících modelů, které pak přizpůsobují konkrétnímu úkolu. A to tom bude můj dnešní příspěvek.
    12. 4. 2024 0:00
  • Jak efektivně pracovat s JDBC ve skriptech Java 17

    Rád bych vám představil Java třídu s necelými 170 řádky kódu pro usnadnění práce s SQL dotazy volané přes JDBC API. Čím je tohle řešení zajímavé? Třídu lze vložit do skriptu v jazyce Java verze 17. Výhodou skriptu Java je snadná přenositelnost v textovém formátu a možnost spuštění bez předchozí kompilace, přitom máme za běhu k dispozici značné prostředky ze standardní knihovny toho jazyka…
    10. 6. 2024 20:11 (aktualizováno)
  • Segmentace MRI mozku - DeepLabV3 model

    Dnes bych se rád podíval na další typ modelu pro sémantickou segmentaci obrázků, a tím je DeepLabV3. Důvodem, proč jsem si vybral právě tento, je použití bloku Spatial Pyramid Pooling a s ním spojené Atrous Convolution. K tomu se dostanu ale až u návrhu samotného modelu. Pro své pokusy opět využiji datovou sadu Brain MRI segmentation stejným způsobem, jako tomu bylo v předchozím článku Segmentace MRI mozku – U-Net mode…
    5. 4. 2024 0:00
  • RVO pro korutiny (C++20)

    RVO znamená Return Value Optimization a tentokrát se podíváme na to, jak toto téma ovlivňují korutiny v C++ Co je RVO (Return Value Optimization) RVO je v C++ standardizované od verze 17. Takže se v tomhle pohledu jedná celkem o novinku. Přesto se překladače snažily o tento typ optimalizace před verzí 17. Pro  vysvětlení, o co přesně jde, začnu příkladem
    31. 3. 2024 14:49
  • Segmentace MRI mozku - U-Net model

    V předchozích několika článcích jsem se zabýval problémem klasifikace RTG snímků. Ve své podstatě jsem hledal odpověď na otázku, zda je na konkrétním RTG snímku možné rozpoznat zápal plic pacienta nebo nikoliv (jednalo se tedy o binární klasifikaci s odpovědí ano/ne). Co kdyby mne zajímala odpověď na otázku, ve kterém konkrétním místě ten problém je. Chtěl bych vidět místo na obrázku, které vede k závěru, že pacient danou nemoc má…
    29. 3. 2024 0:00