기계 학습에서 만나는 함수【1】numpy.pad(기계 학습의 학습 #4)
0. 소개
파이썬 아마추어 (= 당연히 numpy 아마추어)가 기계 학습을 학습 할 때 만난 함수로 이해에 어려움을 쏟고 있습니다. 이번에는 "numpy.pad".
이후 numpy는 np라고 기재하고 있습니다.
 1. 등장 개소
CNN의 컨벌루션 부분.
컨볼 루션 할 때 크기가 작아지지 않도록 이미지 주위를 숫자 (일반적으로 0)로 채 웁니다. (=패딩)
 2. 동작
행렬의 전후에 값을 더한다.
 3. 형식
np.pad(array,range,mode(,そのほか))
인수 이름
설명
보충
array
N차원 행렬
범위
각 차원에서 전후의 패딩 범위
mode
임베디드 방식
'constraint'(상수)가 자주 사용
 보충
기본값은 패딩 값 = 0입니다.
 4. 참조
 5. 예
 실시예 1
a = [[1, 2], [3, 4]]
np.pad(a, [(1, 2), (3, 4)], 'constant')
array([[0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 1, 2, 0, 0, 0, 0],
       [0, 0, 0, 3, 4, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0]])
 사고방식
 
 예 2: im2col
# N: データ数, C: チャンネル数, H: 各画像の幅, W: 各画像の高さ
N, C, H, W = input_data.shape
# 画像データの上下左右に0を1つパディング
img = np.pad(input_data, [(0,0), (0,0), (1, 1), (1, 1)], 'constant')
 6. 사족(다음 번 예고?)
여기까지 썼습니다만, 결국 im2col의 이해 그 자체가 어려웠다고.
「제로 붙는다」 읽고, 스스로 그림을 걸어 보고, 상당히 고생했기 때문에, im2col에 대해 정리하고 싶습니다(자신이 잊을 것 같으니까…).
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(기계 학습에서 만나는 함수【1】numpy.pad(기계 학습의 학습 #4)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/MA-fn/items/17cc7bdbd59700abdc3c
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                 우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
CNN의 컨벌루션 부분.
컨볼 루션 할 때 크기가 작아지지 않도록 이미지 주위를 숫자 (일반적으로 0)로 채 웁니다. (=패딩)
2. 동작
행렬의 전후에 값을 더한다.
 3. 형식
np.pad(array,range,mode(,そのほか))
인수 이름
설명
보충
array
N차원 행렬
범위
각 차원에서 전후의 패딩 범위
mode
임베디드 방식
'constraint'(상수)가 자주 사용
 보충
기본값은 패딩 값 = 0입니다.
 4. 참조
 5. 예
 실시예 1
a = [[1, 2], [3, 4]]
np.pad(a, [(1, 2), (3, 4)], 'constant')
array([[0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 1, 2, 0, 0, 0, 0],
       [0, 0, 0, 3, 4, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0]])
 사고방식
 
 예 2: im2col
# N: データ数, C: チャンネル数, H: 各画像の幅, W: 各画像の高さ
N, C, H, W = input_data.shape
# 画像データの上下左右に0を1つパディング
img = np.pad(input_data, [(0,0), (0,0), (1, 1), (1, 1)], 'constant')
 6. 사족(다음 번 예고?)
여기까지 썼습니다만, 결국 im2col의 이해 그 자체가 어려웠다고.
「제로 붙는다」 읽고, 스스로 그림을 걸어 보고, 상당히 고생했기 때문에, im2col에 대해 정리하고 싶습니다(자신이 잊을 것 같으니까…).
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(기계 학습에서 만나는 함수【1】numpy.pad(기계 학습의 학습 #4)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/MA-fn/items/17cc7bdbd59700abdc3c
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                 우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
np.pad(array,range,mode(,そのほか))
인수 이름
설명
보충
array
N차원 행렬
범위
각 차원에서 전후의 패딩 범위
mode
임베디드 방식
'constraint'(상수)가 자주 사용
보충
기본값은 패딩 값 = 0입니다.
4. 참조
 5. 예
 실시예 1
a = [[1, 2], [3, 4]]
np.pad(a, [(1, 2), (3, 4)], 'constant')
array([[0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 1, 2, 0, 0, 0, 0],
       [0, 0, 0, 3, 4, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0]])
 사고방식
 
 예 2: im2col
# N: データ数, C: チャンネル数, H: 各画像の幅, W: 各画像の高さ
N, C, H, W = input_data.shape
# 画像データの上下左右に0を1つパディング
img = np.pad(input_data, [(0,0), (0,0), (1, 1), (1, 1)], 'constant')
 6. 사족(다음 번 예고?)
여기까지 썼습니다만, 결국 im2col의 이해 그 자체가 어려웠다고.
「제로 붙는다」 읽고, 스스로 그림을 걸어 보고, 상당히 고생했기 때문에, im2col에 대해 정리하고 싶습니다(자신이 잊을 것 같으니까…).
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(기계 학습에서 만나는 함수【1】numpy.pad(기계 학습의 학습 #4)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/MA-fn/items/17cc7bdbd59700abdc3c
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                 우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
실시예 1
a = [[1, 2], [3, 4]]
np.pad(a, [(1, 2), (3, 4)], 'constant')
array([[0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 1, 2, 0, 0, 0, 0],
       [0, 0, 0, 3, 4, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0]])
사고방식

예 2: im2col
# N: データ数, C: チャンネル数, H: 各画像の幅, W: 各画像の高さ
N, C, H, W = input_data.shape
# 画像データの上下左右に0を1つパディング
img = np.pad(input_data, [(0,0), (0,0), (1, 1), (1, 1)], 'constant')
6. 사족(다음 번 예고?)
여기까지 썼습니다만, 결국 im2col의 이해 그 자체가 어려웠다고.
「제로 붙는다」 읽고, 스스로 그림을 걸어 보고, 상당히 고생했기 때문에, im2col에 대해 정리하고 싶습니다(자신이 잊을 것 같으니까…).
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Reference
                            
                            이 문제에 관하여(기계 학습에서 만나는 함수【1】numpy.pad(기계 학습의 학습 #4)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://qiita.com/MA-fn/items/17cc7bdbd59700abdc3c
                            
                            
                            
                                텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                            
                            
                                
                                
                                 우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
Reference
이 문제에 관하여(기계 학습에서 만나는 함수【1】numpy.pad(기계 학습의 학습 #4)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/MA-fn/items/17cc7bdbd59700abdc3c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)