TOP
class="layout-aside-left paging-number">
본문 바로가기
728x90

[파이썬 Projects]/<파이썬 머신 | 딥러닝 & AI>43

[Teachable Machine] 코딩없이 머신러닝 모델 만들기 - 2 이전 내용  [Teachable Machine] 코딩없이 머신러닝 모델 만들기 - 1Teachable Machine 이란? Teachable Machine은 누구나 머신러닝 모델을 쉽고 빠르고 간단하게 만들 수 있도록 제작된 웹 기반 도구이다.특별한 전문지식이나 코딩 능력 필요 없이 머신러닝 모델을 간단히puppy-foot-it.tistory.com Teachable Machine 을 통해 쿠로미와 하츄핑 이미지를 분류하는 모델을 만들었다.수행 내용 및 목표 이번에는 만들어진 모델을 활용하여 실제로 사용할 수 있는 사이트를 생성 및 배포하려 한다.Teachable Machine 에서 만든 모델 다운로드 생성한 AI를 웹서버에 옮기기 위해 일단 내보내기로 모델을 다운받는다. 1. 모델 내보내기 클릭 2. .. 2024. 9. 24.
[Teachable Machine] 코딩없이 머신러닝 모델 만들기 - 1 Teachable Machine 이란? Teachable Machine은 누구나 머신러닝 모델을 쉽고 빠르고 간단하게 만들 수 있도록 제작된 웹 기반 도구이다.특별한 전문지식이나 코딩 능력 필요 없이 머신러닝 모델을 간단히 만들 수 있다. 티처블머신이란, 누구나 쉽고 간단하게 나만의 머신러닝 모델을 만들 수 있도록 구글에서 제공하는 웹 기반 도구를 말한다. 티처블머신은 컴퓨터의 웹캠이나 마이크를 활용해 별도의 머신러닝 코드를 작성하지 않아도 이미지, 사운드, 포즈를 인식하여 구별할 수 있도록 학습시킬 수 있다. 티처블머신을 학습시키기 위해서는 먼저 학습시키고자 하는 데이터를 컴퓨터에게 클래스 또는 카테고리로 그룹화 하여 입력해준다. 이후 수집된 자료로 모델을 학습시킨 후 올바르게 학습했는지 테스트한다. .. 2024. 9. 23.
[파이썬 머신러닝] 경사 하강법(GD, gradient descent) 경사하강법 경사하강법(GD, gradient descent)은 여러 종류의 문제에서 최적의 해법을 찾을 수 있는 일반적인 최적화 알고리즘이다. 경사 하강법의 기본 아이디어는 비용 함수를 최소화하기 위해 반복해서 파라미터를 조정해 가는 것이다.파라미터 벡터에 대해 비용 함수의 현재 그레이디언트를 계산하고 그 그레이디언트가 감소하는 방향으로 진행한다. 이 그레이디언트가 0이 되면 최소값에 도달한 것이다. 머신러닝 회귀 알고리즘은 데이터를 계속 학습하면서 비용 함수가 반환하는 오류 값을 지속해서 감소시키고 최종적으로는 더 이상 감소하지 않는 최소의 오류 값을 구하는 것인데, 어떻게 비용 함수가 최소가 되는 W 파라미터를 구할 수 있을까?★ W 파라미터 (Weight) : 가중치 W 파라미터의 개수가 적다면 고.. 2024. 9. 22.
[머신러닝] 회귀(Regression) 회귀(Regression) 회귀 분석은 데이터 값이 평균과 같은 일정한 값으로 돌아가려는 경향을 이용한 통계학 기법이다.회귀는 여러 개의 독립변수와 한 개의 종속변수 간의 상관관계를 모델링하는 기법을 통칭한다. 예를 들어 집의 방 개수, 방 크기, 주변 학군 등 여러 개의 독립변수에 따라 주택 가격이라는 종속변수가 어떤 관계를 나타내는지를 모델링하고 예측하는 것이다.머신러닝 관점에서 보면 독립변수는 피처에 해당되며 종속변수는 결정 값이다. [변수]영향을 주는 변수독립 변수, 설명 변수, 예측 변수영향을 받는 변수종속 변수, 반응 변수, 결과 변수머신러닝 회귀 예측의 핵심은 주어진 피처와 결정 값 데이터 기반에서 학습을 통해 최적의 회귀 계수를 찾아내는 것이다.회귀 모형의 가정 선형성, 독립성, 등분산성,.. 2024. 9. 21.
[파이썬 머신러닝] 스태킹 앙상블 시작에 앞서해당 내용은 ' 권철민 지음. 위키북스' 를 참고하여 작성되었습니다. 보다 자세한 내용은 해당 서적에 상세히 나와있으니 서적을 참고해 주시기 바랍니다.스태킹 모델 스태킹(Stacking)은 개별적인 여러 알고리즘을 서로 결합해 예측 결과를 도출한다는 점에서 배깅(Bagging) 및 부스팅(Boosting)과 공통점을 갖고 있으나, 가장 큰 차이점은 개별 알고리즘으로 예측한 데이터를 기반으로 다시 예측을 수행한다는 것이다.- 배깅: 훈련 세트에서 중복을 허용하여 샘플링하는 방식.- 부스팅: 약한 학습기를 여러 개 연결하여 강한 학습기를 만드는 앙상블 방법, 앞의 모델을 보완해나가면서 일련의 예측기를 학습시킴. 즉, 개별 알고리즘의 예측 결과 데이터 세트를 최종적인 메타 데이터 세트로 만들어 별도.. 2024. 9. 21.
[머신러닝 프레임워크] Keras vs Tensorflow vs Pytorch 머신러닝 프레임워크 Keras vs Tensorflow vs Pytorch 비교하기 문서 작업을 할 때 MS Word, 한컴 등 다양한 프로그램이나 툴처럼 AI 개발, 학습, 배포 후 운영 작업을 하는 과정에서 다양한 프레임워크를 활용할 수 있는데, 대표적으로는 Keras(케라스), Tensorflow(텐서플로우), Pytorch (파이토치)가 있다.그전에, 머신러닝이라는 개념에 대해 알고 싶다면 [파이썬 머신러닝] 머신러닝과 생태계 이해머신러닝의 개념 머신러닝은 일반적으로, 애플리케이션을 수정하지 않고도 데이터를 기반으로 패턴을 학습하고 결과를 예측하는 알고리즘 기법을 통칭한다.업무적으로 복잡한 조건/규칙들이puppy-foot-it.tistory.com 프레임워크란,개발 과정의 설계와 구현을 좀 더 편.. 2024. 9. 9.
[머신러닝] Pytorch 설치하기 (Nvidia GPU 버전) 머신러닝에 적합한 도구: PyTorchPyTorch: 딥러닝 최적화 프레임워크PyTorch는 2016년에 출시된 딥러닝 프레임워크로, 신경망 모델 구축과 훈련에 특화되어 있다. 파이썬 기반으로 쉽게 배울 수 있고, 특히 즉시 실행 기능을 통해 디버깅이 용이하다. GPU 병렬 연산을 지원하여 대규모 데이터 처리에 강점이 있다. PyTorch는 심층 신경망 작업에서 매우 유용하며, GPU 가속을 통해 처리 성능을 높여준다. CUDA와 cuDNN 같은 API를 활용해 속도를 극대화할 수 있다.◆ 장점쉽고 직관적: 텐서플로우보다 접근이 쉬우며, 즉시 실행으로 디버깅을 쉽게 할 수 있다.빠른 속도: GPU 가속 덕분에 복잡한 계산을 빠르게 처리.Dynamic Graph: 모델 구조를 변경할 때 유연성을 제공.★ .. 2024. 9. 9.
[머신러닝] Intel GPU로 Pytorch 구동하기(는 안할게..) to. 바쁘신 분들 결론적으로는, 이것저것 설치를 하면 새로운 에러들이 부수적으로 떠서 회사 컴퓨터에 인텔 oneAPI 툴킷을 설치하는 것은 보류하였습니다. 회사 컴퓨터가 개발자용이 아닌데다가,  업무 시간에 딥러닝 머신러닝 모델 구현하는 것도 눈치보일 거 같아서..  최종 에러 메시지는 아래와 같습니다.intel oneapi data analytics library error: sequence execution failed 혹시 시간되시고, 착하시고, 프로그래밍 척척 박사이신 분들께서는 댓글을 남겨주시면저같은 초보 개발자, 입문자, 그외에 엔비디아 GPU 가 아닌 컴퓨터로 파이토치를 해보고자 하는 많은 이들에게 구원이 될 것이라 믿습니다.아무튼, 해당 포스팅은 실패 사례 입니다. 만약, 머신러닝 용 노.. 2024. 9. 9.
[머신러닝] 머신러닝에 적합한 도구, Pytorch 설치하기(CPU버전) 머신러닝에 적합한 도구: PyTorchPyTorch: 딥러닝 최적화 프레임워크PyTorch는 2016년에 출시된 딥러닝 프레임워크로, 신경망 모델 구축과 훈련에 특화되어 있다. 파이썬 기반으로 쉽게 배울 수 있고, 특히 즉시 실행 기능을 통해 디버깅이 용이하다. GPU 병렬 연산을 지원하여 대규모 데이터 처리에 강점이 있다. PyTorch는 심층 신경망 작업에서 매우 유용하며, GPU 가속을 통해 처리 성능을 높여준다. CUDA와 cuDNN 같은 API를 활용해 속도를 극대화할 수 있다.◆ 장점쉽고 직관적: 텐서플로우보다 접근이 쉬우며, 즉시 실행으로 디버깅을 쉽게 할 수 있다.빠른 속도: GPU 가속 덕분에 복잡한 계산을 빠르게 처리.Dynamic Graph: 모델 구조를 변경할 때 유연성을 제공. ★.. 2024. 9. 8.
[텐서플로우 설치] X고생한 텐서플로우 import 성공기 지금 이 글은 나와 비슷한 상황을 겪고 있는 분들을 위해서,그리고 회사 컴퓨터(월급루팡...)와 집 노트북 (또 미래의 새 노트북 구입) 2가지로 파이썬을 하고 있는 필자를 위해 남겨두는 기록이다.이미지 분류 CNN 딥러닝 모델을 구현하기 위해 텐서플로우 설치 및 import 가 필수적이었다. [머신러닝] 텐서플로우(TensorFlow)란?텐서플로우(TensorFlow)란? 텐서플로우(TensorFlow)는 구글에서 개발한 오픈소스 머신러닝 프레임워크이다. 주로 딥러닝 모델을 만들고 학습시키는 데 사용되며, 다양한 플랫폼에서 실행이 가능하다.puppy-foot-it.tistory.com 텐서플로우 설치는 쉬우나, 이를 import 하는데 각종 에러가 난무하였다.에러1을 해결하면, 에러2라는 새로운 에러가.. 2024. 9. 7.
[CNN 구조] 합성곱 신경망을 사용한 컴퓨터 비전 CNN 구조 전형적인 CNN 구조는 합성곱 층을 몇 개 쌓고(각각 ReLU 층을 그 뒤에 놓고), 그 다음에 풀링 층을 쌓고, 그 다음에 또 합성곱 층을 몇 개 더 쌓고, 그 다음에 다시 풀링 층을 쌓는 식이다.네트워크를 통과하여 진행할수록 이미지는 점점 작아지지만 합성곱 층 때문에 일반적으로 점점 더 깊어지며, 더 많은 특성 맵을 가진다. 지난 몇 년간 기본 구조에서 여러 변형이 개발되었고 인공 지능 분야의 놀라운 발전을 이끌었다.얼마나 진전되는지 확인하는 방법은 ILSVRC 이미지넷 대회(http://image-net.org) 같은 경연 대회의 오류율을 보는 것이다.대회에서 우승한 모델들의 발전 과정을 살펴보면 CNN의 작동 방식과 어떻게 딥러닝 연구가 발전되었는지 이해하는 데 많은 도움이 될 것이다.. 2024. 9. 6.
[이미지 전처리] OpenCV를 통한 이미지 Resize 작업 수집된 이미지들을 머신 러닝 모델 학습에 사용하거나 YOLO와 같은 객체 감지 모델에서 실행하기 전에 크기를 통합하거나 기타 작업을 수행하여 이미지를 전처리 하는 것이 중요하다. 이미지 크기 통일이 중요한 이유 1. 모델 입력의 일관성: YOLO를 포함한 많은 모델은 입력 이미지가 특정 크기(예: YOLO의 경우 416x416 또는 640x640)를 가질 것으로 예상. 크기가 다른 이미지를 공급하면 오류가 발생하거나 성능이 저하될 수 있다.2. 효율적인 학습: 균일한 크기의 이미지가 있으면 모델이 다양한 이미지 크기를 처리할 필요가 없으므로 학습 프로세스가 단순화되고 수렴이 향상된다.3. 왜곡 방지: 신중하게 크기를 조정하면 이미지 내의 객체가 모델 성능에 영향을 줄 수 있는 왜곡되지 않도록 할 수 있다.. 2024. 9. 6.
[이미지 라벨링] LabelImg 설치 및 실행 하기 학습할 이미지를 수집했으므로, 다음으로 해야할 작업은 이미지를 라벨링하는 작업이다. [이미지 웹스크래핑] 픽사베이 API Key 발급을 통한 이미지 수집앞서 네이버를 통해 이미지 웹스크래핑으로 이미지를 수집했으나, 그 수가 현저히 모자라기도 하고 원하는 이미지 (Tire Tread) 외에 다른 이미지까지 포함되어 있어 좀 더 정확한 이미지 + 대규모puppy-foot-it.tistory.com 구글링을 통해 이미지 라벨링 툴(Image Labeling Tool)을 검색하니, 다양한 라벨링 툴이 나온다.하지만, 어떤 게 좋은지 감이 없기 때문에 파이썬에 해당 라이브러리가 있는지 챗gpt를 통해 파악해본다.Python과 잘 작동하는 인기 있는 이미지 라벨링 도구는 LabelImg입니다. 이 도구는 오픈 소스.. 2024. 9. 6.
[머신러닝] 차원의 저주(Curse of Dimensionality)란? 고차원의 데이터 분석에서 발생하는 문제를 설명하는 용어로 "차원의 저주(Curse of Dimensionality)"가 있습니다. 이 문제는 특히 빅데이터 분석과 머신러닝에서 많이 다뤄지며, 데이터셋의 피처(차원) 수가 매우 많을 때 발생하는 여러 가지 어려움을 의미합니다. "차원의 저주"는 고차원 공간에서 데이터를 분석할 때 발생하는 여러 문제를 설명하는 용어로, 데이터 희소성, 계산 요구 사항의 증가, 과적합, 거리 지표의 비효율성을 포함합니다. 이러한 문제를 해결하기 위해 차원 축소, 특징 선택, 정규화, 고차원에 적합한 알고리즘 사용 등의 기법이 필요합니다.  차원의 저주를 이해하고 해결하는 것은 큰 데이터셋을 다룰 때, 데이터 분석 및 머신러닝 모델의 성능과 정확도에 직접적인 영향을 미치기 때문.. 2024. 9. 3.
[머신러닝] 텐서플로우(TensorFlow)란? 텐서플로우(TensorFlow)란? 텐서플로우(TensorFlow)는 구글에서 개발한 오픈소스 머신러닝 프레임워크이다. 주로 딥러닝 모델을 만들고 학습시키는 데 사용되며, 다양한 플랫폼에서 실행이 가능하다. 텐서플로우는 직관적인 API와 대화형 코드 샘플을 통해 머신러닝을 쉽게 배울 수 있도록 도와준다. 텐서플로우는 기계학습 분야를 일반인들도 사용하기 쉽도록 다양한 기능들을 제공한다. 2016년 알파고와 함께 한국에서도 관심이 높아진 추세이며 관련 컨퍼런스들도 개최되고 있다. 고수준 프로그래밍 언어로 알려진 Python을 활용하여 연산처리를 작성할 수 있다. 다른 언어들도 대부분 지원하지만 Python 관련 자료가 가장 많다. 때문에 공개된 지 그리 오래되지 않았음에도 불구하고 다양한 분야에서 활용되고 .. 2024. 8. 6.
728x90