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

Python을 사용하여 모델을 컴파일하고 맞추는 데 Tensorflow를 어떻게 사용할 수 있습니까?

<시간/>

Tensorflow는 Google에서 제공하는 기계 학습 프레임워크입니다. 알고리즘, 딥 러닝 애플리케이션 등을 구현하기 위해 Python과 함께 사용되는 오픈 소스 프레임워크입니다. 연구 및 생산 목적으로 사용됩니다.

복잡한 수학 연산을 빠르게 수행하는 데 도움이 되는 최적화 기술이 있습니다.

NumPy와 다차원 배열을 사용하기 때문입니다. 이러한 다차원 배열은 '텐서'라고도 합니다. 이 프레임워크는 심층 신경망 작업을 지원합니다. 확장성이 뛰어나고 많은 인기 있는 데이터 세트와 함께 제공됩니다. GPU 계산을 사용하고 리소스 관리를 자동화합니다. 수많은 기계 학습 라이브러리와 함께 제공되며 잘 지원되고 문서화되어 있습니다. 이 프레임워크는 심층 신경망 모델을 실행하고 훈련하며 각 데이터 세트의 관련 특성을 예측하는 애플리케이션을 생성하는 기능을 가지고 있습니다.

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

pip install tensorflow

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

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

예시

print("The vocab_size is actually vocab_size+1 since 0 is used as padding")
int_model = create_model(vocab_size=VOCAB_SIZE + 1, num_labels=4)
print("The model is compiled")
int_model.compile(
   loss=losses.SparseCategoricalCrossentropy(from_logits=True),
   optimizer='adam',
   metrics=['accuracy'])
print("The model is fit to the data")
history = int_model.fit(int_train_ds, validation_data=int_val_ds, epochs=5)

코드 크레딧 - https://www.tensorflow.org/tutorials/load_data/text

출력

The vocab_size is actually vocab_size+1 since 0 is used as padding
The model is compiled
The model is fit to the data
Epoch 1/5
188/188 [==============================] - 7s 37ms/step - loss: 1.3020 - accuracy: 0.3877 -
val_loss: 0.8041 - val_accuracy: 0.6625
Epoch 2/5
188/188 [==============================] - 5s 25ms/step - loss: 0.7200 - accuracy: 0.7003 -
val_loss: 0.5815 - val_accuracy: 0.7685
Epoch 3/5
188/188 [==============================] - 5s 25ms/step - loss: 0.4517 - accuracy: 0.8471 -
val_loss: 0.5137 - val_accuracy: 0.8040
Epoch 4/5
188/188 [==============================] - 5s 25ms/step - loss: 0.2709 - accuracy: 0.9311 -
val_loss: 0.5091 - val_accuracy: 0.8065
Epoch 5/5
188/188 [==============================] - 5s 25ms/step - loss: 0.1453 - accuracy: 0.9717 -
val_loss: 0.5320 - val_accuracy: 0.8025

설명

  • 'create_model' 메소드는 모델을 생성하는 데 사용됩니다.

  • 이 모델은 '컴파일' 방식으로 컴파일됩니다.

  • 이 컴파일된 모델에서 'fit' 메소드가 호출되어 데이터를 모델에 맞춥니다.