해결된 질문
작성
·
857
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)