읽을거리

2021-07-02 읽을거리

scjung 2021. 7. 2. 12:31

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 라이브러리에 이러한 기능들이 존재한다는 것이 놀랍게 다가온다.

https://medium.com/distributed-computing-with-ray/getting-started-with-distributed-machine-learning-with-pytorch-and-ray-27175a1b4f25

 

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들에 대한 자세한 설명이 없어서 답답했는데 이 글이 해소시켜 준다.

https://medium.com/analytics-vidhya/gradient-boosting-lightgbm-xgboost-and-catboost-kaggle-challenge-santander-f3cf0cc56898

 

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 라이브러리

지금까지 데이터 시각화 라이브러리 중 가장 직관적이고 쓰기 쉬워보이는 라이브러리로 생각된다.

코드가 다른 라이브러리보다 조금은 더 복잡하지만 시각화 관점에서는 매우 좋은 라이브러리

https://medium.com/analytics-vidhya/explainer-dashboard-build-interactive-dashboards-for-machine-learning-models-fda63e0eab9

 

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