실습 환경 설정은 거의 설명 안 하다시피 할 예정이다! 텐서플로 위주로!
텐서플로(TensorFlow) : 데이터 흐름 그래프를 사용하여 데이터의 수치 연산을 하는 오픈 소스 소프트웨어 프레임워크
넘파이, 케라스, 맷플로릿 같은 기본 라이브러리는 물론 기본적인 수준의 데이터셋과 여러 다양한 서비스들이 있다.
텐서플로의 여러 특징과 장점이 (p.35)에 나오는데 개인적으로는 복잡한 수학 수식들을 일일히 코딩 안해도 되는 부분이 너무 좋은것 같다.
텐서플로 1버전과 2버전 차이점과 개선점도 (p.36)에 자세히 나온다. 간략하게 여러 웹 프레임워크 지식도 어느정도 갖춰야 사용하기 쉬웠던, 다시 말해 좀 복잡했던 텐서플로를 2버전에서 간략한 문법으로 바꿨다.
생성된 모델을 텐서플로 허브(TensorFlow Hub)에 개시하여 재사용도 가능하다고 한다. -> 사용자에게 웹이나 모바일로 서비스를 배포할 수 있는 환경도 제공한다고 한다.
데이터 준비
크게 판다스와 텐서플로로 데이터를 호출하는 방법이 있다고 한다.
임의 데이터셋, 텐서플로 데이터셋, 케라스 데이터셋, 인터넷에 있는 데이터셋 사용하는 방법 (p.39)
모델 정의 하는 방법 (p.40) 크게 초보자가 사용하는 Sequential API, 전문가들이 사용하는 Functional API, Model Subclassing API가 있다.
Sequential API : 최상위에 사용자가 쉽게 사용할 수 있는 케라스, 그 밑에 텐서플로 런타임을 이용하여 동작한다. -> 단순히 층을 여러개 쌓는 형태라 복잡한 모델을 생성할 때는 한계가 있다.
Functional API : 입력과 출력을 사용자가 정의, 모델 전체를 규정할 수 있다. -> 다중입력과 출력 등
Model Subclassing API : Functional API와 본질적인 차이는 없지만, 사용자가 모델을 자유롭게 정의할 수 있다. (밑바닥처럼...)
모델 컴파일 함수
model.compile(optimizer = 'adam', loss = 'sparse_categorical_crossentropy',
metrics = ['accuracy'])
모델 훈련 함수
model.fit(x_train, y_train, epochs = 10, batch_size = 100, validation_data=(x_test, y_test),
verbose =2)
모델 평가 함수
model.evaluate(x_test, y_test, batch_size=32)
훈련 과정 모니터링
log_dir = "logs/fit/"
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)
model.fit(x_train, y_train, epochs = 10, batch_size = 100, validation_data=(x_test, y_test),
callbacks=[tensorboard_callback])
모델 사용 함수
model.predict(y_test)
아나콘다와 가상환경 설치 및 설명 (가상 환경은 정말 책마다 나온다. 한 번 날 잡아서 정리해봐야지)
자동차 관련 파일로 직접 실습해보는 장이다.
책에서 좀 크게 다룬 성능 평가 지표를 살펴보자.
그 전에 성능 평가 지표에 들어가 '변수들'부터 봐보자.
이어서 성능 평가 지표
생각했던거 보다 훨씬 강력한 프레임워크인 것 같아 공부 시작하길 잘 했단 생각이 막 든다.