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

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

<시간/>

Tensorflow는 Google에서 제공하는 기계 학습 프레임워크입니다. 알고리즘, 딥 러닝 애플리케이션 등을 구현하기 위해 Python과 함께 사용되는 오픈 소스 프레임워크입니다. 연구 및 생산 목적으로 사용됩니다. 복잡한 수학 연산을 빠르게 수행하는 데 도움이 되는 최적화 기술이 있습니다.

'tensorflow' 패키지는 아래 코드 줄을 사용하여 Windows에 설치할 수 있습니다. -

pip install tensorflow

Tensor는 TensorFlow에서 사용되는 데이터 구조입니다. 흐름도에서 가장자리를 연결하는 데 도움이 됩니다. 이 흐름도를 '데이터 흐름 그래프'라고 합니다. 텐서는 다차원 배열 또는 목록에 불과합니다.

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

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("Sample input data")
title_data = np.random.randint(num_words, size=(1280, 10))
body_data = np.random.randint(num_words, size=(1280, 100))
tags_data = np.random.randint(2, size=(1280, num_tags)).astype("float32")
print("Sample target data")
priority_targets = np.random.random(size=(1280, 1))
dept_targets = np.random.randint(2, size=(1280, num_classes))
print("The model is being fit to the data")
model.fit(
   {"title": title_data, "body": body_data, "tags": tags_data},
   {"priority": priority_targets, "class": dept_targets},
   epochs=2,
   batch_size=32,
)

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

출력

Sample input data
Sample target data
The model is being fit to the data
Epoch 1/2
40/40 [==============================] - 5s 43ms/step - loss: 1.2738 - priority_loss: 0.7043 -
class_loss: 2.8477
Epoch 2/2
40/40 [==============================] - 2s 44ms/step - loss: 1.2720 - priority_loss: 0.6997 -
class_loss: 2.8612
<tensorflow.python.keras.callbacks.History at 0x7f48d0809e80>

설명

  • 샘플 입력 및 대상 데이터가 생성됩니다.

  • 모델은 입력 및 대상의 Numpy 배열을 전달하여 학습됩니다.