경기도 인공지능 개발 과정/Python 38

[Python] AutoEncoder를 활용한 image-search-engine (이미지 유사도 검증)

GitHub - luchonaveiro/image-search-engine: Compare two different image search engine approaches developed with Deep Learning algorithms GitHub - luchonaveiro/image-search-engine: Compare two different image search engine approaches developed with Deep Learning alg Compare two different image search engine approaches developed with Deep Learning algorithms - GitHub - luchonaveiro/image-search-eng..

[AIFB] matplolib, seaborn 시각화

Python 활용한 데이터 전처리/시각화 Chapter 2. 데이터 시각화 데이터 시각화는 데이터 분석과정에서 매우 중요한 부분입니다. 프로젝트 초기 단계 또는 리포팅 단계에서의 탐색적 데이터 분석(EDA)의 일환으로 결과를 다른 사람과 공유할 때 유용합니다. 또한 데이터를 시각화 하면 값의 분포나 값 사이의 관계를 확인하고 모델링을 위한 가설 도출을 하는데 도움이 됩니다. 1. Matplotlib 라이브러리 Matplotlib 개요 Matplotlib는 파이썬에서 데이터를 차트나 플롯(Plot)으로 그려주는 가장 많이 사용되는 데이터 시각화(Data Visualization) 패키지로 라인 plot, 바 차트, 파이차트, 히스토그램, Box Plot, Scatter Plot 등을 비롯하여 다양한 차트와..

[AIFB] pandas 기초 전처리

Chapter 1. DataFrame 살펴보기 1. DataFrame이 뭔가요? DataFrame은 2차원(col과 row을 가짐)테이블 데이터 구조를 가지는 자료형 Data Analysis, Machine Learning에서 data 변형을 위해 가장 많이 사용 주의 : Series나 DataFrame은 대소문자가 구분되므로 Series, DataFrame으로 사용 In [1]: # pandas import import pandas as pd 1-1. DataFrame 만들어 보기 Dictionary 형으로 생성 In [2]: a1 = pd.DataFrame({"a" : [1,2,3], "b" : [4,5,6], "c" : [7,8,9]}) a1 Out[2]: abc012 1 4 7 2 5 8 3 6 ..

[Python] Image segmentation 실습

# 이미지 분할 (Segmentation) # 이미지 분할 : 이미지를 구성하는 모든 픽셀에 대하여 픽셀 단위로 분류하는 것. # 예) 배경 클래스와 객체 클래스로 구성된 이미지가 있다면, # 모든 픽셀은 배경 또는 객체 중 하나로 분류된다. # 이렇게 모든 픽셀에 대한 정답 클래스를 레이블 처리한 데이터셋을 가지고, # 딥러닝 모델을 훈련시키면 정답 클래스를 알지 못하는 새로운 이미지에 대해서도 배경과 객체를 분리할 수 있다. # 이미지 분할의 종류 # 의미 분할(Semantic Segmentation) : 같은 범주의 여러 객체를 하나의 범주로 묶어서 구분 # 인스턴스 분할 (Instance Segmentation) : 같은 범주에 속하더라도 서로 다른 객체로 구분하는 개념 # Mask R-CNN 논..

[Python] Simple YoLo 실습

# 나만의 YOLO 모델 생성 # Darknet 수준의 YOLO 모델을 개인이 학습하기에는 # 컴퓨터 리소스도 많고, 시간도 너무 많이 걸린다는 점. # 검은색 바탕에 간단한 도형3개만 탐지하는 YOLO 모델을 구현 # YOLO 논문에서는 이미지를 가로 세로 각 7개의 셀로 나누어 총 49개의 셀을 기본으로 하지만, # 우리는 가로 세로 3개의 셀로 나누는 방식으로 문제를 단순화. # 논문에서는 한 셀당 2개의 박스를 그리지만, # 우리는 한 셀당 1개의 박스를 그리는 방식으로 수정. # 마지막 탐지할 객체의 종류인 Class도 3개로 줄여서 구현 In [1]: # 필요한 패키지를 임포트 함 import tensorflow as tf import numpy as np import cv2 from goog..

