쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

프로파일링 데이터 로더

포커스 모드
프로파일링 데이터 로더 - Amazon SageMaker AI

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

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

PyTorch에서 SingleProcessingDataLoaderIterMultiProcessingDataLoaderIter와 같은 데이터 로더 반복기는 데이터세트에 대한 모든 반복의 처음에 시작됩니다. 초기화 단계에서 PyTorch는 구성된 작업자 수에 따라 작업자 프로세스를 켜고 데이터 및 pin_memory 스레드를 가져오기 위한 데이터 대기열을 설정합니다.

PyTorch 데이터 로더 프로파일링 분석 도구를 사용하려면 다음 PT_dataloader_analysis 클래스를 가져오세요.

from smdebug.profiler.analysis.utils.pytorch_dataloader_analysis import PT_dataloader_analysis

검색된 프로파일링 데이터를 pandas 데이터 구문 분석 도구를 사용하여 프로파일링 데이터에 액세스 섹션에서 Pandas 프레임 데이터 객체로 전달합니다.

pt_analysis = PT_dataloader_analysis(pf)

pt_analysis 객체에는 다음과 같은 함수를 사용할 수 있습니다.

SMDebug S3SystemMetricsReader 클래스는 지정된 S3 버킷에서 s3_trial_path 파라미터로 시스템 지표를 읽습니다.

  • pt_analysis.analyze_dataloaderIter_initialization()

    분석은 이러한 초기화 기간의 중앙값 및 최대 기간을 출력합니다. 이상치가 있는 경우(즉, 기간이 2 * 중앙값보다 큰 경우) 함수는 해당 기간의 시작 및 종료 시간을 출력합니다. 이를 사용하여 해당 시간 간격 동안 시스템 지표를 검사할 수 있습니다.

    다음 목록은 이 클래스 메서드에서 사용할 수 있는 분석을 보여줍니다.

    • 어떤 유형의 데이터 로더 반복기가 초기화되었습니까?

    • 반복기 당 작업자 수.

    • 반복기가 pin_memory를 사용하여 초기화되었는지 아니면 사용하지 않고 초기화되었는지 검사하세요.

    • 훈련 중에 반복기가 초기화된 횟수입니다.

  • pt_analysis.analyze_dataloaderWorkers()

    다음 목록은 이 클래스 메서드에서 사용할 수 있는 분석을 보여줍니다.

    • 전체 훈련 기간 동안 분리된 작업자 프로세스 수.

    • 작업자 프로세스의 중앙값 및 최대 기간.

    • 이상치인 작업자 프로세스의 시작 및 종료 시간.

  • pt_analysis.analyze_dataloader_getnext()

    다음 목록은 이 클래스 메서드에서 사용할 수 있는 분석을 보여줍니다.

    • 훈련 중에 이루어진 GetNext 호출 수입니다.

    • GetNext 호출의 중앙값 및 최대 기간(마이크로초)입니다.

    • 이상치 GetNext 호출 시간에 대한 시작 시간, 종료 시간, 기간 및 작업자 ID.

  • pt_analysis.analyze_batchtime(start_timestamp, end_timestamp, select_events=[".*"], select_dimensions=[".*"])

    디버거는 모든 GetNext 호출의 시작 시간과 종료 시간을 수집합니다. 하나의 데이터 배치에서 훈련 스크립트가 소비한 시간을 확인할 수 있습니다. 지정된 기간 내에서 훈련에 직접적으로 영향을 주지 않는 호출을 식별할 수 있습니다. 이러한 호출은 정확도 계산, 디버깅 또는 로깅을 위한 손실 추가, 디버깅 정보 인쇄 등의 작업을 통해 발생할 수 있습니다. 이러한 작업은 계산 집약적이거나 시간이 많이 소요될 수 있습니다. Python 프로파일러, 시스템 지표 및 프레임워크 지표를 상호 연관시켜 이러한 작업을 식별할 수 있습니다.

    다음 목록은 이 클래스 메서드에서 사용할 수 있는 분석을 보여줍니다.

    • 현재 GetNext 호출과 후속 GetNext 호출의 시작 시간 간의 차이를 찾아 각 데이터 배치 BatchTime_in_seconds에 소요된 시간을 프로파일링합니다.

    • BatchTime_in_seconds에서 이상치를 찾고 해당 이상치에 대한 시작 및 종료 시간을 확인하세요.

    • 해당 BatchTime_in_seconds 타임스탬프 동안 시스템 및 프레임워크 지표를 획득하세요. 이는 시간을 어디에 소비했는지를 나타냅니다.

  • pt_analysis.plot_the_window()

    시작 타임스탬프와 종료 타임스탬프 사이의 타임라인 차트를 표시합니다.

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.