반응형

전체 글 121

딥러닝(4) GridSearch 를 이용한, 최적의 하이퍼 파라미터 찾기

GridSearch는 저번시간에 배웠던 batch_size와 epoch를 설정하는 부분에서 두개의 파라미터의 최적점을 찾는것을 의미한다. 왜냐하면 batch_size와 epoch는 사람이 설정해야 하는 부분이기 때문이다. 따라서 GridSearch를 이용하여 최적화 점을 찾아 설정하는데 도움이 될수 있도록 할수 있는것이다. #GridSearchCV 함수 호출 from keras.wrappers.scikit_learn import KerasClassifier from sklearn.model_selection import GridSearchCV from keras.models import Sequential from keras.layers import Dense #모델링 함수 만들기 def build_mo..

딥러닝 2022.12.27

딥러닝(3) dummy variable trap

딥러닝에 원인핫 인코딩후 1개의 컬럼을 없애도 어떤 데이터인지 알수 있는게 dummy variable trap이라 한다. 우선 저번시간에 딥러닝에서 썻던 원인핫 인코딩까지 완료한 X데이터를 가져온뒤 코드를 진행한다. # dummy variable trap # #France, Germerny, Spain 3개 컬럼으로 만들었는데, #실제로는 원핫 인코딩을 수행한 후에, 맨 왼쪽컬럼은 삭제해도 #0 과 1로 데이터를 전부 나타낼수 있다. #즉, France 컬럼을 삭제해도 # France Germany Spain # 1 0 0 => 프랑스 # 0 0 1 => 독일 # 0 1 0 => 스페인 # 이렇게 맨 왼쪽 france 컬럼을 삭제해도, 3개의 데이터를 모두 나타낼수 있다. X=X[:,1:] X_df = ..

딥러닝 2022.12.27

딥러닝(2) 텐서플로우에서 학습시 epoch와 batch_size에 대한 설명

저번시간까지 딥러닝을 사용할 준비가 되어 있다면 구글 코랩에서 딥러닝을 써보자 구글코랩은 주피터 노트북과 유사한 구조를 가지고 있다. 따라서 코드를 한줄씩 따라해 보면서 해보자 우선 데이터를 불러온다. 데이터를 불러오려면 구글 코랩과 자동으로 연동된 구글 드라이브에 데이터 파일을 넣어줘야 한다. # Importing the libraries import numpy as np import matplotlib.pyplot as plt import pandas as pd import seaborn as sns %matplotlib inline # Churn_Modelling.csv # 구글 드라이브를 연동해서 읽어온다. from google.colab import drive drive.mount('/conte..

딥러닝 2022.12.27

딥러닝(1) 딥러닝 환경 준비

이번 시간부터는 딥러닝에 대해 배워 볼것이다. 딥러닝은 머신러닝처럼 선을 그어서 수식을 세우고 작업할수 없는 영역을 작업하는 내용이다. 이런 분류체계에서 딥러닝은 수학적으로 접근해야 하며 특히 신경망과 같은 구조를 보이며 이 신경망 구조대로 작업이 이루어진다. 자세한 설명은 구글을 검색해보도록 하자 딥러닝은 일반 파이썬 환경에서도 작업이 가능하지만 기본적으로 컴퓨터에서 GPU의 사양이 좋아야 한다. 이 GPU가 좋기 위해선 구글 코랩에서 GPU가 탑재된 서버를 빌려야 한다. 포털 사이트에 구글 코랩을 검색하여 구글 코랩 사이트에 들어간다. 처음 구글 코랩을 키면 새노트로 열어서 수정을 클릭하고 노트설정에 들어간다. 그다음 하드웨어 가속기를 GPU로 설정하면 딥러닝 사용 준비 완료이다.

딥러닝 2022.12.27

웹대시보드 개발(18) github actions로 putty에 접속하지 않고 소스코드 ec2서버에 바로 push하기(2)

앞에 글에서 다 적용이 되었다면 이제 테스트 해볼 차례다 일단 테스트에 앞서 웹대시보드를 활용할 레포지토리를 github desktop를 통해 변경사항을 pull로 본인의 데스크탑에 적용한다. 앞선 글에서 github에서 설정을 완료했다면 변경사항이 반드시 있을것이기 때문에 반드시 이작업을 해줘야 한다. 적용을 완료했다면 visual code studio에서 streamlit 웹대시보드 코드에서 아무거나(streamlit에 나올만한것으로) 추가해준다. 바로 실행하지 말고 github desktop으로 github에 pull해준다. pull해준뒤 putty를 실행해서 streamlit를 실행해본다. 실행할때 streamlit 서버에 반영이 되지 않기 때문에 이렇게 써줘야 한다. nohup streamlit..

