본문 바로가기

AI/Framework

(17)
[pip] import cv2 동영상 세팅/읽기/저장 1. 세팅 I also had the same problem with opencv-python-4.6.0.66 I solved this error by just downgrading opencv. you can follow this command. pip install opencv-python==4.5.5.64 AttributeError: partially initialized module 'cv2' has no attribute 'gapi_wip_gst_GStreamerPipeline' (most likely due to a circu This happened out of the blue, I was able to import cv2 but now I get 'AttributeError: partial..
[MMDetection] Config File Structure Config Name Style We follow the below style to name config files. Contributors are advised to follow the same style. {model}_[model setting]_{backbone}_{neck}_[norm setting]_[misc]_[gpu x batch_per_gpu]_{schedule}_{dataset} cascade_mask_rcnn_r101_fpn_1x_coco.py {xxx} is required field and [yyy] is optional. {model}: model type like faster_rcnn, mask_rcnn, etc. [model setting]: specific setting f..
[Detectron2] 설치 pytorch와 cuda 버전이 맞아야 한다. 아래와 같은 버전이 아니라면 설치해도 오류가 난다. 원래 pytorch버전 1.10을 1.7로 낮추어서 시간 엄청 들여서 설치한 cuda10.1에 맞췄다. cuda버전을 다시 높여서 재설치하긴 싫었다. Releases · facebookresearch/detectron2 Detectron2 is FAIR's next-generation platform for object detection, segmentation and other visual recognition tasks. - facebookresearch/detectron2 github.com Requirements Linux or macOS with Python ≥ 3.6 PyTorch ≥ 1.8 an..
[Detectron2] Densepose COCO 데이터셋 Point-based annotations: dp_x and dp_y: image coordinates of the annotated points along the horizontal and vertical axes respectively. The coordinates are defined with respect to the top-left corner of the annotated bounding box and are normalized assuming the bounding box size to be 256x256; dp_I: for each point specifies the index of the fine segmentation chart it belongs to; dp_U and dp_V: po..
[Keras] RNN 구현하기 인자를 사용할 때를 보겠습니다. hidden_size = 은닉 상태의 크기를 정의. 메모리 셀이 다음 시점의 메모리 셀과 출력층으로 보내는 값의 크기(output_dim)와도 동일. RNN의 용량(capacity)을 늘린다고 보면 되며, 중소형 모델의 경우 보통 128, 256, 512, 1024 등의 값을 가진다. timesteps = 입력 시퀀스의 길이(input_length)라고 표현하기도 함. 시점의 수. input_dim = 입력의 크기. RNN 층은 (batch_size, timesteps, input_dim) 크기의 3D 텐서를 입력으로 받습니다. batch_size는 한 번에 학습하는 데이터의 개수를 말합니다. (여기서부터는 텐서의 개념을 반드시 이해해야 하므로 벡터와 행렬 연산 챕터의 텐..
[scikit] LabelEncoder 문자를 숫자(수치화), 숫자를 문자로 매핑 만약 X_test에만 존재하는 신규 클래스를 추가하지 않고 바로 encoder.transform(X_test)를 하면 ValueError!! 모르는 코드를 저장하기 위해 "UNSEEN"클래스를 미리 등록해놓고 처음보는 데이터 출현시 변환할 수 도 있다. ​ ​ 이제 인코더에 등록된 클래스를 조회해봅니다. classes_ 를 조회해보면 0번에 Mobile, 1번에 PC, 2번에 신규 TABLET이 등록되어 있습니다. [ML] LabelEncoder 문자를 숫자(수치화), 숫자를 문자로 매핑 숫치가 아닌 문제를 Deep Learning에서 다루기가 어렵습니다.​숫자로 다루기 위해서 여러 방법이 존재하... blog.naver.com
[keras] model.compile keras Model.compile() 사용 버전 : Python 3.6.8, keras 2.2.4사용 프로그램 : Atom 1.34.0 x64​케라스 Model.compile()에 대... blog.naver.com
[keras]훑어보기 - 컴파일(Compile)과 훈련(Training) compile() : 모델을 기계가 이해할 수 있도록 컴파일 합니다. 오차 함수와 최적화 방법, 메트릭 함수를 선택할 수 있습니다. 위 코드는 임베딩층, 은닉층, 출력층을 추가하여 모델을 설계한 후에, 마지막으로 컴파일 하는 과정을 보여줍니다. optimizer : 훈련 과정을 설정하는 옵티마이저를 설정합니다. 'adam'이나 'sgd'와 같이 문자열로 지정할 수도 있습니다. loss : 훈련 과정에서 사용할 손실 함수(loss function)를 설정합니다. metrics : 훈련을 모니터링하기 위한 지표를 선택합니다. 대표적으로 사용되는 손실 함수와 활성화 함수의 조합은 아래와 같습니다. 더 많은 함수는 케라스 공식문서에서 확인 가능합니다. fit() : 모델을 학습합니다. 모델이 오차로부터 매개 변..
[keras] 훑어보기 - 모델링(Modeling) 1. 전처리(Preprocessing) 2. 워드 임베딩(Word Embedding) 3. 모델링(Modeling) 4. 컴파일(Compile)과 훈련(Training) 5. 평가(Evaluation)와 예측(Prediction) 6. 모델의 저장(Save)과 로드(Load) 3. 모델링(Modeling) Dense()는 한번 사용되었지만 더 많은 층을 추가할 수 있습니다. Dense()의 대표적인 인자를 보겠습니다. 첫번째 인자 = 출력 뉴런의 수. input_dim = 입력 뉴런의 수. (입력의 차원) activation = 활성화 함수. - linear : 디폴트 값으로 별도 활성화 함수 없이 입력 뉴런과 가중치의 계산 결과 그대로 출력. Ex) 선형 회귀 - sigmoid : 시그모이드 함수. 이..
numpy.newaxis 와 reshape numpy라는 유명 라이브러리의 newaxis 요 표현은 무엇이냐? 간단히 이야기 해서 존재하는 numpy array의 차원을 늘려준다 보시면 되겠습니다. 첫번째, 1D array를 row vector나 column vector로 사용하고 싶을 경우지요. 아시다시피 numpy에서 array를 만들면 shape이 .. x자리만 4고 y자리는 공란입니다. vector로 보고 indexing을 한다던지 연산을 한다던지 해도 껄끄러운 상태겠네요. 여기에 아래와 같이 장난을 처봅시다. 그러면 아주 간단하게 해결 됩니다. 두번째, numpy broadcasting이라고 shape이 다른 array간 연산을 할때도 유용합니다. 일단 한번 봐야되니까 아래와 같이 모양이 다른 array끼리 덧셈 한번 해봅시다. 세번째,..
[Keras] np_utils.to_categorical(클래스, 클래스의 개수) np_utils.to_categorical(클래스, 클래스의 개수) 함수 정수 숫자를 -> [0,0,1,0,0,0] 처럼 바꿔서 구분하는 것 이런 변환을 '원-핫 인코딩'이라고 한다.
[Keras] Dense, Fully connected Layer 누구나 이해할 수 있는 딥러닝 - cs231n 5강 (Convolutional Neural Networks, CNN) - cs231n 5강의 내용을 정리한 글입니다. - 최대한 쉽게, cs231n 강의를 스스로 다시 이해하며, 처음 딥러닝을 공부하는 사람들도 쉽게 이해할 수 있게 정리해보았습니다. - 저도 초보인지라 틀리는 cding.tistory.com 신경망 신경망은 위의 그림에서 input -> activation function -> output 연산이 되고 output이 새로운 input이 되는거라고 생각하면 됩니다. 신경망의 기본 함수 형태는 아래와 같습니다. y = f(Wx+b) f() : 활성화 함수 W : 가중치 x : input data y : output data 기본신경망 만들기 t..
[Keras] Sequential model 시작하기 1. 케라스 Sequential 모델 시작하기 2. 입력 형태 지정하기 3. 컴파일 4. 학습 1. 케라스 Sequential 모델 시작하기 2. 입력 형태 지정하기 만들어진 모델은 입력 형태에 대한 정보를 필요로 합니다. 때문에 Sequential 모델의 첫 번째 레이어는 입력 형태에 대한 정보를 받습니다. 두 번째 이후 레이어들은 자동으로 형태를 추정할 수 있기 때문에 형태 정보를 갖고 있을 필요는 없습니다. 형태 정보를 전달하기 위한 방법은 다음과 같습니다. 정수형 또는 None으로 구성된 형태 튜플(shape tuple)의 input_shape 인자를 첫번째 레이어에 전달합니다. 여기서 None은 음이 아닌 어떠한 정수를 받을 수 있음을 의미합니다. 참고로 input_shape에는 배치 차원은(b..
Tensorflow vs Keras / 딥러닝 프레임워크 keras와 tensorflow 차이점 ​ keras는 using tensorflow backend 라고 한다. 케라스는 텐서플로우를 백엔드로 사용하고 있다. keras는 tensorflow보다 사용자 입장에서 친말한 프레임워크이다. keras의 내부 모듈는 tensorflow를 기반으로 사용할 수 있다. ​ keras VS tensorflow는 사과 VS 바나나의 관계가 아니다. ​
Tensorflow vs Keras
[Keras] set_image_dim_ordering Versions: Keras - 2.3.1 TensorFlow - 1.14
[CNN] lenet-5 LeNet은 CNN을 처음으로 개발한 얀 르쿤(Yann Lecun) 연구팀이 1998년에 개발한 CNN 알고리즘의 이름이다. original 논문 제목은 "Gradient-based learning applied to document recognition"이다. 우선 LeNet-5의 구조를 살펴보자. 그림1에서 볼 수 있듯이 LeNet-5는 인풋, 3개의 컨볼루션 레이어(C1, C3, C5), 2개의 서브샘플링 레이어(S2, S4), 1층의 full-connected 레이어(F6), 아웃풋 레이어로 구성되어 있다. 참고로 C1부터 F6까지 활성화 함수로 tanh을 사용한다. [CNN 알고리즘들] LeNet-5의 구조 LeNet-5 => https://bskyvision.com/418 AlexNet => ..