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

Python에서 특정 에포크 수 이후에 모델의 가중치를 저장하는 데 Keras를 어떻게 사용할 수 있습니까?


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

복잡한 수학 연산을 빠르게 수행하는 데 도움이 되는 최적화 기술이 있습니다.

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

pip install tensorflow

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

Keras는 ONEIROS(개방형 Neuro-Electronic Intelligent Robot Operating System) 프로젝트에 대한 연구의 일부로 개발되었습니다. Keras는 Python으로 작성된 딥 러닝 API입니다. 기계 학습 문제를 해결하는 데 도움이 되는 생산적인 인터페이스를 갖춘 고급 API입니다.

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

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

import tensorflow
from tensorflow import keras

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

다음은 코드입니다 -

예시

checkpoint_path = "training_2/cp−{epoch:04d}.ckpt"
checkpoint_dir = os.path.dirname(checkpoint_path)

batch_size = 32
print("Callback being created to save the model's weight after every 4 epoch")
cp_callback = tf.keras.callbacks.ModelCheckpoint(
   filepath=checkpoint_path,
   verbose=1,
   save_weights_only=True,
   save_freq=4*batch_size)

print("A new model instance is created")
model = create_model()
print("The weights are saved using 'checkpoint_path'")
model.save_weights(checkpoint_path.format(epoch=0))

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

출력

Callback being created to save the model's weight after every 4 epoch
A new model instance is created
The weight are saved using 'checkpoint_path'

설명

  • 콜백에는 체크포인트에 고유하지 않은 이름 제공, 체크포인트 빈도 조정 등과 같은 많은 옵션이 있습니다.

  • 새 모델이 학습되었습니다.

  • 이 새 모델은 4 Epoch마다 모든 체크포인트에 대해 고유한 이름으로 저장됩니다.