Jupyter 환경으로부터의 출력

유용한 팁최종 업데이트:

기계학습 프로젝트는, Jupyter노트북환경에서 작업하는 경우가 많습니다. 코드를 부분적으로 실행할 수 있고, 그래프등의 이미지를 표시하기 쉽다는 이점이 Jupyter환경을 사용하면 얻을수 있지요.

하지만 프로젝트를 이 환경을 쓰지 않고 실행하거나, Python프로젝트를 실행파일로 만들려고 할때는 출력을 할 필요가 있습니다. 이번 코스에서는 그 방법에 대해 소개하겠습니다.

1. 최초의 상태

Jupyter노트북 환경을 확인

Jupyter노트북 환경을 확인

모델을 이용하는 코드를 확인

여기서는 뉴럴 네트워크를 사용한 기계학습프로젝트를 상정하여 모델훈련을 끝까지 마친 상태에서부터 시작하겠습니다. 모델은 WGAN을 사용한 이미지생성 AI모델이 되겠습니다.

Jupyter노트북을 사용중인 상태에서 점차적으로 분리해가는 이미지로 진행하겠습니다. 그러면서 필요해 지는 라이브러리들을 도입해 가는 방향으로 작업하도록 하겠습니다. 이번에는 Keras라이브러리를 이용하여 생성AI모델을 구축한 프로젝트였기에 동일한 Keras라이브러리를 사용하여 훈련을 끝낸 모델을 불러올 수 있도록 하고 있습니다. 그 부분이 tf.keras.models.load_model() 함수를 실행하는 부분이 되겠습니다.

불러들인 모델을 사용하는 함수를 준비

불러들인 모델을 사용하는 함수를 준비

모델을 사용하는 함수

모델이 불러들여지고 그것을 사용해 이미지를 생성하기 위한 함수를 준비합니다. Jupyter노트북 환경에서 모델을 구축할 때 역시, 확인을 위하여 모델을 한번 사용해 보는 코드를 쓰는 경우가 많지요. 그러니 이미 있는 모델확인용 코드를 정리하거나, 그대로 사용하면 되겠습니다.

이번 연습에서는, 지정한 폴더에 1000장의 화상을 생성하도록 하고 있기에, 100이라는 수치를 입력하고 있습니다. 이처럼 출력할 장소와 매수를 하드코딩 해버리면 가변성이 떨어집니다. 그러니 이 부분은 변수로 만들어, 유저가 직접 정할 수 있도록 하면 좋겠지요.

2. 출력과정과 확인

Jupyter노트북으로부터의 출력

Jupyter노트북으로부터의 출력

출력작업

실제의 출력은 Jupyter 노트북의 File 메뉴의 Save and Export Notebook As / Excutable Script 를 사용하여 .py형식으로 변환시키면 되겠습니다.

그러면 다운로드됩니다.

그러면 다운로드됩니다.

출력이 끝난 상태

출력이 끝난 상태

출력된 Python 파일

Jupyter 노트북에서 출력하면 노트북상에서 쓸수 있었던 변수 내용의 간략한 출력결과는 생략되어 버립니다. 필요한 내용확인용 코드만 남기고 정리합시다.

커맨드라인에서의 실행

커맨드라인에서의 실행

실행결과

실행결과

결과를 확인

그러면 커맨드라인에서 실행해보겠습니다. 실행하면 Jupyter 노트북에서의 결과와 동일하게 모델의 상세내용이 표시되고, 이미지 역시 생성됩니다. 이렇게, 우선은 일반적인 Python파일 형식으로 실행이 되도록 한 후에 PyInstaller등을 이용해 네이티브한 실행파일 형식으로 변환하면, 다른 환경에도 가져갈수 있게 되지요.

생성된 이미지

생성된 이미지
← 코스 목록으로 맨 위로 ↑