ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 패스트캠퍼스 챌린지 - 41일차
    2022년 패스트캠퍼스 챌린지/한번에끝내는딥러닝|인공지능초격차패키지 2022. 3. 5. 21:24

    강의 내용 Review


    📍배운내용📍

    • Broadcast
    • 규칙, 실제 동작방법
    • 예제소스코드 

    👉강의내용👈

    Part3. 딥러닝/인공지능의 이해

    Ch 02_딥러닝 개발 준비

    Broadcast

    • Broadcasting은 넘파이가 산술 연산을 수행 할때 다른 모양의 배열로 작업할수있게 도와줌
    • 더작은 배열과 큰 배열이 있을떄 작은 배열을 여러번 사용하여 연산하고 싶을때 사용함 
    • 각 행에 상수벡터를 바로 더하고 싶을떄 넘파이는 바로 가능
    • 내부적으로 사용자가 모르게 broadcasting이 일어남 
    • 각 연산하고자 하는 값이 차원이 다를때 알아서 차원을 확장해서 다 더함 
    • ex) 한 넘파이의 형태가 (4,3)이고, 한 넘파이의 형태가 (3, )일때 브로드캐스팅이 일어나 연산을 함
    • 규칙
      • 연산하고자 하는 두 배열의 차원이 같지 않으면 두 모양이 같은 길이가 될때 까지 배열의 낮은 차원쪽에 1을 붙임 
      • 두배열의 차원에서 크기가 같거나 배열중 하나의 차원의 크기가 1인경우 차원에서 호환가능 
      • 배열은 모든 차원에서 호환되면 함께 broadcast 될수 있음
      • broadcast후 각 배열은 두개의 입력 배열의 요소 모양 최대 개수와 동일한 모양을 가진것 처럼 동작
      • 한배열의 크기가 1이고, 다른 배열의 크기가 1보다 큰 차원에서 첫번째 배열은 해당차원을 따라 복사된 것 처럼 작동함 
    • 실제 동작 방법
      • 두 배열 A와 B의 형태와 모양을 봄 
      • 두 배열의 모양의 길이 가 같은지 확인함 -> len(A.shape) == len(B.shape)
      • 같지 않으면 두 배열의 모양 길이가 같아질때까지 작은 쪽의 shape 앞에 1 을 추가함.
      • shape이 1인 곳은 복사가 됨
      • ex) (6,2) + (2, )  -> 두 배열의 모양의 길이가 같지 않음 
      • (6,2) + (1, 2)  -> 두배열의 모양의 길이가 같아질떄까지 작은 쪽의 shape앞에 1을 붙임 
      • (6,2) + (6, 2)  -> shape가 1인 부분에 큰 배열의 값을 복사해옴 

    예제 소스코드

    x = np.array([1,2,3]).reshape(1,3)
    y = np.array([4,5]).reshape(1,2)
    print(x, x.shape)
    print(y, y.shape)
    
    ===== 결과 =====
    [[1 2 3]] (1, 3)
    [[4 5]] (1, 2)

     1. 첫번째 숫자는 서로 1로 맞음

     2. 두번째 숫자는 서로 다름, 둘중에 하나가 1인지 봐야함

     3. 하지만 1이 아니라서 연산안됨!

    x = np.array([1,2,3,4,5,6,7,8,9,10,11,12]).reshape(6,2)
    y = np.array([1,2]).reshape(2)
    print(x, x.shape)
    print(y, y.shape)
    
    ===== 결과 =====
    [[ 1  2]
     [ 3  4]
     [ 5  6]
     [ 7  8]
     [ 9 10]
     [11 12]] (6, 2)
    
    [1 2] (2,)
    
    [[ 2  4]
     [ 4  6]
     [ 6  8]
     [ 8 10]
     [10 12]
     [12 14]]

     1. 실제 동작 방법 참고 연산가능!

     

    공부사진 


    강의듣기
    실습하기

     

    41일차 후기


    규칙이 아직 알쏭달쏭하다. 더열심히 봐서 브로드캐스트에 대해 익혀야한다.
    앞으로 소스코드를 볼때 잘고려해서 보고 짜야겠다. 
    넘파이 튜토리얼은 끝났다. 시각화 그릭도 파이팅 

     

     

     

    https://bit.ly/37BpXiC

     

    패스트캠퍼스 [직장인 실무교육]

    프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

    fastcampus.co.kr

    본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

     

    댓글

Designed by Tistory.