웹대시보드 개발(17) github actions로 putty에 접속하지 않고 소스코드 ec2서버에 바로 push하기(1)

소스코드를 고칠때마다 putty로 멀리있는 서버에 원격으로 접속해서 자신의 소스코드를 고친다는것은 여간 불편한것이 아니다. 이 때문에 소스코드를 고치면 바로 ec2서버에 반영할수 있는 자동적인 기능이 필요한데 이걸 github actions가 해준다. 지금부터 github actions을 알아보자 먼저 github에 접속해서 본인의 소스코드가 있는 레포지토리에 접속한다. 접속한후 맨 오른쪽 상단에 Settings를 클릭한다. Settings에서 secret에서 Actions 기능을 클릭한다. Actions에서 New repository secret를 클릭한다. 여기에 예전에 putty로 접속할때 필요했던 username(본인의 aws ec2서버 dns 주소),PRIVATE_KEY(ec2접속할때 썻던 키파..

웹대시보드 개발(16) FTP로 ec2서버에 바로 파일 보내기

여태까지 ec2서버에 뭘하기 위해서는 SSH로 putty를 이용해서 ec2서버에 접속해 git를 이용해서 파일을 보내어 작업해야 했다. 물론 이 방법으로 소스코드를 보내는것이 맞긴 하나 대용량 파일을 서버에 보내기 위해서는 git의 용량 제한때문에 쉬운일이 아니다. 또한 ec2서버는 리눅스 동작 방식으로 윈도우 처럼 무슨 파일이 어디에 있는지 화면으로 보여지는것이 아니기 때문에 파일 파악도 쉽지 않다. 그래서 FTP로 ec2서버를 이용하는 방법으로 이 문제를 해결하고자 한다. 우선 FTP플랫폼 프로그램인 파일질라를 다운 받는다 https://filezilla-project.org/ 여기에서 Client 다운로드를 누른다. 그러면 자동으로 홈페이지에서 당신의 컴퓨터 사양을 분석한뒤 윈도우,맥,리눅스용중 맞..

웹대시 보드 개발(15) ec2서버에서 웹대시 보드 포트를 정해주고 여러개 개시하기

지난시간까지는 웹대시 보드 1개를 개시하는 방법을 알아보았다. 서버의 저장 용량이 남는다면 본인의 다양성을 강조하기 위해서 웹대시 보드의 포트 번호를 정해줘 여러개를 개시할수 있다. 우선 웹대시 보드용 파일 2개를 준비한다. github에 push에 놓아야 서버에 개시 할수 있다. 이렇게 2개를 준비하면 이제 putty에 들어가서 가상환경에 들어가자 putty 내 가상환경 내에서 git으로 레포지토리를 서버로 클론하자 ll를 입력하면 잘 들어가있는것이 확인된다. cd로 파일명으로 들어가 1개씩 들어가서 작업한다. 들어가서 nohup streamlit run app.py --server.port 8501 &을 입력하여 8501로 포트번호를 정해준다. 그럼 putty을 닫아도 포트번호 8501번으로 영구히 ..

웹대시 보드 개발(14) ec2서버에서 웹대시보드 개시하기

지난시간에 이어 putty를 활용한 서버에 가상환경 구축 방법이다. 지난시간에 아나콘다 잘 설치가 되었다면 앞에 base라고 뜰것이다. 이제 입력란에 $conda create -n 가상환경이름 python=3.8 openssl numpy scipy matplotlib ipython scikit-learn pandas pillow jupyter seaborn 을 입력한다 가상환경이름은 전에 주피터 노트북에서 만들었던 가상환경 이름과 똑같이 짓는게 좋다. 이제 conda activate 가상환경이름을 입력하면 가상환경에 들어갈수 있다. 여기서 pip install streamlit으로 streamlit를 설치한다. streamlit를 설치하면 github를 설치해준다. github를 설치하려면 sudo yu..

웹대시 보드 개발(13) ec2서버에서 가상환경 구축하기

지난시간에 이어 매우 중요한 시간이다. 이번시간도 잘 보고 따라와야 한다. 먼저 서버와 통신할 소프트웨어를 설치해야 한다. https://www.putty.org/ Download PuTTY - a free SSH and telnet client for Windows Is Bitvise affiliated with PuTTY? Bitvise is not affiliated with PuTTY. We develop our SSH Server for Windows, which is compatible with PuTTY. Many PuTTY users are therefore our users as well. From time to time, they need to find the PuTTY download..