2021-07-02 읽을거리
python
1. flask 예제
flask에 DB, jinja 템플릿을 연동하여 구성한 예제이다. flask로 웹 페이지를 시작하려는 사람들이 볼만하다고 생각한다.
https://blog.miguelgrinberg.com/post/beautiful-interactive-tables-for-your-flask-templates
Beautiful Interactive Tables for your Flask Templates
Rendering a table with data in a Flask template is a relatively simple task when the table is short, but can be incredibly hard for larger tables that require features such as sorting, pagination and…
blog.miguelgrinberg.com
2. typeclasses 라이브러리
python 에서 추상화와 generic에 대해 typeclasses 라이브러리를 사용하여 좀 더 깔끔한 코드로 작성하는 방법을 알려준다.
예제의 일부 문법이 3.10에만 호환되어 있기 때문에 해당 부분을 유의해서 읽기를 바란다.
https://sobolevn.me/2021/06/typeclasses-in-python#oop-extendability-and-over-abstraction-problems
Typeclasses in Python
Today I am going to introduce a new concept for Python developers: typeclasses. It is a concept behind our new dry-python library called classes. I will tell you in advance, that it will look very familiar to what you already know and possibly even use. Mo
sobolevn.me
3. functools 라이브러리
파이썬 표준 라이브러리로써 심도 깊게 사용할 수 있는 다양한 모듈들이 있다.
그 중에서 유용하게 쓸 수 있는 모듈들에 대해 소개하고 있어서 복잡한 파이썬 코드들을 심플하게 구현하고 싶으면 추천
https://towardsdatascience.com/functools-the-power-of-higher-order-functions-in-python-8e6e61c6e4e4
Functools — The Power of Higher-Order Functions in Python
Take a tour of Python’s functools module and learn how to use its higher-order functions to implement caching, overloading and much more
towardsdatascience.com
4. fds 라이브러리
코드 버전 관리에 사용되는 git과 데이터 버전 관리에 사용되는 dvc를 동시에 컨트롤하는 툴이다.
기존에는 데이터와 코드 버전 관리는 각각 진행되었지만 데이터 + 코드까지 동시에 관리하려면 해당 툴을 사용하는 것을 추천
https://github.com/DAGsHub/fds
DAGsHub/fds
Fast Data Science, AKA fds, is a CLI for Data Scientists to version control data and code at once, by conveniently wrapping git and dvc - DAGsHub/fds
github.com
5. zero 라이브러리
rpc 서버를 만드는 라이브러리이다.
파이썬에서 서버 라이브러리에 익숙하지 않는 개발자들이면 다른 라이브러리보다 더 이해하기 쉽고 구성하기 쉽다고 생각된다.
벤치마크로 다른 라이브러리와 비교하였을 때 초당 처리 건수도 월등히 높은 것으로 소개하고 있다.
https://github.com/Ananto30/zero
Ananto30/zero
Zero: A high performance and fast Python microservice framework (RPC + PubSub) - Ananto30/zero
github.com
6. 코드를 더 빠르게 하기 위한 10가지 방법
이전 읽을거리들에서 소개했던 것들과 또 다른 방법들이 존재하여 공유한다.
https://medium.com/pythonland/10-advanced-python-tricks-to-write-faster-cleaner-code-f9ee76fa878f
10 Advanced Python Tricks To Write Faster, Cleaner Code
From slotted classes to replacing lists with tuples
medium.com
7. zip 모듈을 사용하는 7가지 방법
zip만으로 이렇게 많은 경우에 사용할 수 있는지 놀랐다.
zip 모듈을 사용하는 것 뿐만 아니라 코드를 작성하는 시야를 넓힐 수 있는 글이라고 생각된다.
https://medium.com/techtofreedom/7-levels-of-using-the-zip-function-in-python-a4bd22ee8bcd
7 Levels of Using the Zip Function in Python
Do more by less code
medium.com
DL / ML
1. TFace 라이브러리
해당 라이브러리는 얼굴 인식에 포커스가 되어있는 라이브러리이다.
그래서 Data Augmentation, Backbone model zoo, Face Task, Test Protocol를 내장한 연관된 모든 태스크에 대한 기능들을 넣어둔 것으로 보이고 있다.
https://github.com/Tencent/TFace
Tencent/TFace
A trusty face recognition research platform developed by Tencent Youtu Lab - Tencent/TFace
github.com
2. pytorch + ray 사용법
해당 글에서는 병렬 처리를 위한 ray 뿐만 아니라 pytorch와 연동하여 하이퍼 파라미터 자동 튜닝, serve 등에도 사용하는 방법을 소개한다.
ray 라이브러리에 이러한 기능들이 존재한다는 것이 놀랍게 다가온다.
Getting Started with Distributed Machine Learning with PyTorch and Ray
Ray is a popular framework for distributed Python that can be paired with PyTorch to rapidly scale machine learning applications.
medium.com
3. tensorflow 2.6.0 RC0 릴리스
텐서플로우도 계속해서 발전해나가고 있는 것을 느낄 수 있다.
주요 요점은 keras와의 통합이 완전히 된 것으로 보이고, lite 쪽에 집중하는 것으로 보인다.
하지만 일반적인 이전 버전 사용자들이 사용 시에 눈여겨 볼 만한 부분은 크게 안보이는 것으로 생각되어, '굳이 버전 업그레이드가 필요한가?' 라는 의문이 든다.
https://tensorflow.blog/2021/06/30/tensorflow-2-6-0-rc0/
TensorFlow 2.6.0 RC0
텐서플로 2.6.0 RC0 버전이 릴리스되었습니다. 예상대로 텐서플로 2.6 버전에서 케라스 코드가 기존 멀티백엔드 케라스 저장소인 keras-team/keras로 이동합니다. 이제 텐서플로의 케라스 tf.keras는 keras
tensorflow.blog
4. tree-based model 에 대한 설명
LightGBM, XGBoost 등의 tree-based model의 라이브러리의 argument에 대한 자세한 설명과 수식을 포함하여 low-level로 설명을 하고 있다.
논문과 공식 도큐먼트에도 argument들에 대한 자세한 설명이 없어서 답답했는데 이 글이 해소시켜 준다.
Gradient-Boosting-LightGBM, XGBoost and CatBoost — Kaggle Challenge Santander
Achieved a score of 1.4714 with this Kernel in Kaggle
medium.com
UI / UX
1. explainer dashboard 라이브러리
지금까지 데이터 시각화 라이브러리 중 가장 직관적이고 쓰기 쉬워보이는 라이브러리로 생각된다.
코드가 다른 라이브러리보다 조금은 더 복잡하지만 시각화 관점에서는 매우 좋은 라이브러리
Explainer Dashboard — Build interactive dashboards for Machine learning models
Python Package to Quickly build an interactive dashboard that explains the inner workings of a fitted machine learning model.
medium.com
논문
1. BERT 리뷰
https://lsjsj92.tistory.com/618
BERT 논문 리뷰 - BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding paper review
포스팅 개요 본 포스팅은 Google에서 발표한 자연어 처리(NLP) 논문 중 BERT(BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding) 논문을 리뷰한 포스팅입니다. 앞서 GPT-1 논문..
lsjsj92.tistory.com
ETC
1. 화면 좌표계에 좌층 상단이 원점인 이유
https://blog.naver.com/atelierjpro/222415976419
화면 좌표계에서 좌층 상단이 원점인 이유
구식 영상 장비들은 전자 빔을 가로로 한 줄씩 그리면서 출력을 했었는데 그때 좌측 상단에서부터 그렸기 ...
blog.naver.com