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

TensorFlow를 사용하여 Python에서 Fashion MNIST 데이터 세트를 예측하려면 어떻게 해야 하나요?

<시간/>

Tensorflow는 Google에서 제공하는 기계 학습 프레임워크입니다. 알고리즘, 딥 러닝 애플리케이션 등을 구현하기 위해 Python과 함께 사용되는 오픈 소스 프레임워크입니다. 연구 및 생산 목적으로 사용됩니다. 복잡한 수학 연산을 빠르게 수행하는 데 도움이 되는 최적화 기술이 있습니다. NumPy와 다차원 배열을 사용하기 때문입니다. 이러한 다차원 배열은 '텐서'라고도 합니다.

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

pip install tensorflow

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

'Fashion MNIST' 데이터셋에는 다양한 종류의 의복 이미지가 포함되어 있습니다. 10가지 카테고리에 속하는 70,000개 이상의 옷에 대한 회색조 이미지가 포함되어 있습니다. 이 이미지는 저해상도(28 x 28픽셀)입니다.

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

다음은 예측을 위한 코드 스니펫입니다. −

probability_model = tf.keras.Sequential([model,
                                         tf.keras.layers.Softmax()])
predictions = probability_model.predict(test_images)
print("The predictions are being made ")
print(predictions[0])

np.argmax(predictions[0])
print("The test labels are")
print(test_labels[0])
def plot_image(i, predictions_array, true_label, img):
  true_label, img = true_label[i], img[i]
  plt.grid(False)
  plt.xticks([])
  plt.yticks([])

  plt.imshow(img, cmap=plt.cm.binary)

  predicted_label = np.argmax(predictions_array)
  if predicted_label == true_label:
    color = 'blue'
  else:
    color = 'red'

  plt.xlabel("{} {:2.0f}% ({})".format(class_names[predicted_label],
     100*np.max(predictions_array),
     class_names[true_label]), color=color)

def plot_value_array(i, predictions_array, true_label):
  true_label = true_label[i]
  plt.grid(False)
  plt.xticks(range(10))
  plt.yticks([])
  thisplot = plt.bar(range(10), predictions_array, color="#777777")
  plt.ylim([0, 1])
  predicted_label = np.argmax(predictions_array)

  thisplot[predicted_label].set_color('red')
  thisplot[true_label].set_color(‘green’)

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

출력

The predictions are being made
[1.3008227e−07 9.4930819e−10 2.0181861e−09 5.4944155e−10 3.8257373e−11
1.3896286e−04 1.4776078e−08 3.1724274e−03 9.4210514e−11 9.9668854e−01]
The test labels are
9

설명

  • 모델이 학습되면 테스트해야 합니다.

  • 빌드된 모델을 사용하여 이미지에 대한 예측을 수행하면 됩니다.

  • 선형 출력, 로짓 및 소프트맥스 레이어가 여기에 첨부됩니다.

  • softmax 레이어는 로짓을 확률로 변환하는 데 도움이 됩니다.

  • 이는 예측한 내용을 더 쉽게 해석할 수 있도록 하기 위한 것입니다.

  • 실제 값과 예측 값을 표시하는 'plot_value_array' 메소드가 정의되어 있습니다.