반응형

전체 글 42

종 분류 알고리즘: DenseNet, GAP에 대하여

왜 다른거 안쓰고 Densenet121을 썼나요? 피쳐 맵이 그대로 보존되고, 적은 수의 파라미터를 요구한다는 장점이 있다고 생각하여 DenseNet을 사용했다. 어떻게 레이어를 수정했나요? pretrain된 densenet121 model에 추가로 6개의 레이어를 넣었다. # keras pretrain densenet121 model def create_model(weights): inp = Input((224, 224, 3)) backbone = DenseNet121(input_tensor=inp, weights= weights, include_top=False) x = backbone.output # fc layer x = GlobalAveragePooling2D()(x) x = Dense(1024..

PyTorch 모델을 C++ 에 빌드 및 컴파일하기

PyTorch 모델을 Python에서부터 C++로 변환하여 빌드 및 컴파일 해보려한다. 맥 환경에서 비주얼 스튜디오를 사용할 수 없기 때문에, VSCode를 사용했다. C++을 빌드하기 위해 해당 블로그를 참고하여 g++로 진행했다. **CLion으로 C++ 빌드하는 것이 VSCode보다 간편하다고 한다! LibTorch 다운로드 pytorch.org/ LibTorch부터 다운로드해서 로컬에서 사용할 수 있게 세팅해야 한다. MacOS에서는 CUDA가 지원되지 않아 아래처럼 나와있다. MacOS Binaries dont support CUDA, install from source if CUDA is needed Libtorch를 다운받은 후, 아래 주소를 참고하여 차근차근 따라해보았다. tutorials..

AI/활용 2021.01.24

[Android] Porting error

오류가 난 이유 정리 1. 이미지 크기의 문제 -> book.jpg 파일은 크기가 너무 크다. (limited size = 224 * 224) 2 .dependencies의 버전 문제 dependencies { implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'org.pytorch:pytorch_android:1.7.0' implementation 'org.pytorch:pytorch_android_torchvision:1.7.0' } 3. quantization 진행시 오류 -> 양자화 과정을 제외시킨 pre-trained 모델을 사용 오류 잡기 위해 시도한 흔적 Unable to start activity ComponentInfo..

Error 2021.01.20

[프로그래머스] (python) 스킬트리2

아이디어 "딕셔너리(인덱스)를 이용해서 스킬이 순서대로 구성됐는지 확인한다." 오류 난 부분 1. list.split(" ") AttributeError: 'list' object has no attribute 'split' 새롭게 알게 된 것 1. dict.keys() , dic.values() 모두 s가 붙는다는 것을 깨달았다..😁😁😁 2. enumerate(x , 1) key값: x index: 1부터 시작 3. if문 검증 순서 예외가 많은 조건이면 False를 기준으로 놓고, else 를 True로 놓는게 오류를 더 잘 잡을 수 있다. ex) if (조건) != False else True 4. cnt 증가로 식 전개가 잘 되는지 아닌지 알 수 있다.

CS/알고리즘 2021.01.16

[프로그래머스] (python) 나머지 한 점

programmers.co.kr/learn/courses/18/lessons/1878 알고리즘 문제 해설 - 나머지 한 점 프로그래머스의 모의테스트는 프로그래머스의 시스템에 익숙해지기 위한 테스트이며, 문제 자체는 2018 1ST KAKAO BLIND RECRUITMENT와 전혀 관계없습니다. 다만 모의테스트의 풀이에 대한 요청이 있어 programmers.co.kr 이번 문제를 풀며 또 든 생각은.. 파이썬은 정말 무궁무진한 기능이 있다는 것.,,...🥺 문제를 풀기 전.. 직사각형의 총 4개의 꼭지점은 x와 y 각각이 2쌍씩 같은 숫자로 이루어 진다고 파악했다. (아래 주석에 써놨듯, 총 좌표의 x와 y 의 개수를 같게 하면 된다는 뜻임) 따라서 두 쌍을 묶었을 때, 비는 숫자를 찾으면 된다고 생각...

CS/알고리즘 2021.01.15

Git 원격(remote) 브랜치 생성 및 local 브랜치 연동

