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

Tensorflow를 사용하여 MNIST 데이터 세트의 가중치를 저장하고 로드할 수 있습니까?


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

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

pip install tensorflow

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

훈련이 오랜 기간 동안 발생하면 모델이 과적합되는 경향이 있고 테스트 데이터에서 잘 일반화되지 않습니다. 따라서 훈련 단계의 수는 균형이 잘 맞아야 합니다. 즉, 효과적인 교육을 수행하려면 모든 데이터 사례를 가져와야 합니다. 이런 식으로 모델은 테스트 데이터에서 더 잘 일반화됩니다. 그렇지 않으면 정규화를 수행할 수 있습니다.

Keras는 Python으로 작성된 딥 러닝 API입니다. 기계 학습 문제를 해결하는 데 도움이 되는 생산적인 인터페이스가 있는 고급 API입니다. Tensorflow 프레임워크 위에서 실행됩니다. 빠르게 실험할 수 있도록 제작되었습니다. 머신 러닝 솔루션을 개발하고 캡슐화하는 데 필수적인 필수 추상화 및 빌딩 블록을 제공합니다.

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

import tensorflow
from tensorflow import keras

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

!pip install -q pyyaml h5py
import os

import tensorflow as tf
from tensorflow import keras

print("The version of Tensorflow is : ")
print(tf.version.VERSION)
(train_images, train_labels), (test_images, test_labels) = tf.keras.datasets.mnist.load_data()
print("Splitting training and test data")
train_labels = train_labels[:1000]
test_labels = test_labels[:1000]

print("Reshaping the training and test data")
train_images = train_images[:1000].reshape(-1, 28 * 28) / 255.0
test_images = test_images[:1000].reshape(-1, 28 * 28) / 255.0

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

출력

Tensorflow를 사용하여 MNIST 데이터 세트의 가중치를 저장하고 로드할 수 있습니까?

설명

  • 필요한 패키지를 가져오고 별칭을 지정합니다.

  • 실행 속도를 개선하기 위해 처음 1000개의 예제를 얻으십시오.