Тренируйтесь на colab TPU без данных из GCP, чтобы получить данные, которые могут быть загружены в память - PullRequest
0 голосов
/ 10 июля 2020

Из официальной документации TPU говорится, что файлы поездов должны быть на GCP

https://cloud.google.com/tpu/docs/troubleshooting#cannot_use_local_filesystem

Но у меня есть меньший набор данных (но обучение будет занимает очень много времени из-за того, что обучение основано на выборке / перестановках), которые могут быть загружены в память (1-2 ГБ). Мне интересно, могу ли я каким-то образом просто передать объекты данных в TPU напрямую, и он может использовать это для обучения файлов.

Если это имеет значение, я использую Keras для обучения TPU.

То, на что я смотрел до сих пор:

Кажется, что вы можете загружать определенные данные в отдельные ядра TPU

self.workers = ['/job:worker/replica:0/task:0/device:TPU:' + str(i) for i in range(num_tpu_cores)]

with tf.device(worker[0):
    vecs = vectors[i] 

Однако я не уверен, что это приведет к согласованное обучение всех ядер ТПУ.

1 Ответ

0 голосов
/ 29 июля 2020

Вы можете читать файлы с помощью Python API:

with open(image_path, "rb") as local_file:
  img = local_file.read()

1-2 ГБ может быть слишком большим для TPU. Если вам не хватает памяти - разделите данные на более мелкие части.

...