본문 바로가기

반응형

deep learning

(25)
[pytorch] DistributedDataParallel vs DataParallel 차이 The difference between DistributedDataParallel and DataParallel is: DistributedDataParallel uses multiprocessing where a process is created for each GPU, while DataParallel uses multithreading. By using multiprocessing, each GPU has its dedicated process, this avoids the performance overhead caused by GIL of Python interpreter. If you use DistributedDataParallel, you could use torch.distributed...
[pytorch] stylegan2 여러 지표들 용어 정리. real score? fake score? real score? fake score? fake_pred = discriminator(fake_img) real_pred = discriminator(real_img_aug) d_loss = d_logistic_loss(real_pred, fake_pred) loss_dict["d"] = d_loss loss_dict["real_score"] = real_pred.mean() loss_dict["fake_score"] = fake_pred.mean() discriminator prediction? discriminator가 입력 image를 실제 이미지라고 생각하는 확률의 평균 값. 높을 수록 실제 이미지라고 판단했다. 낮을 수록 가짜 이미지라고 판단 real_scroe 높은 값일 수록 실제 입력 이..
[pytorch] stylegan2 학습, freezeD + freezeG 동시 적용 뭔가 학습할수록 이미지가 더 일그러진다.... generaotr학습을 제대로 하지 못한다고 생각했다. 15k 기준으로 이미지가 점점 깨지기 시작한다. 그래서 기존의 generator에서 미세조정하면 되지 않을까란 생각이 들었다. 구체적으로는 14k 정도에서의 weight를 조금만 조정해보면 어떨까? 하는 생각! freezeD만 해선 생성할 때 많이 일그러지는 것 같다. generator를 고정시켜보자! Generator도 일부는 고정하고 싶단 생각을 했다. 그러던 차에 누가 이미 실험을 해봤다. freezeG라는 github에 구현한 코드도 있었다. 감사! 감사 우선 이해를 해야했기에, 노트북에 정리해보았다. 어떤 layer를 학습하는지. stylegan2에서는 skip generator를 이용한다. 여..
pytorch 에러 DistributedDataParallel 에러 if self.reducer._rebuild_buckets(): RuntimeError: Expected to have finished reduction in the prior iteration before starting a new one. This error indicates that your module has parameters that were not used in producing loss. You can enable unused parameter detection by (1) passing the keyword argumentere not used in producing loss. You can enable unused parameter detection by (1) passing the k..
[pytorch] stylegan2 pretrained model load error 에러가 났다. pretrained model 못쓰는건가... 좌절중일때! repository에 정답이 있었다. god hub! RuntimeError: Error(s) in loading state_dict for Generator: Missing key(s) in state_dict: "noises.noise_0", "noises.noise_1", "noises.noise_2", "noises.noise_3", "noises.noise_4", "noises.noise_5", "noises.noise_6", "noises.noise_7", "noises.noise_8", "noises.noise_9", "noises.noise_10", "noises.noise_11", "noises.noise_12".
동물(개, 강아지) 얼굴만 추출, pretrained detection model 이용하기 github.com/kairess/dog_face_detector kairess/dog_face_detector Detect dog face rect and facial landmarks(6 points) using dlib - kairess/dog_face_detector github.com detector만 필요하다. cnn base의 얼굴 검출기다. 여러 개가있는 이미지를 입력하고. Detector에서 검출된 Rectangle에 빨간 테투리를 그려준다. 그려준 후, (내가 추가한 코드) 원하는 크기만큼 잘라서 얼굴 이미지를 원하는 사이즈로 리사이징한 후 저장해준다. 빨간 사각형이 잘 그려졌다. 강아지 얼굴만 저장하기! 그럭저럭 잘 된듯하다. 학습 하나 안 하고도 이렇게 검출이 가능합니다.
[Coursera 강의] Sequences, Time Series and Prediction - 4주 차. CNN + LSTM + DNN sun spot data prediction, forecasting (TensorFlow Developer 전문 자격증 강의) coursera 강의를 정리해서 스스로 이해를 돕기 위해 만든 자료입니다. 추가된 점 앞단에 Conv1D를 추가하고 그 뒤로 LSTM과 DNN을 쌓는 구조로 최상의 성능 산출했다. 실제 데이터인 흑점데이터를 로드하고 전처리하는 작업이 추가된다. Conv1D가 추가되다 보니 이전에 Lambda layer로 마지막 차원에 1을 추가해준 것을 빼고, 이걸 데이터 전처리 코드 (windowed_dataset)에 추가해준다. 그결과 Conv1D의 input_shape는 [None, 1]로 고정시켜줄 수 있다. 오류 투성이 mae가 30 epoch내에 2보다 작아야 한다고 했다. 한참동안 해서 안돼서 정답을 봤는데, 2보다 작게 돌아간다... 네트워크 구조를 같게해도 내 notebook에선 2보다 작아지지 않는데 ..
[Coursera 강의] Sequences, Time Series and Prediction - 3주 차. Recurrent Neural Network for time series prediction, forecasting (TensorFlow Developer 전문 자격증 강의) coursera 강의를 정리해서 스스로 이해를 돕기 위해 만든 자료입니다. RNN 등장 위 그림은 X를 time series data라고 하면 X가 RNN을 거쳐 Vector로 출력되는 걸 나타낸다. X는 window_size가 30인 series이다. 즉 과거 30개의 data를 통해 다음 값을 예측하는 것이라고 볼 수 있다. 각 X는 batch 크기 만큼(위 그림에선 4) 입력으로 들어가고 RNN내부 Mem Cell에서 Unit 크기 만큼, 곱해진 크기로 출력한다. Mem Cell의 unit이 3이라면 위에서 30개의 Y는 각각 4(batch_size) x 3(unit 개수) 크기 만큼의 matrix 형태를 가진다. 일반적인 RNN의 경우 각 mem cell의 H는 이전 Y 값과 동일하다. seque..

728x90
반응형