분류 전체보기 60

airflow에서 크롤링(selenium) 할 경우 무한대기

기존에 github action으로 crawler를 스케쥴링해놨었는데, github action의 cron은 표기보다 30분~한시간 랜덤으로 늦게 실행되어서(무료 서버다 보니) airflow로 옮기게 되었다. 그런데 airflow로 크롤링 시 자꾸 특정 코드 다음으로 안넘어가는 문제가 발생했다. 초기엔 webdriverManger.install()에서 해당 문제 발생 이에 webdriverManager가 아니라 직접 수동으로 webdriver를 다운 받아 사용했다. 하지만 다음번엔 driver.quit() 에서 문제 발생 크롤링에 로그인을 하고 다른 페이지로 리다이렉션하는 로직이 있어서 그런가 하여 headless 모드를 끄고 단순히 driver.get()이후 driver.quit() 하고 로그를 남기는..

분산처리 2023.10.17

통계학 입문 책 리뷰

음 어쩌다 보니 책 리뷰 블로그가 되어가는거 같지만 암튼 통계학 입문 책리뷰 이번에는 어느정도 노션에 정리하면서 써놔서 기억에 남는게 평소보다 많음 바로 ㄱㄱ 책에서 말하는 통계에는 두가지가있다 기술 통계 : 확보된 데이터로 현재의 상황에 대한 인사이트를 얻는 것 e.g) 도수분포표, 히스토그램, 표준편차 추리 통계 : “부분으로 전체를 추리 하는 것” = 귀납법 e.g) 투표 개표일만에 당선확정 보도, 딥러닝 그리고 현재, 20세기 이후의 통계는 추리 통계이다. 1장은 도수분포표, 평균, 분산, 표준편차에 대해 얘기하는데 정말 쉬운 얘기만 하는 책이라 이부분은 다 알거라 생각하고 pass 다음은 2장 먼저 모집단! 세상에 있는 데이터들은 우리가 관측한 데이터보다 훠ㅓㅓㅓㅓㅓㅓㅓㅓㅓㅓㅓㅓㅓㅓㅓㅓㅓㅓㄹ씬 ..

끄적끄적 2023.10.10

틀리지 않는 법 책 리뷰

이번엔 다 읽자마자 바로하는 책 리뷰 근데 사실 읽는데 꽤 오래 걸려서 앞장은 여전히 잘 기억이 안 남 진짜 재밌게 읽었고 추천하는 통계책들을 찾아봤을 때 왜 위 책의 표지가 많이 보여였는지 알 수 있었음 한번 더 읽을까 고민하는 중..(근데 책 분량이 적지 않아서.. 읽고 싶은 다른 책도 많고) 이 책에서 얘기하고자 하는 건 통계외에도 알잘딱(중용)이 있다. 이는 아래에서 얘기하면서 알아보자 기억나는 챕터 키워드들은 비행기 장갑판 강화, p값 증명, 당신의 이웃이 페이스북 사용자일 때 살인자일 확률, 복권, 대통령 뽑기, 기하학, 상관관계, 모든 곡선은 직선이 아니다, 면심입방격자 위에 쓴 모든 키워드들의 내용이 기억나는 것은 아니지만 기억나는 몇가지에 대해 이야기해보자 비행기 장갑판 강화 어쩌면 내가..

끄적끄적 2023.10.04

SeqGan 논문 겉햝기

SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient Lantao Yu†, Weinan Zhang†, Jun Wang‡, Yong Yu††Shanghai Jiao Tong University, ‡University College London{yulantao,wnzhang,yyu}@apex.sjtu.edu.cn, j.wang@cs.ucl.ac.ukWeinan Zhang is the corresponding author. 초록 생성 모델의 새로운 개념으로 discriminator와 generator 의 개념을 사용하는 GAN이 탄생했다. 그리고 이는 real-valued data를 생성하는 데에 있어 상당한 성공을 했다. 그런데 이는 discr..

deep learning 2023.09.26

CODE 책 리뷰

이번 포스트에선 전에 기록하다가 멈춘 책 CODE에 대해 총리뷰를 해보려 한다.(다 읽은 지는 조금 지났지만) 기록을 멈춘 이유에는 여러 가지가 있는데 기록하는데 시간이 너무 오래 걸려 책 읽는 진도가 너무 늦게 나가고 어떤 친구가 이렇게 책 내용을 다 쓰면 뭐 저작권 문제 있는 거 아니냐라고 한 것 + 귀차니즘 음.. 뭐부터 정리해야 할까... 크게 앞장과 뒷장으로 나누자면 앞장에서는 초기의 통신과 신호체계 그리고 전기에 대해 간단히 얘기한다. 앞장을 크게 크게 키워드로 정리해 보자면 모스부호와 전신과 릴레이, 봉화대 등이 있을 거 같다. 그리고 뒷장은 비트부터 시작해 불대수와 논리 연산, 메모리, 명령어, 언어, os, 주변기기에 대해 얘기한다. 앞장에서 전신과 릴레이를 통해 전기에 대해 잠깐 얘기하..

끄적끄적 2023.09.21

파일 압축에 대해

