본문 바로가기

데이터 분석

[python] ArgumentParser(argparse) 정리 ArgumentParser라는 이름에서 부터 알 수 있듯이, argument를 parsing하는 module이다. python의 standard library에 속해있는 module로 따로 설치할 필요는 없다. 특히 command line에 입력하는 인수(argument)를 구문 분석(parsing)하는 데 쓰인다. 사용법은 다음과 같다. 1. import argparse 2. declare parser 3. add argument 4. parsing the argument 코드와 함께 설명하자면 다음과 같다. 1. import argparse import os ... import argparse ... import numpy as np 2. declare parser if __name__ == "__m.. 더보기
Compound Scaling 사전지식 ResNet -> Nas -> NasNet -> MnasNet -> EfficientNet 순으로 발전해왔습니다 이번 포스트에서는 Model Scaling method가 어떤식으로 발전해왔는지에 대해 중점을 두고 작성했습니다. NASNet 기존의 딥러닝 모델들은 사람이 직접 모델을 구성하는 블록을 설계하고, 그 블록을 여러번 쌓아서 모델의 구조를 구축했었습니다. 대표적으로 ResNet은 Vanishing Gradient 문제를 해결하기 위해 사람이 residual block을 설계하고, 그 블록을 차곡차곡 쌓아서 구축한 모델입니다. NasNet은 강화학습과 RNN을 활용하여 block을 사람이 아닌 모델이 딥러닝을 통해 설계하는 것이 특징입니다. 강화학습 : 최적의 보상을 얻을 수 있는 최적의 .. 더보기
Optimizer, Loss Funtion 2021.04.07 - [데이터 사이언티스트/딥러닝] - 신경망 학습방법과 역전파(BP) 신경망 학습방법과 역전파(BP) 이번 포스트는 신경망의 학습방법과 역전파의 개념에 대해 다뤄보겠습니다. 신경망의 학습방법의 경우 2번 가중치 부분은 사전학습모델을 사용할 경우 달라질 수 있습니다. 역전파를 코드로도 ksh950510.tistory.com 앞선 글에서 GD가 나오게 된 계기를 설명했습니다. 요즘은 다들 Adam optimizer만 쓰는데 Adam이 어떤 optimizer를 계승해서 나오게됐는지 살펴보겠습니다. Optimizer 가장 기본이 되는 optimizer 알고리즘으로 경사를 따라 내려가면서 W를 update시킨다. GD를 사용하는 이유 왜 이렇게 기울기를 사용하여 step별로 update를 시키.. 더보기
신경망 학습방법과 역전파(BP) 이번 포스트는 신경망의 학습방법과 역전파의 개념에 대해 다뤄보겠습니다. 신경망의 학습방법의 경우 2번 가중치 부분은 사전학습모델을 사용할 경우 달라질 수 있습니다. 역전파를 코드로도 구현해서 덧붙였습니다. (역전파의 가장 중요한 부분인 chain rule만 이해하셔도 됩니다.) 만약 틀린부분이 있다면 댓글달아주시면 감사하겠습니다. 신경망 학습 방법 오늘은 조금 더 깊이 있게 신경망 훈련 방법에 대해서 살펴볼 것 입니다. 순방향 신경망(FP)과 같은 다층퍼셉트론(MLP, Multi-layer Perceptron) 구조의 신경망은 경사하강법(Gradient descent, GD)으로 학습을 할 수 있는데 역전파(Backpropagationm, BP) 알고리즘에 의해 필요한 기울기(gradient)계산이 가능.. 더보기
Neural Network 신경망 Neural Network 신경망(Neural Networks)은 1943년경 뇌의 신경활동을 수학으로 표현한 아이디어와 1957년 Rosenblatt이 고안한 Perceptron(퍼셉트론) 알고리즘이 발전해서 현재의 신경망 개념에 이르게 되었습니다. 1970년대에 신경망에 대한 연구가 많이 진행됐지만 많은 한계점들로 인해 잠시 신경망 연구가 중단됐으나, 최근들어 한계점을 극복하게 되면서 많은 연구가 이루어지고 있습니다. (ex. XOR -> 다층퍼셉트론으로 해결) 현대의 신경망은 Artificial Neural Networks(ANN, 인공신경망)이라고 불리는 학습 모델이며 뇌의 실제 신경계의 특징을 모사하여 만들어진 계산 모델(computational model)입니다. 신경세포(Neuron).. 더보기
JSON (JavaScript Object Notation) JSON은 1) 온라인 API에서 데이터를 가져올때 가장 많이 사용됩니다. 2) 구성파일 및 다른 종류의 데이터를 다룰때도 사용됩니다. 3) javascript의 영향(개체 표기법)을 받았지만 독립적인(다른) 언어입니다. 1. python에서 json의 Type입니다. import json people_string = """ { "people" : [ { "name": "Molecule Man", "age": 29, "secretIdentity": null, "has_license" : true, "powers": [ "Radiation resistance", "Turning tiny", "Radiation blast" ] }, { "name": "Madame Uppercut", "age": 39, "s.. 더보기
Flask - 패키지 구조화 2021.03.27 - [분류 전체보기] - Flask - SQLAlchemy(ORM) 이전 포스트 이후의 내용을 다룹니다 이전까지와 같이 모든 기능을 하나의 파일에서 구현한다면 기능이 많아질수록 코드가 복잡해지고, 그에 따라 의사소통 문제가 발생할 가능성이 높아집니다. 직접 만든 코드도 시간이 지난 뒤에 보면 이 코드가 어떤 작동을 하는지 주석과 기억을 더듬어서 이해하는데 다른 개발자들이 내 코드를 본다면 더욱 이해하기 힘들겠죠? 그래서 코드의 기능에 따라 파일을 나누고, 개발자가 알아보기 쉽게만들기 위해 패키지 구조화(Package Structure)를 해줍니다. 우리는 이전까지 만들던 Flask_app을 구조화 해보겠습니다. 1. 먼저 메인 스크립트인 Flask_app.py를 기능에 따라 나눠주겠습.. 더보기
Flask - SQLAlchemy(ORM) ksh950510.tistory.com/16 Flask - 2. Forms and User Input ksh950510.tistory.com/15 Flask 기본설정 1. Flask 설치 및 설정 $ pip install flask 1-1) 제대로 설치 되었는지 확인하기 # on python import flask 오류가 발생하지 않으면 제대로 설치된 상태입니다. 1-2) ap.. ksh950510.tistory.com 이후의 내용을 다루고 있습니다. ORM 이란? - 객체 관계 매핑(Object-relational mapping; ORM)의 약자로 간단히 말해서, 데이터베이스 내의 리소스(테이블)들을 객체화하여, 각 DBMS(MySQL, MSSQL 등)들에 대해서 CRUD 등을 공통된 접근기법으로 사용.. 더보기