원격 브랜치를 사용하면서 헷갈리는 과정들을 기록해보려 한다. (만일 repo를 clone 했다면, git branch는 clone한 폴더 안에 하는 것이 안정적인 느낌..!) local branch 생성 git branch 사용 할 branch 체크아웃 git checkout remote branch 목록 보기 git branch -r 생성한 local branch를 remote branch 에 추가(붙여넣기) remote branch에 local branch를 붙여넣는 과정이다. 해당 명령어를 입력한 후에 git branch -r 명령어로 잘 추가되었는지 확인해보자! git push origin local branch, remote branch 연동 생성된 branch는 각자가 local 및 remot..

Git 2021.01.07

재귀 함수 구현 (python)

재귀 함수(Recursive Function)란 자기 자신을 다시 호출하는 함수를 의미한다. 파이썬에서는 스택에 값이 계속 쌓아 메모리가 부족해지는 상황이 발생하는 것을 막고자 어느정도 재귀함수를 출력했다 싶으면 최대 재귀 깊이 초과 메세지를 출력한다. 재귀 함수를 사용하는 문제 풀이에서 무한 호출을 방지하기 위해 재귀 함수의 종료 조건을 반드시 명시해야 한다.

CS/자료구조 2020.12.07

큐 자료구조 이론 및 예제 (python)

큐 자료구조 큐는 먼저 들어온 데이터가 먼저 나가는 형식(선입선출)의 자료구조이다. 입구가 출구가 모두 뚫려 있는 터널과 같은 형태로 시각화 할 수 있다. 대기열이라고 생각하면 쉽다. 큐 구현 방법 1) collection 모듈의 deque 객체 활용 큐는 스택과 같이 리스트로 구현할 수 있다. 하지만 리스트로 사용할 경우 pop(0)은 시간복잡도 O(N)를 가지고 있고, popleft()은 시간복잡도 O(1)을 가지고 있다. 따라서 popleft()를 쓰는게 더 효율적이기 때문에 deque를 사용한다. 시간복잡도는 O(1)이다. deque은 'double-ended queue'의 줄임말로서 스택과 큐를 합친 것과 같이 양방향에서 데이터를 삽입 및 추출할 수 있는 자료형이다. deque은 'deck'(덱..

CS/자료구조 2020.12.07

스택 자료구조 이론 및 예제 (python)

파이썬에서 스택을 구현하려면 리스트 자료형을 사용하자 리스트 자료형은 가장 오른쪽에 원소를 삽입하는 append 메소드와 가장 오른쪽에서 원소를 꺼내는 pop 메소드를 지원한다. 이를 이용해서 스택과 같이 사용할 수 있다. append() 와 pop() 의 시간복잡도는 O(1) 이기 때문에 스택 자료구조를 활용하기 적합하다. 파이썬에서는 표준 라이브러리를 사용할 필요 없이 기본적으로 제공되는 객체에 리스트를 이용해서 바로 스택을 구현하면 된다. stack = [] # 삽입(5) - 삽입(2) - 삽입(3) - 삽입(7) - 삭제() - 삽입(1) - 삽입(4) - 삭제() stack.append(5) stack.append(2) stack.append(3) stack.append(7) stack.pop(..

CS/자료구조 2020.12.07

OSI 7계층

OSI(Open System Interconnection) : 개방형 시스템 상호 연결 모델 OSI 모델의 목적 기본적인 하드웨어, 소프트웨어의 변경없이 서로 다른 시스템간에 개방 통신을 위한 것 (계층적 모델의 특징을 갖기 때문에 정보의 변경 없이 통신이 가능하다) OSI 7계층이란? 장치 A부터 장치 B까지 메세지를 전송할 때 연관되는 계층 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것 OSI 7계층을 만든 이유 다양한 네트워크 연결 방식에 대한 호환성 문제를 해결하기 위해 데이터의 흐름이 한눈에 보인다. (데이터가 어떻게 날아가는지 볼 수 있음) 문제 해결이 편리 (어떤 계층에서 문제가 발생했는지 파악이 가능하므로) OSI 7계층 통신 구조 네트워크 지원 계층: 하나의 장치에서 다른 장치로 ..

CS/운영체제 2020.12.07
반응형