본문 바로가기

AI19

pycocotools 패키지 설치 오류 coco dataset을 확인하기 위해서 pycocotools 라는 패키지가 필요하다. 그런데 해당 패키지를 설치하는 도중 에러가 발생하였다. 해결책1. git을 통해서 다운로드 가장 많이 나오는 해결책이다. 아래 명령어를 통해서 패키지를 받는다. 하지만 나는 여기에서도 오류가 발생하였다. pip3 install "git+https://github.com/philferriere/cocoapi.git#egg=pycocotools&subdirectory=PythonAPI" 해결책2. pip install pycocotools-windows 윈도우 환경에서 사용하기 때문에 이런식으로 설치하는 것이다. 하지만 나는 이것도 실패… 해결책3. github 파일 수정 git clone https://github.co.. 2023. 8. 7.
coco-dataset 다운로드 오류 coco dataset을 활용한 코드를 확인해보고자 해당 데이터셋을 다운로드 하는 방법을 구글링하였더니 아래와 같이 해야 한다고 찾을 수 있었다. wget http://images.cocodataset.org/zips/train2017.zip 그러나 이 방법으로 진행 했을 때, 다음과 같은 에러가 출력되었다. 'wget'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 이것은 윈도우 환경에서는 wget을 직접 설치해줘야 하기 때문에 발생하는 에러이다. 아래 사이트에서 본인 환경에 맞는 최신 버전을 다운받아주면 된다. wget.exe 파일은 실행하지 않고, C드라이브-Windows-System32 폴더 안으로 이동시키면 된다. https://eternallybored... 2023. 8. 7.
머신러닝 프로세스 다변량 데이터 다변량 데이터에서 보통 X값은 원인, Y값은 결과로 볼 수 있으며 경우에 따라서 그 이름은 아래와 같이 다양하게 쓰인다. X(원인): 독립변수, 예측변수, 입력변수 Y(결과): 종속변수, 반응변수, 출력변수 예측 모델링 아래 그림과 같이 X1, X2와 Y가 포함된 데이터 테이블이 있다고 가정하자. 어떤 모델, 즉 함수는 X라는 input을 받아 Y라는 output을 내뱉는 형태를 띄게 된다. 데이터 테이블에 따르면 X1 = 0, X2 = 2를 넣었을 때 Y는 2가 나온다. 또한 X1 = 1, X2= 3을 넣으면 Y는 4가 나온다. 따라서 Y=X1+X2라는 함수를 만들 수 있고 이것이 예측 모델링 방법의 기초가 된다. X1 X2 Y 0 2 2 1 3 4 2 4 6 3 5 8 $Y = X_1 .. 2023. 8. 1.
파이토치(PyTorch) - Data Sets & Data Loaders Data Sets & Data Loaders PyTorch가 제공하는 데이터 형식 torch.utils.data.DataLoader torch.utils.data.Dataset Dataset은 샘플과 레이블을 저장하고, DataLoader는 Dataset을 감싸서 이를 iterable로 만들어 샘플에 쉽게 access할 수 있게 한다. PyTorch의 domain library들은 (ex. Fashion-MNIST) 사전에 로드된 데이터셋을 제공한다. 이 데이터셋들은 torch.utils.data.Dataset을 상속하며 특정 데이터에 대한 함수를 구현한다. 이러한 데이터셋은 모델을 프로토타입하고 벤치마킹 하는데 사용 할 수 있으며, Image, Text, Audio 등의 데이터셋들이 있다. Loadin.. 2023. 6. 27.
Rejection Sampling을 통한 Beta 분포 확률변수 생성 Rejection sampling을 사용하여 Beta (α, β); α=6, β=4 분포로부터의 확률변수 값 1000개를 모의 생성하여 평균, 표준편차 및 히스토그램을 나타내는 파이썬 코드 실습 import numpy as np import matplotlib.pyplot as plt from scipy.stats import beta # hyper parameters num_samples = 1000 a, b = 6, 4 x = np.linspace(0, 1, num_samples) # target / proposal distribution target_dist = beta.pdf(x, a, b) proposal_dist = [np.random.uniform(0,1)*3 for _ in range(nu.. 2023. 6. 8.
파이썬(Python) - Iterator 사용하기 Iterator란? Iterator는 값을 차례대로 꺼낼 수 있는 객체(Object)이다. 예를 들어 for i in range(100): 구문에서는 0~99 까지의 연속된 숫자를 보여주는데, 사실 숫자를 모두 만드는 것이 아니라 0~99 까지 값을 차례대로 꺼낼 수 있는 iterator를 만든 후 이를 반복하면서 숫자를 하나씩 꺼내는 것이다. 만약 연속된 숫자를 미리 만들면 숫자가 적을 때는 상관 없지만, 아주 많을 때는 메모리를 많이 사용하게 되어 성능에 불리해진다. 그래서 파이썬에서는 iterator만 생성하고 값이 필요한 시점이 되었을 때 값을 만드는 방식을 사용한다. 즉, 데이터 생성을 뒤로 미루는 것이며 이러한 방식을 지연 평가 (lazy evaluation) 이라고 한다. Iterable이란.. 2023. 5. 30.
Deep Neural Network (DNN) Deep Neural Network (DNN) DNN은 MLP에서 다소 확장된 개념으로 다수의 hidden layer를 가지고 있는 인공신경망이다. 즉, DNN에서 “Deep”은 hidden layer가 많다는 의미이다. Layer수가 많아지면서 데이터의 feature(특징)를 더 잘 추출할 수 있다. 아래 그림에서 각 원은 노드(Node)라고 부르는데, Input Node는 Input data의 변수의 수가 되며 Hidden Layer와 Node는 사용자가 지정해야 할 Hyperparameter, 그리고 Output Node의 수는 풀고자 하는 문제에 따라 달라진다. 예를 들어 숫자를 구분하는 문제라면 0~9까지 총 10개로 구분 가능하므로 Output Node의 수는 10이 된다. MPL 소개 : h.. 2023. 5. 17.
퍼셉트론(perceptron)과 Multilayer Perceptron(MLP) 퍼셉트론 (perceptron) 퍼셉트론이란? 퍼셉트론은 Frank Rosenblatt가 1957년에 고안한 알고리즘이다. 다수의 신호를 입력받아 하나의 신호를 출력하는 feedforward 형태의 네트워크로 선형분류기로도 볼 수 있다. 인간의 뉴런은 dendrite를 통해 입력 받은 신호가 어떠한 임계치(threshlod)를 넘어서면 활성화(activate)되는 동작을 하는데 이 현상을 컴퓨터로 구현한 것이 퍼셉트론이다. 퍼셉트론의 개념을 도식화하면 다수의 입력 값 $x$가 있을 때, 중요도에 따라 각각의 입력 값에 $w$(weight)를 곱해 준 후 bias를 더한다. 그 결과 값들을 모두 더하여 하나의 값($z)$으로 만든다. 마지막으로 $z$값을 0과 1로 반환해 줄 수 있는 활성 함수(Activ.. 2023. 5. 16.