본문 바로가기

전체 글

TF 버전 별 재현성 잡는 방법 정리 이전 글에 정리한 것처럼 재현성 잡힌 결과를 얻고 싶다면 Tensorflow-Determinism을 다운받아 사용해주면 된다. UpSampling의 Interpolation 이슈만 제외하고 나머지는 거의 다 재현성이 잡혀서 원하는 결과를 얻을 수 있다. TF 1.14.0 버전을 사용하던 나는 1년 동안 아무 문제 없이 잘 사용하고 있었는데... 최근 들어서 또 다시 재현성의 늪에 빠지게 됐다. TF 2.1 이상은 tf-deteminism이 지원을 안 하네..? 말 그대로다. 회사 서버 업데이트를 하게 돼서 TF 2.5 버전을 사용하게 됐는데 tf-determinism이 해당 버전은 지원 안 한다는 에러 문구가 뜨더라. 그러면서 TF 2.8부터는 tf-determinism을 따로 설치할 필요 없이 간단한 .. 더보기
2022.08.11. 내 삶을 돌아보며. 20대까지 내 삶의 주된 목표는 '꿈을 좇는 능력있는 사람'이 되는 것이었다. 내가 무엇을 잘하는지, 무엇을 좋아하는지, 남들이 잘 됐을 때 축하가 아닌 시샘의 감정을 느끼는 분야가 어디인지를 고민하며 살아왔다. 나라는 한 사람을 성장시키려고 부던히 노력했다. 복수전공을 택했고, 필요하다면 타과 전공도 찾아가서 들었다. 그래도 부족하다 생각해서 전문성을 더 기르기 위해 대학원도 나왔다. 하늘이 감동했는지 걱정되던 취업도 잘 풀려서 나름대로 탄탄하게 차곡차곡 성장해왔다. 큰 실패 없이 올라왔다. 회사에서도 더 좋은 퍼포먼스를 내기 위해 야근은 기본, 퇴근 후 공부도 자발적으로 하면서 끊임없이 성장하고 발전하려고 노력했다. 그게 내 삶을 이끌 수 있는 정답이라 생각했다. 더 좋은 내일을 만들고 싶은만큼 퍼포.. 더보기
Self-evolving vision transformer for chest X-ray diagnosis through knowledge distillation (2022, Nature Communications) 의료 영역에서 주로 사용되는 모델 학습 방식은 지도학습(supervised learning)이다. CXR을 Radiologist가 판독한 결과를 해당 CXR의 정답 데이터(Label)로 학습에 사용한다. 직관적이고 간단한 학습 방법이면서도 모델의 성능 또한 좋게 나와서 의료 영역 뿐만 아니라 여러 영역에서 사용되는 학습 방법이다. 문제는 지도학습 방식에 꼭 필요한 고품질의 Label을 확보하는 과정이 어렵고 비용도 많이 든다는 것이다. CXR 촬영을 루틴으로 진행하는 건강검진센터만 놓고 생각해봐도 하루에 발생되는 CXR의 양은 쏟아지는 수준이다. 이러한 Large-scale CXR Datset의 모든 판독문을 분석해서 Labelling을 진행하는 것이 가장 이상적이겠지만, 기업 입장에서는 비용효율적인 측.. 더보기
헷갈리는 Dice와 IoU 개념, 내가 정리해 봄ㅋ Dice Score와 IoU Score는 Segmentation Task를 진행하면 흔하게 접하게 되는 개념이다. 'Prediction과 Ground-Truth가 얼마나 겹치느냐'를 평가하는 데에 쓰인다. 사실 IoU는 Object Detection에서만 사용되는 개념으로 알고 있었는데 Segmentation에서도 사용된다는 건 이번에 제대로 알게 됐다. 그래서!! 공부한 김에 정리해두고자 한다. 이번 글에서 다룰 내용은 아래와 같다. Dice와 IoU의 정의와 차이점 Score를 Loss로 사용할 때 어떤 차이가 있는지 추가로 알아둘 점 1. Dice와 IoU의 정의와 차이점 Dice와 IoU, 더 정확하게는 Dice Score와 IoU Score는 모두 모델이 GT와 얼마나 유사한 결과를 내놓는지를 .. 더보기
Anaconda 가상 환경 Export 방법 (offline / Linux / tar.gz) Computer A의 가상환경 Env1을 Computer B로 옮기고 싶은 경우 보통 아래의 명령어를 쓴다. conda env export -n Env1 --file Env1.yaml conda env create -n Env2 --file Env1.yaml 문제는 인터넷 사용이 불가능한 환경에서는 해당 명령어로 가상환경을 옮기는 것이 불가능하다는 것이다. 이럴 때는 가상 환경을 통째로 압축한 다음 설치하고자 하는 컴퓨터에서 압축 해제를 하는 방법을 사용하면 된다. tar 명령어를 사용하면 금방이다. ''' Computer A Root - /home/user & Computer B Root - /mnt/user ''' ## Computer A에서 cd /home/user/anaconda3/envs tar.. 더보기
OpenVINO 사용 방법 정리 모델 학습에는 GPU가 필수적이지만 학습이 완료된 모델을 납품할 때는 GPU가 달린 워크스테이션 형태로 납품하는 건 꺼려지게 된다. 비용이 많이 들기 때문이다. 소비자 입장에서도 워크스테이션 비용을 감당해야해서 거부감을 많이 느낀다. 그래서 여러 회사에서는 GPU 없는 MiniPC 환경에서도 충분히 모델을 돌릴 수 있게 경량화 작업을 거친다. Knowledge Distillation 기법을 쓰거나 애초에 사이즈가 작은 network를 사용한다거나 하는데... 이런거 저런거 신경 쓸 거 없이 한 번에 해결해주는 툴이 있다. 바로 인텔의 OpenVINO ToolKit이다. 학습이 완료된 모델을 OpenVINO로 변환해서 사용해보면 inference time이 기대 이상으로 빠르다는 걸 느낄 수 있다. 문제는.. 더보기
부동산 세금 공부 - 취득세, 보유세, 양도세 보통은 잔금일에 등기접수를 같이 하는데 예외적으로 '가계약금→계약금→중도금→등기 이전→잔금'의 순서 계약 진행하는 경우가 있어서 기산일에 대한 정의도 같이 알아둬야 한다. 취득세 - 주택을 매수할 때 내는 세금 - 시세 기준으로 과세 - 계약서 상 잔금일과 등기접수일 중 빠른 날짜가 취득세 기산일 - 기산일로부터 60일 이내에 납부해야 함 - 취득세는 등기접수일에 반드시 납부해야함 / 취득세 납부 시기를 미루고 싶다면 등기접수를 미뤄야 함 보유세 - 주택을 보유하고 있을 때 내는 세금 - 공시지가를 기준으로 과세 - 매년 6월1일을 기준으로 세금 부과 양도세 - 주택을 매도할 때 내는 세금 - 시세 차익을 기준으로 과세 - 실제 잔금지급일과 등기접수일 중 빠른 날짜가 양도세 기산일 - 매도일을 기준으로 .. 더보기
자주 찾게 되는 리눅스 명령어 모음집 파일이나 폴더를 지우고 싶을 때 >> rm -rf "지정 경로" 특정 경로의 용량 확인하고 싶을 때 >> df -h >> du -h "지정 경로" >> du -hs "지정 경로" CPU 사용률에 제한 걸어주고 싶을 때 (백그라운드에서 돌리고 싶으면 뒤에 & 붙이면 됨) >> cpulimit --pid XXXX --limit 30 & 더보기