Dychtivé provádění v TensorFlow je režim, který umožňuje intuitivnější a interaktivnější vývoj modelů strojového učení. To je zvláště výhodné během prototypování a ladění fází vývoje modelu. V TensorFlow je dychtivé provádění způsobem okamžitého provádění operací s cílem vrátit konkrétní hodnoty, na rozdíl od tradičního provádění založeného na grafu, kde se operace přidávají do výpočtového grafu a provádějí se později.
Dychtivé provádění nebrání distribuované funkčnosti TensorFlow. TensorFlow byl navržen tak, aby podporoval distribuované výpočty na více zařízeních a serverech a tato funkce je stále k dispozici při použití dychtivého provádění. Ve skutečnosti lze distribuční strategie TensorFlow hladce integrovat s dychtivým prováděním pro trénování modelů na více zařízeních nebo serverech.
Při práci s distribuovaným TensorFlow v horlivém režimu můžete použít strategie jako `tf.distribute.MirroredStrategy` k efektivnímu využití více GPU na jednom počítači nebo `tf.distribute.MultiWorkerMirroredStrategy` k trénování modelů na více počítačích. Tyto distribuční strategie zvládají složitosti distribuovaného počítání, jako je komunikace mezi zařízeními, synchronizace gradientů a agregace výsledků.
Máte-li například model, který chcete trénovat na více GPU pomocí horlivého provádění, můžete vytvořit objekt `MirroredStrategy` a poté spustit tréninkovou smyčku v rámci této strategie. Tím se výpočet automaticky rozdělí mezi dostupná GPU a agregují se přechody za účelem aktualizace parametrů modelu.
python import tensorflow as tf strategy = tf.distribute.MirroredStrategy() with strategy.scope(): # Define and compile your model model = tf.keras.Sequential([...]) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) # Train your model model.fit(train_dataset, epochs=5)
V tomto příkladu se `MirroredStrategy` používá k distribuci modelu mezi více GPU za účelem školení. Kontextový manažer `strategy.scope()` zajišťuje replikaci modelu na každém GPU a agregaci přechodů před aktualizací parametrů modelu.
Dychtivé provádění v TensorFlow nebrání distribuované funkčnosti rámce. Místo toho poskytuje interaktivnější a intuitivnější způsob vývoje modelů strojového učení a přitom stále umožňuje efektivní distribuované školení na více zařízeních nebo serverech.
Další nedávné otázky a odpovědi týkající se Pokrok ve strojovém učení:
- Když je jádro rozvětveno daty a originál je soukromý, může být rozvětvené jádro veřejné, a pokud ano, nejedná se o porušení soukromí?
- Jaká jsou omezení při práci s velkými datovými sadami ve strojovém učení?
- Dokáže strojové učení nějakou dialogickou pomoc?
- Co je hřiště TensorFlow?
- Lze cloudová řešení Google použít k oddělení výpočetní techniky od úložiště pro efektivnější trénování modelu ML s velkými daty?
- Nabízí Google Cloud Machine Learning Engine (CMLE) automatické získávání a konfiguraci zdrojů a zpracovává vypnutí zdrojů po dokončení školení modelu?
- Je možné trénovat modely strojového učení na libovolně velkých souborech dat bez škytavky?
- Vyžaduje při použití CMLE vytvoření verze zadání zdroje exportovaného modelu?
- Může CMLE číst data z úložiště Google Cloud a používat určený trénovaný model pro odvození?
- Lze Tensorflow použít pro trénink a odvození hlubokých neuronových sítí (DNN)?
Další otázky a odpovědi naleznete v části Pokrok ve strojovém učení