본문 바로가기

728x90
반응형

전체 글

(163)
[Keras] Keras 내장 모델 불러오기 또는 모델 구조만 불러오기 Dacon 대회에 참여 할 때 높은 정확도를 추출하고자 증명된 모델을 사용하고자 했다. 하지만 대회 규정에는 이미 학습된 모델을 사용하는 것은 위반이기 때문에 모델 구조만 가져오는 법을 찾다가 정리 또는 기록 겸 글을 작성한다. 모델 구조만 불러오는 방법과 학습된 모델를 불러오는게 별 차이가 없어서 같이 기록하려고 한다. Keras에는 기본적으로 ImageNet 데이터셋에 대해 학습된 모델을 제공해주고 있다. 사용 가능한 모델은 다음과 같다. Xception VGG16, VGG19 ResNet, ResNetV2, ResNeXt InceptionV3 MobileNet DenseNet NASNet 이제 위 모델을 불러올 때 1)학습된 모델 또는 2)모델 구조만 불러오는 방법을 알아보자. 1) import i..
[vi/vim] vi/vim 명령어 깔끔하게 정리 vi는 가벼운 텍스트 데이터라서 서버에서 간단한 텍스트 수정 작업을 할 때 자주 사용한다. 그래서 Unix에서는 vi editor가 기본으로 설치되어 있어 자주 사용하고 Linux도 vi가 있지만, vi를 개선한 vim editor를 사용한다. 두 가지 모드로 명령 모드와 입력 모드가 있는데 입력 모드는 단어 뜻 그대로 사용자가 키보드를 통해 입력을 하는 모드이고 명령 모드는 vi/vim editor의 명령어를 통해 커서를 이동하거나 복사 또는 삭제하고 저장 또는 종료를 한다. 커서 이동 명령 h 왼쪽으로 한 칸 이동 j 아래로 한 칸 이동 k 위로 한 칸 이동 l 오른쪽으로 한 칸 이동 $ 줄 끝으로 이동 0 (zero) 줄 앞으로 이동 ^ 줄 앞의 첫 문자로 이동 w 다음 단어로 이동 b 이전 단어로..
[MAC] M1칩 Homebrew 설치 - path 설정 필수! MAC에서 homebrew를 설치하면 다른 tool을 쉽게 설치하고 버전 관리할 수 있다. 그런데 M1칩을 가지고 있는 MAC에서 homebrew 설치 시 /opt/homebrew에 있기 때문에 기존 intel칩의 경로인 /usr/local/...와 다르기 때문에 path를 맞춰야 한다. 그래서 위에 말한 이슈를 해결하면서 설치해보자. 1. homebrew 설치 $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 2. path 설정(환경 변수) vi 에디터로 파일 열기 $ vi ~/.zshrc i를 눌러 index mode로 들어가 맨 밑에 추가 export "PATH=/opt/ho..
[CV] 데이터를 학습 데이터와 검증 데이터로 분류하기 - train, validation test 데이터셋으로 자주 활용해 정확도를 올리다보면 범용성 있는 모델이 만들어지지 않는다. 그래서 여러가지 이유가 있지만 위와 같은 이유로 검증 데이터(validation datas)를 만들어 학습 과정에서 제대로 학습이 됐는지 확인한다. 우리는 sklearn 라이브러리에 있는 train_test_split() 메소드를 이용해 학습 데이터에서 검증 데이터를 분리하겠다. from sklearn.model_selection import train_test_split train_test_split()을 import 하기 위해 다음과 같이 선언해준다. 그런 다음에 학습 데이터에서 분리를 해야 하는데 학습 데이터를 만드는 방법을 모르겠다면 링크에서 csv에 있는 데이터를 로드할 수 있다. 어쨋든 학습 데이터가 ..
[CSV] csv에 담겨 있는 정보로 이미지 파일을 이미지 데이터로 load하기 데이터셋으로 디렉토리 하나가 주어지는데 그 안에 이미지 파일과 이미지 파일명과 label이 정리된 csv 파일이 있다. 그래서 이미지 데이터로 만들기 위해 csv 파일을 읽어 파일명과 label의 index를 갖게 해줘야 한다. 그러기 위해서 우리는 다음과 같은 라이브러리를 사용한다. 필요한 라이브러리 import numpy as np import pandas as pd from PIL import Image csv 파일 로드 train_dir = "data/train/" test_dir = "data/test/" train_csv = pd.read_csv(train_dir + "train_data.csv") test_csv = pd.read_csv(test_dir + "test_data.csv") 위에..
[Python] 백준 12851번 문제, 숨바꼭질 2 https://www.acmicpc.net/problem/12851 12851번: 숨바꼭질 2 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net 수빈이가 동생과 숨바꼭질 하고 있는데 수빈이가 동생을 찾는 가장 빠른 시간이 몇 초 후이며, 가장 빠른 시간으로 찾는 방법이 몇 가지인지 구하는 문제이다. 수빈이가 X(0 ≤ X ≤ 100,000)에 있다고 가정 했을 때, 1초에 { X-1, X+1, 2X }으로 이동할 수 있다. 이렇게 몇 초후에 동생이 있는 K(0 ≤ K ≤ 100,000)에 도달하는지 구..
[Android] onClick()으로 팝업 메뉴 활성화 팝업 메뉴는 OnClick() 리스너로 활성화 또는 비활성화 시키고 inflater 객체의 setOnMenuItemClick()로 적절한 이벤트를 추가할 수 있다. xml에서 onClick 속성을 사용해서 팝업 메뉴를 활성화할 수 있지만, 본 실습에서는 그렇게 하지 않았다. ibtReply는 실행 예시에 맨 아래에 있는 이미지 버튼이다. 이 이미지 버튼에 onClick 리스너를 추가해 클릭이 된다면 inflate()로 팝업 메뉴를 활성화해준다. 그런 다음 활성화된 팝업 메뉴에 대한 클릭 이벤트를 추가하기 위해 popup.setOnMenuItemClick()을 작성해야 하는데 매개변수로 클릭된 item 정보가 넘어오기 때문에 switch문에서 item.getItemId()로 item의 id를 찾아 id에 ..
[Android] Context Menu의 두 가지 모드 - Floating, Action Context Menu는 두 가지 방법으로 구현할 수 있는데 플로팅(Floating) 방식과 액션(Action) 방식이 있다. Context Menu는 Long 클릭 시 개별 뷰를 동작시키거나 갤러리와 이메일 앱처럼 평소에는 보이지 않다가 Long 클릭 시 여러 개의 체크 박스가 나오면서 선택할 수 있게 하기 위해 사용된다. 그래서 플로팅 방식은 Long 클릭 시 메뉴바를 기준으로 Context Menu가 생성되고 액션 방식은 Long 클릭 시 액션바(상단바)에 Context Menu가 생성된다. Floating Mode 플로팅 방식은 옵션 메뉴에서 구현했던 방법과 유사해서 간단하다. 이벤트 리스터 부분이 거의 비슷해 메소드명만 다르고 onCreateContextMenu()에서 여러 뷰가 적용될 수 있기..

728x90
반응형