목록Activity/Intern (11)
데이터 꿈나무
안녕하세요~ 이번 포스팅은 InI파일을 읽어와 파일 안에 원하는 텍스트가 있는지 확인하고, 있으면 ‘y’ 없으면 ‘n’를 출력하도록(리스트에 정보를 담도록) 하는 작업을 진행해볼거예요..! 지난 포스팅 코드에서 일부를 추가한 작업이니, 아래 글을 참고해주세요😊 https://risingdata.tistory.com/67 [Python_ts3] cv2 모듈 이미지 띄우고 키 값 리스트에 저장하기(cv2.imread, cv2.waitKey) 안녕하세요~ 이번에는 cv2 모듈을 통해 이미지를 띄우고, 사용자가 누르는 키 값을 리스트에 저장하는 task를 해보려고 해요. os모듈과 반복문을 통해 라벨링된 초음파 이미지 데이터를 창에 띄우 risingdata.tistory.com 우선 아래 코드까지는 저번 포스팅..
안녕하세요~ 이번에는 cv2 모듈을 통해 이미지를 띄우고, 사용자가 누르는 키 값을 리스트에 저장하는 task를 해보려고 해요. os모듈과 반복문을 통해 라벨링된 초음파 이미지 데이터를 창에 띄우면서, 라벨링이 제대로 된 데이터(이미지)인지 확인하기 위한 자동화 툴을 구현해볼거예요. 이미지를 자동으로 창에 띄우면서 제가 'yes'나 'no'를 누르며 이 이미지의 라벨링이 잘 되었는지 저장해주는 코드인거죠..! 빈 리스트에 'yes'나 'no'값을 저장해나갈거랍니다.😊 데이터는 아래와 같이 생겼는데요, 왼쪽은 라벨링이 잘 된 상태, 오른쪽은 라벨링이 잘 되지 않은 상태입니다. os모듈에 대한 포스팅은 이전 포스팅에서 진행했었는데요, 사용법을 참고하고 싶으시면 아래 글을 확인해주세요 :) https://ri..
📌 그래프의 정의 정점과 간선으로 이루어진 비선형 자료구조 📌 그래프 용어 정점(Vertice) : 노드라고도 한다. 정점에는 데이터가 저장된다. 간선(edge) : 링크라고도 한다. 정점간의 관계를 나타낸다. 인접 정점 : 간선에 의해 연결된 정점. (갈 수 있는 점) 단순 경로 : 경로에 중복되는 정점과 간선이 없는 경로 📌 방법 2차원 배열로 간선을 표현하는 방식 : 두 정점 사이에 간선이 있는지를 한번에 찾을 수 있다. : 구현이 간단하다는 장점이 있지만, 공간 복잡도가 제곱으로 공간 성능이 안 좋다. 시간 복잡도도 좋지 않다. 리스트로 간선을 표현하는 방식 : 두 정점 사이에 간선이 있는지를 일일이 확인해야 한다. : 각 노드마다 리스트가 하나씩 있다. : 구현이 다소 복잡하다는 단점이 있지만,..
삽입 정렬 (Insert Sort) 앞쪽의 원소들은 이미 정렬되었다고 가정 정렬할 원소부터 차례로 삽입될 위치를 찾아 삽입한다. 💡 핵심 아이디어 : 원소를 알맞은 위치에 삽입하자. 퀵 정렬 (Quick Sort) 임의의 Pivot(보통 제일 앞 또는 뒤의 요소)을 선정하고, Pivot을 기준으로 작고, 큰 묶음으로 나눈다. 나눠진 좌우 묶음에 대해 더 이상 쪼개지지 않을 때까지 반복한다. ※ 데이터가 정렬된 경우 O(N2)까지 성능이 저하된다. 💡 핵심 아이디어: Pivot을 중심으로 나눈다. (Pivot은 보통 맨앞 or 맨뒤로 잡는다.) 합병 정렬 (Merge Sort) 분할 : 배열의 크기가 1이 아니라면, n/2로 쪼갠다. 정복 : 각 부분 배열을 정렬한다. 통합 : 부분 배열을 합병하여 하나의..
안녕하세요~ 저번 포스팅 때 os.path.split과 os.path.splitext에 대해서 포스팅을 했었는데요, 이후에 새로운 과제를 진행하게 되어 이 주제로 포스팅 해보려고 해요:) 이번 주제는 상위폴더 아래 여러 하위폴더 내에 있는 파일 정보를 가져오는 방법입니다! 저번 포스팅이 궁금하신 분들은 아래 링크를 클릭해주세요~! https://risingdata.tistory.com/63 [Python] os.path.split과 os.path.spiltext 알기 안녕하세요~! 오늘은 os.path로 파일 경로 다루는 법을 포스팅 해보려고 해요. 저도 os는 많이 다뤄보지 않아서 자세한 내용은 몰랐는데, 이번에 인턴하면서 알게 되어서 공부 겸 포스팅하려고 합 risingdata.tistory.com ..
안녕하세요~! 오늘은 os.path로 파일 경로 다루는 법을 포스팅 해보려고 해요. 저도 os는 많이 다뤄보지 않아서 자세한 내용은 몰랐는데, 이번에 인턴하면서 알게 되어서 공부 겸 포스팅하려고 합니다ㅎㅎ 도움이 되셨으면 좋겠어요! 우선, 저는 의료 데이터인 dicom파일을 이용해서 파일을 다뤄볼텐데요, dicom파일은 간단히 말하면 의료 이미지 및 데이터를 저장하기 위한 표준 포맷 및 통신 프로토콜을 지칭하는 용어입니다. dicom에 대해 더 궁금하신 분은 아래 '더보기'를 클릭해주세요..! 더보기 DICOM은 "Digital Imaging and Communications in Medicine"의 약자로, 의료 이미지 및 관련 데이터를 저장, 표현 및 교환하기 위한 표준 포맷 및 통신 프로토콜을 지칭..
딥러닝에서 사용되는 앙상블 학습 방법 중 하나로, 학습 중에 여러 개의 “스냅샷” 모델을 생성하고 이들을 결합하여 예측 성능을 향상 시키는 기법이다. SSE의 핵심은 Cyclical learning rate(e.g. Cosine Annealing)을 사용함으로써 다양한 관점(driverse prediction)을 학습한 단일 모델을 얻을 수 있다는 것이다. 위 그림을 보면 cyclical(주기적) lr을 사용하는 모델은 여러 개의 local optima에 도달할 수 있고, 각각의 local optima를 ensemble(앙상블)하고 있다. ✅ 스냅샷 모델이란? Snapshot Ensemble에서 사용되는 여러 개의 중간 모델 중 하나를 가리킨다. 학습 중에 특정 지점에서 신경망의 가중치를 저장한 것이다...
📌 MobileNet이란? 컴퓨터 비전 작업을 위한 경량화된 신경망 아키텍쳐이다. 모바일 및 임베디드 장치에서 실시간 이미지 인식 및 처리와 같은 작업에 사용하기에 적합한 모델로 개발되었다. 모바일 기기에서 돌아갈 수 있을 만큼 경량한 구조를 설계하는데 집중했다. 📌 특징 경량화 디자인 작은 모델 크기와 낮은 계산 비용을 가지고 있어, 리소스가 제한된 환경에서도 효과적으로 동작할 수 있다. 주로 모바일 기기, 드론, 로봇 및 기타 임베디드 시스템에서 유용하게 활용한다. Depthwise Separable Convolution 이 레이어를 사용하여 모델의 효율성을 극대화한다. 이러한 레이어는 컨볼루션 연산을 두 단계로 분리하여 연산량을 크게 줄여준다. 다양한 버전 여러가지 버전과 크기를 제공하며, 필요에 ..
[논문] EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks 📌 EfficientNet 모델이란? 모델 크기를 효율적으로 조절하면서 높은 성능을 유지하는 목표로 개발된 심층 신경망 아키텍쳐 EfficientNet은 아래의 “Scaling Dimensions”의 세가지 방법에 대한 최적의 조합을 찾는 AutoML을 통해 찾은 모델이다. 그러므로 3가지를 효율적으로 조절할 수 있는 compound scaling 방법을 제안한다. 따라서, 제한된 resourse 범위에서 최적의 조합을 고려한다. → 기존보다 훨씬 적은 파라미터 수로 더욱 좋은 성능을 내서 SOTA를 달성할 수 있었다. ※ Scaling Dimensions이란? (더..
💡 VIT (Visual Transformer) 모델이란? Transformer 아키텍쳐를 활용하는 컴퓨터 비전 모델. 이미지 인식 및 처리 작업에서 높은 성능을 발휘하는 딥러닝 모델로, 자연어 처리(NLP) 분야에서 성공을 거둔 Transformer 구조를 컴퓨터 비전 분야에 적용한 모델이다. 기존의 Convolutional Neural Networks(CNNs) 대신 Transformer 구조를 사용함으로써, 전역적인 이미지 정보를 적절하게 포착하고 처리할 수 있다. 이미지를 작은 패치로 나누고(Image patch), 이 패치들을 Sequence로 변환하여 이미지를 처리하고 분류하는 방식 📌 선정 이유 논문 "An Image is Worth 16x16 Words: Transformers for Im..