PYTHON
-
파이썬 FastAPI로 REST API 구현하기컴퓨터/파이썬 2020. 10. 31. 00:08
FastAPI 카카오 챗봇 서버 예제 1. FastAPI 설치 pip install fastapi pip install uvicorn # 위는 ASGI 서버 2. FastAPI 베이스 기본 틀 from typing import Optional from fastapi import FastAPI from fastapi.encoders import jsonable_encoder app = FastAPI() @app.get("/") async def read_root(): return "Hi" 서버 실행 (main은 main.py, 이름에 맞춰 바꿔준다.) (코드가 수정될 때마다 알아서 새로고침 해준다.) uvicorn main:app --reload 3. JSON 사용할 데이터는 아래와 같다. language..
-
파이썬 커스텀 range, iterator컴퓨터/파이썬 2020. 10. 30. 22:46
iterator Iterator Objects — Python 3.9.0 documentation Iterator Objects Python provides two general-purpose iterator objects. The first, a sequence iterator, works with an arbitrary sequence supporting the __getitem__() method. The second works with a callable object and a sentinel value, calling the callable docs.python.org 1. 만들어 볼 것 reversed(range) = range(start, end, -1) rrange(10, 1, 2) # 1..
-
파이썬 데코레이터 재귀 함수컴퓨터/파이썬 2020. 10. 30. 14:42
Decorating recursive functions 사용할 데코레이터는 정렬 알고리즘이 정렬을 잘 했는지 체크한다. def isSorted(func): def wrapper(array, *args): lib = bigO() result = func(array, *args) _sorted, index = lib.isAscendingSorted(result) if index == 1: msg = f"{result[index - 1]}, {result[index]}..." elif index == len(result) - 1: msg = f"...{result[index - 1]}, {result[index]}" elif isinstance(index, int): msg = f"...{result[inde..
-
딥러닝: Mish 활성화 함수, 모델 불러오기컴퓨터/파이썬 2020. 10. 29. 23:53
Mish Mish OMish: A Self Regularized Non-Monotonic Neural Activation Function github.com BMVC 2020 (@공식 논문 pdf 링크) 1. 소개 Activation Function (활성화 함수) 중 하나인 Mish는 Swish와 ReLU 보다 전체적으로 좀 더 빠르고 좋은 활성화 함수이다. (소개할 때 최종 정확도에서, Swish (+.494%), ReLU (+1.671%) 라고 함) Mish의 식은 아래와 같고, (forward) 아래 그래프를 그린다. (참고: ReLU = $max(0, x)$ | Swish = $x * sigmoid(x)$) # Pytorch y = x.mul(torch.tanh(F.softplus(x))) # ..
-
딥러닝 옵티마이저: Adabelief Optimizer컴퓨터/파이썬 2020. 10. 27. 12:48
Adabelief v0.1.0 Adapting Stepsizes by the Belief in Observed Gradients Adabelief Optimizer 설명 juntang-zhuang.github.io 1. 소개 공식 소개 Adam처럼 빠르고, SGD처럼 일반화 잘하고, GAN을 트레인 하기에 충분히 안정적이다. Adabelief는 Adam을 수정한 딥러닝 최적화 알고리즘이다. (실제로 Adam에서 한 줄만 바꿔도 됨) 더 빠른 트레이닝 수렴 더 안정적인 트레이닝 더 나은 일반화 더 높은 모델 정확도 2. Adam에서의 문제 SGD(확률적 경사 하강법)의 초반 트레이닝에서 수렴이 너무 느린 문제를 해결한 Adam. 하지만 Adam은, 기울기(gradient)가 크지만, 분산(variance)..
-
Python: Streamlit으로 간단 구글 번역기 GUI컴퓨터/파이썬 2020. 10. 24. 23:38
Streamlit Streamlit — The fastest way to create data apps Streamlit is an open-source app framework for Machine Learning and Data Science teams. Create beautiful data apps in hours, not weeks. All in pure Python. All for free. www.streamlit.io 1. 소개 streamlit 이란 파이썬으로 쉽게 웹 앱을 만들 수 있게 해주는 라이브러리이다. 주로 이렇게 쓰일 수 있다. 링크 streamlit 공식 소개 영상 Click to copy Copied 설치법 pip install streamlit streamlit hello..
-
Cython을 이용한 Bubble Sort컴퓨터/파이썬 2020. 10. 24. 19:43
문법 1. bint 타입으로 bool을 이용할 수 있음. cdef bint swapped = False 2. len(array)는 Py_ssize_t를 return함. // C에서 len(array) - 1 을 구하는 과정 if (unlikely(__pyx_v_array == Py_None)) { PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()"); __PYX_ERR(0, 10, __pyx_L1_error) } __pyx_t_1 = PyList_GET_SIZE(__pyx_v_array); if (unlikely(__pyx_t_1 == ((Py_ssize_t)-1))) __PYX_ERR(0, 10, __pyx_L1_error..
-
Python 모듈 C언어로 만들기컴퓨터/파이썬 2020. 10. 22. 00:34
Python 모듈 1. 소개 전 ctype으로 C언어 코딩 실행하기와 비슷한데 실제로 pip으로 설치할 수 있는 파이썬 패키지를 C언어로 만들어 볼 것이다. Python Github의 C 파일들은 보면 문법이 어느 정도 감이 잡힐 것이다. 할 것 팩토리얼(N!) 결과를 구해내는 방법을 C언어 모듈, Cython (.pyx) 모듈, 기본 파이썬 함수 위 3가지를 비교할 것이다. C언어 파이썬 모듈 제작 1. 우선 setup.py을 대충 아래처럼 만든다. try: from setuptools import setup, Extension except ImportError: from distutils.core import setup, Extension setup( name="C Factorial", version..