• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    해결됨

Unable to allocate 55.9 GiB for an array with shape (25000, 100000, 3) and data type int64

22.09.23 11:47 작성 조회수 688

0

안녕하세요.

사용자 집단별 추천에서 모델별 RMSE를 계산하는 함수를 돌리면 램이 부족하다며 코랩이 중지됩니다.

주피터를 이용해 다시 돌려보니

y_pred = np.array([model(user, movie) for (user, movie) in id_pairs])

에서

Unable to allocate 55.9 GiB for an array with shape (25000, 100000, 3) and data type int64

라는 오류가 떴습니다.

데이터 사이즈가 이렇게 크지 않을 것 같은데 어떤 부분을 잘못한걸까요?

아래는 제가 작성한 score 함수입니다.

def score(model):
  # test 데이터의 user_id와 movie_id의 페어를 맞춰서 튜플로 반환
  id_pairs = zip(x_test['user_id'], x_test['movie_id'])
  # 모든 user, movie 페어쌍에 대해서 주어진 model의 예측값을 계산하여 array 형태로 반환
  y_pred = np.array([model(user, movie) for (user, movie) in id_pairs])
  y_true = np.array(x_test['rating'])
  return RMSE(y_true, y_pred)

답변 3

·

답변을 작성해보세요.

1

ahwl8240님의 프로필

ahwl8240

질문자

2022.09.23

다시 보니 코드에 오타가 있어서 오류가 났었네요!
답변 감사합니다~

0

해결되셨다니 다행입니다 :)

완강 응원하겠습니다.

감사합니다.

거친코딩 드림.

0

안녕하세요.

거친코딩입니다.

현재 스크립트만으로는 딱히 오류가 없어보이는데,

전체 코드를 함께 올려주실 수 있으실까요?

감사합니다.

거친코딩 드림.