전체 글
(딥러닝) Python EDA-Audio Classification Project
from tensorflow.keras.callbacks import ModelCheckpoint from datetime import datetime num_epochs = 1000 num_batch_size = 32 checkpointer = ModelCheckpoint(filepath='save_models/audio_classification.hdf5', verbose=1, save_best_only=True) start = datetime.now model.fit(X_train, y_train, batch_size=num_batch_size, epochs=num_epochs, validation_data=(X_test, y_test), callbacks=[checkpointer]) from t..
(컴퓨터비전) Yolov5, Midea Pipe 신체 감지 만들기
def calculate_angle(a,b,c): a = np.array(a) # First b = np.array(b) # Mid c = np.array(c) # End radians = np.arctan2(c[1]-b[1], c[0]-b[0]) - np.arctan2(a[1]-b[1], a[0]-b[0]) angle = np.abs(radians*180.0/np.pi) if angle >180.0: angle = 360-angle return angle cap = cv2.VideoCapture("./final.mp4") counter = 0 stage = None time = 0 left_elbow_list = [] right_elbow_list = [] left_knee_list = [] right..
(광주인공지능학원) 안드로이드 기초
기본 아키텍쳐 리눅스 커널 일단 가장 아랫단에, Linux 커널 이 올라가 있다. 일반적인 Linux 커널과 크게 다르지는 않지만, 모바일 디바이스에 최적화된 전력 관리 기능이나 안드로이드에 최적화된 Binder IPC (프로세스간 커뮤니케이션) 부분등이 포함되어 있다. 시스템 라이브러리 리눅스 커널위에는 C로 구현된 몇가지 네이티브 라이이브러리들이 올라가 있다. 3차원 그래픽을 위한, OPEN GL, 로컬 데이타 베이스를 제공하는 SQLLite 데이타 베이스, 웹 브라우징을 위한 WebKit, 멀티미디어 재생을 위한 Media Framework들이 올라가 있다. 이러한 시스템 라이브러리들은 내부적으로 JNI 인터페이스를 통해서 자바 코드로부터 호출되게 된다. 안드로이드 런타임 이러한 시스템 라이브러리 ..
(광주인공지능학원) 활성화함수, 오차역전파, 경사하강법
활성화 함수란? (Activation Function) 신경망은 선형회귀와 달리 한 계층의 신호를 다음 계층으로 그대로 전달하지 않고 비선형적인 활성화 함수를 거친 후에 전달한다. 이렇게 하는 이유는 신경망을 모방하여 사람처럼 사고하는 인공지능 기술을 구현하기 위함이다. 실제로 비선형의 활성화 함수를 도입한 신경망이 잘 동작하고 있다. 오차역전파 오차역전파란 역전파는 계산 결과와 정답의 오차를 구해서 이 오차에 관여하는 노드 값들의 가중치와 편향을 수정하는데, 이때 오차역전파(backpropagation)는 오차가 작아지는 방향으로 반복해서 수정합니다. 이 횟수가 커지면 그만큼 정확성은 높아지지만 시간이 오래 걸리는 단점이 있고, 횟수가 작아지면 정확성은 떨어지지만 시간이 단축되는 장점이 있습니다. 이 ..
(광주인공지능학원) 2차프로젝트 마무리 및 다니면서 느낀점
2차프로젝트 시연 동영상 2차프로젝트가 마무리 되었다. 그동안 밀린 티스토리 업데이트도 남아있지만 오늘은 스마트인재개발원은 다니면서 느낀점을 써보려 한다. 이글을 읽는 누군가는 도움이 되었으면 좋겠다. 터닝포인트라는 말이 있다. 인생에서는 사람마다 시기와 방법은 다르겠지만 어떠한 변곡점이 있는데 인공지능에 미친 우리들은 요즘 이걸 시그모이드 함수에 0.5가 넘어 가게 해주는 마지막 0.001이 스마트인재개발원이 아니였을까? 말한다 글을 읽는 당신에게 좀 더 필자는 신뢰감을 주기위해서 아래와 같은 증거를 제시한다. 1. 2021 K디지털 해커톤 200여개의 팀 중 본선진출 (우리가 그린) 2. 1차프로젝트 최우수상, 2차프로젝트 우수상, 자바페스티벌 우수상 3. 딥러닝의 이해와 본인의 관심분야 설정 (Yo..
(스마트인재개발원) 2차프로젝트 머신러닝 마무리
import pandas as pd import matplotlib.pyplot as plt from sklearn.neighbors import KNeighborsClassifier from IPython.core.interactiveshell import InteractiveShell from sklearn.model_selection import train_test_split from sklearn.neural_network import MLPClassifier from sklearn.linear_model import LogisticRegression from sklearn.neighbors import KNeighborsClassifier from sklearn.svm import SVC fro..
(스마트인재개발원) 플라스크 연습하기(feat 텐서플로우)
배추 가격 예측 인공지능 소프트웨어 Data server # -*- coding: utf-8 -*- from flask import Flask, render_template, request import datetime import tensorflow as tf import numpy as np app = Flask(__name__) # 플레이스 홀더를 설정합니다. X = tf.placeholder(tf.float32, shape=[None, 4]) Y = tf.placeholder(tf.float32, shape=[None, 1]) W = tf.Variable(tf.random_normal([4, 1]), name="weight") b = tf.Variable(tf.random_normal([1]), n..
(스마트인재개발원) 2차프로젝트 데이터 전처리 2차 (모델재선택)
import pandas as pd import matplotlib.pyplot as plt from sklearn.neighbors import KNeighborsClassifier from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all" pd.set_option('display.max_row', 5000) pd.set_option('display.max_columns', 1000) # 무시 pd.set_option('mode.chained_assignment', None) data = pd.read_csv('합격자 스펙 데이터 (1~100059).csv', encodi..
(스마트인재개발원) 2차프로젝트 데이터 전처리
취준생들이 취업 시장에서 자신이 취업하고자 하는 직무를 제대로 결정하지 못하고 있고 이에 대한 수요가 존재하는 것으로 파악 취준생들에게 적합한 직무, 회사를 추천해 주는 서비스를 제안 자신에게 필요한 스펙을 모르기에 잉여 스펙이 쌓이고 있는 현실에 맞춰 필요한 스펙을 계획해 주는 서비스를 구현하고자 함 여러 채용공고사이트에는 취업자들의 스펙이나 정보를 확인할 수 있다. 이에 대한 채용자들의 데이터를 크롤링하여 채용자들이 가지고 있는 스펙 범위를 분류하고 이를 합격 범위로 라벨링한다. 이를 기업별로 차별화하여 각 채용공고의 합격범위를 예측하여 취준생의 스펙대비 적합한 채용 공고를 추천한다. 토익성적, 오픽, 언어능력, 자격증, 해외경험, 인턴경험, 수상내역, 봉사경험 등의 취업자들의 스펙 데이터를 수집하고..
(HTML) 기초 홈페이지 만들기
http://ai30.dothome.co.kr/web/index.html WEBSTROYBOY SITE ai30.dothome.co.kr 전체 메뉴 바로가기 배너 메뉴 바로가기 컨텐츠 메뉴 바로가기 Desinger Publisher Youtube Professional Publisher Designer webstoryboy.co.kr icon1 icon2 icon3 icon4 전체 메뉴 HTML Reference HTML 태그(Tag) 블록 요소/인라인 요소 DTD 선언 언어 속성 설정 HTML 특수문자 하이퍼 링크 HTML HTML HTML HTML HTML HTML CSS Re..
(computer vision) IOU 구하기
## IOU 구하기 ## 입력인자로 후보 박스와 실제 박스를 받아서 IOU를 계산하는 함수 생성 import numpy as np def compute_iou(cand_box, gt_box): # Calculate intersection areas x1 = np.maximum(cand_box[0], gt_box[0]) y1 = np.maximum(cand_box[1], gt_box[1]) x2 = np.minimum(cand_box[2], gt_box[2]) y2 = np.minimum(cand_box[3], gt_box[3]) intersection = np.maximum(x2 - x1, 0) * np.maximum(y2 - y1, 0) cand_box_area = (cand_box[2] - cand_..
(computer vision) selective search Object Detection
# opencv의 rectangle()을 이용하여 시각화 # rectangle()은 이미지와 좌상단 좌표, 우하단 좌표, box컬러색, 두께등을 인자로 입력하면 원본 이미지에 box를 그려줌. green_rgb = (125, 255, 51) img_rgb_copy = img_rgb.copy() for rect in cand_rects: left = rect[0] top = rect[1] # rect[2], rect[3]은 너비와 높이이므로 우하단 좌표를 구하기 위해 좌상단 좌표에 각각을 더함. right = left + rect[2] bottom = top + rect[3] img_rgb_copy = cv2.rectangle(img_rgb_copy, (left, top), (right, bottom), ..
(스마트인재개발원) CSS 태그 정리
[CSS] align-content align-content 속성은 콘텐츠 아이템의 상하관계 정렬 상태를 설정합니다. 정의(Definition) align-content 속성은 콘텐츠 아이템의 상하관계 정렬 상태를 설정합니다. align-content 속성은 한 줄(flex-wrap: nowrap)에서는 의미가 없습니다. 참고(Reference) flex는 효율적으로 요소를 배치하거나 정렬 할 수 있는 레이아웃 방식입니다. flex에서 사용하는 속성은 부모 요소인 컨테이너(Container)와 자식 요소인 아이템(Item)으로 구성됩니다. 플렉스 컨테이너에는 flex-direction, flex-wrap, justify-content, align-items, align-content가 있습니다. 플렉스 ..
(스마트인재개발원) HTML 태그 정리
[HTML] 태그는 다른 페이지 이동을 설정합니다. 페이지 주소 뿐만 아니라, 메일 주소, 전화 번호 등도 연결할 수 있으며, 아이디(#) 값으로 페이지 내에서도 이동이 가능합니다. 정의(Definition) 태그는 클릭하면 다른 페이지로 이동합니다. 현재 페이지에서 다른 페이지 URL로 연결하는 것을 하이퍼링크라고 합니다. 태그는 페이지 주소 뿐만 아니라, 메일 주소, 전화 번호 등도 연결할 수 있습니다. 태그는 아이디(#id)로 이동 할 수 있습니다. 태그는 target 속성을 이용하면 새로운 브라우저 창에서 페이지 이동을 할 수 있습니다. 태그는 방문한 링크는 밑줄과 보라색으로 표시되고, 활성화된 링크는 밑줄과 빨간색으로 표시됩니다. 원칙적으로 태그는 블록구조를 포함 할 수 없지만, HTML5에서는..
(스마트인재개발원) Kaggle대회 참가 - 전자 상거래 물품 배송 예측(분류)
ID: ID 고객 번호입니다. 창고 블록: 회사에는 A,B,C,D,E와 같은 블록으로 나누어진 큰 창고가 있습니다. 배송 모드:회사는 제품을 선박, 비행 및 도로와 같은 다양한 방법으로 배송합니다. 고객 관리 전화: 발송물 조회를 위한 문의로 걸려온 전화 수. 고객 등급: 그 회사는 모든 고객들로부터 등급을 매겼다. 1이 가장 낮음(최악), 5가 가장 높음(최악)입니다. 제품 비용: 제품 비용(미국 달러) 이전 구매: 이전 구입 횟수입니다. 제품 중요도: 회사는 제품을 저, 중, 고 등 다양한 파라미터로 분류했습니다. 성별: 남성과 여성. 할인 혜택: 그 특정 제품에 대한 할인이 제공됩니다. 가중치: 그것은 그램 단위의 무게이다. 정시에 도달함: 이 값은 목표 변수입니다. 여기서 1 제품이 제시간에 도달..
(스마트인재개발원) JSP 기초
JSP 왜 필요한가? 1.Sevlet은 수정이 어렵다. 2. 프로그램이 복잡해지면 Servlet을 통해 출력되는 HTML페이지를 상상하기 어렵다. JSP(Java Server Page) HTML내에 Java 코드를 작성하고 웹 서버에서 웹 페이지를 생성하여 웹 브라우저에 돌려주는 Java를 기반으로 한 스크립트 언어. -.jsp 확장자 -동적으로 작동하여 응답은 html을 이용함 (동적 웹 애플리케이션 컴포넌트) -jsp -> 서블릿(.java) -> 클래스(.class) -> html으로 변환되어 실행됨 JSP 처리 과정 아래 과정은 웹서버가 JSP를 이용해서 어떻게 웹페이지를 생성하는지를 설명하고 있습니다. 1. 사용자가 웹페이지에서 요청을 합니다. 2. 웹서버가 요청을 받고 JSP페이지를 위한 요청..
(Opne CV) 웹캠으로 아이패드 만들기
import cv2 import numpy as np frameWidth = 640 frameHeight = 480 cap = cv2.VideoCapture(0) cap.set(3, 640) # 가로설정 cap.set(4, 480) # 세로설정 cap.set(10, 150) #밝기 설정 myColors = [[0,150,129,104,255,255], [133,56,0,159,156,255], [57,76,0,100,255,255]] myColorValues = [[51,153,255], ##BGR [255,0,255], [0,255,0]] myPoints = [] def findColor(img, myColors, myColorValues): imgHSV = cv2.cvtColor(img, cv2.CO..
(Open CV) 직사각형, 원, 정사각형, 삼각형 구분짓기
import cv2 import numpy as np def stackImages(scale,imgArray): rows = len(imgArray) cols = len(imgArray[0]) rowsAvailable = isinstance(imgArray[0], list) width = imgArray[0][0].shape[1] height = imgArray[0][0].shape[0] if rowsAvailable: for x in range ( 0, rows): for y in range(0, cols): if imgArray[x][y].shape[:2] == imgArray[0][0].shape [:2]: imgArray[x][y] = cv2.resize(imgArray[x][y], (0, 0),..
(Open CV) getPerspectiveTransform, warpPerspective, hstack, getTrackbarPos,
import cv2 import numpy as np # 스페이드 왕을 평평하게 얻기 4개의 포인트를 사용하여 가져옴 img = cv2.imread("Resources/cards.jpg") width,height = 250,350 pts1 = np.float32([[111,219],[287,188],[154,482],[352,440]]) pts2 = np.float32([[0,0],[width, 0],[0,height],[width, height]]) matrix = cv2.getPerspectiveTransform(pts1, pts2) imgOutput = cv2.warpPerspective(img, matrix, (width, height)) cv2.imshow("Image", img) cv2.ims..
(Open CV) 이미지 자르기, 선그리기, 원그리기, 사각형 그리기
import cv2 import numpy as np img = cv2.imread("Resources/lambo.PNG") print(img.shape) # (462, 623, 3) imgResize = cv2.resize(img, (300,200)) cv2.imshow("Image", img) cv2.imshow("Image Resize", imgResize) print(imgResize.shape) # 이미지 자르기 높이 , 너비 순이다. 그래서 헷갈리지 않도록 imgCropped = img[0:200, 200:500] cv2.imshow("Image Cropped", imgCropped ) cv2.waitKey(0) import cv2 import numpy as np img = np.zeros(..
(Open CV) 이미지 로딩, 동영상 로딩, 웹캠 로딩 (처리 기초)
import cv2 import numpy as np print("Package Imported") # 이미지 가져오기 img = cv2.imread("Resources/lena.png") cv2.imshow("Output",img) # 윈도우창 이름하고 이미지 넣어주기 cv2.waitKey(0) # 비디오 가져오기 cap = cv2.VideoCapture("Resources/test_video.mp4") while True: # 이미지 캡쳐하기 # 이미지를 가져오고 그성공여부를 저장할 sccess변수 지정 true or False success, img = cap.read() cv2.imshow("Video", img) if cv2.waitKey(1) & 0xFF == ord('q'): break # ..
(스마트인재개발원) Ajax 기초수업
Ajax는 JavaScript의 라이브러리중 하나이며 Asynchronous Javascript And Xml(비동기식 자바스크립트와 xml)의 약자입니다. 브라우저가 가지고있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지의 일부만을 위한 데이터를 로드하는 기법 이며 Ajax를 한마디로 정의하자면 JavaScript를 사용한 비동기 통신, 클라이언트와 서버간에 XML 데이터를 주고받는 기술 Ajax의 장단점 Ajax의 장점 1. 웹페이지의 속도향상 2. 서버의 처리가 완료 될때까지 기다리지 않고 처리 가능하다. 3. 서버에서 Data만 전송해면 되므로 전체적인 코딩의 양이 줄어든다. 4. 기존 웹에서는 불가능했던 다양한 UI를 가능하게 해준다. 사진공유 사이트 Fl..
(공공데이터분석) 전국 신규 민간 아파트 분양가 분석해보기(1)
mport pandas as pd df_last = pd.read_csv('주택도시보증공사_전국 평균 분양가격(2019년 12월).csv', encoding='cp949') df_last.shape (4335, 5) df_last.head() 지역명규모구분연도월분양가격(㎡) 0서울전체2015105841 1서울전용면적 60㎡이하2015105652 2서울전용면적 60㎡초과 85㎡이하2015105882 3서울전용면적 85㎡초과 102㎡이하2015105721 4서울전용면적 102㎡초과2015105879 df_last.tail() 지역명규모구분연도월분양가격(㎡) 4330제주전체2019123882 4331제주전용면적 60㎡이하201912NaN 4332제주전용면적 60㎡초과 85㎡이하2019123898 4333제주전..
(스마트인재개발원) JS 기초 실습.
Javascript 웹 페이지를 동적으로,프로그래밍적으로 제어하기 위해서 고안된 언어 1. 모든 웹 브라우저에서 동작한다. 2. 웹 브라우저에서 실행 결과를 즉시 확인 3. 다양한 용도의 프로그램 개발 4. 다양한 자바스크립트 공개 API 5. 다양한 라이브러리와 프레임워크 prompt(“출력내용”,”입력내용”) - 입력창을 통한 입력문 confirm(“출력문작성”) - 확인 및 취소를 통한 입력문 * 변수 var 키워드 - 사전적 의미로는 “변화를 줄 수 있는” 또는 “변할 수 있는 수” - 프로그래밍에서는 데이터를 담을 수 있는 공간 ECMAScript6 표준안에서 새로운 변수 키워드 등장 자료형 설명 number 정수, 실수 등 산술 연산이 가능한 자료형 string 문자열로 이루어진 자료형 boo..
(인프런) 파이썬 실전 Open cv 와 Pillow 사용법 읽히기
from PIL import Image import requests import cv2 import numpy # img = Image.open("c:\\test\\sample.jpg") # print(img.size) # img = img.rotate(45) # img.show() # img.save("sample.png") # url = "https://cdn.pixabay.com/photo/2020/12/12/17/24/little-egret-5826070_960_720.jpg" # img2 = Image.open(requests.get(url, stream=True).raw) # img2.show() # img2.save("bird.jpg") ''' open cv는 고연산 목적 ''' url = ..
(인프런) 파이썬 실전 다중 Thread 채팅프로그램 만들기
import socket from threading import Thread def recv_message(sock): while True: msg = sock.recv(1024) print(msg.decode()) sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect(("127.0.0.1", 12000)) th = Thread(target=recv_message, args=(sock, )) th.daemon = True th.start() while True: msg = input("입력 >") sock.send(msg.encode()) if msg == "/by": break import socketserver class My..
(인프런) 파이썬 실전 Server - Client , Thread 기초
class CarMixIn: def ready(self): print("믹스인 레디") def start(self): print("{}가 {}속도로 달립니다.".format(self.name, self.speed)) class Performance(): def __init__(self, name, speed): self.name = name self.speed = speed self.ready() ##다중상속받는 SuperCar -> CarMixIn , Performence 다 쓸 수 있음 class SuperCar(CarMixIn, Performance): def show_info(): print("{}는 {} 속도의 성능입니다.".format(self.name, self.speed)) s = Supe..
(인프런) 파이썬 실전 텔레그램 봇으로 환율, 날씨, 폴더목록, 파일전송 구현하기
import telepot import os import logging #log 라이브러리 from module import get_dir_lsit from module import get_weather from module import mony_transalte logging.basicConfig(level=logging.DEBUG) logger = logging.getLogger(__name__) TELEGRAM_TOKEN ="1773638001:AAEW1PwJjgrvZmSnS_SWq91tK3W-BkYGha0" def handler(msg): content_type, chat_type, chat_id, msg_data, msg_id = telepot.glance(msg, long=True) if co..