티스토리챌린지
[ 오류 해결 ] Mac에서 `pip install pygraphviz` 설치 문제 해결하기
[ 오류 해결 ] Mac에서 `pip install pygraphviz` 설치 문제 해결하기
2024.11.27Mac에서 pygraphviz를 설치하려고 할 때, 아래와 같은 오류 메시지가 발생할 수 있습니다.이 문제는 pygraphviz가 Graphviz 라이브러리를 찾지 못해 발생합니다. 일반적으로 brew install graphviz로 Graphviz를 설치하면 해결될 것으로 기대되지만, 환경 설정이 올바르지 않으면 문제가 지속될 수 있습니다.아래는 이 문제를 해결한 방법입니다.1. 문제pip install pygraphviz 명령을 실행하면 다음과 같은 오류가 발생합니다.에러 요약:Graphviz의 헤더 파일(cgraph.h)을 찾지 못함빌드 과정에서 clang 컴파일러 에러 발생pygraphviz/graphviz_wrap.c:3023:10: fatal error: 'graphviz/cgraph.h' f..
AI 에이전트 시작하기: LangGraph 개념과 실습
AI 에이전트 시작하기: LangGraph 개념과 실습
2024.11.26AI 에이전트는 LLM(Large Language Model)을 활용하여 복잡한 작업을 수행하는 자동화된 시스템입니다. 일반적인 LLM 사용이 단순 프롬프트-응답 방식이라면, 에이전트는 더 복잡하고 반복적인 작업을 수행할 수 있습니다.AI 에이전트의 핵심 디자인 패턴계획(Planning): 작업을 수행하기 위한 단계를 미리 생각하고 계획합니다.도구 사용(Tool Use): 검색, 계산 등 필요한 도구들을 활용합니다.반성(Reflection): 결과를 반복적으로 개선하며, 여러 LLM이 결과를 검토하고 제안할 수 있습니다.다중 에이전트 통신: 각각의 LLM이 고유한 역할을 수행하며 서로 협력합니다.메모리: 여러 단계에 걸친 진행 상황과 결과를 추적합니다. AI와 AI 에이전트의 차이: 깊이 '생각하는' A..
AWS CLI로 S3 관리하기: 파일 업로드, 다운로드, 버킷 생성
AWS CLI로 S3 관리하기: 파일 업로드, 다운로드, 버킷 생성
2024.11.25Amazon S3(Simple Storage Service)는 AWS에서 제공하는 확장 가능하고 안정적인 객체 스토리지 서비스입니다. AWS CLI(Command Line Interface)를 사용하면 Amazon S3의 기능을 효율적으로 관리할 수 있습니다. 이 글에서는 AWS CLI를 사용해 S3 버킷 생성, 파일 업로드 및 다운로드와 같은 기본 작업을 다루어 보겠습니다.S3란?Amazon S3는 클라우드 스토리지 서비스로, 데이터를 객체 단위로 저장하며 높은 가용성과 보안을 제공합니다. S3는 웹 애플리케이션, 백업 및 복구, 빅데이터 분석 등 다양한 용도로 사용됩니다.S3 작업을 위한 사전 준비AWS CLI로 S3를 관리하려면 다음이 필요합니다:AWS CLI 설치 및 구성AWS CLI 설치 가이드..
[Python] 함수형 프로그래밍
[Python] 함수형 프로그래밍
2024.11.24함수형 프로그래밍은 함수를 일급 객체로 취급하며, 불변 데이터와 순수 함수를 중심으로 하는 프로그래밍 패러다임입니다. Python은 객체지향 언어이지만, 함수형 프로그래밍의 강력한 기능도 제공합니다. 이 글에서는 Python에서 제공하는 함수형 프로그래밍 기법과 이를 활용하는 방법을 다룹니다.1. 함수형 프로그래밍이란?함수형 프로그래밍은 다음과 같은 특징을 가지고 있습니다:순수 함수: 함수는 입력값만을 사용하며 외부 상태를 변경하지 않습니다.불변성: 데이터는 변경되지 않고, 항상 새 데이터를 반환합니다.고차 함수: 함수를 매개변수로 전달하거나 반환할 수 있습니다.Python에서 함수형 프로그래밍을 지원하는 주요 도구는 map(), filter(), reduce(), 그리고 lambda 함수입니다.2. m..
[Python] 시간과 날짜 처리
[Python] 시간과 날짜 처리
2024.11.23Python은 날짜와 시간을 다루기 위한 강력한 모듈들을 제공합니다. datetime, time, calendar 모듈을 활용하면 다양한 날짜와 시간 작업을 간단히 수행할 수 있습니다. 이 글에서는 날짜와 시간을 다루는 기본적인 방법, 시간 계산, 특정 포맷 변환 등 유용한 기능들을 소개합니다.1. datetime 모듈: 날짜와 시간 처리의 기본datetime 모듈은 날짜와 시간 정보를 생성, 조작, 포맷팅 하는 데 사용됩니다.날짜와 시간 생성from datetime import datetime# 현재 날짜와 시간now = datetime.now()print("현재 날짜와 시간:", now)# 특정 날짜와 시간specific_date = datetime(2024, 12, 25, 15, 30)print("..
[OpenCV] Basic 14 - 텍스트 추가하기 (Add Text)
[OpenCV] Basic 14 - 텍스트 추가하기 (Add Text)
2024.11.22OpenCV에서는 이미지에 텍스트를 추가하여 설명이나 주석을 넣을 수 있습니다. 예를 들어, 객체 인식 후 객체의 이름을 표시하거나, 특정 위치에 정보를 표시할 때 유용하게 사용할 수 있습니다. putText 함수를 사용하여 이미지를 원하는 스타일과 위치로 꾸밀 수 있습니다.Import packagesimport cv2import numpy as npimport matplotlib.pyplot as pltFunction to Display Images in Jupyter NotebookJupyter Notebook 및 Google Colab에서 이미지를 표시할 수 있도록 Function으로 정의합니다.def img_show(title='image', img=None, figsize=(8, 5)): ..
[OpenCV] Basic 13 - 윤곽선 검출 (Contour Detection)
[OpenCV] Basic 13 - 윤곽선 검출 (Contour Detection)
2024.11.21윤곽선 검출은 이미지 내 객체의 경계를 찾아내는 방법으로, 주로 이미지에서 객체를 분리하거나 추적할 때 사용됩니다. OpenCV에서 findContours 함수를 이용해 윤곽선을 검출할 수 있습니다. 윤곽선은 연속된 경계의 좌표 목록으로 반환되며, 이를 활용해 윤곽선을 그리거나 특정 모양을 검출할 수 있습니다.Import packagesimport cv2import numpy as npimport matplotlib.pyplot as pltFunction to Display Images in Jupyter NotebookJupyter Notebook 및 Google Colab에서 이미지를 표시할 수 있도록 Function으로 정의합니다.def img_show(title='image', img=None, ..
[OpenCV] Basic 12 - 이미지 필터 (Filters) 적용
[OpenCV] Basic 12 - 이미지 필터 (Filters) 적용
2024.11.20이미지 필터는 이미지에 다양한 효과를 적용하거나, 특정 특징을 강조하고 노이즈를 제거하는 데 사용됩니다. OpenCV는 여러 가지 필터를 제공하며, 상황에 따라 적절한 필터를 선택해 이미지를 처리할 수 있습니다. 기본적으로 많이 사용하는 필터에는 블러링 필터와 샤프닝 필터, 엠보싱 필터가 있습니다.Import packagesimport cv2import numpy as npimport matplotlib.pyplot as pltFunction to Display Images in Jupyter NotebookJupyter Notebook 및 Google Colab에서 이미지를 표시할 수 있도록 Function으로 정의합니다.def img_show(title='image', img=None, figsize..
[OpenCV] Basic 11 - 이미지 히스토그램 (Histogram) 분석
[OpenCV] Basic 11 - 이미지 히스토그램 (Histogram) 분석
2024.11.19이미지 히스토그램은 이미지에서 색상 분포나 밝기 정보를 시각적으로 표현한 그래프입니다. 히스토그램을 분석하면 이미지의 명도, 대비, 색상 정보를 알 수 있어 이미지 처리에서 중요한 역할을 합니다. 예를 들어, 히스토그램을 사용해 이미지의 밝기나 대비를 조정할 수 있습니다.Import packagesimport cv2import numpy as npimport matplotlib.pyplot as pltFunction to Display Images in Jupyter NotebookJupyter Notebook 및 Google Colab에서 이미지를 표시할 수 있도록 Function으로 정의합니다.def img_show(title='image', img=None, figsize=(8, 5)): pl..
[Python] 제너레이터 (Generator)
[Python] 제너레이터 (Generator)
2024.11.18Python에서 제너레이터(Generator)는 큰 데이터를 메모리에 효율적으로 처리할 수 있게 도와주는 특별한 이터레이터입니다. 일반적인 함수와 달리, 제너레이터는 값을 한 번에 하나씩 반환하고, 매번 호출될 때 이전 상태를 기억합니다. 제너레이터는 yield 키워드를 사용하여 값을 반환하며, return을 사용하면 더 이상 값을 생성하지 않고 종료됩니다제너레이터의 특징메모리 효율성: 제너레이터는 값을 필요할 때마다 하나씩 생성하므로, 큰 데이터를 처리할 때 메모리를 아낄 수 있습니다.Lazy Evaluation(지연 평가): 모든 값을 한꺼번에 생성하지 않고, 요청할 때마다 값을 생성하여 반환합니다.상태 유지: yield 키워드 덕분에 함수의 상태가 유지되며, 중단된 위치에서 다시 시작할 수 있습니다..
Anthropic의 프롬프트 엔지니어링 도구: Prompt Improver 출시
Anthropic의 프롬프트 엔지니어링 도구: Prompt Improver 출시
2024.11.17앤트로픽(Anthropic)이 11월 15일, 개발자들을 위한 새로운 프롬프트 엔지니어링 도구를 공개했습니다. 프롬프트 최적화와 예시 관리를 자동화할 수 있는 이 도구들에 대해 자세히 살펴보겠습니다. Improve your prompts in the developer consoleToday, we're introducing the ability to improve prompts and manage examples directly in the Anthropic Console.www.anthropic.com프롬프트의 품질이 AI의 품질을 결정AI 모델과 대화할 때 우리가 어떤 방식으로 질문하고 지시하느냐에 따라 결과물의 품질이 크게 달라집니다. 이를 '프롬프트 엔지니어링'이라고 하는데, 사실 이 작업이 만만..
[OpenCV] Basic 10 - 이미지 색상 변환 (Color Conversion)
[OpenCV] Basic 10 - 이미지 색상 변환 (Color Conversion)
2024.11.16이미지 색상 변환은 이미지를 다양한 색상 공간으로 변환하여 처리할 수 있도록 하는 작업입니다. OpenCV에서는 여러 색상 공간(BGR, RGB, Grayscale, HSV, Lab 등)을 지원하며, 상황에 따라 적절한 색상 공간을 선택해 이미지 분석이나 필터링 작업을 수행할 수 있습니다. 특히 색상 공간 변환은 색상 추출, 객체 탐지, 이미지 분할 등에 유용합니다.Import packagesimport cv2import matplotlib.pyplot as pltFunction to Display Images in Jupyter NotebookJupyter Notebook 및 Google Colab에서 이미지를 표시할 수 있도록 Function으로 정의합니다.def img_show(title='imag..