본문 바로가기

전체 글

01. 자바스크립트 [모던 리액트 Deep Dive] 해당 게시글은 [모던 리액트 Deep Dive]를 공부하며 작성하는 것으로, 문제가 될 시 삭제하겠습니다. 1장은 리액트에서 자주 사용되는 JS문법들에 대해 다루고 있다. 동등 비교원시 타입(primitive type) boolean null undefined niimber string symbol bigint - 값을 직접 저장객체 타입(object/reference type) object - 값을 참조로 저장== : 타입이 다르다면 자동 변환 후 비교=== : 타입 변환 없이 비교 (엄격히 비교)Object.is( , ) : 객체와 원시 타입 모두 비교   5 == '5' (true) / 5==='5' (false) ,+0 === -0 (true) / Object.is(+0, -0) (false) 객.. 더보기
LSTM 예측 - BEMS 시계열 데이터 RNN, LSTM, GRU, Transformer Model에 대해 살펴보고, LSTM과 GRU를 통해 주가 데이터 예측을 진행해 보았다.이제 BEMS(Building Energy Management System)의 실제 Data set에 적용해보자. 시드 고정 및 GPU장비 설정import osimport random# 시드 값 고정seed = 42# Python 내장 해시 함수의 시드를 고정하여 재현성을 확보 (Python 3.3 이상에서만 적용)os.environ['PYTHONHASHSEED'] = str(seed)random.seed(seed) # Python의 random 모듈np.random.seed(seed )# NumPy의 난수 생성기torch.manual_seed(seed) # PyTor.. 더보기
Local 원격저장소를 통해 DVC 사용하기 위와 같은 이유로... 구글 드라이브와의 연동은 결국 포기했다..Colab DVC를 상상했는데.... 흑이전에 GCP에서 진행하였던것과 달리, 이번에는 대신 local환경을 원격저장소로 사용해 보았다! 먼저, dvc파일들을 github에서도 확인할 수 있으면 좋을 것 같아서 git의 원격 저장소를 github로 설정해 주었다.방법은 1. github repository 생성2.  git remote add origin 3. git push -u origin main (github사이트가 켜지면 인증)으로 비교적 간단하다. 이후 git remote -v를 통해 확인해 볼 수 있다. 이제 local 원격저장소로 사용할 디렉터리를 생성해 준 후,dvc remote add -d 를 통해 DVC의 원격저장소를.. 더보기
Git DVC를 본격적으로 사용해보려 했는데, github에는 자동으로 안올라가나..? 시각적으로 (gui)로 볼 수 없나...? 와 같은 생각이 들었다...Git과 github는 엄연히 다른데, 바보 같은 생각이었다. DVC를 잘 다루기 위해서는 git의 사용 능력이 필수적이라는 생각이 들어,이번 기회에 Git관련 내용들을 정리해보고자 한다.   먼저, 필자는 평소에도 "공식" 문서를 믿고, 애용하며,이 글 또한 Git 공식 홈페이지의 내용을 기반으로 작성되었음을 알린다.  Git이란?버전 관리를 위한 도구들(Version Control System)이 local VCS -> CVCS(중앙 집중형 버전 제어 시스템) -> DVCS 로 점차 진화해왔으며,Git이란, DVCS(분산 버전 제어 시스템)의 한 종류이.. 더보기
Pytorch를 통한 주가 분석 (LSTM, GRU) LSTM과 GRU는 순차적 데이터를 다루기에 적합하다.두 모델을 통해 주가를 분석하고, 성능을 비교해보자. 전체적인 코드의 흐름은 아래와 같다.환경 구축 -> 주가 데이터 가져오기 -> 데이터셋 분류 (훈련 / 테스트) ->  데이터 전처리(모델에 맞춰 형식 변환)-> 모델 생성 -> 하이퍼 파라미터 설정 -> 모델 학습 -> 예측값 도출 및 시각화 -> 성능 평가 import torchimport torch.nnimport torchvision.transforms as transformsimport torchvision.datasetsfrom torch.autograd import Variablefrom torch.nn import Parameterimport torch.nn as nnfrom torc.. 더보기
Google Colab 단축키 모음 이전에 python 코드를 작성할 때, Colab, Jupyter-Notebook, pycharm등 다양하게 이용해왔는데,최근에 ML관련 코드들을 작성할 일이 많아져 이번 기회에 앞으로 사용할 IDE를 Colab으로 정하게 되었다. 웹 기반 IDE의 편리함과, GPU를 사용할 수 있다는 점. 무엇보다 현재 노트북2개와 데스크톱 1개를 사용하고 있는데, 클라우드 기반이기에 어디서나 작업을 이어갈 수 있고, github와 연동이 된다는 점이 마음에 들었다. Jupyter-Notebook은 오프라인 환경에서도 작업이 가능하다고 하는데, 내 주위는 WiFi 천국이다..아, AI나 데이터 분석 관련 여러 패키지 미리 설치되어있다는 점도 매우 마음에 들었다!!  자, 그럼 본격적으로 앞으로 사용할 Colab의 주요.. 더보기
RNN, LSTM, GRU, Transformer model RNN이 무엇인지, 관련 모델들이 어떻게 진화해왔는지에 대해 알아보도록 하자.*본 글에서 수식은 다루지 않습니다. RNN(1986) -> LSTM(1997) -> GRU(2014) -> Transformer model(2017) RNN이란?Recurrent Neural network의 약자로, 순환 신경망이라고도 한다.Nueral network의 주요 아키텍쳐 중 하나이며, 이외로는 CNN, GNN 등이 있다.시계열 데이터나 순차 데이터를 처리하는 데 특화된 신경망 구조이다. 입력 계층 : 처리할 정보를 수신출력 계층 : 결과를 제공은닉 계층 : 데이터 처리, 분석 및 예측위의 3계층으로 보통 구성된다.  Recurrent에서 생각해 볼 수 있듯이, RNN모델은 은닉층의 노드에서 나온 결괏값을 출력층으로.. 더보기
DVC : Data Version Control DVC의 사용 목적과 방법에 대해 정리해보고자 한다.DVC란?머신러닝 모델을 사용하는 과정에서, 담겨지는 데이터나 이용하는 모델이 지속적으로 바뀌는데, 이에 대한 버전관리를 도와주는 도구로 "데이터를 위한 Git" 이라고 생각하면 이해하기 쉽다. DVC의 작동 방식  Local Cache를 두어, 데이터 중복 방지 및 빠른 데이터 접근을 제공 (해시 기반 관리) Local Workspace와 Local cache에 중복으로 데이터를 저장하는것을 방지하고자,작업공간의 캐시된 데이터에 대해 파일 링크를 생성. reflink(Copy-on-Write),  hardlink, symlink 中 1세 가지 모두 해당 파일 시스템에서 지원하지 않는다면 copy(직접 복사)의 방식을 사용하여 캐시에 저장메타데이터를 ... 더보기