Image Processing Using OpenCV
·
AI/computer vision
# 파이선 업그레이드pip install --upgrade pip# 라이브러리 설치pip install opencv-python 데이터 가져오기import cv2# 로컬에서 이미지 가져오기image = cv2.imread('이미지 경로')# 이미지 로드 확인if image is None: print("Error: Unable to load image. Please check the file path.") exit()# 이미지 확인 (height, width, channels)print(f"Original Image Shape: {image.shape}")# 로컬 창에 이미지 출력cv2.imshow('Original Image', image)cv2.waitKey(0) # 사용자가 아무 키나 누..
[AWS SageMaker] ML Model Deployment on SageMaker (feat. Lambda)
·
AI/computer vision
일반적으로 머신러닝 모델을 개발하고 배포하는 과정은 다음과 같습니다. 1. 데이터 수집 / 가공 / 검증2. 모델 선정 및 학습3. 모델 검증 및 평가4. 배포 및 관리 SageMaker 란? AWS Sagemaker는 클라우드 머신러닝 도구로 User가 손쉽게 머신러닝 모델을 구축, 학습, 튜닝, 배포하게 도와주는 완전관리형 서비스입니다. Sagemkaer는 최적화된 다수의 머신러닝 알고리즘이 내장되어있으며 이를 손쉽게 활용도 가능합니다. 이번 글에서는 Sagemaker로 모델을 훈련하고 훈련된 모델을 배포하는 간단한 실습에 대해서 정리해보았습니다.  실습환경 구성 본 실습을 진행하기위해선 다음과 같은 전제조건이 필요합니다.Cloud9 : 클라우드 기반 통합 개발 환경(IDE, Integrated De..
AWS Public Sector Day Seoul 2024 Generative AI Unicorn Party GameDay 참가 후기
·
회고
지난 7월 24일에 열린 AWS Public Sector Seoul 2024 에서 Generative AI Unicorn Party GameDay 에 참가하여 1등을 수상하였습니다.  GameDay는 AWS 환경에서 AWS 솔루션을 사용하여 실제 클라우드 환경에서 기술 문제를 해결하며 문제를 풀어가는 방식으로 진행되는 대회이며, 대회의 Concept에 맞는 시스템/서비스를 구축하고, 다양한 운영 장애/변수 등에 대응하고 성공적으로 시스템/서비스를 구축하여 안정적으로 서비스를 유지하면 Point를 얻는 대회입니다. 대회 주제는 GenAI 기술을 활용하여 Amazon Bedrock,Transcribe,PartyRock,Step Functions AWS 서비스를 활용하여 생성형 기반 어플리케이션 버그 해결하는..
디자인패턴 기반으로 알아보는 SOLID - (2)
·
CS
ISP:  Interface Segregation Principle한 줄 요약 - 인터페이스도 작게 쪼개자1. What 인터페이스 분리?객체는 자신이 사용하는 기능(메서드)에만 의존해야 한다는 원칙이다.다른 말로, 인터페이스는 그 인터페이스를 사용하는 클라이언트(객체)를 기준으로 분리해야 한다.2. Why 중요한 이유?클래스(인터페이스)가 소유하고 있는 책임의 크기를 줄일 수 있고 이를 통해 관심사의 분리라는 이점과 확장성에 용이함을 얻을 수 있기 때문에 중요하다.위 사진을 보면 우리는 이동수단 객체들의 AutoPilot 기능을 컨트롤 하기 위해서 IAutoPilot 인터페이스를 정의하였고 left, right, backward, forward 메서드를 선언 하였다.Car 클래스가 IAutoPilot를 ..
디자인패턴 기반으로 알아보는 SOLID
·
CS
SRP : Single Responsibility Principle한 줄 요약 - 객체를 변경시키는 요인은 무조건 Only 1  하나뿐이어야 한다.1. What 책임이란 무엇일까 ?책임이란, 객체에 의해 정의되는 응집도(행동과 관련된 상태를 한 클래스에 모아 놓는 것) 있는 행위의 집합으로, 객체가 유지해야 하는 정보(상태)와 수행할 수 있는 행동(메서드)에 대해 추상적으로 서술한 문장이다.그래서 책임과 기능의 크기는 다르다. 책임은 객체가 수행할 수 있는 행동을 종합적이고 간략하게 서술하기 때문에 기능 보다 추상적이고 개념적으로 더 크다.2. Why 왜 중요할까 ?고객의 편의성을 증대 시키기 위해서 “커피 주문 시스템”를 개발하기로 했다고 하자.최초 설계 단계에서  1)주문 받기, 2)커피 제조하기, ..
컴퓨터특강 2주차 : OOP
·
CS
기존에 우리가 알던 지식을 기반으로 좀 더 객체지향스럽게 설계 및 개발하는 방법론에 대해서 알아보는 챕터였다.소프트웨어 모듈이 가져야 할 3가지 기능필요한 기능이 오류 없이 제대로 동작하는 것.변경에 용이한 코드.누구 읽어도 이해하기 쉬운 코드; 동작이 우리의 상식(?) 또는 예상에서 크게 벗어나지 않는 코드 절차지향과 객체지향데이터와 프로세스 역할을 분리해서 프로그래밍 하는 방식을 절차지향 프로그래밍이라고 부른다.프로세스는 데이터의 의존하고 있기 때문에 데이터의 변경은 단순히 데이터만 변경하는 것이 아니라 프로세스까지 변경을 해야한다. 즉, 데이터의 변경으로 인한 영향을 지역적으로 고립시키기 어렵다는 것이다. 그렇다면 어떻게 해야 변경하기 쉬운 설계를 할 수 있을까?" 변경하기 쉬운 설계는 한번에 하나..