Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python 프로그램을 사용하여 모델을 훈련하는 데 Keras를 어떻게 사용할 수 있습니까?

<시간/>

Keras는 ONEIROS(개방형 신경 전자 지능형 로봇 운영 체제) 프로젝트 연구의 일부로 개발되었습니다. Keras는 Python으로 작성된 딥 러닝 API입니다. 기계 학습 문제를 해결하는 데 도움이 되는 생산적인 인터페이스가 있는 고급 API입니다. Tensorflow 프레임워크 위에서 실행됩니다. 빠른 실험을 돕기 위해 제작되었습니다. 머신 러닝 솔루션을 개발하고 캡슐화하는 데 필수적인 필수 추상화 및 빌딩 블록을 제공합니다.

확장성이 뛰어나며 플랫폼 간 기능이 함께 제공됩니다. 이는 Keras가 TPU 또는 GPU 클러스터에서 실행될 수 있음을 의미합니다. Keras 모델은 웹 브라우저나 휴대폰에서도 실행되도록 내보낼 수도 있습니다.

Keras는 이미 Tensorflow 패키지 내에 있습니다. 아래 코드 줄을 사용하여 액세스할 수 있습니다.

import tensorflow
from tensorflow import keras

Keras 기능 API는 순차 API를 사용하여 생성된 모델에 비해 더 유연한 모델을 생성하는 데 도움이 됩니다. 기능적 API는 비선형 토폴로지가 있는 모델과 함께 작동할 수 있고 레이어를 공유하고 여러 입력 및 출력과 함께 작동할 수 있습니다. 딥 러닝 모델은 일반적으로 여러 계층을 포함하는 방향성 순환 그래프(DAG)입니다. 기능적 API는 레이어 그래프를 작성하는 데 도움이 됩니다.

Google Colaboratory를 사용하여 아래 코드를 실행하고 있습니다. Google Colab 또는 Colaboratory는 브라우저를 통해 Python 코드를 실행하는 데 도움이 되며 구성이 필요 없고 GPU(그래픽 처리 장치)에 대한 무료 액세스가 필요합니다. Colaboratory는 Jupyter Notebook 위에 구축되었습니다. 다음은 모델을 훈련하기 위한 코드 스니펫입니다. -

예시

print("The model is being plotted")
keras.utils.plot_model(model, "my_resnet.png", show_shapes=True)
print("Split the data into training and test data")
(x_train, y_train), (x_test, y_test) = keras.datasets.cifar10.load_data()
print("Convert the type of data to float")
x_train = x_train.astype("float32") / 255.0
x_test = x_test.astype("float32") / 255.0
y_train = keras.utils.to_categorical(y_train, 10)
y_test = keras.utils.to_categorical(y_test, 10)
print("Compiling the model")
model.compile(
   optimizer=keras.optimizers.RMSprop(1e-3),
   loss=keras.losses.CategoricalCrossentropy(from_logits=True),
   metrics=["acc"],
)
model.fit(x_train[:2000], y_train[:2000], batch_size=64, epochs=2, validation_split=0.2)

코드 크레딧 - https://www.tensorflow.org/guide/keras/functional

출력

The model is being plotted
Split the data into training and test data
Downloading data from https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
170500096/170498071 [==============================] - 2s 0us/step
Convert the type of data to float
Compiling the model
Epoch 1/2
25/25 [==============================] - 9s 332ms/step - loss: 2.3163 - acc: 0.1028 -
val_loss: 2.2962 - val_acc: 0.1175
Epoch 2/2
25/25 [==============================] - 12s 492ms/step - loss: 2.3155 - acc: 0.1175 -
val_loss: 2.2606 - val_acc: 0.1200
<tensorflow.python.keras.callbacks.History at 0x7f48d3ecfb00>

설명

  • 입력 데이터는 학습 데이터 세트와 테스트 데이터 세트로 분할됩니다.

  • 데이터 유형은 'float' 유형으로 변환됩니다.

  • 모델은 '컴파일' 방법을 사용하여 컴파일됩니다.

  • 'fit' 방법은 모델을 훈련 데이터에 맞추는 데 사용됩니다.