공부중
[CNN] model.fit 본문
728x90
fit(
x=None,
y=None,
batch_size=None,
epochs=1,
verbose='auto',
callbacks=None,
validation_split=0.0,
validation_data=None,
shuffle=True,
class_weight=None,
sample_weight=None,
initial_epoch=0,
steps_per_epoch=None,
validation_steps=None,
validation_batch_size=None,
validation_freq=1,
max_queue_size=10,
workers=1,
use_multiprocessing=False
)
고정된 수의 에포크(데이터 세트 반복) 동안 모델을 학습합니다.
인수
x | 입력 데이터. 그것은 수:
|
y | 대상 데이터. 입력 데이터와 마찬가지로 xNumpy 배열 또는 TensorFlow 텐서일 수 있습니다. 이는 일치해야 합니다 x(Numpy 입력 및 텐서 대상을 가질 수 없거나 그 반대일 수 없음). x가 데이터 세트, 생성기 또는 keras.utils.Sequence인스턴스 인 경우 y지정하면 안 됩니다(대상은 에서 가져오므로 x). |
batch_size | 정수 또는 None. 그라데이션 업데이트당 샘플 수입니다. 지정하지 않으면 기본값은 32입니다. 데이터가 데이터 세트, 생성기 또는 인스턴스 형식인 경우 (일괄 처리를 생성하므로) 지정하지 마십시오 .batch_sizebatch_sizekeras.utils.Sequence |
epochs | 정수. 모델을 훈련하는 데 필요한 에포크 수입니다. x에포크는 전체 및 제공된 데이터 에 대한 반복입니다 y ( 플래그가 없음 이외의 것으로 설정되지 않은 경우). 와 함께 는 " 최종 시대"로 이해되어야 합니다. 모델은 에서 제공하는 여러 반복에 대해 학습되지 않고 단지 인덱스 에포크 에 도달할 때까지만 학습됩니다. steps_per_epochinitial_epochepochsepochsepochs |
verbose | 'auto', 0, 1 또는 2. 자세한 정보 표시 모드. 0 = 자동, 1 = 진행률 표시줄, 2 = 에포크당 한 줄. 'auto'는 대부분의 경우 1이 되지만 와 함께 사용하면 2가 됩니다 ParameterServerStrategy. 진행률 표시줄은 파일에 기록될 때 특별히 유용하지 않으므로 대화형으로 실행하지 않을 때는(예: 프로덕션 환경에서) verbose=2를 권장합니다. 기본값은 '자동'입니다. |
callbacks | 인스턴스 목록입니다 keras.callbacks.Callback. 훈련 중에 적용할 콜백 목록입니다. 보다 tf.keras.callbacks. 메모 tf.keras.callbacks.ProgbarLogger와 tf.keras.callbacks.History콜백은 자동으로 생성되므로 에 전달할 필요가 없습니다 . 에 대한 인수를 기반으로 생성되거나 생성되지 않습니다 . 일괄 수준 호출이 포함된 콜백은 현재 에서 지원되지 않으며 사용자는 대신 적절한 값을 사용하여 에포크 수준 호출을 구현하는 것이 좋습니다 . model.fittf.keras.callbacks.ProgbarLoggerverbosemodel.fittf.distribute.experimental.ParameterServerStrategysteps_per_epoch |
validation_split | 0과 1 사이의 부동 소수점입니다. 검증 데이터로 사용될 훈련 데이터의 비율입니다. 모델은 훈련 데이터의 이 부분을 구분하고, 훈련하지 않으며, 각 에포크가 끝날 때 이 데이터에 대한 손실과 모델 측정항목을 평가합니다. 검증 데이터는 섞기 전에 제공된 데이터의 마지막 샘플에서 선택 x됩니다 y. x이 인수는 데이터 세트, 생성기 또는 keras.utils.Sequence인스턴스 인 경우 지원되지 않습니다 . 및 가 모두 제공되면 가 재정의됩니다 . 에서는 아직 지원되지 않습니다 . validation_datavalidation_splitvalidation_datavalidation_splitvalidation_splittf.distribute.experimental.ParameterServerStrategy |
validation_data | 각 시대가 끝날 때 손실과 모델 측정항목을 평가하는 데이터입니다. 모델은 이 데이터에 대해 학습되지 않습니다. 따라서 노이즈 및 드롭아웃과 같은 정규화 레이어를 사용 하거나 영향을 받지 않는 데이터의 유효성 검사 손실이 있다는 사실에 유의하세요 . 재정의됩니다 . 다음과 같을 수 있습니다: validation_splitvalidation_datavalidation_datavalidation_splitvalidation_data
|
shuffle | 부울(각 에포크 전에 훈련 데이터를 섞을지 여부) 또는 str('배치'의 경우)입니다. x이 인수는 생성기이거나 tf.data.Dataset의 객체인 경우 무시됩니다 . 'batch'는 HDF5 데이터의 한계를 처리하기 위한 특별한 옵션입니다. 배치 크기의 청크로 섞입니다. 가 아닌 경우 효과가 없습니다 . steps_per_epochNone |
class_weight | 손실 함수에 가중치를 부여하는 데 사용되는 선택적 사전 매핑 클래스 인덱스(정수)를 가중치(부동 소수점) 값으로 지정합니다(훈련 중에만). 이는 과소 대표 클래스의 샘플에 "더 많은 주의를 기울이십시오"라고 모델에 지시하는 데 유용할 수 있습니다. 가 지정되고 대상의 순위가 2 이상인 경우 원-핫 인코딩되어야 하거나 희소 클래스 레이블에 대한 명시적인 최종 차원이 포함되어야 합니다. class_weighty1 |
sample_weight | 손실 함수에 가중치를 부여하는 데 사용되는 훈련 샘플에 대한 선택적인 Numpy 가중치 배열입니다(훈련 중에만). 입력 샘플과 길이가 동일한 평면(1D) Numpy 배열(가중치와 샘플 간의 1:1 매핑)을 전달하거나 시간 데이터의 경우 모양이 있는 2D 배열을 전달 하여 모든 샘플의 모든 시간 단계마다 가중치가 다릅니다. 이 인수는 데이터 세트, 생성기 또는 인스턴스인 경우 지원되지 않으며 대신 의 세 번째 요소로 Sample_weights를 제공합니다 . 샘플 가중치는 의 인수를 통해 지정된 측정항목에 적용되지 않습니다 . 측정항목에 샘플 가중치를 적용하려면 대신 in을 통해 지정할 수 있습니다 . (samples, sequence_length)xkeras.utils.Sequencexmetricscompile()weighted_metricscompile() |
initial_epoch | 정수. 훈련을 시작할 시점(이전 훈련 실행을 재개하는 데 유용함) |
steps_per_epoch | 정수 또는 None. 한 에포크가 완료되었다고 선언하고 다음 에포크를 시작하기 전의 총 단계 수(샘플 배치)입니다. TensorFlow 데이터 텐서와 같은 입력 텐서를 사용하여 훈련할 때 기본값은 None데이터세트의 샘플 수를 배치 크기로 나눈 값과 동일하며, 이를 결정할 수 없는 경우 1입니다. x가 tf.data데이터세트이고 'steps_per_epoch'가 None이면 입력 데이터세트가 소진될 때까지 에포크가 실행됩니다. 무한히 반복되는 데이터세트를 전달할 때 인수를 지정해야 합니다 . 무한히 반복되는 데이터세트로 훈련이 무기한 실행되는 경우 . 이 인수는 배열 입력에서는 지원되지 않습니다. 사용할 때 : steps_per_epochsteps_per_epoch=-1tf.distribute.experimental.ParameterServerStrategy
|
validation_steps | 제공되고 데이터 세트인 경우에만 관련됩니다 . 매 에포크가 끝날 때 검증을 수행할 때 중지하기 전에 추출할 총 단계(샘플 배치) 수입니다. 'validation_steps'가 None이면 데이터 세트가 소진될 때까지 유효성 검사가 실행됩니다. 무한히 반복되는 데이터세트의 경우 무한 루프에 빠지게 됩니다. 'validation_steps'가 지정되고 데이터세트의 일부만 소비되는 경우 각 에포크의 데이터세트 시작 부분부터 평가가 시작됩니다. 이렇게 하면 매번 동일한 검증 샘플이 사용됩니다. validation_datatf.datavalidation_data |
validation_batch_size | 정수 또는 None. 검증 배치당 샘플 수입니다. 지정하지 않으면 기본값은 입니다 . 데이터가 데이터 세트, 생성기 또는 인스턴스 형식인지 여부를 지정하지 마십시오 (일괄 처리를 생성하므로). batch_sizevalidation_batch_sizekeras.utils.Sequence |
validation_freq | 검증 데이터가 제공되는 경우에만 관련됩니다. 정수 또는 인스턴스(예: 목록, 튜플 등) 정수인 경우 새 검증 실행이 수행되기 전에 실행할 훈련 Epoch 수를 지정합니다(예: 2 Epoch마다 검증 실행). 컨테이너인 경우 유효성 검사를 실행할 에포크를 지정합니다. 예를 들어 첫 번째, 두 번째 및 10번째 에포크가 끝날 때 유효성 검사를 실행합니다. collections.abc.Containervalidation_freq=2validation_freq=[1, 2, 10] |
max_queue_size | 정수. keras.utils.Sequence생성기 또는 입력에만 사용됩니다 . 생성기 대기열의 최대 크기입니다. 지정하지 않으면 기본값은 10입니다. max_queue_size |
workers | 정수. keras.utils.Sequence생성기 또는 입력에만 사용됩니다 . 프로세스 기반 스레딩을 사용할 때 스핀업할 최대 프로세스 수입니다. 지정하지 않으면 workers 기본값은 1입니다. |
use_multiprocessing | 부울. keras.utils.Sequence생성기 또는 입력에만 사용됩니다 . 이면 True프로세스 기반 스레딩을 사용하십시오. 지정하지 않으면 기본값은 입니다 . 이 구현은 다중 처리에 의존하기 때문에 피클할 수 없는 인수를 하위 프로세스에 쉽게 전달할 수 없으므로 생성기에 전달하면 안 됩니다. use_multiprocessingFalse |
관련 링크
https://www.tensorflow.org/api_docs/python/tf/keras/Model#fit
https://github.com/keras-team/keras/blob/v2.15.0/keras/engine/training.py#L1455-L1890
728x90
'인공지능...? > 머신러닝 및 Neural Network' 카테고리의 다른 글
[AI 용어 정리] Context, Atrous Convolution, HARD (0) | 2025.01.07 |
---|---|
[딥러닝] (0) | 2024.09.26 |
[딥러닝 영상 분석] (1) | 2024.09.25 |
Colab Pro 결제 (0) | 2024.09.14 |
[CNN] (0) | 2024.02.05 |