"message": "00@cloud-tpu.iam.gserviceaccount.com does not have storage.objects.get access to the Google Cloud Storage object."
"message": "00@cloud-tpu.iam.gserviceaccount.com does not have storage.objects.get access to the Google Cloud Storage object."
오늘 하루 오류만 주구 장창 만나는 거 같다..ㅎ
구글 클라우드 스토리지 서비스를 사용하여 파일을 코렙으로 가져오려고 했으나 자꾸 위와 같이 접근 권한 오류 발생했다.
이 오류 굉장히 잘못된 접근이였고 실제로 해결법이 너무 단순했다.
케글 데이터를 GCS PATH를 통해 코렙에 가져오려고 하다가 오류를 만난거 였다.
from kaggle_datasets import KaggleDatasets
GCS_PATH = KaggleDatasets().get_gcs_path()
!gsutil ls $GCS_PATH
아래에 주소가 뜬다.
6. gs://숫자들/파일명 이 주소를 그대로 케글 노트북으로 가져온다.
케글 노트북에 아래 내용들 모두 복붙!
step 1
!pip install tensorflow-addons==0.8.3
step 2
import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers import tensorflow_addons as tfa import os import glob from google.colab import auth auth.authenticate_user()
step 3
try: tpu = tf.distribute.cluster_resolver.TPUClusterResolver() print('Device:', tpu.master()) tf.config.experimental_connect_to_cluster(tpu) tf.tpu.experimental.initialize_tpu_system(tpu) strategy = tf.distribute.experimental.TPUStrategy(tpu) except: strategy = tf.distribute.get_strategy() print('Number of replicas', strategy.num_replicas_in_sync) Autotune = tf.data.experimental.AUTOTUNE print(tf.__version__)
step 4
! pip install gcsfs
step 5
GCS_PATH = "gs://주소/파일명" AUTOTUNE = tf.data.experimental.AUTOTUNE #tf.data 런타임이 실행 시에 동적으로 값을 조정 FILENAMES = tf.io.gfile.glob(str(GCS_PATH + '/파일명/*.tfrec')) print('TFRecord Files:', len(FILENAMES))