Как подключиться к частному хранилищу с помощью Google Colab TPU - PullRequest
0 голосов
/ 27 апреля 2020

Я использую Google Colab Pro и предоставленный ТПУ. Мне нужно загрузить предварительно обученную модель в ТПУ.

  • TPU может загружать данные только из облачного хранилища Google.
  • Я создал хранилище облачного хранилища и извлек в него файлы предварительно обученных моделей.

Теперь мне нужно дать разрешение TPU на доступ к моему личному хранилищу, но я не знаю служебную учетную запись ТПУ. Как мне его найти?

Пока у меня просто All:R разрешение на чтение в корзину, и TPU успешно инициализирован, но очевидно, что это не оптимальное решение.

Ответы [ 2 ]

0 голосов
/ 10 мая 2020

Я сам боролся с этим сценарием (хотя и с бесплатной версией Colab) и просто заставил его работать. Этот конкретный вариант использования c не очень хорошо документирован - кажется, официальная документация в основном касается случаев, связанных с виртуальной машиной Compute Engine, а не с автоматически назначенным TPU. Процесс, который работал для меня, шел следующим образом:

  1. Запустите аутентификацию Google Cloud SDK и настройте проект (эти две вещи могут быть избыточными - я еще не пробовал делать одну или другую)
!gcloud auth login
!gcloud config set project [Project ID of Storage Bucket]

и

from google.colab import auth
auth.authenticate_user()
Инициализация TPU (из Документация Tensorflow TPU )
resolver = tf.distribute.cluster_resolver.TPUClusterResolver(tpu='grpc://' + os.environ['COLAB_TPU_ADDR'])
tf.config.experimental_connect_to_cluster(resolver)
tf.tpu.experimental.initialize_tpu_system(resolver)
strategy = tf.distribute.experimental.TPUStrategy(resolver)
Попробуйте загрузить модель
model = tf.keras.models.load_model('gs://[Bucket name and path to saved model]')

Первоначально это не удалось, но сообщение об ошибке включало служебную учетную запись TPU, пытающегося получить доступ к каталогу , и это адрес, к которому я получил доступ, как описано в документах Cloud Storage . Адрес указан в формате service-[PROJECT_NUMBER]@cloud-tpu.iam.gserviceaccount.com, но номер проекта не является идентификатором проекта, в котором находится моя корзина, и значением, которое я смог найти где-либо еще.

После того, как я дал разрешения в эту служебную учетную запись (которую я смог найти только в сообщении об ошибке) я смог загрузить и сохранить модели из своего личного списка.

0 голосов
/ 27 апреля 2020

Как указано в publi c документации , чтобы найти служебную учетную запись вашего Colab TPU, вам просто нужно заменить номер проекта на следующий почтовый адрес:

 service-[PROJECT_NUMBER]@cloud-tpu.iam.gserviceaccount.com

Номер вашего проекта можно найти на панели инструментов вашего облачного проекта Google

. После этого вы должны установить доступ к своему корзине как детальный доступ, а предоставить доступ для этого. учетная запись в ACL вашего ведра

...