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

TensorFlow를 사용하여 손실 함수, 옵티마이저를 정의하고, 모델을 훈련하고, Python의 IMDB 데이터 세트에서 평가하는 방법은 무엇입니까?


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

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

pip 설치 텐서플로

'IMDB' 데이터세트에는 50,000개 이상의 영화에 대한 리뷰가 포함되어 있습니다. 이 데이터세트는 일반적으로 자연어 처리와 관련된 작업에 사용됩니다.

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

다음은 IMDB 데이터 세트에서 모델을 훈련하고 평가하는 손실 함수, 최적화 프로그램을 정의하는 코드 스니펫입니다. -

model.compile(loss=losses.BinaryCrossentropy(from_logits=True), optimizer='adam',metrics=tf.metrics.BinaryAccuracy(threshold=0.0))epochs =10history =model.fit(train_ds, validation_data=val_ds , epochs=epochs)loss, 정확도 =model.evaluate(test_ds)print("손실:", loss)print("정확도:", 정확도)

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

출력

<이전>에포크 1/10625/625 [==========================================================================12초 19ms/단계 - 손실:0.6818 - binary_accuracy:0.6130 - val_loss:0.6135 - val_binary_accuracy:0.7750Epoch 2/10625/625 [=============================] - 4초 7ms/단계 - 손실:0.5785 - binary_accuracy:0.7853 - val_loss:0.4971 - val_binary_accuracy:0.8230Epoch 3/10625/625 [=========================] - 4초 7ms/단계 - 손실:0.4651 - binary_accuracy:0.8372 - val_loss:0.4193 - val_binary_accuracy:0.8470Epoch 4/10625/625 [==========================] - 4초 7ms/단계 - 손실:0.3901 - binary_accuracy:0.8635 - val_loss:0.3732 - val_binary_accuracy:0.8612Epoch 5/10625===625 ===========================] - 4초 7ms/단계 - 손실:0.3435 - 바이너리 정확도:0.8771 - val_loss:0.3444 - val_binary_accuracy:0.8688Epoch 6 /10625/625 [===============================] - 4초 7ms/단계 - 손실:0.3106 - 바이너리 정확도:0.8877 - val_loss:0.3255 - val_binary_accuracy:0.8730Epoch 7/10625/625 [===============================] - 5초 7ms/단계 - 헐 ss:0.2855 - binary_accuracy:0.8970 - val_loss:0.3119 - val_binary_accuracy:0.8732Epoch 8/10625/625 [===========================] - 5초 7ms/단계 - 손실:0.2652 - binary_accuracy:0.9048 - val_loss:0.3027 - val_binary_accuracy:0.8772Epoch 9/10625/625 [==========================] - 5초 7ms/단계 - 손실:0.2481 - binary_accuracy:0.9125 - val_loss:0.2959 - val_binary_accuracy:0.8782Epoch 10/10625/625 [=========================] - 5초 7ms/단계 - 손실:0.2328 - binary_accuracy:0.9161 - val_loss:0.2913 - val_binary_accuracy:0.8792782/782 [==============================] - 10초 12ms/단계 - 손실:0.3099 - binary_accuracy:0.8741손실은 0.3099007308483124정확도는 10.8741입니다.>

설명

  • 모델이 빌드되면 '컴파일' 기능을 사용하여 컴파일됩니다.

  • 모델을 학습시키기 위해 정의된 단계 수는 여기에서 10입니다.

  • 'fit' 함수는 구축된 모델에 데이터를 맞추는 데 사용됩니다.

  • 'evaluate' 기능은 테스트 데이터 세트에서 모델의 손실과 정확도를 계산하는 데 사용됩니다.

  • 손실 및 정확도 값이 콘솔에 표시됩니다.