본문 바로가기
인공지능, 빅데이터/TensorFlow, Keras

파이참(PyCharm) 기반 텐서플로(TensorFlow)+케라스(Keras) 개발 환경 구축

by 연구자 공학코드 2023. 4. 19.

공지사항

  1. 제가 운영하는 네이버 카페 개발자 커뮤니티 코어큐브(https://cafe.naver.com/ewsncube)에 가입하시면 컴퓨터 관련 학습 자료와 질의응답을 제공받으실 수 있습니다.

728x90
반응형

본 글에서는 파이참(PyCharm) 기반에서 텐서플로(TensorFlow)와 케라스(Keras)를 활용하는 프로젝트를 구성하여 개발 환경을 구축하는 방법을 설명한다.본 글에서는 파이참이 이미 설치된 경우로 가정하여 설명한다. 파이참이 없는 경우 아래의 글에서 설치할 수 있다.

  • "파이썬 웹 개발 환경 구축 3 - 파이참(PyCharm) 통합개발환경(IDE) 설치하기", 공학코드, 2019년 3월 25일. @원문보기

동영상 설명

동영상 설명

설치환경

  • 윈도우 11 64비트
  • 파이썬 3.10.9
  • 아나콘다 23.3.1
  • 텐서플로 2.10.0
  • 케라스 2.10.0

 

1. 파이참 프로젝트 생성

파이참 첫 화면

'New Project' 버튼을 클릭하여 파이참 프로젝트 창을 띄운다.

인터프리터 설정

인터프리터로 아나콘다(Anaconda)를 선택한다. 아나콘다를 설치한 적이 없다면 아래의 글에서 설치하도록 하자. 필자의 경우 아나콘다가 설치되어 있지만 파이참 인터프리터로 추가되어 있지 않는 경우라서 'Add Interpreter' 버튼을 클릭하여 파이참이 아나콘다를 인식할 수 있도록 설정하였다.

  • "아나콘다 설치로 파이썬 개발 환경을 구축하자", 공학코드, 2023년 2월 12일. @원문보기

인터프리터로 아나콘다를 추가하는 화면

위의 사진처럼 아나콘다 환경을 설정하고 하단의 'OK' 버튼을 클릭한다.

프로젝트 설정 화면

위의 사진처럼 프로젝트가 설정되면 'Create' 버튼을 클릭하여 프로젝트를 생성한다. 프로젝트 생성이 오래 걸리기 때문에 우측 하단의 생성 상태를 아래의 사진처럼 확인하고 프로젝트 생성이 완료될 때까지 기다린다.

프로젝트 업데이트 정보창이 나타난 화면
세부 작업 정보 창이 나타난 화면

2. 텐서플로 설치

프로젝트 생성이 완료되면 텐서플로 패키지를 설치한다. 아래의 사진처럼 'File' → 'Settings...' → 'Project' → 'Python Interpreter'로 이동한다.

'Setting' 창을 여는 화면
인터프리터 패키지 목록으로 간 화면

위의 사진처럼 십자 모양의 버튼을 클릭하여 인터프리터 패키지 추가 화면을 연다.

텐서플로 패키지 설치 화면

'tensorflow' 패키지를 찾아서 선택한 후 'Install Package'를 클릭한다.

텐서플로 패키지 설치가 완료된 화면

'Package "tensorflow" installed successfully'라는 메시지가 나오면 잘 설치된 것이다.

3. 케라스 설치

텐서플로가 잘 설치되었으면 케라스를 설치한다.

케라스 설치 화면

텐서플로 패키지를 설치할 때 열었는 화면에서 'keras'를 선택하여 'Install Package' 버튼을 클릭한다.

'Package "keras" installed successfully'라는 메시지가 나오면 잘 설치된 것이다.

4. 테스트 프로그램 실행

텐서플로와 케라스를 활용하는 프로그램을 실행하여 잘 설치되었는지 테스트한다. 케라스 공식 문서에서 제공되는 "Simple MNIST convnet" 예제를 활용한다. 

파이썬 파일 추가하는 화면

위의 사진처럼 프로젝트 탐색기에서 마우스 우클릭으로 파이썬 파일을 생성한다.

파일명을 설정하는 화면

위의 사진처럼 파일명을 입력하고 'Python file'을 클릭하여 선택하여 파이썬 파일을 생성한다. 그리고 아래의 파이썬 코드를 생성한 파이썬 파일에 입력한다.

import numpy as np
from tensorflow import keras
from keras import layers

# Model / data parameters
num_classes = 10
input_shape = (28, 28, 1)

# Load the data and split it between train and test sets
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()

# Scale images to the [0, 1] range
x_train = x_train.astype("float32") / 255
x_test = x_test.astype("float32") / 255
# Make sure images have shape (28, 28, 1)
x_train = np.expand_dims(x_train, -1)
x_test = np.expand_dims(x_test, -1)
print("x_train shape:", x_train.shape)
print(x_train.shape[0], "train samples")
print(x_test.shape[0], "test samples")


# convert class vectors to binary class matrices
y_train = keras.utils.to_categorical(y_train, num_classes)
y_test = keras.utils.to_categorical(y_test, num_classes)

model = keras.Sequential(
    [
        keras.Input(shape=input_shape),
        layers.Conv2D(32, kernel_size=(3, 3), activation="relu"),
        layers.MaxPooling2D(pool_size=(2, 2)),
        layers.Conv2D(64, kernel_size=(3, 3), activation="relu"),
        layers.MaxPooling2D(pool_size=(2, 2)),
        layers.Flatten(),
        layers.Dropout(0.5),
        layers.Dense(num_classes, activation="softmax"),
    ]
)

model.summary()

batch_size = 128
epochs = 15

model.compile(loss="categorical_crossentropy", optimizer="adam", metrics=["accuracy"])

model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs, validation_split=0.1)

score = model.evaluate(x_test, y_test, verbose=0)
print("Test loss:", score[0])
print("Test accuracy:", score[1])

파이썬 프로그램 실행 화면

초록색 삼각형으로 보이는 프로그램 실행 버튼을 클릭하여 위에서 작성한 파이썬 프로그램을 실행한다. 위의 사진처럼 결과가 나타난다면 잘 실행된 것이다.

 

참고문서

  1. "Getting started", 케라스 공식문서. @원문보기
  2. "Simple MNIST convnet", fchollet, 케라스 공식 문서, 2020년 4월 21일. @원문보기
  3. "TensorFlow 2 설치", 텐서플로 공식문서, 2021년 8월 25일. @원문보기
  4. "Pycharm 과 Keras 연동", 정광섭, 2019년 10월 6일. @원문보기

 

728x90
반응형

댓글