Eager vykonávanie v TensorFlow je režim, ktorý umožňuje intuitívnejší a interaktívnejší vývoj modelov strojového učenia. Je to obzvlášť výhodné počas štádia prototypovania a ladenia pri vývoji modelu. V TensorFlow je dychtivé vykonávanie spôsobom okamžitého vykonávania operácií s cieľom vrátiť konkrétne hodnoty, na rozdiel od tradičného vykonávania založeného na grafe, kde sa operácie pridávajú do výpočtového grafu a vykonávajú sa neskôr.
Dychtivé vykonávanie nebráni distribuovanej funkcii TensorFlow. TensorFlow bol navrhnutý tak, aby podporoval distribuované výpočty na viacerých zariadeniach a serveroch a táto funkcia je stále k dispozícii pri používaní dychtivého vykonávania. V skutočnosti môžu byť distribučné stratégie TensorFlow bez problémov integrované s dychtivým vykonávaním na trénovanie modelov na viacerých zariadeniach alebo serveroch.
Pri práci s distribuovaným TensorFlow v dychtivom režime môžete použiť stratégie ako `tf.distribute.MirroredStrategy` na efektívne využitie viacerých GPU na jednom počítači alebo `tf.distribute.MultiWorkerMirroredStrategy` na trénovanie modelov na viacerých počítačoch. Tieto distribučné stratégie zvládajú zložitosť distribuovaných výpočtov, ako je komunikácia medzi zariadeniami, synchronizácia gradientov a agregácia výsledkov.
Napríklad, ak máte model, ktorý chcete trénovať na viacerých GPU pomocou dychtivého vykonávania, môžete vytvoriť objekt „MirroredStrategy“ a potom spustiť tréningovú slučku v rámci tejto stratégie. Tým sa automaticky rozdelia výpočty medzi dostupné GPU a agregujú sa gradienty, aby sa aktualizovali parametre 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 príklade sa „MirroredStrategy“ používa na distribúciu modelu medzi viacero GPU na trénovanie. Kontextový manažér `strategy.scope()` zabezpečuje replikáciu modelu na každom GPU a agregáciu gradientov pred aktualizáciou parametrov modelu.
Dychtivé vykonávanie v TensorFlow nebráni distribuovanej funkčnosti rámca. Namiesto toho poskytuje interaktívnejší a intuitívnejší spôsob vývoja modelov strojového učenia a zároveň umožňuje efektívne distribuované školenie na viacerých zariadeniach alebo serveroch.
Ďalšie nedávne otázky a odpovede týkajúce sa Pokrok v strojovom učení:
- Keď je jadro rozvetvené s údajmi a originál je súkromný, môže byť rozvetvené jadro verejné, a ak áno, nejde o porušenie súkromia?
- Aké sú obmedzenia pri práci s veľkými množinami údajov v rámci strojového učenia?
- Môže strojové učenie pomôcť pri dialógu?
- Čo je ihrisko TensorFlow?
- Dajú sa cloudové riešenia Google použiť na oddelenie výpočtovej techniky od úložiska pre efektívnejšie trénovanie modelu ML s veľkými dátami?
- Ponúka nástroj Google Cloud Machine Learning Engine (CMLE) automatické získavanie a konfiguráciu zdrojov a zabezpečuje ich vypnutie po dokončení školenia modelu?
- Je možné trénovať modely strojového učenia na ľubovoľne veľkých súboroch údajov bez štikútania?
- Vyžaduje si pri použití CMLE vytvorenie verzie špecifikáciu zdroja exportovaného modelu?
- Môže CMLE čítať údaje z úložiska Google Cloud a použiť určený model na odvodenie?
- Môže byť Tensorflow použitý na tréning a odvodenie hlbokých neurónových sietí (DNN)?
Ďalšie otázky a odpovede nájdete v časti Pokrok v strojovom učení