programing

모델을 검증하는 동안 케라스에서 자세한 내용은 무엇을 사용합니까?

bestprogram 2023. 7. 1. 09:06

모델을 검증하는 동안 케라스에서 자세한 내용은 무엇을 사용합니까?

저는 LSTM 모델을 처음으로 실행하고 있습니다.제 모델은 다음과 같습니다.

opt = Adam(0.002)
inp = Input(...)
print(inp)
x = Embedding(....)(inp)
x = LSTM(...)(x)
x = BatchNormalization()(x)
pred = Dense(5,activation='softmax')(x)

model = Model(inp,pred)
model.compile(....)

idx = np.random.permutation(X_train.shape[0])
model.fit(X_train[idx], y_train[idx], nb_epoch=1, batch_size=128, verbose=1)

모델을 교육하는 동안 자세한 내용은 무엇을 의미합니까?

모델에 대한 설명서를 확인합니다.여기에 맞는

자세한 내용을 0, 1 또는 2로 설정하면 각 시대의 교육 진행 상황을 어떻게 '확인'하고 싶은지만 알 수 있습니다.

verbose=0당신에게 아무것도 보여주지 않을 것입니다.

verbose=1다음과 같은 애니메이션 진행률 표시줄이 표시됩니다.

progres_bar

verbose=2다음과 같은 에포크 수만 언급합니다.

enter image description here

verbose: Integer0, 1, 2.장황도 모드.

Verbose=0(계속)

Verbose=1(슬롯 막대)

Train on 186219 samples, validate on 20691 samples
Epoch 1/2
186219/186219 [==============================] - 85s 455us/step - loss: 0.5815 - acc: 
0.7728 - val_loss: 0.4917 - val_acc: 0.8029
Train on 186219 samples, validate on 20691 samples
Epoch 2/2
186219/186219 [==============================] - 84s 451us/step - loss: 0.4921 - acc: 
0.8071 - val_loss: 0.4617 - val_acc: 0.8168

상세=2(에포크당 한 줄)

Train on 186219 samples, validate on 20691 samples
Epoch 1/1
 - 88s - loss: 0.5746 - acc: 0.7753 - val_loss: 0.4816 - val_acc: 0.8075
Train on 186219 samples, validate on 20691 samples
Epoch 1/1
 - 88s - loss: 0.4880 - acc: 0.8076 - val_loss: 0.5199 - val_acc: 0.8046

위해서verbose> 0,fit메서드 로그:

  • 손실: 교육 데이터에 대한 손실 함수 값
  • acc: 교육 데이터의 정확도 값.

참고: 정규화 메커니즘을 사용하는 경우 과적합을 방지하기 위해 이 메커니즘이 켜집니다.

한다면validation_data또는validation_split인수가 비어 있지 않습니다.fit메서드 로그:

  • val_loss: 유효성 검사 데이터에 대한 손실 함수 값
  • val_acc: 검증 데이터의 정확도 값

참고: 네트워크의 모든 기능을 사용하기 때문에 테스트 시 정규화 메커니즘이 꺼집니다.

예를 들어, 사용verbose훈련하는 동안 모델은 다음과 같은 경우 발생하는 과적합을 감지하는 데 도움이 됩니다.acc지속적으로 향상되는 동안val_acc더 나빠집니다.

자세한 내용은 훈련 중에 Nural Network의 출력을 보고 싶은 방법을 선택하는 것입니다.상세 = 0을 설정하면 아무것도 표시되지 않습니다.

상세 = 1을 설정하면 Epoch 1/200 55/55[==============================] - 10s 307ms/step - loss : 0.56 - accuracy : 0.4949와 같은 출력이 표시됩니다.

상세 = 2를 설정하면 출력이 Epoch 1/200 Epoch 2/200 Epoch 3/200과 같습니다.

기본적으로 상세 = 1,

상세 = 1. 진행률 표시줄과 에포크당 한 줄을 모두 포함합니다.

verbose = 0, 무음을 의미합니다.

상세 = 2, 에포크당 한 줄(예: 에포크 번호/에포크 총 번호)

상세 플래그와 함께 제공된 세부 정보의 순서는 다음과 같습니다.

자세한 내용은 생략...더 자세한 정보

0 < 2 < 1

기본값은 1입니다.

운영 환경의 경우 2개가 권장됩니다.

언급URL : https://stackoverflow.com/questions/47902295/what-is-the-use-of-verbose-in-keras-while-validating-the-model