본문 바로가기

Backup

[Django #6] User Registration 이번장에서는 user account에 대한 부분을 작업해볼것이다. login, logout, register, 또 우리가 로그인 하였다면 로그인된 상태도 페이지에 반영하게 할것이다.일단 Django에서 제공해주는 User model을 쓸건데 여기에서 제공되는 기능들이 무엇인지 한번 살펴보자$ python3 manage.py shell Python 3.7.2 (v3.7.2:9a3ffc0492, Dec 24 2018, 02:44:43) [Clang 6.0 (clang-600.0.57)] on darwin Type "help", "copyright", "credits" or "license" for more information. (InteractiveConsole) >>> from django.contrib.. 더보기
[Django #5] CSS 이번장에서는 약간의 styling이랑 design에 신경써볼것이다.python으로 제공된 web framework가 있는것처럼 CSS framework들도 있다. 많은 CSS framework 중에서도 boostrapt이라는 css가 가장 유명하지만 이번기회에는 Materialize CSS 를 써볼것이다.사용하기위해서 두가지 방법이 있는데 (hostedversion을 쓸지, 아니면 local에 다운받아서 고쳐쓸지...)할수있는데 일단 간단한 host에 있는걸 그냥 써보자. CSS를 쓰려면 그 위치를 head tags에 추가해야한다.Materialize CSS framework가 제공해주는 javascript도 같이 추가해주자. mysite/main/templates/main/home.html head t.. 더보기
[Django #4] Views and Templates 이번장에서는 views로 models, template를 어떻게 상호작용하는지 더 자세히 알아보겠다.일단 우리의 mysite/main/views.py에 아래와 같이 함수를 수정하자.def homepage(request): return render(request = request, template_name='main/home.html', context = {"tutorials":Tutorial.objects.all}) 우리는 render라는걸 통해서 함수가 request와 함께 호출되면 html/template 을 만들어서 보여줄것이다. 여기서 Python object도 같이 넘겨서 rendering 할때 사용할수 있게 할것이다. 그러기 위해서 dictionary형태로 넘길것인데, key는 variable.. 더보기
[Django #3] Admin and Apps 이번장에서는 Django가 제공해주는 admin 기능들을 살펴보겠다. 우선 admin 계정을 만들어야 한다. python3 manage.py createsuperuser Username (leave blank to use 'harrisonkinsley'): sentdex Email address: harrison@pythonprogramming.net Password: Password (again): Superuser created successfully.email은 일단 아무거나 지정하고 계정을 만들고 나면 http://127.0.0.1:8000/admin로 들어가보자. 이 user interface를 통해 models들을 관리할수있다.여기서 수정, 추가, 삭제 등을 할수있다. 지금은 Groups와 U.. 더보기
[Django #2] Models 이번장에서는 Django의 핵심인 Models 에 대해 알아보겠다. 우선 Tutorial model을 만들어 볼것이다. Tutorial model에 게시글 기능을 할수있도록 일단 제목, 날짜, 내용 작성의 기능을 가지도록 만들어 보겠다. Django는 확작성이 좋기때문에 나중에 더 필요한 기능을 쉽게 추가해줄수도있다.이 모델들은 해당 app에서 unique 해야 한다. mysite/main/models.pyfrom django.db import models class Tutorial(models.Model): tutorial_title = models.CharField(max_length=200) tutorial_content = models.TextField() tutorial_published = m.. 더보기
[Django #1] Django Web Development with Python Introduction [본 튜토리얼은 pythonprogramming.net의 Django tutorial을 참고하여참고하여 만들었다.] Django는 빠른 개발을 가능하게 하고 확장성 측면 유리한 full web framework 이다."Web Framework"이라 하면 웹 응용 프로그램을 만드는 목적에 필요한 기능들을 모두 제공한다라는 뜻이다.예를 들어 Django를 통해서 아래와 같은 기능들을 직접 만들지 않더라도 쉽게 폼을 불러와 적용 할 수있다.DatabasesUsersContent ManagementDynamic Pages등등... 앞으로 진행할 tutorial에서는 Python 3.7 / Django 2.1.4을 사용할 것이며 간단한 게시판의 기능을 가지는 웹페이지 개발을 1차 목표로 하곘다. 기본적인 pyth.. 더보기
matplotlib cheat sheet In [0]:import numpy as np import matplotlib.pyplot as plt plt.style.use('seaborn-whitegrid') In [2]:x=np.linspace(0, 10, 20) y=np.cos(x) fig, ax = plt.subplots(2, 3) fig.suptitle('test') ax[0, 0].plot(y) ax[0, 1].plot(x, y, '-c', label="legend2") ax[0, 1].plot(x+5, y, ':r', label="legend") ax[0, 2].plot(x, y, '-p', color='gray', markersize=10, linewidth=4, markerfacecolor='white', markeredgecolo.. 더보기
cs231n 8강 Localization, detection 위의 classification head 와 regression head로 나눠어서 돌려짐 sliding window에서 대표적인 예로 overfit이 있음alexnet을 응용함classification head에 의해서 스코어을 계산함 둰째에서는 저 window을 옮겨서 점수을 또 냄최종적으로 얻게되는건 저 4개의 박스와 4개의 점수을 얻음이것을 알고리즘을 통해 하나의 박스와 점수을 얻게 됨응용단에서는 수십 수백개의 슬라이딩 윈도우을 함각각의 슬라이딩 윈도우마다 연산을 해야하니까 너무 연산량이 많음그래서 저 뒷단의 fc을 convnet으로 바꿈저 fc단의 vector로 생각하지말고 또 다른 convolution layer의 dimention이라고 생각하자 overfeat이 위에서 봤던 예제 object.. 더보기
CNN을 이용한 얼굴 분류기 딥러닝(CNN)을 이용해 얼굴 분류기을 만든 과정에 있어 여기저기 참고하여 실습한 내용을 정리하였다.목차는 실험보고서처럼 구성하였으며 아래와 같다. 1. 서론 -. 본 실험을 통해 CNN기수에 대한 이해와 인물 얼굴 분류기을 제작해 보려 한다. -. 본 실험은 배운 이론을 바탕으로 데이터 수집부터 keras을 이용해 구현까지 직접 수행해 보았다. 2. 실험 관련 이론 -. 일반적인 FCNN과 CNN의 가장 큰 차이점이라 함은 이미지 인식에 있어 이미지의 모든 픽셀을 분석하지않고 지역적, 공간적 상관관계을 고려한 학습을 한다. 따라서 효과적으로 Data-representation을 수행하고 이를 통해 분류 작업에 있어 높은 성능을 보인다. -. 실험에서 단순 층계수, 노드수의 hyper-parameter말.. 더보기
cs231n 6강 Training NN part 2 activation function을 통해 nonlinearity을 줘야됨 gradient가 0이 되어버림batch normcross validation 을 통해 최적의 parameter을 찾아나가야됨파라미터 업데이트 하는 부분을 주목해보자단순한 gradient decentsgd는 매우 느림너무 느려서 실제상황에서는 잘 사용안함우리는 지금 저 빨간점이라 하자이 lossfunction이 수직으로는 매우 높고수평으로는 경사가 매우 얕은걸 확인할수있음이떄 경로을 생각해보자수직으로는 경사가 높기때문에 빨리수평으로는 천천히그러다보니 매우 느리게 업데이트됨첫번째로 볼께 모멤ㅌㅁ근본적인 차이는sgd같은경우 x을 직접 업데이트함momentum은 v을 줌v을 한번 업데이트하고v을 통해서 x을 업데이트함이건 마치 언덕에서.. 더보기