neděle 16. června 2024

Na co je knihovna PyTorch? Je pytorch taky pro CPU?

Knihovna PyTorch je populární open-source knihovna pro strojové učení a hluboké učení. Nabízí širokou škálu nástrojů a funkcí pro práci s tenzory (matematické objekty podobné maticím, které mohou být efektivně zpracovávány na GPU), automatizaci diferenciace (což je klíčové pro trénování neuronových sítí metodou zpětného šíření chyb), a možnosti vytváření a trénování různých typů neuronových sítí.

Hlavní vlastnosti a použití PyTorch:

  1. Dynamický graf výpočtů: PyTorch používá dynamický graf výpočtů, což znamená, že graf výpočtů se vytváří a optimalizuje v reálném čase při provádění kódu. To poskytuje větší flexibilitu a jednodušší ladění proti statickým grafům, které se používají například v knihovně TensorFlow.

  2. Podpora pro GPU akceleraci: PyTorch umožňuje efektivní využití GPU pro rychlejší výpočty, což je zvláště užitečné pro trénování velkých modelů hlubokého učení.

  3. Modulární návrh: Knihovna je navržena modulárně, což umožňuje snadné a flexibilní vytváření různých typů neuronových sítí, včetně konvolučních sítí (CNN), rekurentních sítí (RNN) a transformátorových modelů.

  4. Rozsáhlá komunitní podpora: Díky své popularitě má PyTorch velkou komunitu uživatelů, což znamená dostupnost mnoha knihoven a nástrojů třetích stran, tutoriálů a příkladů pro různé aplikace strojového učení.

Použití PyTorch zahrnuje:

  • Trénování a evaluace modelů strojového učení: Vytváření a trénování modelů pro klasifikaci, detekci objektů, segmentaci obrázků, a další úlohy.

  • Výzkum v oblasti hlubokého učení: Experimentování s novými architekturami sítí, optimalizací učení a rozvojem nových technik pro zpracování obrazu, textu a zvuku.

  • Vývoj aplikací s umělou inteligencí: Integrace neuronových sítí do aplikací pro automatické zpracování dat, predikci a adaptivního rozhodování.

PyTorch je často volbou pro výzkumné pracovníky a vývojáře díky své flexibilitě, jednoduchosti použití a výkonu, který nabízí při trénování pokročilých modelů strojového učení.

 

ChatGPT

sobota 15. června 2024

Co je T5 v kontextu strojového učení?

T5 je velký model zpracování přirozeného jazyka (Natural Language Processing - NLP), který byl vyvinut společností Google Research. Jeho název "T5" je zkratkou pro "Text-To-Text Transfer Transformer". Tento model je trénován na široké škále úloh zpracování textu, kde je vstup a výstup reprezentován jako textové sekvence.

V kontextu textu, který jste poskytl, je "T5 text encoder" jedním z modelů, které byly převedeny do OpenVINO IR formátu a je použit pro kódování textu. Tento kódovaný text může být následně využit v dalších částech systému, například pro generování hudby v projektu MusicGen.

T5 model je obvykle trénován na úlohách, jako je překládání textu, sumarizace, odpovídání na otázky a další úkoly spojené se zpracováním přirozeného jazyka. Jeho přítomnost v tomto projektu naznačuje, že textový vstup je důležitou součástí procesu generování hudby.

IR formát

OpenVINO IR formát je zkratkou pro "Open Visual Inference and Neural network Optimization Intermediate Representation". Jedná se o formát, který slouží k optimalizaci a efektivnímu provádění strojového učení a inferencí na různých hardwarových platformách, včetně CPU, GPU a FPGA.

Zkratka IR znamená "Intermediate Representation", což je obecný termín pro formát, který slouží jako mezistupeň mezi trénováním a prováděním (inference) modelu strojového učení. V kontextu OpenVINO, IR reprezentuje modely, které byly optimalizovány a převedeny do formátu, který je přenositelný a efektivní pro různé hardwarové platformy. Tímto způsobem mohou být modely strojového učení rychleji a efektivněji spouštěny na zařízeních s různými architekturami, což je klíčové pro jejich nasazení v produkčních prostředích.

