значителен напредък в платформата за машинно обучение , предоставяща готови реализации на различни алгоритми за дълбоко машинно обучение, прост интерфейс за програмиране за изграждане на модели на Python и нискоуровнев интерфейс за C++, който позволява управление на изграждането и изпълнението на изчислителни графове. Кодът на системата е написан на C++ и Python и под лицензията Apache.
платформата е разработена първоначално от екипа на Google Brain и се използва в услуги на Google за разпознаване на говор, разпознаване на лица на снимки, определяне на подобие на изображения, филтриране на спам в Gmail, новини в Google News и организиране на превод с внимание към смисъла. Разпределени системи за машинно обучение могат да се изграждат на стандартно оборудване, благодарение на вградената поддръжка в TensorFlow за разпределение на изчисленията между няколко CPU или GPU.
TensorFlow предоставя библиотека с готови алгоритми за числени изчисления, реализирани чрез графи на потока от данни (data flow graphs). Възлите в тези графи реализират математически операции или входни/изходни точки, докато ребрата на графа представят многомерни масиви данни (тензори), които протичат между възлите.
Възлите могат да бъдат прикрепени към изчислителни устройства и да се изпълняват асинхронно, обработвайки паралелно всички подходящи за тях тензори, което позволява едновременна работа на възлите в невронната мрежа, подобно на едновременната активация на невроните в мозъка.
Основното внимание при подготовката на новата версия беше поставено върху опростяването и лесната употреба. :
- За изграждане и обучение на модели е предложен нов високонагледен API , предоставящ няколко варианта на интерфейси за изграждане на модели (Sequential, Functional, Subclassing) с възможност за (без предварителна компилация) и с прост механизъм за отстраняване на грешки;
- Добавен API за организиране на на модели с минимални промени в съществуващия код. Освен възможността за разпределяне на изчисленията на , налична е експериментална поддръжка за разпределяне на процеса на обучение между няколко независими обработващи устройства и възможността за използване на облачни (Tensor processing unit);
- Вместо декларативния модел за построяване на граф с изпълнение чрез tf.Session, предоставена е възможност за писане на обикновени функции на Python, които чрез извикване на tf.function могат да бъдат преобразувани в графове и впоследствие изпълнени дистанционно, сериализирани или оптимизирани за повишаване на производителността;
- Добавен преводач , преобразуващ потока от команди на Python в изрази на TensorFlow, което позволява използването на код на Python в функции, украсени с tf.function, tf.data, tf.distribute и tf.keras;
- В SavedModel е унифициран форматът за обмен на модели и е добавена поддръжка за запазване и възстановяване на състоянието на моделите. Събраните модели за TensorFlow сега могат да бъдат използвани в (на мобилни устройства), (в браузъра или Node.js), и ;
- Унифицирани са API-тата tf.train.Optimizers и tf.keras.Optimizers, вместо compute_gradients за изчисляване на градиенти е предложен нов клас ;
- Производителността при използване на GPU значително е увеличена.
Скоростта на обучение на модели в системи с GPU NVIDIA Volta и Turing е нараснала до три пъти; - извършена е голяма чистка на API; много повиквания са преименувани или премахнати, поддръжката на глобални променливи в помощни методи е прекратена. Вместо tf.app, tf.flags, tf.logging е предложен нов API absl-py. За продължаване на използването на стария API е подготвен модул compat.v1.
Източник: opennet.ru
