Contents77 [창시모] unittest in python 들어가며,, git을 통해 모델링 개발을 하다보면 소스 코드의 파이프라인을 뜯어 보고 싶을 때가 있다. 전체 flow를 sequence하게 work하기보다는 모듈 단위로 구획을 나누어 확인해보고 싶은 경험이 다들 있을 것이다. 이때 중요한 건 각 모듈이 input 형태는 어떤지, output 형태는 어떤지 알고 있어야 한다는 점이다. 이를 통해 소스 코드 수정 및 업그레이드를 할 수 있다. 본 글에서 소개하는 기능은 파이썬의 단위 테스트인 unittest이다. DaleSeo 님의 블로그 글을 인용 + 필자의 의견을 종합하여 소개하고자 한다. 원본 글은 다음 링크를 확인하길 바란다. https://www.daleseo.com/python-unittest-testcase/#%EB%A7%88%EC%B9%98%.. 2022. 9. 5. NVIDIA AI 개발자 밋업 - 딥 러닝 모델 학습을 위한 End-to-End 가속화 기술 FESTA 에서 진행한 세션으로 학습 및 추론 시간 감소를 위한 기능 소개 목적으로 nvidia에서 발표 (22년 7월 12일) NVIDIA 세션에서 소개한 기능 AMP (Automatic Mixed Precision) Training 가속화를 기대 [’O0’, ‘O1’, ‘O2’, ‘O3’] APEX 분산 학습 DDP for model: model이 크면 gpu device에 model을 n 등분하여 올린 뒤 학습 ASP (Automatic SParsity) inference 가속화를 기대하기 위한 pruning 을 적용하는 기법 https://github.com/NVIDIA/apex/tree/master/apex/contrib/sparsity GitHub - NVIDIA/apex: A PyTorch .. 2022. 9. 1. [키워드] 개발자 용어 정리 2 UseCase https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=suresofttech&logNo=220845781030 유스케이스는 시스템의 동작을 사용자의 입장에서 표현한 시나리오이며, 시스템에 관련한 요구사항을 알아내는 과정이다. 소프트웨어 개발 프로세스 중 개발을 위한 스프트웨어의 기능을 개략적으로 설명이 가능한 방법이기도 하다. 유스케이스는 시스템을 분석하는 사람과 사용할 사람이 함께 시스템의 사용 방법을 결정하는데에 도움을 준다. 유스케이스를 작성할 때 주의해야 할 점은 시스템을 개발하는 사람보다는 사용자의 입장에서 이해하기 쉽고 간단하게 작성되어야 한다는 것이다. IFrame Message http://blog.302ch.. 2022. 9. 1. [논문 리뷰] SimCSE: Simple Contrastive Learning of Sentence Embeddings 들어가며,, 비즈니스에 해당 논문 기술을 적용한다는 마인드로 논문 리뷰를 하기 때문에 논문 연구 결과 파악을 위한 리뷰와는 다소 차이가 있을 수 있음을 미리 말씀드립니다. Simple review for parper Supervised & Unsupervised SimCSE 제안 (21년 4월 발간) Unsupervised SimCSE (자체적으로 label을 만들어 줌) Positive pair: 동일한 문장 embedding layer에 동일한 문장을 넣어 drop out(p=0.1)을 통해 다른 embedding 값을 얻어줌 이러한 drop out 이 최소한의 data augmentation 이라고 함 (다른 방식 ex. 삭제, 대체, etc… 사용해 봤는데 drop out이 성능이 제일 좋았다고 .. 2022. 8. 31. [이모저모] 플랫폼을 만들기 위해서는 무엇이 필요 할까? 들어가며,, 유저에게 편의를 제공하는 어떤 플랫폼을 만들기 위해서는 다양한 기술이 필요하다. 서버 및 데이터를 관리하는 엔지니어, 알고리즘 기술을 만드는 데이터 사이언티스트, 플랫폼과 알고리즘을 연결시키는 백앤드 개발자, 유저에게 화면을 제공하는 프론트앤드 개발자와 UI/UX 전문가, 제품을 홍보하고 판매하는 영업팀 등등... 이 중 데이터 사이언티스트의 역할 기준으로 무엇이 필요한지 정리할겸 포스팅한다. ※ 해당 포스팅의 목적은 언젠간 Edutech 관련 기업으로 이직했을 때를 대비한 공부를 위함이기에 해당 글의 Category는 Education으로 지정했다. What we need ? 필자가 현재 알고 있는 것들을 끄적인다. (아닐수도 있고 높은 확률로 필요한게 더 많을 것이다.) 딥러닝 모델 학습.. 2022. 8. 24. [Mathpresso] 콴다에서 AI 기술 활용 정리 들어가며,, 필자는 edutech 분야에 관심이 많다. 많은 청소년들이 고품질의 수학 교육을 받았으면 좋겠다는 생각이 있기 때문이다. 필자 생각에는 메스프레소 기업이 수학 교육 플랫폼 시장 1위를 달리고 있다고 생각하기 때문에 해당 기업의 연구를 추적하고자 한다. 본 글은 21년 6월 23일 메스프레소 엔지니어인 Sean Park 님께서 콴다 블로그에 기록한 글을 기준으로 정리하였다. 출처: https://blog.mathpresso.com/%EB%A7%A4%EC%8A%A4%ED%94%84%EB%A0%88%EC%86%8C%EC%97%90%EC%84%9C-ai-%EA%B8%B0%EC%88%A0%EC%9D%80-%EC%96%B4%EB%96%BB%EA%B2%8C-%ED%99%9C%EC%9A%A9%EB%90%9.. 2022. 8. 24. Ubuntu 18.04 Netplan을 사용한 네트워크 설정 들어가며,, 때는 무려... 20년도 10월. 연구실에서 진행하는 프로젝트 예산으로 서버를 한대 구입했다. RTX 5000 8장과 SSD(3.84TB) 2장, 인텔 제논 괜찮은 CPU 2장짜리!! 3.84TB SSD... 든든쓰... 나중에 CPU 메모리 적을때 SWP 할당해서 쓰면 좋을 것 같다. 각설하고.. 이번 포스팅은 새로 구입한 서버의 네트워크 설정을 진행한 경험을 기록하겠다. 서버는 Ubuntu 18.04 ver 이다. 기본적인 세팅은 서버를 판매한 회사에서 완료했기 때문에 (CUDA 설치 및 GPU 활성화) root 비밀번호 설정 및 새로운 env id 설정을 진행했다. (해당 사항은 스킵한다.) 참고로 우분투는 17.10 ver부터 네트워크 인터페이스 설정이 NetPlan이라는 새로운 네트.. 2022. 8. 19. [Setting] jupyter notebook 원격 접속 들어가며,, 네트워크 설정 완료한 서버를 이용해 분석하기 위해 jupyter notebook 원격 접속이 가능하도록 세팅해야한다.(물론 local에서도 가능하다.) 세팅이 완료되면 해당 pc가 아닌 곳에서 원격 접속하여 python을 활용한 분석을 할 수 있다. 이때 버전 충돌 방지를 위해 docker container를 새로 만들어 진행할수도 있지만 그 부분은 생략한다. 본 포스팅에서는 어떻게 원격 접속을 할 수 있는지 그 방법에 대해 다뤄보겠다. 설치 과정 1. config 파일 생성 $jupyter notebook --generate-config. # /home/v2j/.jupyter/jupyter_notebook_config.py 생성시 경로 밑에 위와 같은 config.py 파일이 생성된다. 2.. 2022. 8. 19. [git] 소스 commit error > unable to auto-detect email address 들어가며,, 요즘 Sentence bert 소스 개발을 하고 있다. sbert 관련 오픈 소스들을 참고해서 우리 팀의 입맛에 맞게 수정하여 genral한 소스 개발 중이다. 그동안 오픈 소스들을 사용하며 불편했던 점, 사용이 불가한 기능 등 정리하며 low level 데이터 분석가도 학습 및 검증, 예측할 수 있도록 구성하였다. 이를 git으로 정리하다가 commit 할 때 발생한 에러와 해결 방법을 기록하고자 한다. Error 개발한 소스를 commit 하는데 아래와 같은 에러가 떴다. 검색해보니 소스 트리 설정에 email과 이름을 등록하면 commit 가능하다고 한다. 에러는 다음과 같다. email과 name을 추가하라는 에러로 친절하게도 에러 메세지 안에 email과 name을 등록하는 방법도 .. 2022. 8. 19. [class 기능 정리] 코딩을 깔끔하게 해주는 기능 Class 기능 정리 정적메소드 (@classmethod & @staticmethod) @classmethod - 첫번째 인자로 클래스를 입력 ex) 인스턴스 메소드는 인스턴스를 통해서 호출이 되고, 첫 번째 인자로 인스턴스 자신을 자동으로 전달합니다. 관습적으로 이 인수를 ‘self’라고 칭합니다. 클래스 메소드는 클래스를 통해서 호출이 되고 “@classmethod”라는 데코레이터로 정의합니다. 첫 번째 인자로는 클래스 자신이 자동으로 전달되고 이 인수를 관습적으로 ‘cls’라고 칭합니다. 스태틱 메소드는 앞서 설명한 두 메소드와는 틀리게 인스턴스나 클래스를 첫 번째 인자로 받지 않습니다. 스태틱 메소드는 클래스 안에서 정의되어 클래스 네임스페이스 안에는 있을뿐 일반 함수와 전혀 다를게 없습니다. 하.. 2022. 8. 12. 이전 1 2 3 4 5 6 7 8 다음 반응형