Inference v kontextu strojového učení a umělé inteligence

Inference v kontextu strojového učení a umělé inteligence se odkazuje na proces aplikace natrénovaného modelu na nová data s cílem získat predikce nebo odpovědi. Jedná se o hlavní fázi využití modelu po jeho trénování.

Když je model strojového učení trénován, učí se na trénovacích datech a upravuje své váhy tak, aby dosáhl co nejlepších výsledků na těchto datech. Po dokončení trénování se model použije na nová, dosud neviděná data. Proces, ve kterém model používá tato nová data k výpočtu výstupů (predikcí) se nazývá inference.

Inference je tedy aplikace natrénovaného modelu na reálná data k dosažení cenných výsledků, jako jsou klasifikace, predikce, detekce, generace atd. Tento proces je klíčový pro praktické využití strojového učení v aplikacích od autonomního řízení po zpracování přirozeného jazyka a další oblasti umělé inteligence.

pondělí 3. června 2024

Instalace OpenVino na Linux Mint 21.3, Audacity 3.6 alpha (currently issue!), for tty, lang=cs

We are waiting for OpenVino to be fixed after Audacity 3.6 alpha has been released.

The clone git copies the latest version!!!

The shell or terminal command are commented with Czech lang.

We are waiting to the compatibility fix in OpenVino for linux, to continue 06-03-2024 (3.6.2024). 

 

If U are Mint 21.3 (which is derived from Ubuntu 22) see my version of install_dependencies.sh:

https://pastebin.com/BPjN7vcP

 

# INSTALACE A KOMPILACE OPENVINO (Červen 2024) A AUDACITY 3.6 pro Linux Mint 21.3
# Co je třeba: 1) OpenVino toolkit
#              2) OpenVino Tokenizer
#              3) OpenVino pro linux
#              4) editovat OpenVino Toolkit install_dependencies/install_dependencies.sh, který je v toolkitu - Ubuntu 20 odpovídá linuxmint21.3
# https://storage.openvinotoolkit.org/repositories/openvino/packages/2024.0/linux
# https://storage.openvinotoolkit.org/repositories/openvino_tokenizers/packages/2024.0.0.0/
# https://github.com/intel/openvino-plugins-ai-audacity/issues/223
# https://storage.openvinotoolkit.org/repositories/openvino/packages/2024.0/linux
# Instrukce jsem převzal z readme: https://github.com/intel/openvino-plugins-ai-audacity/blob/43de3af6087480ab2030404aba3f122fafa9bd73/doc/build_doc/linux/README.md

mv ~/Stažené/audacity-linux-*_64.AppImage ~/AppImage/
chmod 755 audacity
./audacity-linux-3.5.1-x64.AppImage
mv ~/Stažené/audacity-linux-*.AppImage ~/AppImage/
cd ~/AppImage
nano ~/.local/share/applications/audacity.desktop

cat << EOF > ~/.local/share/applications/audacity.desktop
[Desktop Entry]
Version=1.0
Name=Audacity
Comment=Free, open source, cross-platform audio software
Exec=/home/user/AppImage/audacity-linux-3.2.1-x86_64.AppImage
Icon=audacity
Terminal=false
Type=Application
Categories=AudioVideo;Audio;Recorder;Multimedia;
EOF

# Příprava na instalaci OpenVino a jeho pluginů
# Audacity budu připravovat v ~/Audacity
# Vše pro OpenVino bude ve složce ~/OpenVino

sudo apt update
sudo apt-get install -y build-essential cmake git python3-pip
sudo pip3 install conan
sudo apt-get install libgtk2.0-dev libasound2-dev libjack-jackd2-dev uuid-dev

# OpenVino částečně používá opencl
sudo apt install ocl-icd-opencl-dev

sudo wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
sudo apt-get install gnupg
echo "deb https://apt.repos.intel.com/openvino/2024 ubuntu22 main" | sudo tee /etc/apt/sources.list.d/intel-openvino-2024.list
cat /etc/apt/sources.list.d/intel-openvino-2024.list

