[ 0 1 4 9 16 25 36 49 64 81]
[1.00000000e+00 2.71828183e+00 7.38905610e+00 2.00855369e+01
5.45981500e+01 1.48413159e+02 4.03428793e+02 1.09663316e+03
2.98095799e+03 8.10308393e+03]
2024-11-21
instruction set
jako u CPUarray
po prvcích[ 0 1 4 9 16 25 36 49 64 81]
[1.00000000e+00 2.71828183e+00 7.38905610e+00 2.00855369e+01
5.45981500e+01 1.48413159e+02 4.03428793e+02 1.09663316e+03
2.98095799e+03 8.10308393e+03]
- je to mnohem rychlejší
npoints = int(1e7)
a = np.arange(npoints, dtype=np.float32)
from numba import vectorize
@vectorize
def cpu_sqrt(x):
return math.sqrt(x)
cpu_sqrt(x)
points = np.random.multivariate_normal([0,0], [[1.,0.9], [0.9,1.]], 1000).astype(np.float32)
import matplotlib.pyplot as plt
plt.scatter(points[:,0], points[:,1])
@vectorize(['float32(float32, float32)'],target='cuda')
def gpu_arctan2(y, x):
theta = math.atan2(y,x)
return theta
# malý trik kvůli GPU:
x = np.ascontiguousarray(points[:,0])
y = np.ascontiguousarray(points[:,1])
theta = gpu_arctan2(y, x)
plt.hist(theta, bins=200)
Identifikace a kategorizace objektů v obrázku do předdefinovaných tříd.
Úloha identifikace a lokalizace objektů určitých tříd v obrázcích.
Detekce objektů v reálném čase.
Princip: Zpracovává celý obrázek jedním průchodem neuronovou sítí.
Výhody:
Hlavní výzvy:
Nástroj | Výhody | Nevýhody |
---|---|---|
LabelImg | Zdarma, open-source, jednoduchý na použití | Ruční anotace, omezené funkce |
CVAT | Výkonný a přizpůsobitelný pro velké projekty | Složitá instalace |
Label Studio | Podpora různých typů dat (text, obrázky, audio) | |
Supervise.ly | Cloudová platforma s pokročilou automatizací | Omezené použití zdarma |
Roboflow | Intuitivní rozhraní, automatizace, sdílení projektů | Omezení u bezplatného tarifu |
Data k analýze:
user.mgml.eu/automation/potato
user.mgml.eu/automation/potato.zip