인공지능을 좋아하는 곧미남

numpy를 이용한 shape 변환 본문

code_study/numpy

numpy를 이용한 shape 변환

곧미남 2022. 5. 10. 16:01

오늘은 list에 저장된 데이터를 numpy array로 변환하고 내가 원하는 shape으로 변환할때 제가 얻은 인사이트를 기록 및 공유하기 위해 작성하겠습니다. 이 글은 추후에 인사이트를 얻으면서 지속적으로 업데이트할 예정입니다.

 

<INDEX>

1. list -> array 변환

2. append, expend

3. array로 index 정하기


일반적으로 object detection coordinate 결과는 (n, 5) cx, cy, w, h, theta shape으로 출력하게 됩니다. 여기서 각 image마다 검출된 결과를 list에 저장하여 한번에 array로 변환하고 나열하기 위한 코드를 설명드리겠습니다.

1. append, expend

우선 array를 list에 저장하기 위해서 빈 list를 하나 생성한 후 각 array를 append or expend로 저장합니다.

2. list -> array 변환

위에서 list에 array type의 객체를 저장했고 이제 그 list를 array로 재변환하는 것은 간단한 내용입니다.

 

각 array를 저장할때 reshape()을 사용하여 원하는 shape으로 변환을 해주고 저장한 뒤 

 

1) list에 array 형태로 저장된 객체들이 각 index에 존재할때 

2) arr1 = np.array(list_변수명)

 

예제

np.array로 list를 변환하면 디멘젼이 추가되면서 해당 데이터들이 속하는 array를 생성해낸다.

3. array로 index 정하기

array2 = [1, 1, 1, 0, 0, 0]

arr2 = array2[array2>0]

arr2에는 [1, 1, 1] 이 남게 된다.

해당 예제는 3, 3, 3 shape인 array에서 마지막 디멘젼을 기준으로 5보다 큰 데이터만 저장하는 array를 생성해보았다.

Comments