2020년이 지났습니다. Python 서비스 전문 제공 사이트인 Troy Labs에서 2020년에 출시된 Python 라이브러리 TOP 10을 정리했습니다.
목록에는 FastAPI Typer의 업그레이드 버전, CLI를 컬러로 변환하는 Rich, GUI 프레임워크 기반 Dear PyGui, 오류 메시지를 압축하는 PrettyErrors가 있습니다. 원하는 것은 항상 있습니다.
한번 살펴보세요~
권장(무료): Python tutorial(동영상)
1 Typer는 FastAPI와 동일한 원리를 가지며 둘 다 Python A 고성능입니다. API 서비스 구축을 위한 프레임워크입니다.
FastAPI의 업그레이드 버전으로 코드를 정확하게 기록할 뿐만 아니라, 간편한 CLI 검증도 가능합니다.
Typer는 배우고 사용하기 쉬우며 사용자가 시작하기 위해 복잡한 튜토리얼 문서를 읽을 필요가 없습니다. 편집기(예: VSCode)에서 자동 코드 완성을 지원하여 개발자의 개발 효율성을 높이고 버그 수를 줄입니다. 두 번째로 Typer는 명령줄 아티팩트 Click과 함께 사용할 수도 있으므로 Click의 장점과 플러그인을 활용하여 더욱 복잡한 기능을 구현할 수 있습니다. 오픈 소스 주소:https://github.com/tiangolo/t...
2.Rich
CLI 인터페이스가 흑백이어야 한다고 규정한 사람은 누구입니까? 색상으로도 가능합니다.
Rich API는 터미널 출력에서 풍부한 색상의 텍스트와 절묘한 서식을 제공할 뿐만 아니라 절묘한 테이블, 진행률 표시줄, 편집기, 추적기, 구문 강조 표시 등도 제공합니다. 아래 그림과 같습니다.Python REPL에도 설치할 수 있으며 모든 데이터 구조를 아름답게 출력하거나 주석을 달 수 있습니다.
대체로 다채롭고, 아름답고, 강력합니다. 풍부한 호환성도 좋고, Linux, Mac, Windows 등 다양한 시스템에 적합합니다. 트루 컬러/이모지는 새로운 Windows 터미널에서 작동합니다. 하지만 Rich에는 Python 3.6.1 이상이 있어야 합니다. 오픈 소스 주소:https://github.com/willmcguga...
3. Dear PyGui
위와 같이 터미널 애플리케이션을 매우 아름답게 만들 수 있습니다. 그러나 실제 GUI가 필요할 수도 있습니다.
PyGui는 사용하기 쉽고 강력한 Python GUI 프레임워크입니다. 그러나 다른 Python GUI와는 근본적으로 다릅니다.
즉각 모드 패러다임과 컴퓨터의 GPU를 사용하여 동적 인터페이스를 구현합니다. 실시간 모드 패러다임은 비디오 게임에서 매우 널리 사용됩니다. 즉, 동적 GUI는 데이터를 유지할 필요가 없고 프레임별로 독립적으로 그려집니다. 동시에 GPU를 사용하여 동적 인터페이스를 구축합니다.PyGui는 또한 그림을 그리고, 테마를 만들고, 2D 게임을 만들 수 있습니다. 또한 내장 문서, 로깅, 소스 코드 뷰어 등과 같은 일부 가젯도 포함되어 있습니다. 이러한 가젯은 앱 개발에 도움이 될 수 있습니다.
지원하는 시스템은 Windows 10(DirectX 11), Linux(OpenGL 3) 및 macOS(Metal) 등입니다. 오픈 소스 주소:https://github.com/hoffstadt/...
4. PrettyErrors
PrettyErrors는 매우 간단하고 친숙한 인터페이스가 특징입니다.
가장 중요한 기능은 터미널에서 색상 출력을 지원하고, 파일 스택 추적에 주석을 달고, 오류 메시지를 찾고, 중복 정보를 필터링하고, 핵심 부분을 추출하고, 색상 주석을 수행하여 개발자 효율성을 향상시키는 것입니다.그리고 설치 없이 사용하기 위해 프로젝트에 직접 가져올 수도 있지만, 가져오기 및 구성을 위한 매개변수는 먼저 구성해야 합니다.
오픈 소스 주소: https: //github.com/ onelivesle...
5. 다이어그램
프로그래머는 프로그래밍을 할 때 자신이 설계한 프로그램 코드 간의 복잡한 구조적 관계를 동료에게 설명해야 할 때가 있습니다. 그러나 이는 명확하게 설명할 수 없습니다. 한두 문장으로 표를 그리거나 맥락도를 만들어야 합니다.
일반적으로 프로그래머는 GUI 도구를 사용하여 차트를 처리하고 문서를 시각화합니다. 그러나 다이어그램 라이브러리를 사용하는 것과 같은 더 나은 방법이 있습니다. 다이어그램을 사용하면 설계 도구 없이 Python 코드로 직접 클라우드 시스템 구조를 그릴 수 있습니다. 해당 아이콘은 AWS, Azure, GCP 등을 포함한 여러 클라우드 서비스 제공업체에서 제공됩니다.단 몇 줄의 코드만으로 화살표 기호와 구조 다이어그램을 쉽게 만들 수 있습니다.
Graphviz를 사용하여 이미지를 렌더링하므로 먼저 Graphviz를 설치해야 합니다.
오픈 소스 주소:
https://github.com/mingrammer...
6. Hydra 및 OmegaConf
머신러닝 프로젝트를 하다 보면 환경 구성 작업을 많이 해야 합니다. 따라서 일부 복잡한 애플리케이션에서는 구성 관리 작업도 그에 따라 복잡해집니다.
Hydra를 사용하면 구성이 쉬워집니다. 명령줄 또는 구성 파일의 일부를 덮어쓸 수 있으므로 유사한 구성 파일을 유지 관리하고 결합된 방식으로 구성할 필요가 없으므로 실험 실행 속도가 빨라집니다.
Hydra는 강력한 호환성과 플러그인 구조를 갖추고 있으며 개발자의 운영 파일과 잘 통합될 수 있습니다. 해당 플러그인은 명령줄을 통해 직접 AWS 또는 기타 클라우드 시스템에 코드를 게시할 수도 있습니다.
Hydra는 OmegaConf와도 분리될 수 없습니다. OmegaConf는 Hydra의 계층적 구성 시스템을 위한 협업 API를 제공하여 YAML, 구성 파일, 개체, CLI 매개변수 등을 지원합니다.
오픈 소스 주소:
https://github.com/facebookre...
https://github.com/omry/omega...
7, PyTorch Lightning
PyTorch Lightning도 연구입니다. Facebook 결과로. 고성능 AI 연구를 위한 경량 PyTorch 래퍼입니다. 가장 중요한 기능은 PyTorch 코드를 구문 분석하여 코드 연구 구성 요소와 엔지니어링 구성 요소를 분리할 수 있다는 것입니다.
확장 모델은 모든 하드웨어(CPU, GPU, TPU)에서 실행될 수 있으며 복사가 쉽고, 많은 수의 파일 샘플을 삭제하고 자체 유연성을 유지하며 빠르게 실행됩니다.
Lightning은 GPU 훈련, 분산 GPU(클러스터) 훈련, TPU 훈련 등과 같은 DL/ML 연구의 40개 이상의 부분을 자동화할 수 있습니다...
Lightning은 자동으로 파일을 ONNX 또는 TorchScript는 따라서 빠른 추론을 수행하는 AI 연구자, BERT 또는 자기 지도 학습 연구팀 등에 적합합니다.
오픈 소스 주소:
https://github.com/PyTorchLig...
8, Hummingbird
Hummingbird는 이미 훈련된 ML 모델을 텐서 계산으로 조합하여 새로운 모델을 설계해야 합니다.
또한 사용자는 PyTorch와 같은 신경망 프레임워크를 사용하여 기존 ML 모델을 가속화할 수 있습니다.
추론 API는 sklearn 예제와 매우 유사하며 기존 코드를 재사용할 수 있지만 Hummingbird에서 생성된 코드를 사용하여 구현됩니다.
Hummingbird는 Sklearn API 뒤에 편리한 통합 추론 API도 제공합니다. 이를 통해 추론 코드를 변경하지 않고도 Sklearn 모델을 Hummingbird에서 생성된 모델과 교환할 수 있습니다.
다양한 모델과 형식을 지원할 수 있다는 점에서도 주목받고 있습니다.
지금까지 Hummingbird는 PyTorch, TorchScript, ONNX, TVM 등 다양한 ML 모델을 지원합니다.
오픈 소스 주소:
https://github.com/microsoft/...
9. HiPlot
ML 모델이 점점 더 복잡해지고 하이퍼 매개 변수가 많아짐에 따라 HiPlot을 사용해야 합니다. HiPlot은 페이스북이 올해 3월 출시한 라이브러리로 주로 고차원 데이터 처리에 사용된다.
Facebook AI는 HiPlot을 사용하여 수십 개의 하이퍼 매개변수와 100,000개 이상의 실험을 통해 심층 신경망을 분석합니다.
병렬 그래프와 기타 이미지 방법을 사용하여 AI 연구자가 고차원 데이터의 상관 관계와 모델을 발견하는 데 도움을 주는 가벼운 대화형 시각화 도구입니다.
HiPlot은 다른 시각화 도구에 비해 고유한 장점이 있습니다.
우선 병렬 플롯이 대화형이므로 대화성이 뛰어나므로 다양한 상황에서 이미지 시각화를 만족시킬 수 있습니다.
둘째, 간단하고 사용하기 쉬우며 IPython Notebook을 통해 직접 사용하거나 "hiplot" 명령을 사용하여 서비스를 통해 사용할 수 있습니다.
확장성도 좋습니다. HiPlot의 웹 서비스는 기본적으로 CSV 또는 JSON 파일을 구문 분석할 수 있으며 실험을 HiPlot 실험으로 변환하기 위해 사용자 정의 Python 파서와 함께 제공될 수도 있습니다.
오픈소스 주소 :
https://github.com/facebookre...
참조 링크 :
https://ai.facebook.com/blog/...
10, Scalene
Scalene은 멀티스레드 코드를 올바르게 처리하고 Python 코드와 네이티브 코드의 런타임을 구별할 수 있는 Python 스크립트용 CPU 및 메모리 프로파일러입니다.
코드를 수정할 필요가 없습니다. Scalene 스크립트를 실행하면 각 코드 줄의 CPU 및 메모리 사용량을 보여주는 텍스트 보고서가 생성됩니다. 이 텍스트 보고서를 통해 개발자는 코드 효율성을 향상시킬 수 있습니다.
Scalene은 빠르고 정확하며, 에너지를 많이 소비하는 코드 라인도 표시할 수 있습니다.
오픈 소스 주소
https://github.com/emeryberge...
위 10가지 외에도 Norfair, Quart, Alibi-Detect, Einops 등 이름이 붙은 고성능 Python 라이브러리도 많이 있습니다. ..etc. 자세한 내용은 하단의 링크를 확인하세요.
그럼 올해 유용한 Python 라이브러리를 찾으셨나요?
있으시면 댓글로 공유해주세요~
위 내용은 2020년 가장 강력한 Python 라이브러리 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!