는 이유는 무게만 사용할 수 있 교육에서는?

0

질문

를 호출한 후에 맞는 함수가 볼 수 있는 모델을 수렴에서 훈련을 하지만 저는 이동 전화를 평가하는 방법으로 작동하는 경우에는 모델을 하지 않은 이음쇠에 있는 모든. 최고의 예를 들어 아래는 내가 사용하는 교육기 발전기를 위한 훈련 및 검증을 서로 다른 결과를 얻을 수 있습니다.

import tensorflow as tf
from tensorflow.keras.callbacks import ModelCheckpoint

from ImageGenerator import ImageGenerator

if __name__== "__main__":

    batch_size=64

    train_gen = ImageGenerator('synthetic3/train/open/*.png', 'synthetic3/train/closed/*.png', batch_size=batch_size)

    model = tf.keras.applications.mobilenet_v2.MobileNetV2(weights=None, classes=2, input_shape=(256, 256, 3))

    model.compile(optimizer='adam', 
                loss=tf.keras.losses.CategoricalCrossentropy(),
                metrics=['accuracy'])

    history = model.fit(
        train_gen,
        validation_data=train_gen,
        epochs=5,
        verbose=1
    )
    
    model.evaluate(train_gen)

결과

Epoch 1/5
19/19 [==============================] - 11s 600ms/step - loss: 0.7707 - accuracy: 0.5016 - val_loss: 0.6932 - val_accuracy: 0.5016
Epoch 2/5
19/19 [==============================] - 10s 533ms/step - loss: 0.6991 - accuracy: 0.5855 - val_loss: 0.6935 - val_accuracy: 0.4975
Epoch 3/5
19/19 [==============================] - 10s 509ms/step - loss: 0.6213 - accuracy: 0.6637 - val_loss: 0.6932 - val_accuracy: 0.4992
Epoch 4/5
19/19 [==============================] - 10s 514ms/step - loss: 0.4407 - accuracy: 0.8158 - val_loss: 0.6934 - val_accuracy: 0.5008
Epoch 5/5
19/19 [==============================] - 10s 504ms/step - loss: 0.3200 - accuracy: 0.8643 - val_loss: 0.6949 - val_accuracy: 0.5000
19/19 [==============================] - 3s 159ms/step - loss: 0.6953 - accuracy: 0.4967

이로 인해 문제가 발생합니다 때문에 저장할 때는 무게 그것을 저장하는 경우로 모델을 수행하지 않았 피팅.

keras machine-learning python tensorflow
2021-11-24 04:34:14
2
0

을 평가()함수는 유효성 검사 데이터 집합의 입력으로 평가되고 숙련된 모델입니다.

의 모습에서 그것은 당신을 사용하는 훈련 데이터 집합(train_gen)에 대한 validation_data 통과 같은 데이터 집합을 입력으로 모델이다.을 평가()

2021-11-24 11:43:27

그래 나는 그 목적에 표시하도록 훈련 정확도가 개선되고 검증하지 않습니다. 심지어 같은 데이터 집합
ac4824

최고의 응답

0

안녕하세요 후에는 많은 날의 고통을 마지막으로 발견하는 솔루션이 이 문제를 해결합니다. 이로 인해 일괄 정상화 계층에서 모델이다. 모멘텀을 매개 변수를 변경해야에 따라 일괄 처리하는 경우는 크기 계획에 훈련으로 사용자 정의합니다.

for layer in model.layers:
    if type(layer)==type(tf.keras.layers.BatchNormalization()):
        # renorm=True, Can have renomalization for smaller batch sizes
        layer.momentum=new_momentum

원: https://github.com/tensorflow/tensorflow/issues/36065

2021-12-10 04:30:31

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................