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

Tensorflow를 사용하여 꽃 데이터 세트를 표준화하려면 어떻게 해야 하나요?

<시간/>

데이터 표준화는 데이터 세트를 수준으로 확장하여 모든 기능이 등가 단위로 표현될 수 있도록 하는 행위를 말합니다. Rescaling 레이어는 Keras 모듈에 있는 'Rescaling' 방법을 사용하여 구축됩니다. 레이어는 'map' 방식을 사용하여 전체 데이터셋에 적용됩니다.

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

수천 개의 꽃 이미지가 포함된 꽃 데이터 세트를 사용할 것입니다. 5개의 하위 디렉토리를 포함하며 모든 클래스에 대해 하나의 하위 디렉토리가 있습니다.

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

from tensorflow.keras import layers
print("Standardizing the data using a rescaling layer")
normalization_layer = tf.keras.layers.experimental.preprocessing.Rescaling(1./255)

print("This layer can be applied by calling the map function on the dataset")
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/load_data/images

출력

Standardizing the data using a rescaling layer
This layer can be applied by calling the map function on the dataset
0.0 0.96902645

설명

  • RGB 채널 값은 0에서 255 사이입니다.
  • 신경망에 좋지 않습니다.
  • 아이디어는 입력 데이터를 가능한 한 작게 만드는 것입니다.
  • 이미지의 값은 0과 1로 표준화됩니다.
  • 이 작업은 레이어 크기 조정의 도움으로 수행됩니다.
  • 또는 모델 정의에 이 크기 조정 레이어를 포함하여 배포를 단순화할 수 있습니다.