Blogy

  • Milý deníčku...

    Tím „milý deníčku“ neoslovuji tento blog. Mám ještě jeden deník, velký textový soubor doma na desktopu. Proč o tom píšu zde? Protože Linux mi s deníkem velmi pomáhá svojí skriptovatelností. Nevěříte? Popíšu…
    3. 9. 2024 10:10 (aktualizováno)
  • Multiplatformní samorozbalitelný archiv ve skriptu jazyka Java

    Potřebujete přenést občas binární soubory v textovém formátu? Máte na cílovém prostředí nainstalovaný Java runtime verze 17 nebo vyšší? Pak by vám mohl přijít vhod nástroj, který umí sestavit samorozbalitelný skript v kódu Java. Archivovat lze soubory jak textové tak binární. V obou případech se obsah souboru nejdříve komprimuje a pak zakóduje pomocí base64. U velkých zdrojů však může dojít k překročení limitů zdrojového kódu jazyka Java a tak úhrnná velikost binárních dat by výrazně neměla přek
    2. 7. 2024 7:32 (aktualizováno)
  • 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