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

Python을 사용하여 데이터를 표준화하는 데 Tensorflow를 어떻게 사용할 수 있습니까?

<시간/>

수천 개의 꽃 이미지가 포함된 꽃 데이터 세트를 사용할 것입니다. 5개의 하위 디렉토리를 포함하며 모든 클래스에 대해 하나의 하위 디렉토리가 있습니다. 꽃 데이터 세트가 'get_file' 메소드를 사용하여 다운로드되면 작업을 위해 환경에 로드됩니다.

꽃 데이터는 모델에 정규화 계층을 도입하여 표준화할 수 있습니다. 이 레이어를 'Rescaling' 레이어라고 하며, 'map' 방식을 사용하여 전체 데이터셋에 적용됩니다.

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

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

print("Normalization layer is created ")
normalization_layer = layers.experimental.preprocessing.Rescaling(1./255)
print("This layer is applied to dataset using map function ")
normalized_ds = train_ds.map(lambda x, y: (normalization_layer(x), y))
image_batch, labels_batch = next(iter(normalized_ds))
first_image = image_batch[0]
print(np.min(first_image), np.max(first_image))

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

출력

Normalization layer is created
This layer is applied to dataset using map function
0.0 1.0

설명

  • RGB 채널 값은 [0, 255] 범위에 있습니다.
  • 이는 신경망에 이상적인 것으로 간주되지 않습니다.
  • 일반적으로 입력 값이 작아야 합니다.
  • 따라서 [0, 1] 범위에 속하는 값을 표준화할 수 있습니다.
  • 이 작업은 Rescaling 레이어를 사용하여 수행됩니다.
  • 지도 함수를 호출하여 데이터세트에 레이어를 적용하면 됩니다.
  • 또 다른 방법은 모델 정의 내에 레이어를 포함하는 것입니다.
  • 이렇게 하면 배포 프로세스가 간소화됩니다.