[오류]Error executing an HTTP request: HTTP response code 403 with body

lena_log·2022년 9월 21일
0

오류

목록 보기
7/7

"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를 통해 코렙에 가져오려고 하다가 오류를 만난거 였다.

해결

  1. 캐글 노트북을 켜준다.(꼭 케글 노트북!!)
  2. 노트북 오른쪽 상단 add data를 눌러 원하는 데이터를 가져온다.
  3. 노트북 키면 바로 있는 삼각형을 눌러 준다.
  4. 다음 이걸 그대로 복붙해서 커널을 눌러 준다.
from kaggle_datasets import KaggleDatasets
GCS_PATH = KaggleDatasets().get_gcs_path()
  1. 오류 없이 잘 됬으면 아래의 코드도 복붙해준다.
!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))
profile
안녕하세요. 기억보다 기록을 믿는 레나입니다!

0개의 댓글