더북(TheBook)

애플리케이션에 데이터를 넣기 위해 이 데이터를 내려받아 적절한 타입과 크기의 텐서로 바꾸어야 합니다. 이를 위해 data.js에 BostonHousingDataset 클래스를 정의합니다. 이 클래스는 데이터셋 스트리밍 연산을 구현하고 원시 데이터를 수치 행렬로 추출하는 API를 제공합니다. 내부적으로 이 클래스는 오픈 소스 Papa Parse 라이브러리(https://www.papaparse.com/)를 사용하여 원격에 있는 CSV 파일을 가져와 파싱(parsing)합니다. 이 라이브러리는 파일을 로드하고 파싱하고 나면 숫자 배열의 배열을 반환합니다. 그다음, 이 배열을 첫 번째 예제와 동일한 API로 텐서로 변환합니다. 다음 코드는 이와 관련된 부분을 index.js에서 발췌한 것입니다.

 

코드 2-7 index.js에서 보스턴 주택 데이터를 텐서로 바꾸는 코드

// data.js에서 BostonHousingDataset 객체를 초기화합니다
const bostonData = new BostonHousingDataset();
const tensors = {};

// 로드된 csv 데이터를 2d 텐서로 변환합니다
export function arraysToTensors() {
  tensors.rawTrainFeatures = tf.tensor2d(bostonData.trainFeatures);
  tensors.trainTarget = tf.tensor2d(bostonData.trainTarget);
  tensors.rawTestFeatures = tf.tensor2d(bostonData.testFeatures);
  tensors.testTarget = tf.tensor2d(bostonData.testTarget);
await bostonData.loadData();
ui.updateStatus('데이터가 로드되었고 텐서로 변환합니다');
arraysToTensors();
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.