TensorFlow 1.11.0 официально выпущен!

Google TensorFlow Keras C++

Источник | Публичный аккаунт TensorFlow

Версия TensorFlow 1.11.0 официально выпущена!

Эта статья познакомит вас с некоторыми критическими изменениями, основными функциями и улучшениями, исправлениями ошибок и другими изменениями в этом выпуске.

Ключевые особенности и улучшения

Графические процессоры Nvidia:

  • Готовые двоичные файлы теперь (начиная с TensorFlow 1.11) созданы для cuDNN 7.2 и TensorRT 4. См. обновленное руководство по установке: Установка TensorFlow в Ubuntu (woohoo.tensorflow.org/install/INS…

Google Cloud TPU:

  • Экспериментальная интеграция tf.data для Keras в Google Cloud TPU
  • Экспериментальная/предварительная поддержка Eager Execution на Google Cloud TPU.

Распределенная стратегия:

  • Добавьте поддержку распределенной стратегии с несколькими GPU в tf.keras. подогнать, оценить, предсказать начал поддерживать распределенные
  • В Estimator добавлена ​​поддержка распределенной стратегии с несколькими работниками и поддержка отдельного клиента. Посмотреть Readme] (GitHub.com/tensorflow/…) Больше подробностей

Добавьте функции C, C++ и Python для запросов к ядру.

серьезные изменения

Керас:

  • Значения по умолчанию для инициализаторов RandomUniform, RandomNormal и TruncatedNormal tf.keras были изменены, чтобы гарантировать соответствие значениям по умолчанию во внешнем Keras.
  • Критическое изменение: метод model.get_config() для запуска модели Sequential теперь возвращает словарь конфигурации (совместимый с другими экземплярами модели) и больше не возвращает список конфигураций базового уровня.

Исправления ошибок и другие изменения

С++:

  • Изменена подпись SessionFactory::NewSession для получения подробной информации об ошибках.

тайфун.данные:

  • tf.contrib.data.make_csv_dataset() удаляет параметр num_parallel_parser_calls
  • Если у параметра нет соответствующего файла, tf.data.Dataset.list_files() сообщит об исключении во время инициализации.
  • Для ясности класс BigTable переименован в BigtableTable.
  • Использование Log Cloud Bigtable API
  • Добавлен tf.contrib.data.reduce_dataset, который можно использовать для сокращения набора данных до одного элемента.
  • Обобщить tf.contrib.data.sliding_window_batch

ИНК:

  • Внесены операционные улучшения в тригонометрию.

tf.contrib:

  • Добавлен параметр реализации для tf.keras.layers.LocallyConnected2D и tf.keras.layers.LocallyConnected1D. Новый режим (реализация = 2) выполняет прямой проход как произведение одной плотной матрицы, что может дать значительное ускорение в некоторых сценариях (но может привести к снижению производительности в некоторых сценариях — см. строку документации). Эта опция также позволяет заполнять = то же самое

  • Добавлена ​​новая документация, объясняющая разницу между tf.fill и tf.constant.

  • Экспериментально добавленные IndexedDatasets

  • Добавить необязательную цель регистрации при использовании lite proto runtime

  • Добавьте простые классы Tensor и DataType в TensorFlow Lite Java.

  • Добавлена ​​поддержка побитового вещания для uint32 и uint64.

  • Добавлен подкласс Estimator, который можно создать из SavedModel (SavedModelEstimator).

  • Добавить шаблон листового индекса в качестве параметра

  • Разрешить различные формы вывода из ввода tf.contrib.image.transform

  • Измените порядок state_size StackedRNNCell на естественный порядок. Чтобы сохранить существующее поведение, пользователь может добавить reverse_state_order = True при построении StackedRNNCell.

  • Устареть self.test_session() в пользу self.session() или self.cached_session()

  • Импортируйте tensor.proto.h напрямую (транзитивный импорт скоро будет удален из tensor.h)

  • Estimator.train() теперь поддерживает tf.contrib.summary из коробки. * Каждый вызов .train() теперь создает отдельный файл tfevents, больше не использует повторно общие файлы.

  • Исправить производительность усадки оптимизатора FTRL L2: градиент члена усадки L2 не должен заканчиваться аккумулятором

  • Исправить ошибку компиляции/выполнения toco в Windows

  • Добавлен класс GoogleZoneProvider для определения того, где работают части программы TensorFlow в Google Cloud Engine.

  • Теперь можно безопасно вызывать любые функции C API TF_Delete* для nullptr.

  • Записывать в журнал некоторые сообщения об ошибках на Android

  • Сопоставьте числа FakeQuant в TFLite, чтобы повысить точность квантованных моделей логического вывода TFLite.

  • Необязательная проверка местоположения корзины для файловых систем GCS.

  • Повышение производительности для StringSplitOp и StringSplitV2Op.

  • Улучшена производительность операций замены регулярных выражений.

  • TFRecordWriter теперь сообщает об ошибке, если if.write() не работает

  • TPU: распознаватели кластеров TPUClusterResolvers будут предоставлять более подробные и полезные сообщения об ошибках.

  • Добавление параметра legacy_init_op в MetaGraph с использованием метода SavedModelBuilder устарело. Вместо этого используйте эквивалентный параметр main_op. Теперь мы явно проверяем один main_op или legacy_init_op при построении SavedModel, тогда как раньше проверка main_op выполнялась только во время загрузки.

  • Протоколы для обучения Estimator теперь можно настроить в RunConfig.

  • Улучшена производительность при решении треугольных чисел.

  • Унифицируйте API-интерфейсы модулей TF и ​​Keras RNN. Добавлен новый метод get_initial_state() для ячеек RNN в Keras и TF, который в будущем заменит существующий метод zero_state().

  • Обновлена ​​инициализация переменных в Keras.

  • Обновите «constrained_optimization» в tensorflow/contrib

  • Алгоритм усиленного дерева: добавить режим обрезки

  • tf.train.Checkpoint по умолчанию не удаляет старые контрольные точки

  • tfdbg: при отладке дисковое пространство, занимаемое кэшированными данными Tensor, ограничено 100 ГБ. Позволяет добавить переменную среды TFDBG_DISK_BYTES_LIMIT, чтобы настроить это ограничение.

Спасибо нашим участникам

Этот выпуск был бы невозможен без вклада многих наших коллег из Google: Аапели, Адода, Аг Рамеш, Амог Маннекоте, Эндрю Гибиански, Энди Крейз, Анируд Коул, Орельен Герон, Авиджит, Авиджит-Нервана, Бен, Бенджамин Х. Мьяра, Бхак, Бретт Кунсе, Чжан Тяньци, Чжан Сяофей...

Наконец, нажмите "www.tensorflowers.cn/t/6838», после просмотра…