GCE Как использовать ImageDataGenerator в google TPU

У меня есть модель Keras, но она слишком велика для моего локального ПК, и я пытаюсь перейти в облако Google, чтобы использовать TPU.

Примеры, которые я видел, используются в изображениях памяти для обучения модели с помощью функции подгонки.

У меня тысячи изображений, и я хочу использовать их для увеличения. В моей локальной модели я использую ImageDataGenerator и fit_generator.

Как это сделать с помощью TPU?

У меня есть несколько идей,

  1. Чтобы смонтировать ведро в виртуальной машине
  2. Скопируйте образы на диск виртуальной машины и используйте ImageDataGenerator, как я на своей локальной машине.

Но я не уверен и считаю, что все эти методы неэффективны.

Есть ли способ сделать это эффективно?


person Mquinteiro    schedule 10.09.2018    source источник
comment
Возникает вопрос, как реализовать ImageDataGenerator & fit_generator? Или ваш вопрос больше похож на «Как я могу смонтировать большое количество образов в виртуальной машине Google Cloud Platform»? Что вы имеете в виду под «Как мне это сделать с помощью TPU?»   -  person Milad Tabrizi    schedule 11.09.2018
comment
@Milad, вопрос в том, могу ли я использовать fit_generator так же, как fit. И если неплохо смонтировать большое количество образов с помощью fuse fs, у меня заливка должна быть очень медленной. Или о том, есть ли другой способ сделать это лучше.   -  person Mquinteiro    schedule 12.09.2018


Ответы (2)


Если вам нужна скорость чтения, GCP предлагает SSD, который будет самым быстрым способом для вашего компьютера читать изображения. У локальных SSD есть ограничение в 3 ТБ, поэтому вам, возможно, придется подключить несколько к вашей виртуальной машине в зависимости от количества образов.

Если вы хотите сократить расходы, установка Bucket с FuseFS - это то, путь, но это будет самый медленный вариант, поскольку потенциальное расстояние от источника наибольшее.

У Google есть отличная статья, в которой объясняются различные варианты хранения. В статье также есть таблицы, в которых указаны различные затраты, а также скорости и другие важные технические подробности о том, что предлагает каждый вариант.

person xavierc    schedule 12.09.2018

Tensorflow недавно объявил о поддержке Keras on Cloud TPU (по состоянию на 1.11), поэтому ваша существующая модель с fit_generator должна работать, вот пример с использованием fit_generator на TPU

Что касается производительности вашего вопроса, когда у вас есть модель, работающая на TPU, вы можете использовать Профилировщик TPU, чтобы определить, является ли хранилище узким местом. Если хранилище является узким местом, есть несколько способов обойти это, в основном оптимизация конвейера ввода

person michaelb    schedule 21.10.2018