음.. 파일 압축에 대해 적어보려한다. 살짝 POC? 같은 느낌이려나 많이들 신경쓰진 않지만 파일 압축은 꽤나 중요하다.(굳이 zip말고도 jpg 같은거) 예시로 아이폰 11로 찍은 파일의 픽셀이 3024 * 4032이다. 그리고 이를 단순히 rgb값만으로 파일의 크기를 계산한다면 픽셀하나가 16진수3개이므로 24비트 즉 3바이트이고 3*3024*4032 = 36,578,304 바이트 즉 36 메가바이트이다. 하지만 정보에서 사진 크기는 1.4 메가바이트라고 뜬다. 이처럼 만약 파일이 압축되지 않았다면 여러분의 폰은 사진 몇번 찍고(동영상은 더더욱) 외장하드디스크에 전부 사진과 동영상을 옮기는 작업을 했어야 했을거다. 본론으로 돌아가자면 옛날에 프랑스에서 베르티옹 코드라는 것으로 범죄자들을 분류했는데, ..

끄적끄적 2023.09.12

고윳값, 고유벡터

본 글에선 고윳값과 고유벡터가 무엇인지 어떻게 구하는지만 간단히 알아보겠다. 먼저 고윳값과 고유벡터의 정의는임의의 n×n n × n 행렬 A 에 대하여, 0이 아닌 솔루션 벡터 x 가 존재한다면 숫자 λ 는 행렬 A 의 고윳값라고 할 수 있다. 이 때, 솔루션 벡터 x 는 고윳값 λ 에 대응하는 고유벡터이다.이고 내가 이해한대로 설명하면 벡터 x에 행렬A로 선형 변환을 했을때 방향이 바뀌지 않고 그 크기만 바뀔 때 해당 벡터를 행렬A의 고유벡터, 그 크기를 고윳값이라한다. 즉 Ax = λx인 것이다. (λ은 람다로 고윳값을 의미하는 기호이다) 행렬A로 선형변환 한것과 그냥 스칼라를 곱한 것과 같은 것이다.위 식에서 λx = λIx이므로(I는 단위행렬를 의미, 단위 행렬은 행렬의 항등원) Ax = λIx가..

loss landscape에 대해 내가 이해한것

*제가 공부하고 이해한대로 적은 글입니다. 틀린부분이 매우 높은 확률로 있을 수 있습니다.* *지적은 정말 환영입니다.* loss landscape또는 loss surface라 하는 것은 말그대로 loss의 표면을 보여주는 것을 말합니다. deep learning에는 local optimum이라는 문제점이 있습니다. local optimum이 뭐냐면 현재 loss를 땅 위에서 구르는 공이라 생각해봅시다. 땅 에는 뭉툭한/뾰족한, 얕은/깊은 구덩이들이 있습니다. 저희는 이 공이 뭉툳하고 깊은 구덩이로 가길 원합니다. (high generalization, low loss) 하지만 이 공이 얕거나 뾰족한 무튼 저희가 가장 바라는 구덩이가 아닌 다른 구덩이에 빠져버리는걸 local optimum이라 합니다. ..

deep learning 2023.08.17

aws 비용관련 이슈, 환불 처리 과정 + 그 이후 이야기

이번 글에선 최근에 내가 겪은 aws와의 사소한 비용 관련 이슈에 대해 써보려 한다. 지난 6월 나는 혹시 해서 aws 청구서를 한번 확인해 봤다. 그리고 나는 깜빡하고 kinesis stream과 firehose를 제거해두지 않았던 것을 확인했고 그에 따른 비용 12000원인가 찍혀있던 것을 보았다. 물론 다행히 큰 비용은 아니지만 충분히 거슬리는 비용이다.(내 커피 3잔..). 그래서 나는 당장 키네시스 stream과 firehose를 제거했다.(생각해 보니 kinesis가 생성해 두고 사용을 하지 않아도 비용이 나가던가.. 가격 정책을 잘 읽어야 하는 이유.) 그렇게 돈을 지불하고 다시 평화롭게? 지내던 중.. 7월, 또 혹시나 해서 aws 청구서를 확인해 봤다. 그리고 아마 예상하셨겠지만 또 비용..

끄적끄적 2023.08.11

python의 비동기 async

이번 글은 파이썬의 비동기 처리에 관한글입니다. 파이썬의 비동기처리는 제네레이터 기반 코루틴과 네이티브 코루틴이있고 파이썬 버전마다 비동기가 계속 발전되어 바뀌는 부분이 많은데 이 글에선 3.9+ 이상 버전 기준으로 설명 드리겠습니다. GIL 파이썬의 비동기에 대해 알아보기 전에 GIL에 대해 먼저 알고있으셔야 합니다. GIL이란 파이썬이 한번에 하나의 스레드만(프로세스 아님) 실행 시킬수 있도록하는 키의 개념입니다. 위 사진에서 보이듯이 쓰레드1에서 쓰레드2로 넘어 갈때 쓰레드1이 GIL을 풀어주고 쓰레드2가 GIL 키를 acquire해가는 모습이죠. 이 때문에 파이썬은 멀티 스레드를 사용시 오히려 성능이 안나온다(thread context switching 비용때문에)고 하는 것이죠. 참고로 멀티 스..

python 2023.06.02