-
2021-07-23 읽을거리읽을거리 2021. 7. 23. 17:51
python
1. faster python 컴파일러 : pypy 라이브러리
python를 빠르게 사용하고 싶다면 pypy 를 사용하라고 소개되어 있다.
다만 지원하는 cpu 아키텍처가 따로 존재하여 호환을 확인하고 사용하라고 되어 있다.
https://guilhermeeuzebio.medium.com/pypy-a-faster-python-ed593707c43c
PyPy, a faster Python
By default Python has CPython under the hood, wait, calm down, what is CPython? Maybe many of you don’t know what it is. Basically CPython…
guilhermeeuzebio.medium.com
2. 텍스트를 예쁘게 꾸미는 라이브러리 : rich 라이브러리
해당 글은 텍스트를 꾸미는 기능을 제공하는 rich 라이브러리에 대해 소개하고 있다.
다만, 여기서는 콘솔 기반으로 소개를 하고 있기 때문에 jupyter에서 동작하는지는 테스트해봐야 한다.
https://medium.com/swlh/rich-beautiful-text-formatting-in-python-db0064e2bee7
Rich: Beautiful Text Formatting in Python
Making Python colorful using Rich Text Formatting
medium.com
3. 파이썬에서 logging하는 방법
해당 글은 python 내에서 logging 하는 방법을 기초부터 deep한 레벨까지 예제와 함께 설명하고 있다.
logging은 서비스를 운영하는 데에 중요한 역할을 하기 때문에 익혀놓는 것을 추천한다.
https://medium.com/pythoneers/master-logging-in-python-73cd2ff4a7cb
Master Logging In Python
Logging is the process of capturing the flow of code as it executes. Logging helps in debugging the code easily by writing logs. Logs are usually written inside a file, called a log file. This File…
medium.com
4. SQL query APIs 라이브러리 : shillelagh 라이브러리
해당 라이브러리는 python에서 SQLite 기반으로 DB를 사용할 수 있는 라이브러리이다.
특이한 점은 구글 스프레드시트 같은 non-SQL 에서도 데이터를 긁어올 수 있다는 점이다.
DB를 따로 구축하기 귀찮으면 해당 라이브러리를 사용해보는 것을 추천
https://github.com/betodealmeida/shillelagh/
GitHub - betodealmeida/shillelagh: Making it easy to query APIs via SQL
Making it easy to query APIs via SQL. Contribute to betodealmeida/shillelagh development by creating an account on GitHub.
github.com
ML / DL
1. RL 을 사용하여 casual structure 찾기
해당 글은 단순히 RL 을 사용하여 casual structure을 찾을 수 있다 정도로 소개하고 있지만,
여기서 소개하는 논문의 경우 RL로 문제들을 풀 수 있다라는 것을 보여주고 있다.
해당 글로는 이해가 제대로 안가니 논문을 보는 것을 추천
https://bellman.tistory.com/39
[3줄 RL] 과학적 발견도 에이전트에게 맡겨둬!
https://openreview.net/pdf?id=S1g2skStPB 1. 과학적 발견, 그러니까 변수들 관의 causal structure를 찾아내는 것은 많은 과학 분야에서 핵심적인 이슈이다. causal structure를 찾는 문제는 주로 DAG(Directe..
bellman.tistory.com
2. snapchat의 pix2pix GAN 모델을 사용한 고양이 얼굴 그리기
해당 글은 snapchat 회사에서 적용한 고양이 얼굴을 그리는 cat face 에 대해 설명하고 있다.
모델 구조는 U-Net 와 유사한 pix2pix generator을 사용하고 있다고 한다.
https://heartbeat.fritz.ai/training-a-tiny-pix2pix-gan-for-snapchat-c6062e86204c
Training a Tiny Pix2Pix GAN for Snapchat
Performing image-to-image translation to transform outlines of cat faces into realistic cats with a model 95% smaller than Pix2Pix
heartbeat.fritz.ai
3. classification 모델을 학습하여 tensorflow lite 모델로 변환하기
해당 글은 coral 툴을 사용하였다고 시작부터 소개를 하고 있지만, 전체적인 내용은 classification
전체적인 내용은 classification 모델을 학습하여 tensorflow lite 모델로 변환하는 예제를 소개하고 있다.
https://blog.tensorflow.org/2021/07/real-world-ml-with-coral-manufacturing.html
Real-World ML with Coral: Manufacturing
This new demo from Coral focuses on worker safety & visual inspection at the edge and is designed to be easily customizable for production deployment.
blog.tensorflow.org
4. Netflix Data Explorer
해당 글은 Netflix에서 만든 Data Explorer 툴이다.
docker를 사용하여 쉽게 배포할 수 있으며 GUI 로 데이터를 다룰 수 있다.
많은 데이터를 통합하여 다룰 때 편해보인다.
https://github.com/Netflix/nf-data-explorer
GitHub - Netflix/nf-data-explorer: The Data Explorer gives you fast, safe access to data stored in Cassandra, Dynomite, and Redi
The Data Explorer gives you fast, safe access to data stored in Cassandra, Dynomite, and Redis. - GitHub - Netflix/nf-data-explorer: The Data Explorer gives you fast, safe access to data stored in ...
github.com
5. Al/ML 파이프라인 프레임워크 : CodeFlare 프레임워크
해당 라이브러리는 cloud 상에서 복잡한 파이프라인을 통합하여 다루기 위한 것으로 소개되고 있다.
하지만 현재 버전이 0.1.2 이고 사용할 수 있는 클라우드가 매우 제한적이어서 아직 유용하게 쓰기는 이른 듯 하다.
https://github.com/project-codeflare/codeflare
GitHub - project-codeflare/codeflare: Simplifying the definition and execution, scaling and deployment of pipelines on the cloud
Simplifying the definition and execution, scaling and deployment of pipelines on the cloud. - GitHub - project-codeflare/codeflare: Simplifying the definition and execution, scaling and deployment ...
github.com
6. encoding time series : Time2Vec
해당 글은 time series 데이터를 encoding 하는 Time2Vec 구조와 예제를 소개하고 있다.
일반 데이터를 vector 형태로 가공하는 것은 많이 봤지만 time series 데이터를 vector로 변환하는 것은 처음 본다.
https://towardsdatascience.com/time2vec-for-time-series-features-encoding-a03a4f3f937e
Time2Vec for Time Series features encoding
Learn a valuable representation of time for your Machine Learning Model
towardsdatascience.com
7. overfitting을 피하는 방법 : pruning
pruning은 기존에 모델 경량화에 쓰이는 방법으로, 연결 노드를 끊어버리는 방법이다.
해당 글에서는 pruning을 사용하여 overfitting이 왜 해소가 되는지 설명하고 있다.
Obtaining Top Neural Network Performance Without Any Training
We know less about NNs than we thought
andre-ye.medium.com
9. pandas query 기능
해당 글은 pandas에서 query 기능만을 사용하여 데이터를 추출하는 방법에 대해 설명하고 있다.
기존 SQL 쿼리문과 거의 비슷한 느낌이라 SQL문에 익숙한 사람이라면 쉽게 쓸 수 있을 것 같다.
https://medium.com/gustavorsantos/pandas-query-the-easiest-way-to-filter-data-39e0163ef35a
Pandas Query: the easiest way to filter data
Learn 7 code snippets that will enhance your productivity.
medium.com
10. Kats 라이브러리 예제
이전에 공유했던 facebook에서 개발한 time-series 처리 라이브러리인 Kats를 사용한 예제를 소개하고 있다.
Kats: a Generalizable Framework to Analyze Time Series Data in Python
Forecast, Detect Change Points, Anomalies, and Get Key Statistics in Time Series
towardsdatascience.com
11. MLOps 툴 5가지
MLOps 툴 중에서 유명한 것 5가지를 소개하고 있다.
자주 보던 툴들도 있지만, 처음 보는 툴 들도 있기 때문에 MLOps에 관심이 있는 사람이라면 한 번 쯤 훑어보는 것을 추천
5 Great MLOps Tools to Launch Your Next Machine Learning Model
Simplifying the machine learning development lifecycle
betterprogramming.pub
12. NLP 을 사용한 text classification 비교 : TF-IDF vs Word2Vec vs BERT
해당 글은 NLP를 사용하여 text classification을 수행하는 예제를 소개하고 있다.
포인트는 TF-IDF, Word2Vec, BERT 간 시각화로 비교하고 있기 때문에 직관적으로 이해하기 좋다.
https://towardsdatascience.com/text-classification-with-nlp-tf-idf-vs-word2vec-vs-bert-41ff868d1794
Text Classification with NLP: Tf-Idf vs Word2Vec vs BERT
Preprocessing, Model Design, Evaluation, Explainability for Bag-of-Words, Word Embedding, Language models
towardsdatascience.com
13. HuggingFace Transformers 병렬 처리 라이브러리 : Parallelformers 라이브러리
해당 라이브러리는 HuggingFace에서 배포하는 Transformer 모델을 한 줄로 병렬 처리, 학습을 할 수 있도록 제공한다.
하단에 HuggingFace 내의 모델 중에서도 지원하는 것과 미지원하는 리스트를 나열하여
사용할 때는 해당 부분을 먼저 보고 적용하는 것을 추천
https://github.com/tunib-ai/parallelformers
GitHub - tunib-ai/parallelformers: Parallelformers: An Efficient Model Parallelization Toolkit for Deployment
Parallelformers: An Efficient Model Parallelization Toolkit for Deployment - GitHub - tunib-ai/parallelformers: Parallelformers: An Efficient Model Parallelization Toolkit for Deployment
github.com
14. JAX 기반 image processing library : PIX 라이브러리
JAX 라이브러리는 구글에서 배포한 선형 대수학 연산 분산 처리 라이브러리이다.
그래서 PIX는 JAX 라이브러리를 base로 image processing을 분산 처리하도록 제공하고 있다.
또한, GPU / TPU 상에서도 분산 처리가 가능하도록 제공하고 있기 때문에
전처리 부분에서도 GPU를 유용하게 사용할 수 있을 것이라 생각한다.
https://github.com/deepmind/dm_pix
GitHub - deepmind/dm_pix: PIX is an image processing library in JAX, for JAX.
PIX is an image processing library in JAX, for JAX. - GitHub - deepmind/dm_pix: PIX is an image processing library in JAX, for JAX.
github.com
논문
1. MobileNet + Object Detection : MobileDets
해당 논문은 MobileNet에 Object Detection을 결합하여 MobileDets라는 것으로 소개하고 있다.
(MobileNetV3이 있다는 것을 처음 봤는데 2019년에 나온 논문이다...)
EfficientDet 와 네이밍이 비슷하다고 느낀다.
https://arxiv.org/abs/2004.14525v3
MobileDets: Searching for Object Detection Architectures for Mobile Accelerators
Inverted bottleneck layers, which are built upon depthwise convolutions, have been the predominant building blocks in state-of-the-art object detection models on mobile devices. In this work, we investigate the optimality of this design pattern over a broa
arxiv.org
2. Transformer를 사용한 sementic segmentation : MaskFormer
해당 글은 transformer 와 segmentation 의 backbone을 결합하여 sementic segmentation을 수행한다.
해당 논문은 페이스북에서 7월 13일에 발표한 논문으로 최신 논문이다.
https://github.com/facebookresearch/MaskFormer
GitHub - facebookresearch/MaskFormer: Per-Pixel Classification is Not All You Need for Semantic Segmentation
Per-Pixel Classification is Not All You Need for Semantic Segmentation - GitHub - facebookresearch/MaskFormer: Per-Pixel Classification is Not All You Need for Semantic Segmentation
github.com
'읽을거리' 카테고리의 다른 글
2021-07-30 읽을거리 (0) 2021.07.31 2021-07-26 읽을거리 (0) 2021.07.26 2021-07-18 읽을거리 (0) 2021.07.19 2021-07-15 읽을거리 (0) 2021.07.16 2021-07-12 읽을거리 (0) 2021.07.12