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

Python에서 Keras를 사용하여 모델을 생성하는 동안 일반적인 디버깅 워크플로는 무엇입니까?

<시간/>

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

NumPy와 다차원 배열을 사용하기 때문입니다. 이러한 다차원 배열을 '텐서'라고도 합니다.

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

pip install tensorflow

케라스는 그리스어로 '뿔'을 의미한다. Keras는 ONEIROS(개방형 신경 전자 지능형 로봇 운영 체제) 프로젝트에 대한 연구의 일부로 개발되었습니다. Tensorflow 프레임워크 위에서 실행됩니다. 빠르게 실험할 수 있도록 제작되었습니다. 머신 러닝 솔루션을 개발하고 캡슐화하는 데 필수적인 필수 추상화 및 빌딩 블록을 제공합니다.

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

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

import tensorflow
from tensorflow import keras

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

예시

print("Creating a sequential model")
model = keras.Sequential()
print("Adding layers to it")
model.add(keras.Input(shape=(250, 250, 3))) # 250x250 RGB images
model.add(layers.Conv2D(32, 5, strides=2, activation="relu"))
model.add(layers.Conv2D(32, 3, activation="relu"))
model.add(layers.MaxPooling2D(3))
print("Data about the layers in the model")
model.summary()
print("Adding more layers to the model")
model.add(layers.Conv2D(32, 3, activation="relu"))
model.add(layers.Conv2D(32, 3, activation="relu"))
model.add(layers.MaxPooling2D(3))
model.add(layers.Conv2D(32, 3, activation="relu"))
model.add(layers.Conv2D(32, 3, activation="relu"))
model.add(layers.MaxPooling2D(2))
print("Data about the layers in the model")
model.summary()
print("Applying golval max pooling")
model.add(layers.GlobalMaxPooling2D())
print("Adding a classification layer to the model")
model.add(layers.Dense(10))

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

출력

Python에서 Keras를 사용하여 모델을 생성하는 동안 일반적인 디버깅 워크플로는 무엇입니까?

설명

  • 순차 아키텍처를 구축할 때 레이어를 점진적으로 쌓는 것이 좋습니다.

  • '추가' 기능을 사용하면 됩니다.

  • 이렇게 하면 '요약' 방법을 사용하여 모델에 대한 추가 정보가 자주 인쇄됩니다.

  • 또한 'Conv2D' 및 'MaxPooling2D' 스택이 이미지 기능 맵을 다운샘플링하는 방법을 모니터링하는 데 도움이 됩니다.