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

Keras를 사용하여 체크포인트에서 가중치를 로드하고 Python을 사용하여 모델을 재평가하는 방법은 무엇입니까?


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

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

pip install tensorflow

Tensor는 TensorFlow에서 사용되는 데이터 구조입니다. 흐름도에서 가장자리를 연결하는 데 도움이 됩니다. 이 흐름도를 '데이터 흐름 그래프'라고 합니다. 텐서는 다차원 배열 또는 목록에 불과합니다. 세 가지 주요 속성을 사용하여 식별할 수 있습니다.

  • 순위 - 텐서의 차원에 대해 알려줍니다. 텐서의 순서 또는 정의된 텐서의 차원 수로 이해할 수 있습니다.

  • 유형 - Tensor의 요소와 관련된 데이터 유형에 대해 알려줍니다. 1차원, 2차원 또는 n차원 텐서일 수 있습니다.

  • 모양 - 행과 열의 개수입니다.

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

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

import tensorflow
from tensorflow import keras

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

print("The weights are loaded")
model.load_weights(checkpoint_path)

print("The model is being re-evaluated")
loss, acc = model.evaluate(test_images, test_labels, verbose=2)
print("This is the restored model, with accuracy: {:5.3f}%".format(100 * acc))

코드 크레딧 - https://www.tensorflow.org/tutorials/keras/save_and_load

출력

The Weights are loaded
The model is beign re-evaluated
32/32 - 0 - loss:0.4066 - sparse_categorical_accuracy:0.8740
This is the restored model, with accuracy:87.400%

설명

  • 이 새 모델은 가중치를 매핑하는 데 사용됩니다.

  • 'evaluate' 방법은 모델이 새 데이터에 대해 얼마나 잘 수행하는지 확인하는 데 사용됩니다.

  • 또한 모델이 학습될 때의 손실과 모델의 정확도가 모두 결정됩니다.

  • 손실과 정확도는 콘솔에 인쇄됩니다.