반응형
문제 설명
m x m 모양의 2차원 배열 n개가 쌓여 만들어진 데이터와 m x m 모양의 2차원 배열인 필터가 존재합니다. 데이터를 처리할 때는 필터 내 요소를 데이터가 쌓인 개수 n만큼 나눠서 행렬 곱 연산을 합니다. 아래 그림을 예시로 살펴보겠습니다.
- 초기에 2 x 2 모양의 2차원 배열 3개가 쌓인 데이터와 2 x 2 모양의 2차원 배열 필터가 있다.
- 한 개의 2 x 2 필터는 데이터 개수에 맞춰 3개로 복제한다. 이때 필터 내 요소도 데이터 개수만큼 나눈다.
- 한 개의 데이터 당 필터 하나씩 행렬 곱 연산을 한다.
- 연산을 통해 최종 3 x 2 x 2 배열을 도출한다.
numpy.ndarray
타입을 가진 두 배열이 인자로 주어집니다. 하나는 n x m x m 모양을 가진 3차원의 배열 data, 다른 하나는 m x m 모양의 2차원의 배열 data_filter입니다. 위 연산 방식을 참고하여 데이터를 처리하는 함수를 구현하세요.
TIP
해당 문제를 푸는 방법은 두가지입니다.
np.dot()를 사용하는 경우
np.matmul()를 사용하는 경우
두 방법을 각각 구현하며 코드를 작성해보세요.
문제풀이
import numpy as np
import sys
sys.setrecursionlimit(10000)
def solution(data, data_filter):
answer = np.array([])
a,b,c = data.shape
data_filter = (data_filter/a)
data = np.matmul(data,data_filter)
answer = data
return answer
'AI_Bootcamp' 카테고리의 다른 글
4주차 Day16 Linear Regression chap1 (0) | 2022.01.25 |
---|---|
4주차 Day16 딥러닝 기초 및 비전 (0) | 2022.01.25 |
4주차 Day16 Numpy 심화 실습 1 (0) | 2022.01.24 |
Numpy 심화 실습 chap5 브로드캐스팅 3 (0) | 2022.01.21 |
Numpy 심화 실습 chap6 any(),all() (0) | 2022.01.21 |