갑자기 분위기 딥러닝

0_sin·2023년 1월 11일
0

딥러닝

목록 보기
1/1

안녕하세요. 오랜만에 돌아왔습니다.

딥러닝 공부하며 중요한 부분들 가끔 정리해보도록 하겠습니다!

NumPy

  • 벡터, 행렬이나 일반적인 대규모 다차원 배열의 처리를 지원하는 라이브러리

  • 일반 List에 비해 빠르고 , 메모리 효율적

    • ndarray를 활용 - Numpy의 N차원 배열
      ex) int type의 ndarray 예시

      test_array = np.array(["1","4",5,8],float
      test_array  
      #출력값 : array([1., 4., 5., 8.])
    • 여러가지 형식을 찍어서 보여줄수도 있음

       type(test_array[3])
       #출력값 : numpy.float64
       test_array.dtype
       #출력값 : dtype('float64')
       np.array([[1, 4, 5, "8"]], np.float32).shape
       #출력값 : (1, 4) - 1차원에 1 2차원에 4로 표현
       tensor = [[[1,2,5,8],[1,2,5,8],[1,2,5,8],[1,2,5,8]],
               [[1,2,5,8],[1,2,5,8],[1,2,5,8],[1,2,5,8]],
               [[1,2,5,8],[1,2,5,8],[1,2,5,8],[1,2,5,8]],
               [[1,2,5,8],[1,2,5,8],[1,2,5,8],[1,2,5,8]]]
       np.array(tensor, int).shape
       #출력값 : (4, 4, 4)
    • 배열의 Size만 같다면 다차원으로 자유롭게 변형 가능

      np.array(tensor).reshape(16,4)
      array([[1, 2, 5, 8],
           [1, 2, 5, 8],
           [1, 2, 5, 8],
           [1, 2, 5, 8],
           [1, 2, 5, 8],
           [1, 2, 5, 8],
           [1, 2, 5, 8],
           [1, 2, 5, 8],
           [1, 2, 5, 8],
           [1, 2, 5, 8],
           [1, 2, 5, 8],
           [1, 2, 5, 8],
           [1, 2, 5, 8],
           [1, 2, 5, 8],
           [1, 2, 5, 8],
           [1, 2, 5, 8]])
    • Slicing과 Indexing의 문법

      # indexing
      test_list = [[1, 2, 5, 8], 
               	 [2, 3, 6, 9], 
            	    [3, 4, 7, 10]] # 3 x 4 array
      test_array = np.array(test_list, int)
      print(test_array[1][2]) # 6 출력
      print(test_array[1, 2]) # 동일하게 6 출력
      
      # slicing Start:End:Interval의 문법
      print(test_array[1:2, :2]) # 1번행 이상 / 2번행 미만, 2번 열 미만 출력
      #[[2 3]]
      print(test_array[1, :2]) # 동일하게 출력되지만, 위에는 2차원, 이 코드는 1차원으로 출력
      #[2 3]
      print(test_array[:, 2:]) # 모든 행, 2번 열 이후 출력
      #[[ 5  8]
      #[ 6  9]
      #[ 7 10]]
      print(test_array[:, ::2]) # 모든 행 + 모든 열을 2칸씩 띄워서
      #[[1 5]
      #[2 6]
      #[3 7]]
      print(test_array[1::2, 0:4:3]) # 1번 행부터 끝까지, 2행씩 띄워서 출력
      #[[2 9]]

Pytorch 공부에 앞서 조금 알아본 수준이기에 실습을 더 해보자.

profile
cool~

0개의 댓글