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

Python을 사용하여 Illiad 데이터 세트를 훈련하는 데 Tensorflow를 어떻게 사용할 수 있습니까?

<시간/>

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

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

pip install tensorflow

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

William Cowper, Edward(Earl of Derby), Samuel Butler의 세 번역 작업의 텍스트 데이터가 포함된 Illiad의 데이터 세트를 사용할 것입니다. 모델은 한 줄의 텍스트가 제공될 때 번역자를 식별하도록 훈련됩니다. 사용된 텍스트 파일은 전처리되었습니다. 여기에는 문서 머리글 및 바닥글, 줄 번호 및 장 제목 제거가 포함됩니다.

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

예시

다음은 코드 조각입니다 -

vocab_size += 2

print("Configure the dataset for better performance")
train_data = configure_dataset(train_data)
validation_data = configure_dataset(validation_data)

print("Train the model")
model = create_model(vocab_size=vocab_size, num_labels=3)
model.compile(
   optimizer='adam',
   loss=losses.SparseCategoricalCrossentropy(from_logits=True),
   metrics=['accuracy'])
print("Fit the training data to the model")
history = model.fit(train_data, validation_data=validation_data, epochs=3)

print("Finding the accuracy and loss associated with training")
loss, accuracy = model.evaluate(validation_data)

print("The loss is : ", loss)
print("The accuracy is : {:2.2%}".format(accuracy))

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

출력

Configure the dataset for better performance
Train the model
Fit the training data to the model
Epoch 1/3
697/697 [==============================] - 35s 17ms/step - loss: 0.6891 - accuracy: 0.6736 -
val_loss: 0.3718 - val_accuracy: 0.8404
Epoch 2/3
697/697 [==============================] - 8s 11ms/step - loss: 0.3149 - accuracy: 0.8713 -
val_loss: 0.3621 - val_accuracy: 0.8422
Epoch 3/3
697/697 [==============================] - 8s 11ms/step - loss: 0.2165 - accuracy: 0.9162 -
val_loss: 0.4002 - val_accuracy: 0.8404
Finding the accuracy and loss associated with training
79/79 [==============================] - 1s 2ms/step - loss: 0.4002 - accuracy: 0.8404
The loss is : 0.40021833777427673
The accuracy is : 84.04%

설명

  • 모델은 사전 처리되고 벡터화된 데이터 세트에서 학습됩니다.

  • 이 작업이 완료되면 컴파일되어 모델에 맞습니다.

  • 모델과 관련된 손실 및 정확도는 '평가' 방법을 사용하여 평가됩니다.

  • 이 데이터는 콘솔에 표시됩니다.