PyTorch의 다섯 장량 연산

소개하다.


Pytork는 장량 연산과 깊이 학습에 사용되는 놀라운 깊이 학습 라이브러리로, 다음은 torch 모듈에서 제공하는 놀라운 기능 5개의 목록이다.이 글은 jovianfreecodecamp과 합작하여 무료로 제공하는 심도 있는 학습 과정의 일부이며, 일부 숙제는 PyTorch와 함께 장량 연산에 관한 글을 쓰기로 하여 여기서 발표하기로 했습니다.

만족하다

  • 횃불.종합빌딩
  • 횃불.polar
  • 횃불.하비시드
  • 횃불.청크
  • 횃불.여기서
  • 1. 손전등.복잡했어


    매개변수:
  • 실: 데이터 형식은float나double의 장량입니다.
  • imag: 데이터 형식float의 장량
  • 복수의 실부를 나타내는 장량real과 허부를 나타내는 장량imag을 정하면 이 함수는 복수를 나타내는 새로운 장량을 되돌려주고 이 장량은 다음과 같은 규칙을 따른다.

    예:
    Example 
    real = torch.tensor([1,2], dtype=torch.float32)
    print(real)
    imag = torch.tensor([3,4], dtype=torch.float32)
    print(imag)
    z = torch.complex(real,imag)
    print(z)
    
    출력
    tensor([1., 2.])
    tensor([3., 4.])
    tensor([1.+3.j, 2.+4.j])
    
    두 개의 크기가 각각 2인 장량을 제시하면 우리는 새로운 복장량 장량을 만들 수 있다. 이것은 다음과 같은 규칙을 따른다. real[i] + (img[i])j

    2. 손전등.극지의


    매개변수:
  • abs: 복수 장량의 절대값은 데이터 형식float의 장량이어야 한다.다음 공식을 사용하여 계산됩니다.
  • 각도: 복장량의 각도.
  • 복수 장량의 절대값을 나타내는 장량과 각도를 나타내는 장량을 제시하면 이 함수는 다음 규칙에 따라 극좌표의 장량 표시를 되돌려준다.

    예:
    import numpy as np
    abs = torch.tensor([1,2], dtype=torch.float64)
    print(abs)
    angle = torch.tensor([np.pi/2,5*np.pi/4], dtype=torch.float64)
    print(angle)
    z = torch.polar(abs, angle)
    print(z)
    
    
    출력
    tensor([1., 2.], dtype=torch.float64)
    tensor([1.5708, 3.9270], dtype=torch.float64)
    tensor([ 6.1232e-17+1.0000j, -1.4142e+00-1.4142j], dtype=torch.complex128)
    
    이것은 극 좌표의 복장량을 나타내는 장량을 되돌려줍니다.

    3. 손전등.하이웨이시드


    매개변수:
    입력: 장량을 입력합니다.
  • 값: [i]가 0일 때 사용하는 장량을 입력합니다.
  • 입력한 각 값에 대해 다음 공식으로 정의된 heaviside 단계 함수를 계산합니다.

    예:
    input = torch.tensor([-1.5,0,2.0])
    print(input)
    values = torch.tensor([0.5])
    print(values)
    heaviside = torch.heaviside(input,values)
    print(heaviside)
    
    출력
    tensor([-1.5000,  0.0000,  2.0000])
    tensor([0.5000])
    tensor([0.0000, 0.5000, 1.0000])
    
    보시다시피 이 값들은 위의 헤비사이드 공식으로 대체됩니다.

    4.손전등.블록


    매개변수:
  • 입력: 분열 장량
  • 블록: 반환할 블록 수
  • dim: 분할 장량
  • 에 따른 사이즈
    하나의 장량과 몇 개의 블록을 정하고, 이 함수는 지정된 차원의 블록 수에 따라 장량을 되돌려줍니다.
    예:
    my_tensor = torch.tensor([
                              [5,5,6.,6],
                              [6,5,3.,7], 
                              [6,8,9,0]
                              ])
    chunk = torch.chunk(my_tensor, 2,dim=0)
    print(chunk)
    
    출력
    (tensor([[5., 5., 6., 6.],
            [6., 5., 3., 7.]]), tensor([[6., 8., 9., 0.]]))
    
    보시다시피, 이 함수는 블록의 수량과 지정한 차원에 따라 두 개의 새로운 장량을 되돌려줍니다.이 예에서 차원은 0이기 때문에 분할은 줄에 따라 진행되며 첫 번째 블록은 앞의 두 줄이고 두 번째 블록은 마지막 줄이다.

    5.손전등.어느 곳, 어디


    매개변수:
  • 조건: 모든 값은 브리 값의 장량이다.
  • 만약 조건[i]이 진짜라면
  • x:x[i]를 선택합니다.
  • y: 조건[i]이 가짜라면 y[i]를 선택합니다.
  • 두 개의 장량 x와 y, 그리고 한 개의 조건을 정하고 한 개의 장량을 되돌려줍니다. 만약 조건 [i]이 사실이라면 x[i]를 선택하고, 그렇지 않으면 y[i]를 선택하십시오.
    예.
    x = torch.randn(3,2)
    print(x)
    y = torch.ones(3,2)
    print(y)
    result =torch.where(x>0,x,y)
    print(result)
    
    출력
    tensor([[ 0.1014, -1.7573],
            [-1.0143, -0.5330],
            [-1.1203,  1.3897]])
    tensor([[1., 1.],
            [1., 1.],
            [1., 1.]])
    tensor([[0.1014, 1.0000],
            [1.0000, 1.0000],
            [1.0000, 1.3897]])
    
    우리는 만약 값 x[i]가 0보다 크면 이 값을 보류하고 그렇지 않으면 y[i]로 바꿀 수 있음을 알 수 있다.

    Conclusion


    보시다시피 torch 모듈에는 많은 사용 가능한 함수들이 있습니다. 특히 장량을 처리하는 함수들이 있습니다. 이 글에서 5개의 함수를 보았습니다. 각각의 함수를 설명하려고 합니다.그러나 횃불의 문서가 이 문장의 주요 출처이기 때문에 나는 가서 보는 것이 가장 좋다고 생각한다.

    도구책

  • 장량 조작의 공식 문서: Pytorch
  • jovian deeplearning course
  • 사용Codecogs project으로 수학 공식을 편찬했다
  • jupyter 노트는 본문 코드와 다른 예시를 포함합니다.
  • 좋은 웹페이지 즐겨찾기