Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
CNTK poskytuje knihovny v Pythonu a C++ pro sestavování a trénování sítě a také pro vyhodnocení modelů. Poskytuje také knihovny v C#/.NET a Javě pro přístup k testovacím zařízením modelu CNTK.
Rozhraní API pro Python
Rozhraní PYTHON API CNTK se skládá z abstrakcí pro definici modelu a výpočetních prostředků, algoritmů učení, čtení dat a distribuovaného trénování.
- Flexibilita a kompaktnost: Tyto abstrakce orthogonálně komponují a nabízejí flexibilitu a stručnost při definování a trénování libovolných neurálních sítí.
- Efektivní datová rozhraní: Jednoduchá, ale přesto lehká datová rozhraní umožňují uživatelům efektivně dodávat data ve formě nativních polí numpy do výpočetního modulu.
- Integrované čtečky dat: Integrované a škálovatelné čtečky dat CNTK pro formáty obrázků, textu a řeči HTK jsou také k dispozici v rozhraních Python API pro snadné přímé trénování s existujícími daty, aniž by uživatelé museli vytvářet kód pro čtení dat.
- Vysoce škálovatelné učení: Rozhraní API zpřístupňuje vysoce škálovatelné distribuované trénovací schopnosti CNTK (algoritmy paralelizace, jako jsou 1bitové SGD). Příklad distribuovaného trénování znázorňuje rozhraní API paralelizace trénování.
- Stručná definice sítě: Rozhraní API obsahuje knihovnu vrstev vysoké úrovně, která umožňuje stručnou definici pokročilých neurálních sítí včetně opakování podobných CNTK v1. Sada nástrojů podporuje reprezentaci opakujících se modelů v symbolické podobě jako cyklů v neurální síti místo statického zrušení registrace kroků opakování. Výsledkem je mnohem obecnější, stručnější a efektivnější reprezentace a provádění rekurentních neurálních sítí.
Všechny základní výpočty, učení a abstrakce rozhraní API pro čtení dat v rozhraní PYTHON API CNTK jsou velmi snadno rozšiřitelné jak z Pythonu, tak z jazyka C++, což uživatelům umožňuje snadno implementovat nové operátory, žáky a čtečky dat, které volně tvoří pomocí integrovaných zařízení knihovny.
Rozhraní API zavádí nový formát serializace modelu založený na vyrovnávací paměti protokolu , který podporuje zpětnou a vyšší kompatibilitu uložených modelů.
Rozhraní API C++
Rozhraní C++ API knihovny CNTK zpřístupňuje základní výpočetní, neurální složení sítě cntk & trénování, efektivní čtení dat a škálovatelné trénování modelů pro vývojáře. Rozhraní API jazyka C++ jsou plně vybavená jak pro trénování modelu, tak pro vyhodnocení, což umožňuje řídit trénování i model sloužící z nativního kódu. To vašemu nativnímu kódu umožní vyladit online model pomocí nových dat v rámci žádosti o vyhodnocení (tj. online učení).
V současné době je nejlepším zdrojem dokumentace k rozhraní API vložený soubor hlaviček rozhraní API (CNTKLibrary.h), který obsahuje úplnou definici rozhraní API jazyka C++. Hlavičkové soubory rozhraní API jsou také součástí binárního balíčku verze v adresáři Include.
C#/.NET API
Spravované rozhraní API knihovny CNTK zpřístupňuje rozhraní API související s trénováním a vyhodnocením pro vývojáře používající jazyk C# nebo jiné jazyky .NET. Poskytuje se jako balíčky NuGet. Balíček NuGet CNTK. CpuOnly je určen pouze pro zařízení s procesorem a cntk. GPU podporuje procesor i NVIDIA GPU.
Podrobnosti týkající se spravovaného rozhraní API knihovny CNTK najdete na stránce spravovaného rozhraní API knihovny CNTK .
V projektu CNTKLibraryEvalExamples.sln je několik příkladů vyhodnocení modelu v jazyce C#.
Příklady trénování s využitím rozhraní API jazyka C# najdete v CNTKLibraryCSharpTrainingExamples.sln
Rozhraní Java API (experimentální)
Rozhraní JAVA API CNTK podporuje vyhodnocení modelů v Javě. Toto rozhraní API je stále experimentální a může se změnit. Poskytuje se jako soubor JAR (cntk.jar), který je možné zahrnout do projektů v Javě.
Informace o používání rozhraní Java API najdete v pokynech pro Windows a Linux .
Příklad Javy ukazuje, jak vyhodnotit model v Javě.