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

Tensorflow는 성능을 위해 데이터 세트를 구성하는 데 어떻게 사용할 수 있습니까?

<시간/>

꽃 데이터 세트는 버퍼 프리페치, 셔플 방법 및 캐시 방법을 사용하여 성능을 위해 구성할 수 있습니다. 버퍼링된 프리페치를 사용하면 I/O가 차단되지 않고 디스크에서 데이터를 가져올 수 있습니다. Dataset.cache()는 첫 번째 epoch 동안 디스크에서 로드된 후 이미지를 메모리에 유지합니다. Dataset.prefetch()는 훈련하는 동안 데이터 전처리와 모델 실행을 겹칩니다.

자세히 알아보기: TensorFlow란 무엇이며 Keras가 TensorFlow와 함께 신경망을 생성하는 방법은 무엇입니까?

모든 레이어에 정확히 하나의 입력 텐서와 하나의 출력 텐서가 있는 일반 레이어 스택으로 작업하는 데 사용되는 순차 모델을 구축하는 데 도움이 되는 Keras Sequential API가 사용됩니다.

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

print("Configuring the dataset for better performance")
AUTOTUNE = tf.data.AUTOTUNE
train_ds = train_ds.cache().shuffle(1000).prefetch(buffer_size=AUTOTUNE)
val_ds = val_ds.cache().prefetch(buffer_size=AUTOTUNE)

코드 크레딧:https://www.tensorflow.org/tutorials/images/classification

출력

Configuring the dataset for better performance

설명

  • I/O가 차단되지 않고 디스크에서 데이터를 가져올 수 있도록 버퍼링된 프리페치의 개념을 사용할 수 있습니다.
  • 데이터를 로드할 때 사용할 수 있는 두 가지 중요한 방법이 있습니다.
    • cache()는 첫 번째 epoch 동안 디스크에서 로드된 후 이미지를 메모리에 유지합니다.
    • 이렇게 하면 모델이 학습될 때 데이터세트가 병목 현상이 되지 않습니다.
    • 데이터 세트가 너무 커서 메모리에 맞지 않는 경우 이 방법을 사용하여 고성능 디스크 캐시를 만들 수 있습니다.
    • prefetch()는 학습하는 동안 데이터 사전 처리 및 모델 실행을 겹칩니다.