CS 공부/AI
-
Github Action을 사용한 CI/CDCS 공부/AI 2023. 7. 4. 19:08
Git Flow Continuous Integration (지속적 통합) 새롭게 작성한 코드 변경 사항이 build, test 진행 후 test case에 통과됐는지 확인 지속적인 코드 품질 관리 개발자 모두가 CI 프로세스 진행 Continuous Deploy (지속적 배포) 작성한 코드가 신뢰 가능한 상태가 되면 자동으로 배포될 수 있도록 하는 과정 CI 이후 CD 진행 dev/staging/main 브랜치에서 Merge가 될 경우 코드가 자동으로 서버에 배포 CI / CD Voila, Streamlit에 적용 local에서 개발하고 main으로 merge시 production 서버에 포드 배포 Jenkins, circleci, travis CI, github action 등이 있음 Github Ac..
-
[Serving] CloudCS 공부/AI 2023. 7. 2. 19:04
Cloud 서비스를 사용하는 이유 자신의 컴퓨터로 서비스를 만들 수도 있음 IP로 누구나 접근할 수 있게 수정하고, IP 공유하기 위함 Apache Spark를 쉽게 운영할 수 있도록 AWS EMR, GCP Dataproc 등을 활용 -> 직접 하둡을 설치할 필요 없이 이미 설치되어 있음 주피터 노트북 환경도 미리 설치해두고 사용할 수 있음 (tensorflow, cuda 등) Cloud 서비스의 다양한 제품 Computing Service: 가상 컴퓨터, 서버 (인스턴스 생성 후, 인스턴스에 들어가서 사용 가능) Serverless Computing: 서버 관리를 클라우드쪽에서 진행. 코드를 클라우드에 제출하면 그 코드를 가지고 서버를 실행해주는 형태. (Auto Scaling 가능) Stateless..
-
[Segmenation] Semantic Segmentation의 다양한 기법들CS 공부/AI 2023. 7. 2. 16:51
기존 Augmentation Horizontal flip Vertical flip Rotation etc... 최신 Augmentation Cutout (Albumentation.CoarseDropout) random하게 박스를 생성하기 때문에 사진마다 성능의 편차가 존재 Gridmask (Albumentation.GridDropout) cutout이 객체의 중요 부분 혹은 context 정보를 삭제할 수 있다는 단점을 해결하기 위해 규칙성 있는 박스를 통해 cutout하는 방안을 제시 Mixup Cutmix from cutmix.cutmix import Cutmix from cutmix.utils import CutmixCrossEntropyLoss SnapMix CAM을 이용해 이미지 및 라벨을 mi..
-
[Segmentation] DeepLab v2~v3+, PSPNetCS 공부/AI 2023. 6. 8. 01:10
DeepLab v2backbone이 VGG-16에서 ResNet-101로 변경됨 conv1 block : 7x7 conv - BatchNorm - ReLU - MaxPoolconv2~conv5: 채널 수를 맞추기 위해 1x1 Conv 추가 (64 ➞ 256, 128 ➞ 512, 256 ➞ 1024, 512 ➞ 2048)conv3 block의 첫번째 sub-block에서 stride=2를 이용한 down-sampling 수행 (128x128 -> 64x64), stride=2 1x1 Conv 추가 conv4,5 block에서 dilated convolution 사용 (down-sampling x) PSPNet도입 배경Mismatched Relationship: 기존의 FCN은 보트랑 차의 외관이 비슷하..
-
[Segmentation] DeconvNet, SegNet, FC DenseNet, Unet, DeepLab, DilatedNetCS 공부/AI 2023. 6. 6. 19:01
FCN의 한계점 객체의 크기가 크거나 작은 경우 잘 예측을 못함 큰 object의 경우 지역적인 정보로만 예측 같은 object여도 다르게 labeling 작은 object가 무시되는 문제 (max pooling) Object의 디테일한 모습이 사라지는 문제 발생 Deconvolution의 절차가 간단해서 물체의 경계를 학습하기 어려움 Decoder을 개선한 모델들 (DeconvNet, SegNet) DeconvNet Architecture Decoder와 Encoder을 대칭으로 만든 형태 Encoder(Conv-Conv-Pooling - 7x7 conv) - 1x1 conv - Decoder(7x7 Deconv - Unpooling - Deconv - ReLU) Convolution Network는 ..
-
[Segmentation] 딥러닝을 이용한 Segmentation FCNCS 공부/AI 2023. 6. 6. 17:17
요약 VGG 네트워크 backbone을 사용하여 feature 추출 VGG 네트워크의 FC layer을 Convolution으로 대체 Transposed Convolution을 이용해서 pixel wise prediction 수행 Fully Connected Layer vs Convolution Layer FC layer을 Convolution layer로 대체하였을 때의 장점 FC layer은 flatten 이후에 fc layer을 적용하기 때문에 각 픽셀의 위치정보를 해침 Convolution layer은 각 픽셀의 위치정보를 해치지 않은채로 특징을 추출 1x1 convolution을 사용하면 kernel의 파라미터에 의해 영향을 받고, 이미지 혹은 layer 크기와 상관없이 학습됨 height, w..
-
[Segmentation] Baseline CodeCS 공부/AI 2023. 6. 5. 23:51
평가 Metric : Dice A = Ground Truth B = Prediction def dice_coef(y_true,y_pred): #(B,C,H,W) y_true_f=y_true.flatten(2) y_pred_f=y_pred.flatten(2) intersection=torch.sum(y_true_f * y_pred_f,-1) eps=0.0001 return (2. * intersection + eps) / (torch.sum(y_true_f,-1) + torch.sum(y_pred_f,-1) +eps) # 각 채널(클래스) 별로 수행 Baseline Dataloader __init__ filenames: 각 이미지 경로가 담긴 list labelnames: 각 라벨 경로가 담긴 list t..
-
Annotation 도구 소개CS 공부/AI 2023. 5. 25. 15:24
데이터의 중요성 Supervised Learning 데이터 정제: data clensing, annotation, annotation quality check 양질의 데이터를 확보하려면? People: 가이드 숙지력, 일관된 작업, 작업 효율성, 특이 케이스에 대한 대응력 Process: 일관된 작업을 보장하기 위한 프로세스 정립, 유연성도 필요 Tool: 작업 효율성을 올리기 위한 UX / 자동화 / 부가 기능, 커뮤니케이션 효율화를 위한 게시판, 댓글 기능 CV 데이터 제작 오픈 소스 LabelMe: MIT에서 공개한 이미지 데이터 annotation 도구를 참고하여 만든 오픈소스 polygon, circle, rectangle, line, point annotation 수행 가능 장점 설치가 용이하..