파이썬
-
파이썬: Monad (모나드)컴퓨터/파이썬 2020. 11. 11. 14:34
Monad (단자) Monad (functional programming) - Wikipedia Design pattern in functional programming to build generic types In functional programming, a monad is an abstraction that allows structuring programs generically. en.wikipedia.org Monad란 """ Monad 예제 """ class List: # ...monad... a = List([1.1, 2.6, 3.5]) # a.data = [1.1, 2.6, 3.5] b = a | str | (lambda f: f.zfill(5)) # b.data = ['001.1', '00..
-
Python cProfile + snakeviz 런타임 시각화컴퓨터/파이썬 2020. 11. 4. 15:14
snakeviz jiffyclub/snakeviz An in-browser Python profile viewer. Contribute to jiffyclub/snakeviz development by creating an account on GitHub. github.com 1. 소개 우선 파이썬 내장 모듈인 cProfile은 코드 실행 시간을 보는데 유용하다. (:1()은 무시해도 좋다.) print(cProfile.run("bubbleSort(arr)")) ''' 결과 5 function calls in 2.555 seconds Ordered by: standard name ncalls tottime percall cumtime percall filename:lineno(function) 1 0.0..
-
Python Singly Linked List 함수들컴퓨터/파이썬 2020. 11. 3. 22:22
단일 연결 리스트 연결 리스트 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. ko.wikipedia.org 만들어 볼 것 Magic methods ( lt, gt, pos, repr ) print 함수 add 함수 ( add([1,2,3,4,5] ) getNodesInArray ( head.getNodesInArray() = [1,2,3,4,5] ) linkedify ( [1,2,3,4,5] 배열을 받으면, 1 -> 2 -> 3 -> ...) swap ( a.value, b.value = b.value, a.value) reverse (뒤집기) ( 1 -> 2 -> 3을 3 -> 2 -> 1로) Python sort 함수 이용 정렬 Bubble sort (거품 정렬) Selecti..
-
파이썬 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))) # ..