본문 바로가기

Computer55

Stable Diffusion Code Explained: train step & timestep 차이점 https://github.com/huggingface/diffusers/blob/ebf581e85f3aad7faa30ceb4678148ee87375446/examples/text_to_image/train_text_to_image.py 논문 한 번 읽었다고 SD 프로세스를 이해한 것은 절대 아니다! 직접 코드를 뜯어보고 GPT한테 물어도 보고 하면서 이해하려고 노력해야 조금이나마 내 것이 되는 것 같다.. 위 깃헙에서 main 함수 중 루프 돌면서 학습하는 부분만 가져와 봤다. 이해한 내용은 모두 한글로 주석을 달아 두었다. # 매 epoch마다.. (training step이라고도 하고, 100~1000회정도로 고정) for epoch in range(first_epoch, args.num_train.. 2024. 2. 19.
torchvision.transforms.Compose https://yeko90.tistory.com/entry/pytorch-transformsCompose-tutorial [pytorch] transforms.Compose 사용 방법 방대한 데이터 이미지를 한번에 변형 시킬 필요가 자주 있다. 이때 일일이 수작업으로 이미지를 변환한다면 리소스 낭비가 이만저만이 아닐거다. 이에 대한 해결책으로 torchvision.transforms.Compose yeko90.tistory.com 한꺼번에 이미지 데이터셋을 resize 및 전처리해야할 때 사용함 2024. 1. 26.
[PyTorch] .grad.zero_() zero_grad() 차이점 pytorch에서 gradient 값을 저장하는 방식 - 모든 파라미터(모델에서 학습하고자 하는 대상)에 .grad 라는 attribute를 붙여서, 파라미터마다 grad를 보관 - 어떤 파라미터를 학습할지는 초기에 텐서를 만들 때 requires_grad=True 옵션을 줘서 지정한다. .grad.zero_() zero_grad() 를 하는 이유 - gradient를 계산할 때 pytorch가 자동으로 gradient 값을 누적(accumulate)하기 때문. - 한 번 .backward() 를 불렀으면 그 값이 각 파라미터의 .grad에 누적되고, 따라서 나중에 한 번 더 .backward() 를 불렀을 때 영향을 끼침 - 따라서 .backward() 를 부르기 전에, 파라미터의 .grad에 원래 누.. 2024. 1. 16.
if __name__ == “__main__” https://davey.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EA%B0%95%EC%A2%8C-if-name-main-%EC%82%AC%EC%9A%A9-%EC%9A%A9%EB%8F%84 if __name__ == '__main__' : 사용 용도 이해하고 활용하기 안녕하세요, Davey 입니다. 오늘은 간혹 보이는 구문인, if __name__ == '__main__' : 의 조건문의 의미와 왜 사용하는지, 그리고 사용하는 방법에 대해서, 제 나름대로 이해한 부분을 설명 드리도록 하겠 davey.tistory.com 2022. 12. 16.
[KoBigBird] Basemodel, configuration 실수하면서 배우는 딥러닝....😭 https://huggingface.co/docs/transformers/model_doc/bert#transformers.BertConfig BERT call ( input_ids: typing.Union[typing.List[tensorflow.python.framework.ops.Tensor], typing.List[numpy.ndarray], typing.List[tensorflow.python.keras.engine.keras_tensor.KerasTensor], typing.Dict[str, tensorflow.python.framework.ops.Tensor], typin huggingface.co 2022. 12. 16.
[크롤링] NoSuchElementException 원인: 크롤링 창이 전체화면이 아닌 경우! 웹 페이지마다 다르겠지만, 분명 개발자 도구에서 element가 있는 것을 확인했는데 막상 크롤링을 돌리면 그런 element가 없다는 문구가 나오는 경우가 있습니다. 이럴 때는 혹시 웹사이트가 창 크기에 따라서 구성이 달라지지는 않는지 확인해보면 좋습니다. 예시) 인스타그램 웹사이트를 작은 창으로 띄우면 모바일로 보는 것과 같은 화면이 나오지만, 전체 화면으로 보면 그 우측에 추천 친구가 뜹니다. -> 해결법: driver.maximize_window() 사용하기. 웹드라이버 인스턴스를 생성(= 새로운 크롤링 window 생성)한 뒤, 해당 객체에 maximize_window() 메소드를 사용하면 해당 window가 전체 화면으로 확장됩니다! 2022. 12. 16.