본문 바로가기
반응형

딥러닝 어쩌구/연구일지&디버깅39

[디버깅] Streamlit 데모 만들기... 목표: Streamlit으로 SAM, VOS, VI 모두 돌아가게 해보자 1. 클릭 관련 - pip install streamlit-image-coordinates - cv2로 클릭받는건 UI backend 있어야 가능. GPU 서버에서는 X 2. 모델 실행 모델들 돌아갈 수 있게 도커 이미지 하나로 통합하고, streamlit 버튼으로 subprocess.command()로 실행시킴 3. ffmpeg libx264 에러 - 결과 영상 cv2로 만드니까 코덱문제 생겨서 web streamable한 libx264로 바꿔줘야함. 근데 unknown error 뜸 - 검색해서 뜨는거 다 안되길래 챗지피티의 힘을 빌렸으나.. 안됨. 그냥 다 다시 깔아야겠음 - 이거 처음부터 전부 따라하면 될듯 - https:/.. 2023. 11. 28.
[환경셋팅] 맥북 M1 Max GPU 사용하기- pytorch 환경, Segment Anything 모델 돌리기 SAM 너무 느리다. GPU vs CPU 속도가 무슨 20배 차이...; 맥북 GPU 사용하면 서버 GPU만큼은 아니어도 좀 빠르게 가능할까 싶어서 셋팅하는 글이다. 환경 맥북 M1 Max MacOS: 13.0 이상 (14.1.1 사용중) 이유: "RuntimeError: MPS support binary op with uint8 natively starting from macOS 13.0" 에러가 나중에 뜬다. Q. 맥북에서 가속이 가능한가? A. 가능하다. device에 cpu or cuda를 지정해줬었는데, torch.device("mps") 이렇게 mps를 쓰면 된다. 글 참고: https://devocean.sk.com/blog/techBoardDetail.do?ID=163957 Q. MPS가 .. 2023. 11. 16.
Colab, CineScale CineScale Dataset ​ https://cinescale.github.io/shotscale/#results ​ Colab link https://github.com/CineScale/CineScale.github.io/tree/anime 이걸 clone 해야함 https://github.com/CineScale/CineScale.github.io/blob/anime/model/ShotScale-test.ipynb 사이트가 이상해서 링크 따로 가져왔다. Colab 들어가서 저 url 치면 된다. 실행 이슈 - gist 파서 내 깃허브에 옮겨서 작업함 - tensorflow error: v2 disable 코드 추가 - pretrained model: 구글 드라이브에 업로드 후 마운트하여 사용함.. 2023. 6. 26.
(ing) fundamental matrix를 활용하여 이미지 이어붙이기 파노라마 비슷한걸 만들거다. 챗지피티한테 물어봤다 대답 - 마스킹 영역을 골라내고 - 이미지 피쳐를 뽑아서 (고전 알고리즘 쓰거나, 딥러닝 CNN 쓰거나 등등) - feature vector들로 클러스터링 알고리즘을 돌려라. - 클러스터링 알고리즘은 Kmeans나 DBSCAN등이 있다. 어찌저찌 딥러닝 feature 사용하고 마스킹 적용하고 등등 필요한 조건 넣어서 클러스터링 했고, 그렇게 얻은 클러스터가 여러개다. 이미지가 끼리끼리 모두 매칭되진 않는다. 이거 파노라마처럼 각각 어떻게 만들지... 문제가 복잡해서 챗gpt가 잘 대답을 해주진 않는다. - 1. fundamental matrix Fm, inliers = cv2.findFundamentalMat() 주어진 매칭점에서 RANSAC을 돌림 Fm.. 2023. 6. 1.
streamlit: 연구 주간보고 미팅용 시각화 툴 streamlit 자체의 사용법은 구글링하여 참고. 여기서 다루려는건 외부접속에 관한 얘기다. 개요 streamlit 사용하면 외부 ip를 줘서 아무데서나 접속이 가능하다. 이거 미팅할 때 웹서버 하나 visualization으로 띄워놓고 쓰면 좋을 것 같아서 쓰려고 한다. 그런데 docker container에서 streamlit이 되나? 방법 환경 - 우분투 서버 사용중, 디스플레이 없음 - 미팅때 사용하는 컴퓨터는 별개의 노트북, 서버와 관련이 없음 - streamlit 실행중이면 외부 ip와 포트 할당해서 실행시켜준다. 당연히 끄면 사라짐. - 그래서 도커 사용해서 돌려놓음 - 컨테이너 생성할때 포트포워딩 해줘야함 참고 - https://docs.streamlit.io/knowledge-base/.. 2023. 5. 8.
[2022.12.22] 텐서플로우... 버전... 고통... 디버깅... 못함... 고통스럽다... tensorflow 1.14 써야하는데 안깔림. 쩔수없이 다른 도커 쫌 오래된거 썼는데,, 그러니까 1.14 깔리긴 한데 뭔가 이상함. tensorflow import하는거 이렇게 import tensorflow.compat.v1 as tf 바꿔줬는데 또 뭐가 안맞음. 버전 바뀌면서 뭐가 미묘하게 바뀐건가? 그래서 사이즈가 안맞나? 우울하다... cmake 해결 https://eehoeskrap.tistory.com/397 tensorflow 무슨 이상한 에러 https://github.com/tensorflow/autograph/issues/2 정신이 이상해지고 있으니 걍 노가다 하러갈게요 데이터나 똥땅거려야지 2022. 12. 22.
[2022.08.18] 공부 내용 (wandb) 오늘의 이슈. Issue 1. 저널 revision 작업 진행. latex color 적용: 패키지 추가해야함. https://tex.stackexchange.com/questions/246663/color-text-in-a-table Q. 3-fold cross validation의 경우, confusion matrix를 계산할때 그냥 TP FP TN FN 개수를 각각 누적해서 쓰나? -> 일단 그렇게 했음 Issue 2. 너무 research scientest스럽게만 모델을 개발했어서 (그동안은 모델이 없었으니깐 어쩔 수 없긴 했음..) 이걸 좀 모아서 관리하고 개선하고 사용할 수 있게 만들어야겠다는 이야기가 나왔다. DL모델 시스템 관점? 1. 기존에 task단위로 개발한 것들을 integratio.. 2022. 8. 18.
[mmdetection 에러] 그놈의 mmcv 버전.. mm시리즈가 편하긴 한데 불편한 것 중 하나가, 공식코드로 지원하지는 않는데 SOTA 모델들이 mm시리즈 기반으로 코드를 지원할떄이다. 사용가능한 mmcv 버전이 달라서 같은 mmdetection 기반인데 도커 호환이 안되더라. [상황] 공식 mmdetection 코드(현재 시각 기준)를 사용하다가 CBNetV2를 돌리려는데 이게 공식지원이 안된다. CBNetV2 코드도 mmdetection 기반이지만 구버전에서 구현을 해서 그런지 mmcv가 1.3.8~1.4.0밖에 지원이 안된다. (현재 최신버전은 1.6.1) => 그래서 도커 이미지 다시 만드는 중. CBNetV2 https://github.com/VDIGPKU/CBNetV2 GitHub - VDIGPKU/CBNetV2 Contribute to VD.. 2022. 8. 11.
[삽질] 내친김에 mmsegmentation도 다시 설치한다 목적: mmsegmentation 환경 재설치 방청소를 안해서... 6개월 이상 분량의 코드가 덕지덕지 붙어있다... 청소 하는 김에 도커 용량도 줄일 겸 다시 셋업을 하고 있다. 1. 본인이 사용하는 레포의 mmcv 버전 지원 범위 확인하기 최근걸로 git pull하면 더 바뀌겠다만, 난 그냥 지금 쓰던 코드를 쓸거라 1.3.7~1.4.0으로 맞추면 된다. 어떤 코드냐에 따라 mmcv 버전이 다르기 때문에 이거 제일 먼저 확인해야함 2. 도커 파일 작성 현재 mmsegmentation/docker에 올라와있는 도커파일을 참고해본다. 방금 주절거렸던 mmaction2 셋업 포스팅에서 말했듯이 torch, cuda, cudnn 호환을 고려해야한다. 1. 특히나 mmcv 버전별로 지원하는 torch가 다르다.. 2022. 4. 11.
[삽질] mmaction2 업뎃 왜 안되나 (feat. 그냥 갈아 엎겠습니다) 문제 상황: 도커 사이즈가 너무 커서 줄이려고 함 내가 mmsegmentation도 쓰고 여기도 쓰고 저기도 써서 도커 사이즈가 왕왕 커져버렸다. 근데 서빙 하려면 아무래도 작은 게 좋겠지요? 마침 동료도 mmaction2를 쓰고있는데 작은 사이즈이길래, 이걸 가져다 쓰려는데 동료의 코드가 구버전이라 호환이 안된다. mmcv 버전에서 막혔기 때문... 그래서 한다. mmaction2 버전 업데이트. (라고 쓰고 그냥 다시 깔기) 전에 mmsegmentation 업데이트 할때도 개고생 했던 기억이 나는데 이거 완전 데자뷰 아니냐고 1. mmcv-full 설치 그냥 pip install mmcv-full=1.4.3 이런 식으로 하면 안된다. 예전 포스팅 참고 https://ambitious-posong.ti.. 2022. 4. 11.
[github 에러] fatal: Authentication failed for XXX 또 까먹어서 블로그에 박제함 ㅡㅡ 내 프로필 아이콘 -> Settings -> Developer Settings -> Personal access tokens -> Generate new token expiration은 무한정으로 해놨고, 권한 다줬다. 나 혼자 쓸걸 뭐... 토큰은 어디에 복붙해놓자. 다시 얻을 수 없고, 까먹으면 재발급 해야해서 귀찮다. 2022. 2. 28.
vscode remote 멈췄을 때 상황 vscode remote 사용하는데, 터미널에서 뭔가 연산이 많이 들어가는 명령어를 사용한 탓인지 뻗어버렸다. vscode 껐다켜서 다시 접속하려고 해도 해당 서버에 vscode 연결 자체를 못한다. 서버는 멀쩡. 전에 이것때문에 컴퓨터 껐다켰어서 기록하려고 급하게 글 남김 그럴 필요 없다 ps aux | grep vscode-server | wc -l 입력하면 프로세스 나올거임 적당히 위에 있는거 하나 kill 해주니까 문제가 해결되었다. 굿굿! 2021. 10. 26.
[2021.10.06] 연구일지 - 텐서보드, segmentation mask 관련 에러 등 미래의 내가 다시 찾기 귀찮을까봐 박제 1. 맨날 까먹는 tensorboard 사용 일단은 서버에서 텐서보드 실행. tensorboard --logdir='' --port=5326 그리고 포트 연결. ssh -L 12345:localhost:6789 sghong@server_ip ssh 22로 연결하는거 아니면 -p [포트번호] 추가 그러고나서 내 컴퓨터에서 localhost:12345 이렇게 보면 됨. 2. 멍청한 실수: segmentation mask 관련 [문제상황] semantic segmentation을 inference한 결과를 grayscale mask 이미지로 저장하려고 한다. 그냥 아무 생각 없이 jpg로 저장하니 문제가 있다. 예를 들어 클래스가 50개짜리라서 0~49값을 가지는 마스크.. 2021. 10. 6.
[디버깅] segmentation RGB image -> mask label [상황] mmsegmentation은 input으로 0부터 시작하는 2D grayscale image를 받도록 되어있음. 근데 간혹 데이터셋의 mask 이미지가 RGB 컬러로 되어있는 경우가 있음. 코드를 수정하려면 mmseg/datasets/pipelines/loading.py 의 LoadAnnotations의 __call__() 함수를 수정해야함. 여기에 RGB -> mask 맵핑을 추가하여 처리하도록하면 됨. 더 좋은 방법이 있는지는 잘 모르겠음. 아래는 RGB image -> mask label 변환 코드 뇌빼고 짜니까 너무 느려서 검색해서 찾음. 이거 쓰니까 빠른 속도로 처리됨 출처 https://stackoverflow.com/questions/53059201/how-to-convert-3d-.. 2021. 8. 31.
Portfolio Optimization - PyPortfolioOpt (1) https://github.com/robertmartin8/PyPortfolioOpt/commits?author=robertmartin8 git https://pyportfolioopt.readthedocs.io/en/latest/ official document Efficient Frontier? https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=gdpresent&logNo=220890967416 Harry Markowitz의 이론인데, 1952년도 논문이라 되게 오래 되었다. 금융쪽 비전공자인 나도 포트폴리오 이론이니, CAPM이나 CAL같은건 어디서 주워들어봤으니까 완전 기초중의 기초일 것 같다. 저 분야에서 바이블인가? 뜬금없.. 2021. 7. 30.
반응형