[python] 텐서플로 object_detection 실습

import In [ ]: import tensorflow as tf # tensorflow import tensorflow_hub as tfhub # tensorflow hub Data In [ ]: # 샘플 이미지 다운로드 # 위키디피아에서 제공하는 강남 지역의 거리 사진을 다운로드 후, 모델의 입력 형태에 맞게 전처리 img_path = 'https://upload.wikimedia.org/wikipedia/commons/thumb/c/c4/Gangnam_Seoul_January_2009.jpg/1280px-Gangnam_Seoul_January_2009.jpg' img = tf.keras.utils.get_file(fname='gangnam', origin=img_path) img = tf.io...

[Ptyhon] 딥러닝 활성화 함수, 가중치 정리

활성화 함수 (1) 뇌세포의 출력값 - 뇌세포는 항상 일정한 크기의 값을 출력함 (0 or 1) - 뇌세포의 출력물은 디지털 신호로 간주할 수 있음 (1) Sigmoid 함수 - 입력값을 0부터 1사이의 값으로 출력 (2) Tanh 함수 - -1 부터 1사이값으로 다듬어주며 입력값이 작을수록 -1에 가까운 값을 출력하고 입력값이 크면 1에 가까운 값을 출력하게 된다. 음수값을 사용하지 않으려는 추세가 등장하면서 선호도가 낮아짐 (3) ReLU 함수 - 0보다 작은값을 0으로 만들고, 0보다 큰 값은 그대로 출력한다. - 렐루는 뉴런의 활동을 모사하기 보단, 기울기 소실 문제(vanishing gradient problem)을 해결하기 위한 방법으로 조명됨 - 기울기 소실문제 : 딥러닝 신경망의 가중치 수..

[Python] AIFB 강의(가입정보를 활용한 고객 데이터 분석)

0. 개요 가. 패키지 설치 및 라이브러리 호출 In [16]: import warnings # 불필요한 경고 출력을 방지합니다. warnings.filterwarnings('ignore') import subprocess import sys import pandas as pd import numpy as np import pickle import hashlib def install(package): subprocess.check_call([sys.executable, "-m", "pip", "install", package]) install("folium") install("seaborn") install("xgboost") 나. 강의 목차 1.데이터 수집 2.데이터 전처리 3.데이터 시각화 4.모델링..

[Python] 텐서플로 손실곡선, 드롭아웃, 모델저장

import tensorflow as tf # 실행마다 동일한 결과 얻기 위한 랜덤시드 적용 tf.keras.utils.set_random_seed(42) # 텐서플로 연상을 결정적으로 만든다. # 시작부분 입력 tf.config.experimental.enable_op_determinism() 손실곡선 In [ ]: from tensorflow import keras from sklearn.model_selection import train_test_split In [ ]: (train_input, train_target), (test_input, test_target) = keras.datasets.fashion_mnist.load_data() Downloading data from https://s..

[Python] 텐서플로_Pooling

텐서플로 Pooling 풀링 레이어는 플래튼 이후에 사용되는 가중치의 개수를 적게 유지하기 위해 입력으로 사용할 칼럼 수를 조정하는 것이 목적임 맥스풀링의 원리 : (6,6) 사이즈의 이미지가 있다고 할 때, 그 절반인 (3,3) 크기의 사이즈로 이미지를 줄이는 것임 맥스풀링은 유의미한 정보를 남기면서 사이즈를 줄이는것이 목적 In [1]: import tensorflow as tf import pandas as pd In [5]: # 데이터를 준비하고 (독립, 종속), _ = tf.keras.datasets.mnist.load_data() 독립 = 독립.reshape(60000, 28, 28, 1) 종속 = pd.get_dummies(종속) print(독립.shape, 종속.shape) (60000, ..