

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# SageMaker 스마트 시프팅 Python SDK 참조
<a name="train-smart-sifting-pysdk-reference"></a>

이 페이지에서는 훈련 스크립트에 SageMaker 스마트 시프팅을 적용하는 데 필요한 Python 모듈에 대한 참조를 제공합니다.

## SageMaker 스마트 시프팅 구성 모듈
<a name="train-smart-sifting-pysdk-base-config-modules"></a>

**`class smart_sifting.sift_config.sift_configs.RelativeProbabilisticSiftConfig()`**

SageMaker 스마트 시프팅 구성 클래스입니다.

**파라미터**
+ `beta_value` (부동 소수점) - 베타(일정) 값입니다. 손실 값 기록의 손실 백분위수를 기반으로 훈련할 샘플을 선택할 확률을 계산하는 데 사용됩니다. 베타 값을 낮추면 시프팅된 데이터의 비율이 낮아지고 이를 높이면 시프팅된 데이터의 비율이 높아집니다. 베타 값에는 양수 값이어야 한다는 점을 제외하고 최소값 또는 최대값이 없습니다. 다음 참조 표는 `beta_value`와 관련된 시프팅 속도에 대한 정보를 제공합니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/sagemaker/latest/dg/train-smart-sifting-pysdk-reference.html)
+ `loss_history_length`(int) - 상대 임계값 손실 기반 샘플링에 대해 저장할 이전 훈련 손실 수입니다.
+ `loss_based_sift_config`(dict 또는 `LossConfig` 객체) - SageMaker 스마트 시프팅 손실 인터페이스 구성을 반환하는 `LossConfig` 객체를 지정합니다.

**`class smart_sifting.sift_config.sift_configs.LossConfig()`**

`RelativeProbabilisticSiftConfig` 클래스의 `loss_based_sift_config` 파라미터에 대한 구성 클래스입니다.

**파라미터**
+ `sift_config`(dict 또는 `SiftingBaseConfig` 객체) - 시프팅 기본 구성 사전을 반환하는 `SiftingBaseConfig` 객체를 지정합니다.

**`class smart_sifting.sift_config.sift_configs.SiftingBaseConfig()`**

`LossConfig`의 파라미터의 구성 클래스입니다.

**파라미터**
+ `sift_delay`(int) - 시프팅을 시작하기 전에 기다려야 하는 훈련 단계의 수입니다. 모델의 모든 계층이 훈련 데이터를 충분히 본 후 시프팅을 시작하는 것이 좋습니다. 기본값은 `1000`입니다.
+ `repeat_delay_per_epoch`(bool) - 모든 에폭의 시프팅을 지연할지 여부를 지정합니다. 기본값은 `False`입니다.

## SageMaker 스마트 시프팅 데이터 배치 변환 모듈
<a name="train-smart-sifting-pysdk-batch-transform-modules"></a>

`class smart_sifting.data_model.data_model_interface.SiftingBatchTransform`

배치 변환을 수행하는 방법을 정의하기 위한 SageMaker 스마트 시프팅 Python 모듈입니다. 이를 사용하여 훈련 데이터의 데이터 형식을 `SiftingBatch` 형식으로 변환하는 배치 변환 클래스를 설정할 수 있습니다. SageMaker 스마트 시프팅은 이 형식의 데이터를 시프팅된 배치로 시프팅하고 누적할 수 있습니다.

`class smart_sifting.data_model.data_model_interface.SiftingBatch`

시프팅하고 누적할 수 있는 배치 데이터 유형을 정의하는 인터페이스입니다.

`class smart_sifting.data_model.list_batch.ListBatch`

시프팅을 위한 목록 배치를 추적하기 위한 모듈입니다.

`class smart_sifting.data_model.tensor_batch.TensorBatch`

시프팅을 위한 텐서 배치를 추적하기 위한 모듈입니다.

## SageMaker 스마트 시프팅 손실 구현 모듈
<a name="train-smart-sifting-pysdk-loss-interface-moddule"></a>

`class smart_sifting.loss.abstract_sift_loss_module.Loss`

PyTorch 기반 모델의 손실 함수에 SageMaker 스마트 시프팅 인터페이스를 등록하기 위한 래퍼 모듈입니다.

## SageMaker 스마트 시프팅 데이터 로더 래퍼 모듈
<a name="train-smart-sifting-pysdk-dataloader-wrapper-module"></a>

`class smart_sifting.dataloader.sift_dataloader.SiftingDataloader`

PyTorch 기반 모델의 데이터 로더에 SageMaker 스마트 시프팅 인터페이스를 등록하기 위한 래퍼 모듈입니다.

Main Sifting Dataloader 반복자는 sift 구성을 기반으로 데이터 로더에서 훈련 샘플을 시프팅합니다.

**파라미터**
+ `sift_config`(dict 또는 `RelativeProbabilisticSiftConfig` 객체) - `RelativeProbabilisticSiftConfig` 객체입니다.
+ `orig_dataloader`(PyTorch DataLoader 객체) - 래핑할 PyTorch Dataloader 객체를 지정합니다.
+ `batch_transforms`(`SiftingBatchTransform`객체) – (선택 사항) SageMaker 스마트 시프팅 라이브러리의 기본 변환에서 데이터 형식을 지원하지 않는 경우 `SiftingBatchTransform` 모듈을 사용하여 배치 변환 클래스를 생성해야 합니다. 이 파라미터는 배치 변환 클래스를 전달하는 데 사용됩니다. 이 클래스는 SageMaker 스마트 시프팅 알고리즘이 수락할 수 있는 형식으로 데이터를 변환하기 위해 `SiftingDataloader`에 사용됩니다.
+ `model`(PyTorch 모델 객체) - 원래 PyTorch 모델
+ `loss_impl`(`smart_sifting.loss.abstract_sift_loss_module.Loss`의 시프팅 손실 함수) - `Loss` 모듈로 구성되고 PyTorch 손실 함수를 래핑하는 시프팅 손실 함수입니다.
+ `log_batch_data`(bool) - 배치 데이터를 로깅할지 여부를 지정합니다. `True`로 설정하면 SageMaker 스마트 시프팅은 유지되거나 시프팅된 배치의 세부 정보를 기록합니다. 파일럿 훈련 작업에만 활성화하는 것이 좋습니다. 로깅이 켜져 있으면 샘플이 GPU에 로드되고 CPU로 전송되어 오버헤드가 발생합니다. 기본값은 `False`입니다.