apt-cache search openvino
sudo apt install openvino-2024.1.0
sudo apt install openvino
cd OpenVino
tar xvf l_openvino_toolkit_ubuntu22_2024.0.0.14509.34caeefd078_x86_64.tgz
cd l_openvino_toolkit_ubuntu22_2024.0.0.14509.34caeefd078_x86_64
sudo -E ./install_openvino_dependencies.sh
read -p "For mint user different open vino dep install.sh"
xed .bash_h*
tar xzvf openvino_tokenizers_ubuntu22_2024.0.0.0_x86_64.tgz
unzip libtorch-cxx11-abi-shared-with-deps-2.1.1+cpu.zip
export LIBTORCH_ROOTDIR=/home/user/OpenVino/libtorch

cd audacity-build
make -j`nproc`

cd OpenVino
# Stáhnout aktuální verzi pro Audacity 3.6
git clone https://github.com/intel/openvino-plugins-ai-audacity.git
cd ../Audacity/audacity
read -p "Press a key to continue"

tar xvf l_openvino_toolkit_ubuntu22_2024.0.0.14509.34caeefd078_x86_64.tgz
cd ~/OpenVino/l_openvino_toolkit_ubuntu22_2024.0.0.14509.34caeefd078_x86_64/install_dependencies
cd ..

# whisper přijde stáhnout do složky OpenVino
cd ~/OpenVino
git clone https://github.com/ggerganov/whisper.cpp
cd whisper.cpp
git checkout v1.5.4

# source /home/user/OpenVino/l_openvino_toolkit_ubuntu22_2024.0.0.14509.34caeefd078_x86_64/setupvars.sh
source $(readlink -f set*)
export LIBTORCH_ROOTDIR=/home/user/OpenVino/libtorch
cd ..
# Create build folder
mkdir whisper-build
cd whisper-build
# Run CMake, specifying that you want to enable OpenVINO support.
cmake ../whisper.cpp/ -DWHISPER_OPENVINO=ON
# Build it:
make -j 4
# Install built whisper collateral into a local 'installed' directory:
cmake --install . --config Release --prefix ./installed
cd /home/user/OpenVino/whisper-build
export WHISPERCPP_ROOTDIR=/home/user/OpenVino/whisper-build/installed
export LD_LIBRARY_PATH=${WHISPERCPP_ROOTDIR}/lib:$LD_LIBRARY_PATH
git clone https://github.com/audacity/audacity.git
mkdir ~/Audacity/audacity-build
ls ~/Audacity/audacity
read -p "Press a key to continue"
cd ~/Audacity/audacity-build
cmake -G "Unix Makefiles" ../audacity -DCMAKE_BUILD_TYPE=Release
# build it
make -j`nproc`

# Try audacity if you want...
Release/bin/audacity
export LIBTORCH_ROOTDIR=/home/user/OpenVino/libtorch
source /home/user/OpenVino/l_openvino_toolkit_ubuntu22_2024.0.0.14509.34caeefd078_x86_64/setupvars.sh
cd /home/user/OpenVino/whisper-build/installed
ls
read -p "Press a key to continue"
cd /home/user/OpenVino/whisper-build/make -j 4
cmake --install . --config Release --prefix ./installed

export WHISPERCPP_ROOTDIR=/home/user/OpenVino/whisper-build/installed
export LD_LIBRARY_PATH=${WHISPERCPP_ROOTDIR}/lib:$LD_LIBRARY_PATH
export LIBTORCH_ROOTDIR=/home/user/OpenVino/libtorch
source /home/user/OpenVino/l_openvino_toolkit_ubuntu22_2024.0.0.14509.34caeefd078_x86_64/setupvars.sh
ls
read -p "Press a key to continue"
cd installed
cd ~/Audacity/audacity-build
cmake -G "Unix Makefiles" ../audacity -DCMAKE_BUILD_TYPE=Release
make -j`nproc`

GPT: Ramdisk a extrakce .deb

  Následující skript provádí popsané kroky, využívá RAMdisky různých velikostí podle potřeby a provádí extrakci. Tento skript je psán v Bas...

