안녕하세요, 프로젝트를 따라가다가 소소한 오류를 발견해서 여기에 남겨봅니다
프로젝트B check_util/checker.py
에 63번째 줄에 보면 아래와 같은 코드가 있는데 2000이 아닌 {}
여기 부분에서 괄호 안을 len(dataset)
으로 채워줘야 실행시 오류가 나지 않았습니다
try: if len(dataset) != 2000: print(f'{dataset.mode}의 __len__ 함수가 train_data의 데이터 갯수를 2000이 아닌 {}으로 반환하고 있습니다. 가지고 있는 데이터셋 또는 __len__함수 구현에 문제가 없는지 다시 확인하시기 바랍니다.'.format(len(dataset))) len_flag = False
프로젝트C 노트북의 6. 베이스라인 성능 측정
에 보면 아래와 같은 블록이 있습니다.
for i in range(15): data_idx = np.random.randint(len(test_data)) pred = test_data[data_idx][0][-1, 0] pred = pred * std[0] + mean[0] # 예측 기온을 normalization 이전 상태(섭씨 단위)로 되돌리는 작업 target = test_data[data_idx][1][0] * std[0] + mean[0] # 실제 기온을 normalization 이전 상태(섭씨 단위)로 되돌리는 작업 print('예측 기온: {:.1f} / 실제 기온: {:.1f}'.format(pred, target))
여기서 std
, mean
을 전역 변수에서 가져오는데 저런 전역 변수를 정의한 적이 없으므로 에러가 납니다. 대신에 test_data.std[0]
, test_data.mean[0]
을 사용하면 오류가 나지 않았습니다 (아래 블록에도 비슷한 내용이 있는데 여기를 참조했습니다)
comment