Deeplearning (22) 썸네일형 리스트형 [레이블링 툴] html, flask, python, javascript로 만드는 딥러닝 레이블링 툴 기본 html 기반으로 이미지위에 사각형이나 그림을 그리고 이를 저장하려면 어떻게 해야할까? 지금부터 그 방법을 소개한다. 필요도구 : javascript, d3.js. html, css base.html은 index navigator 역할을 한다. Drag the mouse to create a rectangle Rectangle 이미지 저장하기 {% endblock %} 저장을 누르면 다음과 같이 저장된다!! 몇시간 삽질했더라.... 지인의 조언을 얻지 못했으면 몇일은 헤맸을 텐데.. 하루삽질로 그침. 이 글을 보는 누군가는 행복하길! 키워드는 d3! [torch] RuntimeError("{} is a zip archive 에러 해결 방법 에러 RuntimeError("{} is a zip archive (did you mean to use torch.jit.load()?)".format(f.name)) when loading model weights 문제 원인 : 학습은 torch 1.6 이상으로 하고 인퍼런스는 torch 1.6 버전 이하로 할 경우 위와 같은 에러가 발생한다. 해결 방법 : 학습시 모델을 저장할 때 다음과 같은 옵션을 추가하여 저장해준다. torch.save(model.state_dict(), path, _use_new_zipfile_serialization=False) [detection] 이미지 labeling이 이상하다 싶지만 정상일 때 해결방법. PIL Image rotated 회전시키는 녀석. (PIL image 쓸데 없이 고성능) 문제점. AP가 0.9점 대로 굉장히 높음에도 불구하고 테스트 셋에 대한 성능이 극악했다. 이유가 뭘까 고심해보았고, 학습 세트 레이블링이 잘못된 건 아닐까 하고 뜯어보았다. 1. PIL image open을 이용하여 이미지와 레이블을 읽어 보니 레이블링이 엉망이었다. PASCAL VOC 레이블링을 읽고 다음과 같이 DataFrame 형태로 저장해둔다. df = pd.DataFrame() for i, file in tqdm(enumerate(selcet_files)): tree = elemTree.parse(file) bbox = tree.find('object').find('bndbox') filename = tree.find('filename').text xmin = bbox.find('xmin')... [pytorch] torch.utils.data.DataLoader 이용시 파일 경로 출력 배경 efficientNet을 이용한 간단한 분류기 만들기 github.com/narumiruna/efficientnet-pytorch narumiruna/efficientnet-pytorch A PyTorch implementation of "EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks". - narumiruna/efficientnet-pytorch github.com shutil 을 이용해서 파일을 분류하고 분류 결과대로 저장하고 싶었다. 그래서 파일명이 필요했다. 과정 from torchvision.datasets import ImageFolder 보통 Image data의 경우 ImageFolder를 쓴다. fr.. [pytorch] stylegan2 학습, freezeD + freezeG 동시 적용 뭔가 학습할수록 이미지가 더 일그러진다.... generaotr학습을 제대로 하지 못한다고 생각했다. 15k 기준으로 이미지가 점점 깨지기 시작한다. 그래서 기존의 generator에서 미세조정하면 되지 않을까란 생각이 들었다. 구체적으로는 14k 정도에서의 weight를 조금만 조정해보면 어떨까? 하는 생각! freezeD만 해선 생성할 때 많이 일그러지는 것 같다. generator를 고정시켜보자! Generator도 일부는 고정하고 싶단 생각을 했다. 그러던 차에 누가 이미 실험을 해봤다. freezeG라는 github에 구현한 코드도 있었다. 감사! 감사 우선 이해를 해야했기에, 노트북에 정리해보았다. 어떤 layer를 학습하는지. stylegan2에서는 skip generator를 이용한다. 여.. [pytorch] stylegan1 freezeD 이해 및 코드 분석 stylegan2에 freezeD를 적용하길 원한다. 이에 앞서 stylegan1에 쓰인 freezeD 코드를 이해하고 분석해본다. 왜냐하면 pytorch 구현은 stylegan 1에 대한 freezeD만 있기 때문이다. freezeD는 custom한 데이터셋? 혹은 다른 도메인의 데이터셋으로 학습할 때 Discriminator의 특정 layer를 freezing 시키는 방법이다. 이게 효과적인 이유는 gan에서 FFHQ를 통해 학습한 Discriminator는 훌륭한 진짜/가짜 판별자이고, 이를 transfer learning으로 그대로 이용할 수 있기 때문이다. 이 판별자의 처음 몇 layer를 고정시키고 후 단의 layer만을 학습시키는 방식이다. 이는 기존의 전체 layer를 미세 조정하는 fin.. [pytorch] stylegan2 freezeD 적용 stylegan2에 freezeD를 적용하길 원한다. study-grow.tistory.com/entry/pytorch-stylegan1-freezeD-%EC%BD%94%EB%93%9C-%EB%B6%84%EC%84%9D [pytorch] stylegan1 freezeD 이해 및 코드 분석 stylegan2에 freezeD를 적용하길 원한다. 이에 앞서 stylegan1에 쓰인 freezeD 코드를 이해하고 분석해본다. 왜냐하면 pytorch 구현은 stylegan 1에 대한 freezeD만 있기 때문이다. freezeD는 custom한 데이터셋.. study-grow.tistory.com 그에 앞서 1에 쓰인 freezeD를 분석했고, 이제 2에 적용할 차례다. 끝 단의 5, 6 그리고 final lay.. [aws] mac os, linux에서 안전하게 jupyter 서버 접속하기 AWS를 이용할 때 AWS의 서버를 Remote 서버라 하고, Local 환경을 클라이언트 라고 하자. 1. 클라이언트에서 ssh로 Remote Sever에 접속한다! 2. Remote 서버에서 Jupyter 서버를 실행시켜 준다. 적당한 port로 (ex : 5000) 3. 그 후 클라이언트에서 새로운 터미널 창을 열고 ssh로 주피터 서버에 접속해준다. 이때 -i 다음에 오는 것은 private key 경로이고, -L 다음에 오는건 클라인트에서 접속할 port:Jupyter 서버 IP:Jupyter 서버 port 이다. 이후에 것은 1번에서 사용한 명령어와 유사하다. ssh -i ~/mykeypair.pem -N -f -L 8888:localhost:8888 ubuntu@ec2-###-##-##-##.. 이전 1 2 3 다음