전체 글
Junior research engineer, AI/CV 분야 커리어 및 관련 공부에 관한 글을 포스팅합니다.
-
처음 딥러닝 개론에서 CNN에 대한 개념을 들은 이후, 여러 강의에서 CNN에 대한 언급이 많고 그 배경지식을 요구하는 내용이 많아 CNN에 대한 개념을 정확히 짚어놓아야겠다는 생각이 들어 따로 포스팅합니다. 1. CNN이란? Computer vision 분야에서 널리 사용되는 딥러닝 신경망 모델입니다. convolutional layer와 pooling layer를 통해 이미지를 픽셀 단위로 받아들여 그 특징들을 파악합니다. 그림에서 C1 으로 넘어갈 때 첫 번째 convolutional layer에서 padding이 적용되지 않은 $ n \times n \times 6 $ 인 filter가 사용되었음을 확인할 수 있습니다. 이게 대체 무슨말인지 용어를 같이 살펴보겠습니다. 2. 용어 ▶Convolut..
[딥러닝] CNN처음 딥러닝 개론에서 CNN에 대한 개념을 들은 이후, 여러 강의에서 CNN에 대한 언급이 많고 그 배경지식을 요구하는 내용이 많아 CNN에 대한 개념을 정확히 짚어놓아야겠다는 생각이 들어 따로 포스팅합니다. 1. CNN이란? Computer vision 분야에서 널리 사용되는 딥러닝 신경망 모델입니다. convolutional layer와 pooling layer를 통해 이미지를 픽셀 단위로 받아들여 그 특징들을 파악합니다. 그림에서 C1 으로 넘어갈 때 첫 번째 convolutional layer에서 padding이 적용되지 않은 $ n \times n \times 6 $ 인 filter가 사용되었음을 확인할 수 있습니다. 이게 대체 무슨말인지 용어를 같이 살펴보겠습니다. 2. 용어 ▶Convolut..
2022.07.25 -
딥러닝 모델 실험을 위해 wandb를 사용하려고 낑낑대던 중 아래와 같은 오류를 마주했는데, wandb permision denied 를 구글링해서 찾은 여러가지 방법 (삭제 및 재설치, 가상환경 다시 만들어서 깔아보기 등등..) 들로는 해결되지 않아 포기하려는 찰나 금손과 같은 조장님의 도움으로 해결하여 기록해봅니다. 😉 가상환경 내에서도 밖에서도 설치는 잘만 되는데 같은 에러가 떠서 셋팅 문제인줄로만 알았는데.. 권한 문제였습니다 .config 폴더의 rwx 권한을 모두 허용해주면 wandb.login() 이 잘 됩니다.. 해결돼서 기쁜데 허무한 이기분 뭘까..?
[해결] wandb login 중 permision denied 에러 해결하기딥러닝 모델 실험을 위해 wandb를 사용하려고 낑낑대던 중 아래와 같은 오류를 마주했는데, wandb permision denied 를 구글링해서 찾은 여러가지 방법 (삭제 및 재설치, 가상환경 다시 만들어서 깔아보기 등등..) 들로는 해결되지 않아 포기하려는 찰나 금손과 같은 조장님의 도움으로 해결하여 기록해봅니다. 😉 가상환경 내에서도 밖에서도 설치는 잘만 되는데 같은 에러가 떠서 셋팅 문제인줄로만 알았는데.. 권한 문제였습니다 .config 폴더의 rwx 권한을 모두 허용해주면 wandb.login() 이 잘 됩니다.. 해결돼서 기쁜데 허무한 이기분 뭘까..?
2022.07.22 -
환경 Python 3.8 Clodsa 1.2.38 Tensorflow 2.8.0 하고 싶은 것: 1280*1024 size의 segmentation이 되어있는 이미지를 label을 유지시키면서 변환하기 의도한 것: 회전이나 크롭은 바라지도 않고 flip만 시키고 싶었음.. 에러: 한 사진 당 label 개수가 2개 이상이기 때문에 annotation 개수와 사진 개수가 맞지 않다고 한다 라벨을 줄일 수도 없고.. ? termination 이유: mmdetection model을 뜯어보니 자동으로 data augmentation을 해주는 것을 깨달아서 clodsa 라이브러리는 사용하지 않아도 될 것 같다ㅎ
[termination] data augmentation - 가지고 있는 데이터셋에 맞춰 clodsa library 사용해보기환경 Python 3.8 Clodsa 1.2.38 Tensorflow 2.8.0 하고 싶은 것: 1280*1024 size의 segmentation이 되어있는 이미지를 label을 유지시키면서 변환하기 의도한 것: 회전이나 크롭은 바라지도 않고 flip만 시키고 싶었음.. 에러: 한 사진 당 label 개수가 2개 이상이기 때문에 annotation 개수와 사진 개수가 맞지 않다고 한다 라벨을 줄일 수도 없고.. ? termination 이유: mmdetection model을 뜯어보니 자동으로 data augmentation을 해주는 것을 깨달아서 clodsa 라이브러리는 사용하지 않아도 될 것 같다ㅎ
2022.07.21 -
1. 구조와 용도 방대한 데이터를 고정된 길이로 변환하는 기능을 말합니다. 키key에 데이터data를 저장하는 데이터 구조이며, 키를 통해 데이터를 바로 받아올 수 있어 획기적으로 속도가 빠른 자료구조입니다. 파이썬에서는 dictionary type과 방식이 같으므로 별도의 구현 없이 딕셔너리를 사용하면 됩니다. 검색이 많이 필요한 경우, 저장과 삭제 및 읽기가 빈번한 경우, 웹 프로그래밍 시 캐쉬의 구현(중복 확인)이 필요한 경우에 사용합니다. 2. 용어 Hash 해쉬: 임의의 값을 고정 길이로 변환하는 것 Hash table 해쉬 테이블: 키 값의 연산에 의해 직접 접근이 가능한 데이터구조 Hashing Function 해싱 함수: 키에 대해 산술연산을 이용해 데이터 위치를 찾을 수 있는 함수 혹은 ..
[자료구조] 해쉬 테이블 (Hash table)1. 구조와 용도 방대한 데이터를 고정된 길이로 변환하는 기능을 말합니다. 키key에 데이터data를 저장하는 데이터 구조이며, 키를 통해 데이터를 바로 받아올 수 있어 획기적으로 속도가 빠른 자료구조입니다. 파이썬에서는 dictionary type과 방식이 같으므로 별도의 구현 없이 딕셔너리를 사용하면 됩니다. 검색이 많이 필요한 경우, 저장과 삭제 및 읽기가 빈번한 경우, 웹 프로그래밍 시 캐쉬의 구현(중복 확인)이 필요한 경우에 사용합니다. 2. 용어 Hash 해쉬: 임의의 값을 고정 길이로 변환하는 것 Hash table 해쉬 테이블: 키 값의 연산에 의해 직접 접근이 가능한 데이터구조 Hashing Function 해싱 함수: 키에 대해 산술연산을 이용해 데이터 위치를 찾을 수 있는 함수 혹은 ..
2022.07.19 -
tf.keras 를 활용해 1.x에서 사용했던 데이터셋인 MNIST를 사용하여 같은 classification이지만 훨씬 간단하게 구현할 수 있었습니다. 특히 사용자가 일일이 tf.Session() 을 통해 실행 후 종료시켜줘야했던 것과 달리 2.x에서는 간단하게 실행한 후 신경쓰지 않아도 됩니다. keras에서 구현할 수 있는 모델에는 두 가지 종류가 있습니다. sequential : 레이어를 순차적으로 구현할 수 있어 이해하기에 직관적이고 따라서 에러가 적습니다. functional : 함수형 API에서는 레이어가 중간에 두 개로 갈라진다거나 하는 등 모델이 복잡할 때 활용할 수 있습니다. 복습 코드 링크 1. 데이터 전처리 - keras에서 datasets에서 불러올 수 있는 MNIST set을 각..
[딥러닝] Tensorflow 2.x 실습tf.keras 를 활용해 1.x에서 사용했던 데이터셋인 MNIST를 사용하여 같은 classification이지만 훨씬 간단하게 구현할 수 있었습니다. 특히 사용자가 일일이 tf.Session() 을 통해 실행 후 종료시켜줘야했던 것과 달리 2.x에서는 간단하게 실행한 후 신경쓰지 않아도 됩니다. keras에서 구현할 수 있는 모델에는 두 가지 종류가 있습니다. sequential : 레이어를 순차적으로 구현할 수 있어 이해하기에 직관적이고 따라서 에러가 적습니다. functional : 함수형 API에서는 레이어가 중간에 두 개로 갈라진다거나 하는 등 모델이 복잡할 때 활용할 수 있습니다. 복습 코드 링크 1. 데이터 전처리 - keras에서 datasets에서 불러올 수 있는 MNIST set을 각..
2022.07.16 -
시도해보려는 프로젝트의 이미지 크기가 어마어마해서 GPU로 해보려고 이것저것 시도해보는 중..입니다만 cuda 버전에 맞는 torch를 잘 설치해주어야 한다 에서 실패한 것 같다? 가 아니라, 이 링크 를 보고 설치한지라 mps로 사용하려고 설치했던 것이 기억이 났습니다. 설치할 때 무엇을 염두에 두고 진행했는지 항상 기억 혹은 기억해두어야겠습니다 ^^ 🔥
(해결) M1 Mac에서 GPU를 사용해 pytorch 사용하기시도해보려는 프로젝트의 이미지 크기가 어마어마해서 GPU로 해보려고 이것저것 시도해보는 중..입니다만 cuda 버전에 맞는 torch를 잘 설치해주어야 한다 에서 실패한 것 같다? 가 아니라, 이 링크 를 보고 설치한지라 mps로 사용하려고 설치했던 것이 기억이 났습니다. 설치할 때 무엇을 염두에 두고 진행했는지 항상 기억 혹은 기억해두어야겠습니다 ^^ 🔥
2022.07.15 -
강의 복습+새로운 CV 수업진도+ 스터디까지 눈코 뜰새 없지만 놓칠 수 없는 자료구조 공부입니다.. 배열 포스팅을 간단하게 넘어간 느낌이 없지 않아서 링크드리스트는 열심히 해보는걸로..^^🔥 배열: 미리 연결된 공간을 예약해놓고 쓰는 구조 링크드리스트: 미리 예약할 필요 없이, 필요할 때마다 추가가 가능 위와 같이, 링크드리스트는 배열의 단점을 극복한 자료구조 입니다. 1. 구조와 용어 ▶ 노드: 데이터의 저장 단위, 데이터 + 포인터(다음 데이터를 가리키는 주소)로 구성 ▶ 포인터: 각 노드 안에서 다음이나 이전의 노드와의 연결 정보를 가지고 있는 공간 그림과 같이 링크드리스트의 특징은 데이터의 끝에서 다음 데이터를 가리키는 포인터가 존재한다는 점입니다. 이를 가지고 있기 때문에 구조의 확장이 자유롭게..
[자료구조] LinkedList 링크드리스트강의 복습+새로운 CV 수업진도+ 스터디까지 눈코 뜰새 없지만 놓칠 수 없는 자료구조 공부입니다.. 배열 포스팅을 간단하게 넘어간 느낌이 없지 않아서 링크드리스트는 열심히 해보는걸로..^^🔥 배열: 미리 연결된 공간을 예약해놓고 쓰는 구조 링크드리스트: 미리 예약할 필요 없이, 필요할 때마다 추가가 가능 위와 같이, 링크드리스트는 배열의 단점을 극복한 자료구조 입니다. 1. 구조와 용어 ▶ 노드: 데이터의 저장 단위, 데이터 + 포인터(다음 데이터를 가리키는 주소)로 구성 ▶ 포인터: 각 노드 안에서 다음이나 이전의 노드와의 연결 정보를 가지고 있는 공간 그림과 같이 링크드리스트의 특징은 데이터의 끝에서 다음 데이터를 가리키는 포인터가 존재한다는 점입니다. 이를 가지고 있기 때문에 구조의 확장이 자유롭게..
2022.07.13 -
in Python: list, tuple 배열은 같은 종류의 데이터를 효율적으로 관리하기 위해 사용하는 기본적인 자료구조입니다. 데이터들을 연결된 공간에 저장하되, 순서를 유지한 채 저장됩니다. 장점 ▶인덱스를 통해 빠른 접근 가능 단점 ▶배열의 사이즈를 미리 설정해주어야 함 = 연관된 데이터의 추가가 어렵다 ▶데이터를 추가 혹은 삭제가 쉽지 않다 강의 내용 자체가 길지 않아서 이어드림스쿨 4월에 배웠던 list 기초 수업내용 추가해보겠습니다. ar1 = [10,20,30,40,50] ar2 = [80] #list 끝에 값 추가 - append ar.append(60) #특정 위치에 값 추가 - insert, 0번 위치에 5를 삽입 ar.insert(0,5) #리스트 간 덧셈 (연결)이 가능하다 ar1 ..
[자료구조] 배열 (array)in Python: list, tuple 배열은 같은 종류의 데이터를 효율적으로 관리하기 위해 사용하는 기본적인 자료구조입니다. 데이터들을 연결된 공간에 저장하되, 순서를 유지한 채 저장됩니다. 장점 ▶인덱스를 통해 빠른 접근 가능 단점 ▶배열의 사이즈를 미리 설정해주어야 함 = 연관된 데이터의 추가가 어렵다 ▶데이터를 추가 혹은 삭제가 쉽지 않다 강의 내용 자체가 길지 않아서 이어드림스쿨 4월에 배웠던 list 기초 수업내용 추가해보겠습니다. ar1 = [10,20,30,40,50] ar2 = [80] #list 끝에 값 추가 - append ar.append(60) #특정 위치에 값 추가 - insert, 0번 위치에 5를 삽입 ar.insert(0,5) #리스트 간 덧셈 (연결)이 가능하다 ar1 ..
2022.07.13