※ 반효경 교수님의 운영체제와 정보기술의 원리를 기반으로 작성하였습니다. 컴퓨터 시스템의 구조 CPU 중앙처리장치로 Central Processing Unit의 줄임말이다. 컴퓨터를 제어하고 연산을 수행하는 기능을 한다. CPU는 크게 데이터 가져오기(Fetch), 디코딩(Decoding), 실행(Execute)의 세 단계로 나누어진다. 이진수로 된 데이터를 RAM으로부터 가져오는 것을 fetch라고 한다. 명령은 명령 해독기라는 회로를 통해서 이동하고, 작동을 위해 전달되는 신호로 변환되는데 이것을 디코딩이라고 한다. 마지막으로 실행단계에서 명령문은 CPU안에 관련된 부분으로 전달되어 연산을 수행하고 그 결과는 레지스터에 저장된다. Modebit 모드빗은 CPU내부에 존재하며, CPU의 상태를 나타내는..
※ 이 포스트는 머신러닝 디자인 패턴을 기반으로 작성되었습니다. Feature store Feature store는 말 그대로 feature를 저장하는 공간이다. 여기서 feature란 개별적으로 측정가능한 특성을 의미하며, 효율적인 ML 알고리즘을 만들기 위해 중요한 요소이다. Feature는 raw data로부터 feature engineering을 통해 얻어지며, 일관된 방식으로 계산되도록 ML엔지니어보다는 도메인 지식을 가진 사람이 제어하는 것이 좋다. 프로젝트의 규모가 커지고 데이터가 많아질수록 ad-hoc 방식에는 한계가 생긴다. 이러한 한계점을 해결하기 위해 feature store를 사용하며, feature engineering을 feature사용(모델링)에서 분리하여, feature 개발..
동기식과 비동기식이라는 용어는 꼭 OS가 아니더라도 많이 사용되는 용어이다. 하지만 OS를 공부하면서 정리하는 것이므로 입출력을 기반으로 정리해보려고 한다. 동기식 입출력(syncronous I/O) 어떤 프로그램이 입출력을 요청했을 때 입출력 작업이 완료된 후에 그 프로그램이 후속 작업을 수행할 수 있는 방식이다. 주로 읽기 작업에 사용된다. 일반적으로 디스크, 키보드와 같은 I/O 하드웨어들이 속도가 느리므로 CPU는 입출력 작업을 기다려야 한다. I/O요청을 수행하는 동안 CPU는 별다른 일을 하지 않는 것이다. 따라서 일반적으로 입출력 수행 중에 CPU를 다른 프로그램에 할당해 CPU가 계속 쉬지 않고 일을 할 수 있도록 관리한다. 이 관리를 위해 운영체제는 프로그램을 몇 가지 상태로 나누어 관리..
※ 반효경 교수님의 운영체제와 정보기술의 원리를 기반으로 작성하였습니다. 운영체제(Operating System, OS)의 정의 운영체제는 컴퓨터 하드웨어 바로 윗단에 설치되는 소프트웨어를 말한다. 컴퓨터 하드웨어와 다른 모든 소프트웨어를 연결해 사용하게 편리하게 하드웨어를 사용할 수 있게 해주는 소프트웨어이다. 컴퓨터 전원을 켜면 이와 동시에 운영체제가 실행된다. 하지만 운영체제는 크기가 꽤 큰 소프트웨어여서 전체를 메모리에 올리게 되면 메모리 공간의 낭비가 심할 것이다. 따라서 운영체제의 사용되는 일부 부분만 메모리에 올려놓게 된다. 이때 메모리에 상주하는 운영체제의 부분을 커널(kernel)이라고 하며 이를 좁은 의미의 운영체제로 보기도 한다. 넓은 의미의 운영체제는 커널뿐 아니라 시스템을 위한 유..
※ 이 포스트는 머신러닝 디자인 패턴을 기반으로 작성되었습니다. 일반적인 end-to-end ML워크플로는 데이터 수집 → 데이터 검증 → 데이터 전처리 → 모델 구축 → 학습 및 평가 → 모델 배포로 이루어진다. 규모가 작거나 혼자 작업한다면 모놀리식(monolithic) 환경에서 작업할 수 있지만, 규모가 점점 커지고 기여하고자 하는 사람이 많아진다면 모놀리식 환경은 오히려 작업을 느리게 만들 수 있다. 이런 경우, 마이크로 서비스 아키텍처(Microsevice Architecture, MSA) 환경을 사용하면 애플리케이션을 작은 부분으로 나누어 관리하므로 관리가 쉬워질 수 있다. (모놀리식과 MSA에 대한 조금 더 자세한 설명은 아래에) 아키텍처를 선택해 각 단계의 초기 개발이 완료되면 환경 변화에..
머신러닝 디자인 패턴 책을 공부하면서 여러 Machine Learing Pipeline을 소개해 정리해 보았다. TFX(TensorFlow Extended) TFX | ML 프로덕션 파이프라인 | TensorFlow 종단 간 프로덕션 ML 파이프라인을 구축하고 관리합니다. TFX 구성 요소는 확장 가능한 고성능 데이터 처리, 모델 교육 및 배포를 가능하게 합니다. www.tensorflow.org 구글에서 만든 플랫폼으로 이름에서도 알 수 있듯 TensorFlow에 기반하고 있다. ML 시스템을 정의하고, 실행하고, 모니터 하는데 필요한 component들을 통합하는 라이브러리이다. Orchestration은 Airflow나 Kubeflow 같은 다른 플랫폼을 사용하여 할 수도 있다(Orchestrati..
이 책은 머신러닝에 필요한 디자인 패턴을 아래의 6개 카테고리에 따라 나누어 소개한다. 여기서의 디자인 패턴은 자주 발생하는 문제 상황에 대한 패턴화된 해결책 정도로 생각하면 될 듯 하다. 2. 데이터 표현 3. 문제 표현 4. 모델 학습 5. 탄력성 6. 재현성 7. 책임있는 AI 각 카테고리와 상관없이 ML개발 step을 나누고 그에 해당되는 패턴을 정리해보았다. 개인적인 생각으로만 정리한 것이기도 하고, 디자인 패턴이 여러 단계에 얽혀있을 수 있어서 표에 정리된 것이 부정확할 수 있다. (틀린 부분이나 어색한 부분이 있다면 언제든지 댓글로 피드백 부탁드립니다..) ML step design pattern framework 문제 선택 및 분석 데이터 수집 데이터 검증 및 정제 특징 해시(2.2) 리밸..
※ 이 포스트는 머신러닝 디자인 패턴을 기반으로 작성되었습니다. 특징 해시 디자인 패턴이 카테고리형 입력 변수(강아지, 고양이처럼 분류가능한 입력)를 표현하는 방식은 다음과 같다. 카테고리를 고유한 문자열로 변환한다. 변환한 문자열에 대해 결정론적(random seed 없음)이며, 이식 가능한(동일한 알고리즘을 학습과 서빙에서 모두 사용 가능) 해시 알고리즘을 호출한다. 해시 결과를 원하는 버킷 수로 나누고, 절대값을 취한다.(해시 함수가 음수값을 반환할 수 있기 때문) 버킷 수는 경험적으로 하나의 버킷이 5개의 항목을 혼합하는 정도가 적절하다고 한다. 이와 같은 방식으로 feature를 나타내게 되면 복잡하고 개수가 많은 input을 적은 수의 숫자로 나타낼 수 있다. 따라서 이 패턴은 cardinal..
분류(Classification)란? 입력 벡터 $\textbf{x}$가 주어졌을 때 이를 $K$개의 이산 클래스 $C_{k}$들 중 하나에 할당하는 것이다. Regression은 타깃 변수(target variable)이 예측하고자 하는 실수였지만, classification은 명확한 class를 표현해야 하므로 다양한 방식으로 타깃 변수를 사용한다. 표현 방법 중 한가지가 원 핫 인코딩(one hot encoding)이다. input space는 결정 경계(decision boundary) 혹은 결정 표면(decision surface)이라고 불리우는 경계를 바탕으로 여러개의 결정 구역으로 나눠지게 된다. 선형 모델로 해결하는 방법 분류문제는 두 개의 단계로 나눌 수 있다(1.5.4 참고). 추론 단..
torch mobile을 만드는 것을 시도하는 중이다. 코드는 adabins 공식 코드를 이용했다. quantization은 옵션이고, torch.jit.script를 통해서 scriptmodule을 만들어야 optimize_for_mobile을 통해서 최적화를 할 수 있다. python = 3.8 torch = 1.9.0+cu111 에러1 torch.jit.frontend.NotSupportedError: Compiled functions can't take variable number of arguments or use keyword-only arguments with defaults: File "/workspace/AdaBins_compression_test/models/unet_adaptive_b..
- TRACKING
- Gan
- pcb
- conditional GAN
- depth
- depthmap
- 신호처리
- 딥러닝
- Raspberry Pi
- machine learning
- feature
- image
- deeplearning
- AI
- 디지털신호처리
- 운영체제
- design pattern
- ML Pipeline
- OS
- 3d object detection
- Operating System
- MLOps
- DSP
- mode collapse
- Deep learning
- Building Basic GAN
- Generative Model
- ML
- Depth estimation
- controllable GAN
- Total
- Today
- Yesterday
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |