Tech & Development/Programming Languages
Python Packaging: pyproject.toml로 프로젝트 설정을 간편하게!
Python Packaging: pyproject.toml로 프로젝트 설정을 간편하게!
2024.04.25Python 프로젝트를 개발하다 보면 프로젝트 설정과 관련된 여러 파일들을 다뤄야 합니다. setup.py, requirements.txt, Pipfile, setup.cfg 등 다양한 파일들이 존재하죠. 하지만 이제 pyproject.toml이라는 새로운 표준이 등장했습니다. 이 글에서는 pyproject.toml에 대해 자세히 알아보고, 어떻게 구성하고 사용하는지 살펴보겠습니다.pyproject.toml 소개pyproject.toml은 Python 프로젝트의 빌드 시스템과 관련된 설정을 포함하는 파일입니다. 패키징 도구뿐만 아니라 linters, type checkers 등 다양한 도구들에서 사용됩니다. pyproject.toml에는 세 가지 TOML 테이블이 있을 수 있습니다.[build-syste..
Python 패키지 관리: requirements.txt 활용하기 (@ file)
Python 패키지 관리: requirements.txt 활용하기 (@ file)
2023.09.25Python 개발을 할 때, 프로젝트에 필요한 패키지들을 효과적으로 관리하는 것은 매우 중요합니다. `requirements.txt`는 이러한 패키지 관리를 도와주는 간단하면서도 강력한 도구입니다. 1. requirements.txt란? requirements.txt는 프로젝트에서 사용하는 Python 패키지들의 목록을 포함하는 텍스트 파일입니다. 이 파일을 통해 다른 개발자나 환경에서도 동일한 패키지와 버전을 쉽게 설치할 수 있습니다. 2. requirements.txt 생성하기 현재 환경에 설치된 패키지들의 목록을 `requirements.txt`로 저장하려면 다음 명령어를 사용합니다. 1) 기본방법 pip freeze > requirements.txt pip freeze 명령어도 패키지 목록을 생성..
Jupyter Notebook에 가상 환경 커널 추가
Jupyter Notebook에 가상 환경 커널 추가
2023.08.21Jupyter Notebook (Jupyter Lab)에서 가상 환경을 커널로 추가하려면 아래 내용을 참고하세요. 1. 먼저, 원하는 가상 환경을 생성합니다. 가상 환경을 생성하는 방법은 여러 가지가 있지만, virtualenv 또는 conda 등을 사용할 수 있습니다. Python 가상환경 구성 [참고] 가상환경을 구성하는 이유 python은 현재 2.x 버젼과 3.x 버젼이 혼용되는 과도기에 있고 때론, 2.x 버젼의 python 환경에서 프로젝트를 개발해야할 때도 있고, 3.x버젼의 python 환경에서 개발해 yunwoong.tistory.com 2. 해당 가상 환경을 활성화합니다. virtualenv의 경우: source myenv/bin/activate conda의 경우: conda activ..
Mojo🔥: AI를 위한 새로운 프로그래밍 언어
Mojo🔥: AI를 위한 새로운 프로그래밍 언어
2023.07.03세계에서 가장 많이 사용되는 프로그래밍 언어 중 하나인 Python은 그 사용자 친화적인 특성 덕분에 다양한 분야에서 활용되고 있습니다. 웹 개발자부터 데이터 과학자, 마케터, 심지어 AI 전문가 등, 여러 전문가들이 Python을 선택하는 주된 이유는 초보자에게도 친숙하며 읽고 쓰기 쉬운 언어라는 점입니다. 그러나 C++이나 Rust에 비해 Python의 실행 속도는 훨씬 느리고 배포 과정이 복잡하다는 단점이 있습니다. Python 프로그램을 완성한 후 이를 사용자에게 배포하려면, Python 자체를 설치해야 하고 해당 프로그램을 실행하는 데 필요한 모든 패키지를 추가로 설치해야 합니다. C++은 속도가 빠르지만, 배우고 사용하기 어렵다는 단점이 있었습니다. 이러한 문제점들을 해결하기 위해 등장한 것이..
gradio를 이용한 Chatbot 만들기 (GPT-3.5)
gradio를 이용한 Chatbot 만들기 (GPT-3.5)
2023.04.03OpenAI가 ChatGPT를 내놓은 이후 전 세계가 들썩이고 있습니다. 다양한 기업들이 자신만의 기술과 ChatGPT를 접목한 사업한 사업을 선보이고 있습니다. Chatbot은 고객과 최종 사용자가 직접 소통하도록 설계되었기 때문에 다양한 입력 프롬프트에 직면했을 때 Chatbot이 예상대로 작동하는지 확인하는 것이 매우 중요합니다. gradio는 Chatbot 데모를 쉽게 구축하고 GUI를 통해 직접 테스트할 수 있습니다. OpenAI의 GPT-3.5 모델로 챗봇 프로그램을 만들어 보겠습니다. 1. 설치 (Installation) gradio 패키지 설치는 pip 명령어를 이용하여 설치할 수 있습니다. pip install gradio gradio 설치와 관련된 내용은 이전 글을 참고하시기 바랍니다...
gradio 시작하기 (설치방법)
gradio 시작하기 (설치방법)
2023.04.03AI 학습 모델은 강력하고 매우 흥미롭지만 그 자체로만 본다면 그다지 유용해 보이지 않습니다. 모델이 완성되면 어떠한 가치를 제공할 수 있는지 증명이 필요한데 Accuracy, Precision, Recall, IOU, PSNR와 같은 성능 지표로는 확인이 어렵기 때문입니다. 데이터 과학자나 머신러닝 모델을 연구하는 개발자가 학습 모델을 쉽고 빠르게 배포하여 이해 관계자로부터 피드백을 받을 수 있는 몇 가지 도구가 등장했습니다. 대표적으로 gradio, Streamlit, Dash, Flask가 있는데 이번 글에서는 Gradio를 설치하고 간단한 예제를 수행해 보도록 하겠습니다. 설치 (Installation) gradio 패키지 설치는 pip 명령어를 이용하여 설치할 수 있습니다. pip install..
Streamlit을 이용한 Chatbot 만들기 (Blenderbot, GPT-3)
Streamlit을 이용한 Chatbot 만들기 (Blenderbot, GPT-3)
2023.03.31streamlit-chat은 Streamlit을 이용하여 실시간 대화형 Web 애플리케이션을 쉽게 만들 수 있는 패키지입니다. 만드는 방법은 매우 간단하며 예제 확인도 가능합니다. streamlit-chat으로 Hugging Face에서 제공하는 Facebook AI BlenderBot과 OpenAI의 GPT-3 모델로 챗봇 프로그램을 만들어 보겠습니다. 1. 설치 (Installation) streamlit과 streamlit-chat 패키지 설치는 pip 명령어를 이용하여 설치할 수 있습니다. pip install streamlit pip install streamlit-chat streamlit 설치와 관련된 내용은 이전 글을 참고하시기 바랍니다. Streamlit 시작하기 (설치방법) Stream..
Streamlit 시작하기 (설치방법)
Streamlit 시작하기 (설치방법)
2023.03.31Streamlit은 Machine learning과 Data science project에서 사용자가 Web 애플리케이션을 쉽게 생성하고 공유할 수 있는 Python 오픈 소스 라이브러리입니다. Streamlit을 사용하면 최소한의 코드와 노력으로 interactive 가능한 Web 애플리케이션으로 빠르게 만들 수가 있습니다. 설치 (Installation) streamlit 패키지 설치는 pip 명령어를 이용하여 설치할 수 있습니다. pip install streamlit 설치 후 터미널에 streamlit hello 를 입력했을 때 Streamlit Hello 앱이 열리면 모든 준비가 끝난 것입니다. 이 앱은 Streamlit으로 무엇을 할 수 있는지 많은 예제를 제공하고 있습니다. streamlit..
Pynecone 시작하기 (설치 및 환경구성)
Pynecone 시작하기 (설치 및 환경구성)
2023.03.23Pynecone은 Web App을 Build 하고 배포하기 위한 오픈 소스 풀스택 Python 프레임워크입니다. 2022년 11월, Nikhil Rao와 Alek Petuskey 두 사람에 의해 발표되었으며 이전에 Web 개발 경험이 없더라도 Python 개발자라면 매우 쉽게 대화형 Web App을 만들 수 있도록 하는 것을 목표로 하고 있습니다. 현재는 60개 이상 빌트인 Component를 갖고 있으며 계속해서 추가를 하는 중입니다. 더보기 아래는 Pynecone Doc에서 소개하고 있는 Motivation입니다. Pure Python Use Python for everything. Don't worry about learning a new language. Easy to Learn Build and..
ipywidgets widget 종류와 사용방법
ipywidgets widget 종류와 사용방법
2023.03.03ipywidgets은 Jupyter Notebook과 JupyterLab 내에서 데이터 분석 및 시각화를 위해 다양한 widgets를 제공합니다. ipywidgets의 개념과 설치방법은 링크된 페이지에서 확인 가능합니다. widget 형식 widget Numeric widgets IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText Boolean widgets ToggleButton, Checkbox, Valid Selection widgets Dropdown, RadioButtons..
Jupyter Notebook 인터렉티브(interactive) 기능 추가 - ipywidgets
Jupyter Notebook 인터렉티브(interactive) 기능 추가 - ipywidgets
2023.02.28ipywidgets 이란? ipywidgets은 Jupyter Notebookr과 JupyterLab에서 인터렉티브(interactive) 기능을 추가하거나 시각화하기 위한 라이브러리입니다. 다양한 그래픽 컨트롤과 위젯을 사용하여 Jupyter Notebook 내에 데이터 분석과 시각화를 위한 대화형 사용자 인터페이스를 만들 수 있습니다. Button, Slider, Progressbar, Text Box 등 다양한 인터페이스 위젯을 지원합니다. 예를 들어 사용자가 실시간으로 데이터를 탐색하고 상호 작용할 수 있는 대화형 대시보드를 만들 수 있습니다. ipywidgets는 데이터 탐색과 분석을 위해 Jupyter Notebook을 사용하는 분석가나 개발자가 사용해 보면 매우 좋을 것 같습니다. 설치 (I..
[Python] 문자열을 숫자로 변환
[Python] 문자열을 숫자로 변환
2023.01.251. int(), float() 함수 가장 간단한 방법은 int() 함수와 float() 함수를 사용하는 것입니다. 예를 들어, 문자열 "123"을 정수로 변환하려면 다음과 같이 할 수 있습니다. string = "123" number = int(string) print(number) # 123 문자열 "3.14"를 실수로 변환하려면 다음과 같이 할 수 있습니다. string = "3.14" number = float(string) print(number) # 3.14 2. eval() 함수 eval() 함수를 사용할 수 있습니다. eval() 함수는 문자열로 전달된 수식을 계산하고 그 결과를 반환합니다. string = "123" number = eval(string) print(number) # 12..