[python] 파이썬 PyTorch에서 난수 생성을 위한 함수와 클래스는 무엇인가?

PyTorch는 딥러닝 프레임워크로서, 난수 생성을 위한 다양한 함수와 클래스를 제공합니다. 이들을 사용하여 모델 초기화, 데이터 증강, 미니배치 샘플링 등의 다양한 작업에 사용할 수 있습니다.

  1. torch.rand(size): 주어진 크기(size)의 텐서를 생성하고, 0과 1 사이의 균일 분포로 난수를 채웁니다.

    import torch
    
    # 2x3 크기의 텐서를 생성하고 난수로 채우기
    x = torch.rand(2, 3)
    print(x)
    
  2. torch.randn(size): 주어진 크기(size)의 텐서를 생성하고, 평균이 0이고 표준편차가 1인 정규 분포로 난수를 채웁니다.

    import torch
    
    # 2x3 크기의 텐서를 생성하고 정규 분포의 난수로 채우기
    x = torch.randn(2, 3)
    print(x)
    
  3. torch.randint(low, high, size): 주어진 범위(low와 high)에서 정수로 이루어진 난수 텐서를 생성합니다.

    import torch
    
    # 2x3 크기의 텐서를 생성하고 0부터 9까지의 정수로 채우기
    x = torch.randint(0, 10, (2, 3))
    print(x)
    
  4. torch.manual_seed(seed): 난수 생성을 위한 시드 값을 설정합니다. 동일한 시드 값을 설정하면, 동일한 난수가 생성됩니다.

    import torch
    
    # 시드 값을 설정하여 난수 생성
    torch.manual_seed(42)
    
    x = torch.rand(2, 3)
    print(x)
    

이외에도 PyTorch에서는 다양한 난수 생성 함수와 클래스가 제공됩니다. 필요에 따라 공식 PyTorch 문서를 참조하시기 바랍니다.