Источник | Публичный аккаунт 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», после просмотра…