Štítky

.profile adm administrace Adobe AI akcelerace alfa transparence AND any aplikace apt ar archiv asociativní pole atomicity audio autentifikace awk balíčkovací systém bash beacon beacon_hint benchmark Bézierovy křivky bezpečnost biblehub BJT boolean buffer buffering Cache-Conrol Cloudflare code Collector Cut-off ColorManager colorpicker common compare config cookies CPU CPU pipe css CSS3 curl cut čas data loss data lost data transfer reliability datasheet datetime.strptime deb deb-systemd-helper debian debián development dioda diody dpkg dpkg -S dpkg-deb drivers EBO Emitter Cut-off Current eps ETag exclude exec Expires extrakce jediného extrakce názvu balíčku souboru extrakce souboru .deb fflock fflush ffmpeg FIFO file read file write file_get_contents file_get_contents/file_put_contents file_put_contents filter find first_install.sh flock Fly-back dioda font-face fóra fotorezistor fread functions funkce fwrite gate gate drive GDVfs gedit gedit-common geolokace Ghostscript GIO glib gnome gnome settings GNU Privacy Guard gnupg gpg gradient-background grafika grep grep -v groupadd grub grub update gs gsettings gtk gtk.css gtk+ hebrejština history hlavičky HS html html 5 https hudba charakterizace chroot chyba ICES IGBT img sizes img srcset impedance implementace imshow inference inkscape inrush current install jalový výkon javascript javescript jednocení seznamů js kapacita součástek koeficient zesílení komponenty xFce komunikace se serverem konfigurace Krita KSF Last-Modified lazy caching led LEFT JOIN librosa ligatury light-locker lightdm linux list log maják manuál maskování maskování služby masky matplotlib Max-Age measure memory měření MFCC MFCC koeficienty mint Mint 21.3 Mint xFce míry modules moralizace morphologie MOSFET mount moviepy mysql náběhový proud napěťová ochrana návod nel Network Error Logging NLP not Notifications NTFS nth-child oblékání ochrana okruhy přátel OpenVINO IR formát oprava oprava balíčku optočlen org.gnome.desktop.screensaver org.gnome.nm-applet ořezové masky OSHB otázky otázky_jazyky otázky_moralismu_řešení ovladače panely parsování path personifikace photorec php php 4 php 5 php 6 php 7 php 8 phpbb phpBB3 PipeWire pitch PN přechody pnp pole Policykit postscript práva profilování program prune průraz přeinstalování přepěťová ochrana přepolování příkazy připojení k síti připojení k wifi pseudokódd pstoedit PulseAudio PWM regulátory pydub python python3 pytorch ramdisk RBE RDSon read reaktance rectifier regulace vstupního napětí reinstall relyability remount replace restore reverzní geolokace RIGHT JOIN rm role rozvržení disků pro OS linux a data databází řešení samba sdílení sdílení souborů Sec-Fetch-Dest Sec-Fetch-Mode Sec-Fetch-Site Sec-Fetch-User Secure Shell sed Set Cookie show-manual-login show-remote-login shunt schemas schémata schottka skript skupiny sloupce služby song sort soubory soundfile spínané zdroje spínání splines split správa diskových zařízení SQL ssh stabilizace napětí stahování stream string strojové učení stropové učení supplicant svg syntax systemctl systemd-logind T5 tabulky Tangentové úsečky tar témata tepelná ztráta test text-shadow themes thermal runaway time timestamp tkinter tr transistor transition tranzistor tranzistory tuple tvorba otázek TVS ubuntu účiník udiskd udisks unconfined underrun unity-greeter update usermod uživatelé va charakteristika vala vektorová grafika Vgs video Vth vynechání adresářů vývoj while wpa wpa_supplicant wrapovací funkce x xandr xapp-watt xargs -I xed xed-common xfdesktop xml XOR Xorg Xorg Thumbnails xrandr závislosti zdánlivý výkon zdroj zenerka zenerovo napětí zip zip archiv zkratky zpomalení zpracování textu Žalmy